diff --git a/.bitrise.secrets.yml b/.bitrise.secrets.yml new file mode 100644 index 00000000..7bd35869 --- /dev/null +++ b/.bitrise.secrets.yml @@ -0,0 +1 @@ +envs: [] diff --git a/.gitignore b/.gitignore index 0640b700..401e4287 100644 --- a/.gitignore +++ b/.gitignore @@ -43,14 +43,7 @@ ocunit.xml *.xcbkptlist *.xcsettings -# bootstrap script -Vendor/bundle/ +Examples/vendor/bundle/ .bundle/ -bin/ - -# Carthage -Carthage/Build -### warning! -### do not ignore Carthage/Checkouts. see https://github.com/Carthage/Carthage/issues/1153 -###Carthage/Checkouts -### \ No newline at end of file +Pods/ +.build/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e29f8f9..f3795a03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,16 @@ -## `develop` +## [5.0.7](https://github.com/nytimes/NYTPhotoViewer/releases/tag/5.0.7) -Changes for users of the library currently on `develop`: +Changes for users of the library currently on `5.0.7`: +- fixed caption overlay placement +- fixed overlay view buttons tint color +- added summary to share + +## [5.0.6](https://github.com/nytimes/NYTPhotoViewer/releases/tag/5.0.6) + +Changes for users of the library in 5.0.6: + +- support Swift Package Manager (thanks @mattpolzin!) +- fixed a NaN when setting `zoomScale` in `NYTScalingImageView` when `ANIMATED_GIF_SUPPORT=1` ## [5.0.5](https://github.com/nytimes/NYTPhotoViewer/releases/tag/5.0.5) diff --git a/Cartfile b/Cartfile deleted file mode 100644 index bf645069..00000000 --- a/Cartfile +++ /dev/null @@ -1 +0,0 @@ -github "pinterest/PINRemoteImage" ~> 3.0.1 diff --git a/Cartfile.private b/Cartfile.private deleted file mode 100644 index 168da9f3..00000000 --- a/Cartfile.private +++ /dev/null @@ -1 +0,0 @@ -github "erikdoe/ocmock" ~> 3.2.2 diff --git a/Cartfile.resolved b/Cartfile.resolved deleted file mode 100644 index 9ed8f19d..00000000 --- a/Cartfile.resolved +++ /dev/null @@ -1,5 +0,0 @@ -git "https://chromium.googlesource.com/webm/libwebp" "v1.1.0" -github "erikdoe/ocmock" "v3.7.1" -github "pinterest/PINCache" "3.0.1" -github "pinterest/PINOperation" "1.2" -github "pinterest/PINRemoteImage" "3.0.1" diff --git a/Carthage/Checkouts/PINCache/.github/workflows/ci.yaml b/Carthage/Checkouts/PINCache/.github/workflows/ci.yaml deleted file mode 100644 index 71c75fe7..00000000 --- a/Carthage/Checkouts/PINCache/.github/workflows/ci.yaml +++ /dev/null @@ -1,51 +0,0 @@ ---- -name: CI - -on: - push: - branches: - - master - - 'releases/*' - pull_request: - branches: - - master - -jobs: - build: - name: Build - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v1 - - name: Analyze and Test - run: | - xcodebuild clean analyze test \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -project PINCache.xcodeproj \ - -scheme PINCache \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang - cocoapods: - name: CocoaPods - runs-on: macOS-latest - steps: - - uses: actions/checkout@v1 - - name: Lint - run: pod lib lint - carthage: - name: Carthage - runs-on: macOS-latest - steps: - - uses: actions/checkout@v1 - - name: Update - run: carthage update --no-use-binaries --no-build - - name: Build - run: carthage build --no-skip-current diff --git a/Carthage/Checkouts/PINCache/.github_changelog_generator b/Carthage/Checkouts/PINCache/.github_changelog_generator deleted file mode 100644 index d0b7a525..00000000 --- a/Carthage/Checkouts/PINCache/.github_changelog_generator +++ /dev/null @@ -1,3 +0,0 @@ -issues=false -since-tag=3.0.1-beta.8 -future-release=3.0.1 \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/.gitignore b/Carthage/Checkouts/PINCache/.gitignore deleted file mode 100644 index 7f818743..00000000 --- a/Carthage/Checkouts/PINCache/.gitignore +++ /dev/null @@ -1,25 +0,0 @@ -#Ignore the Mac OS X .DS_Store files -.DS_Store - -#Ignore user-specific settings -*.mode1v3 -*.mode2v3 -*.pbxuser -*.perspectivev3 -xcuserdata - -#Ignore textmate build errors -*.tm_build_errors - -#Ignore temp nibs and swap files -*.swp -*~.nib - -.gitattributes - -# Buck -/buck-out -/.buckconfig.local -/.buckd - -Carthage/Build diff --git a/Carthage/Checkouts/PINCache/.gitmodules b/Carthage/Checkouts/PINCache/.gitmodules deleted file mode 100644 index e69de29b..00000000 diff --git a/Carthage/Checkouts/PINCache/CHANGELOG.md b/Carthage/Checkouts/PINCache/CHANGELOG.md deleted file mode 100644 index 8d30a13f..00000000 --- a/Carthage/Checkouts/PINCache/CHANGELOG.md +++ /dev/null @@ -1,169 +0,0 @@ -# Changelog - -## [3.0.1](https://github.com/Pinterest/PINCache/tree/3.0.1) (2020-08-20) - -[Full Changelog](https://github.com/Pinterest/PINCache/compare/3.0.1-beta.8...3.0.1) - -**Implemented enhancements:** - -- Support Catalyst [\#272](https://github.com/pinterest/PINCache/pull/272) ([cgmaier](https://github.com/cgmaier)) - -**Merged pull requests:** - -- Update PINOperation [\#277](https://github.com/pinterest/PINCache/pull/277) ([garrettmoon](https://github.com/garrettmoon)) -- Fix PINCacheTests compiling in Xcode 12.0b4 [\#276](https://github.com/pinterest/PINCache/pull/276) ([arangato](https://github.com/arangato)) -- Remove BUCK files [\#274](https://github.com/pinterest/PINCache/pull/274) ([adlerj](https://github.com/adlerj)) -- Fix compiling in Xcode 12.0b4 [\#273](https://github.com/pinterest/PINCache/pull/273) ([zacwest](https://github.com/zacwest)) -- Fix the grammar in an assertion failure message [\#270](https://github.com/pinterest/PINCache/pull/270) ([jparise](https://github.com/jparise)) -- Add Carthage for watchOS, fix macOS min deployment target version [\#269](https://github.com/pinterest/PINCache/pull/269) ([dreampiggy](https://github.com/dreampiggy)) -- Remove the unused CI directory [\#265](https://github.com/pinterest/PINCache/pull/265) ([jparise](https://github.com/jparise)) -- Fix up analyze for github CI [\#264](https://github.com/pinterest/PINCache/pull/264) ([garrettmoon](https://github.com/garrettmoon)) -- Use correct class name in NSAssert\(\) messages [\#263](https://github.com/pinterest/PINCache/pull/263) ([jparise](https://github.com/jparise)) -- Check fileURL outside of the locked scope [\#262](https://github.com/pinterest/PINCache/pull/262) ([jparise](https://github.com/jparise)) -- Remove Danger from the project [\#261](https://github.com/pinterest/PINCache/pull/261) ([jparise](https://github.com/jparise)) -- Switch to GitHub Actions for CI [\#259](https://github.com/pinterest/PINCache/pull/259) ([jparise](https://github.com/jparise)) -- Test that the "remove object" blocks are called [\#258](https://github.com/pinterest/PINCache/pull/258) ([jparise](https://github.com/jparise)) -- Discrepancy between Header Comment and Implementation \#trivial [\#257](https://github.com/pinterest/PINCache/pull/257) ([jlaws](https://github.com/jlaws)) -- Optimization `PINMemoryCache` trim to date [\#252](https://github.com/pinterest/PINCache/pull/252) ([kinarobin](https://github.com/kinarobin)) -- Optimize `PINMemoryCache` remove objects when receive memory warning notification [\#251](https://github.com/pinterest/PINCache/pull/251) ([kinarobin](https://github.com/kinarobin)) - -## 3.0.1 -- Beta 8 -- [fix] Initing PINCache with TTL enabled should enable TTL on PINMemoryCache. [#246](https://github.com/pinterest/PINCache/pull/246) -- [performance] Return TTL cache objects without waiting for all metadata to be read. [#228](https://github.com/pinterest/PINCache/pull/228) -- [performance] Memory cache now performs some tasks such as trimming and removing experied objects with low priority. [#234](https://github.com/pinterest/PINCache/pull/234) - -## 3.0.1 -- Beta 7 -- [fix] Fix up warnings and upgrade to PINOperation 1.1.1: [#213](https://github.com/pinterest/PINCache/pull/213) -- [performance] Reduce locking churn in cleanup methods. [#212](https://github.com/pinterest/PINCache/pull/212) -- [fix] Don't set file protection unless requested. [#220](https://github.com/pinterest/PINCache/pull/220) -- [new] Add ability to set an object level TTL: [#209](https://github.com/pinterest/PINCache/pull/209) -- [performance] Improve performance of age limit trimming: [#224](https://github.com/pinterest/PINCache/pull/224) - -## 3.0.1 -- Beta 6 -- [fix] Add some sane limits to the disk cache: [#201]https://github.com/pinterest/PINCache/pull/201 -- [new] Update enumeration methods to allow a stop flag to be flipped by caller: [#204](https://github.com/pinterest/PINCache/pull/204) -- [performance] Improves cache miss performance by ~2 orders of magnitude on device: [#202](https://github.com/pinterest/PINCache/pull/202) -- [performance] Significantly improve startup performance: [#203](https://github.com/pinterest/PINCache/pull/203) - -## 3.0.1 -- Beta 5 -- [fix] Respect small byteLimit settings by checking object size in setObject: [#198](https://github.com/pinterest/PINCache/pull/198) -- [new] Added an ability to set custom encoder/decoder for file names: [#192](https://github.com/pinterest/PINCache/pull/192) - -## 2.2.1 -- 2016 Mar 5 -- [new] Removed need for extension macro: [#72](https://github.com/pinterest/PINCache/pull/72) - -## 2.2.1 -- 2016 Feb 15 - -- [fixed] When ttlCache is enabled, skip updating the file modification time when accessing `fileURLForKey:` [#70](https://github.com/pinterest/PINCache/pull/70) - -## 2.2 -- 2016 Feb 10 - -- [new] Allow caches to behave like a TTLCache [#66](https://github.com/pinterest/PINCache/pull/66) - -## 2.1.2 -- 2015 Nov 19 - -- [fix] Fix disk caching bug due to incorrect string encoding [#42](https://github.com/pinterest/PINCache/pull/42) - - -## 2.1.1 -- 2015 Nov 17 - -- [new] Added `tvOS` support -- [fixed] PINDiskCache byteCount tracking bug [#30](https://github.com/pinterest/PINCache/pull/30) - - -## 2.1 -- 2015 Aug 24 - -- [new] Xcode 7 support -- [fixed] Invalid task ID's used for expiration handler on background tasks [#13](https://github.com/pinterest/PINCache/issues/13) -- [fixed] Support for OS X since UIBackgroundTask is only on iOS [#19](https://github.com/pinterest/PINCache/pull/19) - - -## 2.0.1 -- 2015 May 1 - -- [new] Added support for using PINCache in extensions -- [new] Adopting nullability annotations. - - -## 2.0 -- 2015 February 25 - -- [fix] PINCache redesign to avoid deadlocks - - -## 1.2.3 -- 2014 December 13 - -- [fix] TMDiskCache/TMMemoryCache: import `UIKit` to facilitate Swift usage (thanks [digabriel](https://github.com/tumblr/TMCache/pull/57)!) -- [fix] TMDiskCache: add try catch to ensure an exception isn’t thrown if a file on disk is unable to be unarchived (thanks [leonskywalker](https://github.com/tumblr/TMCache/pull/62)!) -- [fix] TMDiskCache: create trash directory asynchronously to avoid race condition (thanks [napoapo77](https://github.com/tumblr/TMCache/pull/68)!) - - -## 1.2.2 -- 2014 October 6 - -- [new] Remove deprecated `documentation` property from Podspec - - -## 1.2.1 -- 2013 July 28 - -- [new] TMDiskCache: introduced concept of "trash" for rapid wipeouts -- [new] TMDiskCache: `nil` checks to prevent crashes -- [new] TMCache/TMDiskCache/TMMemoryCache: import Foundation to facilitate Swift usage - - -## 1.2.0 -- 2013 May 24 - -- [new] TMDiskCache: added method `enumerateObjectsWithBlock:completionBlock:` -- [new] TMDiskCache: added method `enumerateObjectsWithBlock:` -- [new] TMDiskCache: added unit tests for the above -- [new] TMMemoryCache: added method `enumerateObjectsWithBlock:completionBlock:` -- [new] TMMemoryCache: added method `enumerateObjectsWithBlock:` -- [new] TMMemoryCache: added event block `didReceiveMemoryWarningBlock` -- [new] TMMemoryCache: added event block `didEnterBackgroundBlock` -- [new] TMMemoryCache: added boolean property `removeAllObjectsOnMemoryWarning` -- [new] TMMemoryCache: added boolean property `removeAllObjectsOnEnteringBackground` -- [new] TMMemoryCache: added unit tests for memory warning and app background blocks -- [del] TMCache: removed `cost` methods pending a solution for disk-based cost - - -## 1.1.2 -- 2013 May 13 - -- [fix] TMCache: prevent `objectForKey:block:` from hitting the thread ceiling -- [new] TMCache: added a test to make sure we don't deadlock the queue - - -## 1.1.1 -- 2013 May 1 - -- [fix] simplified appledoc arguments in podspec, updated doc script - - -## 1.1.0 -- 2013 April 29 - -- [new] TMCache: added method `setObject:forKey:withCost:` -- [new] TMCache: documentation - - -## 1.0.3 -- 2013 April 27 - -- [new] TMCache: added property `diskByteCount` (for convenience) -- [new] TMMemoryCache: `totalCost` now returned synchronously from queue -- [fix] TMMemoryCache: `totalCost` set to zero immediately after `removeAllObjects:` - - -## 1.0.2 -- 2013 April 26 - -- [fix] TMCache: cache hits from memory will now update access time on disk -- [fix] TMDiskCache: set & remove methods now acquire a `UIBackgroundTaskIdentifier` -- [fix] TMDiskCache: will/didAddObject blocks actually get executed -- [fix] TMDiskCache: `trimToSize:` now correctly removes objects in order of size -- [fix] TMMemoryCache: `trimToCost:` now correctly removes objects in order of cost -- [new] TMDiskCache: added method `trimToSizeByDate:` -- [new] TMMemoryCache: added method `trimToCostByDate:` -- [new] TMDiskCache: added properties `willRemoveAllObjectsBlock` & `didRemoveAllObjectsBlock` -- [new] TMMemoryCache: added properties `willRemoveAllObjectsBlock` & `didRemoveAllObjectsBlock` -- [new] TMCache: added unit tests - - -## 1.0.1 -- 2013 April 23 - -- added an optional "cost limit" to `TMMemoryCache`, including new properties and methods -- calling `[TMDiskCache trimToDate:]` with `[NSDate distantPast]` will now clear the cache -- calling `[TMDiskCache trimDiskToSize:]` will now remove files in order of access date -- setting the byte limit on `TMDiskCache` to 0 will no longer clear the cache (0 means no limit) diff --git a/Carthage/Checkouts/PINCache/CODE_OF_CONDUCT.md b/Carthage/Checkouts/PINCache/CODE_OF_CONDUCT.md deleted file mode 100644 index 8b4e45e2..00000000 --- a/Carthage/Checkouts/PINCache/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,40 +0,0 @@ -# Code of Conduct - -At Pinterest, we work hard to ensure that our work environment is welcoming -and inclusive to as many people as possible. We are committed to creating this -environment for everyone involved in our open source projects as well. We -welcome all participants regardless of ability, age, ethnicity, identified -gender, religion (or lack there of), sexual orientation and socioeconomic -status. - -This code of conduct details our expectations for upholding these values. - -## Good behavior - -We expect members of our community to exhibit good behavior including (but of -course not limited to): - -- Using intentional and empathetic language. -- Focusing on resolving instead of escalating conflict. -- Providing constructive feedback. - -## Unacceptable behavior - -Some examples of unacceptable behavior (again, this is not an exhaustive -list): - -- Harassment, publicly or in private. -- Trolling. -- Sexual advances (this isn’t the place for it). -- Publishing other’s personal information. -- Any behavior which would be deemed unacceptable in a professional environment. - -## Recourse - -If you are witness to or the target of unacceptable behavior, it should be -reported to Pinterest at opensource-policy@pinterest.com. All reporters will -be kept confidential and an appropriate response for each incident will be -evaluated. - -If the maintainers do not uphold and enforce this code of conduct in -good faith, community leadership will hold them accountable. \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Cartfile b/Carthage/Checkouts/PINCache/Cartfile deleted file mode 100644 index a7e3d640..00000000 --- a/Carthage/Checkouts/PINCache/Cartfile +++ /dev/null @@ -1 +0,0 @@ -github "pinterest/PINOperation" ~> 1.2.0 \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Cartfile.resolved b/Carthage/Checkouts/PINCache/Cartfile.resolved deleted file mode 100644 index 841e9a7d..00000000 --- a/Carthage/Checkouts/PINCache/Cartfile.resolved +++ /dev/null @@ -1 +0,0 @@ -github "pinterest/PINOperation" "1.2" diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml deleted file mode 100644 index cfe85acc..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml +++ /dev/null @@ -1,80 +0,0 @@ ---- -name: CI - -on: - push: - branches: - - master - - 'releases/*' - pull_request: - branches: - - master - -jobs: - build: - name: Build - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v2 - - name: Analyze and Test - run: | - xcodebuild clean analyze test \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -project PINOperation.xcodeproj \ - -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang - cocoapods: - name: CocoaPods - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Lint - run: pod lib lint - carthage: - name: Carthage - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Build - run: carthage build --no-skip-current - spm: - name: Swift Package Manager tests - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Test - run: swift test - example: - name: Build Example project - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v2 - - name: Install Pods - run: cd Example && pod install - - name: Build - run: | - cd Example && xcodebuild clean analyze \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -workspace PINOperationExample.xcworkspace \ - -scheme PINOperationExample \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github_changelog_generator b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github_changelog_generator deleted file mode 100644 index 19665f65..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github_changelog_generator +++ /dev/null @@ -1,3 +0,0 @@ -issues=false -since-tag=1.1.1 -future-release=1.2 diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.gitignore b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.gitignore deleted file mode 100644 index 4021767b..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.gitignore +++ /dev/null @@ -1,57 +0,0 @@ -.DS_Store - -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## Build generated -build/ -DerivedData/ - -## Various settings -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata/ - -## Other -*.moved-aside -*.xcuserstate - -## Obj-C/Swift specific -*.hmap -*.ipa -*.dSYM.zip -*.dSYM - -## Docs -docs/docsets/ - -## Playgrounds -timeline.xctimeline -playground.xcworkspace - -# Swift Package Manager -# -# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. -# Packages/ -.build/ - -# Carthage -# -# Add this line if you want to avoid checking in source code from Carthage dependencies. -# Carthage/Checkouts - -Carthage/Build - -# Bundler -.bundle -vendor - -# Example project -Example/Pods diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/BUCK b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/BUCK deleted file mode 100755 index c7ade9d1..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/BUCK +++ /dev/null @@ -1,22 +0,0 @@ -apple_library( - name = 'PINOperation', - modular = True, - exported_headers = glob(['Source/*.h']), - srcs = - glob(['Source/*.m']), - preprocessor_flags = ['-fobjc-arc'], - lang_preprocessor_flags = { - 'C': ['-std=gnu99'], - 'CXX': ['-std=gnu++11', '-stdlib=libc++'], - }, - linker_flags = [ - '-weak_framework', - 'UIKit', - '-weak_framework', - 'AppKit', - ], - frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - ], - visibility = ['PUBLIC'], -) diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CHANGELOG.md b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CHANGELOG.md deleted file mode 100644 index 221ad3cb..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CHANGELOG.md +++ /dev/null @@ -1,32 +0,0 @@ -## [1.2](https://github.com/Pinterest/PINOperation/tree/1.2) (2020-06-30) - -[Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.1.2...1.2) - -**Merged pull requests:** - -- Swift Package Manager support [\#32](https://github.com/pinterest/PINOperation/pull/32) ([martinpucik](https://github.com/martinpucik)) -- Add Carthage for watchOS, dependent by PINCache [\#31](https://github.com/pinterest/PINOperation/pull/31) ([dreampiggy](https://github.com/dreampiggy)) -- Fix analyzing [\#30](https://github.com/pinterest/PINOperation/pull/30) ([garrettmoon](https://github.com/garrettmoon)) -- Standardize our GitHub Actions CI workflow [\#29](https://github.com/pinterest/PINOperation/pull/29) ([jparise](https://github.com/jparise)) -- Github CI [\#26](https://github.com/pinterest/PINOperation/pull/26) ([rahul-malik](https://github.com/rahul-malik)) -- Fixes coalesce operation race condition [\#24](https://github.com/pinterest/PINOperation/pull/24) ([zhongwuzw](https://github.com/zhongwuzw)) - -## [1.1.2](https://github.com/Pinterest/PINOperation/tree/1.1.2) (2019-06-11) - -[Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.1.1...1.1.2) - -**Merged pull requests:** - -- Modernizing project [\#21](https://github.com/pinterest/PINOperation/pull/21) ([garrettmoon](https://github.com/garrettmoon)) -- Updates BUCK build file to match source layout. [\#20](https://github.com/pinterest/PINOperation/pull/20) ([RCacheaux](https://github.com/RCacheaux)) -- 1.1.1 release [\#19](https://github.com/pinterest/PINOperation/pull/19) ([garrettmoon](https://github.com/garrettmoon)) - -## 1.1.1 -- 2018 February 3 -* Cleanup warnings [garrett](https://github.com/garrettmoon) - -## 1.1 -- 2017 October 7 -* Deprecate addOperation: in favor of scheduleOperation: [garrett](https://github.com/garrettmoon) - -## 1.0.0 -- 2017 January 10 - -- Initial release! diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/build.sh b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/build.sh deleted file mode 100755 index bbdb8f94..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -eo pipefail - -make all \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json deleted file mode 100644 index 03853aa7..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - "^plans/", - "^docs/", - "^CI/exclude-from-build.json$", - "^README.md$", - "^CHANGELOG.md$" -] \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md deleted file mode 100644 index 8b4e45e2..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,40 +0,0 @@ -# Code of Conduct - -At Pinterest, we work hard to ensure that our work environment is welcoming -and inclusive to as many people as possible. We are committed to creating this -environment for everyone involved in our open source projects as well. We -welcome all participants regardless of ability, age, ethnicity, identified -gender, religion (or lack there of), sexual orientation and socioeconomic -status. - -This code of conduct details our expectations for upholding these values. - -## Good behavior - -We expect members of our community to exhibit good behavior including (but of -course not limited to): - -- Using intentional and empathetic language. -- Focusing on resolving instead of escalating conflict. -- Providing constructive feedback. - -## Unacceptable behavior - -Some examples of unacceptable behavior (again, this is not an exhaustive -list): - -- Harassment, publicly or in private. -- Trolling. -- Sexual advances (this isn’t the place for it). -- Publishing other’s personal information. -- Any behavior which would be deemed unacceptable in a professional environment. - -## Recourse - -If you are witness to or the target of unacceptable behavior, it should be -reported to Pinterest at opensource-policy@pinterest.com. All reporters will -be kept confidential and an appropriate response for each incident will be -evaluated. - -If the maintainers do not uphold and enforce this code of conduct in -good faith, community leadership will hold them accountable. \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Dangerfile b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Dangerfile deleted file mode 100644 index d909431b..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Dangerfile +++ /dev/null @@ -1,23 +0,0 @@ -source_pattern = /(\.m|\.mm|\.h)$/ - -# Sometimes it's a README fix, or something like that - which isn't relevant for -# including in a project's CHANGELOG for example -declared_trivial = github.pr_title.include? "#trivial" -has_changes_in_source_directory = !git.modified_files.grep(/Source/).empty? - -modified_source_files = git.modified_files.grep(source_pattern) -has_modified_source_files = !modified_source_files.empty? -added_source_files = git.added_files.grep(source_pattern) -has_added_source_files = !added_source_files.empty? - -# Make it more obvious that a PR is a work in progress and shouldn't be merged yet -warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]" - -# Warn when there is a big PR -warn("This is a big PR, please consider splitting it up to ease code review.") if git.lines_of_code > 500 - -# Changelog entries are required for changes to source files. -no_changelog_entry = !git.modified_files.include?("CHANGELOG.md") -if has_changes_in_source_directory && no_changelog_entry && !declared_trivial - warn("Any source code changes should have an entry in CHANGELOG.md or have #trivial in their title.") -end diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj deleted file mode 100644 index 382c6346..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,391 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 1387274F245D5BB500C1F56D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1387274E245D5BB500C1F56D /* AppDelegate.swift */; }; - 13872758245D5BB800C1F56D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13872757245D5BB800C1F56D /* Assets.xcassets */; }; - 1387275B245D5BB800C1F56D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */; }; - 13872765245D5D8200C1F56D /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13872764245D5D8200C1F56D /* MainViewController.m */; }; - 6DD78925193625590E803994 /* libPods-PINOperationExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 1387274B245D5BB500C1F56D /* PINOperationExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PINOperationExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1387274E245D5BB500C1F56D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 13872757245D5BB800C1F56D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 1387275A245D5BB800C1F56D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 1387275C245D5BB800C1F56D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 13872762245D5D8200C1F56D /* PINOperationExample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PINOperationExample-Bridging-Header.h"; sourceTree = ""; }; - 13872763245D5D8200C1F56D /* MainViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = ""; }; - 13872764245D5D8200C1F56D /* MainViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = ""; }; - 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINOperationExample.release.xcconfig"; path = "Target Support Files/Pods-PINOperationExample/Pods-PINOperationExample.release.xcconfig"; sourceTree = ""; }; - 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINOperationExample.debug.xcconfig"; path = "Target Support Files/Pods-PINOperationExample/Pods-PINOperationExample.debug.xcconfig"; sourceTree = ""; }; - 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PINOperationExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 13872748245D5BB500C1F56D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6DD78925193625590E803994 /* libPods-PINOperationExample.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 110EBBE34DCD59092AC3306C /* Pods */ = { - isa = PBXGroup; - children = ( - 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */, - 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - 13872742245D5BB500C1F56D = { - isa = PBXGroup; - children = ( - 1387274D245D5BB500C1F56D /* PINOperationExample */, - 1387274C245D5BB500C1F56D /* Products */, - 110EBBE34DCD59092AC3306C /* Pods */, - 5C200BF654CB547E7117CE2B /* Frameworks */, - ); - sourceTree = ""; - }; - 1387274C245D5BB500C1F56D /* Products */ = { - isa = PBXGroup; - children = ( - 1387274B245D5BB500C1F56D /* PINOperationExample.app */, - ); - name = Products; - sourceTree = ""; - }; - 1387274D245D5BB500C1F56D /* PINOperationExample */ = { - isa = PBXGroup; - children = ( - 1387274E245D5BB500C1F56D /* AppDelegate.swift */, - 13872763245D5D8200C1F56D /* MainViewController.h */, - 13872764245D5D8200C1F56D /* MainViewController.m */, - 13872757245D5BB800C1F56D /* Assets.xcassets */, - 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */, - 1387275C245D5BB800C1F56D /* Info.plist */, - 13872762245D5D8200C1F56D /* PINOperationExample-Bridging-Header.h */, - ); - path = PINOperationExample; - sourceTree = ""; - }; - 5C200BF654CB547E7117CE2B /* Frameworks */ = { - isa = PBXGroup; - children = ( - 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1387274A245D5BB500C1F56D /* PINOperationExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1387275F245D5BB800C1F56D /* Build configuration list for PBXNativeTarget "PINOperationExample" */; - buildPhases = ( - 6C859F1C363A79193D42EFC9 /* [CP] Check Pods Manifest.lock */, - 13872747245D5BB500C1F56D /* Sources */, - 13872748245D5BB500C1F56D /* Frameworks */, - 13872749245D5BB500C1F56D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PINOperationExample; - productName = PINOperationExample; - productReference = 1387274B245D5BB500C1F56D /* PINOperationExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 13872743245D5BB500C1F56D /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1140; - LastUpgradeCheck = 1140; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 1387274A245D5BB500C1F56D = { - CreatedOnToolsVersion = 11.4.1; - LastSwiftMigration = 1140; - }; - }; - }; - buildConfigurationList = 13872746245D5BB500C1F56D /* Build configuration list for PBXProject "PINOperationExample" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 13872742245D5BB500C1F56D; - productRefGroup = 1387274C245D5BB500C1F56D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 1387274A245D5BB500C1F56D /* PINOperationExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 13872749245D5BB500C1F56D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1387275B245D5BB800C1F56D /* LaunchScreen.storyboard in Resources */, - 13872758245D5BB800C1F56D /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 6C859F1C363A79193D42EFC9 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-PINOperationExample-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 13872747245D5BB500C1F56D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1387274F245D5BB500C1F56D /* AppDelegate.swift in Sources */, - 13872765245D5D8200C1F56D /* MainViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 1387275A245D5BB800C1F56D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 1387275D245D5BB800C1F56D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 1387275E245D5BB800C1F56D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 13872760245D5BB800C1F56D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = PINOperationExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "PINOperationExample/PINOperationExample-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 13872761245D5BB800C1F56D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = PINOperationExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "PINOperationExample/PINOperationExample-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 13872746245D5BB500C1F56D /* Build configuration list for PBXProject "PINOperationExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1387275D245D5BB800C1F56D /* Debug */, - 1387275E245D5BB800C1F56D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1387275F245D5BB800C1F56D /* Build configuration list for PBXNativeTarget "PINOperationExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 13872760245D5BB800C1F56D /* Debug */, - 13872761245D5BB800C1F56D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 13872743245D5BB500C1F56D /* Project object */; -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 4cdc4885..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift deleted file mode 100644 index 7aa52db8..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift +++ /dev/null @@ -1,31 +0,0 @@ -// -// AppDelegate.swift -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -import UIKit - -@UIApplicationMain -final class AppDelegate: UIResponder, UIApplicationDelegate { - private let queue: PINOperationQueue = PINOperationQueue(maxConcurrentOperations: 5) - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - let operationCount = 100 - let group = DispatchGroup() - for _ in 0.. - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist deleted file mode 100644 index 75404a26..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist +++ /dev/null @@ -1,41 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h deleted file mode 100644 index df2e69c3..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MainViewController.h -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface MainViewController : UIViewController - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m deleted file mode 100644 index 50d0c95d..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m +++ /dev/null @@ -1,41 +0,0 @@ -// -// MainViewController.m -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -#import "MainViewController.h" -#import -//#import - -@interface MainViewController () -@property (nonatomic, strong) PINOperationQueue *queue; -@end - -@implementation MainViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:5]; - - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - NSAssert(success == 0, @"Timed out before completing 100 operations"); -} - -- (dispatch_time_t)timeout { - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(20 * NSEC_PER_SEC)); -} - -@end diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h deleted file mode 100644 index f3b5f384..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile deleted file mode 100644 index ae5fd622..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://cdn.cocoapods.org/' -platform :ios, '8.0' - -target 'PINOperationExample' do - pod 'PINOperation', :path => '../' -end diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile.lock b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile.lock deleted file mode 100644 index 266cc700..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - PINOperation (1.1.2) - -DEPENDENCIES: - - PINOperation (from `../`) - -EXTERNAL SOURCES: - PINOperation: - :path: "../" - -SPEC CHECKSUMS: - PINOperation: 24b774353ca248fcf87d67b2d61eef42087c125a - -PODFILE CHECKSUM: b83a75d584abe07185e7be951687702dadbabf84 - -COCOAPODS: 1.9.1 diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Gemfile b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Gemfile deleted file mode 100644 index 38bfbc8e..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -gem 'danger' -gem 'danger-slack' \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/LICENSE.txt b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/LICENSE.txt deleted file mode 100644 index d0381d6d..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/LICENSE.txt +++ /dev/null @@ -1,176 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.podspec b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.podspec deleted file mode 100644 index 7e598595..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.podspec +++ /dev/null @@ -1,22 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'PINOperation' - s.version = '1.2' - s.homepage = 'https://github.com/pinterest/PINOperation' - s.summary = 'Fast, concurrency-limited task queue for iOS and OS X.' - s.authors = { 'Garrett Moon' => 'garrett@pinterest.com' } - s.source = { :git => 'https://github.com/pinterest/PINOperation.git', :tag => "#{s.version}" } - s.license = { :type => 'Apache 2.0', :file => 'LICENSE.txt' } - s.requires_arc = true - s.frameworks = 'Foundation' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.8' - s.tvos.deployment_target = '9.0' - s.watchos.deployment_target = '2.0' - pch_PIN = <<-EOS -#ifndef TARGET_OS_WATCH - #define TARGET_OS_WATCH 0 -#endif -EOS - s.prefix_header_contents = pch_PIN - s.source_files = 'Source/**/*.{h,m,mm}' -end diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj deleted file mode 100644 index ddcb88c2..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1010 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 3201179424444862004FD783 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179524444862004FD783 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179624444862004FD783 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179724444862004FD783 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179824444862004FD783 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179924444862004FD783 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - 3201179A24444862004FD783 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC01055B1E27116600890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01052D1E27110D00890935 /* PINOperation.framework */; }; - CC01056A1E27117300890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01053D1E27113700890935 /* PINOperation.framework */; }; - CC0105791E27117F00890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01054A1E27114300890935 /* PINOperation.framework */; }; - CC0105871E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105881E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105891E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058A1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058B1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058C1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058D1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC01058E1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC01058F1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC0105901E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105911E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105921E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105931E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105941E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105951E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105961E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105971E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105981E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105991E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01059A1E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01059B1E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105A01E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A11E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A21E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A41E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; - CC0105A51E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; - CC0105A61E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - CC01055C1E27116600890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC01052C1E27110D00890935; - remoteInfo = PINOperation; - }; - CC01056B1E27117300890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC01053C1E27113700890935; - remoteInfo = "PINOperation-tvOS"; - }; - CC01057A1E27117F00890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC0105491E27114300890935; - remoteInfo = "PINOperation-macOS"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 3201178C24444859004FD783 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01052D1E27110D00890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01053D1E27113700890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01054A1E27114300890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105561E27116600890935 /* PINOperationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PINOperationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01055A1E27116600890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Tests/Info.plist; sourceTree = ""; }; - CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINOperation-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINOperation-macOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105801E2711B700890935 /* PINOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperation.h; sourceTree = ""; }; - CC0105811E2711B700890935 /* PINOperationGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationGroup.h; sourceTree = ""; }; - CC0105821E2711B700890935 /* PINOperationGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationGroup.m; sourceTree = ""; }; - CC0105831E2711B700890935 /* PINOperationMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationMacros.h; sourceTree = ""; }; - CC0105841E2711B700890935 /* PINOperationQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationQueue.h; sourceTree = ""; }; - CC0105851E2711B700890935 /* PINOperationQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationQueue.m; sourceTree = ""; }; - CC0105861E2711B700890935 /* PINOperationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationTypes.h; sourceTree = ""; }; - CC01059C1E27129E00890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CC01059D1E27131B00890935 /* PINOperationQueueTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationQueueTests.m; sourceTree = ""; }; - CC01059E1E27131B00890935 /* PINOperationGroupTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationGroupTests.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 3201178924444859004FD783 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105291E27110D00890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105391E27113700890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105461E27114300890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105531E27116600890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01055B1E27116600890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105621E27117300890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01056A1E27117300890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105711E27117F00890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105791E27117F00890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - CC0105231E27110D00890935 = { - isa = PBXGroup; - children = ( - CC01057F1E2711B700890935 /* Source */, - CC0105571E27116600890935 /* Tests */, - CC01052E1E27110D00890935 /* Products */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - usesTabs = 0; - }; - CC01052E1E27110D00890935 /* Products */ = { - isa = PBXGroup; - children = ( - CC01052D1E27110D00890935 /* PINOperation.framework */, - CC01053D1E27113700890935 /* PINOperation.framework */, - CC01054A1E27114300890935 /* PINOperation.framework */, - CC0105561E27116600890935 /* PINOperationTests.xctest */, - CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */, - CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */, - 3201178C24444859004FD783 /* PINOperation.framework */, - ); - name = Products; - sourceTree = ""; - }; - CC0105571E27116600890935 /* Tests */ = { - isa = PBXGroup; - children = ( - CC01059D1E27131B00890935 /* PINOperationQueueTests.m */, - CC01059E1E27131B00890935 /* PINOperationGroupTests.m */, - CC01055A1E27116600890935 /* Info.plist */, - ); - path = Tests; - sourceTree = ""; - }; - CC01057F1E2711B700890935 /* Source */ = { - isa = PBXGroup; - children = ( - CC0105801E2711B700890935 /* PINOperation.h */, - CC0105811E2711B700890935 /* PINOperationGroup.h */, - CC0105831E2711B700890935 /* PINOperationMacros.h */, - CC0105841E2711B700890935 /* PINOperationQueue.h */, - CC0105861E2711B700890935 /* PINOperationTypes.h */, - CC0105821E2711B700890935 /* PINOperationGroup.m */, - CC0105851E2711B700890935 /* PINOperationQueue.m */, - CC01059C1E27129E00890935 /* Info.plist */, - ); - path = Source; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 3201178724444859004FD783 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3201179824444862004FD783 /* PINOperationTypes.h in Headers */, - 3201179524444862004FD783 /* PINOperationGroup.h in Headers */, - 3201179424444862004FD783 /* PINOperation.h in Headers */, - 3201179724444862004FD783 /* PINOperationQueue.h in Headers */, - 3201179624444862004FD783 /* PINOperationMacros.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01052A1E27110D00890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105991E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105871E2711B700890935 /* PINOperation.h in Headers */, - CC01058A1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105901E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105931E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01053A1E27113700890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01059A1E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105881E2711B700890935 /* PINOperation.h in Headers */, - CC01058B1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105911E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105941E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105471E27114300890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01059B1E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105891E2711B700890935 /* PINOperation.h in Headers */, - CC01058C1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105921E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105951E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 3201178B24444859004FD783 /* PINOperation-watchOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3201179324444859004FD783 /* Build configuration list for PBXNativeTarget "PINOperation-watchOS" */; - buildPhases = ( - 3201178724444859004FD783 /* Headers */, - 3201178824444859004FD783 /* Sources */, - 3201178924444859004FD783 /* Frameworks */, - 3201178A24444859004FD783 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-watchOS"; - productName = "PINOperation-watchOS"; - productReference = 3201178C24444859004FD783 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC01052C1E27110D00890935 /* PINOperation */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105351E27110D00890935 /* Build configuration list for PBXNativeTarget "PINOperation" */; - buildPhases = ( - CC0105281E27110D00890935 /* Sources */, - CC0105291E27110D00890935 /* Frameworks */, - CC01052A1E27110D00890935 /* Headers */, - CC01052B1E27110D00890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PINOperation; - productName = PINOperation; - productReference = CC01052D1E27110D00890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC01053C1E27113700890935 /* PINOperation-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105421E27113700890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOS" */; - buildPhases = ( - CC0105381E27113700890935 /* Sources */, - CC0105391E27113700890935 /* Frameworks */, - CC01053A1E27113700890935 /* Headers */, - CC01053B1E27113700890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-tvOS"; - productName = "PINOperation-tvOS"; - productReference = CC01053D1E27113700890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105491E27114300890935 /* PINOperation-macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01054F1E27114300890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOS" */; - buildPhases = ( - CC0105451E27114300890935 /* Sources */, - CC0105461E27114300890935 /* Frameworks */, - CC0105471E27114300890935 /* Headers */, - CC0105481E27114300890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-macOS"; - productName = "PINOperation-macOS"; - productReference = CC01054A1E27114300890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105551E27116600890935 /* PINOperationTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01055E1E27116600890935 /* Build configuration list for PBXNativeTarget "PINOperationTests" */; - buildPhases = ( - CC0105521E27116600890935 /* Sources */, - CC0105531E27116600890935 /* Frameworks */, - CC0105541E27116600890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01055D1E27116600890935 /* PBXTargetDependency */, - ); - name = PINOperationTests; - productName = PINOperationTests; - productReference = CC0105561E27116600890935 /* PINOperationTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105641E27117300890935 /* PINOperation-tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01056D1E27117300890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOSTests" */; - buildPhases = ( - CC0105611E27117300890935 /* Sources */, - CC0105621E27117300890935 /* Frameworks */, - CC0105631E27117300890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01056C1E27117300890935 /* PBXTargetDependency */, - ); - name = "PINOperation-tvOSTests"; - productName = "PINOperation-tvOSTests"; - productReference = CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105731E27117F00890935 /* PINOperation-macOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01057C1E27117F00890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOSTests" */; - buildPhases = ( - CC0105701E27117F00890935 /* Sources */, - CC0105711E27117F00890935 /* Frameworks */, - CC0105721E27117F00890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01057B1E27117F00890935 /* PBXTargetDependency */, - ); - name = "PINOperation-macOSTests"; - productName = "PINOperation-macOSTests"; - productReference = CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - CC0105241E27110D00890935 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 3201178B24444859004FD783 = { - CreatedOnToolsVersion = 11.4; - ProvisioningStyle = Automatic; - }; - CC01052C1E27110D00890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC01053C1E27113700890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105491E27114300890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105551E27116600890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105641E27117300890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105731E27117F00890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = CC0105271E27110D00890935 /* Build configuration list for PBXProject "PINOperation" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - Base, - en, - ); - mainGroup = CC0105231E27110D00890935; - productRefGroup = CC01052E1E27110D00890935 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - CC01052C1E27110D00890935 /* PINOperation */, - CC0105551E27116600890935 /* PINOperationTests */, - CC01053C1E27113700890935 /* PINOperation-tvOS */, - CC0105641E27117300890935 /* PINOperation-tvOSTests */, - CC0105491E27114300890935 /* PINOperation-macOS */, - CC0105731E27117F00890935 /* PINOperation-macOSTests */, - 3201178B24444859004FD783 /* PINOperation-watchOS */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 3201178A24444859004FD783 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01052B1E27110D00890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01053B1E27113700890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105481E27114300890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105541E27116600890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105631E27117300890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105721E27117F00890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 3201178824444859004FD783 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3201179924444862004FD783 /* PINOperationGroup.m in Sources */, - 3201179A24444862004FD783 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105281E27110D00890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058D1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105961E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105381E27113700890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058E1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105971E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105451E27114300890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058F1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105981E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105521E27116600890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A01E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A41E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105611E27117300890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A11E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A51E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105701E27117F00890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A21E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A61E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - CC01055D1E27116600890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC01052C1E27110D00890935 /* PINOperation */; - targetProxy = CC01055C1E27116600890935 /* PBXContainerItemProxy */; - }; - CC01056C1E27117300890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC01053C1E27113700890935 /* PINOperation-tvOS */; - targetProxy = CC01056B1E27117300890935 /* PBXContainerItemProxy */; - }; - CC01057B1E27117F00890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC0105491E27114300890935 /* PINOperation-macOS */; - targetProxy = CC01057A1E27117F00890935 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 3201179124444859004FD783 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-watchOS"; - PRODUCT_NAME = PINOperation; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Debug; - }; - 3201179224444859004FD783 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-watchOS"; - PRODUCT_NAME = PINOperation; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Release; - }; - CC0105331E27110D00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.8; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - CC0105341E27110D00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.8; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - CC0105361E27110D00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CC0105371E27110D00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CC0105431E27113700890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - CC0105441E27113700890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Release; - }; - CC0105501E27114300890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CC0105511E27114300890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CC01055F1E27116600890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - CC0105601E27116600890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - CC01056E1E27117300890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - CC01056F1E27117300890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - CC01057D1E27117F00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Debug; - }; - CC01057E1E27117F00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 3201179324444859004FD783 /* Build configuration list for PBXNativeTarget "PINOperation-watchOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3201179124444859004FD783 /* Debug */, - 3201179224444859004FD783 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105271E27110D00890935 /* Build configuration list for PBXProject "PINOperation" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105331E27110D00890935 /* Debug */, - CC0105341E27110D00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105351E27110D00890935 /* Build configuration list for PBXNativeTarget "PINOperation" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105361E27110D00890935 /* Debug */, - CC0105371E27110D00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105421E27113700890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105431E27113700890935 /* Debug */, - CC0105441E27113700890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01054F1E27114300890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105501E27114300890935 /* Debug */, - CC0105511E27114300890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01055E1E27116600890935 /* Build configuration list for PBXNativeTarget "PINOperationTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01055F1E27116600890935 /* Debug */, - CC0105601E27116600890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01056D1E27117300890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01056E1E27117300890935 /* Debug */, - CC01056F1E27117300890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01057C1E27117F00890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01057D1E27117F00890935 /* Debug */, - CC01057E1E27117F00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = CC0105241E27110D00890935 /* Project object */; -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme deleted file mode 100644 index ebc5ab8b..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme deleted file mode 100644 index 31981545..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme deleted file mode 100644 index 4187965f..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme deleted file mode 100644 index 82056667..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Package.swift b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Package.swift deleted file mode 100644 index 1e747dba..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Package.swift +++ /dev/null @@ -1,18 +0,0 @@ -// swift-tools-version:5.2 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription - -let package = Package( - name: "PINOperation", - products: [ - // Products define the executables and libraries produced by a package, and make them visible to other packages. - .library(name: "PINOperation", targets: ["PINOperation"]), - ], - targets: [ - // Targets are the basic building blocks of a package. A target can define a module or a test suite. - // Targets can depend on other targets in this package, and on products in packages which this package depends on. - .target(name: "PINOperation", path: "Source", publicHeadersPath: "."), - .testTarget(name: "PINOperationTests", dependencies: ["PINOperation"], path: "Tests") - ] -) diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/README.md b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/README.md deleted file mode 100644 index c7ac84ec..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# PINOperation - -[![CocoaPods](https://img.shields.io/cocoapods/v/PINOperation.svg)](http://cocoadocs.org/docsets/PINOperation/) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Build status](https://github.com/pinterest/PINOperation/workflows/CI/badge.svg)](https://github.com/pinterest/PINOperation/actions?query=workflow%3ACI+branch%3Amaster) - -## Fast, concurrency-limited task queue for iOS and macOS. - -## Installation - -### Manually - -[Download the latest tag](https://github.com/pinterest/PINOperation/tags) and drag the `PINOperation` folder into your Xcode project. - -Install the docs by double clicking the `.docset` file under `docs/`, or view them online at [cocoadocs.org](http://cocoadocs.org/docsets/PINOperation/) - -### Git Submodule - - git submodule add https://github.com/pinterest/PINOperation.git - git submodule update --init - -### CocoaPods - -Add [PINOperation](http://cocoapods.org/?q=name%3APINOperation) to your `Podfile` and run `pod install`. - -### Carthage - -Add the following line to your `Cartfile` and run `carthage update --platform ios`. Then follow [this instruction of Carthage](https://github.com/carthage/carthage#adding-frameworks-to-unit-tests-or-a-framework) to embed the framework. - -```github "pinterest/PINOperation"``` - -## Requirements - -__PINOperation__ requires iOS 8.0, tvOS 9.0, macOS 10.8 or watchOS 2.0 and greater. - -## Contact - -[Garrett Moon](mailto:garrett@pinterest.com) - -## License - -Copyright 2013 Tumblr, Inc. -Copyright 2015 Pinterest, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. [See the License](LICENSE.txt) for the specific language governing permissions and limitations under the License. diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/RELEASE.md b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/RELEASE.md deleted file mode 100644 index e0fc7ee8..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/RELEASE.md +++ /dev/null @@ -1,13 +0,0 @@ -# Release Process -This document describes the process for a public PINOperation release. - -### Preparation -- Install [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator): `sudo gem install github_changelog_generator` -- Generate a GitHub Personal Access Token to prevent running into public GitHub API rate limits: https://github.com/github-changelog-generator/github-changelog-generator#github-token - -### Process -- Run `github_changelog_generator` in PINOperation project directory: `github_changelog_generator --token --user Pinterest --project PINOperation`. To avoid hitting rate limit, the generator will replace the entire file with just the changes from this version – revert that giant deletion to get the entire new changelog. -- Update `spec.version` within `PINOperation.podspec` and the `since-tag` and `future-release` fields in `.github_changelog_generator`. -- Create a new PR with the updated `PINOperation.podspec` and the newly generated changelog, add `#changelog` to the PR message so the CI will not prevent merging it. -- After merging in the PR, [create a new GitHub release](https://github.com/Pinterest/PINOperation/releases/new). Use the generated changelog for the new release. -- Push to Cocoapods with `pod trunk push` diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/Info.plist b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/Info.plist deleted file mode 100644 index faedaa13..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - Copyright © 2017 Pinterest. All rights reserved. - NSPrincipalClass - - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperation.h b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperation.h deleted file mode 100644 index 68b074d2..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperation.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// PINOperation.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINOperationMacros.h" -#import "PINOperationTypes.h" -#import "PINOperationQueue.h" -#import "PINOperationGroup.h" diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h deleted file mode 100644 index 0ae7dbac..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// PINOperationGroup.h -// PINQueue -// -// Created by Garrett Moon on 10/8/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -#import -#import "PINOperationTypes.h" -#import "PINOperationMacros.h" - -@class PINOperationQueue; - -NS_ASSUME_NONNULL_BEGIN - -@protocol PINGroupOperationReference; - -PINOP_SUBCLASSING_RESTRICTED -@interface PINOperationGroup : NSObject - -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)asyncOperationGroupWithQueue:(PINOperationQueue *)operationQueue; - -- (nullable id )addOperation:(dispatch_block_t)operation; -- (nullable id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority; -- (void)start; -- (void)cancel; -- (void)setCompletion:(dispatch_block_t)completion; -- (void)waitUntilComplete; - -@end - -@protocol PINGroupOperationReference - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m deleted file mode 100644 index ddd2ed01..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m +++ /dev/null @@ -1,187 +0,0 @@ -// -// PINOperationGroup.m -// PINQueue -// -// Created by Garrett Moon on 10/8/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -#import "PINOperationGroup.h" -#import "PINOperation.h" -#import - -@interface NSNumber (PINGroupOperationQueue) -@end - -@interface PINOperationGroup () -{ - pthread_mutex_t _lock; - - PINOperationQueue *_operationQueue; - NSMutableArray *_operations; - NSMutableArray *_operationPriorities; - NSMutableArray > *_operationReferences; - NSMapTable , id > *_groupToOperationReferences; - NSUInteger _operationReferenceCount; - - dispatch_group_t _group; - - dispatch_block_t _completion; - - BOOL _started; - BOOL _canceled; -} - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue NS_DESIGNATED_INITIALIZER; - -@end - -@implementation PINOperationGroup - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue -{ - if (self = [super init]) { - pthread_mutex_init(&_lock, NULL); - - _operationQueue = operationQueue; - - _operations = [[NSMutableArray alloc] init]; - _operationReferences = [[NSMutableArray alloc] init]; - _operationPriorities = [[NSMutableArray alloc] init]; - - _groupToOperationReferences = [NSMapTable weakToStrongObjectsMapTable]; - _group = dispatch_group_create(); - } - return self; -} - -- (void)dealloc -{ - pthread_mutex_destroy(&_lock); -} - -+ (instancetype)asyncOperationGroupWithQueue:(PINOperationQueue *)operationQueue -{ - return [[self alloc] initWithOperationQueue:operationQueue]; -} - -- (id )locked_nextOperationReference -{ - id reference = [NSNumber numberWithUnsignedInteger:++_operationReferenceCount]; - return reference; -} - -- (void)start -{ - [self lock]; - NSAssert(_canceled == NO, @"Operation group canceled."); - if (_started == NO && _canceled == NO) { - for (NSUInteger idx = 0; idx < _operations.count; idx++) { - dispatch_group_enter(_group); - dispatch_block_t originalOperation = _operations[idx]; - dispatch_block_t groupBlock = ^{ - originalOperation(); - dispatch_group_leave(self->_group); - }; - - id operationReference = [_operationQueue scheduleOperation:groupBlock withPriority:[_operationPriorities[idx] unsignedIntegerValue]]; - [_groupToOperationReferences setObject:operationReference forKey:_operationReferences[idx]]; - } - - if (_completion) { - dispatch_queue_t completionQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); - dispatch_group_notify(_group, completionQueue, ^{ - [self runCompletionIfNeeded]; - }); - } - - _operations = nil; - _operationPriorities = nil; - _operationReferences = nil; - } - [self unlock]; -} - -- (void)cancel -{ - [self lock]; - _canceled = YES; - - for (id operationReference in [_groupToOperationReferences objectEnumerator]) { - if ([_operationQueue cancelOperation:operationReference]) { - dispatch_group_leave(_group); - } - } - - //TODO just nil out instead? Does it make sense to support adding operations after cancelation? - [_groupToOperationReferences removeAllObjects]; - [_operations removeAllObjects]; - [_operationPriorities removeAllObjects]; - [_operationReferences removeAllObjects]; - - _completion = nil; - [self unlock]; -} - -- (id )addOperation:(dispatch_block_t)operation -{ - return [self addOperation:operation withPriority:PINOperationQueuePriorityDefault]; -} - -- (id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority -{ - [self lock]; - id reference = nil; - NSAssert(_started == NO && _canceled == NO, @"Operation group already started or canceled."); - if (_started == NO && _canceled == NO) { - reference = [self locked_nextOperationReference]; - [_operations addObject:operation]; - [_operationPriorities addObject:@(priority)]; - [_operationReferences addObject:reference]; - } - [self unlock]; - - return reference; -} - -- (void)setCompletion:(dispatch_block_t)completion -{ - [self lock]; - NSAssert(_started == NO && _canceled == NO, @"Operation group already started or canceled."); - if (_started == NO && _canceled == NO) { - _completion = completion; - } - [self unlock]; -} - -- (void)waitUntilComplete -{ - [self start]; - dispatch_group_wait(_group, DISPATCH_TIME_FOREVER); - [self runCompletionIfNeeded]; -} - -- (void)runCompletionIfNeeded -{ - dispatch_block_t completion; - [self lock]; - completion = _completion; - _completion = nil; - [self unlock]; - - if (completion) { - completion(); - } -} - -- (void)lock -{ - pthread_mutex_lock(&_lock); -} - -- (void)unlock -{ - pthread_mutex_unlock(&_lock); -} - -@end diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h deleted file mode 100644 index 5be3a216..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINOperationMacros.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#ifndef PINOP_SUBCLASSING_RESTRICTED -#if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#define PINOP_SUBCLASSING_RESTRICTED __attribute__((objc_subclassing_restricted)) -#else -#define PINOP_SUBCLASSING_RESTRICTED -#endif // #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#endif // #ifndef PINOP_SUBCLASSING_RESTRICTED diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h deleted file mode 100644 index 07eacbeb..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h +++ /dev/null @@ -1,141 +0,0 @@ -// -// PINOperationQueue.h -// Pods -// -// Created by Garrett Moon on 8/23/16. -// -// - -#import -#import "PINOperationTypes.h" -#import "PINOperationMacros.h" - -NS_ASSUME_NONNULL_BEGIN - -typedef void(^PINOperationBlock)(id _Nullable data); -typedef _Nullable id(^PINOperationDataCoalescingBlock)(id _Nullable existingData, id _Nullable newData); - -@protocol PINOperationReference; - -PINOP_SUBCLASSING_RESTRICTED -@interface PINOperationQueue : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -/** - * Initializes and returns a newly allocated operation queue with the specified number of maximum concurrent operations. - * - * @param maxConcurrentOperations The maximum number of queued operations that can execute at the same time. - * - */ -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations; - -/** - * Initializes and returns a newly allocated operation queue with the specified number of maximum concurrent operations and the concurrent queue they will be scheduled on. - * - * @param maxConcurrentOperations The maximum number of queued operations that can execute at the same time. - * @param concurrentQueue The operation queue to schedule concurrent operations - * - */ -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations concurrentQueue:(dispatch_queue_t)concurrentQueue NS_DESIGNATED_INITIALIZER; - -/** - * Returns the shared instance of the PINOperationQueue class. - */ -+ (instancetype)sharedOperationQueue; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * - */ -- (id )scheduleOperation:(dispatch_block_t)operation; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * @param priority The execution priority of the operation in an operation queue. - */ -- (id )scheduleOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * @param priority The execution priority of the operation in an operation queue. - * @param identifier A string that identifies the operations that can be coalesced. - * @param coalescingData The optional data consumed by this operation that needs to be updated/coalesced with data of a new operation when coalescing the two operations happens. - * @param dataCoalescingBlock The optional block called to update/coalesce the data of this operation with data of a new operation when coalescing the two operations happens. - * @param completion The block to execute after the operation finished. - */ -- (id )scheduleOperation:(PINOperationBlock)operation - withPriority:(PINOperationQueuePriority)priority - identifier:(nullable NSString *)identifier - coalescingData:(nullable id)coalescingData - dataCoalescingBlock:(nullable PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(nullable dispatch_block_t)completion; - -/** - * The maximum number of queued operations that can execute at the same time. - * - * @discussion The value in this property affects only the operations that the current queue has executing at the same time. Other operation queues can also execute their maximum number of operations in parallel. - * Reducing the number of concurrent operations does not affect any operations that are currently executing. - * - * Setting this value to 1 the operations will not be processed by priority as the operations will processed in a FIFO order to prevent deadlocks if operations depend on certain other operations to run in order. - * - */ -@property (assign) NSUInteger maxConcurrentOperations; - -/** - * Marks the operation as cancelled - */ -- (BOOL)cancelOperation:(id )operationReference; - -/** - * Cancels all queued operations - */ -- (void)cancelAllOperations; - -/** - * Blocks the current thread until all of the receiver’s queued and executing operations finish executing. - * - * @discussion When called, this method blocks the current thread and waits for the receiver’s current and queued - * operations to finish executing. While the current thread is blocked, the receiver continues to launch already - * queued operations and monitor those that are executing. - * - * @warning This should never be called from within an operation submitted to the PINOperationQueue as this will result - * in a deadlock. - */ -- (void)waitUntilAllOperationsAreFinished; - -/** - * Sets the priority for a operation via it's reference - * - * @param priority The new priority for the operation - * @param reference The reference for the operation - * - */ -- (void)setOperationPriority:(PINOperationQueuePriority)priority withReference:(id )reference; - -#pragma mark - Deprecated - -- (id )addOperation:(dispatch_block_t)operation __deprecated_msg("Use scheduleOperation: instead."); - -- (id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority __deprecated_msg("Use scheduleOperation:withPriority: instead."); - -- (id )addOperation:(PINOperationBlock)operation - withPriority:(PINOperationQueuePriority)priority - identifier:(nullable NSString *)identifier - coalescingData:(nullable id)coalescingData - dataCoalescingBlock:(nullable PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(nullable dispatch_block_t)completion __deprecated_msg("Use scheduleOperation:withPriority:identifier:coalescingData:dataCoalescingBlock:completion: instead."); - -@end - -@protocol PINOperationReference - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m deleted file mode 100644 index 5d0a38fe..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m +++ /dev/null @@ -1,471 +0,0 @@ -// -// PINOperationQueue.m -// Pods -// -// Created by Garrett Moon on 8/23/16. -// -// - -#import "PINOperationQueue.h" -#import - -@class PINOperation; - -@interface NSNumber (PINOperationQueue) - -@end - -@interface PINOperationQueue () { - pthread_mutex_t _lock; - //increments with every operation to allow cancelation - NSUInteger _operationReferenceCount; - NSUInteger _maxConcurrentOperations; - - dispatch_group_t _group; - - dispatch_queue_t _serialQueue; - BOOL _serialQueueBusy; - - dispatch_semaphore_t _concurrentSemaphore; - dispatch_queue_t _concurrentQueue; - dispatch_queue_t _semaphoreQueue; - - NSMutableOrderedSet *_queuedOperations; - NSMutableOrderedSet *_lowPriorityOperations; - NSMutableOrderedSet *_defaultPriorityOperations; - NSMutableOrderedSet *_highPriorityOperations; - - NSMapTable, PINOperation *> *_referenceToOperations; - NSMapTable *_identifierToOperations; -} - -@end - -@interface PINOperation : NSObject - -@property (nonatomic, strong) PINOperationBlock block; -@property (nonatomic, strong) id reference; -@property (nonatomic, assign) PINOperationQueuePriority priority; -@property (nonatomic, strong) NSMutableArray *completions; -@property (nonatomic, strong) NSString *identifier; -@property (nonatomic, strong) id data; - -+ (instancetype)operationWithBlock:(PINOperationBlock)block reference:(id )reference priority:(PINOperationQueuePriority)priority identifier:(nullable NSString *)identifier data:(nullable id)data completion:(nullable dispatch_block_t)completion; - -- (void)addCompletion:(nullable dispatch_block_t)completion; - -@end - -@implementation PINOperation - -+ (instancetype)operationWithBlock:(PINOperationBlock)block reference:(id)reference priority:(PINOperationQueuePriority)priority identifier:(NSString *)identifier data:(id)data completion:(dispatch_block_t)completion -{ - PINOperation *operation = [[self alloc] init]; - operation.block = block; - operation.reference = reference; - operation.priority = priority; - operation.identifier = identifier; - operation.data = data; - [operation addCompletion:completion]; - - return operation; -} - -- (void)addCompletion:(dispatch_block_t)completion -{ - if (completion == nil) { - return; - } - if (_completions == nil) { - _completions = [NSMutableArray array]; - } - [_completions addObject:completion]; -} - -@end - -@implementation PINOperationQueue - -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations -{ - return [self initWithMaxConcurrentOperations:maxConcurrentOperations concurrentQueue:dispatch_queue_create("PINOperationQueue Concurrent Queue", DISPATCH_QUEUE_CONCURRENT)]; -} - -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations concurrentQueue:(dispatch_queue_t)concurrentQueue -{ - if (self = [super init]) { - NSAssert(maxConcurrentOperations > 0, @"Max concurrent operations must be greater than 0."); - _maxConcurrentOperations = maxConcurrentOperations; - _operationReferenceCount = 0; - - pthread_mutexattr_t attr; - pthread_mutexattr_init(&attr); - //mutex must be recursive to allow scheduling of operations from within operations - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); - pthread_mutex_init(&_lock, &attr); - - _group = dispatch_group_create(); - - _serialQueue = dispatch_queue_create("PINOperationQueue Serial Queue", DISPATCH_QUEUE_SERIAL); - - _concurrentQueue = concurrentQueue; - - //Create a queue with max - 1 because this plus the serial queue add up to max. - _concurrentSemaphore = dispatch_semaphore_create(_maxConcurrentOperations - 1); - _semaphoreQueue = dispatch_queue_create("PINOperationQueue Serial Semaphore Queue", DISPATCH_QUEUE_SERIAL); - - _queuedOperations = [[NSMutableOrderedSet alloc] init]; - _lowPriorityOperations = [[NSMutableOrderedSet alloc] init]; - _defaultPriorityOperations = [[NSMutableOrderedSet alloc] init]; - _highPriorityOperations = [[NSMutableOrderedSet alloc] init]; - - _referenceToOperations = [NSMapTable weakToWeakObjectsMapTable]; - _identifierToOperations = [NSMapTable weakToWeakObjectsMapTable]; - } - return self; -} - -- (void)dealloc -{ - pthread_mutex_destroy(&_lock); -} - -+ (instancetype)sharedOperationQueue -{ - static PINOperationQueue *sharedOperationQueue = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedOperationQueue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:MAX([[NSProcessInfo processInfo] activeProcessorCount], 2)]; - }); - return sharedOperationQueue; -} - -- (id )nextOperationReference -{ - [self lock]; - id reference = [NSNumber numberWithUnsignedInteger:++_operationReferenceCount]; - [self unlock]; - return reference; -} - -// Deprecated -- (id )addOperation:(dispatch_block_t)block -{ - return [self scheduleOperation:block]; -} - -- (id )scheduleOperation:(dispatch_block_t)block -{ - return [self scheduleOperation:block withPriority:PINOperationQueuePriorityDefault]; -} - -// Deprecated -- (id )addOperation:(dispatch_block_t)block withPriority:(PINOperationQueuePriority)priority -{ - return [self scheduleOperation:block withPriority:priority]; -} - -- (id )scheduleOperation:(dispatch_block_t)block withPriority:(PINOperationQueuePriority)priority -{ - PINOperation *operation = [PINOperation operationWithBlock:^(id data) { block(); } - reference:[self nextOperationReference] - priority:priority - identifier:nil - data:nil - completion:nil]; - [self lock]; - [self locked_addOperation:operation]; - [self unlock]; - - [self scheduleNextOperations:NO]; - - return operation.reference; -} - -// Deprecated -- (id)addOperation:(PINOperationBlock)block - withPriority:(PINOperationQueuePriority)priority - identifier:(NSString *)identifier - coalescingData:(id)coalescingData - dataCoalescingBlock:(PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(dispatch_block_t)completion -{ - return [self scheduleOperation:block - withPriority:priority - identifier:identifier - coalescingData:coalescingData - dataCoalescingBlock:dataCoalescingBlock - completion:completion]; -} - -- (id)scheduleOperation:(PINOperationBlock)block - withPriority:(PINOperationQueuePriority)priority - identifier:(NSString *)identifier - coalescingData:(id)coalescingData - dataCoalescingBlock:(PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(dispatch_block_t)completion -{ - id reference = nil; - BOOL isNewOperation = NO; - - [self lock]; - PINOperation *operation = nil; - if (identifier != nil && (operation = [_identifierToOperations objectForKey:identifier]) != nil) { - // There is an exisiting operation with the provided identifier, let's coalesce these operations - if (dataCoalescingBlock != nil) { - operation.data = dataCoalescingBlock(operation.data, coalescingData); - } - - [operation addCompletion:completion]; - } else { - isNewOperation = YES; - operation = [PINOperation operationWithBlock:block - reference:[self nextOperationReference] - priority:priority - identifier:identifier - data:coalescingData - completion:completion]; - [self locked_addOperation:operation]; - } - reference = operation.reference; - [self unlock]; - - if (isNewOperation) { - [self scheduleNextOperations:NO]; - } - - return reference; -} - -- (void)locked_addOperation:(PINOperation *)operation -{ - NSMutableOrderedSet *queue = [self operationQueueWithPriority:operation.priority]; - - dispatch_group_enter(_group); - [queue addObject:operation]; - [_queuedOperations addObject:operation]; - [_referenceToOperations setObject:operation forKey:operation.reference]; - if (operation.identifier != nil) { - [_identifierToOperations setObject:operation forKey:operation.identifier]; - } -} - -- (void)cancelAllOperations -{ - [self lock]; - for (PINOperation *operation in [[_referenceToOperations copy] objectEnumerator]) { - [self locked_cancelOperation:operation.reference]; - } - [self unlock]; -} - - -- (BOOL)cancelOperation:(id )operationReference -{ - [self lock]; - BOOL success = [self locked_cancelOperation:operationReference]; - [self unlock]; - return success; -} - -- (NSUInteger)maxConcurrentOperations -{ - [self lock]; - NSUInteger maxConcurrentOperations = _maxConcurrentOperations; - [self unlock]; - return maxConcurrentOperations; -} - -- (void)setMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations -{ - NSAssert(maxConcurrentOperations > 0, @"Max concurrent operations must be greater than 0."); - [self lock]; - __block NSInteger difference = maxConcurrentOperations - _maxConcurrentOperations; - _maxConcurrentOperations = maxConcurrentOperations; - [self unlock]; - - if (difference == 0) { - return; - } - - dispatch_async(_semaphoreQueue, ^{ - while (difference != 0) { - if (difference > 0) { - dispatch_semaphore_signal(self->_concurrentSemaphore); - difference--; - } else { - dispatch_semaphore_wait(self->_concurrentSemaphore, DISPATCH_TIME_FOREVER); - difference++; - } - } - }); -} - -#pragma mark - private methods - -- (BOOL)locked_cancelOperation:(id )operationReference -{ - PINOperation *operation = [_referenceToOperations objectForKey:operationReference]; - BOOL success = [self locked_removeOperation:operation]; - if (success) { - dispatch_group_leave(_group); - } - return success; -} - -- (void)setOperationPriority:(PINOperationQueuePriority)priority withReference:(id )operationReference -{ - [self lock]; - PINOperation *operation = [_referenceToOperations objectForKey:operationReference]; - if (operation && operation.priority != priority) { - NSMutableOrderedSet *oldQueue = [self operationQueueWithPriority:operation.priority]; - [oldQueue removeObject:operation]; - - operation.priority = priority; - - NSMutableOrderedSet *queue = [self operationQueueWithPriority:priority]; - [queue addObject:operation]; - } - [self unlock]; -} - -/** - Schedule next operations schedules the next operation by queue order onto the serial queue if - it's available and one operation by priority order onto the concurrent queue. - */ -- (void)scheduleNextOperations:(BOOL)onlyCheckSerial -{ - [self lock]; - - //get next available operation in order, ignoring priority and run it on the serial queue - if (_serialQueueBusy == NO) { - PINOperation *operation = [self locked_nextOperationByQueue]; - if (operation) { - _serialQueueBusy = YES; - dispatch_async(_serialQueue, ^{ - operation.block(operation.data); - for (dispatch_block_t completion in operation.completions) { - completion(); - } - dispatch_group_leave(self->_group); - - [self lock]; - self->_serialQueueBusy = NO; - [self unlock]; - - //see if there are any other operations - [self scheduleNextOperations:YES]; - }); - } - } - - NSInteger maxConcurrentOperations = _maxConcurrentOperations; - - [self unlock]; - - if (onlyCheckSerial) { - return; - } - - //if only one concurrent operation is set, let's just use the serial queue for executing it - if (maxConcurrentOperations < 2) { - return; - } - - dispatch_async(_semaphoreQueue, ^{ - dispatch_semaphore_wait(self->_concurrentSemaphore, DISPATCH_TIME_FOREVER); - [self lock]; - PINOperation *operation = [self locked_nextOperationByPriority]; - [self unlock]; - - if (operation) { - dispatch_async(self->_concurrentQueue, ^{ - operation.block(operation.data); - for (dispatch_block_t completion in operation.completions) { - completion(); - } - dispatch_group_leave(self->_group); - dispatch_semaphore_signal(self->_concurrentSemaphore); - }); - } else { - dispatch_semaphore_signal(self->_concurrentSemaphore); - } - }); -} - -- (NSMutableOrderedSet *)operationQueueWithPriority:(PINOperationQueuePriority)priority -{ - switch (priority) { - case PINOperationQueuePriorityLow: - return _lowPriorityOperations; - - case PINOperationQueuePriorityDefault: - return _defaultPriorityOperations; - - case PINOperationQueuePriorityHigh: - return _highPriorityOperations; - - default: - NSAssert(NO, @"Invalid priority set"); - return _defaultPriorityOperations; - } -} - -//Call with lock held -- (PINOperation *)locked_nextOperationByPriority -{ - PINOperation *operation = [_highPriorityOperations firstObject]; - if (operation == nil) { - operation = [_defaultPriorityOperations firstObject]; - } - if (operation == nil) { - operation = [_lowPriorityOperations firstObject]; - } - if (operation) { - [self locked_removeOperation:operation]; - } - return operation; -} - -//Call with lock held -- (PINOperation *)locked_nextOperationByQueue -{ - PINOperation *operation = [_queuedOperations firstObject]; - [self locked_removeOperation:operation]; - return operation; -} - -- (void)waitUntilAllOperationsAreFinished -{ - [self scheduleNextOperations:NO]; - dispatch_group_wait(_group, DISPATCH_TIME_FOREVER); -} - -//Call with lock held -- (BOOL)locked_removeOperation:(PINOperation *)operation -{ - if (operation) { - NSMutableOrderedSet *priorityQueue = [self operationQueueWithPriority:operation.priority]; - if ([priorityQueue containsObject:operation]) { - [priorityQueue removeObject:operation]; - [_queuedOperations removeObject:operation]; - if (operation.identifier) { - [_identifierToOperations removeObjectForKey:operation.identifier]; - } - return YES; - } - } - return NO; -} - -- (void)lock -{ - pthread_mutex_lock(&_lock); -} - -- (void)unlock -{ - pthread_mutex_unlock(&_lock); -} - -@end diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h deleted file mode 100644 index be7293db..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINOperationTypes.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import - -typedef NS_ENUM(NSUInteger, PINOperationQueuePriority) { - PINOperationQueuePriorityLow, - PINOperationQueuePriorityDefault, - PINOperationQueuePriorityHigh, -}; diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m deleted file mode 100644 index 7505d56f..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m +++ /dev/null @@ -1,129 +0,0 @@ -// -// PINOperationGroupTests.m -// PINOperationQueue -// -// Created by Garrett Moon on 10/12/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -@import PINOperation; - -#import -#import - -static NSTimeInterval PINOperationGroupTestBlockTimeout = 20; - -@interface PINOperationGroupTests : XCTestCase - -@property PINOperationQueue *queue; - -@end - -@implementation PINOperationGroupTests - -- (dispatch_time_t)timeout -{ - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(PINOperationGroupTestBlockTimeout * NSEC_PER_SEC)); -} - -- (void)setUp { - [super setUp]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:5]; -} - -- (void)tearDown { - // Put teardown code here. This method is called after the invocation of each test method in the class. - [super tearDown]; -} - -- (void)testAllOperationsRunBeforeCompletion -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - for (NSUInteger idx = 0; idx < 100; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - - XCTestExpectation *completionRun = [self expectationWithDescription:@"Completion Run"]; - - __weak typeof(self) weakSelf = self; - [group setCompletion:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - XCTAssert(operationsRun == 100, @"Not all operations were run before completion"); - } - [completionRun fulfill]; - }]; - - [group start]; - - [self waitForExpectationsWithTimeout:PINOperationGroupTestBlockTimeout handler:nil]; -} - -- (void)testWaitUntilOperationsComplete -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - for (NSUInteger idx = 0; idx < 100; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - __block BOOL completionBlockCalled = NO; - [group setCompletion:^{ - completionBlockCalled = YES; - }]; - - [group waitUntilComplete]; - XCTAssert(completionBlockCalled, @"Completion block should have been called after waiting."); - - @synchronized (self) { - XCTAssert(operationsRun == 100, @"All operations should be run"); - } -} - -- (void)testCancelation -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - const NSUInteger operationsToRun = 100; - - for (NSUInteger idx = 0; idx < operationsToRun; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - usleep(10000); - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - - [group setCompletion:^{ - XCTAssert(NO, @"completion should not be run"); - }]; - - [group start]; - [group cancel]; - - usleep(10000 * operationsToRun); - - @synchronized (self) { - XCTAssert(operationsRun < operationsToRun, @"All operations should not be run."); - } -} - -@end diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m deleted file mode 100644 index 844968f2..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m +++ /dev/null @@ -1,523 +0,0 @@ -// -// PINOperationQueueTests.m -// PINOperationQueue -// -// Created by Garrett Moon on 8/28/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -@import PINOperation; -#import -#import - -static NSTimeInterval PINOperationQueueTestBlockTimeout = 20; - -@interface PINOperationQueueTests : XCTestCase - -@property (nonatomic, strong) PINOperationQueue *queue; - -@end - -static const NSUInteger PINOperationQueueTestsLowestMaxOperations = 1; -static const NSUInteger PINOperationQueueTestsMaxOperations = 5; - -@implementation PINOperationQueueTests - -- (void)setUp -{ - [super setUp]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsMaxOperations]; - // Put setup code here. This method is called before the invocation of each test method in the class. -} - -- (void)tearDown -{ - // Put teardown code here. This method is called after the invocation of each test method in the class. - self.queue = nil; - [super tearDown]; -} - -- (dispatch_time_t)timeout -{ - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(PINOperationQueueTestBlockTimeout * NSEC_PER_SEC)); -} - -- (void)testAllOperationsRun -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out before completing 100 operations"); -} - -- (void)testAllOperationsReleased -{ - const NSUInteger operationCount = 100; - NSPointerArray *weakOperationPointers = [NSPointerArray weakObjectsPointerArray]; - - for (int i = 0; i < operationCount; i++) { - @autoreleasepool { - dispatch_block_t operation = ^{ - usleep(i); - }; - - [weakOperationPointers addPointer:(__bridge void * _Nullable)(operation)]; - [self.queue scheduleOperation:operation withPriority:PINOperationQueuePriorityDefault]; - } - } - - [self.queue waitUntilAllOperationsAreFinished]; - - // Autorelease pool is drained at the end of each run loop - // Dispatch to the next loop before asserting that all blocks are gone - XCTestExpectation *expectation = [self expectationWithDescription:@"next run loop expectation"]; - dispatch_async(dispatch_get_main_queue(), ^{ - [expectation fulfill]; - }); - - [self waitForExpectationsWithTimeout:10 handler:nil]; - XCTAssertEqual(0, weakOperationPointers.allObjects.count); -} - -- (void)testWaitUntilAllOperationsFinished -{ - const NSUInteger operationCount = 100; - __block NSInteger operationsRun = 0; - - __weak PINOperationQueueTests *weakSelf = self; - for (NSUInteger count = 0; count < operationCount; count++) { - [self.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - } withPriority:PINOperationQueuePriorityDefault]; - } - - [self.queue waitUntilAllOperationsAreFinished]; - - XCTAssert(operationCount == operationsRun, @"Timed out before completing 100 operations"); -} - -- (void)testWaitUntilAllOperationsFinishedWithNestedOperations -{ - const NSUInteger operationCount = 100; - - __block NSInteger operationsRun = 0; - for (NSUInteger count = 0; count < operationCount; count++) { - __weak PINOperationQueueTests *weakSelf = self; - [self.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - [strongSelf.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - } withPriority:PINOperationQueuePriorityHigh]; - } withPriority:PINOperationQueuePriorityDefault]; - } - - [self.queue waitUntilAllOperationsAreFinished]; - - XCTAssert(operationsRun == (operationCount*2), @"Timed out before completing 100 operations"); -} - -- (void)helperConfirmMaxOperations:(NSUInteger)maxOperations queue:(PINOperationQueue *)queue -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - __block NSUInteger runningOperationCount = 0; - __block BOOL operationCountMaxedOut = NO; - - XCTAssert(queue.maxConcurrentOperations == maxOperations, @"Max concurrent operations not correctly set."); -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [queue scheduleOperation:^{ - @synchronized (self) { - runningOperationCount++; - if (runningOperationCount == maxOperations) { - operationCountMaxedOut = YES; - } - XCTAssert(runningOperationCount <= maxOperations, @"Running too many operations at once: %lu", (unsigned long)runningOperationCount); - } - - usleep(10000); - - @synchronized (self) { - runningOperationCount--; - XCTAssert(runningOperationCount <= maxOperations, @"Running too many operations at once: %lu", (unsigned long)runningOperationCount); - } - - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out before completing 100 operations"); - XCTAssert(operationCountMaxedOut == YES, @"Never reached maximum number of concurrent operations: %lu", (unsigned long)maxOperations); -} - -- (void)testMaximumNumberOfConcurrentOperations -{ - [self helperConfirmMaxOperations:PINOperationQueueTestsMaxOperations queue:self.queue]; -} - -- (void)testMaximumNumberOfConcurrentOperationsIsOne -{ - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsLowestMaxOperations]; - [self helperConfirmMaxOperations:PINOperationQueueTestsLowestMaxOperations queue:self.queue]; -} - -//We expect operations to run in priority order when added in that order as well -- (void)testPriority -{ - const NSUInteger highOperationCount = 100; - const NSUInteger defaultOperationCount = 100; - const NSUInteger lowOperationCount = 100; - - __block NSUInteger highOperationComplete = 0; - __block NSUInteger defaultOperationComplete = 0; - __block NSUInteger lowOperationComplete = 0; - - dispatch_group_t group = dispatch_group_create(); - - //This is actually a pretty annoying unit test to write. Because multiple operations are allowed to be concurrent, lower priority operations can potentially repeatidly - //obtain the lock while higher priority operations wait… So I'm attempting to make the operations less about lock contention and more about the length of time they take - //to execute and adding a sleep before they obtain the lock to hopefully improve reliability. - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < highOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++highOperationComplete; - XCTAssert(defaultOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running default operations before high. Default operations complete: %lu", (unsigned long)defaultOperationComplete); - XCTAssert(lowOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running low operations before high. Low operations complete: %lu", (unsigned long)lowOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityHigh]; - } - - for (NSUInteger count = 0; count < defaultOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++defaultOperationComplete; - XCTAssert(lowOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running low operations before default. Low operations complete: %lu", (unsigned long)lowOperationComplete); - XCTAssert(highOperationComplete > highOperationCount - PINOperationQueueTestsMaxOperations, @"Running high operations after default. High operations complete: %lu", (unsigned long)highOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - for (NSUInteger count = 0; count < lowOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++lowOperationComplete; - XCTAssert(defaultOperationComplete > defaultOperationCount - PINOperationQueueTestsMaxOperations, @"Running default operations after low. Default operations complete: %lu", (unsigned long)defaultOperationComplete); - XCTAssert(highOperationComplete > highOperationCount - PINOperationQueueTestsMaxOperations, @"Running high operations after low. High operations complete: %lu", (unsigned long)highOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -//We expect low priority operations to eventually run even if the queue is continually kept full with higher priority operations -- (void)testOutOfOrderOperations -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < PINOperationQueueTestsMaxOperations + 1; count++) { - [self.queue scheduleOperation:^{ - [self recursivelyAddOperation]; - } withPriority:PINOperationQueuePriorityHigh]; - } -#pragma clang diagnostic pop - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)recursivelyAddOperation -{ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - [self.queue scheduleOperation:^{ - [self recursivelyAddOperation]; - } withPriority:PINOperationQueuePriorityHigh]; -#pragma clang diagnostic pop -} - -- (void)testCancelation -{ - const NSUInteger sleepTime = 100000; - for (NSUInteger count = 0; count < PINOperationQueueTestsMaxOperations + 1; count++) { - [self.queue scheduleOperation:^{ - usleep(sleepTime); - } withPriority:PINOperationQueuePriorityDefault]; - } - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - id operation = [self.queue scheduleOperation:^{ - XCTAssertTrue(NO, @"operation should have been canceled"); - } withPriority:PINOperationQueuePriorityDefault]; -#pragma clang diagnostics pop - - [self.queue cancelOperation:operation]; - - usleep(sleepTime * (PINOperationQueueTestsMaxOperations + 1)); -} - -- (void)testChangingPriority -{ - const NSUInteger defaultOperationCount = 100; - - __block NSUInteger defaultOperationComplete = 0; - - dispatch_group_t group = dispatch_group_create(); - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < defaultOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(100); - @synchronized (self) { - ++defaultOperationComplete; - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - dispatch_group_enter(group); - id operation = [self.queue scheduleOperation:^{ - @synchronized (self) { - //Make sure we're less than defaultOperationCount - PINOperationQueueTestsMaxOperations because this operation could start even while the others are running even - //if started last. - XCTAssert(defaultOperationComplete < defaultOperationCount - PINOperationQueueTestsMaxOperations, @"operation was not completed before default operations even though reprioritized."); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; -#pragma clang diagnostic pop - [self.queue setOperationPriority:PINOperationQueuePriorityHigh withReference:operation]; - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)testCoalescingOperations -{ - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsMaxOperations]; - - const NSUInteger totalOperationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - NSString *normalDesc = @"Normal"; - NSString *coallescedDesc = @"Coallesced"; - NSArray *descs = @[normalDesc, coallescedDesc]; - - __block NSMutableDictionary *operationCount = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - __block NSMutableDictionary *operationRun = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - __block NSMutableDictionary *operationComplete = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSUInteger i = 0; i < totalOperationCount; i++) { - dispatch_group_enter(group); - - NSString *desc = descs[i % descs.count]; - BOOL isNormalOperation = [desc isEqualToString:normalDesc]; - - NSString *identifier = desc; - if (isNormalOperation) { - identifier = [NSString stringWithFormat:@"%@ %tu", desc, i]; - } - - operationCount[desc] = @([operationCount[desc] intValue] + 1); - - PINOperationBlock operation = ^(id _Nullable data) { - @synchronized (self) { - operationRun[desc] = @([operationRun[desc] intValue] + 1); - } - }; - - dispatch_block_t completion = ^{ - @synchronized (self) { - operationComplete[desc] = @([operationComplete[desc] intValue] + 1); - } - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:identifier - coalescingData:nil - dataCoalescingBlock:nil - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); - XCTAssert([operationRun[normalDesc] intValue] == [operationCount[normalDesc] intValue]); - XCTAssert([operationComplete[normalDesc] intValue] == [operationCount[normalDesc] intValue]); - XCTAssert([operationRun[coallescedDesc] intValue] == 1); - XCTAssert([operationComplete[coallescedDesc] intValue] == [operationCount[coallescedDesc] intValue]); -} - -- (void)testCoalescingOperationCompletions -{ - dispatch_group_t group = dispatch_group_create(); - - NSArray *completionFlags = @[@(NO), @(NO), @(YES), @(NO), @(YES)]; - NSIndexSet *expectedCompletedIndexSet = [completionFlags indexesOfObjectsPassingTest:^BOOL(NSNumber * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { return [obj boolValue]; }]; - NSMutableIndexSet *completedIndexSet = [NSMutableIndexSet indexSet]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSUInteger i = 0; i < completionFlags.count; i++) { - dispatch_group_enter(group); - - PINOperationBlock operation = ^(id _Nullable data) { - for (NSNumber *hasCompletion in completionFlags) { - if ([hasCompletion boolValue] == NO) { - dispatch_group_leave(group); - } - } - }; - - dispatch_block_t completion = [completionFlags[i] boolValue] == NO ? nil : ^{ - XCTAssert([expectedCompletedIndexSet containsIndex:i]); - @synchronized (self) { - [completedIndexSet addIndex:i]; - } - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:@"Identifier" - coalescingData:nil - dataCoalescingBlock:nil - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); - XCTAssert([completedIndexSet isEqual:expectedCompletedIndexSet]); -} - -- (void)testCoalescingOperationData -{ - dispatch_group_t group = dispatch_group_create(); - - NSArray *dataset = @[@(100), @(50), @(50), @(100), @(10)]; - NSNumber *expectedData = [dataset sortedArrayUsingSelector:@selector(compare:)][0]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSNumber *data in dataset) { - dispatch_group_enter(group); - - PINOperationBlock operation = ^(id _Nullable obj) { - XCTAssert([expectedData compare:obj] == NSOrderedSame); - }; - - PINOperationDataCoalescingBlock dataCoalescingBlock = ^id(id existingData, id newData) { - NSComparisonResult result = [existingData compare:newData]; - return (result == NSOrderedDescending) ? newData : existingData; - }; - - dispatch_block_t completion = ^{ - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:@"Identifier" - coalescingData:data - dataCoalescingBlock:dataCoalescingBlock - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)testChangingMaximumNumberOfOperations -{ - PINOperationQueue *queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:2]; - [self helperConfirmMaxOperations:2 queue:queue]; - queue.maxConcurrentOperations = 4; - usleep(10000); - [self helperConfirmMaxOperations:4 queue:queue]; - queue.maxConcurrentOperations = 2; - usleep(10000); - [self helperConfirmMaxOperations:2 queue:queue]; -} - -@end diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_docs.sh b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_docs.sh deleted file mode 100755 index 8566ae2e..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_docs.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env sh - -appledoc \ - --company-id com.pinterest \ - --project-name PINOperation \ - --project-company Pinterest \ - --project-version 1.0 \ - --docset-min-xcode-version 4.3 \ - --docset-bundle-id %COMPANYID.%PROJECTID \ - --docset-bundle-name "%PROJECT %VERSION" \ - --docset-bundle-filename %COMPANYID.%PROJECTID-%VERSIONID.docset \ - --ignore "tests" \ - --ignore "docs" \ - --ignore "*.m" \ - --no-repeat-first-par \ - --explicit-crossref \ - --clean-output \ - --keep-intermediate-files \ - --output ./docs \ - . - -mv docs/docset docs/com.pinterest.PINOperation-1.0.docset -rm docs/docset-installed.txt diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_tests.sh b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_tests.sh deleted file mode 100755 index 93ccafe2..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_tests.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh - -# Have to specify destination because http://www.openradar.me/23857648 -xcodebuild ONLY_ACTIVE_ARCH=NO -project tests/PINOperation.xcodeproj -scheme PINOperationTests -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=latest' clean build test diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist deleted file mode 100644 index 3f0c2925..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - com.pinterest.PINOperationQueue - CFBundleName - PINOperationQueue 1.0 - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - - - - - DocSetFeedName - PINOperationQueue Documentation - - DocSetMinimumXcodeVersion - 4.3 - - DashDocSetFamily - appledoc - DocSetPublisherIdentifier - com.pinterest.documentation - DocSetPublisherName - Pinterest - NSHumanReadableCopyright - Copyright © 2017 Pinterest. All rights reserved. - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html deleted file mode 100644 index 810f085f..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -

PINOperationQueuePriority

- -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINOperationQueuePriority ) {
- -    PINOperationQueuePriorityLow,
- -    PINOperationQueuePriorityDefault,
- -    PINOperationQueuePriorityHigh,
- - };
- -
- -
-

Constants

-
- -
PINOperationQueuePriorityLow
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityDefault
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityHigh
-
- - -

- PINOperationQueue.h. -

- -
- -
-
- - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html deleted file mode 100644 index 9bd0aa1f..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html deleted file mode 100644 index fbc5d19d..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml deleted file mode 100644 index a824d9a5..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - PINOperationQueue - index.html - - - - - - - Protocols - index.html - - - - - - - - - Constants - index.html - - - - - - - - - Blocks - index.html - - - - - - - - - - - - - - - PINOperationReference - Protocols/PINOperationReference.html - - - - - PINOperationQueuePriority - Constants/PINOperationQueuePriority.html - - - - - PINOperationBlock - Blocks/PINOperationBlock.html - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml deleted file mode 100644 index 03332c47..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - //apple_ref/occ/intf/PINOperationReference - Cancels all queued operations - PINOperationQueue.h - - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml deleted file mode 100644 index b6618281..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINOperationQueuePriority - - PINOperationQueue.h - - - - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityLow - - PINOperationQueuePriorityLow - - PINOperationQueue.h - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityDefault - - PINOperationQueuePriorityDefault - - PINOperationQueue.h - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityHigh - - PINOperationQueuePriorityHigh - - PINOperationQueue.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx deleted file mode 100644 index cf3289f0..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm deleted file mode 100644 index c6022c76..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal deleted file mode 100644 index 4f824904..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom deleted file mode 100644 index 0503cfdd..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx deleted file mode 100644 index 99e1cd2b..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc deleted file mode 100644 index 2088a3ff..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache deleted file mode 100644 index 5118133e..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html deleted file mode 100644 index 810f085f..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -

PINOperationQueuePriority

- -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINOperationQueuePriority ) {
- -    PINOperationQueuePriorityLow,
- -    PINOperationQueuePriorityDefault,
- -    PINOperationQueuePriorityHigh,
- - };
- -
- -
-

Constants

-
- -
PINOperationQueuePriorityLow
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityDefault
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityHigh
-
- - -

- PINOperationQueue.h. -

- -
- -
-
- - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html deleted file mode 100644 index 9bd0aa1f..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/index.html b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/index.html deleted file mode 100644 index fbc5d19d..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/index.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/js/script.js b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/makefile b/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/makefile deleted file mode 100644 index 6cce01cc..00000000 --- a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/makefile +++ /dev/null @@ -1,27 +0,0 @@ -PLATFORM="platform=iOS Simulator,name=iPhone 7" -SDK="iphonesimulator" -SHELL=/bin/bash -o pipefail - -.PHONY: all lint test analyze carthage - -carthage: - carthage build --no-skip-current - -lint: - pod lib lint - -analyze: - xcodebuild clean analyze -destination ${PLATFORM} -sdk ${SDK} -project PINOperation.xcodeproj -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(shell pwd)/clang" | xcpretty - if [[ -n `find $(shell pwd)/clang -name "*.html"` ]] ; then rm -rf `pwd`/clang; exit 1; fi - rm -rf $(shell pwd)/clang - -test: - xcodebuild clean test -destination ${PLATFORM} -sdk ${SDK} -project PINOperation.xcodeproj -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO | xcpretty - -all: carthage lint test analyze \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/LICENSE.txt b/Carthage/Checkouts/PINCache/LICENSE.txt deleted file mode 100644 index 3af296ea..00000000 --- a/Carthage/Checkouts/PINCache/LICENSE.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [2013] [Tumblr, Inc.] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/Carthage/Checkouts/PINCache/Makefile b/Carthage/Checkouts/PINCache/Makefile deleted file mode 100644 index 30b505cd..00000000 --- a/Carthage/Checkouts/PINCache/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -PLATFORM="platform=iOS Simulator,name=iPhone 8" -SDK="iphonesimulator" -SHELL=/bin/bash -o pipefail - -.PHONY: all lint test carthage analyze - -lint: - pod lib lint - -analyze: - xcodebuild clean analyze -destination ${PLATFORM} -sdk ${SDK} -project PINCache.xcodeproj -scheme PINCache \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(shell pwd)/clang" | xcpretty - if [[ -n `find $(shell pwd)/clang -name "*.html"` ]] ; then rm -rf `pwd`/clang; exit 1; fi - rm -rf $(shell pwd)/clang - -test: - xcodebuild clean test -destination ${PLATFORM} -sdk ${SDK} -project PINCache.xcodeproj -scheme PINCache \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO | xcpretty - -carthage: - carthage update --no-use-binaries --no-build - carthage build --no-skip-current - -all: carthage lint test analyze diff --git a/Carthage/Checkouts/PINCache/PINCache.podspec b/Carthage/Checkouts/PINCache/PINCache.podspec deleted file mode 100644 index e1dc9cfb..00000000 --- a/Carthage/Checkouts/PINCache/PINCache.podspec +++ /dev/null @@ -1,32 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'PINCache' - s.version = '3.0.1' - s.homepage = 'https://github.com/pinterest/PINCache' - s.summary = 'Fast, thread safe, parallel object cache for iOS and OS X.' - s.authors = { 'Garrett Moon' => 'garrett@pinterest.com', 'Justin Ouellette' => 'jstn@tumblr.com' } - s.source = { :git => 'https://github.com/pinterest/PINCache.git', :tag => "#{s.version}" } - s.license = { :type => 'Apache 2.0', :file => 'LICENSE.txt' } - s.requires_arc = true - s.frameworks = 'Foundation' - s.ios.weak_frameworks = 'UIKit' - s.osx.weak_frameworks = 'AppKit' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.8' - s.tvos.deployment_target = '9.0' - s.watchos.deployment_target = '2.0' - pch_PIN = <<-EOS -#ifndef TARGET_OS_WATCH - #define TARGET_OS_WATCH 0 -#endif -EOS - s.prefix_header_contents = pch_PIN - s.subspec 'Core' do |sp| - sp.source_files = 'Source/*.{h,m}' - sp.dependency 'PINOperation', '~> 1.2.0' - end - s.subspec 'Arc-exception-safe' do |sp| - sp.dependency 'PINCache/Core' - sp.source_files = 'Source/PINDiskCache.m' - sp.compiler_flags = '-fobjc-arc-exceptions' - end -end diff --git a/Carthage/Checkouts/PINCache/PINCache.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINCache/PINCache.xcodeproj/project.pbxproj deleted file mode 100644 index e4d3d687..00000000 --- a/Carthage/Checkouts/PINCache/PINCache.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1322 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 320117C524444E3C004FD783 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 320117C624444E3D004FD783 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106051E271A9000890935 /* PINCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 320117C724444E3D004FD783 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106061E271A9000890935 /* PINCache.m */; }; - 320117C824444E3D004FD783 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 320117C924444E3D004FD783 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106081E271A9000890935 /* PINDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 320117CA24444E3D004FD783 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106091E271A9000890935 /* PINDiskCache.m */; }; - 320117CB24444E3D004FD783 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC01060A1E271A9000890935 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 320117CC24444E3D004FD783 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060B1E271A9000890935 /* PINMemoryCache.m */; }; - 320117CD24444E3D004FD783 /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6818C1491E55020400875DB7 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC0105CE1E271A4900890935 /* PINCache.framework */; }; - 6818C2881E55217D00875DB7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6818C2871E55217D00875DB7 /* PINOperation.framework */; }; - 6818C28A1E55218400875DB7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6818C2891E55218400875DB7 /* PINOperation.framework */; }; - 6818C28C1E55218A00875DB7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6818C28B1E55218A00875DB7 /* PINOperation.framework */; }; - 687BB0AA1E52706B005D70C6 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; - 68A0FC001E4D32C4000B552D /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68A0FC011E4D32C6000B552D /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68A0FC021E4D32C7000B552D /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6928EED31E4160EE00B5D975 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6928EED41E4160FE00B5D975 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6928EED51E41610700B5D975 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C30EE1F520373D1900D78CB9 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; - C30EE1F620373D1A00D78CB9 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; - C30EE1F720373D1B00D78CB9 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; - C38F01AA20A32E0200F47F0E /* PINDiskCache+PINCacheTests.h in Headers */ = {isa = PBXBuildFile; fileRef = C38F01A820A32E0200F47F0E /* PINDiskCache+PINCacheTests.h */; }; - C38F01AB20A32E0200F47F0E /* PINDiskCache+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */; }; - CC0105DF1E271A5C00890935 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC0105B11E271A1600890935 /* PINCache.framework */; }; - CC0105EE1E271A6400890935 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC0105C11E271A4000890935 /* PINCache.framework */; }; - CC01060E1E271A9500890935 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106061E271A9000890935 /* PINCache.m */; }; - CC01060F1E271A9500890935 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106091E271A9000890935 /* PINDiskCache.m */; }; - CC0106101E271A9500890935 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060B1E271A9000890935 /* PINMemoryCache.m */; }; - CC0106111E271A9600890935 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106061E271A9000890935 /* PINCache.m */; }; - CC0106121E271A9600890935 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106091E271A9000890935 /* PINDiskCache.m */; }; - CC0106131E271A9600890935 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060B1E271A9000890935 /* PINMemoryCache.m */; }; - CC0106141E271A9700890935 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106061E271A9000890935 /* PINCache.m */; }; - CC0106151E271A9700890935 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106091E271A9000890935 /* PINDiskCache.m */; }; - CC0106161E271A9700890935 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060B1E271A9000890935 /* PINMemoryCache.m */; }; - CC0106171E271AAF00890935 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106051E271A9000890935 /* PINCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106181E271AAF00890935 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106191E271AAF00890935 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106081E271A9000890935 /* PINDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061A1E271AAF00890935 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC01060A1E271A9000890935 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061B1E271AB000890935 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106051E271A9000890935 /* PINCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061C1E271AB000890935 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061D1E271AB000890935 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106081E271A9000890935 /* PINDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061E1E271AB000890935 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC01060A1E271A9000890935 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061F1E271AB000890935 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106051E271A9000890935 /* PINCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106201E271AB000890935 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106211E271AB000890935 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106081E271A9000890935 /* PINDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106221E271AB000890935 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC01060A1E271A9000890935 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106C61E28226900890935 /* PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060D1E271A9000890935 /* PINCacheTests.m */; }; - CC0106C71E28226A00890935 /* PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060D1E271A9000890935 /* PINCacheTests.m */; }; - CC0106C81E28226A00890935 /* PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060D1E271A9000890935 /* PINCacheTests.m */; }; - CC0106CD1E28249C00890935 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; - CC0106CE1E28249D00890935 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 320117AC24444DF7004FD783 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3201178C24444859004FD783; - remoteInfo = "PINOperation-watchOS"; - }; - 320117B424444E23004FD783 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 3201178B24444859004FD783; - remoteInfo = "PINOperation-watchOS"; - }; - 6818C2991E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC01052D1E27110D00890935; - remoteInfo = PINOperation; - }; - 6818C29B1E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105561E27116600890935; - remoteInfo = PINOperationTests; - }; - 6818C29D1E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC01053D1E27113700890935; - remoteInfo = "PINOperation-tvOS"; - }; - 6818C29F1E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105651E27117300890935; - remoteInfo = "PINOperation-tvOSTests"; - }; - 6818C2A11E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC01054A1E27114300890935; - remoteInfo = "PINOperation-macOS"; - }; - 6818C2A31E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105741E27117F00890935; - remoteInfo = "PINOperation-macOSTests"; - }; - 6818C2A51E564C2000875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = CC01052C1E27110D00890935; - remoteInfo = PINOperation; - }; - 6818C2A71E564C2A00875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = CC01053C1E27113700890935; - remoteInfo = "PINOperation-tvOS"; - }; - 6818C2A91E564C2F00875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = CC0105491E27114300890935; - remoteInfo = "PINOperation-macOS"; - }; - CC0105E01E271A5C00890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105A81E271A1600890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC0105B01E271A1600890935; - remoteInfo = PINCache; - }; - CC0105EF1E271A6400890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105A81E271A1600890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC0105C01E271A4000890935; - remoteInfo = "PINCache-tvOS"; - }; - CC0105FE1E271A7300890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105A81E271A1600890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC0105CD1E271A4900890935; - remoteInfo = "PINCache-macOS"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 687BB55C1E52818B005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 687BB55E1E52819D005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 687BB5601E52881A005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 320117A124444DF7004FD783 /* PINCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6818C2871E55217D00875DB7 /* PINOperation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PINOperation.framework; path = "../../Library/Developer/Xcode/DerivedData/PINCache-cxjnintatqynfgceozwzgezmeypl/Build/Products/Debug-iphonesimulator/PINOperation.framework"; sourceTree = ""; }; - 6818C2891E55218400875DB7 /* PINOperation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PINOperation.framework; path = "../../Library/Developer/Xcode/DerivedData/PINCache-cxjnintatqynfgceozwzgezmeypl/Build/Products/Debug-appletvsimulator/PINOperation.framework"; sourceTree = ""; }; - 6818C28B1E55218A00875DB7 /* PINOperation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PINOperation.framework; path = Carthage/Checkouts/PINOperation/build/Debug/PINOperation.framework; sourceTree = ""; }; - 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = PINOperation.xcodeproj; path = Carthage/Checkouts/PINOperation/PINOperation.xcodeproj; sourceTree = ""; }; - 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCacheMacros.h; sourceTree = ""; }; - 6928EED21E4160EE00B5D975 /* PINCaching.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINCaching.h; sourceTree = ""; }; - C30EE1E9203717DE00D78CB9 /* NSDate+PINCacheTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSDate+PINCacheTests.h"; sourceTree = ""; }; - C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSDate+PINCacheTests.m"; sourceTree = ""; }; - C38F01A820A32E0200F47F0E /* PINDiskCache+PINCacheTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PINDiskCache+PINCacheTests.h"; sourceTree = ""; }; - C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "PINDiskCache+PINCacheTests.m"; sourceTree = ""; }; - CC0105B11E271A1600890935 /* PINCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105C11E271A4000890935 /* PINCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105CE1E271A4900890935 /* PINCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105DA1E271A5C00890935 /* PINCacheTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PINCacheTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105E91E271A6400890935 /* PINCache-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINCache-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105F81E271A7300890935 /* PINCache-macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINCache-macOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0106051E271A9000890935 /* PINCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCache.h; sourceTree = ""; }; - CC0106061E271A9000890935 /* PINCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINCache.m; sourceTree = ""; }; - CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCacheObjectSubscripting.h; sourceTree = ""; }; - CC0106081E271A9000890935 /* PINDiskCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINDiskCache.h; sourceTree = ""; }; - CC0106091E271A9000890935 /* PINDiskCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINDiskCache.m; sourceTree = ""; }; - CC01060A1E271A9000890935 /* PINMemoryCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINMemoryCache.h; sourceTree = ""; }; - CC01060B1E271A9000890935 /* PINMemoryCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINMemoryCache.m; sourceTree = ""; }; - CC01060D1E271A9000890935 /* PINCacheTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINCacheTests.m; sourceTree = ""; }; - CC0106441E281B0E00890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CC0106C51E281D6900890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CC0106C91E28228300890935 /* PINCacheTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCacheTests.h; sourceTree = ""; }; - CC0106CA1E28248800890935 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 3201179E24444DF7004FD783 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105AD1E271A1600890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105BD1E271A4000890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105CA1E271A4900890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105D71E271A5C00890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6818C2881E55217D00875DB7 /* PINOperation.framework in Frameworks */, - CC0105DF1E271A5C00890935 /* PINCache.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105E61E271A6400890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6818C28A1E55218400875DB7 /* PINOperation.framework in Frameworks */, - CC0105EE1E271A6400890935 /* PINCache.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105F51E271A7300890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6818C28C1E55218A00875DB7 /* PINOperation.framework in Frameworks */, - 6818C1491E55020400875DB7 /* PINCache.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 6818C2861E55217D00875DB7 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 6818C28B1E55218A00875DB7 /* PINOperation.framework */, - 6818C2891E55218400875DB7 /* PINOperation.framework */, - 6818C2871E55217D00875DB7 /* PINOperation.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 6818C2911E564C1100875DB7 /* Products */ = { - isa = PBXGroup; - children = ( - 6818C29A1E564C1100875DB7 /* PINOperation.framework */, - 6818C29C1E564C1100875DB7 /* PINOperationTests.xctest */, - 6818C29E1E564C1100875DB7 /* PINOperation.framework */, - 6818C2A01E564C1100875DB7 /* PINOperation-tvOSTests.xctest */, - 6818C2A21E564C1100875DB7 /* PINOperation.framework */, - 6818C2A41E564C1100875DB7 /* PINOperation-macOSTests.xctest */, - 320117AD24444DF7004FD783 /* PINOperation.framework */, - ); - name = Products; - sourceTree = ""; - }; - CC0105A71E271A1600890935 = { - isa = PBXGroup; - children = ( - 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */, - CC0106031E271A9000890935 /* Source */, - CC01060C1E271A9000890935 /* Tests */, - CC0105B21E271A1600890935 /* Products */, - 6818C2861E55217D00875DB7 /* Frameworks */, - ); - sourceTree = ""; - }; - CC0105B21E271A1600890935 /* Products */ = { - isa = PBXGroup; - children = ( - CC0105B11E271A1600890935 /* PINCache.framework */, - CC0105C11E271A4000890935 /* PINCache.framework */, - CC0105CE1E271A4900890935 /* PINCache.framework */, - CC0105DA1E271A5C00890935 /* PINCacheTests.xctest */, - CC0105E91E271A6400890935 /* PINCache-tvOSTests.xctest */, - CC0105F81E271A7300890935 /* PINCache-macOSTests.xctest */, - 320117A124444DF7004FD783 /* PINCache.framework */, - ); - name = Products; - sourceTree = ""; - }; - CC0106031E271A9000890935 /* Source */ = { - isa = PBXGroup; - children = ( - CC0106441E281B0E00890935 /* Info.plist */, - 6928EED21E4160EE00B5D975 /* PINCaching.h */, - CC0106051E271A9000890935 /* PINCache.h */, - CC0106061E271A9000890935 /* PINCache.m */, - CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */, - CC0106081E271A9000890935 /* PINDiskCache.h */, - CC0106091E271A9000890935 /* PINDiskCache.m */, - CC01060A1E271A9000890935 /* PINMemoryCache.h */, - CC01060B1E271A9000890935 /* PINMemoryCache.m */, - 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */, - ); - path = Source; - sourceTree = ""; - }; - CC01060C1E271A9000890935 /* Tests */ = { - isa = PBXGroup; - children = ( - CC0106CB1E28248A00890935 /* Assets */, - CC0106C51E281D6900890935 /* Info.plist */, - C30EE1E9203717DE00D78CB9 /* NSDate+PINCacheTests.h */, - C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */, - CC0106C91E28228300890935 /* PINCacheTests.h */, - CC01060D1E271A9000890935 /* PINCacheTests.m */, - C38F01A820A32E0200F47F0E /* PINDiskCache+PINCacheTests.h */, - C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */, - ); - path = Tests; - sourceTree = ""; - }; - CC0106CB1E28248A00890935 /* Assets */ = { - isa = PBXGroup; - children = ( - CC0106CA1E28248800890935 /* Default-568h@2x.png */, - ); - name = Assets; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 3201179C24444DF7004FD783 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 320117CB24444E3D004FD783 /* PINMemoryCache.h in Headers */, - 320117C624444E3D004FD783 /* PINCache.h in Headers */, - 320117C824444E3D004FD783 /* PINCacheObjectSubscripting.h in Headers */, - 320117CD24444E3D004FD783 /* PINCacheMacros.h in Headers */, - 320117C924444E3D004FD783 /* PINDiskCache.h in Headers */, - 320117C524444E3C004FD783 /* PINCaching.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105AE1E271A1600890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 6928EED31E4160EE00B5D975 /* PINCaching.h in Headers */, - CC0106171E271AAF00890935 /* PINCache.h in Headers */, - 68A0FC001E4D32C4000B552D /* PINCacheMacros.h in Headers */, - CC0106181E271AAF00890935 /* PINCacheObjectSubscripting.h in Headers */, - CC01061A1E271AAF00890935 /* PINMemoryCache.h in Headers */, - C38F01AA20A32E0200F47F0E /* PINDiskCache+PINCacheTests.h in Headers */, - CC0106191E271AAF00890935 /* PINDiskCache.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105BE1E271A4000890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 6928EED41E4160FE00B5D975 /* PINCaching.h in Headers */, - CC01061B1E271AB000890935 /* PINCache.h in Headers */, - 68A0FC011E4D32C6000B552D /* PINCacheMacros.h in Headers */, - CC01061C1E271AB000890935 /* PINCacheObjectSubscripting.h in Headers */, - CC01061E1E271AB000890935 /* PINMemoryCache.h in Headers */, - CC01061D1E271AB000890935 /* PINDiskCache.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105CB1E271A4900890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 6928EED51E41610700B5D975 /* PINCaching.h in Headers */, - CC01061F1E271AB000890935 /* PINCache.h in Headers */, - 68A0FC021E4D32C7000B552D /* PINCacheMacros.h in Headers */, - CC0106201E271AB000890935 /* PINCacheObjectSubscripting.h in Headers */, - CC0106221E271AB000890935 /* PINMemoryCache.h in Headers */, - CC0106211E271AB000890935 /* PINDiskCache.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 320117A024444DF7004FD783 /* PINCache-watchOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 320117AE24444DF7004FD783 /* Build configuration list for PBXNativeTarget "PINCache-watchOS" */; - buildPhases = ( - 3201179D24444DF7004FD783 /* Sources */, - 3201179E24444DF7004FD783 /* Frameworks */, - 3201179C24444DF7004FD783 /* Headers */, - 3201179F24444DF7004FD783 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 320117B524444E23004FD783 /* PBXTargetDependency */, - ); - name = "PINCache-watchOS"; - productName = "PINCache-watchOS"; - productReference = 320117A124444DF7004FD783 /* PINCache.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105B01E271A1600890935 /* PINCache */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105B91E271A1600890935 /* Build configuration list for PBXNativeTarget "PINCache" */; - buildPhases = ( - CC0105AC1E271A1600890935 /* Sources */, - CC0105AD1E271A1600890935 /* Frameworks */, - CC0105AE1E271A1600890935 /* Headers */, - CC0105AF1E271A1600890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 6818C2A61E564C2000875DB7 /* PBXTargetDependency */, - ); - name = PINCache; - productName = PINCache; - productReference = CC0105B11E271A1600890935 /* PINCache.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105C01E271A4000890935 /* PINCache-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105C61E271A4000890935 /* Build configuration list for PBXNativeTarget "PINCache-tvOS" */; - buildPhases = ( - CC0105BC1E271A4000890935 /* Sources */, - CC0105BD1E271A4000890935 /* Frameworks */, - CC0105BE1E271A4000890935 /* Headers */, - CC0105BF1E271A4000890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 6818C2A81E564C2A00875DB7 /* PBXTargetDependency */, - ); - name = "PINCache-tvOS"; - productName = "PINCache-tvOS"; - productReference = CC0105C11E271A4000890935 /* PINCache.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105CD1E271A4900890935 /* PINCache-macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105D31E271A4900890935 /* Build configuration list for PBXNativeTarget "PINCache-macOS" */; - buildPhases = ( - CC0105C91E271A4900890935 /* Sources */, - CC0105CA1E271A4900890935 /* Frameworks */, - CC0105CB1E271A4900890935 /* Headers */, - CC0105CC1E271A4900890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 6818C2AA1E564C2F00875DB7 /* PBXTargetDependency */, - ); - name = "PINCache-macOS"; - productName = "PINCache-macOS"; - productReference = CC0105CE1E271A4900890935 /* PINCache.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105D91E271A5C00890935 /* PINCacheTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105E21E271A5C00890935 /* Build configuration list for PBXNativeTarget "PINCacheTests" */; - buildPhases = ( - CC0105D61E271A5C00890935 /* Sources */, - CC0105D71E271A5C00890935 /* Frameworks */, - CC0105D81E271A5C00890935 /* Resources */, - 687BB5601E52881A005D70C6 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - CC0105E11E271A5C00890935 /* PBXTargetDependency */, - ); - name = PINCacheTests; - productName = PINCacheTests; - productReference = CC0105DA1E271A5C00890935 /* PINCacheTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105E81E271A6400890935 /* PINCache-tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105F11E271A6400890935 /* Build configuration list for PBXNativeTarget "PINCache-tvOSTests" */; - buildPhases = ( - CC0105E51E271A6400890935 /* Sources */, - CC0105E61E271A6400890935 /* Frameworks */, - CC0105E71E271A6400890935 /* Resources */, - 687BB55C1E52818B005D70C6 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - CC0105F01E271A6400890935 /* PBXTargetDependency */, - ); - name = "PINCache-tvOSTests"; - productName = "PINCache-tvOSTests"; - productReference = CC0105E91E271A6400890935 /* PINCache-tvOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105F71E271A7300890935 /* PINCache-macOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0106001E271A7300890935 /* Build configuration list for PBXNativeTarget "PINCache-macOSTests" */; - buildPhases = ( - CC0105F41E271A7300890935 /* Sources */, - CC0105F51E271A7300890935 /* Frameworks */, - CC0105F61E271A7300890935 /* Resources */, - 687BB55E1E52819D005D70C6 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - CC0105FF1E271A7300890935 /* PBXTargetDependency */, - ); - name = "PINCache-macOSTests"; - productName = "PINCache-macOSTests"; - productReference = CC0105F81E271A7300890935 /* PINCache-macOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - CC0105A81E271A1600890935 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0930; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 320117A024444DF7004FD783 = { - CreatedOnToolsVersion = 11.4; - ProvisioningStyle = Automatic; - }; - CC0105B01E271A1600890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105C01E271A4000890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105CD1E271A4900890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105D91E271A5C00890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105E81E271A6400890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105F71E271A7300890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = CC0105AB1E271A1600890935 /* Build configuration list for PBXProject "PINCache" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - ); - mainGroup = CC0105A71E271A1600890935; - productRefGroup = CC0105B21E271A1600890935 /* Products */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 6818C2911E564C1100875DB7 /* Products */; - ProjectRef = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - CC0105B01E271A1600890935 /* PINCache */, - CC0105D91E271A5C00890935 /* PINCacheTests */, - CC0105C01E271A4000890935 /* PINCache-tvOS */, - CC0105E81E271A6400890935 /* PINCache-tvOSTests */, - CC0105CD1E271A4900890935 /* PINCache-macOS */, - CC0105F71E271A7300890935 /* PINCache-macOSTests */, - 320117A024444DF7004FD783 /* PINCache-watchOS */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - 320117AD24444DF7004FD783 /* PINOperation.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINOperation.framework; - remoteRef = 320117AC24444DF7004FD783 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C29A1E564C1100875DB7 /* PINOperation.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINOperation.framework; - remoteRef = 6818C2991E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C29C1E564C1100875DB7 /* PINOperationTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = PINOperationTests.xctest; - remoteRef = 6818C29B1E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C29E1E564C1100875DB7 /* PINOperation.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINOperation.framework; - remoteRef = 6818C29D1E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2A01E564C1100875DB7 /* PINOperation-tvOSTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "PINOperation-tvOSTests.xctest"; - remoteRef = 6818C29F1E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2A21E564C1100875DB7 /* PINOperation.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINOperation.framework; - remoteRef = 6818C2A11E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2A41E564C1100875DB7 /* PINOperation-macOSTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "PINOperation-macOSTests.xctest"; - remoteRef = 6818C2A31E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 3201179F24444DF7004FD783 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105AF1E271A1600890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105BF1E271A4000890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105CC1E271A4900890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105D81E271A5C00890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 687BB0AA1E52706B005D70C6 /* Default-568h@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105E71E271A6400890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106CD1E28249C00890935 /* Default-568h@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105F61E271A7300890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106CE1E28249D00890935 /* Default-568h@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 3201179D24444DF7004FD783 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 320117C724444E3D004FD783 /* PINCache.m in Sources */, - 320117CC24444E3D004FD783 /* PINMemoryCache.m in Sources */, - 320117CA24444E3D004FD783 /* PINDiskCache.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105AC1E271A1600890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01060E1E271A9500890935 /* PINCache.m in Sources */, - CC0106101E271A9500890935 /* PINMemoryCache.m in Sources */, - C38F01AB20A32E0200F47F0E /* PINDiskCache+PINCacheTests.m in Sources */, - CC01060F1E271A9500890935 /* PINDiskCache.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105BC1E271A4000890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106111E271A9600890935 /* PINCache.m in Sources */, - CC0106131E271A9600890935 /* PINMemoryCache.m in Sources */, - CC0106121E271A9600890935 /* PINDiskCache.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105C91E271A4900890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106141E271A9700890935 /* PINCache.m in Sources */, - CC0106161E271A9700890935 /* PINMemoryCache.m in Sources */, - CC0106151E271A9700890935 /* PINDiskCache.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105D61E271A5C00890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106C61E28226900890935 /* PINCacheTests.m in Sources */, - C30EE1F520373D1900D78CB9 /* NSDate+PINCacheTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105E51E271A6400890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106C71E28226A00890935 /* PINCacheTests.m in Sources */, - C30EE1F620373D1A00D78CB9 /* NSDate+PINCacheTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105F41E271A7300890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106C81E28226A00890935 /* PINCacheTests.m in Sources */, - C30EE1F720373D1B00D78CB9 /* NSDate+PINCacheTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 320117B524444E23004FD783 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "PINOperation-watchOS"; - targetProxy = 320117B424444E23004FD783 /* PBXContainerItemProxy */; - }; - 6818C2A61E564C2000875DB7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = PINOperation; - targetProxy = 6818C2A51E564C2000875DB7 /* PBXContainerItemProxy */; - }; - 6818C2A81E564C2A00875DB7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "PINOperation-tvOS"; - targetProxy = 6818C2A71E564C2A00875DB7 /* PBXContainerItemProxy */; - }; - 6818C2AA1E564C2F00875DB7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "PINOperation-macOS"; - targetProxy = 6818C2A91E564C2F00875DB7 /* PBXContainerItemProxy */; - }; - CC0105E11E271A5C00890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC0105B01E271A1600890935 /* PINCache */; - targetProxy = CC0105E01E271A5C00890935 /* PBXContainerItemProxy */; - }; - CC0105F01E271A6400890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC0105C01E271A4000890935 /* PINCache-tvOS */; - targetProxy = CC0105EF1E271A6400890935 /* PBXContainerItemProxy */; - }; - CC0105FF1E271A7300890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC0105CD1E271A4900890935 /* PINCache-macOS */; - targetProxy = CC0105FE1E271A7300890935 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 320117A624444DF7004FD783 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Debug; - }; - 320117A724444DF7004FD783 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Release; - }; - CC0105B71E271A1600890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.7; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - CC0105B81E271A1600890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.7; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - CC0105BA1E271A1600890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = YES; - }; - name = Debug; - }; - CC0105BB1E271A1600890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = YES; - }; - name = Release; - }; - CC0105C71E271A4000890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - CC0105C81E271A4000890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Release; - }; - CC0105D41E271A4900890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CC0105D51E271A4900890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CC0105E31E271A5C00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCacheTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - CC0105E41E271A5C00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCacheTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - CC0105F21E271A6400890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINCache-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - CC0105F31E271A6400890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINCache-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - CC0106011E271A7300890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Checkouts/PINOperation/build/Debug", - ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINCache-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Debug; - }; - CC0106021E271A7300890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Checkouts/PINOperation/build/Debug", - ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINCache-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 320117AE24444DF7004FD783 /* Build configuration list for PBXNativeTarget "PINCache-watchOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 320117A624444DF7004FD783 /* Debug */, - 320117A724444DF7004FD783 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105AB1E271A1600890935 /* Build configuration list for PBXProject "PINCache" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105B71E271A1600890935 /* Debug */, - CC0105B81E271A1600890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105B91E271A1600890935 /* Build configuration list for PBXNativeTarget "PINCache" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105BA1E271A1600890935 /* Debug */, - CC0105BB1E271A1600890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105C61E271A4000890935 /* Build configuration list for PBXNativeTarget "PINCache-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105C71E271A4000890935 /* Debug */, - CC0105C81E271A4000890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105D31E271A4900890935 /* Build configuration list for PBXNativeTarget "PINCache-macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105D41E271A4900890935 /* Debug */, - CC0105D51E271A4900890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105E21E271A5C00890935 /* Build configuration list for PBXNativeTarget "PINCacheTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105E31E271A5C00890935 /* Debug */, - CC0105E41E271A5C00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105F11E271A6400890935 /* Build configuration list for PBXNativeTarget "PINCache-tvOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105F21E271A6400890935 /* Debug */, - CC0105F31E271A6400890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0106001E271A7300890935 /* Build configuration list for PBXNativeTarget "PINCache-macOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0106011E271A7300890935 /* Debug */, - CC0106021E271A7300890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = CC0105A81E271A1600890935 /* Project object */; -} diff --git a/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-macOS.xcscheme b/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-macOS.xcscheme deleted file mode 100644 index 4dfc852e..00000000 --- a/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-macOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-tvOS.xcscheme b/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-tvOS.xcscheme deleted file mode 100644 index 97182174..00000000 --- a/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-tvOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-watchOS.xcscheme b/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-watchOS.xcscheme deleted file mode 100644 index 9b9c8426..00000000 --- a/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-watchOS.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache.xcscheme b/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache.xcscheme deleted file mode 100644 index 859e24de..00000000 --- a/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINCache/README.md b/Carthage/Checkouts/PINCache/README.md deleted file mode 100644 index aa81564a..00000000 --- a/Carthage/Checkouts/PINCache/README.md +++ /dev/null @@ -1,98 +0,0 @@ -# PINCache - -[![CocoaPods](https://img.shields.io/cocoapods/v/PINCache.svg)](http://cocoadocs.org/docsets/PINCache/) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Build status](https://github.com/pinterest/PINCache/workflows/CI/badge.svg)](https://github.com/pinterest/PINCache/actions?query=workflow%3ACI+branch%3Amaster) - -## Fast, non-deadlocking parallel object cache for iOS and OS X. - -[PINCache](Source/PINCache.h) is a fork of [TMCache](https://github.com/tumblr/TMCache) re-architected to fix issues with deadlocking caused by heavy use. It is a key/value store designed for persisting temporary objects that are expensive to reproduce, such as downloaded data or the results of slow processing. It is comprised of two self-similar stores, one in memory ([PINMemoryCache](Source/PINMemoryCache.h)) and one on disk ([PINDiskCache](Source/PINDiskCache.h)), all backed by GCD and safe to access from multiple threads simultaneously. On iOS, `PINMemoryCache` will clear itself when the app receives a memory warning or goes into the background. Objects stored in `PINDiskCache` remain until you trim the cache yourself, either manually or by setting a byte or age limit. - -`PINCache` and `PINDiskCache` accept any object conforming to [NSCoding](https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSCoding_Protocol/Reference/Reference.html). Put things in like this: - -**Objective-C** -```objective-c -UIImage *img = [[UIImage alloc] initWithData:data scale:[[UIScreen mainScreen] scale]]; -[[PINCache sharedCache] setObject:img forKey:@"image" block:nil]; // returns immediately -``` -**Swift** -```swift -let img = UIImage(data: data, scale:UIScreen.main.scale) -PINCache.shared().setObject(img, forKey: "img") -``` - -Get them back out like this: - -**Objective-C** -```objc -[[PINCache sharedCache] objectForKeyAsync:@"image" block:^(PINCache *cache, NSString *key, id object) { - UIImage *image = (UIImage *)object; - NSLog(@"image scale: %f", image.scale); -}]; -``` -**Swift** -```swift -PINCache.shared().object(forKey: "image") { (cache, key, object) in - if let image = object as? UIImage { - print("image scale: %f", image.scale) - } -} -``` - -Both `PINMemoryCache` and `PINDiskCache` use locks to protect reads and writes. `PINCache` coordinates them so that objects added to memory are available immediately to other threads while being written to disk safely in the background. Both caches are public properties of `PINCache`, so it's easy to manipulate one or the other separately if necessary. - -Collections work too. Thanks to the magic of `NSKeyedArchiver`, objects repeated in a collection only occupy the space of one on disk: - -**Objective-C** -```objective-c -NSArray *images = @[ image, image, image ]; -[[PINCache sharedCache] setObject:images forKey:@"images"]; -NSLog(@"3 for the price of 1: %d", [[[PINCache sharedCache] diskCache] byteCount]); -``` -**Swift** -```swift -// In Swift, Array, String, and Dictionary are all value types. -let images = [image, image, image] as NSArray // Cast to NSArray -PINCache.shared.setObject(images, forKey: "images") -print("3 for the prices of 1: %d", PINCache.shared.diskCache.byteCount) -``` - -## Installation - -### Manually - -[Download the latest tag](https://github.com/pinterest/PINCache/tags) and drag the `PINCache` folder into your Xcode project. - -Install the docs by double clicking the `.docset` file under `docs/`, or view them online at [cocoadocs.org](http://cocoadocs.org/docsets/PINCache/) - -### Git Submodule - - git submodule add https://github.com/pinterest/PINCache.git - git submodule update --init - -### CocoaPods - -Add [PINCache](http://cocoapods.org/?q=name%3APINCache) to your `Podfile` and run `pod install`. - -### Carthage - -Add the following line to your `Cartfile` and run `carthage update --platform ios`. Then follow [this instruction of Carthage](https://github.com/carthage/carthage#adding-frameworks-to-unit-tests-or-a-framework) to embed the framework. - -```github "pinterest/PINCache"``` - -## Requirements - -__PINCache__ requires iOS 8.0, tvOS 9.0, watchOS 2.0 or macOS 10.8 and greater. - -## Contact - -[Garrett Moon](mailto:garrett@pinterest.com) - -## License - -Copyright 2013 Tumblr, Inc. -Copyright 2015 Pinterest, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. [See the License](LICENSE.txt) for the specific language governing permissions and limitations under the License. diff --git a/Carthage/Checkouts/PINCache/RELEASE.md b/Carthage/Checkouts/PINCache/RELEASE.md deleted file mode 100644 index 6e86b11c..00000000 --- a/Carthage/Checkouts/PINCache/RELEASE.md +++ /dev/null @@ -1,13 +0,0 @@ -# Release Process -This document describes the process for a public PINCache release. - -### Preparation -- Install [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator): `sudo gem install github_changelog_generator` -- Generate a GitHub Personal Access Token to prevent running into public GitHub API rate limits: https://github.com/github-changelog-generator/github-changelog-generator#github-token - -### Process -- Run `github_changelog_generator` in PINCache project directory: `github_changelog_generator --token --user Pinterest --project PINCache`. To avoid hitting rate limit, the generator will replace the entire file with just the changes from this version – revert that giant deletion to get the entire new changelog. -- Update `spec.version` within `PINCache.podspec` and the `since-tag` and `future-release` fields in `.github_changelog_generator`. -- Create a new PR with the updated `PINCache.podspec` and the newly generated changelog, add `#changelog` to the PR message so the CI will not prevent merging it. -- After merging in the PR, [create a new GitHub release](https://github.com/Pinterest/PINCache/releases/new). Use the generated changelog for the new release. -- Push to Cocoapods with `pod trunk push` diff --git a/Carthage/Checkouts/PINCache/Source/Info.plist b/Carthage/Checkouts/PINCache/Source/Info.plist deleted file mode 100644 index faedaa13..00000000 --- a/Carthage/Checkouts/PINCache/Source/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - Copyright © 2017 Pinterest. All rights reserved. - NSPrincipalClass - - - diff --git a/Carthage/Checkouts/PINCache/Source/PINCache.h b/Carthage/Checkouts/PINCache/Source/PINCache.h deleted file mode 100644 index 7ddec1c6..00000000 --- a/Carthage/Checkouts/PINCache/Source/PINCache.h +++ /dev/null @@ -1,164 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import - -#import -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -@class PINCache; - - -/** - `PINCache` is a thread safe key/value store designed for persisting temporary objects that are expensive to - reproduce, such as downloaded data or the results of slow processing. It is comprised of two self-similar - stores, one in memory () and one on disk (). - - `PINCache` itself actually does very little; its main function is providing a front end for a common use case: - a small, fast memory cache that asynchronously persists itself to a large, slow disk cache. When objects are - removed from the memory cache in response to an "apocalyptic" event they remain in the disk cache and are - repopulated in memory the next time they are accessed. `PINCache` also does the tedious work of creating a - dispatch group to wait for both caches to finish their operations without blocking each other. - - The parallel caches are accessible as public properties ( and ) and can be manipulated - separately if necessary. See the docs for and for more details. - - @warning when using in extension or watch extension, define PIN_APP_EXTENSIONS=1 - */ - -PIN_SUBCLASSING_RESTRICTED -@interface PINCache : NSObject - -#pragma mark - -/// @name Core - -/** - Synchronously retrieves the total byte count of the on the shared disk queue. - */ -@property (readonly) NSUInteger diskByteCount; - -/** - The underlying disk cache, see for additional configuration and trimming options. - */ -@property (readonly) PINDiskCache *diskCache; - -/** - The underlying memory cache, see for additional configuration and trimming options. - */ -@property (readonly) PINMemoryCache *memoryCache; - -#pragma mark - Lifecycle -/// @name Initialization - -/** - A shared cache. - - @result The shared singleton cache instance. - */ -@property (class, strong, readonly) PINCache *sharedCache; - -- (instancetype)init NS_UNAVAILABLE; - -/** - Multiple instances with the same name are *not* allowed and can *not* safely - access the same data on disk. Also used to create the . - - @see name - @param name The name of the cache. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name; - -/** - Multiple instances with the same name are *not* allowed and can *not* safely - access the same data on disk. Also used to create the . - - @see name - @param name The name of the cache. - @param rootPath The path of the cache on disk. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name rootPath:(nonnull NSString *)rootPath; - -/** - Multiple instances with the same name are *not* allowed and can *not* safely - access the same data on disk.. Also used to create the . - Initializer allows you to override default NSKeyedArchiver/NSKeyedUnarchiver serialization for . - You must provide both serializer and deserializer, or opt-out to default implementation providing nil values. - - @see name - @param name The name of the cache. - @param rootPath The path of the cache on disk. - @param serializer A block used to serialize object before writing to disk. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object read from disk. If nil provided, default NSKeyedUnarchiver serialized will be used. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(NSString *)name - rootPath:(NSString *)rootPath - serializer:(nullable PINDiskCacheSerializerBlock)serializer - deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer; - -/** - Multiple instances with the same name are *not* allowed and can *not* safely - access the same data on disk. Also used to create the . - Initializer allows you to override default NSKeyedArchiver/NSKeyedUnarchiver serialization for . - You must provide both serializer and deserializer, or opt-out to default implementation providing nil values. - - @see name - @param name The name of the cache. - @param rootPath The path of the cache on disk. - @param serializer A block used to serialize object before writing to disk. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object read from disk. If nil provided, default NSKeyedUnarchiver serialized will be used. - @param keyEncoder A block used to encode key(filename). If nil provided, default url encoder will be used - @param keyDecoder A block used to decode key(filename). If nil provided, default url decoder will be used - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name - rootPath:(nonnull NSString *)rootPath - serializer:(nullable PINDiskCacheSerializerBlock)serializer - deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(nullable PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(nullable PINDiskCacheKeyDecoderBlock)keyDecoder; - -/** - Multiple instances with the same name are *not* allowed and can *not* safely - access the same data on disk. Also used to create the . - Initializer allows you to override default NSKeyedArchiver/NSKeyedUnarchiver serialization for . - You must provide both serializer and deserializer, or opt-out to default implementation providing nil values. - - @see name - @param name The name of the cache. - @param rootPath The path of the cache on disk. - @param serializer A block used to serialize object before writing to disk. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object read from disk. If nil provided, default NSKeyedUnarchiver serialized will be used. - @param keyEncoder A block used to encode key(filename). If nil provided, default url encoder will be used - @param keyDecoder A block used to decode key(filename). If nil provided, default url decoder will be used - @param ttlCache Whether or not the cache should behave as a TTL cache. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name - rootPath:(nonnull NSString *)rootPath - serializer:(nullable PINDiskCacheSerializerBlock)serializer - deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(nullable PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(nullable PINDiskCacheKeyDecoderBlock)keyDecoder - ttlCache:(BOOL)ttlCache NS_DESIGNATED_INITIALIZER; - -@end - -@interface PINCache (Deprecated) -- (void)containsObjectForKey:(NSString *)key block:(PINCacheObjectContainmentBlock)block __attribute__((deprecated)); -- (void)objectForKey:(NSString *)key block:(PINCacheObjectBlock)block __attribute__((deprecated)); -- (void)setObject:(id )object forKey:(NSString *)key block:(nullable PINCacheObjectBlock)block __attribute__((deprecated)); -- (void)setObject:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost block:(nullable PINCacheObjectBlock)block __attribute__((deprecated)); -- (void)removeObjectForKey:(NSString *)key block:(nullable PINCacheObjectBlock)block __attribute__((deprecated)); -- (void)trimToDate:(NSDate *)date block:(nullable PINCacheBlock)block __attribute__((deprecated)); -- (void)removeAllObjects:(nullable PINCacheBlock)block __attribute__((deprecated)); -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINCache/Source/PINCache.m b/Carthage/Checkouts/PINCache/Source/PINCache.m deleted file mode 100644 index f574e0c0..00000000 --- a/Carthage/Checkouts/PINCache/Source/PINCache.m +++ /dev/null @@ -1,416 +0,0 @@ -// PINCache is a modified version of PINCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import "PINCache.h" - -#import - -static NSString * const PINCachePrefix = @"com.pinterest.PINCache"; -static NSString * const PINCacheSharedName = @"PINCacheShared"; - -@interface PINCache () -@property (copy, nonatomic) NSString *name; -@property (strong, nonatomic) PINOperationQueue *operationQueue; -@end - -@implementation PINCache - -#pragma mark - Initialization - - -- (instancetype)init -{ - @throw [NSException exceptionWithName:@"Must initialize with a name" reason:@"PINCache must be initialized with a name. Call initWithName: instead." userInfo:nil]; - return [self initWithName:@""]; -} - -- (instancetype)initWithName:(NSString *)name -{ - return [self initWithName:name rootPath:[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]]; -} - -- (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath -{ - return [self initWithName:name rootPath:rootPath serializer:nil deserializer:nil]; -} - -- (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath serializer:(PINDiskCacheSerializerBlock)serializer deserializer:(PINDiskCacheDeserializerBlock)deserializer { - return [self initWithName:name rootPath:rootPath serializer:serializer deserializer:deserializer keyEncoder:nil keyDecoder:nil]; -} - -- (instancetype)initWithName:(NSString *)name - rootPath:(NSString *)rootPath - serializer:(PINDiskCacheSerializerBlock)serializer - deserializer:(PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(PINDiskCacheKeyDecoderBlock)keyDecoder -{ - return [self initWithName:name rootPath:rootPath serializer:serializer deserializer:deserializer keyEncoder:keyEncoder keyDecoder:keyDecoder ttlCache:NO]; -} - -- (instancetype)initWithName:(NSString *)name - rootPath:(NSString *)rootPath - serializer:(PINDiskCacheSerializerBlock)serializer - deserializer:(PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(PINDiskCacheKeyDecoderBlock)keyDecoder - ttlCache:(BOOL)ttlCache -{ - if (!name) - return nil; - - if (self = [super init]) { - _name = [name copy]; - - //10 may actually be a bit high, but currently much of our threads are blocked on empyting the trash. Until we can resolve that, lets bump this up. - _operationQueue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:10]; - _diskCache = [[PINDiskCache alloc] initWithName:_name - prefix:PINDiskCachePrefix - rootPath:rootPath - serializer:serializer - deserializer:deserializer - keyEncoder:keyEncoder - keyDecoder:keyDecoder - operationQueue:_operationQueue - ttlCache:ttlCache]; - _memoryCache = [[PINMemoryCache alloc] initWithName:_name operationQueue:_operationQueue ttlCache:ttlCache]; - } - return self; -} - -- (NSString *)description -{ - return [[NSString alloc] initWithFormat:@"%@.%@.%p", PINCachePrefix, _name, (void *)self]; -} - -+ (PINCache *)sharedCache -{ - static PINCache *cache; - static dispatch_once_t predicate; - - dispatch_once(&predicate, ^{ - cache = [[PINCache alloc] initWithName:PINCacheSharedName]; - }); - - return cache; -} - -#pragma mark - Public Asynchronous Methods - - -- (void)containsObjectForKeyAsync:(NSString *)key completion:(PINCacheObjectContainmentBlock)block -{ - if (!key || !block) { - return; - } - - [self.operationQueue scheduleOperation:^{ - BOOL containsObject = [self containsObjectForKey:key]; - block(containsObject); - }]; -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wshadow" - -- (void)objectForKeyAsync:(NSString *)key completion:(PINCacheObjectBlock)block -{ - if (!key || !block) - return; - - [self.operationQueue scheduleOperation:^{ - [self->_memoryCache objectForKeyAsync:key completion:^(id memoryCache, NSString *memoryCacheKey, id memoryCacheObject) { - if (memoryCacheObject) { - // Update file modification date. TODO: make this a separate method? - [self->_diskCache fileURLForKeyAsync:memoryCacheKey completion:^(NSString * _Nonnull key, NSURL * _Nullable fileURL) {}]; - [self->_operationQueue scheduleOperation:^{ - block(self, memoryCacheKey, memoryCacheObject); - }]; - } else { - [self->_diskCache objectForKeyAsync:memoryCacheKey completion:^(PINDiskCache *diskCache, NSString *diskCacheKey, id diskCacheObject) { - - [self->_memoryCache setObjectAsync:diskCacheObject forKey:diskCacheKey completion:nil]; - - [self->_operationQueue scheduleOperation:^{ - block(self, diskCacheKey, diskCacheObject); - }]; - }]; - } - }]; - }]; -} - -#pragma clang diagnostic pop - -- (void)setObjectAsync:(id )object forKey:(NSString *)key completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:0 completion:block]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:0 ageLimit:ageLimit completion:block]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:cost ageLimit:0.0 completion:block]; -} - -- (void)setObjectAsync:(nonnull id)object forKey:(nonnull NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit completion:(nullable PINCacheObjectBlock)block -{ - if (!key || !object) - return; - - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:_operationQueue]; - - [group addOperation:^{ - [self->_memoryCache setObject:object forKey:key withCost:cost ageLimit:ageLimit]; - }]; - [group addOperation:^{ - [self->_diskCache setObject:object forKey:key withAgeLimit:ageLimit]; - }]; - - if (block) { - [group setCompletion:^{ - block(self, key, object); - }]; - } - - [group start]; -} - -- (void)removeObjectForKeyAsync:(NSString *)key completion:(PINCacheObjectBlock)block -{ - if (!key) - return; - - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:_operationQueue]; - - [group addOperation:^{ - [self->_memoryCache removeObjectForKey:key]; - }]; - [group addOperation:^{ - [self->_diskCache removeObjectForKey:key]; - }]; - - if (block) { - [group setCompletion:^{ - block(self, key, nil); - }]; - } - - [group start]; -} - -- (void)removeAllObjectsAsync:(PINCacheBlock)block -{ - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:_operationQueue]; - - [group addOperation:^{ - [self->_memoryCache removeAllObjects]; - }]; - [group addOperation:^{ - [self->_diskCache removeAllObjects]; - }]; - - if (block) { - [group setCompletion:^{ - block(self); - }]; - } - - [group start]; -} - -- (void)trimToDateAsync:(NSDate *)date completion:(PINCacheBlock)block -{ - if (!date) - return; - - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:_operationQueue]; - - [group addOperation:^{ - [self->_memoryCache trimToDate:date]; - }]; - [group addOperation:^{ - [self->_diskCache trimToDate:date]; - }]; - - if (block) { - [group setCompletion:^{ - block(self); - }]; - } - - [group start]; -} - -- (void)removeExpiredObjectsAsync:(PINCacheBlock)block -{ - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:_operationQueue]; - - [group addOperation:^{ - [self->_memoryCache removeExpiredObjects]; - }]; - [group addOperation:^{ - [self->_diskCache removeExpiredObjects]; - }]; - - if (block) { - [group setCompletion:^{ - block(self); - }]; - } - - [group start]; -} - -#pragma mark - Public Synchronous Accessors - - -- (NSUInteger)diskByteCount -{ - __block NSUInteger byteCount = 0; - - [_diskCache synchronouslyLockFileAccessWhileExecutingBlock:^(id diskCache) { - byteCount = ((PINDiskCache *)diskCache).byteCount; - }]; - - return byteCount; -} - -- (BOOL)containsObjectForKey:(NSString *)key -{ - if (!key) - return NO; - - return [_memoryCache containsObjectForKey:key] || [_diskCache containsObjectForKey:key]; -} - -- (nullable id)objectForKey:(NSString *)key -{ - if (!key) - return nil; - - __block id object = nil; - - object = [_memoryCache objectForKey:key]; - - if (object) { - // Update file modification date. TODO: make this a separate method? - [_diskCache fileURLForKeyAsync:key completion:^(NSString * _Nonnull key, NSURL * _Nullable fileURL) {}]; - } else { - object = [_diskCache objectForKey:key]; - [_memoryCache setObject:object forKey:key]; - } - - return object; -} - -- (void)setObject:(id )object forKey:(NSString *)key -{ - [self setObject:object forKey:key withCost:0]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit -{ - [self setObject:object forKey:key withCost:0 ageLimit:ageLimit]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost -{ - [self setObject:object forKey:key withCost:cost ageLimit:0.0]; -} - -- (void)setObject:(nullable id)object forKey:(nonnull NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit -{ - if (!key || !object) - return; - - [_memoryCache setObject:object forKey:key withCost:cost ageLimit:ageLimit]; - [_diskCache setObject:object forKey:key withAgeLimit:ageLimit]; -} - -- (nullable id)objectForKeyedSubscript:(NSString *)key -{ - return [self objectForKey:key]; -} - -- (void)setObject:(nullable id)obj forKeyedSubscript:(NSString *)key -{ - if (obj == nil) { - [self removeObjectForKey:key]; - } else { - [self setObject:obj forKey:key]; - } -} - -- (void)removeObjectForKey:(NSString *)key -{ - if (!key) - return; - - [_memoryCache removeObjectForKey:key]; - [_diskCache removeObjectForKey:key]; -} - -- (void)trimToDate:(NSDate *)date -{ - if (!date) - return; - - [_memoryCache trimToDate:date]; - [_diskCache trimToDate:date]; -} - -- (void)removeExpiredObjects -{ - [_memoryCache removeExpiredObjects]; - [_diskCache removeExpiredObjects]; -} - -- (void)removeAllObjects -{ - [_memoryCache removeAllObjects]; - [_diskCache removeAllObjects]; -} - -@end - -@implementation PINCache (Deprecated) - -- (void)containsObjectForKey:(NSString *)key block:(PINCacheObjectContainmentBlock)block -{ - [self containsObjectForKeyAsync:key completion:block]; -} - -- (void)objectForKey:(NSString *)key block:(PINCacheObjectBlock)block -{ - [self objectForKeyAsync:key completion:block]; -} - -- (void)setObject:(id )object forKey:(NSString *)key block:(nullable PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key completion:block]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost block:(nullable PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:cost completion:block]; -} - -- (void)removeObjectForKey:(NSString *)key block:(nullable PINCacheObjectBlock)block -{ - [self removeObjectForKeyAsync:key completion:block]; -} - -- (void)trimToDate:(NSDate *)date block:(nullable PINCacheBlock)block -{ - [self trimToDateAsync:date completion:block]; -} - -- (void)removeAllObjects:(nullable PINCacheBlock)block -{ - [self removeAllObjectsAsync:block]; -} - -@end diff --git a/Carthage/Checkouts/PINCache/Source/PINCacheMacros.h b/Carthage/Checkouts/PINCache/Source/PINCacheMacros.h deleted file mode 100644 index e7179a17..00000000 --- a/Carthage/Checkouts/PINCache/Source/PINCacheMacros.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// PINCacheMacros.h -// PINCache -// -// Created by Adlai Holler on 1/31/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#ifndef PIN_SUBCLASSING_RESTRICTED -#if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#define PIN_SUBCLASSING_RESTRICTED __attribute__((objc_subclassing_restricted)) -#else -#define PIN_SUBCLASSING_RESTRICTED -#endif // #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#endif // #ifndef PIN_SUBCLASSING_RESTRICTED - -#ifndef PIN_NOESCAPE -#if defined(__has_attribute) && __has_attribute(noescape) -#define PIN_NOESCAPE __attribute__((noescape)) -#else -#define PIN_NOESCAPE -#endif // #if defined(__has_attribute) && __has_attribute(noescape) -#endif // #ifndef PIN_NOESCAPE diff --git a/Carthage/Checkouts/PINCache/Source/PINCacheObjectSubscripting.h b/Carthage/Checkouts/PINCache/Source/PINCacheObjectSubscripting.h deleted file mode 100644 index a7bd20b4..00000000 --- a/Carthage/Checkouts/PINCache/Source/PINCacheObjectSubscripting.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// PINCacheObjectSubscripting.h -// PINCache -// -// Created by Rocir Marcos Leite Santiago on 4/2/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@protocol PINCacheObjectSubscripting - -@required - -/** - This method enables using literals on the receiving object, such as `id object = cache[@"key"];`. - - @param key The key associated with the object. - @result The object for the specified key. - */ -- (nullable id)objectForKeyedSubscript:(NSString *)key; - -/** - This method enables using literals on the receiving object, such as `cache[@"key"] = object;`. - - @param object An object to be assigned for the key. Pass `nil` to remove the existing object for this key. - @param key A key to associate with the object. This string will be copied. - */ -- (void)setObject:(nullable id)object forKeyedSubscript:(NSString *)key; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINCache/Source/PINCaching.h b/Carthage/Checkouts/PINCache/Source/PINCaching.h deleted file mode 100644 index ebc67063..00000000 --- a/Carthage/Checkouts/PINCache/Source/PINCaching.h +++ /dev/null @@ -1,264 +0,0 @@ -// -// PINCaching.h -// PINCache -// -// Created by Michael Schneider on 1/31/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#pragma once -#import - - -NS_ASSUME_NONNULL_BEGIN - -@protocol PINCaching; - -/** - A callback block which provides only the cache as an argument - */ -typedef void (^PINCacheBlock)(id cache); - -/** - A callback block which provides the cache, key and object as arguments - */ -typedef void (^PINCacheObjectBlock)(id cache, NSString *key, id _Nullable object); - -/** - A callback block used for enumeration which provides the cache, key and object as arguments plus a stop flag that - may be flipped by the caller. - */ -typedef void (^PINCacheObjectEnumerationBlock)(id cache, NSString *key, id _Nullable object, BOOL *stop); - -/** - A callback block which provides a BOOL value as argument - */ -typedef void (^PINCacheObjectContainmentBlock)(BOOL containsObject); - -@protocol PINCaching - -#pragma mark - Core - -/** - The name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. - */ -@property (readonly) NSString *name; - -#pragma mark - Asynchronous Methods - -/// @name Asynchronous Methods - -/** - This method determines whether an object is present for the given key in the cache. This method returns immediately - and executes the passed block after the object is available, potentially in parallel with other blocks on the - . - - @see containsObjectForKey: - @param key The key associated with the object. - @param block A block to be executed concurrently after the containment check happened - */ -- (void)containsObjectForKeyAsync:(NSString *)key completion:(PINCacheObjectContainmentBlock)block; - -/** - Retrieves the object for the specified key. This method returns immediately and executes the passed - block after the object is available, potentially in parallel with other blocks on the . - - @param key The key associated with the requested object. - @param block A block to be executed concurrently when the object is available. - */ -- (void)objectForKeyAsync:(NSString *)key completion:(PINCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key. This method returns immediately and executes the - passed block after the object has been stored, potentially in parallel with other blocks on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id)object forKey:(NSString *)key completion:(nullable PINCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and the specified age limit. This method returns immediately - and executes the passed block after the object has been stored, potentially in parallel with other blocks - on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no object-level age limit and the - cache-level TTL will be used for this object. - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id)object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit completion:(nullable PINCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and the specified memory cost. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method returns immediately - and executes the passed block after the object has been stored, potentially in parallel with other blocks - on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost completion:(nullable PINCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and the specified memory cost and age limit. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method returns immediately - and executes the passed block after the object has been stored, potentially in parallel with other blocks - on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no object-level age limit and the cache-level TTL will be - used for this object. - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit completion:(nullable PINCacheObjectBlock)block; - -/** - Removes the object for the specified key. This method returns immediately and executes the passed - block after the object has been removed, potentially in parallel with other blocks on the . - - @param key The key associated with the object to be removed. - @param block A block to be executed concurrently after the object has been removed, or nil. - */ -- (void)removeObjectForKeyAsync:(NSString *)key completion:(nullable PINCacheObjectBlock)block; - -/** - Removes all objects from the cache that have not been used since the specified date. This method returns immediately and - executes the passed block after the cache has been trimmed, potentially in parallel with other blocks on the . - - @param date Objects that haven't been accessed since this date are removed from the cache. - @param block A block to be executed concurrently after the cache has been trimmed, or nil. - */ -- (void)trimToDateAsync:(NSDate *)date completion:(nullable PINCacheBlock)block; - -/** - Removes all expired objects from the cache. This includes objects that are considered expired due to the cache-level ageLimit - as well as object-level ageLimits. This method returns immediately and executes the passed block after the objects have been removed, - potentially in parallel with other blocks on the . - - @param block A block to be executed concurrently after the objects have been removed, or nil. - */ -- (void)removeExpiredObjectsAsync:(nullable PINCacheBlock)block; - -/** - Removes all objects from the cache.This method returns immediately and executes the passed block after the - cache has been cleared, potentially in parallel with other blocks on the . - - @param block A block to be executed concurrently after the cache has been cleared, or nil. - */ -- (void)removeAllObjectsAsync:(nullable PINCacheBlock)block; - - -#pragma mark - Synchronous Methods -/// @name Synchronous Methods - -/** - This method determines whether an object is present for the given key in the cache. - - @see containsObjectForKeyAsync:completion: - @param key The key associated with the object. - @result YES if an object is present for the given key in the cache, otherwise NO. - */ -- (BOOL)containsObjectForKey:(NSString *)key; - -/** - Retrieves the object for the specified key. This method blocks the calling thread until the object is available. - Uses a lock to achieve synchronicity on the disk cache. - - @see objectForKeyAsync:completion: - @param key The key associated with the object. - @result The object for the specified key. - */ -- (nullable id)objectForKey:(NSString *)key; - -/** - Stores an object in the cache for the specified key. This method blocks the calling thread until the object has been set. - Uses a lock to achieve synchronicity on the disk cache. - - @see setObjectAsync:forKey:completion: - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - */ -- (void)setObject:(nullable id)object forKey:(NSString *)key; - -/** - Stores an object in the cache for the specified key and age limit. This method blocks the calling thread until the - object has been set. Uses a lock to achieve synchronicity on the disk cache. - - @see setObjectAsync:forKey:completion: - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no - object-level age limit and the cache-level TTL will be used for this object. - */ -- (void)setObject:(nullable id)object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit; - -/** - Stores an object in the cache for the specified key and the specified memory cost. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method blocks the calling thread - until the object has been stored. - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - */ -- (void)setObject:(nullable id)object forKey:(NSString *)key withCost:(NSUInteger)cost; - -/** - Stores an object in the cache for the specified key and the specified memory cost and age limit. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method blocks the calling thread - until the object has been stored. - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no object-level age - limit and the cache-level TTL will be used for this object. - */ -- (void)setObject:(nullable id)object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit; - -/** - Removes the object for the specified key. This method blocks the calling thread until the object - has been removed. - Uses a lock to achieve synchronicity on the disk cache. - - @see removeObjectForKeyAsync:completion: - @param key The key associated with the object to be removed. - */ -- (void)removeObjectForKey:(NSString *)key; - -/** - Removes all objects from the cache that have not been used since the specified date. - This method blocks the calling thread until the cache has been trimmed. - Uses a lock to achieve synchronicity on the disk cache. - - @see trimToDateAsync:completion: - @param date Objects that haven't been accessed since this date are removed from the cache. - */ -- (void)trimToDate:(NSDate *)date; - -/** - Removes all expired objects from the cache. This includes objects that are considered expired due to the cache-level ageLimit - as well as object-level ageLimits. This method blocks the calling thread until the objects have been removed. - Uses a lock to achieve synchronicity on the disk cache. - */ -- (void)removeExpiredObjects; - -/** - Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. - Uses a lock to achieve synchronicity on the disk cache. - - @see removeAllObjectsAsync: - */ -- (void)removeAllObjects; - -@end - -NS_ASSUME_NONNULL_END - diff --git a/Carthage/Checkouts/PINCache/Source/PINDiskCache.h b/Carthage/Checkouts/PINCache/Source/PINDiskCache.h deleted file mode 100644 index 224f9ce1..00000000 --- a/Carthage/Checkouts/PINCache/Source/PINDiskCache.h +++ /dev/null @@ -1,592 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -@class PINDiskCache; -@class PINOperationQueue; - -extern NSString * const PINDiskCacheErrorDomain; -extern NSErrorUserInfoKey const PINDiskCacheErrorReadFailureCodeKey; -extern NSErrorUserInfoKey const PINDiskCacheErrorWriteFailureCodeKey; -extern NSString * const PINDiskCachePrefix; - -typedef NS_ENUM(NSInteger, PINDiskCacheError) { - PINDiskCacheErrorReadFailure = -1000, - PINDiskCacheErrorWriteFailure = -1001, -}; - -/** - A callback block which provides the cache, key and object as arguments - */ -typedef void (^PINDiskCacheObjectBlock)(PINDiskCache *cache, NSString *key, id _Nullable object); - -/** - A callback block which provides the key and fileURL of the object - */ -typedef void (^PINDiskCacheFileURLBlock)(NSString *key, NSURL * _Nullable fileURL); - -/** - A callback block used for enumeration which provides the key and fileURL of the object plus a stop flag that - may be flipped by the caller. - */ -typedef void (^PINDiskCacheFileURLEnumerationBlock)(NSString *key, NSURL * _Nullable fileURL, BOOL *stop); - -/** - A callback block which provides a BOOL value as argument - */ -typedef void (^PINDiskCacheContainsBlock)(BOOL containsObject); - -/** - * A block used to serialize object before writing to disk - * - * @param object Object to serialize - * @param key The key associated with the object - * - * @return Serialized object representation - */ -typedef NSData* _Nonnull(^PINDiskCacheSerializerBlock)(id object, NSString *key); - -/** - * A block used to deserialize objects - * - * @param data Serialized object data - * @param key The key associated with the object - * - * @return Deserialized object - */ -typedef id _Nonnull(^PINDiskCacheDeserializerBlock)(NSData* data, NSString *key); - -/** - * A block used to encode keys - * - * @param decodedKey Original/decoded key - * - * @return encoded key - */ -typedef NSString *_Nonnull(^PINDiskCacheKeyEncoderBlock)(NSString *decodedKey); - -/** - * A block used to decode keys - * - * @param encodedKey An encoded key - * - * @return decoded key - */ -typedef NSString *_Nonnull(^PINDiskCacheKeyDecoderBlock)(NSString *encodedKey); - - -/** - `PINDiskCache` is a thread safe key/value store backed by the file system. It accepts any object conforming - to the `NSCoding` protocol, which includes the basic Foundation data types and collection classes and also - many UIKit classes, notably `UIImage`. All work is performed on a serial queue shared by all instances in - the app, and archiving is handled by `NSKeyedArchiver`. This is a particular advantage for `UIImage` because - it skips `UIImagePNGRepresentation()` and retains information like scale and orientation. - - The designated initializer for `PINDiskCache` is . The string is used to create a directory - under Library/Caches that scopes disk access for this instance. Multiple instances with the same name are *not* - allowed as they would conflict with each other. - - Unless otherwise noted, all properties and methods are safe to access from any thread at any time. All blocks - will cause the queue to wait, making it safe to access and manipulate the actual cache files on disk for the - duration of the block. - - Because this cache is bound by disk I/O it can be much slower than , although values stored in - `PINDiskCache` persist after application relaunch. Using is recommended over using `PINDiskCache` - by itself, as it adds a fast layer of additional memory caching while still writing to disk. - - All access to the cache is dated so the that the least-used objects can be trimmed first. Setting an optional - will trigger a GCD timer to periodically to trim the cache with . - */ - -PIN_SUBCLASSING_RESTRICTED -@interface PINDiskCache : NSObject - -#pragma mark - Class - -/** - @param rootPath The path for where the cache should be stored. - @param prefix The prefix for the cache name. - @param name The name of the cache. - @result The full URL of the cache. - */ -+ (NSURL *)cacheURLWithRootPath:(NSString *)rootPath prefix:(NSString *)prefix name:(NSString *)name; - -#pragma mark - Properties -/// @name Core - -/** - The prefix to the name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. - */ -@property (readonly) NSString *prefix; - -/** - The URL of the directory used by this cache, usually `Library/Caches/com.pinterest.PINDiskCache.(name)` - - @warning Do not interact with files under this URL except in or - . - */ -@property (readonly) NSURL *cacheURL; - -/** - The total number of bytes used on disk, as reported by `NSURLTotalFileAllocatedSizeKey`. - - @warning This property should only be read from a call to or - its asynchronous equivalent - - For example: - - // some background thread - - __block NSUInteger byteCount = 0; - - [_diskCache synchronouslyLockFileAccessWhileExecutingBlock:^(PINDiskCache *diskCache) { - byteCount = diskCache.byteCount; - }]; - */ -@property (readonly) NSUInteger byteCount; - -/** - The maximum number of bytes allowed on disk. This value is checked every time an object is set, if the written - size exceeds the limit a trim call is queued. Defaults to 50MB. - - */ -@property (assign) NSUInteger byteLimit; - -/** - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value - greater than `0.0` will start a recurring GCD timer with the same period that calls . - Setting it back to `0.0` will stop the timer. Defaults to 30 days. - - */ -@property (assign) NSTimeInterval ageLimit; - -/** - The writing protection option used when writing a file on disk. This value is used every time an object is set. - NSDataWritingAtomic and NSDataWritingWithoutOverwriting are ignored if set - Defaults to NSDataWritingFileProtectionNone. - - @warning Only new files are affected by the new writing protection. If you need all files to be affected, - you'll have to purge and set the objects back to the cache - - Only available on iOS - */ -#if TARGET_OS_IPHONE -@property (assign) NSDataWritingOptions writingProtectionOption; -#endif - -/** - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the - cache, it only lives as long as self.ageLimit. This has the following implications: - - Accessing an object in the cache does not extend that object's lifetime in the cache - - When attempting to access an object in the cache that has lived longer than self.ageLimit, - the cache will behave as if the object does not exist - - @note If an object-level age limit is set via one of the @c -setObject:forKey:withAgeLimit methods, - that age limit overrides self.ageLimit. The overridden object age limit could be greater or less - than self.agelimit but must be greater than zero. - - */ -@property (nonatomic, readonly, getter=isTTLCache) BOOL ttlCache; - -#pragma mark - Event Blocks -/// @name Event Blocks - -/** - A block to be executed just before an object is added to the cache. The queue waits during execution. - */ -@property (nullable, copy) PINDiskCacheObjectBlock willAddObjectBlock; - -/** - A block to be executed just before an object is removed from the cache. The queue waits during execution. - */ -@property (nullable, copy) PINDiskCacheObjectBlock willRemoveObjectBlock; - -/** - A block to be executed just before all objects are removed from the cache as a result of . - The queue waits during execution. - */ -@property (nullable, copy) PINCacheBlock willRemoveAllObjectsBlock; - -/** - A block to be executed just after an object is added to the cache. The queue waits during execution. - */ -@property (nullable, copy) PINDiskCacheObjectBlock didAddObjectBlock; - -/** - A block to be executed just after an object is removed from the cache. The queue waits during execution. - */ -@property (nullable, copy) PINDiskCacheObjectBlock didRemoveObjectBlock; - -/** - A block to be executed just after all objects are removed from the cache as a result of . - The queue waits during execution. - */ -@property (nullable, copy) PINCacheBlock didRemoveAllObjectsBlock; - -#pragma mark - Lifecycle -/// @name Initialization - -/** - A shared cache. - - @result The shared singleton cache instance. - */ -@property (class, readonly, strong) PINDiskCache *sharedCache; - -/** - Empties the trash with `DISPATCH_QUEUE_PRIORITY_BACKGROUND`. Does not use lock. - */ -+ (void)emptyTrash; - -- (instancetype)init NS_UNAVAILABLE; - -/** - Multiple instances with the same name are *not* allowed as they would conflict - with each other. - - @see name - @param name The name of the cache. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name; - -/** - Multiple instances with the same name are *not* allowed as they would conflict - with each other. - - @see name - @param name The name of the cache. - @param rootPath The path of the cache. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name rootPath:(nonnull NSString *)rootPath; - -/** - @see name - @param name The name of the cache. - @param rootPath The path of the cache. - @param serializer A block used to serialize object. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object. If nil provided, default NSKeyedUnarchiver serialized will be used. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name rootPath:(nonnull NSString *)rootPath serializer:(nullable PINDiskCacheSerializerBlock)serializer deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer; - -/** - @see name - @param name The name of the cache. - @param rootPath The path of the cache. - @param serializer A block used to serialize object. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object. If nil provided, default NSKeyedUnarchiver serialized will be used. - @param operationQueue A PINOperationQueue to run asynchronous operations - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name rootPath:(nonnull NSString *)rootPath serializer:(nullable PINDiskCacheSerializerBlock)serializer deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer operationQueue:(nonnull PINOperationQueue *)operationQueue __attribute__((deprecated)); - -/** - @see name - @param name The name of the cache. - @param prefix The prefix for the cache name. Defaults to com.pinterest.PINDiskCache - @param rootPath The path of the cache. - @param serializer A block used to serialize object. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object. If nil provided, default NSKeyedUnarchiver serialized will be used. - @param keyEncoder A block used to encode key(filename). If nil provided, default url encoder will be used - @param keyDecoder A block used to decode key(filename). If nil provided, default url decoder will be used - @param operationQueue A PINOperationQueue to run asynchronous operations - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name - prefix:(nonnull NSString *)prefix - rootPath:(nonnull NSString *)rootPath - serializer:(nullable PINDiskCacheSerializerBlock)serializer - deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(nullable PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(nullable PINDiskCacheKeyDecoderBlock)keyDecoder - operationQueue:(nonnull PINOperationQueue *)operationQueue; - -/** - The designated initializer allowing you to override default NSKeyedArchiver/NSKeyedUnarchiver serialization. - - @see name - @param name The name of the cache. - @param prefix The prefix for the cache name. Defaults to com.pinterest.PINDiskCache - @param rootPath The path of the cache. - @param serializer A block used to serialize object. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object. If nil provided, default NSKeyedUnarchiver serialized will be used. - @param keyEncoder A block used to encode key(filename). If nil provided, default url encoder will be used - @param keyDecoder A block used to decode key(filename). If nil provided, default url decoder will be used - @param operationQueue A PINOperationQueue to run asynchronous operations - @param ttlCache Whether or not the cache should behave as a TTL cache. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name - prefix:(nonnull NSString *)prefix - rootPath:(nonnull NSString *)rootPath - serializer:(nullable PINDiskCacheSerializerBlock)serializer - deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(nullable PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(nullable PINDiskCacheKeyDecoderBlock)keyDecoder - operationQueue:(nonnull PINOperationQueue *)operationQueue - ttlCache:(BOOL)ttlCache NS_DESIGNATED_INITIALIZER; - -#pragma mark - Asynchronous Methods -/// @name Asynchronous Methods -/** - Locks access to ivars and allows safe interaction with files on disk. This method returns immediately. - - @warning Calling synchronous methods on the diskCache inside this block will likely cause a deadlock. - - @param block A block to be executed when a lock is available. - */ -- (void)lockFileAccessWhileExecutingBlockAsync:(PINCacheBlock)block; - -/** - Retrieves the object for the specified key. This method returns immediately and executes the passed - block as soon as the object is available. - - @param key The key associated with the requested object. - @param block A block to be executed serially when the object is available. - */ -- (void)objectForKeyAsync:(NSString *)key completion:(nullable PINDiskCacheObjectBlock)block; - -/** - Retrieves the fileURL for the specified key without actually reading the data from disk. This method - returns immediately and executes the passed block as soon as the object is available. - - @warning Access is protected for the duration of the block, but to maintain safe disk access do not - access this fileURL after the block has ended. - - @warning The PINDiskCache lock is held while block is executed. Any synchronous calls to the diskcache - or a cache which owns the instance of the disk cache are likely to cause a deadlock. This is why the block is - *not* passed the instance of the disk cache. You should also avoid doing extensive work while this - lock is held. - - @param key The key associated with the requested object. - @param block A block to be executed serially when the file URL is available. - */ -- (void)fileURLForKeyAsync:(NSString *)key completion:(PINDiskCacheFileURLBlock)block; - -/** - Stores an object in the cache for the specified key. This method returns immediately and executes the - passed block as soon as the object has been stored. - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param block A block to be executed serially after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id )object forKey:(NSString *)key completion:(nullable PINDiskCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and age limit. This method returns immediately and executes the - passed block as soon as the object has been stored. - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no object-level age limit and the cache-level TTL - will be used for this object. - @param block A block to be executed serially after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit completion:(nullable PINDiskCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and the specified memory cost. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method returns immediately - and executes the passed block after the object has been stored, potentially in parallel with other blocks - on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost completion:(nullable PINCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and the specified memory cost and age limit. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method returns immediately - and executes the passed block after the object has been stored, potentially in parallel with other blocks - on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no object-level age limit and the cache-level TTL will be used for - this object. - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit completion:(nullable PINCacheObjectBlock)block; - -/** - Removes the object for the specified key. This method returns immediately and executes the passed block - as soon as the object has been removed. - - @param key The key associated with the object to be removed. - @param block A block to be executed serially after the object has been removed, or nil. - */ -- (void)removeObjectForKeyAsync:(NSString *)key completion:(nullable PINDiskCacheObjectBlock)block; - -/** - Removes objects from the cache, largest first, until the cache is equal to or smaller than the specified byteCount. - This method returns immediately and executes the passed block as soon as the cache has been trimmed. - - @param byteCount The cache will be trimmed equal to or smaller than this size. - @param block A block to be executed serially after the cache has been trimmed, or nil. - */ -- (void)trimToSizeAsync:(NSUInteger)byteCount completion:(nullable PINCacheBlock)block; - -/** - Removes objects from the cache, ordered by date (least recently used first), until the cache is equal to or smaller - than the specified byteCount. This method returns immediately and executes the passed block as soon as the cache has - been trimmed. - - @param byteCount The cache will be trimmed equal to or smaller than this size. - @param block A block to be executed serially after the cache has been trimmed, or nil. - - @note This will not remove objects that have been added via one of the @c -setObject:forKey:withAgeLimit methods. - */ -- (void)trimToSizeByDateAsync:(NSUInteger)byteCount completion:(nullable PINCacheBlock)block; - -/** - Loops through all objects in the cache (reads and writes are suspended during the enumeration). Data is not actually - read from disk, the `object` parameter of the block will be `nil` but the `fileURL` will be available. - This method returns immediately. - - @param block A block to be executed for every object in the cache. - @param completionBlock An optional block to be executed after the enumeration is complete. - - @warning The PINDiskCache lock is held while block is executed. Any synchronous calls to the diskcache - or a cache which owns the instance of the disk cache are likely to cause a deadlock. This is why the block is - *not* passed the instance of the disk cache. You should also avoid doing extensive work while this - lock is held. - - */ -- (void)enumerateObjectsWithBlockAsync:(PINDiskCacheFileURLEnumerationBlock)block completionBlock:(nullable PINCacheBlock)completionBlock; - -#pragma mark - Synchronous Methods -/// @name Synchronous Methods - -/** - Locks access to ivars and allows safe interaction with files on disk. This method only returns once the block - has been run. - - @warning Calling synchronous methods on the diskCache inside this block will likely cause a deadlock. - - @param block A block to be executed when a lock is available. - */ -- (void)synchronouslyLockFileAccessWhileExecutingBlock:(PIN_NOESCAPE PINCacheBlock)block; - -/** - Retrieves the object for the specified key. This method blocks the calling thread until the - object is available. - - @see objectForKeyAsync:completion: - @param key The key associated with the object. - @result The object for the specified key. - */ -- (nullable id )objectForKey:(NSString *)key; - -/** - Retrieves the file URL for the specified key. This method blocks the calling thread until the - url is available. Do not use this URL anywhere except with . This method probably - shouldn't even exist, just use the asynchronous one. - - @see fileURLForKeyAsync:completion: - @param key The key associated with the object. - @result The file URL for the specified key. - */ -- (nullable NSURL *)fileURLForKey:(nullable NSString *)key; - -/** - Stores an object in the cache for the specified key. This method blocks the calling thread until - the object has been stored. - - @see setObjectAsync:forKey:completion: - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - */ -- (void)setObject:(nullable id )object forKey:(NSString *)key; - -/** - Stores an object in the cache for the specified key and age limit. This method blocks the calling thread until - the object has been stored. - - @see setObjectAsync:forKey:completion: - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is - no object-level age limit and the cache-level TTL will be used for this object. - */ -- (void)setObject:(nullable id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit; - -/** - Removes objects from the cache, largest first, until the cache is equal to or smaller than the - specified byteCount. This method blocks the calling thread until the cache has been trimmed. - - @see trimToSizeAsync: - @param byteCount The cache will be trimmed equal to or smaller than this size. - */ -- (void)trimToSize:(NSUInteger)byteCount; - -/** - Removes objects from the cache, ordered by date (least recently used first), until the cache is equal to or - smaller than the specified byteCount. This method blocks the calling thread until the cache has been trimmed. - - @see trimToSizeByDateAsync: - @param byteCount The cache will be trimmed equal to or smaller than this size. - - @note This will not remove objects that have been added via one of the @c -setObject:forKey:withAgeLimit methods. - */ -- (void)trimToSizeByDate:(NSUInteger)byteCount; - -/** - Loops through all objects in the cache (reads and writes are suspended during the enumeration). Data is not actually - read from disk, the `object` parameter of the block will be `nil` but the `fileURL` will be available. - This method blocks the calling thread until all objects have been enumerated. - - @see enumerateObjectsWithBlockAsync:completionBlock - @param block A block to be executed for every object in the cache. - - @warning Do not call this method within the event blocks (, etc.) - Instead use the asynchronous version, . - - @warning The PINDiskCache lock is held while block is executed. Any synchronous calls to the diskcache - or a cache which owns the instance of the disk cache are likely to cause a deadlock. This is why the block is - *not* passed the instance of the disk cache. You should also avoid doing extensive work while this - lock is held. - - */ -- (void)enumerateObjectsWithBlock:(PIN_NOESCAPE PINDiskCacheFileURLEnumerationBlock)block; - -@end - - -#pragma mark - Deprecated - -/** - A callback block which provides only the cache as an argument - */ -typedef void (^PINDiskCacheBlock)(PINDiskCache *cache); - -@interface PINDiskCache (Deprecated) -- (void)lockFileAccessWhileExecutingBlock:(nullable PINCacheBlock)block __attribute__((deprecated)); -- (void)containsObjectForKey:(NSString *)key block:(PINDiskCacheContainsBlock)block __attribute__((deprecated)); -- (void)objectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block __attribute__((deprecated)); -- (void)fileURLForKey:(NSString *)key block:(nullable PINDiskCacheFileURLBlock)block __attribute__((deprecated)); -- (void)setObject:(id )object forKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block __attribute__((deprecated)); -- (void)removeObjectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block __attribute__((deprecated)); -- (void)trimToDate:(NSDate *)date block:(nullable PINDiskCacheBlock)block __attribute__((deprecated)); -- (void)trimToSize:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block __attribute__((deprecated)); -- (void)trimToSizeByDate:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block __attribute__((deprecated)); -- (void)removeAllObjects:(nullable PINDiskCacheBlock)block __attribute__((deprecated)); -- (void)enumerateObjectsWithBlock:(PINDiskCacheFileURLBlock)block completionBlock:(nullable PINDiskCacheBlock)completionBlock __attribute__((deprecated)); -- (void)setTtlCache:(BOOL)ttlCache DEPRECATED_MSG_ATTRIBUTE("ttlCache is no longer a settable property and must now be set via initializer."); -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINCache/Source/PINDiskCache.m b/Carthage/Checkouts/PINCache/Source/PINDiskCache.m deleted file mode 100644 index 40e606d8..00000000 --- a/Carthage/Checkouts/PINCache/Source/PINDiskCache.m +++ /dev/null @@ -1,1723 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import "PINDiskCache.h" - -#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0 -#import -#endif - -#import -#import - -#import - -#define PINDiskCacheError(error) if (error) { NSLog(@"%@ (%d) ERROR: %@", \ -[[NSString stringWithUTF8String:__FILE__] lastPathComponent], \ -__LINE__, [error localizedDescription]); } - -#define PINDiskCacheException(exception) if (exception) { NSAssert(NO, [exception reason]); } - -const char * PINDiskCacheAgeLimitAttributeName = "com.pinterest.PINDiskCache.ageLimit"; -NSString * const PINDiskCacheErrorDomain = @"com.pinterest.PINDiskCache"; -NSErrorUserInfoKey const PINDiskCacheErrorReadFailureCodeKey = @"PINDiskCacheErrorReadFailureCodeKey"; -NSErrorUserInfoKey const PINDiskCacheErrorWriteFailureCodeKey = @"PINDiskCacheErrorWriteFailureCodeKey"; -NSString * const PINDiskCachePrefix = @"com.pinterest.PINDiskCache"; -static NSString * const PINDiskCacheSharedName = @"PINDiskCacheShared"; - -static NSString * const PINDiskCacheOperationIdentifierTrimToDate = @"PINDiskCacheOperationIdentifierTrimToDate"; -static NSString * const PINDiskCacheOperationIdentifierTrimToSize = @"PINDiskCacheOperationIdentifierTrimToSize"; -static NSString * const PINDiskCacheOperationIdentifierTrimToSizeByDate = @"PINDiskCacheOperationIdentifierTrimToSizeByDate"; - -typedef NS_ENUM(NSUInteger, PINDiskCacheCondition) { - PINDiskCacheConditionNotReady = 0, - PINDiskCacheConditionReady = 1, -}; - -static PINOperationDataCoalescingBlock PINDiskTrimmingSizeCoalescingBlock = ^id(NSNumber *existingSize, NSNumber *newSize) { - NSComparisonResult result = [existingSize compare:newSize]; - return (result == NSOrderedDescending) ? newSize : existingSize; -}; - -static PINOperationDataCoalescingBlock PINDiskTrimmingDateCoalescingBlock = ^id(NSDate *existingDate, NSDate *newDate) { - NSComparisonResult result = [existingDate compare:newDate]; - return (result == NSOrderedDescending) ? newDate : existingDate; -}; - -const char * PINDiskCacheFileSystemRepresentation(NSURL *url) -{ -#ifdef __MAC_10_13 // Xcode >= 9 - // -fileSystemRepresentation is available on macOS >= 10.9 - if (@available(macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, *)) { - return url.fileSystemRepresentation; - } -#endif - return [url.path cStringUsingEncoding:NSUTF8StringEncoding]; -} - -@interface PINDiskCacheMetadata : NSObject -// When the object was added to the disk cache -@property (nonatomic, strong) NSDate *createdDate; -// Last time the object was accessed -@property (nonatomic, strong) NSDate *lastModifiedDate; -@property (nonatomic, strong) NSNumber *size; -// Age limit is used in conjuction with ttl -@property (nonatomic) NSTimeInterval ageLimit; -@end - -@interface PINDiskCache () { - PINDiskCacheSerializerBlock _serializer; - PINDiskCacheDeserializerBlock _deserializer; - - PINDiskCacheKeyEncoderBlock _keyEncoder; - PINDiskCacheKeyDecoderBlock _keyDecoder; -} - -@property (assign, nonatomic) pthread_mutex_t mutex; -@property (copy, nonatomic) NSString *name; -@property (assign) NSUInteger byteCount; -@property (strong, nonatomic) NSURL *cacheURL; -@property (strong, nonatomic) PINOperationQueue *operationQueue; -@property (strong, nonatomic) NSMutableDictionary *metadata; -@property (assign, nonatomic) pthread_cond_t diskWritableCondition; -@property (assign, nonatomic) BOOL diskWritable; -@property (assign, nonatomic) pthread_cond_t diskStateKnownCondition; -@property (assign, nonatomic) BOOL diskStateKnown; -@property (assign, nonatomic) BOOL writingProtectionOptionSet; -@end - -@implementation PINDiskCache - -static NSURL *_sharedTrashURL; - -@synthesize willAddObjectBlock = _willAddObjectBlock; -@synthesize willRemoveObjectBlock = _willRemoveObjectBlock; -@synthesize willRemoveAllObjectsBlock = _willRemoveAllObjectsBlock; -@synthesize didAddObjectBlock = _didAddObjectBlock; -@synthesize didRemoveObjectBlock = _didRemoveObjectBlock; -@synthesize didRemoveAllObjectsBlock = _didRemoveAllObjectsBlock; -@synthesize byteLimit = _byteLimit; -@synthesize ageLimit = _ageLimit; -@synthesize ttlCache = _ttlCache; - -#if TARGET_OS_IPHONE -@synthesize writingProtectionOption = _writingProtectionOption; -@synthesize writingProtectionOptionSet = _writingProtectionOptionSet; -#endif - -#pragma mark - Initialization - - -- (void)dealloc -{ - __unused int result = pthread_mutex_destroy(&_mutex); - NSCAssert(result == 0, @"Failed to destroy lock in PINDiskCache %p. Code: %d", (void *)self, result); - pthread_cond_destroy(&_diskWritableCondition); - pthread_cond_destroy(&_diskStateKnownCondition); -} - -- (instancetype)init -{ - @throw [NSException exceptionWithName:@"Must initialize with a name" reason:@"PINDiskCache must be initialized with a name. Call initWithName: instead." userInfo:nil]; - return [self initWithName:@""]; -} - -- (instancetype)initWithName:(NSString *)name -{ - return [self initWithName:name rootPath:[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]]; -} - -- (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath -{ - return [self initWithName:name rootPath:rootPath serializer:nil deserializer:nil]; -} - -- (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath serializer:(PINDiskCacheSerializerBlock)serializer deserializer:(PINDiskCacheDeserializerBlock)deserializer -{ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - return [self initWithName:name rootPath:rootPath serializer:serializer deserializer:deserializer operationQueue:[PINOperationQueue sharedOperationQueue]]; -#pragma clang diagnostic pop -} - -- (instancetype)initWithName:(NSString *)name - rootPath:(NSString *)rootPath - serializer:(PINDiskCacheSerializerBlock)serializer - deserializer:(PINDiskCacheDeserializerBlock)deserializer - operationQueue:(PINOperationQueue *)operationQueue -{ - return [self initWithName:name - prefix:PINDiskCachePrefix - rootPath:rootPath - serializer:serializer - deserializer:deserializer - keyEncoder:nil - keyDecoder:nil - operationQueue:operationQueue]; -} - -- (instancetype)initWithName:(NSString *)name - prefix:(NSString *)prefix - rootPath:(NSString *)rootPath - serializer:(PINDiskCacheSerializerBlock)serializer - deserializer:(PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(PINDiskCacheKeyDecoderBlock)keyDecoder - operationQueue:(PINOperationQueue *)operationQueue -{ - return [self initWithName:name prefix:prefix - rootPath:rootPath - serializer:serializer - deserializer:deserializer - keyEncoder:keyEncoder - keyDecoder:keyDecoder - operationQueue:operationQueue - ttlCache:NO]; -} - -- (instancetype)initWithName:(NSString *)name - prefix:(NSString *)prefix - rootPath:(NSString *)rootPath - serializer:(PINDiskCacheSerializerBlock)serializer - deserializer:(PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(PINDiskCacheKeyDecoderBlock)keyDecoder - operationQueue:(PINOperationQueue *)operationQueue - ttlCache:(BOOL)ttlCache -{ - if (!name) { - return nil; - } - - NSAssert(((!serializer && !deserializer) || (serializer && deserializer)), - @"PINDiskCache must be initialized with a serializer AND deserializer."); - - NSAssert(((!keyEncoder && !keyDecoder) || (keyEncoder && keyDecoder)), - @"PINDiskCache must be initialized with an encoder AND decoder."); - - if (self = [super init]) { - __unused int result = pthread_mutex_init(&_mutex, NULL); - NSAssert(result == 0, @"Failed to init lock in PINDiskCache %@. Code: %d", self, result); - - _name = [name copy]; - _prefix = [prefix copy]; - _operationQueue = operationQueue; - _ttlCache = ttlCache; - _willAddObjectBlock = nil; - _willRemoveObjectBlock = nil; - _willRemoveAllObjectsBlock = nil; - _didAddObjectBlock = nil; - _didRemoveObjectBlock = nil; - _didRemoveAllObjectsBlock = nil; - - _byteCount = 0; - - // 50 MB by default - _byteLimit = 50 * 1024 * 1024; - // 30 days by default - _ageLimit = 60 * 60 * 24 * 30; - -#if TARGET_OS_IPHONE - _writingProtectionOptionSet = NO; - // This is currently the default for files, but we'd rather not write it if it's unspecified. - _writingProtectionOption = NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication; -#endif - - _metadata = [[NSMutableDictionary alloc] init]; - _diskStateKnown = NO; - - _cacheURL = [[self class] cacheURLWithRootPath:rootPath prefix:_prefix name:_name]; - - //setup serializers - if(serializer) { - _serializer = [serializer copy]; - } else { - _serializer = self.defaultSerializer; - } - - if(deserializer) { - _deserializer = [deserializer copy]; - } else { - _deserializer = self.defaultDeserializer; - } - - //setup key encoder/decoder - if(keyEncoder) { - _keyEncoder = [keyEncoder copy]; - } else { - _keyEncoder = self.defaultKeyEncoder; - } - - if(keyDecoder) { - _keyDecoder = [keyDecoder copy]; - } else { - _keyDecoder = self.defaultKeyDecoder; - } - - pthread_cond_init(&_diskWritableCondition, NULL); - pthread_cond_init(&_diskStateKnownCondition, NULL); - - //we don't want to do anything without setting up the disk cache, but we also don't want to block init, it can take a while to initialize. This must *not* be done on _operationQueue because other operations added may hold the lock and fill up the queue. - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [self lock]; - [self _locked_createCacheDirectory]; - [self unlock]; - [self initializeDiskProperties]; - }); - } - return self; -} - -- (NSString *)description -{ - return [[NSString alloc] initWithFormat:@"%@.%@.%p", PINDiskCachePrefix, _name, (__bridge void *)self]; -} - -+ (PINDiskCache *)sharedCache -{ - static PINDiskCache *cache; - static dispatch_once_t predicate; - - dispatch_once(&predicate, ^{ - cache = [[PINDiskCache alloc] initWithName:PINDiskCacheSharedName]; - }); - - return cache; -} - -+ (NSURL *)cacheURLWithRootPath:(NSString *)rootPath prefix:(NSString *)prefix name:(NSString *)name -{ - NSString *pathComponent = [[NSString alloc] initWithFormat:@"%@.%@", prefix, name]; - return [NSURL fileURLWithPathComponents:@[ rootPath, pathComponent ]]; -} - -#pragma mark - Private Methods - - -- (NSURL *)encodedFileURLForKey:(NSString *)key -{ - if (![key length]) - return nil; - - //Significantly improve performance by indicating that the URL will *not* result in a directory. - //Also note that accessing _cacheURL is safe without the lock because it is only set on init. - return [_cacheURL URLByAppendingPathComponent:[self encodedString:key] isDirectory:NO]; -} - -- (NSString *)keyForEncodedFileURL:(NSURL *)url -{ - NSString *fileName = [url lastPathComponent]; - if (!fileName) - return nil; - - return [self decodedString:fileName]; -} - -- (NSString *)encodedString:(NSString *)string -{ - return _keyEncoder(string); -} - -- (NSString *)decodedString:(NSString *)string -{ - return _keyDecoder(string); -} - -- (PINDiskCacheSerializerBlock)defaultSerializer -{ - return ^NSData*(id object, NSString *key){ - if (@available(iOS 11.0, macOS 10.13, tvOS 11.0, watchOS 4.0, *)) { - NSError *error = nil; - NSData *data = [NSKeyedArchiver archivedDataWithRootObject:object requiringSecureCoding:NO error:&error]; - PINDiskCacheError(error); - return data; - } else { - return [NSKeyedArchiver archivedDataWithRootObject:object]; - } - }; -} - -- (PINDiskCacheDeserializerBlock)defaultDeserializer -{ - return ^id(NSData * data, NSString *key){ - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; - }; -} - -- (PINDiskCacheKeyEncoderBlock)defaultKeyEncoder -{ - return ^NSString *(NSString *decodedKey) { - if (![decodedKey length]) { - return @""; - } - - if (@available(macOS 10.9, iOS 7.0, tvOS 9.0, watchOS 2.0, *)) { - NSString *encodedString = [decodedKey stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@".:/%"] invertedSet]]; - return encodedString; - } else { - CFStringRef static const charsToEscape = CFSTR(".:/%"); -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - CFStringRef escapedString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, - (__bridge CFStringRef)decodedKey, - NULL, - charsToEscape, - kCFStringEncodingUTF8); -#pragma clang diagnostic pop - - return (__bridge_transfer NSString *)escapedString; - } - }; -} - -- (PINDiskCacheKeyEncoderBlock)defaultKeyDecoder -{ - return ^NSString *(NSString *encodedKey) { - if (![encodedKey length]) { - return @""; - } - - if (@available(macOS 10.9, iOS 7.0, tvOS 9.0, watchOS 2.0, *)) { - return [encodedKey stringByRemovingPercentEncoding]; - } else { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - CFStringRef unescapedString = CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, - (__bridge CFStringRef)encodedKey, - CFSTR(""), - kCFStringEncodingUTF8); -#pragma clang diagnostic pop - return (__bridge_transfer NSString *)unescapedString; - } - }; -} - - -#pragma mark - Private Trash Methods - - -+ (dispatch_queue_t)sharedTrashQueue -{ - static dispatch_queue_t trashQueue; - static dispatch_once_t predicate; - - dispatch_once(&predicate, ^{ - NSString *queueName = [[NSString alloc] initWithFormat:@"%@.trash", PINDiskCachePrefix]; - trashQueue = dispatch_queue_create([queueName UTF8String], DISPATCH_QUEUE_SERIAL); - dispatch_set_target_queue(trashQueue, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)); - }); - - return trashQueue; -} - -+ (NSLock *)sharedLock -{ - static NSLock *sharedLock; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedLock = [NSLock new]; - }); - return sharedLock; -} - -+ (NSURL *)sharedTrashURL -{ - NSURL *trashURL = nil; - - [[PINDiskCache sharedLock] lock]; - if (_sharedTrashURL == nil) { - NSString *uniqueString = [[NSProcessInfo processInfo] globallyUniqueString]; - _sharedTrashURL = [[[NSURL alloc] initFileURLWithPath:NSTemporaryDirectory()] URLByAppendingPathComponent:uniqueString isDirectory:YES]; - - NSError *error = nil; - [[NSFileManager defaultManager] createDirectoryAtURL:_sharedTrashURL - withIntermediateDirectories:YES - attributes:nil - error:&error]; - PINDiskCacheError(error); - } - trashURL = _sharedTrashURL; - [[PINDiskCache sharedLock] unlock]; - - return trashURL; -} - -+ (BOOL)moveItemAtURLToTrash:(NSURL *)itemURL -{ - if (![[NSFileManager defaultManager] fileExistsAtPath:[itemURL path]]) - return NO; - - NSError *error = nil; - NSString *uniqueString = [[NSProcessInfo processInfo] globallyUniqueString]; - NSURL *uniqueTrashURL = [[PINDiskCache sharedTrashURL] URLByAppendingPathComponent:uniqueString isDirectory:NO]; - BOOL moved = [[NSFileManager defaultManager] moveItemAtURL:itemURL toURL:uniqueTrashURL error:&error]; - PINDiskCacheError(error); - return moved; -} - -+ (void)emptyTrash -{ - dispatch_async([PINDiskCache sharedTrashQueue], ^{ - NSURL *trashURL = nil; - - // If _sharedTrashURL is unset, there's nothing left to do because it hasn't been accessed and therefore items haven't been added to it. - // If it is set, we can just remove it. - // We also need to nil out _sharedTrashURL so that a new one will be created if there's an attempt to move a new file to the trash. - [[PINDiskCache sharedLock] lock]; - if (_sharedTrashURL != nil) { - trashURL = _sharedTrashURL; - _sharedTrashURL = nil; - } - [[PINDiskCache sharedLock] unlock]; - - if (trashURL != nil) { - NSError *removeTrashedItemError = nil; - [[NSFileManager defaultManager] removeItemAtURL:trashURL error:&removeTrashedItemError]; - PINDiskCacheError(removeTrashedItemError); - } - }); -} - -#pragma mark - Private Queue Methods - - -- (BOOL)_locked_createCacheDirectory -{ - BOOL created = NO; - if ([[NSFileManager defaultManager] fileExistsAtPath:[_cacheURL path]] == NO) { - NSError *error = nil; - created = [[NSFileManager defaultManager] createDirectoryAtURL:_cacheURL - withIntermediateDirectories:YES - attributes:nil - error:&error]; - PINDiskCacheError(error); - } - - - - // while this may not be true if success is false, it's better than deadlocking later. - _diskWritable = YES; - pthread_cond_broadcast(&_diskWritableCondition); - - return created; -} - -+ (NSArray *)resourceKeys -{ - static NSArray *resourceKeys = nil; - static dispatch_once_t predicate; - - dispatch_once(&predicate, ^{ - resourceKeys = @[ NSURLCreationDateKey, NSURLContentModificationDateKey, NSURLTotalFileAllocatedSizeKey ]; - }); - - return resourceKeys; -} - -/** - * @return File size in bytes. - */ -- (NSUInteger)_locked_initializeDiskPropertiesForFile:(NSURL *)fileURL fileKey:(NSString *)fileKey -{ - NSError *error = nil; - - NSDictionary *dictionary = [fileURL resourceValuesForKeys:[PINDiskCache resourceKeys] error:&error]; - PINDiskCacheError(error); - - if (_metadata[fileKey] == nil) { - _metadata[fileKey] = [[PINDiskCacheMetadata alloc] init]; - } - - NSDate *createdDate = dictionary[NSURLCreationDateKey]; - if (createdDate && fileKey) - _metadata[fileKey].createdDate = createdDate; - - NSDate *lastModifiedDate = dictionary[NSURLContentModificationDateKey]; - if (lastModifiedDate && fileKey) - _metadata[fileKey].lastModifiedDate = lastModifiedDate; - - NSNumber *fileSize = dictionary[NSURLTotalFileAllocatedSizeKey]; - if (fileSize) { - _metadata[fileKey].size = fileSize; - } - - if (_ttlCache) { - NSTimeInterval ageLimit; - ssize_t res = getxattr(PINDiskCacheFileSystemRepresentation(fileURL), PINDiskCacheAgeLimitAttributeName, &ageLimit, sizeof(NSTimeInterval), 0, 0); - if(res > 0) { - _metadata[fileKey].ageLimit = ageLimit; - } else if (res == -1) { - // Ignore if the extended attribute was never recorded for this file. - if (errno != ENOATTR) { - NSDictionary *userInfo = @{ PINDiskCacheErrorReadFailureCodeKey : @(errno)}; - error = [NSError errorWithDomain:PINDiskCacheErrorDomain code:PINDiskCacheErrorReadFailure userInfo:userInfo]; - PINDiskCacheError(error); - } - } - } - - return [fileSize unsignedIntegerValue]; -} - -- (void)initializeDiskProperties -{ - NSUInteger byteCount = 0; - - NSError *error = nil; - - [self lock]; - NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:_cacheURL - includingPropertiesForKeys:[PINDiskCache resourceKeys] - options:NSDirectoryEnumerationSkipsHiddenFiles - error:&error]; - [self unlock]; - - PINDiskCacheError(error); - - for (NSURL *fileURL in files) { - NSString *fileKey = [self keyForEncodedFileURL:fileURL]; - // Continually grab and release lock while processing files to avoid contention - [self lock]; - if (_metadata[fileKey] == nil) { - byteCount += [self _locked_initializeDiskPropertiesForFile:fileURL fileKey:fileKey]; - } - [self unlock]; - } - - [self lock]; - if (byteCount > 0) - _byteCount = byteCount; - - if (self->_byteLimit > 0 && self->_byteCount > self->_byteLimit) - [self trimToSizeByDateAsync:self->_byteLimit completion:nil]; - - if (self->_ttlCache) - [self removeExpiredObjectsAsync:nil]; - - _diskStateKnown = YES; - pthread_cond_broadcast(&_diskStateKnownCondition); - [self unlock]; -} - -- (void)asynchronouslySetFileModificationDate:(NSDate *)date forURL:(NSURL *)fileURL -{ - [self.operationQueue scheduleOperation:^{ - [self lockForWriting]; - [self _locked_setFileModificationDate:date forURL:fileURL]; - [self unlock]; - } withPriority:PINOperationQueuePriorityLow]; -} - -- (BOOL)_locked_setFileModificationDate:(NSDate *)date forURL:(NSURL *)fileURL -{ - if (!date || !fileURL) { - return NO; - } - - NSError *error = nil; - BOOL success = [[NSFileManager defaultManager] setAttributes:@{ NSFileModificationDate: date } - ofItemAtPath:[fileURL path] - error:&error]; - PINDiskCacheError(error); - - return success; -} - -- (void)asynchronouslySetAgeLimit:(NSTimeInterval)ageLimit forURL:(NSURL *)fileURL -{ - [self.operationQueue scheduleOperation:^{ - [self lockForWriting]; - [self _locked_setAgeLimit:ageLimit forURL:fileURL]; - [self unlock]; - } withPriority:PINOperationQueuePriorityLow]; -} - -- (BOOL)_locked_setAgeLimit:(NSTimeInterval)ageLimit forURL:(NSURL *)fileURL -{ - if (!fileURL) { - return NO; - } - - NSError *error = nil; - if (ageLimit <= 0.0) { - if (removexattr(PINDiskCacheFileSystemRepresentation(fileURL), PINDiskCacheAgeLimitAttributeName, 0) != 0) { - // Ignore if the extended attribute was never recorded for this file. - if (errno != ENOATTR) { - NSDictionary *userInfo = @{ PINDiskCacheErrorWriteFailureCodeKey : @(errno)}; - error = [NSError errorWithDomain:PINDiskCacheErrorDomain code:PINDiskCacheErrorWriteFailure userInfo:userInfo]; - PINDiskCacheError(error); - } - } - } else { - if (setxattr(PINDiskCacheFileSystemRepresentation(fileURL), PINDiskCacheAgeLimitAttributeName, &ageLimit, sizeof(NSTimeInterval), 0, 0) != 0) { - NSDictionary *userInfo = @{ PINDiskCacheErrorWriteFailureCodeKey : @(errno)}; - error = [NSError errorWithDomain:PINDiskCacheErrorDomain code:PINDiskCacheErrorWriteFailure userInfo:userInfo]; - PINDiskCacheError(error); - } - } - - if (!error) { - NSString *key = [self keyForEncodedFileURL:fileURL]; - if (key) { - _metadata[key].ageLimit = ageLimit; - } - } - - return !error; -} - -- (BOOL)removeFileAndExecuteBlocksForKey:(NSString *)key -{ - NSURL *fileURL = [self encodedFileURLForKey:key]; - if (!fileURL) { - return NO; - } - - // We only need to lock until writable at the top because once writable, always writable - [self lockForWriting]; - if (![[NSFileManager defaultManager] fileExistsAtPath:[fileURL path]]) { - [self unlock]; - return NO; - } - - PINDiskCacheObjectBlock willRemoveObjectBlock = _willRemoveObjectBlock; - if (willRemoveObjectBlock) { - [self unlock]; - willRemoveObjectBlock(self, key, nil); - [self lock]; - } - - BOOL trashed = [PINDiskCache moveItemAtURLToTrash:fileURL]; - if (!trashed) { - [self unlock]; - return NO; - } - - [PINDiskCache emptyTrash]; - - NSNumber *byteSize = _metadata[key].size; - if (byteSize) - self.byteCount = _byteCount - [byteSize unsignedIntegerValue]; // atomic - - [_metadata removeObjectForKey:key]; - - PINDiskCacheObjectBlock didRemoveObjectBlock = _didRemoveObjectBlock; - if (didRemoveObjectBlock) { - [self unlock]; - _didRemoveObjectBlock(self, key, nil); - [self lock]; - } - - [self unlock]; - - return YES; -} - -- (void)trimDiskToSize:(NSUInteger)trimByteCount -{ - NSMutableArray *keysToRemove = nil; - - [self lockForWriting]; - if (_byteCount > trimByteCount) { - keysToRemove = [[NSMutableArray alloc] init]; - - NSArray *keysSortedBySize = [_metadata keysSortedByValueUsingComparator:^NSComparisonResult(PINDiskCacheMetadata * _Nonnull obj1, PINDiskCacheMetadata * _Nonnull obj2) { - return [obj1.size compare:obj2.size]; - }]; - - NSUInteger bytesSaved = 0; - for (NSString *key in [keysSortedBySize reverseObjectEnumerator]) { // largest objects first - [keysToRemove addObject:key]; - NSNumber *byteSize = _metadata[key].size; - if (byteSize) { - bytesSaved += [byteSize unsignedIntegerValue]; - } - if (_byteCount - bytesSaved <= trimByteCount) { - break; - } - } - } - [self unlock]; - - for (NSString *key in keysToRemove) { - [self removeFileAndExecuteBlocksForKey:key]; - } -} - -// This is the default trimming method which happens automatically -- (void)trimDiskToSizeByDate:(NSUInteger)trimByteCount -{ - if (self.isTTLCache) { - [self removeExpiredObjects]; - } - - NSMutableArray *keysToRemove = nil; - - [self lockForWriting]; - if (_byteCount > trimByteCount) { - keysToRemove = [[NSMutableArray alloc] init]; - - // last modified represents last access. - NSArray *keysSortedByLastModifiedDate = [_metadata keysSortedByValueUsingComparator:^NSComparisonResult(PINDiskCacheMetadata * _Nonnull obj1, PINDiskCacheMetadata * _Nonnull obj2) { - return [obj1.lastModifiedDate compare:obj2.lastModifiedDate]; - }]; - - NSUInteger bytesSaved = 0; - // objects accessed last first. - for (NSString *key in keysSortedByLastModifiedDate) { - [keysToRemove addObject:key]; - NSNumber *byteSize = _metadata[key].size; - if (byteSize) { - bytesSaved += [byteSize unsignedIntegerValue]; - } - if (_byteCount - bytesSaved <= trimByteCount) { - break; - } - } - } - [self unlock]; - - for (NSString *key in keysToRemove) { - [self removeFileAndExecuteBlocksForKey:key]; - } -} - -- (void)trimDiskToDate:(NSDate *)trimDate -{ - [self lockForWriting]; - NSArray *keysSortedByCreatedDate = [_metadata keysSortedByValueUsingComparator:^NSComparisonResult(PINDiskCacheMetadata * _Nonnull obj1, PINDiskCacheMetadata * _Nonnull obj2) { - return [obj1.createdDate compare:obj2.createdDate]; - }]; - - NSMutableArray *keysToRemove = [[NSMutableArray alloc] init]; - - for (NSString *key in keysSortedByCreatedDate) { // oldest files first - NSDate *createdDate = _metadata[key].createdDate; - if (!createdDate || _metadata[key].ageLimit > 0.0) - continue; - - if ([createdDate compare:trimDate] == NSOrderedAscending) { // older than trim date - [keysToRemove addObject:key]; - } else { - break; - } - } - [self unlock]; - - for (NSString *key in keysToRemove) { - [self removeFileAndExecuteBlocksForKey:key]; - } -} - -- (void)trimToAgeLimitRecursively -{ - [self lock]; - NSTimeInterval ageLimit = _ageLimit; - [self unlock]; - if (ageLimit == 0.0) - return; - - NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:-ageLimit]; - [self trimToDateAsync:date completion:nil]; - - dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(ageLimit * NSEC_PER_SEC)); - dispatch_after(time, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { - // Ensure that ageLimit is the same as when we were scheduled, otherwise, we've been - // rescheduled (another dispatch_after was issued) and should cancel. - BOOL shouldReschedule = YES; - [self lock]; - if (ageLimit != self->_ageLimit) { - shouldReschedule = NO; - } - [self unlock]; - - if (shouldReschedule) { - [self.operationQueue scheduleOperation:^{ - [self trimToAgeLimitRecursively]; - } withPriority:PINOperationQueuePriorityLow]; - } - }); -} - -#pragma mark - Public Asynchronous Methods - - -- (void)lockFileAccessWhileExecutingBlockAsync:(PINCacheBlock)block -{ - if (block == nil) { - return; - } - - [self.operationQueue scheduleOperation:^{ - [self lockForWriting]; - block(self); - [self unlock]; - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)containsObjectForKeyAsync:(NSString *)key completion:(PINDiskCacheContainsBlock)block -{ - if (!key || !block) - return; - - [self.operationQueue scheduleOperation:^{ - block([self containsObjectForKey:key]); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)objectForKeyAsync:(NSString *)key completion:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - NSURL *fileURL = nil; - id object = [self objectForKey:key fileURL:&fileURL]; - - block(self, key, object); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)fileURLForKeyAsync:(NSString *)key completion:(PINDiskCacheFileURLBlock)block -{ - if (block == nil) { - return; - } - - [self.operationQueue scheduleOperation:^{ - NSURL *fileURL = [self fileURLForKey:key]; - - [self lockForWriting]; - block(key, fileURL); - [self unlock]; - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key completion:(PINDiskCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withAgeLimit:0.0 completion:(PINDiskCacheObjectBlock)block]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit completion:(nullable PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - NSURL *fileURL = nil; - [self setObject:object forKey:key withAgeLimit:ageLimit fileURL:&fileURL]; - - if (block) { - block(self, key, object); - } - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost completion:(nullable PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key completion:(PINDiskCacheObjectBlock)block]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit completion:(nullable PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withAgeLimit:ageLimit completion:(PINDiskCacheObjectBlock)block]; -} - -- (void)removeObjectForKeyAsync:(NSString *)key completion:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - NSURL *fileURL = nil; - [self removeObjectForKey:key fileURL:&fileURL]; - - if (block) { - block(self, key, nil); - } - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)trimToSizeAsync:(NSUInteger)trimByteCount completion:(PINCacheBlock)block -{ - PINOperationBlock operation = ^(id data) { - [self trimToSize:((NSNumber *)data).unsignedIntegerValue]; - }; - - dispatch_block_t completion = nil; - if (block) { - completion = ^{ - block(self); - }; - } - - [self.operationQueue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:PINDiskCacheOperationIdentifierTrimToSize - coalescingData:[NSNumber numberWithUnsignedInteger:trimByteCount] - dataCoalescingBlock:PINDiskTrimmingSizeCoalescingBlock - completion:completion]; -} - -- (void)trimToDateAsync:(NSDate *)trimDate completion:(PINCacheBlock)block -{ - PINOperationBlock operation = ^(id data){ - [self trimToDate:(NSDate *)data]; - }; - - dispatch_block_t completion = nil; - if (block) { - completion = ^{ - block(self); - }; - } - - [self.operationQueue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:PINDiskCacheOperationIdentifierTrimToDate - coalescingData:trimDate - dataCoalescingBlock:PINDiskTrimmingDateCoalescingBlock - completion:completion]; -} - -- (void)trimToSizeByDateAsync:(NSUInteger)trimByteCount completion:(PINCacheBlock)block -{ - PINOperationBlock operation = ^(id data){ - [self trimToSizeByDate:((NSNumber *)data).unsignedIntegerValue]; - }; - - dispatch_block_t completion = nil; - if (block) { - completion = ^{ - block(self); - }; - } - - [self.operationQueue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:PINDiskCacheOperationIdentifierTrimToSizeByDate - coalescingData:[NSNumber numberWithUnsignedInteger:trimByteCount] - dataCoalescingBlock:PINDiskTrimmingSizeCoalescingBlock - completion:completion]; -} - -- (void)removeExpiredObjectsAsync:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self removeExpiredObjects]; - - if (block) { - block(self); - } - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)removeAllObjectsAsync:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self removeAllObjects]; - - if (block) { - block(self); - } - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)enumerateObjectsWithBlockAsync:(PINDiskCacheFileURLEnumerationBlock)block completionBlock:(PINCacheBlock)completionBlock -{ - [self.operationQueue scheduleOperation:^{ - [self enumerateObjectsWithBlock:block]; - - if (completionBlock) { - completionBlock(self); - } - } withPriority:PINOperationQueuePriorityLow]; -} - -#pragma mark - Public Synchronous Methods - - -- (void)synchronouslyLockFileAccessWhileExecutingBlock:(PIN_NOESCAPE PINCacheBlock)block -{ - if (block) { - [self lockForWriting]; - block(self); - [self unlock]; - } -} - -- (BOOL)containsObjectForKey:(NSString *)key -{ - [self lock]; - if (_metadata[key] != nil || _diskStateKnown == NO) { - BOOL objectExpired = NO; - if (self->_ttlCache && _metadata[key].createdDate != nil) { - NSTimeInterval ageLimit = _metadata[key].ageLimit > 0.0 ? _metadata[key].ageLimit : self->_ageLimit; - objectExpired = ageLimit > 0 && fabs([_metadata[key].createdDate timeIntervalSinceDate:[NSDate date]]) > ageLimit; - } - [self unlock]; - return (!objectExpired && [self fileURLForKey:key updateFileModificationDate:NO] != nil); - } - [self unlock]; - return NO; -} - -- (nullable id)objectForKey:(NSString *)key -{ - return [self objectForKey:key fileURL:nil]; -} - -- (id)objectForKeyedSubscript:(NSString *)key -{ - return [self objectForKey:key]; -} - -- (nullable id )objectForKey:(NSString *)key fileURL:(NSURL **)outFileURL -{ - [self lock]; - BOOL containsKey = _metadata[key] != nil || _diskStateKnown == NO; - [self unlock]; - - if (!key || !containsKey) - return nil; - - id object = nil; - NSURL *fileURL = [self encodedFileURLForKey:key]; - - NSDate *now = [NSDate date]; - [self lock]; - if (self->_ttlCache) { - if (!_diskStateKnown) { - if (_metadata[key] == nil) { - NSString *fileKey = [self keyForEncodedFileURL:fileURL]; - [self _locked_initializeDiskPropertiesForFile:fileURL fileKey:fileKey]; - } - } - } - - NSTimeInterval ageLimit = _metadata[key].ageLimit > 0.0 ? _metadata[key].ageLimit : self->_ageLimit; - if (!self->_ttlCache || ageLimit <= 0 || fabs([_metadata[key].createdDate timeIntervalSinceDate:now]) < ageLimit) { - // If the cache should behave like a TTL cache, then only fetch the object if there's a valid ageLimit and the object is still alive - - NSData *objectData = [[NSData alloc] initWithContentsOfFile:[fileURL path]]; - - if (objectData) { - //Be careful with locking below. We unlock here so that we're not locked while deserializing, we re-lock after. - [self unlock]; - @try { - object = _deserializer(objectData, key); - } - @catch (NSException *exception) { - NSError *error = nil; - [self lock]; - [[NSFileManager defaultManager] removeItemAtPath:[fileURL path] error:&error]; - [self unlock]; - PINDiskCacheError(error) - PINDiskCacheException(exception); - } - [self lock]; - } - if (object) { - _metadata[key].lastModifiedDate = now; - [self asynchronouslySetFileModificationDate:now forURL:fileURL]; - } - } - [self unlock]; - - if (outFileURL) { - *outFileURL = fileURL; - } - - return object; -} - -/// Helper function to call fileURLForKey:updateFileModificationDate: -- (NSURL *)fileURLForKey:(NSString *)key -{ - // Don't update the file modification time, if self is a ttlCache - return [self fileURLForKey:key updateFileModificationDate:!self->_ttlCache]; -} - -- (NSURL *)fileURLForKey:(NSString *)key updateFileModificationDate:(BOOL)updateFileModificationDate -{ - if (!key) { - return nil; - } - - NSDate *now = [NSDate date]; - NSURL *fileURL = [self encodedFileURLForKey:key]; - - [self lockForWriting]; - if (fileURL.path && [[NSFileManager defaultManager] fileExistsAtPath:fileURL.path]) { - if (updateFileModificationDate) { - _metadata[key].lastModifiedDate = now; - [self asynchronouslySetFileModificationDate:now forURL:fileURL]; - } - } else { - fileURL = nil; - } - [self unlock]; - return fileURL; -} - -- (void)setObject:(id )object forKey:(NSString *)key -{ - [self setObject:object forKey:key withAgeLimit:0.0]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit -{ - [self setObject:object forKey:key withAgeLimit:ageLimit fileURL:nil]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit -{ - [self setObject:object forKey:key withAgeLimit:ageLimit]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost -{ - [self setObject:object forKey:key]; -} - -- (void)setObject:(id)object forKeyedSubscript:(NSString *)key -{ - if (object == nil) { - [self removeObjectForKey:key]; - } else { - [self setObject:object forKey:key]; - } -} - -- (void)setObject:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit fileURL:(NSURL **)outFileURL -{ - NSAssert(ageLimit <= 0.0 || (ageLimit > 0.0 && _ttlCache), @"ttlCache must be set to YES if setting an object-level age limit."); - - if (!key || !object) - return; - - NSDataWritingOptions writeOptions = NSDataWritingAtomic; - #if TARGET_OS_IPHONE - if (self.writingProtectionOptionSet) { - writeOptions |= self.writingProtectionOption; - } - #endif - - // Remain unlocked here so that we're not locked while serializing. - NSData *data = _serializer(object, key); - NSURL *fileURL = nil; - - NSUInteger byteLimit = self.byteLimit; - if (data.length <= byteLimit || byteLimit == 0) { - // The cache is large enough to fit this object (although we may need to evict others). - fileURL = [self encodedFileURLForKey:key]; - } else { - // The cache isn't large enough to fit this object (even if all others were evicted). - // We should not write it to disk because it will be deleted immediately after. - if (outFileURL) { - *outFileURL = nil; - } - return; - } - - [self lockForWriting]; - PINDiskCacheObjectBlock willAddObjectBlock = self->_willAddObjectBlock; - if (willAddObjectBlock) { - [self unlock]; - willAddObjectBlock(self, key, object); - [self lock]; - } - - NSError *writeError = nil; - BOOL written = [data writeToURL:fileURL options:writeOptions error:&writeError]; - PINDiskCacheError(writeError); - - if (written) { - if (_metadata[key] == nil) { - _metadata[key] = [[PINDiskCacheMetadata alloc] init]; - } - - NSError *error = nil; - NSDictionary *values = [fileURL resourceValuesForKeys:@[ NSURLCreationDateKey, NSURLContentModificationDateKey, NSURLTotalFileAllocatedSizeKey ] error:&error]; - PINDiskCacheError(error); - - NSNumber *diskFileSize = [values objectForKey:NSURLTotalFileAllocatedSizeKey]; - if (diskFileSize) { - NSNumber *prevDiskFileSize = self->_metadata[key].size; - if (prevDiskFileSize) { - self.byteCount = self->_byteCount - [prevDiskFileSize unsignedIntegerValue]; - } - self->_metadata[key].size = diskFileSize; - self.byteCount = self->_byteCount + [diskFileSize unsignedIntegerValue]; // atomic - } - NSDate *createdDate = [values objectForKey:NSURLCreationDateKey]; - if (createdDate) { - self->_metadata[key].createdDate = createdDate; - } - NSDate *lastModifiedDate = [values objectForKey:NSURLContentModificationDateKey]; - if (lastModifiedDate) { - self->_metadata[key].lastModifiedDate = lastModifiedDate; - } - [self asynchronouslySetAgeLimit:ageLimit forURL:fileURL]; - if (self->_byteLimit > 0 && self->_byteCount > self->_byteLimit) - [self trimToSizeByDateAsync:self->_byteLimit completion:nil]; - } else { - fileURL = nil; - } - - PINDiskCacheObjectBlock didAddObjectBlock = self->_didAddObjectBlock; - if (didAddObjectBlock) { - [self unlock]; - didAddObjectBlock(self, key, object); - [self lock]; - } - [self unlock]; - - if (outFileURL) { - *outFileURL = fileURL; - } -} - -- (void)removeObjectForKey:(NSString *)key -{ - [self removeObjectForKey:key fileURL:nil]; -} - -- (void)removeObjectForKey:(NSString *)key fileURL:(NSURL **)outFileURL -{ - if (!key) - return; - - NSURL *fileURL = nil; - - fileURL = [self encodedFileURLForKey:key]; - - [self removeFileAndExecuteBlocksForKey:key]; - - if (outFileURL) { - *outFileURL = fileURL; - } -} - -- (void)trimToSize:(NSUInteger)trimByteCount -{ - if (trimByteCount == 0) { - [self removeAllObjects]; - return; - } - - [self trimDiskToSize:trimByteCount]; -} - -- (void)trimToDate:(NSDate *)trimDate -{ - if (!trimDate) - return; - - if ([trimDate isEqualToDate:[NSDate distantPast]]) { - [self removeAllObjects]; - return; - } - - [self trimDiskToDate:trimDate]; -} - -- (void)trimToSizeByDate:(NSUInteger)trimByteCount -{ - if (trimByteCount == 0) { - [self removeAllObjects]; - return; - } - - [self trimDiskToSizeByDate:trimByteCount]; -} - -- (void)removeExpiredObjects -{ - [self lockForWriting]; - NSDate *now = [NSDate date]; - NSMutableArray *expiredObjectKeys = [NSMutableArray array]; - [_metadata enumerateKeysAndObjectsUsingBlock:^(NSString * _Nonnull key, PINDiskCacheMetadata * _Nonnull obj, BOOL * _Nonnull stop) { - NSTimeInterval ageLimit = obj.ageLimit > 0.0 ? obj.ageLimit : self->_ageLimit; - NSDate *expirationDate = [obj.createdDate dateByAddingTimeInterval:ageLimit]; - if ([expirationDate compare:now] == NSOrderedAscending) { // Expiration date has passed - [expiredObjectKeys addObject:key]; - } - }]; - [self unlock]; - - for (NSString *key in expiredObjectKeys) { - //unlock, removeFileAndExecuteBlocksForKey handles locking itself - [self removeFileAndExecuteBlocksForKey:key]; - } -} - -- (void)removeAllObjects -{ - // We don't need to know the disk state since we're just going to remove everything. - [self lockForWriting]; - PINCacheBlock willRemoveAllObjectsBlock = self->_willRemoveAllObjectsBlock; - if (willRemoveAllObjectsBlock) { - [self unlock]; - willRemoveAllObjectsBlock(self); - [self lock]; - } - - [PINDiskCache moveItemAtURLToTrash:self->_cacheURL]; - [PINDiskCache emptyTrash]; - - [self _locked_createCacheDirectory]; - - [self->_metadata removeAllObjects]; - self.byteCount = 0; // atomic - - PINCacheBlock didRemoveAllObjectsBlock = self->_didRemoveAllObjectsBlock; - if (didRemoveAllObjectsBlock) { - [self unlock]; - didRemoveAllObjectsBlock(self); - [self lock]; - } - - [self unlock]; -} - -- (void)enumerateObjectsWithBlock:(PIN_NOESCAPE PINDiskCacheFileURLEnumerationBlock)block -{ - if (!block) - return; - - [self lockAndWaitForKnownState]; - NSDate *now = [NSDate date]; - - for (NSString *key in _metadata) { - NSURL *fileURL = [self encodedFileURLForKey:key]; - // If the cache should behave like a TTL cache, then only fetch the object if there's a valid ageLimit and the object is still alive - NSDate *createdDate = _metadata[key].createdDate; - NSTimeInterval ageLimit = _metadata[key].ageLimit > 0.0 ? _metadata[key].ageLimit : self->_ageLimit; - if (!self->_ttlCache || ageLimit <= 0 || (createdDate && fabs([createdDate timeIntervalSinceDate:now]) < ageLimit)) { - BOOL stop = NO; - block(key, fileURL, &stop); - if (stop) - break; - } - } - [self unlock]; -} - -#pragma mark - Public Thread Safe Accessors - - -- (PINDiskCacheObjectBlock)willAddObjectBlock -{ - PINDiskCacheObjectBlock block = nil; - - [self lock]; - block = _willAddObjectBlock; - [self unlock]; - - return block; -} - -- (void)setWillAddObjectBlock:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_willAddObjectBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (PINDiskCacheObjectBlock)willRemoveObjectBlock -{ - PINDiskCacheObjectBlock block = nil; - - [self lock]; - block = _willRemoveObjectBlock; - [self unlock]; - - return block; -} - -- (void)setWillRemoveObjectBlock:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_willRemoveObjectBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (PINCacheBlock)willRemoveAllObjectsBlock -{ - PINCacheBlock block = nil; - - [self lock]; - block = _willRemoveAllObjectsBlock; - [self unlock]; - - return block; -} - -- (void)setWillRemoveAllObjectsBlock:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_willRemoveAllObjectsBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (PINDiskCacheObjectBlock)didAddObjectBlock -{ - PINDiskCacheObjectBlock block = nil; - - [self lock]; - block = _didAddObjectBlock; - [self unlock]; - - return block; -} - -- (void)setDidAddObjectBlock:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_didAddObjectBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (PINDiskCacheObjectBlock)didRemoveObjectBlock -{ - PINDiskCacheObjectBlock block = nil; - - [self lock]; - block = _didRemoveObjectBlock; - [self unlock]; - - return block; -} - -- (void)setDidRemoveObjectBlock:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_didRemoveObjectBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (PINCacheBlock)didRemoveAllObjectsBlock -{ - PINCacheBlock block = nil; - - [self lock]; - block = _didRemoveAllObjectsBlock; - [self unlock]; - - return block; -} - -- (void)setDidRemoveAllObjectsBlock:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_didRemoveAllObjectsBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (NSUInteger)byteLimit -{ - NSUInteger byteLimit; - - [self lock]; - byteLimit = _byteLimit; - [self unlock]; - - return byteLimit; -} - -- (void)setByteLimit:(NSUInteger)byteLimit -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_byteLimit = byteLimit; - [self unlock]; - - if (byteLimit > 0) - [self trimDiskToSizeByDate:byteLimit]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (NSTimeInterval)ageLimit -{ - NSTimeInterval ageLimit; - - [self lock]; - ageLimit = _ageLimit; - [self unlock]; - - return ageLimit; -} - -- (void)setAgeLimit:(NSTimeInterval)ageLimit -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_ageLimit = ageLimit; - [self unlock]; - - [self.operationQueue scheduleOperation:^{ - [self trimToAgeLimitRecursively]; - } withPriority:PINOperationQueuePriorityLow]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (BOOL)isTTLCache -{ - BOOL isTTLCache; - - [self lock]; - isTTLCache = _ttlCache; - [self unlock]; - - return isTTLCache; -} - -#if TARGET_OS_IPHONE -- (NSDataWritingOptions)writingProtectionOption -{ - NSDataWritingOptions option; - - [self lock]; - option = _writingProtectionOption; - [self unlock]; - - return option; -} - -- (void)setWritingProtectionOption:(NSDataWritingOptions)writingProtectionOption -{ - [self.operationQueue scheduleOperation:^{ - NSDataWritingOptions option = NSDataWritingFileProtectionMask & writingProtectionOption; - - [self lock]; - self->_writingProtectionOptionSet = YES; - self->_writingProtectionOption = option; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} -#endif - -- (void)lockForWriting -{ - [self lock]; - - // Lock if the disk isn't writable. - if (_diskWritable == NO) { - pthread_cond_wait(&_diskWritableCondition, &_mutex); - } -} - -- (void)lockAndWaitForKnownState -{ - [self lock]; - - // Lock if the disk state isn't known. - if (_diskStateKnown == NO) { - pthread_cond_wait(&_diskStateKnownCondition, &_mutex); - } -} - -- (void)lock -{ - __unused int result = pthread_mutex_lock(&_mutex); - NSAssert(result == 0, @"Failed to lock PINDiskCache %@. Code: %d", self, result); -} - -- (void)unlock -{ - __unused int result = pthread_mutex_unlock(&_mutex); - NSAssert(result == 0, @"Failed to unlock PINDiskCache %@. Code: %d", self, result); -} - -@end - -@implementation PINDiskCache (Deprecated) - -- (void)lockFileAccessWhileExecutingBlock:(nullable PINCacheBlock)block -{ - [self lockFileAccessWhileExecutingBlockAsync:block]; -} - -- (void)containsObjectForKey:(NSString *)key block:(PINDiskCacheContainsBlock)block -{ - [self containsObjectForKeyAsync:key completion:block]; -} - -- (void)objectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block -{ - [self objectForKeyAsync:key completion:block]; -} - -- (void)fileURLForKey:(NSString *)key block:(nullable PINDiskCacheFileURLBlock)block -{ - [self fileURLForKeyAsync:key completion:block]; -} - -- (void)setObject:(id )object forKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key completion:block]; -} - -- (void)removeObjectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block -{ - [self removeObjectForKeyAsync:key completion:block]; -} - -- (void)trimToDate:(NSDate *)date block:(nullable PINDiskCacheBlock)block -{ - [self trimToDateAsync:date completion:^(id diskCache) { - if (block) { - block((PINDiskCache *)diskCache); - } - }]; -} - -- (void)trimToSize:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block -{ - [self trimToSizeAsync:byteCount completion:^(id diskCache) { - if (block) { - block((PINDiskCache *)diskCache); - } - }]; -} - -- (void)trimToSizeByDate:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block -{ - [self trimToSizeAsync:byteCount completion:^(id diskCache) { - if (block) { - block((PINDiskCache *)diskCache); - } - }]; -} - -- (void)removeAllObjects:(nullable PINDiskCacheBlock)block -{ - [self removeAllObjectsAsync:^(id diskCache) { - if (block) { - block((PINDiskCache *)diskCache); - } - }]; -} - -- (void)enumerateObjectsWithBlock:(PINDiskCacheFileURLBlock)block completionBlock:(nullable PINDiskCacheBlock)completionBlock -{ - [self enumerateObjectsWithBlockAsync:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL * _Nonnull stop) { - block(key, fileURL); - } completionBlock:^(id diskCache) { - if (completionBlock) { - completionBlock((PINDiskCache *)diskCache); - } - }]; -} - -- (void)setTtlCache:(BOOL)ttlCache -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_ttlCache = ttlCache; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -@end - -@implementation PINDiskCacheMetadata -@end diff --git a/Carthage/Checkouts/PINCache/Source/PINMemoryCache.h b/Carthage/Checkouts/PINCache/Source/PINMemoryCache.h deleted file mode 100644 index ef413ce4..00000000 --- a/Carthage/Checkouts/PINCache/Source/PINMemoryCache.h +++ /dev/null @@ -1,245 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -@class PINMemoryCache; -@class PINOperationQueue; - - -/** - `PINMemoryCache` is a fast, thread safe key/value store similar to `NSCache`. On iOS it will clear itself - automatically to reduce memory usage when the app receives a memory warning or goes into the background. - - Access is natively synchronous. Asynchronous variations are provided. Every asynchronous method accepts a - callback block that runs on a concurrent , with cache reads and writes protected by a lock. - - All access to the cache is dated so the that the least-used objects can be trimmed first. Setting an - optional will trigger a GCD timer to periodically to trim the cache to that age. - - Objects can optionally be set with a "cost", which could be a byte count or any other meaningful integer. - Setting a will automatically keep the cache below that value with . - - Values will not persist after application relaunch or returning from the background. See for - a memory cache backed by a disk cache. - */ - -PIN_SUBCLASSING_RESTRICTED -@interface PINMemoryCache : NSObject - -#pragma mark - Properties -/// @name Core - -/** - The total accumulated cost. - */ -@property (readonly) NSUInteger totalCost; - -/** - The maximum cost allowed to accumulate before objects begin to be removed with . - */ -@property (assign) NSUInteger costLimit; - -/** - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value - greater than `0.0` will start a recurring GCD timer with the same period that calls . - Setting it back to `0.0` will stop the timer. Defaults to `0.0`. - */ -@property (assign) NSTimeInterval ageLimit; - -/** - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the - cache, it only lives as long as self.ageLimit. This has the following implications: - - Accessing an object in the cache does not extend that object's lifetime in the cache - - When attempting to access an object in the cache that has lived longer than self.ageLimit, - the cache will behave as if the object does not exist - - @note If an object-level age limit is set via one of the @c -setObject:forKey:withAgeLimit methods, - that age limit overrides self.ageLimit. The overridden object age limit could be greater or - less than self.agelimit but must be greater than zero. - */ -@property (nonatomic, readonly, getter=isTTLCache) BOOL ttlCache; - -/** - When `YES` on iOS the cache will remove all objects when the app receives a memory warning. - Defaults to `YES`. - */ -@property (assign) BOOL removeAllObjectsOnMemoryWarning; - -/** - When `YES` on iOS the cache will remove all objects when the app enters the background. - Defaults to `YES`. - */ -@property (assign) BOOL removeAllObjectsOnEnteringBackground; - -#pragma mark - Event Blocks -/// @name Event Blocks - -/** - A block to be executed just before an object is added to the cache. This block will be excuted within - a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheObjectBlock willAddObjectBlock; - -/** - A block to be executed just before an object is removed from the cache. This block will be excuted - within a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheObjectBlock willRemoveObjectBlock; - -/** - A block to be executed just before all objects are removed from the cache as a result of . - This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheBlock willRemoveAllObjectsBlock; - -/** - A block to be executed just after an object is added to the cache. This block will be excuted within - a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheObjectBlock didAddObjectBlock; - -/** - A block to be executed just after an object is removed from the cache. This block will be excuted - within a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheObjectBlock didRemoveObjectBlock; - -/** - A block to be executed just after all objects are removed from the cache as a result of . - This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheBlock didRemoveAllObjectsBlock; - -/** - A block to be executed upon receiving a memory warning (iOS only) potentially in parallel with other blocks on the . - This block will be executed regardless of the value of . Defaults to `nil`. - */ -@property (nullable, copy) PINCacheBlock didReceiveMemoryWarningBlock; - -/** - A block to be executed when the app enters the background (iOS only) potentially in parallel with other blocks on the . - This block will be executed regardless of the value of . Defaults to `nil`. - */ -@property (nullable, copy) PINCacheBlock didEnterBackgroundBlock; - -#pragma mark - Lifecycle -/// @name Shared Cache - -/** - A shared cache. - - @result The shared singleton cache instance. - */ -@property (class, strong, readonly) PINMemoryCache *sharedCache; - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue; - -- (instancetype)initWithName:(NSString *)name operationQueue:(PINOperationQueue *)operationQueue; - -- (instancetype)initWithName:(NSString *)name operationQueue:(PINOperationQueue *)operationQueue ttlCache:(BOOL)ttlCache NS_DESIGNATED_INITIALIZER; - -#pragma mark - Asynchronous Methods -/// @name Asynchronous Methods - -/** - Removes objects from the cache, costliest objects first, until the is below the specified - value. This method returns immediately and executes the passed block after the cache has been trimmed, - potentially in parallel with other blocks on the . - - @param cost The total accumulation allowed to remain after the cache has been trimmed. - @param block A block to be executed concurrently after the cache has been trimmed, or nil. - */ -- (void)trimToCostAsync:(NSUInteger)cost completion:(nullable PINCacheBlock)block; - -/** - Removes objects from the cache, ordered by date (least recently used first), until the is below - the specified value. This method returns immediately and executes the passed block after the cache has been - trimmed, potentially in parallel with other blocks on the . - - @param cost The total accumulation allowed to remain after the cache has been trimmed. - @param block A block to be executed concurrently after the cache has been trimmed, or nil. - */ -- (void)trimToCostByDateAsync:(NSUInteger)cost completion:(nullable PINCacheBlock)block; - -/** - Loops through all objects in the cache with reads and writes suspended. Calling serial methods which - write to the cache inside block may be unsafe and may result in a deadlock. This method returns immediately. - - @param block A block to be executed for every object in the cache. - @param completionBlock An optional block to be executed concurrently when the enumeration is complete. - */ -- (void)enumerateObjectsWithBlockAsync:(PINCacheObjectEnumerationBlock)block completionBlock:(nullable PINCacheBlock)completionBlock; - -#pragma mark - Synchronous Methods -/// @name Synchronous Methods - -/** - Removes objects from the cache, costliest objects first, until the is below the specified - value. This method blocks the calling thread until the cache has been trimmed. - - @see trimToCostAsync: - @param cost The total accumulation allowed to remain after the cache has been trimmed. - */ -- (void)trimToCost:(NSUInteger)cost; - -/** - Removes objects from the cache, ordered by date (least recently used first), until the is below - the specified value. This method blocks the calling thread until the cache has been trimmed. - - @see trimToCostByDateAsync: - @param cost The total accumulation allowed to remain after the cache has been trimmed. - */ -- (void)trimToCostByDate:(NSUInteger)cost; - -/** - Loops through all objects in the cache within a memory lock (reads and writes are suspended during the enumeration). - This method blocks the calling thread until all objects have been enumerated. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - - @see enumerateObjectsWithBlockAsync:completionBlock: - @param block A block to be executed for every object in the cache. - - @warning Do not call this method within the event blocks (, etc.) - Instead use the asynchronous version, . - - */ -- (void)enumerateObjectsWithBlock:(PIN_NOESCAPE PINCacheObjectEnumerationBlock)block; - -@end - - -#pragma mark - Deprecated - -typedef void (^PINMemoryCacheBlock)(PINMemoryCache *cache); -typedef void (^PINMemoryCacheObjectBlock)(PINMemoryCache *cache, NSString *key, id _Nullable object); -typedef void (^PINMemoryCacheContainmentBlock)(BOOL containsObject); - -@interface PINMemoryCache (Deprecated) -- (void)containsObjectForKey:(NSString *)key block:(PINMemoryCacheContainmentBlock)block __attribute__((deprecated)); -- (void)objectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block __attribute__((deprecated)); -- (void)setObject:(id)object forKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block __attribute__((deprecated)); -- (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost block:(nullable PINMemoryCacheObjectBlock)block __attribute__((deprecated)); -- (void)removeObjectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block __attribute__((deprecated)); -- (void)trimToDate:(NSDate *)date block:(nullable PINMemoryCacheBlock)block __attribute__((deprecated)); -- (void)trimToCost:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block __attribute__((deprecated)); -- (void)trimToCostByDate:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block __attribute__((deprecated)); -- (void)removeAllObjects:(nullable PINMemoryCacheBlock)block __attribute__((deprecated)); -- (void)enumerateObjectsWithBlock:(PINMemoryCacheObjectBlock)block completionBlock:(nullable PINMemoryCacheBlock)completionBlock __attribute__((deprecated)); -- (void)setTtlCache:(BOOL)ttlCache DEPRECATED_MSG_ATTRIBUTE("ttlCache is no longer a settable property and must now be set via initializer."); -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINCache/Source/PINMemoryCache.m b/Carthage/Checkouts/PINCache/Source/PINMemoryCache.m deleted file mode 100644 index 9f64c293..00000000 --- a/Carthage/Checkouts/PINCache/Source/PINMemoryCache.m +++ /dev/null @@ -1,927 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import "PINMemoryCache.h" - -#import -#import - -#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0 -#import -#endif - -static NSString * const PINMemoryCachePrefix = @"com.pinterest.PINMemoryCache"; -static NSString * const PINMemoryCacheSharedName = @"PINMemoryCacheSharedName"; - -@interface PINMemoryCache () -@property (copy, nonatomic) NSString *name; -@property (strong, nonatomic) PINOperationQueue *operationQueue; -@property (assign, nonatomic) pthread_mutex_t mutex; -@property (strong, nonatomic) NSMutableDictionary *dictionary; -@property (strong, nonatomic) NSMutableDictionary *createdDates; -@property (strong, nonatomic) NSMutableDictionary *accessDates; -@property (strong, nonatomic) NSMutableDictionary *costs; -@property (strong, nonatomic) NSMutableDictionary *ageLimits; -@end - -@implementation PINMemoryCache - -@synthesize name = _name; -@synthesize ageLimit = _ageLimit; -@synthesize costLimit = _costLimit; -@synthesize totalCost = _totalCost; -@synthesize ttlCache = _ttlCache; -@synthesize willAddObjectBlock = _willAddObjectBlock; -@synthesize willRemoveObjectBlock = _willRemoveObjectBlock; -@synthesize willRemoveAllObjectsBlock = _willRemoveAllObjectsBlock; -@synthesize didAddObjectBlock = _didAddObjectBlock; -@synthesize didRemoveObjectBlock = _didRemoveObjectBlock; -@synthesize didRemoveAllObjectsBlock = _didRemoveAllObjectsBlock; -@synthesize didReceiveMemoryWarningBlock = _didReceiveMemoryWarningBlock; -@synthesize didEnterBackgroundBlock = _didEnterBackgroundBlock; - -#pragma mark - Initialization - - -- (void)dealloc -{ - [[NSNotificationCenter defaultCenter] removeObserver:self]; - - __unused int result = pthread_mutex_destroy(&_mutex); - NSCAssert(result == 0, @"Failed to destroy lock in PINMemoryCache %p. Code: %d", (void *)self, result); -} - -- (instancetype)init -{ - return [self initWithOperationQueue:[PINOperationQueue sharedOperationQueue]]; -} - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue -{ - return [self initWithName:PINMemoryCacheSharedName operationQueue:operationQueue]; -} - -- (instancetype)initWithName:(NSString *)name operationQueue:(PINOperationQueue *)operationQueue -{ - return [self initWithName:name operationQueue:operationQueue ttlCache:NO]; -} - -- (instancetype)initWithName:(NSString *)name operationQueue:(PINOperationQueue *)operationQueue ttlCache:(BOOL)ttlCache -{ - if (self = [super init]) { - __unused int result = pthread_mutex_init(&_mutex, NULL); - NSAssert(result == 0, @"Failed to init lock in PINMemoryCache %@. Code: %d", self, result); - - _name = [name copy]; - _operationQueue = operationQueue; - _ttlCache = ttlCache; - - _dictionary = [[NSMutableDictionary alloc] init]; - _createdDates = [[NSMutableDictionary alloc] init]; - _accessDates = [[NSMutableDictionary alloc] init]; - _costs = [[NSMutableDictionary alloc] init]; - _ageLimits = [[NSMutableDictionary alloc] init]; - - _willAddObjectBlock = nil; - _willRemoveObjectBlock = nil; - _willRemoveAllObjectsBlock = nil; - - _didAddObjectBlock = nil; - _didRemoveObjectBlock = nil; - _didRemoveAllObjectsBlock = nil; - - _didReceiveMemoryWarningBlock = nil; - _didEnterBackgroundBlock = nil; - - _ageLimit = 0.0; - _costLimit = 0; - _totalCost = 0; - - _removeAllObjectsOnMemoryWarning = YES; - _removeAllObjectsOnEnteringBackground = YES; - -#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0 && !TARGET_OS_WATCH - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(didReceiveEnterBackgroundNotification:) - name:UIApplicationDidEnterBackgroundNotification - object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(didReceiveMemoryWarningNotification:) - name:UIApplicationDidReceiveMemoryWarningNotification - object:nil]; - -#endif - } - return self; -} - -+ (PINMemoryCache *)sharedCache -{ - static PINMemoryCache *cache; - static dispatch_once_t predicate; - - dispatch_once(&predicate, ^{ - cache = [[PINMemoryCache alloc] init]; - }); - - return cache; -} - -#pragma mark - Private Methods - - -- (void)didReceiveMemoryWarningNotification:(NSNotification *)notification { - if (self.removeAllObjectsOnMemoryWarning) { - [self removeAllObjectsAsync:nil]; - } else { - [self removeExpiredObjects]; - } - - [self.operationQueue scheduleOperation:^{ - [self lock]; - PINCacheBlock didReceiveMemoryWarningBlock = self->_didReceiveMemoryWarningBlock; - [self unlock]; - - if (didReceiveMemoryWarningBlock) - didReceiveMemoryWarningBlock(self); - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)didReceiveEnterBackgroundNotification:(NSNotification *)notification -{ - if (self.removeAllObjectsOnEnteringBackground) - [self removeAllObjectsAsync:nil]; - - [self.operationQueue scheduleOperation:^{ - [self lock]; - PINCacheBlock didEnterBackgroundBlock = self->_didEnterBackgroundBlock; - [self unlock]; - - if (didEnterBackgroundBlock) - didEnterBackgroundBlock(self); - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)removeObjectAndExecuteBlocksForKey:(NSString *)key -{ - [self lock]; - id object = _dictionary[key]; - NSNumber *cost = _costs[key]; - PINCacheObjectBlock willRemoveObjectBlock = _willRemoveObjectBlock; - PINCacheObjectBlock didRemoveObjectBlock = _didRemoveObjectBlock; - [self unlock]; - - if (willRemoveObjectBlock) - willRemoveObjectBlock(self, key, object); - - [self lock]; - if (cost) - _totalCost -= [cost unsignedIntegerValue]; - - [_dictionary removeObjectForKey:key]; - [_createdDates removeObjectForKey:key]; - [_accessDates removeObjectForKey:key]; - [_costs removeObjectForKey:key]; - [_ageLimits removeObjectForKey:key]; - [self unlock]; - - if (didRemoveObjectBlock) - didRemoveObjectBlock(self, key, nil); -} - -- (void)trimMemoryToDate:(NSDate *)trimDate -{ - [self lock]; - NSDictionary *createdDates = [_createdDates copy]; - NSDictionary *ageLimits = [_ageLimits copy]; - [self unlock]; - - [createdDates enumerateKeysAndObjectsUsingBlock:^(NSString * _Nonnull key, NSDate * _Nonnull createdDate, BOOL * _Nonnull stop) { - NSTimeInterval ageLimit = [ageLimits[key] doubleValue]; - if (!createdDate || ageLimit > 0.0) { - return; - } - if ([createdDate compare:trimDate] == NSOrderedAscending) { // older than trim date - [self removeObjectAndExecuteBlocksForKey:key]; - } - }]; -} - -- (void)removeExpiredObjects -{ - [self lock]; - NSDictionary *createdDates = [_createdDates copy]; - NSDictionary *ageLimits = [_ageLimits copy]; - NSTimeInterval globalAgeLimit = self->_ageLimit; - [self unlock]; - - NSDate *now = [NSDate date]; - for (NSString *key in ageLimits) { - NSDate *createdDate = createdDates[key]; - NSTimeInterval ageLimit = [ageLimits[key] doubleValue] ?: globalAgeLimit; - if (!createdDate) - continue; - - NSDate *expirationDate = [createdDate dateByAddingTimeInterval:ageLimit]; - if ([expirationDate compare:now] == NSOrderedAscending) { // Expiration date has passed - [self removeObjectAndExecuteBlocksForKey:key]; - } - } -} - -- (void)trimToCostLimit:(NSUInteger)limit -{ - NSUInteger totalCost = 0; - - [self lock]; - totalCost = _totalCost; - NSArray *keysSortedByCost = [_costs keysSortedByValueUsingSelector:@selector(compare:)]; - [self unlock]; - - if (totalCost <= limit) { - return; - } - - for (NSString *key in [keysSortedByCost reverseObjectEnumerator]) { // costliest objects first - [self removeObjectAndExecuteBlocksForKey:key]; - - [self lock]; - totalCost = _totalCost; - [self unlock]; - - if (totalCost <= limit) - break; - } -} - -- (void)trimToCostLimitByDate:(NSUInteger)limit -{ - if (self.isTTLCache) { - [self removeExpiredObjects]; - } - - NSUInteger totalCost = 0; - - [self lock]; - totalCost = _totalCost; - NSArray *keysSortedByAccessDate = [_accessDates keysSortedByValueUsingSelector:@selector(compare:)]; - [self unlock]; - - if (totalCost <= limit) - return; - - for (NSString *key in keysSortedByAccessDate) { // oldest objects first - [self removeObjectAndExecuteBlocksForKey:key]; - - [self lock]; - totalCost = _totalCost; - [self unlock]; - if (totalCost <= limit) - break; - } -} - -- (void)trimToAgeLimitRecursively -{ - [self lock]; - NSTimeInterval ageLimit = _ageLimit; - [self unlock]; - - if (ageLimit == 0.0) - return; - - NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:-ageLimit]; - - [self trimMemoryToDate:date]; - - dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(ageLimit * NSEC_PER_SEC)); - dispatch_after(time, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){ - // Ensure that ageLimit is the same as when we were scheduled, otherwise, we've been - // rescheduled (another dispatch_after was issued) and should cancel. - BOOL shouldReschedule = YES; - [self lock]; - if (ageLimit != self->_ageLimit) { - shouldReschedule = NO; - } - [self unlock]; - - if (shouldReschedule) { - [self.operationQueue scheduleOperation:^{ - [self trimToAgeLimitRecursively]; - } withPriority:PINOperationQueuePriorityLow]; - } - }); -} - -#pragma mark - Public Asynchronous Methods - - -- (void)containsObjectForKeyAsync:(NSString *)key completion:(PINCacheObjectContainmentBlock)block -{ - if (!key || !block) - return; - - [self.operationQueue scheduleOperation:^{ - BOOL containsObject = [self containsObjectForKey:key]; - - block(containsObject); - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)objectForKeyAsync:(NSString *)key completion:(PINCacheObjectBlock)block -{ - if (block == nil) { - return; - } - - [self.operationQueue scheduleOperation:^{ - id object = [self objectForKey:key]; - - block(self, key, object); - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)setObjectAsync:(id)object forKey:(NSString *)key completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:0 completion:block]; -} - -- (void)setObjectAsync:(id)object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:0 ageLimit:ageLimit completion:block]; -} - -- (void)setObjectAsync:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:cost ageLimit:0.0 completion:block]; -} - -- (void)setObjectAsync:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit completion:(PINCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self setObject:object forKey:key withCost:cost ageLimit:ageLimit]; - - if (block) - block(self, key, object); - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)removeObjectForKeyAsync:(NSString *)key completion:(PINCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self removeObjectForKey:key]; - - if (block) - block(self, key, nil); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)trimToDateAsync:(NSDate *)trimDate completion:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self trimToDate:trimDate]; - - if (block) - block(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)trimToCostAsync:(NSUInteger)cost completion:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self trimToCost:cost]; - - if (block) - block(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)trimToCostByDateAsync:(NSUInteger)cost completion:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self trimToCostByDate:cost]; - - if (block) - block(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)removeExpiredObjectsAsync:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self removeExpiredObjects]; - - if (block) - block(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)removeAllObjectsAsync:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self removeAllObjects]; - - if (block) - block(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)enumerateObjectsWithBlockAsync:(PINCacheObjectEnumerationBlock)block completionBlock:(PINCacheBlock)completionBlock -{ - [self.operationQueue scheduleOperation:^{ - [self enumerateObjectsWithBlock:block]; - - if (completionBlock) - completionBlock(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -#pragma mark - Public Synchronous Methods - - -- (BOOL)containsObjectForKey:(NSString *)key -{ - if (!key) - return NO; - - [self lock]; - BOOL containsObject = (_dictionary[key] != nil); - [self unlock]; - return containsObject; -} - -- (nullable id)objectForKey:(NSString *)key -{ - if (!key) - return nil; - - NSDate *now = [NSDate date]; - [self lock]; - id object = nil; - // If the cache should behave like a TTL cache, then only fetch the object if there's a valid ageLimit and the object is still alive - NSTimeInterval ageLimit = [_ageLimits[key] doubleValue] ?: self->_ageLimit; - if (!self->_ttlCache || ageLimit <= 0 || fabs([[_createdDates objectForKey:key] timeIntervalSinceDate:now]) < ageLimit) { - object = _dictionary[key]; - } - [self unlock]; - - if (object) { - [self lock]; - _accessDates[key] = now; - [self unlock]; - } - - return object; -} - -- (id)objectForKeyedSubscript:(NSString *)key -{ - return [self objectForKey:key]; -} - -- (void)setObject:(id)object forKey:(NSString *)key -{ - [self setObject:object forKey:key withCost:0]; -} - -- (void)setObject:(id)object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit -{ - [self setObject:object forKey:key withCost:0 ageLimit:ageLimit]; -} - -- (void)setObject:(id)object forKeyedSubscript:(NSString *)key -{ - if (object == nil) { - [self removeObjectForKey:key]; - } else { - [self setObject:object forKey:key]; - } -} - -- (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost -{ - [self setObject:object forKey:key withCost:cost ageLimit:0.0]; -} - -- (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit -{ - NSAssert(ageLimit <= 0.0 || (ageLimit > 0.0 && _ttlCache), @"ttlCache must be set to YES if setting an object-level age limit."); - - if (!key || !object) - return; - - [self lock]; - PINCacheObjectBlock willAddObjectBlock = _willAddObjectBlock; - PINCacheObjectBlock didAddObjectBlock = _didAddObjectBlock; - NSUInteger costLimit = _costLimit; - [self unlock]; - - if (willAddObjectBlock) - willAddObjectBlock(self, key, object); - - [self lock]; - NSNumber* oldCost = _costs[key]; - if (oldCost) - _totalCost -= [oldCost unsignedIntegerValue]; - - NSDate *now = [NSDate date]; - _dictionary[key] = object; - _createdDates[key] = now; - _accessDates[key] = now; - _costs[key] = @(cost); - - if (ageLimit > 0.0) { - _ageLimits[key] = @(ageLimit); - } else { - [_ageLimits removeObjectForKey:key]; - } - - _totalCost += cost; - [self unlock]; - - if (didAddObjectBlock) - didAddObjectBlock(self, key, object); - - if (costLimit > 0) - [self trimToCostByDate:costLimit]; -} - -- (void)removeObjectForKey:(NSString *)key -{ - if (!key) - return; - - [self removeObjectAndExecuteBlocksForKey:key]; -} - -- (void)trimToDate:(NSDate *)trimDate -{ - if (!trimDate) - return; - - if ([trimDate isEqualToDate:[NSDate distantPast]]) { - [self removeAllObjects]; - return; - } - - [self trimMemoryToDate:trimDate]; -} - -- (void)trimToCost:(NSUInteger)cost -{ - [self trimToCostLimit:cost]; -} - -- (void)trimToCostByDate:(NSUInteger)cost -{ - [self trimToCostLimitByDate:cost]; -} - -- (void)removeAllObjects -{ - [self lock]; - PINCacheBlock willRemoveAllObjectsBlock = _willRemoveAllObjectsBlock; - PINCacheBlock didRemoveAllObjectsBlock = _didRemoveAllObjectsBlock; - [self unlock]; - - if (willRemoveAllObjectsBlock) - willRemoveAllObjectsBlock(self); - - [self lock]; - [_dictionary removeAllObjects]; - [_createdDates removeAllObjects]; - [_accessDates removeAllObjects]; - [_costs removeAllObjects]; - [_ageLimits removeAllObjects]; - - _totalCost = 0; - [self unlock]; - - if (didRemoveAllObjectsBlock) - didRemoveAllObjectsBlock(self); - -} - -- (void)enumerateObjectsWithBlock:(PIN_NOESCAPE PINCacheObjectEnumerationBlock)block -{ - if (!block) - return; - - [self lock]; - NSDate *now = [NSDate date]; - NSArray *keysSortedByCreatedDate = [_createdDates keysSortedByValueUsingSelector:@selector(compare:)]; - - for (NSString *key in keysSortedByCreatedDate) { - // If the cache should behave like a TTL cache, then only fetch the object if there's a valid ageLimit and the object is still alive - NSTimeInterval ageLimit = [_ageLimits[key] doubleValue] ?: self->_ageLimit; - if (!self->_ttlCache || ageLimit <= 0 || fabs([[_createdDates objectForKey:key] timeIntervalSinceDate:now]) < ageLimit) { - BOOL stop = NO; - block(self, key, _dictionary[key], &stop); - if (stop) - break; - } - } - [self unlock]; -} - -#pragma mark - Public Thread Safe Accessors - - -- (PINCacheObjectBlock)willAddObjectBlock -{ - [self lock]; - PINCacheObjectBlock block = _willAddObjectBlock; - [self unlock]; - - return block; -} - -- (void)setWillAddObjectBlock:(PINCacheObjectBlock)block -{ - [self lock]; - _willAddObjectBlock = [block copy]; - [self unlock]; -} - -- (PINCacheObjectBlock)willRemoveObjectBlock -{ - [self lock]; - PINCacheObjectBlock block = _willRemoveObjectBlock; - [self unlock]; - - return block; -} - -- (void)setWillRemoveObjectBlock:(PINCacheObjectBlock)block -{ - [self lock]; - _willRemoveObjectBlock = [block copy]; - [self unlock]; -} - -- (PINCacheBlock)willRemoveAllObjectsBlock -{ - [self lock]; - PINCacheBlock block = _willRemoveAllObjectsBlock; - [self unlock]; - - return block; -} - -- (void)setWillRemoveAllObjectsBlock:(PINCacheBlock)block -{ - [self lock]; - _willRemoveAllObjectsBlock = [block copy]; - [self unlock]; -} - -- (PINCacheObjectBlock)didAddObjectBlock -{ - [self lock]; - PINCacheObjectBlock block = _didAddObjectBlock; - [self unlock]; - - return block; -} - -- (void)setDidAddObjectBlock:(PINCacheObjectBlock)block -{ - [self lock]; - _didAddObjectBlock = [block copy]; - [self unlock]; -} - -- (PINCacheObjectBlock)didRemoveObjectBlock -{ - [self lock]; - PINCacheObjectBlock block = _didRemoveObjectBlock; - [self unlock]; - - return block; -} - -- (void)setDidRemoveObjectBlock:(PINCacheObjectBlock)block -{ - [self lock]; - _didRemoveObjectBlock = [block copy]; - [self unlock]; -} - -- (PINCacheBlock)didRemoveAllObjectsBlock -{ - [self lock]; - PINCacheBlock block = _didRemoveAllObjectsBlock; - [self unlock]; - - return block; -} - -- (void)setDidRemoveAllObjectsBlock:(PINCacheBlock)block -{ - [self lock]; - _didRemoveAllObjectsBlock = [block copy]; - [self unlock]; -} - -- (PINCacheBlock)didReceiveMemoryWarningBlock -{ - [self lock]; - PINCacheBlock block = _didReceiveMemoryWarningBlock; - [self unlock]; - - return block; -} - -- (void)setDidReceiveMemoryWarningBlock:(PINCacheBlock)block -{ - [self lock]; - _didReceiveMemoryWarningBlock = [block copy]; - [self unlock]; -} - -- (PINCacheBlock)didEnterBackgroundBlock -{ - [self lock]; - PINCacheBlock block = _didEnterBackgroundBlock; - [self unlock]; - - return block; -} - -- (void)setDidEnterBackgroundBlock:(PINCacheBlock)block -{ - [self lock]; - _didEnterBackgroundBlock = [block copy]; - [self unlock]; -} - -- (NSTimeInterval)ageLimit -{ - [self lock]; - NSTimeInterval ageLimit = _ageLimit; - [self unlock]; - - return ageLimit; -} - -- (void)setAgeLimit:(NSTimeInterval)ageLimit -{ - [self lock]; - _ageLimit = ageLimit; - [self unlock]; - - [self trimToAgeLimitRecursively]; -} - -- (NSUInteger)costLimit -{ - [self lock]; - NSUInteger costLimit = _costLimit; - [self unlock]; - - return costLimit; -} - -- (void)setCostLimit:(NSUInteger)costLimit -{ - [self lock]; - _costLimit = costLimit; - [self unlock]; - - if (costLimit > 0) - [self trimToCostLimitByDate:costLimit]; -} - -- (NSUInteger)totalCost -{ - [self lock]; - NSUInteger cost = _totalCost; - [self unlock]; - - return cost; -} - -- (BOOL)isTTLCache { - BOOL isTTLCache; - - [self lock]; - isTTLCache = _ttlCache; - [self unlock]; - - return isTTLCache; -} - -- (void)lock -{ - __unused int result = pthread_mutex_lock(&_mutex); - NSAssert(result == 0, @"Failed to lock PINMemoryCache %@. Code: %d", self, result); -} - -- (void)unlock -{ - __unused int result = pthread_mutex_unlock(&_mutex); - NSAssert(result == 0, @"Failed to unlock PINMemoryCache %@. Code: %d", self, result); -} - -@end - - -#pragma mark - Deprecated - -@implementation PINMemoryCache (Deprecated) - -- (void)containsObjectForKey:(NSString *)key block:(PINMemoryCacheContainmentBlock)block -{ - [self containsObjectForKeyAsync:key completion:block]; -} - -- (void)objectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block -{ - [self objectForKeyAsync:key completion:^(id memoryCache, NSString *memoryCacheKey, id memoryCacheObject) { - if (block) { - block((PINMemoryCache *)memoryCache, memoryCacheKey, memoryCacheObject); - } - }]; -} - -- (void)setObject:(id)object forKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key completion:^(id memoryCache, NSString *memoryCacheKey, id memoryCacheObject) { - if (block) { - block((PINMemoryCache *)memoryCache, memoryCacheKey, memoryCacheObject); - } - }]; -} - -- (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost block:(nullable PINMemoryCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:cost completion:^(id memoryCache, NSString *memoryCacheKey, id memoryCacheObject) { - if (block) { - block((PINMemoryCache *)memoryCache, memoryCacheKey, memoryCacheObject); - } - }]; -} - -- (void)removeObjectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block -{ - [self removeObjectForKeyAsync:key completion:^(id memoryCache, NSString *memoryCacheKey, id memoryCacheObject) { - if (block) { - block((PINMemoryCache *)memoryCache, memoryCacheKey, memoryCacheObject); - } - }]; -} - -- (void)trimToDate:(NSDate *)date block:(nullable PINMemoryCacheBlock)block -{ - [self trimToDateAsync:date completion:^(id memoryCache) { - if (block) { - block((PINMemoryCache *)memoryCache); - } - }]; -} - -- (void)trimToCost:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block -{ - [self trimToCostAsync:cost completion:^(id memoryCache) { - if (block) { - block((PINMemoryCache *)memoryCache); - } - }]; -} - -- (void)trimToCostByDate:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block -{ - [self trimToCostByDateAsync:cost completion:^(id memoryCache) { - if (block) { - block((PINMemoryCache *)memoryCache); - } - }]; -} - -- (void)removeAllObjects:(nullable PINMemoryCacheBlock)block -{ - [self removeAllObjectsAsync:^(id memoryCache) { - if (block) { - block((PINMemoryCache *)memoryCache); - } - }]; -} - -- (void)enumerateObjectsWithBlock:(PINMemoryCacheObjectBlock)block completionBlock:(nullable PINMemoryCacheBlock)completionBlock -{ - [self enumerateObjectsWithBlockAsync:^(id _Nonnull cache, NSString * _Nonnull key, id _Nullable object, BOOL * _Nonnull stop) { - if ([cache isKindOfClass:[PINMemoryCache class]]) { - PINMemoryCache *memoryCache = (PINMemoryCache *)cache; - block(memoryCache, key, object); - } - } completionBlock:^(id memoryCache) { - if (completionBlock) { - completionBlock((PINMemoryCache *)memoryCache); - } - }]; -} - -- (void)setTtlCache:(BOOL)ttlCache -{ - [self lock]; - _ttlCache = ttlCache; - [self unlock]; -} - -@end diff --git a/Carthage/Checkouts/PINCache/Tests/Default-568h@2x.png b/Carthage/Checkouts/PINCache/Tests/Default-568h@2x.png deleted file mode 100644 index 9fe62db8..00000000 Binary files a/Carthage/Checkouts/PINCache/Tests/Default-568h@2x.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/Tests/Info.plist b/Carthage/Checkouts/PINCache/Tests/Info.plist deleted file mode 100644 index ba72822e..00000000 --- a/Carthage/Checkouts/PINCache/Tests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.h b/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.h deleted file mode 100644 index e11033d0..00000000 --- a/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.h +++ /dev/null @@ -1,15 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface NSDate (PINCacheTests) - -/** Swizzles +[NSDate date] to always return the specified date. */ -+ (void)startMockingDateWithDate:(NSDate *)date; - -/** Stops swizzling +[NSDate date] and returns to original implementation */ -+ (void)stopMockingDate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.m b/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.m deleted file mode 100644 index 1133c2b0..00000000 --- a/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.m +++ /dev/null @@ -1,50 +0,0 @@ -#import "NSDate+PINCacheTests.h" - -#import - -static NSDate *PINCacheTestsSwizzedDate = nil; - -@implementation NSDate (PINCacheTests) - -+ (void)startMockingDateWithDate:(NSDate *)date -{ - // If already swizzled, just replace the static date. - BOOL alreadySwizzled = (PINCacheTestsSwizzedDate != nil); - PINCacheTestsSwizzedDate = date; - if (alreadySwizzled) { return; } - - SEL originalSelector = @selector(date); - SEL swizzledSelector = @selector(swizzled_date); - - Method originalMethod = class_getClassMethod(self, originalSelector); - Method swizzledMethod = class_getClassMethod(self, swizzledSelector); - - Class class = object_getClass((id)self); - - if (class_addMethod(class, - originalSelector, - method_getImplementation(swizzledMethod), - method_getTypeEncoding(swizzledMethod))) { - class_replaceMethod(class, - swizzledSelector, - method_getImplementation(originalMethod), - method_getTypeEncoding(originalMethod)); - } else { - method_exchangeImplementations(originalMethod, swizzledMethod); - } -} - -+ (void)stopMockingDate -{ - Method originalMethod = class_getClassMethod(self, @selector(date)); - Method swizzledMethod = class_getClassMethod(self, @selector(swizzled_date)); - method_exchangeImplementations(swizzledMethod, originalMethod); - PINCacheTestsSwizzedDate = nil; -} - -+ (instancetype)swizzled_date -{ - return PINCacheTestsSwizzedDate; -} - -@end diff --git a/Carthage/Checkouts/PINCache/Tests/PINCacheTests.h b/Carthage/Checkouts/PINCache/Tests/PINCacheTests.h deleted file mode 100644 index 0d46b14d..00000000 --- a/Carthage/Checkouts/PINCache/Tests/PINCacheTests.h +++ /dev/null @@ -1,11 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import - -extern const NSTimeInterval PINCacheTestBlockTimeout; - -@interface PINCacheTests : XCTestCase - -@end diff --git a/Carthage/Checkouts/PINCache/Tests/PINCacheTests.m b/Carthage/Checkouts/PINCache/Tests/PINCacheTests.m deleted file mode 100644 index b16cb450..00000000 --- a/Carthage/Checkouts/PINCache/Tests/PINCacheTests.m +++ /dev/null @@ -1,1404 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import "PINCacheTests.h" -#import "NSDate+PINCacheTests.h" -#import "PINDiskCache+PINCacheTests.h" -#import -#import - - -#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR - typedef UIImage PINImage; -#else - typedef NSImage PINImage; -#endif - -static NSString * const PINCacheTestName = @"PINCacheTest"; -const NSTimeInterval PINCacheTestBlockTimeout = 20.0; - -@interface PINDiskCache() - -@property (assign, nonatomic) BOOL diskStateKnown; -@property (strong, nonatomic) NSDictionary *metadata; - -+ (dispatch_queue_t)sharedTrashQueue; -+ (NSURL *)sharedTrashURL; -- (NSString *)encodedString:(NSString *)string; - -@end - -@interface PINMemoryCache () - -- (void)didReceiveEnterBackgroundNotification:(NSNotification *)notification; -- (void)setTtlCache:(BOOL)ttlCache; - -@end - -@interface PINCacheTests () -@property (strong, nonatomic) PINCache *cache; -@end - -@implementation PINCacheTests - -#pragma mark - XCTestCase - - -- (void)setUp -{ - [super setUp]; - self.cache = [[PINCache alloc] initWithName:[[NSUUID UUID] UUIDString]]; - - XCTAssertNotNil(self.cache, @"test cache does not exist"); -} - -- (void)tearDown -{ - dispatch_group_t group = dispatch_group_create(); - dispatch_group_enter(group); - - [self.cache removeAllObjects]; - - // Wait for disk cache to clean up its trash - dispatch_async([PINDiskCache sharedTrashQueue], ^{ - dispatch_group_leave(group); - }); - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - self.cache = nil; - - XCTAssertNil(self.cache, @"test cache did not deallocate"); - - [super tearDown]; -} - -#pragma mark - Private Methods - -- (PINImage *)image -{ - static PINImage *image = nil; - - if (!image) { - NSError *error = nil; - NSURL *imageURL = [[NSBundle bundleForClass:self.class] URLForResource:@"Default-568h@2x" withExtension:@"png"]; - NSData *imageData = [[NSData alloc] initWithContentsOfURL:imageURL - options:NSDataReadingUncached - error:&error]; - image = [[PINImage alloc] initWithData:imageData]; - } - - NSAssert(image, @"test image does not exist"); - - return image; -} - -- (dispatch_time_t)timeout -{ - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(PINCacheTestBlockTimeout * NSEC_PER_SEC)); -} - -#pragma mark - Tests - - -- (void)testDiskCacheStringEncoding -{ - NSString *string = [self.cache.diskCache encodedString:@"http://www.test.de-?%"]; - XCTAssertTrue([string isEqualToString:@"http%3A%2F%2Fwww%2Etest%2Ede-?%25"]); -} - -- (void)testCoreProperties -{ - PINCache *cache = [[PINCache alloc] initWithName:PINCacheTestName]; - XCTAssertTrue([cache.name isEqualToString:PINCacheTestName], @"wrong name"); - XCTAssertNotNil(cache.memoryCache, @"memory cache does not exist"); - XCTAssertNotNil(cache.diskCache, @"disk cache doe not exist"); -} - -- (void)testDiskCacheURL -{ - // Wait for URL to be created. We use enumerateObjectsWithBlock because it waits for a known disk state. - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL * _Nonnull stop) {}]; - BOOL isDir = NO; - BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:[self.cache.diskCache.cacheURL path] isDirectory:&isDir]; - - XCTAssertTrue(exists, @"disk cache directory does not exist"); - XCTAssertTrue(isDir, @"disk cache url is not a directory"); -} - -- (void)testObjectSet -{ - NSString *key = @"key"; - __block PINImage *image = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - [self.cache setObjectAsync:[self image] forKey:key completion:^(id cache, NSString *key, id object) { - image = (PINImage *)object; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertNotNil(image, @"object was not set"); -} - -- (void)testObjectSetWithCost -{ - NSString *key = @"key"; - __block PINImage *image = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - PINImage *srcImage = [self image]; - NSUInteger cost = (NSUInteger)(srcImage.size.width * srcImage.size.height); - - [self.cache setObjectAsync:srcImage forKey:key withCost:cost completion:^(id cache, NSString *key, id object) { - image = (PINImage *)object; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertNotNil(image, @"object was not set"); - XCTAssertTrue(self.cache.memoryCache.totalCost == cost, @"memory cache total cost was incorrect"); -} - -- (void)testObjectSetWithDuplicateKey -{ - NSString *key = @"key"; - NSString *value1 = @"value1"; - NSString *value2 = @"value2"; - __block NSString *cachedValue = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - [self.cache setObject:value1 forKey:key]; - [self.cache setObject:value2 forKey:key]; - - [self.cache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - cachedValue = (NSString *)object; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertEqual(cachedValue, value2, @"set did not overwrite previous object with same key"); -} - -- (void)testObjectContains -{ - NSString *key = @"key"; - NSString *value = @"value"; - - [self.cache setObject:value forKey:key]; - - // Synchronously - XCTAssertTrue([self.cache containsObjectForKey:key], @"object was gone"); - - // Asynchronously - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - __block BOOL cacheContainsObject = NO; - [self.cache containsObjectForKeyAsync:key completion:^(BOOL containsObject) { - cacheContainsObject = containsObject; - dispatch_semaphore_signal(semaphore); - }]; - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertTrue(cacheContainsObject, @"object was gone"); -} - -- (void)testObjectContainsWithCost -{ - NSString *key = @"key"; - NSString *value = @"value"; - - [self.cache setObject:value forKey:key withCost:1]; - - // Synchronously - XCTAssertTrue([self.cache containsObjectForKey:key], @"object was gone"); - - // Asynchronously - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - __block BOOL cacheContainsObject = NO; - [self.cache containsObjectForKeyAsync:key completion:^(BOOL containsObject) { - cacheContainsObject = containsObject; - dispatch_semaphore_signal(semaphore); - }]; - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertTrue(cacheContainsObject, @"object was gone"); - XCTAssertTrue(self.cache.memoryCache.totalCost == 1, @"memory cache total cost was incorrect"); -} - -- (void)testObjectGet -{ - NSString *key = @"key"; - __block PINImage *image = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - self.cache[key] = [self image]; - - [self.cache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - image = (PINImage *)object; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertNotNil(image, @"object was not got"); -} - -- (void)testObjectGetWithInvalidKey -{ - NSString *key = @"key"; - NSString *invalidKey = @"invalid"; - __block PINImage *image = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - self.cache[key] = [self image]; - - [self.cache objectForKeyAsync:invalidKey completion:^(id cache, NSString *key, id object) { - image = (PINImage *)object; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertNil(image, @"object with non-existent key was not nil"); -} - -- (void)testObjectRemove -{ - NSString *key = @"key"; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - self.cache[key] = [self image]; - - __block BOOL willRemoveObjectBlockCalled = NO; - self.cache.diskCache.willRemoveObjectBlock = ^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - willRemoveObjectBlockCalled = YES; - }; - - __block BOOL didRemoveObjectBlockCalled = NO; - self.cache.diskCache.didRemoveObjectBlock = ^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - didRemoveObjectBlockCalled = YES; - }; - - [self.cache removeObjectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - id object = self.cache[key]; - - XCTAssertNil(object, @"object was not removed"); - XCTAssertTrue(willRemoveObjectBlockCalled, @"willRemoveObjectBlock was not called"); - XCTAssertTrue(didRemoveObjectBlockCalled, @"didRemoveObjectBlock was not called"); -} - -- (void)testObjectRemoveAll -{ - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - self.cache[key1] = key1; - self.cache[key2] = key2; - - __block BOOL willRemoveAllObjectsBlockCalled = NO; - self.cache.diskCache.willRemoveAllObjectsBlock = ^(id _Nonnull cache) { - willRemoveAllObjectsBlockCalled = YES; - }; - - __block BOOL didRemoveAllObjectsBlockCalled = NO; - self.cache.diskCache.didRemoveAllObjectsBlock = ^(id _Nonnull cache) { - didRemoveAllObjectsBlockCalled = YES; - }; - - [self.cache removeAllObjectsAsync:^(id cache) { - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - id object1 = self.cache[key1]; - id object2 = self.cache[key2]; - - XCTAssertNil(object1, @"not all objects were removed"); - XCTAssertNil(object2, @"not all objects were removed"); - XCTAssertTrue(willRemoveAllObjectsBlockCalled, @"willRemoveAllObjectsBlock was not called"); - XCTAssertTrue(didRemoveAllObjectsBlockCalled, @"didRemoveAllObjectsBlock was not called"); - XCTAssertTrue(self.cache.memoryCache.totalCost == 0, @"memory cache cost was not 0 after removing all objects"); - XCTAssertTrue(self.cache.diskByteCount == 0, @"disk cache byte count was not 0 after removing all objects"); -} - -- (void)testMemoryCost -{ - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - - [self.cache.memoryCache setObject:key1 forKey:key1 withCost:1]; - [self.cache.memoryCache setObject:key2 forKey:key2 withCost:2]; - - XCTAssertTrue(self.cache.memoryCache.totalCost == 3, @"memory cache total cost was incorrect"); - - [self.cache.memoryCache trimToCost:1]; - - id object1 = self.cache.memoryCache[key1]; - id object2 = self.cache.memoryCache[key2]; - - XCTAssertNotNil(object1, @"object did not survive memory cache trim to cost"); - XCTAssertNil(object2, @"object was not trimmed despite exceeding cost"); - XCTAssertTrue(self.cache.memoryCache.totalCost == 1, @"cache had an unexpected total cost"); -} - -- (void)testMemoryCostOnReplace -{ - NSString *key1 = @"key1"; - - for(int i=0; i<10; i++) { - [self.cache.memoryCache setObject:key1 forKey:key1 withCost:1]; - } - - XCTAssertTrue(self.cache.memoryCache.totalCost == 1, @"cache had an unexpected total cost"); -} - -- (void)testMemoryCostByDate -{ - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - - [self.cache.memoryCache setObject:key1 forKey:key1 withCost:1]; - [self.cache.memoryCache setObject:key2 forKey:key2 withCost:2]; - - [self.cache.memoryCache trimToCostByDate:1]; - - id object1 = self.cache.memoryCache[key1]; - id object2 = self.cache.memoryCache[key2]; - - XCTAssertNil(object1, @"object was not trimmed despite exceeding cost"); - XCTAssertNil(object2, @"object was not trimmed despite exceeding cost"); - XCTAssertTrue(self.cache.memoryCache.totalCost == 0, @"cache had an unexpected total cost"); -} - -- (void)testMemoryCostByDateWithObjectExpiration -{ - [self.cache.memoryCache setTtlCache:YES]; - [self.cache.memoryCache removeAllObjects]; - NSString * const key1 = @"key1"; - NSString * const key2 = @"key2"; - NSString * const key3 = @"key3"; - NSString * const key4 = @"key4"; - const NSUInteger cost = 1; - const NSTimeInterval oldAgeLimit = 60.0; - const NSTimeInterval notSoOldAgeLimit = 30.0; - - // Add the objects to the cache; set the age limit of one of them (key3) so it expires before the others. - [self.cache.memoryCache setObject:[self image] forKey:key1 withCost:cost ageLimit:oldAgeLimit]; - [self.cache.memoryCache setObject:[self image] forKey:key2 withCost:cost ageLimit:oldAgeLimit]; - [self.cache.memoryCache setObject:[self image] forKey:key3 withCost:cost ageLimit:notSoOldAgeLimit]; - [self.cache.memoryCache setObject:[self image] forKey:key4 withCost:cost ageLimit:oldAgeLimit]; - - // Make the order of recently used key3, key1, key4, key2 - [self.cache.memoryCache objectForKey:key2]; - [self.cache.memoryCache objectForKey:key4]; - [self.cache.memoryCache objectForKey:key1]; - [self.cache.memoryCache objectForKey:key3]; - - // Fast forward 45 seconds. This should expire key3. - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:45]]; - - // Trim the cache enough to evict two objects. - [self.cache.memoryCache trimToCostByDate:self.cache.memoryCache.totalCost - cost * 2]; - - // Go back to current time, so we can check if objects exist in cache. If we don't do this, the getters will return nil - // even if the objects are in the cache. - [NSDate stopMockingDate]; - - // The only objects left should be the last two that were accessed (key3 && key1), but since key3 is expired it will be - // removed first leaving key1 and key4 to remain. - NSMutableArray *keys = [NSMutableArray array]; - [self.cache.memoryCache enumerateObjectsWithBlock:^(id cache, NSString * key, id object, BOOL *stop) { - [keys addObject:key]; - }]; - XCTAssertTrue(keys.count == 2); - XCTAssertTrue([keys.firstObject isEqualToString:key1] || [keys.firstObject isEqualToString:key4]); - XCTAssertTrue([keys.lastObject isEqualToString:key1] || [keys.lastObject isEqualToString:key4]); -} - -- (void)testDiskByteCount -{ - self.cache[@"image"] = [self image]; - - XCTAssertTrue(self.cache.diskByteCount > 0, @"disk cache byte count was not greater than zero"); -} - -- (void)testDiskByteCountWithExistingKey -{ - self.cache[@"image"] = [self image]; - NSUInteger initialDiskByteCount = self.cache.diskByteCount; - self.cache[@"image"] = [self image]; - - XCTAssertTrue(self.cache.diskByteCount == initialDiskByteCount, @"disk cache byte count should not change by adding object with existing key and size"); - - self.cache[@"image2"] = [self image]; - - XCTAssertTrue(self.cache.diskByteCount > initialDiskByteCount, @"disk cache byte count should increase with new key and object added to disk cache"); -} - -- (void)testDiskSizeByDateWithObjectExpiration -{ - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache.diskCache removeAllObjects]; - NSString * const key1 = @"key1"; - NSString * const key2 = @"key2"; - NSString * const key3 = @"key3"; - NSString * const key4 = @"key4"; - const NSUInteger cost = 1; - const NSTimeInterval oldAgeLimit = 60.0; - const NSTimeInterval notSoOldAgeLimit = 30.0; - - // Add the objects to the cache; set the age limit of one of them (key3) so it expires before the others. - [self.cache.diskCache setObject:[self image] forKey:key1 withCost:cost ageLimit:oldAgeLimit]; - [self.cache.diskCache setObject:[self image] forKey:key2 withCost:cost ageLimit:oldAgeLimit]; - [self.cache.diskCache setObject:[self image] forKey:key3 withCost:cost ageLimit:notSoOldAgeLimit]; - NSUInteger sizeOfThreeObjects = self.cache.diskCache.byteCount; - [self.cache.diskCache setObject:[self image] forKey:key4 withCost:cost ageLimit:oldAgeLimit]; - - // Make the order of recently used key3, key1, key4, key2 - [self.cache.diskCache objectForKey:key2]; - [self.cache.diskCache objectForKey:key4]; - [self.cache.diskCache objectForKey:key1]; - [self.cache.diskCache objectForKey:key3]; - - // Fast forward 45 seconds. This should expire key3. - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:45]]; - - - // Trim the cache enough to evict two objects. - [self.cache.diskCache trimToSizeByDate:sizeOfThreeObjects - 1]; - - // Go back to current time, so we can check if objects exist in cache. If we don't do this, the getters will return nil - // even if the objects are in the cache. - [NSDate stopMockingDate]; - - // The only objects left should be the last two that were accessed (key3 && key1), but since key3 is expired it will be - // removed first leaving key1 and key4 to remain. - NSMutableArray *keys = [NSMutableArray array]; - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL * _Nonnull stop) { - [keys addObject:key]; - }]; - - XCTAssertTrue(keys.count == 2); - XCTAssertTrue([keys.firstObject isEqualToString:key1] || [keys.firstObject isEqualToString:key4]); - XCTAssertTrue([keys.lastObject isEqualToString:key1] || [keys.lastObject isEqualToString:key4]); -} - -- (void)testOneThousandAndOneWrites -{ - NSUInteger max = 1001; - __block NSInteger count = max; - - dispatch_queue_t queue = dispatch_queue_create(NULL, DISPATCH_QUEUE_SERIAL); - dispatch_group_t group = dispatch_group_create(); - - for (NSUInteger i = 0; i < max; i++) { - NSString *key = [[NSString alloc] initWithFormat:@"key %lu", (unsigned long)i]; - NSString *obj = [[NSString alloc] initWithFormat:@"obj %lu", (unsigned long)i]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - dispatch_group_enter(group); - [self.cache setObjectAsync:obj forKey:key completion:^(id _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - dispatch_async(queue, ^{ - [self.cache objectForKeyAsync:key completion:^(id _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - NSString *obj = [[NSString alloc] initWithFormat:@"obj %lu", (unsigned long)i]; - XCTAssertTrue([object isEqualToString:obj] == YES, @"object returned was not object set"); - @synchronized (self) { - count -= 1; - } - dispatch_group_leave(group); - }]; - }); - }]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - - XCTAssert(success == 0, @"Timed out waiting on operations"); - @synchronized (self) { - XCTAssertTrue(count == 0, @"one or more object blocks failed to execute, possible queue deadlock"); - } -} - -#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR -- (void)testMemoryWarningBlock -{ - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - __block BOOL blockDidExecute = NO; - - self.cache.memoryCache.didReceiveMemoryWarningBlock = ^(id cache) { - blockDidExecute = YES; - dispatch_semaphore_signal(semaphore); - }; - - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification - object:[UIApplication sharedApplication]]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertTrue(blockDidExecute, @"memory warning block did not execute"); -} - -- (void)testBackgroundBlock -{ - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - __block BOOL blockDidExecute = NO; - - self.cache.memoryCache.didEnterBackgroundBlock = ^(id cache) { - blockDidExecute = YES; - dispatch_semaphore_signal(semaphore); - }; - - BOOL isiOS8OrGreater = NO; - NSString *reqSysVer = @"8"; - NSString *currSysVer = [[UIDevice currentDevice] systemVersion]; - if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending) - isiOS8OrGreater = YES; - - if (isiOS8OrGreater) { - //sending didEnterBackgroundNotification causes crash on iOS 8. - NSNotification *notification = [NSNotification notificationWithName:UIApplicationDidEnterBackgroundNotification object:nil]; - [self.cache.memoryCache performSelector:@selector(didReceiveEnterBackgroundNotification:) withObject:notification]; - - } else { - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidEnterBackgroundNotification - object:[UIApplication sharedApplication]]; - - } - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertTrue(blockDidExecute, @"app background block did not execute"); -} - -- (void)testMemoryWarningProperty -{ - [self.cache.memoryCache setObjectAsync:@"object" forKey:@"object" completion:nil]; - - self.cache.memoryCache.removeAllObjectsOnMemoryWarning = NO; - - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - __block id object = nil; - - self.cache.memoryCache.didReceiveMemoryWarningBlock = ^(id cache) { - object = [cache objectForKey:@"object"]; - dispatch_semaphore_signal(semaphore); - }; - - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification - object:[UIApplication sharedApplication]]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertNotNil(object, @"object was removed from the cache"); -} - -- (void)testMemoryCacheEnumerationWithWarning -{ - NSUInteger objectCount = 3; - - dispatch_apply(objectCount, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(size_t index) { - NSString *key = [[NSString alloc] initWithFormat:@"key %zd", index]; - NSString *obj = [[NSString alloc] initWithFormat:@"obj %zd", index]; - self.cache.memoryCache[key] = obj; - }); - - self.cache.memoryCache.removeAllObjectsOnMemoryWarning = NO; - - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - __block NSUInteger enumCount = 0; - - self.cache.memoryCache.didReceiveMemoryWarningBlock = ^(id cache) { - PINMemoryCache *memoryCache = (PINMemoryCache *)cache; - [memoryCache enumerateObjectsWithBlockAsync:^(id cache, NSString *key, id object, BOOL *stop) { - @synchronized (self) { - enumCount++; - } - } completionBlock:^(id cache) { - dispatch_semaphore_signal(semaphore); - }]; - }; - - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification - object:[UIApplication sharedApplication]]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - @synchronized (self) { - XCTAssertTrue(objectCount == enumCount, @"some objects were not enumerated"); - } -} - -- (void)testDiskCacheEnumeration -{ - NSUInteger objectCount = 3; - - dispatch_group_t group = dispatch_group_create(); - - dispatch_apply(objectCount, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(size_t index) { - NSString *key = [[NSString alloc] initWithFormat:@"key %zd", index]; - NSString *obj = [[NSString alloc] initWithFormat:@"obj %zd", index]; - dispatch_group_enter(group); - [self.cache.diskCache setObjectAsync:obj forKey:key completion:^(PINDiskCache *cache, NSString *key, id object) { - dispatch_group_leave(group); - }]; - }); - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - __block NSUInteger enumCount = 0; - - [self.cache.diskCache enumerateObjectsWithBlockAsync:^(NSString *key, NSURL *fileURL, BOOL *stop) { - @synchronized (self) { - enumCount++; - } - } completionBlock:^(id cache) { - dispatch_semaphore_signal(semaphore); - }]; - - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification - object:[UIApplication sharedApplication]]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - @synchronized (self) { - XCTAssertTrue(objectCount == enumCount, @"some objects were not enumerated"); - } -} -#endif - -- (void)testDeadlocks -{ - NSString *key = @"key"; - NSUInteger objectCount = 1000; - [self.cache setObject:[self image] forKey:key]; - dispatch_queue_t testQueue = dispatch_queue_create("test queue", DISPATCH_QUEUE_CONCURRENT); - - __block NSUInteger enumCount = 0; - dispatch_group_t group = dispatch_group_create(); - for (NSUInteger idx = 0; idx < objectCount; idx++) { - dispatch_group_async(group, testQueue, ^{ - [self.cache objectForKey:key]; - @synchronized (self) { - enumCount++; - } - }); - } - - dispatch_group_wait(group, [self timeout]); - @synchronized (self) { - XCTAssertTrue(objectCount == enumCount, @"was not able to fetch 1000 objects, possibly due to deadlock."); - } -} - -- (void)testAgeLimit -{ - [self.cache removeAllObjects]; - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - self.cache[key1] = [self image]; - self.cache[key2] = [self image]; - [self.cache.memoryCache setAgeLimit:60]; - [self.cache.diskCache setAgeLimit:60]; - - dispatch_group_t group = dispatch_group_create(); - - __block id memObj1 = nil; - __block id diskObj1 = nil; - __block id memObj2 = nil; - __block id diskObj2 = nil; - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - memObj1 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - memObj2 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - diskObj1 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - diskObj2 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - XCTAssert(memObj1 != nil, @"should still be in memory cache"); - XCTAssert(diskObj1 != nil, @"should still be in disk cache"); - XCTAssert(memObj2 != nil, @"should still be in memory cache"); - XCTAssert(diskObj2 != nil, @"should still be in disk cache"); - - //Set them again, but separate it out. - self.cache[key1] = [self image]; - sleep(2); - self.cache[key2] = [self image]; - - sleep(2); - - [self.cache.memoryCache setAgeLimit:3.5]; - [self.cache.diskCache setAgeLimit:3.5]; - - sleep(1); - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - memObj1 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - memObj2 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - diskObj1 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key2 completion:^(PINDiskCache *cache, NSString *key, id object) { - diskObj2 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - XCTAssert(memObj1 == nil, @"should not be in memory cache"); - XCTAssert(diskObj1 == nil, @"should not be in disk cache"); - XCTAssert(memObj2 != nil, @"should be in memory cache"); - XCTAssert(diskObj2 != nil, @"should be in disk cache"); -} - -- (void)testByteLimit -{ - [self.cache removeAllObjects]; - NSString *key = @"key"; - self.cache[key] = [self image]; - - // Below is the size it's actually on disk. - [self.cache.diskCache setByteLimit:983040]; - - // ensure the object is returned - XCTAssert([self.cache.diskCache objectForKey:key] != nil, @"object should be stored"); - - [self.cache.diskCache setByteLimit:1]; - - // wait for disk cache to be trimmed - sleep(2); - - XCTAssert([self.cache.diskCache objectForKey:key] == nil, @"object should be cleared"); - - // check to see if it's actually deleted - [self.cache.diskCache synchronouslyLockFileAccessWhileExecutingBlock:^(id _Nonnull cache) { - NSError *error = nil; - NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:self.cache.diskCache.cacheURL - includingPropertiesForKeys:@[] - options:0 - error:&error]; - XCTAssertNil(error); - XCTAssert(contents.count == 0); - }]; -} - -- (void)testDiskReadingAfterCacheInit -{ - NSString *cacheName = @"testDiskReadingAfterCacheInit"; - PINDiskCache *diskCache = [[PINDiskCache alloc] initWithName:cacheName]; - [diskCache removeAllObjects]; - - // Store a bunch of objects so it will take a long time to initialize. - for (NSUInteger idx = 0; idx < 5000; idx++) { - NSData *tmpData = [[@(idx) stringValue] dataUsingEncoding:NSUTF8StringEncoding]; - [diskCache setObject:tmpData forKey:[@(idx) stringValue]]; - } - - // Create a new instance, it'll have to look on disk to startup. - diskCache = nil; - diskCache = [[PINDiskCache alloc] initWithName:cacheName]; - - // Check to see if we can get an object before the disk state is known. - XCTAssertNotNil([diskCache objectForKey:[@(1) stringValue]]); - XCTAssertFalse(diskCache.diskStateKnown); - - sleep(5); - - XCTAssertTrue(diskCache.diskStateKnown); -} - -#if TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR -- (void)testWritingProtectionOption -{ - self.cache.diskCache.writingProtectionOption = NSDataWritingFileProtectionCompleteUnlessOpen; - - NSString *key = @"key"; - __block NSURL *diskFileURL = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - [self.cache.diskCache setObjectAsync:[self image] forKey:key completion:^(PINDiskCache *cache, NSString *key, id object) { - [cache fileURLForKeyAsync:key completion:^(NSString * _Nonnull key, NSURL * _Nullable fileURL) { - diskFileURL = fileURL; - dispatch_semaphore_signal(semaphore); - }]; - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - NSError *error = nil; - NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:diskFileURL.path error:&error]; - - XCTAssertNil(error, @"error getting attributes of file"); - XCTAssertEqualObjects(attributes[NSFileProtectionKey], NSFileProtectionCompleteUnlessOpen, @"file protection key is incorrect"); -} -#endif - -//Disabled until race conditions can be addressed -- (void)_testTTLCacheObjectAccess { - [self.cache removeAllObjects]; - NSString *key = @"key"; - [self.cache.memoryCache setAgeLimit:2]; - [self.cache.diskCache setAgeLimit:2]; - - - // The cache is going to clear at 2 seconds, set an object at 1 second, so that it misses the first cache clearing - sleep(1); - [self.cache setObject:[self image] forKey:key]; - - // Wait until time 3 so that we know the object should be expired, the 1st cache clearing has happened, and the 2nd cache clearing hasn't happened yet - sleep(2); - - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache.memoryCache setTtlCache:YES]; - - dispatch_group_t group = dispatch_group_create(); - - __block id memObj = nil; - __block id diskObj = nil; - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - memObj = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - diskObj = object; - dispatch_group_leave(group); - }]; - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - // If the cache is supposed to behave like a TTL cache, then the object shouldn't appear to be in the cache - XCTAssertNil(memObj, @"should not be in memory cache"); - XCTAssertNil(diskObj, @"should not be in disk cache"); - - [self.cache.diskCache setTtlCacheSync:NO]; - [self.cache.memoryCache setTtlCache:NO]; - - memObj = nil; - diskObj = nil; - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - memObj = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - diskObj = object; - dispatch_group_leave(group); - }]; - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - // If the cache is NOT supposed to behave like a TTL cache, then the object should appear to be in the cache because it hasn't been cleared yet - XCTAssertNotNil(memObj, @"should still be in memory cache"); - XCTAssertNotNil(diskObj, @"should still be in disk cache"); -} - -//Disabled until race conditions can be addressed -- (void)_testTTLCacheObjectEnumeration { - [self.cache removeAllObjects]; - NSString *key = @"key"; - [self.cache.memoryCache setAgeLimit:2]; - [self.cache.diskCache setAgeLimit:2]; - - - // The cache is going to clear at 2 seconds, set an object at 1 second, so that it misses the first cache clearing - sleep(1); - self.cache[key] = [self image]; - - // Wait until time 3 so that we know the object should be expired, the 1st cache clearing has happened, and the 2nd cache clearing hasn't happened yet - sleep(2); - - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache.memoryCache setTtlCache:YES]; - - // Wait for ttlCache to be set - dispatch_group_t group = dispatch_group_create(); - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key completion:^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - dispatch_group_leave(group); - }]; - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - // With the TTL cache enabled, we expect enumerating over the caches to yield 0 objects - NSUInteger expectedObjCount = 0; - __block NSUInteger objCount = 0; - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL *stop) { - objCount++; - }]; - - XCTAssertEqual(objCount, expectedObjCount, @"Expected %lu objects in the cache", (unsigned long)expectedObjCount); - - objCount = 0; - [self.cache.memoryCache enumerateObjectsWithBlock:^(id cache, NSString *key, id _Nullable object, BOOL *stop) { - objCount++; - }]; - - XCTAssertEqual(objCount, expectedObjCount, @"Expected %lu objects in the cache", (unsigned long)expectedObjCount); - - [self.cache.diskCache setTtlCacheSync:NO]; - [self.cache.memoryCache setTtlCache:NO]; - - // Wait for ttlCache to be set - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key completion:^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - dispatch_group_leave(group); - }]; - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - // With the TTL cache disabled, we expect enumerating over the caches to yield 1 object each, since the 2nd cache clearing hasn't happened yet - expectedObjCount = 1; - objCount = 0; - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL *stop) { - objCount++; - }]; - - XCTAssertEqual(objCount, expectedObjCount, @"Expected %lu objects in the cache", (unsigned long)expectedObjCount); - - objCount = 0; - [self.cache.memoryCache enumerateObjectsWithBlock:^(id _Nonnull cache, NSString * _Nonnull key, id _Nullable object, BOOL *stop) { - objCount++; - }]; - - XCTAssertEqual(objCount, expectedObjCount, @"Expected %lu objects in the cache", (unsigned long)expectedObjCount); -} - -//Disabled until race conditions can be addressed -- (void)_testTTLCacheFileURLForKey { - NSString *key = @"key"; - - dispatch_group_t group = dispatch_group_create(); - dispatch_group_enter(group); - __block NSURL *objectURL = nil; - [self.cache.diskCache setObjectAsync:[self image] forKey:key completion:^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - [cache fileURLForKeyAsync:key completion:^(NSString * _Nonnull key, NSURL * _Nullable fileURL) { - objectURL = fileURL; - dispatch_group_leave(group); - }]; - }]; - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - XCTAssertNotNil(objectURL, @"objectURL should have a non-nil URL"); - - // Wait a moment to ensure that the file modification time is set (done asynchronously) - sleep(1); - - NSError *error = nil; - NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[objectURL path] error:&error]; - NSDate *initialModificationDate = attributes[NSFileModificationDate]; - XCTAssertNotNil(initialModificationDate, @"The saved file should have a non-nil modification date"); - - // Wait a moment to ensure that the file modification time can be changed to something different - sleep(1); - - [self.cache.diskCache setTtlCacheSync:YES]; - - // Wait for ttlCache to be set - sleep(1); - - [self.cache.diskCache objectForKey:key]; - [self.cache.diskCache fileURLForKey:key]; - - // Wait a moment to ensure that the file modification time is set (done asynchronously) - sleep(1); - - attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[objectURL path] error:nil]; - NSDate *ttlCacheEnabledModificationDate = attributes[NSFileModificationDate]; - XCTAssertNotNil(ttlCacheEnabledModificationDate, @"The saved file should have a non-nil modification date"); - - XCTAssertEqualObjects(initialModificationDate, ttlCacheEnabledModificationDate, @"The modification date shouldn't change when accessing the file URL, when ttlCache is enabled"); - - [self.cache.diskCache setTtlCacheSync:NO]; - - // Wait for ttlCache to be set - sleep(1); - - [self.cache.diskCache objectForKey:key]; - [self.cache.diskCache fileURLForKey:key]; - - // Wait a moment to ensure that the file modification time is set (done asynchronously) - sleep(1); - - attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[objectURL path] error:nil]; - NSDate *ttlCacheDisabledModificationDate = attributes[NSFileModificationDate]; - XCTAssertNotNil(ttlCacheDisabledModificationDate, @"The saved file should have a non-nil modification date"); - - XCTAssertNotEqualObjects(initialModificationDate, ttlCacheDisabledModificationDate, @"The modification date should change when accessing the file URL, when ttlCache is not enabled"); - -} - -- (void)testObjectTTLObjectAccess -{ - [self.cache.memoryCache setTtlCache:YES]; - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache removeAllObjects]; - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - - [self.cache setObject:[self image] forKey:key1 withAgeLimit:60.0]; - [self.cache setObject:[self image] forKey:key2 withAgeLimit:120.0]; - - // Neither object should be expired at this point and should exist in both caches - - XCTestExpectation *memObjectForKey1Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #1"]; - [self.cache.memoryCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should still be in memory cache"); - [memObjectForKey1Expectation fulfill]; - }]; - - XCTestExpectation *memObjectForKey2Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #2"]; - [self.cache.memoryCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should still be in memory cache"); - [memObjectForKey2Expectation fulfill]; - }]; - - XCTestExpectation *diskObjectForKey1Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #1"]; - [self.cache.diskCache objectForKeyAsync:key1 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should still be in disk cache"); - [diskObjectForKey1Expectation fulfill]; - }]; - - XCTestExpectation *diskObjectForKey2Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #2"]; - [self.cache.diskCache objectForKeyAsync:key2 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should still be in disk cache"); - [diskObjectForKey2Expectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:0.1 handler:nil]; - - // Fast forward 90 seconds. - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:90]]; - - // The first object has been expired for 30 seconds and should not exist in the cache anymore. - - memObjectForKey1Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #1"]; - [self.cache.memoryCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - XCTAssertNil(object, @"should not be in memory cache"); - [memObjectForKey1Expectation fulfill]; - }]; - - memObjectForKey2Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #2"]; - [self.cache.memoryCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should not be in memory cache"); - [memObjectForKey2Expectation fulfill]; - }]; - - diskObjectForKey1Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #1"]; - [self.cache.diskCache objectForKeyAsync:key1 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNil(object, @"should not be in disk cache"); - [diskObjectForKey1Expectation fulfill]; - }]; - - diskObjectForKey2Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #2"]; - [self.cache.diskCache objectForKeyAsync:key2 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should not be in disk cache"); - [diskObjectForKey2Expectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:0.1 handler:nil]; - - [NSDate stopMockingDate]; -} - -- (void)testObjectTTLObjectEnumeration -{ - [self.cache.memoryCache setTtlCache:YES]; - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache removeAllObjects]; - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - - [self.cache setObject:[self image] forKey:key1 withAgeLimit:60.0]; - [self.cache setObject:[self image] forKey:key2 withAgeLimit:120.0]; - - // Neither object should be expired at this point and should exist in both caches - - __block NSUInteger objCount = 0; - [self.cache.memoryCache enumerateObjectsWithBlock:^(id cache, NSString *key, id _Nullable object, BOOL *stop) { - objCount++; - }]; - XCTAssertEqual(objCount, 2, @"Expected 2 objects, got %tu.", objCount); - - objCount = 0; - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL *stop) { - objCount++; - }]; - XCTAssertEqual(objCount, 2, @"Expected 2 objects, got %tu.", objCount); - - // Fast forward 90 seconds. - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:90]]; - - // The first object has been expired for 30 seconds and should not exist in the cache anymore. - - objCount = 0; - [self.cache.memoryCache enumerateObjectsWithBlock:^(id cache, NSString *key, id _Nullable object, BOOL *stop) { - objCount++; - }]; - XCTAssertEqual(objCount, 1, @"Expected 1 object, got %tu.", objCount); - - objCount = 0; - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL *stop) { - objCount++; - }]; - XCTAssertEqual(objCount, 1, @"Expected 1 object, got %tu.", objCount); - - [NSDate stopMockingDate]; -} - -- (void)testRemoveExpiredObjects -{ - [self.cache.memoryCache setTtlCache:YES]; - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache removeAllObjects]; - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - - [self.cache setObject:[self image] forKey:key1 withAgeLimit:60.0]; - [self.cache setObject:[self image] forKey:key2 withAgeLimit:120.0]; - - // Fast forward 90 seconds. - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:90]]; - - // The first object has been expired for 30 seconds and should be cleared out. - [self.cache removeExpiredObjects]; - - // Go back to current time, so we can check if objects exist in cache. If we don't do this, the getters will return nil - // even if the objects are in the cache. - [NSDate stopMockingDate]; - - XCTestExpectation *memObjectForKey1Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #1"]; - [self.cache.memoryCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - XCTAssertNil(object, @"should not be in memory cache"); - [memObjectForKey1Expectation fulfill]; - }]; - - XCTestExpectation *memObjectForKey2Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #2"]; - [self.cache.memoryCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should not be in memory cache"); - [memObjectForKey2Expectation fulfill]; - }]; - - XCTestExpectation *diskObjectForKey1Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #1"]; - [self.cache.diskCache objectForKeyAsync:key1 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNil(object, @"should not be in disk cache"); - [diskObjectForKey1Expectation fulfill]; - }]; - - XCTestExpectation *diskObjectForKey2Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #2"]; - [self.cache.diskCache objectForKeyAsync:key2 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should not be in disk cache"); - [diskObjectForKey2Expectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:0.1 handler:nil]; -} - -- (void)testDiskRehydrationOfObjectAgeLimit -{ - NSString * const cacheName = @"testDiskRehydrationOfObjectAgeLimit"; - NSString * const key = @"key"; - const NSTimeInterval ageLimit = 60.0; - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:cacheName]; - [testCache setTtlCacheSync:YES]; - NSURL *testCacheURL = testCache.cacheURL; - NSError *error = nil; - - //Make sure the cache URL does not exist. - if ([[NSFileManager defaultManager] fileExistsAtPath:[testCacheURL path]]) { - [[NSFileManager defaultManager] removeItemAtURL:testCacheURL error:&error]; - XCTAssertNil(error); - } - - testCache = [[PINDiskCache alloc] initWithName:cacheName]; - [testCache setTtlCacheSync:YES]; - [testCache setObject:[self image] forKey:key withAgeLimit:ageLimit]; - - // The age limit is set asynchronously, *even* when we set the object synchronously. - sleep(1); - - // Re-initialize the cache, this should read the age limit for the object from the extended file system attributes. - testCache = [[PINDiskCache alloc] initWithName:cacheName]; - [testCache setTtlCacheSync:YES]; - - [testCache waitForKnownState]; - id object = testCache.metadata[key]; - id ageLimitFromDisk = [object valueForKey:@"ageLimit"]; - XCTAssertEqual([ageLimitFromDisk doubleValue], ageLimit); -} - -- (void)testAsyncDiskInitialization -{ - NSString * const cacheName = @"testAsyncDiskInitialization"; - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:cacheName]; - NSURL *testCacheURL = testCache.cacheURL; - NSError *error = nil; - - //Make sure the cache URL does not exist. - if ([[NSFileManager defaultManager] fileExistsAtPath:[testCacheURL path]]) { - [[NSFileManager defaultManager] removeItemAtURL:testCacheURL error:&error]; - XCTAssertNil(error); - } - - testCache = [[PINDiskCache alloc] initWithName:cacheName]; - //This should not return until *after* disk cache directory has been created - [testCache setObject:@"some bogus object" forKey:@"some bogus key"]; - XCTAssertTrue([[NSFileManager defaultManager] fileExistsAtPath:[testCacheURL path]]); -} - -- (void)testDiskCacheSet -{ - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:@"testDiskCacheSet"]; - const NSUInteger objectCount = 100; - [self measureBlock:^{ - for (NSUInteger idx = 0; idx < objectCount; idx++) { - [testCache setObject:[@(idx) stringValue] forKey:[@(idx) stringValue]]; - } - }]; -} - -- (void)testDiskCacheHit -{ - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:@"textDiskCacheHit"]; - const NSUInteger objectCount = 100; - for (NSUInteger idx = 0; idx < objectCount; idx++) { - [testCache setObject:[@(idx) stringValue] forKey:[@(idx) stringValue]]; - } - [self measureBlock:^{ - for (NSUInteger idx = 0; idx < objectCount; idx++) { - [testCache objectForKey:[@(idx) stringValue]]; - } - }]; -} - -- (void)testDiskCacheMiss -{ - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:@"testDiskCacheMiss"]; - const NSUInteger objectCount = 100; - [self measureBlock:^{ - for (NSUInteger idx = 0; idx < objectCount; idx++) { - [testCache objectForKey:[@(idx) stringValue]]; - } - }]; -} - -- (void)testDiskCacheEmptyTrash -{ - const NSUInteger fileCount = 100; - NSFileManager *fileManager = [NSFileManager defaultManager]; - NSString *trashPath = [[PINDiskCache sharedTrashURL] path]; - - dispatch_group_t group = dispatch_group_create(); - - NSError *error = nil; - unsigned long long originalTempDirSize = [[fileManager attributesOfItemAtPath:trashPath error:&error] fileSize]; - XCTAssertNil(error); - - for (int i = 0; i < fileCount; i++) { - NSString *key = [NSString stringWithFormat:@"key%d", i]; - self.cache.diskCache[key] = key; - } - - dispatch_group_enter(group); - [self.cache.diskCache removeAllObjectsAsync:^(id _Nonnull cache) { - // Temporary directory should be bigger now since the trash directory is still inside it - NSError *error = nil; - unsigned long long tempDirSize = [[fileManager attributesOfItemAtPath:trashPath error:&error] fileSize]; - XCTAssertNil(error); - XCTAssertLessThan(originalTempDirSize, tempDirSize); - - // Temporary directory should be gone at the end of the trash queue. - dispatch_group_enter(group); - dispatch_async([PINDiskCache sharedTrashQueue], ^{ - XCTAssertFalse([fileManager fileExistsAtPath:trashPath isDirectory:NULL]); - dispatch_group_leave(group); - }); - - dispatch_group_leave(group); - }]; - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)testCustomEncoderDecoder { - NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]; - PINDiskCacheKeyEncoderBlock encoder = ^NSString *(NSString *decodedKey) { - return decodedKey; - }; - PINDiskCacheKeyDecoderBlock decoder = ^NSString *(NSString *encodedKey) { - return encodedKey; - }; - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:@"testCustomEncoder" - prefix:PINDiskCachePrefix - rootPath:rootPath - serializer:NULL - deserializer:NULL - keyEncoder:encoder - keyDecoder:decoder - operationQueue:[PINOperationQueue sharedOperationQueue]]; - - [testCache setObject:@(1) forKey:@"test_key"]; - - XCTAssertNotNil([testCache objectForKey:@"test_key"], @"Object should not be nil"); - - NSString *encodedKey = [[testCache fileURLForKey:@"test_key"] lastPathComponent]; - XCTAssertEqualObjects(@"test_key", encodedKey, @"Encoded key should be equal to decoded one"); - -} - -- (void)testTTLCacheIsSet { - PINCache *cache = [[PINCache alloc] initWithName:@"test" rootPath:PINDiskCachePrefix serializer:nil deserializer:nil keyEncoder:nil keyDecoder:nil ttlCache:YES]; - XCTAssert(cache.diskCache.isTTLCache); - XCTAssert(cache.memoryCache.isTTLCache); -} - -@end diff --git a/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.h b/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.h deleted file mode 100644 index ce487335..00000000 --- a/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.h +++ /dev/null @@ -1,16 +0,0 @@ -#import - -@interface PINDiskCache (PINCacheTests) - -/** - Sets `ttlCache` property synchronously. This is normally set asyncronously, but for testing purposes it is useful block until the - actual value has been set. - */ -- (void)setTtlCacheSync:(BOOL)ttlCache; - -/** - Waits until all metadata has been read off the disk - */ -- (void)waitForKnownState; - -@end diff --git a/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.m b/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.m deleted file mode 100644 index 3535d43b..00000000 --- a/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.m +++ /dev/null @@ -1,28 +0,0 @@ -#import "PINDiskCache+PINCacheTests.h" - -@interface PINDiskCache () { - BOOL _ttlCache; -} - -- (void)lock; -- (void)lockAndWaitForKnownState; -- (void)unlock; - -@end - -@implementation PINDiskCache (PINCacheTests) - -- (void)setTtlCacheSync:(BOOL)ttlCache -{ - [self lock]; - self->_ttlCache = ttlCache; - [self unlock]; -} - -- (void)waitForKnownState -{ - [self lockAndWaitForKnownState]; - [self unlock]; -} - -@end diff --git a/Carthage/Checkouts/PINCache/build_docs.sh b/Carthage/Checkouts/PINCache/build_docs.sh deleted file mode 100755 index b50920de..00000000 --- a/Carthage/Checkouts/PINCache/build_docs.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env sh - -appledoc \ - --company-id com.pinterest \ - --project-name PINCache \ - --project-company Pinterest \ - --project-version 2.0 \ - --docset-min-xcode-version 4.3 \ - --docset-bundle-id %COMPANYID.%PROJECTID \ - --docset-bundle-name "%PROJECT %VERSION" \ - --docset-bundle-filename %COMPANYID.%PROJECTID-%VERSIONID.docset \ - --ignore "tests" \ - --ignore "docs" \ - --ignore "*.m" \ - --no-repeat-first-par \ - --explicit-crossref \ - --clean-output \ - --keep-intermediate-files \ - --output ./docs \ - . - -mv docs/docset docs/com.pinterest.PINCache-2.0.docset -rm docs/docset-installed.txt diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Info.plist b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Info.plist deleted file mode 100644 index 6d0f7cf1..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - com.pinterest.PINCache - CFBundleName - PINCache 2.0 - CFBundleShortVersionString - 2.0 - CFBundleVersion - 2.0 - - - - - DocSetFeedName - PINCache Documentation - - DocSetMinimumXcodeVersion - 4.3 - - DashDocSetFamily - appledoc - DocSetPublisherIdentifier - com.pinterest.documentation - DocSetPublisherName - Pinterest - NSHumanReadableCopyright - Copyright © 2016 Pinterest. All rights reserved. - - diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheBlock.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheObjectBlock.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheBlock.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheFileURLBlock.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheFileURLBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheFileURLBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheObjectBlock.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheBlock.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheObjectBlock.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINCache.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINDiskCache.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINDiskCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINDiskCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINMemoryCache.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINMemoryCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINMemoryCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Protocols/PINCacheObjectSubscripting.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Protocols/PINCacheObjectSubscripting.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Protocols/PINCacheObjectSubscripting.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_index.scss b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_layout.scss b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_object.scss b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_print.scss b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_variables.scss b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/style.scss b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/hierarchy.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/hierarchy.html deleted file mode 100644 index 0b83af71..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/hierarchy.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/button_bar_background.png b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure.png b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure_open.png b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/library_background.png b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/title_background.png b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/index.html b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/index.html deleted file mode 100644 index a6e5fa92..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/js/script.js b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Nodes.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Nodes.xml deleted file mode 100644 index 387151bb..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Nodes.xml +++ /dev/null @@ -1,239 +0,0 @@ - - - - - PINCache - index.html - - - - - Classes - index.html - - - - - - - - - - - - Protocols - index.html - - - - - - - - - - Blocks - index.html - - - - - - - - - - - - - - - - - - - PINCache - Classes/PINCache.html - - - - Classes/PINCache.html - Overview - overview - - - Classes/PINCache.html - Tasks - tasks - - - - Classes/PINCache.html - Properties - properties - - - - - Classes/PINCache.html - Class Methods - class_methods - - - - - Classes/PINCache.html - Instance Methods - instance_methods - - - - - - - PINDiskCache - Classes/PINDiskCache.html - - - - Classes/PINDiskCache.html - Overview - overview - - - Classes/PINDiskCache.html - Tasks - tasks - - - - Classes/PINDiskCache.html - Properties - properties - - - - - Classes/PINDiskCache.html - Class Methods - class_methods - - - - - Classes/PINDiskCache.html - Instance Methods - instance_methods - - - - - - - PINMemoryCache - Classes/PINMemoryCache.html - - - - Classes/PINMemoryCache.html - Overview - overview - - - Classes/PINMemoryCache.html - Tasks - tasks - - - - Classes/PINMemoryCache.html - Properties - properties - - - - - Classes/PINMemoryCache.html - Class Methods - class_methods - - - - - Classes/PINMemoryCache.html - Instance Methods - instance_methods - - - - - - - - - PINCacheObjectSubscripting - Protocols/PINCacheObjectSubscripting.html - - - - Protocols/PINCacheObjectSubscripting.html - Overview - overview - - - Protocols/PINCacheObjectSubscripting.html - Tasks - tasks - - - - - - Protocols/PINCacheObjectSubscripting.html - Instance Methods - instance_methods - - - - - - - - - PINCacheBlock - Blocks/PINCacheBlock.html - - - - PINCacheObjectBlock - Blocks/PINCacheObjectBlock.html - - - - PINDiskCacheBlock - Blocks/PINDiskCacheBlock.html - - - - PINDiskCacheFileURLBlock - Blocks/PINDiskCacheFileURLBlock.html - - - - PINDiskCacheObjectBlock - Blocks/PINDiskCacheObjectBlock.html - - - - PINMemoryCacheBlock - Blocks/PINMemoryCacheBlock.html - - - - PINMemoryCacheObjectBlock - Blocks/PINMemoryCacheObjectBlock.html - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens1.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens1.xml deleted file mode 100644 index 0835e772..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens1.xml +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - //apple_ref/occ/cl/PINCache - PINCache is a thread safe key/value store designed for persisting temporary objects that are expensive to -reproduce, such as downloaded data or the results of slow processing. It is comprised of two self-similar -stores, one in memory (PINMemoryCache and one on disk (PINDiskCache. - PINCache.h - - - - - - - - //apple_ref/occ/instm/PINCache/setName: - The name of this cache, used to create the diskCache and also appearing in stack traces. - PINCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instm/PINCache/name - The name of this cache, used to create the diskCache and also appearing in stack traces. - PINCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instp/PINCache/name - The name of this cache, used to create the diskCache and also appearing in stack traces. - PINCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instm/PINCache/setConcurrentQueue: - A concurrent queue on which blocks passed to the asynchronous access methods are run. - PINCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instm/PINCache/concurrentQueue - A concurrent queue on which blocks passed to the asynchronous access methods are run. - PINCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instp/PINCache/concurrentQueue - A concurrent queue on which blocks passed to the asynchronous access methods are run. - PINCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instm/PINCache/setDiskByteCount: - Synchronously retrieves the total byte count of the diskCache on the shared disk queue. - PINCache.h - - @property (readonly) NSUInteger diskByteCount - - - //api/name/diskByteCount - - - - - //apple_ref/occ/instm/PINCache/diskByteCount - Synchronously retrieves the total byte count of the diskCache on the shared disk queue. - PINCache.h - - @property (readonly) NSUInteger diskByteCount - - - //api/name/diskByteCount - - - - - //apple_ref/occ/instp/PINCache/diskByteCount - Synchronously retrieves the total byte count of the diskCache on the shared disk queue. - PINCache.h - - @property (readonly) NSUInteger diskByteCount - - - //api/name/diskByteCount - - - - - //apple_ref/occ/instm/PINCache/setDiskCache: - The underlying disk cache, see PINDiskCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINDiskCache *diskCache - - - //api/name/diskCache - - - - - //apple_ref/occ/instm/PINCache/diskCache - The underlying disk cache, see PINDiskCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINDiskCache *diskCache - - - //api/name/diskCache - - - - - //apple_ref/occ/instp/PINCache/diskCache - The underlying disk cache, see PINDiskCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINDiskCache *diskCache - - - //api/name/diskCache - - - - - //apple_ref/occ/instm/PINCache/setMemoryCache: - The underlying memory cache, see PINMemoryCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINMemoryCache *memoryCache - - - //api/name/memoryCache - - - - - //apple_ref/occ/instm/PINCache/memoryCache - The underlying memory cache, see PINMemoryCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINMemoryCache *memoryCache - - - //api/name/memoryCache - - - - - //apple_ref/occ/instp/PINCache/memoryCache - The underlying memory cache, see PINMemoryCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINMemoryCache *memoryCache - - - //api/name/memoryCache - - - - - //apple_ref/occ/clm/PINCache/sharedCache - A shared cache. - PINCache.h - - + (instancetype)sharedCache - - The shared singleton cache instance. - //api/name/sharedCache - - - - - //apple_ref/occ/instm/PINCache/initWithName: - Multiple instances with the same name are allowed and can safely access -the same data on disk thanks to the magic of seriality. Also used to create the diskCache. - PINCache.h - - - //apple_ref/occ/instp/PINCache/name - - - - - (instancetype)initWithName:(NSString *)name - - - name - The name of the cache. - - - A new cache with the specified name. - //api/name/initWithName: - - - - - //apple_ref/occ/instm/PINCache/initWithName:rootPath: - Multiple instances with the same name are allowed and can safely access -the same data on disk thanks to the magic of seriality. Also used to create the diskCache. - PINCache.h - - - //apple_ref/occ/instp/PINCache/name - - - - - (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath - - - name - The name of the cache. - - rootPath - The path of the cache on disk. - - - A new cache with the specified name. - //api/name/initWithName:rootPath: - - - - - //apple_ref/occ/instm/PINCache/containsObjectForKey:block: - This method determines whether an object is present for the given key in the cache. This method returns immediately -and executes the passed block after the object is available, potentially in parallel with other blocks on the -concurrentQueue. - PINCache.h - - - //apple_ref/occ/instm/PINCache/containsObjectForKey: - - - - - (void)containsObjectForKey:(NSString *)key block:(PINCacheObjectContainmentBlock)block - - - key - The key associated with the object. - - block - A block to be executed concurrently after the containment check happened - - - - //api/name/containsObjectForKey:block: - - - - - //apple_ref/occ/instm/PINCache/objectForKey:block: - Retrieves the object for the specified key. This method returns immediately and executes the passed -block after the object is available, potentially in parallel with other blocks on the concurrentQueue. - PINCache.h - - - (void)objectForKey:(NSString *)key block:(PINCacheObjectBlock)block - - - key - The key associated with the requested object. - - block - A block to be executed concurrently when the object is available. - - - - //api/name/objectForKey:block: - - - - - //apple_ref/occ/instm/PINCache/setObject:forKey:block: - Stores an object in the cache for the specified key. This method returns immediately and executes the -passed block after the object has been stored, potentially in parallel with other blocks on the concurrentQueue. - PINCache.h - - - (void)setObject:(id<NSCoding>)object forKey:(NSString *)key block:(nullable PINCacheObjectBlock)block - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - block - A block to be executed concurrently after the object has been stored, or nil. - - - - //api/name/setObject:forKey:block: - - - - - //apple_ref/occ/instm/PINCache/removeObjectForKey:block: - Removes the object for the specified key. This method returns immediately and executes the passed -block after the object has been removed, potentially in parallel with other blocks on the concurrentQueue. - PINCache.h - - - (void)removeObjectForKey:(NSString *)key block:(nullable PINCacheObjectBlock)block - - - key - The key associated with the object to be removed. - - block - A block to be executed concurrently after the object has been removed, or nil. - - - - //api/name/removeObjectForKey:block: - - - - - //apple_ref/occ/instm/PINCache/trimToDate:block: - Removes all objects from the cache that have not been used since the specified date. This method returns immediately and -executes the passed block after the cache has been trimmed, potentially in parallel with other blocks on the concurrentQueue. - PINCache.h - - - (void)trimToDate:(NSDate *)date block:(nullable PINCacheBlock)block - - - date - Objects that haven't been accessed since this date are removed from the cache. - - block - A block to be executed concurrently after the cache has been trimmed, or nil. - - - - //api/name/trimToDate:block: - - - - - //apple_ref/occ/instm/PINCache/removeAllObjects: - Removes all objects from the cache.This method returns immediately and executes the passed block after the -cache has been cleared, potentially in parallel with other blocks on the concurrentQueue. - PINCache.h - - - (void)removeAllObjects:(nullable PINCacheBlock)block - - - block - A block to be executed concurrently after the cache has been cleared, or nil. - - - - //api/name/removeAllObjects: - - - - - //apple_ref/occ/instm/PINCache/containsObjectForKey: - This method determines whether an object is present for the given key in the cache. - PINCache.h - - - //apple_ref/occ/instm/PINCache/containsObjectForKey:block: - - - - - (BOOL)containsObjectForKey:(NSString *)key - - - key - The key associated with the object. - - - YES if an object is present for the given key in the cache, otherwise NO. - //api/name/containsObjectForKey: - - - - - //apple_ref/occ/instm/PINCache/objectForKey: - Retrieves the object for the specified key. This method blocks the calling thread until the object is available. -Uses a semaphore to achieve synchronicity on the disk cache. - PINCache.h - - - //apple_ref/occ/instm/PINCache/objectForKey:block: - - - - - (__nullable id)objectForKey:(NSString *)key - - - key - The key associated with the object. - - - The object for the specified key. - //api/name/objectForKey: - - - - - //apple_ref/occ/instm/PINCache/setObject:forKey: - Stores an object in the cache for the specified key. This method blocks the calling thread until the object has been set. -Uses a semaphore to achieve synchronicity on the disk cache. - PINCache.h - - - //apple_ref/occ/instm/PINCache/setObject:forKey:block: - - - - - (void)setObject:(id<NSCoding>)object forKey:(NSString *)key - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - - - //api/name/setObject:forKey: - - - - - //apple_ref/occ/instm/PINCache/removeObjectForKey: - Removes the object for the specified key. This method blocks the calling thread until the object -has been removed. -Uses a semaphore to achieve synchronicity on the disk cache. - PINCache.h - - - (void)removeObjectForKey:(NSString *)key - - - key - The key associated with the object to be removed. - - - - //api/name/removeObjectForKey: - - - - - //apple_ref/occ/instm/PINCache/trimToDate: - Removes all objects from the cache that have not been used since the specified date. -This method blocks the calling thread until the cache has been trimmed. -Uses a semaphore to achieve synchronicity on the disk cache. - PINCache.h - - - (void)trimToDate:(NSDate *)date - - - date - Objects that haven't been accessed since this date are removed from the cache. - - - - //api/name/trimToDate: - - - - - //apple_ref/occ/instm/PINCache/removeAllObjects - Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. -Uses a semaphore to achieve synchronicity on the disk cache. - PINCache.h - - - (void)removeAllObjects - - - //api/name/removeAllObjects - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens10.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens10.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens10.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens11.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens11.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens11.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens2.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens2.xml deleted file mode 100644 index c0c44157..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens2.xml +++ /dev/null @@ -1,1047 +0,0 @@ - - - - - - //apple_ref/occ/cl/PINDiskCache - PINDiskCache is a thread safe key/value store backed by the file system. It accepts any object conforming -to the NSCoding protocol, which includes the basic Foundation data types and collection classes and also -many UIKit classes, notably UIImage. All work is performed on a serial queue shared by all instances in -the app, and archiving is handled by NSKeyedArchiver. This is a particular advantage for UIImage because -it skips UIImagePNGRepresentation() and retains information like scale and orientation. - PINDiskCache.h - - - - - - - - //apple_ref/occ/instm/PINDiskCache/setName: - The name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. - PINDiskCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instm/PINDiskCache/name - The name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. - PINDiskCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instp/PINDiskCache/name - The name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. - PINDiskCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instm/PINDiskCache/setCacheURL: - The URL of the directory used by this cache, usually Library/Caches/com.pinterest.PINDiskCache.(name) - PINDiskCache.h - - @property (readonly) NSURL *cacheURL - - - //api/name/cacheURL - - - - - //apple_ref/occ/instm/PINDiskCache/cacheURL - The URL of the directory used by this cache, usually Library/Caches/com.pinterest.PINDiskCache.(name) - PINDiskCache.h - - @property (readonly) NSURL *cacheURL - - - //api/name/cacheURL - - - - - //apple_ref/occ/instp/PINDiskCache/cacheURL - The URL of the directory used by this cache, usually Library/Caches/com.pinterest.PINDiskCache.(name) - PINDiskCache.h - - @property (readonly) NSURL *cacheURL - - - //api/name/cacheURL - - - - - //apple_ref/occ/instm/PINDiskCache/setByteCount: - The total number of bytes used on disk, as reported by NSURLTotalFileAllocatedSizeKey. - PINDiskCache.h - - @property (readonly) NSUInteger byteCount - - - //api/name/byteCount - - - - - //apple_ref/occ/instm/PINDiskCache/byteCount - The total number of bytes used on disk, as reported by NSURLTotalFileAllocatedSizeKey. - PINDiskCache.h - - @property (readonly) NSUInteger byteCount - - - //api/name/byteCount - - - - - //apple_ref/occ/instp/PINDiskCache/byteCount - The total number of bytes used on disk, as reported by NSURLTotalFileAllocatedSizeKey. - PINDiskCache.h - - @property (readonly) NSUInteger byteCount - - - //api/name/byteCount - - - - - //apple_ref/occ/instm/PINDiskCache/setByteLimit: - The maximum number of bytes allowed on disk. This value is checked every time an object is set, if the written -size exceeds the limit a trim call is queued. Defaults to 0.0, meaning no practical limit. - PINDiskCache.h - - @property (assign) NSUInteger byteLimit - - - //api/name/byteLimit - - - - - //apple_ref/occ/instm/PINDiskCache/byteLimit - The maximum number of bytes allowed on disk. This value is checked every time an object is set, if the written -size exceeds the limit a trim call is queued. Defaults to 0.0, meaning no practical limit. - PINDiskCache.h - - @property (assign) NSUInteger byteLimit - - - //api/name/byteLimit - - - - - //apple_ref/occ/instp/PINDiskCache/byteLimit - The maximum number of bytes allowed on disk. This value is checked every time an object is set, if the written -size exceeds the limit a trim call is queued. Defaults to 0.0, meaning no practical limit. - PINDiskCache.h - - @property (assign) NSUInteger byteLimit - - - //api/name/byteLimit - - - - - //apple_ref/occ/instm/PINDiskCache/setAgeLimit: - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0, meaning no limit. - PINDiskCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instm/PINDiskCache/ageLimit - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0, meaning no limit. - PINDiskCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instp/PINDiskCache/ageLimit - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0, meaning no limit. - PINDiskCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instm/PINDiskCache/setWritingProtectionOption: - The writing protection option used when writing a file on disk. This value is used every time an object is set. -NSDataWritingAtomic and NSDataWritingWithoutOverwriting are ignored if set -Defaults to NSDataWritingFileProtectionNone. - PINDiskCache.h - - @property (assign) NSDataWritingOptions writingProtectionOption - - - //api/name/writingProtectionOption - - - - - //apple_ref/occ/instm/PINDiskCache/writingProtectionOption - The writing protection option used when writing a file on disk. This value is used every time an object is set. -NSDataWritingAtomic and NSDataWritingWithoutOverwriting are ignored if set -Defaults to NSDataWritingFileProtectionNone. - PINDiskCache.h - - @property (assign) NSDataWritingOptions writingProtectionOption - - - //api/name/writingProtectionOption - - - - - //apple_ref/occ/instp/PINDiskCache/writingProtectionOption - The writing protection option used when writing a file on disk. This value is used every time an object is set. -NSDataWritingAtomic and NSDataWritingWithoutOverwriting are ignored if set -Defaults to NSDataWritingFileProtectionNone. - PINDiskCache.h - - @property (assign) NSDataWritingOptions writingProtectionOption - - - //api/name/writingProtectionOption - - - - - //apple_ref/occ/instm/PINDiskCache/setTtlCache: - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: - - Accessing an object in the cache does not extend that object's lifetime in the cache - - When attempting to access an object in the cache that has lived longer than self.ageLimit, - the cache will behave as if the object does not exist - PINDiskCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instm/PINDiskCache/isTTLCache - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: - - Accessing an object in the cache does not extend that object's lifetime in the cache - - When attempting to access an object in the cache that has lived longer than self.ageLimit, - the cache will behave as if the object does not exist - PINDiskCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instp/PINDiskCache/ttlCache - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: - - Accessing an object in the cache does not extend that object's lifetime in the cache - - When attempting to access an object in the cache that has lived longer than self.ageLimit, - the cache will behave as if the object does not exist - PINDiskCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instm/PINDiskCache/setWillAddObjectBlock: - A block to be executed just before an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/willAddObjectBlock - A block to be executed just before an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instp/PINDiskCache/willAddObjectBlock - A block to be executed just before an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/setWillRemoveObjectBlock: - A block to be executed just before an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/willRemoveObjectBlock - A block to be executed just before an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instp/PINDiskCache/willRemoveObjectBlock - A block to be executed just before an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/setWillRemoveAllObjectsBlock: - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINDiskCache/willRemoveAllObjectsBlock - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instp/PINDiskCache/willRemoveAllObjectsBlock - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINDiskCache/setDidAddObjectBlock: - A block to be executed just after an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/didAddObjectBlock - A block to be executed just after an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instp/PINDiskCache/didAddObjectBlock - A block to be executed just after an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/setDidRemoveObjectBlock: - A block to be executed just after an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/didRemoveObjectBlock - A block to be executed just after an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instp/PINDiskCache/didRemoveObjectBlock - A block to be executed just after an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/setDidRemoveAllObjectsBlock: - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINDiskCache/didRemoveAllObjectsBlock - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/instp/PINDiskCache/didRemoveAllObjectsBlock - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/clm/PINDiskCache/sharedCache - A shared cache. - PINDiskCache.h - - + (instancetype)sharedCache - - The shared singleton cache instance. - //api/name/sharedCache - - - - - //apple_ref/occ/clm/PINDiskCache/emptyTrash - Empties the trash with DISPATCHQUEUEPRIORITY_BACKGROUND. Does not use lock. - PINDiskCache.h - - + (void)emptyTrash - - - //api/name/emptyTrash - - - - - //apple_ref/occ/instm/PINDiskCache/initWithName: - Multiple instances with the same name are allowed and can safely access -the same data on disk thanks to the magic of seriality. - PINDiskCache.h - - - //apple_ref/occ/instp/PINDiskCache/name - - - - - (instancetype)initWithName:(NSString *)name - - - name - The name of the cache. - - - A new cache with the specified name. - //api/name/initWithName: - - - - - //apple_ref/occ/instm/PINDiskCache/initWithName:rootPath: - The designated initializer. Multiple instances with the same name are allowed and can safely access -the same data on disk thanks to the magic of seriality. - PINDiskCache.h - - - //apple_ref/occ/instp/PINDiskCache/name - - - - - (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath - - - name - The name of the cache. - - rootPath - The path of the cache. - - - A new cache with the specified name. - //api/name/initWithName:rootPath: - - - - - //apple_ref/occ/instm/PINDiskCache/lockFileAccessWhileExecutingBlock: - Locks access to ivars and allows safe interaction with files on disk. This method returns immediately. - PINDiskCache.h - - - (void)lockFileAccessWhileExecutingBlock:(nullable PINDiskCacheBlock)block - - - block - A block to be executed when a lock is available. - - - - //api/name/lockFileAccessWhileExecutingBlock: - - - - - //apple_ref/occ/instm/PINDiskCache/containsObjectForKey:block: - This method determines whether an object is present for the given key in the cache. This method returns immediately -and executes the passed block after the object is available, potentially in parallel with other blocks on the -<concurrentQueue>. - PINDiskCache.h - - - //apple_ref/occ/instm/PINDiskCache/containsObjectForKey: - - - - - (void)containsObjectForKey:(NSString *)key block:(PINDiskCacheContainsBlock)block - - - key - The key associated with the object. - - block - A block to be executed concurrently after the containment check happened - - - - //api/name/containsObjectForKey:block: - - - - - //apple_ref/occ/instm/PINDiskCache/objectForKey:block: - Retrieves the object for the specified key. This method returns immediately and executes the passed -block as soon as the object is available. - PINDiskCache.h - - - (void)objectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block - - - key - The key associated with the requested object. - - block - A block to be executed serially when the object is available. - - - - //api/name/objectForKey:block: - - - - - //apple_ref/occ/instm/PINDiskCache/fileURLForKey:block: - Retrieves the fileURL for the specified key without actually reading the data from disk. This method -returns immediately and executes the passed block as soon as the object is available. - PINDiskCache.h - - - (void)fileURLForKey:(nullable NSString *)key block:(nullable PINDiskCacheObjectBlock)block - - - key - The key associated with the requested object. - - block - A block to be executed serially when the file URL is available. - - - - //api/name/fileURLForKey:block: - - - - - //apple_ref/occ/instm/PINDiskCache/setObject:forKey:block: - Stores an object in the cache for the specified key. This method returns immediately and executes the -passed block as soon as the object has been stored. - PINDiskCache.h - - - (void)setObject:(id<NSCoding>)object forKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - block - A block to be executed serially after the object has been stored, or nil. - - - - //api/name/setObject:forKey:block: - - - - - //apple_ref/occ/instm/PINDiskCache/removeObjectForKey:block: - Removes the object for the specified key. This method returns immediately and executes the passed block -as soon as the object has been removed. - PINDiskCache.h - - - (void)removeObjectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block - - - key - The key associated with the object to be removed. - - block - A block to be executed serially after the object has been removed, or nil. - - - - //api/name/removeObjectForKey:block: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToDate:block: - Removes all objects from the cache that have not been used since the specified date. -This method returns immediately and executes the passed block as soon as the cache has been trimmed. - PINDiskCache.h - - - (void)trimToDate:(NSDate *)date block:(nullable PINDiskCacheBlock)block - - - date - Objects that haven't been accessed since this date are removed from the cache. - - block - A block to be executed serially after the cache has been trimmed, or nil. - - - - //api/name/trimToDate:block: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToSize:block: - Removes objects from the cache, largest first, until the cache is equal to or smaller than the specified byteCount. -This method returns immediately and executes the passed block as soon as the cache has been trimmed. - PINDiskCache.h - - - (void)trimToSize:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block - - - byteCount - The cache will be trimmed equal to or smaller than this size. - - block - A block to be executed serially after the cache has been trimmed, or nil. - - - - //api/name/trimToSize:block: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToSizeByDate:block: - Removes objects from the cache, ordered by date (least recently used first), until the cache is equal to or smaller -than the specified byteCount. This method returns immediately and executes the passed block as soon as the cache has -been trimmed. - PINDiskCache.h - - - (void)trimToSizeByDate:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block - - - byteCount - The cache will be trimmed equal to or smaller than this size. - - block - A block to be executed serially after the cache has been trimmed, or nil. - - - - //api/name/trimToSizeByDate:block: - - - - - //apple_ref/occ/instm/PINDiskCache/removeAllObjects: - Removes all objects from the cache. This method returns immediately and executes the passed block as soon as the -cache has been cleared. - PINDiskCache.h - - - (void)removeAllObjects:(nullable PINDiskCacheBlock)block - - - block - A block to be executed serially after the cache has been cleared, or nil. - - - - //api/name/removeAllObjects: - - - - - //apple_ref/occ/instm/PINDiskCache/enumerateObjectsWithBlock:completionBlock: - Loops through all objects in the cache (reads and writes are suspended during the enumeration). Data is not actually -read from disk, the object parameter of the block will be nil but the fileURL will be available. -This method returns immediately. - PINDiskCache.h - - - (void)enumerateObjectsWithBlock:(PINDiskCacheObjectBlock)block completionBlock:(nullable PINDiskCacheBlock)completionBlock - - - block - A block to be executed for every object in the cache. - - completionBlock - An optional block to be executed after the enumeration is complete. - - - - //api/name/enumerateObjectsWithBlock:completionBlock: - - - - - //apple_ref/occ/instm/PINDiskCache/synchronouslyLockFileAccessWhileExecutingBlock: - Locks access to ivars and allows safe interaction with files on disk. This method only returns once the block -has been run. - PINDiskCache.h - - - (void)synchronouslyLockFileAccessWhileExecutingBlock:(nullable PINDiskCacheBlock)block - - - block - A block to be executed when a lock is available. - - - - //api/name/synchronouslyLockFileAccessWhileExecutingBlock: - - - - - //apple_ref/occ/instm/PINDiskCache/containsObjectForKey: - This method determines whether an object is present for the given key in the cache. - PINDiskCache.h - - - //apple_ref/occ/instm/PINDiskCache/containsObjectForKey:block: - - - - - (BOOL)containsObjectForKey:(NSString *)key - - - key - The key associated with the object. - - - YES if an object is present for the given key in the cache, otherwise NO. - //api/name/containsObjectForKey: - - - - - //apple_ref/occ/instm/PINDiskCache/objectForKey: - Retrieves the object for the specified key. This method blocks the calling thread until the -object is available. - PINDiskCache.h - - - //apple_ref/occ/instm/PINDiskCache/objectForKey:block: - - - - - (__nullable id<NSCoding>)objectForKey:(NSString *)key - - - key - The key associated with the object. - - - The object for the specified key. - //api/name/objectForKey: - - - - - //apple_ref/occ/instm/PINDiskCache/fileURLForKey: - Retrieves the file URL for the specified key. This method blocks the calling thread until the -url is available. Do not use this URL anywhere except with lockFileAccessWhileExecutingBlock:. This method probably -shouldn't even exist, just use the asynchronous one. - PINDiskCache.h - - - //apple_ref/occ/instm/PINDiskCache/fileURLForKey:block: - - - - - (nullable NSURL *)fileURLForKey:(nullable NSString *)key - - - key - The key associated with the object. - - - The file URL for the specified key. - //api/name/fileURLForKey: - - - - - //apple_ref/occ/instm/PINDiskCache/setObject:forKey: - Stores an object in the cache for the specified key. This method blocks the calling thread until -the object has been stored. - PINDiskCache.h - - - //apple_ref/occ/instm/PINDiskCache/setObject:forKey:block: - - - - - (void)setObject:(id<NSCoding>)object forKey:(NSString *)key - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - - - //api/name/setObject:forKey: - - - - - //apple_ref/occ/instm/PINDiskCache/removeObjectForKey: - Removes the object for the specified key. This method blocks the calling thread until the object -has been removed. - PINDiskCache.h - - - (void)removeObjectForKey:(NSString *)key - - - key - The key associated with the object to be removed. - - - - //api/name/removeObjectForKey: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToDate: - Removes all objects from the cache that have not been used since the specified date. -This method blocks the calling thread until the cache has been trimmed. - PINDiskCache.h - - - (void)trimToDate:(nullable NSDate *)date - - - date - Objects that haven't been accessed since this date are removed from the cache. - - - - //api/name/trimToDate: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToSize: - Removes objects from the cache, largest first, until the cache is equal to or smaller than the -specified byteCount. This method blocks the calling thread until the cache has been trimmed. - PINDiskCache.h - - - (void)trimToSize:(NSUInteger)byteCount - - - byteCount - The cache will be trimmed equal to or smaller than this size. - - - - //api/name/trimToSize: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToSizeByDate: - Removes objects from the cache, ordered by date (least recently used first), until the cache is equal to or -smaller than the specified byteCount. This method blocks the calling thread until the cache has been trimmed. - PINDiskCache.h - - - (void)trimToSizeByDate:(NSUInteger)byteCount - - - byteCount - The cache will be trimmed equal to or smaller than this size. - - - - //api/name/trimToSizeByDate: - - - - - //apple_ref/occ/instm/PINDiskCache/removeAllObjects - Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. - PINDiskCache.h - - - (void)removeAllObjects - - - //api/name/removeAllObjects - - - - - //apple_ref/occ/instm/PINDiskCache/enumerateObjectsWithBlock: - Loops through all objects in the cache (reads and writes are suspended during the enumeration). Data is not actually -read from disk, the object parameter of the block will be nil but the fileURL will be available. -This method blocks the calling thread until all objects have been enumerated. - PINDiskCache.h - - - (void)enumerateObjectsWithBlock:(nullable PINDiskCacheObjectBlock)block - - - block - A block to be executed for every object in the cache. - - - - //api/name/enumerateObjectsWithBlock: - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens3.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens3.xml deleted file mode 100644 index a153b1d6..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens3.xml +++ /dev/null @@ -1,1066 +0,0 @@ - - - - - - //apple_ref/occ/cl/PINMemoryCache - PINMemoryCache is a fast, thread safe key/value store similar to NSCache. On iOS it will clear itself -automatically to reduce memory usage when the app receives a memory warning or goes into the background. - PINMemoryCache.h - - - - - - - - //apple_ref/occ/instm/PINMemoryCache/setConcurrentQueue: - A concurrent queue on which all callbacks are called. It is exposed here so that it can be set to -target some other queue, such as a global concurrent queue with a priority other than the default. - PINMemoryCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instm/PINMemoryCache/concurrentQueue - A concurrent queue on which all callbacks are called. It is exposed here so that it can be set to -target some other queue, such as a global concurrent queue with a priority other than the default. - PINMemoryCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instp/PINMemoryCache/concurrentQueue - A concurrent queue on which all callbacks are called. It is exposed here so that it can be set to -target some other queue, such as a global concurrent queue with a priority other than the default. - PINMemoryCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instm/PINMemoryCache/setTotalCost: - The total accumulated cost. - PINMemoryCache.h - - @property (readonly) NSUInteger totalCost - - - //api/name/totalCost - - - - - //apple_ref/occ/instm/PINMemoryCache/totalCost - The total accumulated cost. - PINMemoryCache.h - - @property (readonly) NSUInteger totalCost - - - //api/name/totalCost - - - - - //apple_ref/occ/instp/PINMemoryCache/totalCost - The total accumulated cost. - PINMemoryCache.h - - @property (readonly) NSUInteger totalCost - - - //api/name/totalCost - - - - - //apple_ref/occ/instm/PINMemoryCache/setCostLimit: - The maximum cost allowed to accumulate before objects begin to be removed with trimToCostByDate:. - PINMemoryCache.h - - @property (assign) NSUInteger costLimit - - - //api/name/costLimit - - - - - //apple_ref/occ/instm/PINMemoryCache/costLimit - The maximum cost allowed to accumulate before objects begin to be removed with trimToCostByDate:. - PINMemoryCache.h - - @property (assign) NSUInteger costLimit - - - //api/name/costLimit - - - - - //apple_ref/occ/instp/PINMemoryCache/costLimit - The maximum cost allowed to accumulate before objects begin to be removed with trimToCostByDate:. - PINMemoryCache.h - - @property (assign) NSUInteger costLimit - - - //api/name/costLimit - - - - - //apple_ref/occ/instm/PINMemoryCache/setAgeLimit: - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0. - PINMemoryCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instm/PINMemoryCache/ageLimit - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0. - PINMemoryCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instp/PINMemoryCache/ageLimit - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0. - PINMemoryCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instm/PINMemoryCache/setTtlCache: - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: -- Accessing an object in the cache does not extend that object's lifetime in the cache -- When attempting to access an object in the cache that has lived longer than self.ageLimit, -the cache will behave as if the object does not exist - PINMemoryCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instm/PINMemoryCache/isTTLCache - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: -- Accessing an object in the cache does not extend that object's lifetime in the cache -- When attempting to access an object in the cache that has lived longer than self.ageLimit, -the cache will behave as if the object does not exist - PINMemoryCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instp/PINMemoryCache/ttlCache - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: -- Accessing an object in the cache does not extend that object's lifetime in the cache -- When attempting to access an object in the cache that has lived longer than self.ageLimit, -the cache will behave as if the object does not exist - PINMemoryCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instm/PINMemoryCache/setRemoveAllObjectsOnMemoryWarning: - When YES on iOS the cache will remove all objects when the app receives a memory warning. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnMemoryWarning - - - //api/name/removeAllObjectsOnMemoryWarning - - - - - //apple_ref/occ/instm/PINMemoryCache/removeAllObjectsOnMemoryWarning - When YES on iOS the cache will remove all objects when the app receives a memory warning. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnMemoryWarning - - - //api/name/removeAllObjectsOnMemoryWarning - - - - - //apple_ref/occ/instp/PINMemoryCache/removeAllObjectsOnMemoryWarning - When YES on iOS the cache will remove all objects when the app receives a memory warning. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnMemoryWarning - - - //api/name/removeAllObjectsOnMemoryWarning - - - - - //apple_ref/occ/instm/PINMemoryCache/setRemoveAllObjectsOnEnteringBackground: - When YES on iOS the cache will remove all objects when the app enters the background. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnEnteringBackground - - - //api/name/removeAllObjectsOnEnteringBackground - - - - - //apple_ref/occ/instm/PINMemoryCache/removeAllObjectsOnEnteringBackground - When YES on iOS the cache will remove all objects when the app enters the background. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnEnteringBackground - - - //api/name/removeAllObjectsOnEnteringBackground - - - - - //apple_ref/occ/instp/PINMemoryCache/removeAllObjectsOnEnteringBackground - When YES on iOS the cache will remove all objects when the app enters the background. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnEnteringBackground - - - //api/name/removeAllObjectsOnEnteringBackground - - - - - //apple_ref/occ/instm/PINMemoryCache/setWillAddObjectBlock: - A block to be executed just before an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/willAddObjectBlock - A block to be executed just before an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/willAddObjectBlock - A block to be executed just before an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setWillRemoveObjectBlock: - A block to be executed just before an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/willRemoveObjectBlock - A block to be executed just before an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/willRemoveObjectBlock - A block to be executed just before an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setWillRemoveAllObjectsBlock: - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/willRemoveAllObjectsBlock - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/willRemoveAllObjectsBlock - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setDidAddObjectBlock: - A block to be executed just after an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/didAddObjectBlock - A block to be executed just after an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/didAddObjectBlock - A block to be executed just after an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setDidRemoveObjectBlock: - A block to be executed just after an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/didRemoveObjectBlock - A block to be executed just after an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/didRemoveObjectBlock - A block to be executed just after an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setDidRemoveAllObjectsBlock: - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/didRemoveAllObjectsBlock - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/didRemoveAllObjectsBlock - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setDidReceiveMemoryWarningBlock: - A block to be executed upon receiving a memory warning (iOS only) potentially in parallel with other blocks on the <queue>. -This block will be executed regardless of the value of removeAllObjectsOnMemoryWarning. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didReceiveMemoryWarningBlock - - - //api/name/didReceiveMemoryWarningBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/didReceiveMemoryWarningBlock - A block to be executed upon receiving a memory warning (iOS only) potentially in parallel with other blocks on the <queue>. -This block will be executed regardless of the value of removeAllObjectsOnMemoryWarning. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didReceiveMemoryWarningBlock - - - //api/name/didReceiveMemoryWarningBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/didReceiveMemoryWarningBlock - A block to be executed upon receiving a memory warning (iOS only) potentially in parallel with other blocks on the <queue>. -This block will be executed regardless of the value of removeAllObjectsOnMemoryWarning. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didReceiveMemoryWarningBlock - - - //api/name/didReceiveMemoryWarningBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setDidEnterBackgroundBlock: - A block to be executed when the app enters the background (iOS only) potentially in parallel with other blocks on the concurrentQueue. -This block will be executed regardless of the value of removeAllObjectsOnEnteringBackground. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didEnterBackgroundBlock - - - //api/name/didEnterBackgroundBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/didEnterBackgroundBlock - A block to be executed when the app enters the background (iOS only) potentially in parallel with other blocks on the concurrentQueue. -This block will be executed regardless of the value of removeAllObjectsOnEnteringBackground. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didEnterBackgroundBlock - - - //api/name/didEnterBackgroundBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/didEnterBackgroundBlock - A block to be executed when the app enters the background (iOS only) potentially in parallel with other blocks on the concurrentQueue. -This block will be executed regardless of the value of removeAllObjectsOnEnteringBackground. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didEnterBackgroundBlock - - - //api/name/didEnterBackgroundBlock - - - - - //apple_ref/occ/clm/PINMemoryCache/sharedCache - A shared cache. - PINMemoryCache.h - - + (instancetype)sharedCache - - The shared singleton cache instance. - //api/name/sharedCache - - - - - //apple_ref/occ/instm/PINMemoryCache/containsObjectForKey:block: - This method determines whether an object is present for the given key in the cache. This method returns immediately -and executes the passed block after the object is available, potentially in parallel with other blocks on the -concurrentQueue. - PINMemoryCache.h - - - //apple_ref/occ/instm/PINMemoryCache/containsObjectForKey: - - - - - (void)containsObjectForKey:(NSString *)key block:(PINMemoryCacheContainmentBlock)block - - - key - The key associated with the object. - - block - A block to be executed concurrently after the containment check happened - - - - //api/name/containsObjectForKey:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/objectForKey:block: - Retrieves the object for the specified key. This method returns immediately and executes the passed -block after the object is available, potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)objectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block - - - key - The key associated with the requested object. - - block - A block to be executed concurrently when the object is available. - - - - //api/name/objectForKey:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/setObject:forKey:block: - Stores an object in the cache for the specified key. This method returns immediately and executes the -passed block after the object has been stored, potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)setObject:(id)object forKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - block - A block to be executed concurrently after the object has been stored, or nil. - - - - //api/name/setObject:forKey:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/setObject:forKey:withCost:block: - Stores an object in the cache for the specified key and the specified cost. If the cost causes the total -to go over the costLimit the cache is trimmed (oldest objects first). This method returns immediately -and executes the passed block after the object has been stored, potentially in parallel with other blocks -on the concurrentQueue. - PINMemoryCache.h - - - (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost block:(nullable PINMemoryCacheObjectBlock)block - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - cost - An amount to add to the totalCost. - - block - A block to be executed concurrently after the object has been stored, or nil. - - - - //api/name/setObject:forKey:withCost:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/removeObjectForKey:block: - Removes the object for the specified key. This method returns immediately and executes the passed -block after the object has been removed, potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)removeObjectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block - - - key - The key associated with the object to be removed. - - block - A block to be executed concurrently after the object has been removed, or nil. - - - - //api/name/removeObjectForKey:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToDate:block: - Removes all objects from the cache that have not been used since the specified date. -This method returns immediately and executes the passed block after the cache has been trimmed, -potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)trimToDate:(NSDate *)date block:(nullable PINMemoryCacheBlock)block - - - date - Objects that haven't been accessed since this date are removed from the cache. - - block - A block to be executed concurrently after the cache has been trimmed, or nil. - - - - //api/name/trimToDate:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToCost:block: - Removes objects from the cache, costliest objects first, until the totalCost is below the specified -value. This method returns immediately and executes the passed block after the cache has been trimmed, -potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)trimToCost:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block - - - cost - The total accumulation allowed to remain after the cache has been trimmed. - - block - A block to be executed concurrently after the cache has been trimmed, or nil. - - - - //api/name/trimToCost:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToCostByDate:block: - Removes objects from the cache, ordered by date (least recently used first), until the totalCost is below -the specified value. This method returns immediately and executes the passed block after the cache has been -trimmed, potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)trimToCostByDate:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block - - - cost - The total accumulation allowed to remain after the cache has been trimmed. - - block - A block to be executed concurrently after the cache has been trimmed, or nil. - - - - //api/name/trimToCostByDate:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/removeAllObjects: - Removes all objects from the cache. This method returns immediately and executes the passed block after -the cache has been cleared, potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)removeAllObjects:(nullable PINMemoryCacheBlock)block - - - block - A block to be executed concurrently after the cache has been cleared, or nil. - - - - //api/name/removeAllObjects: - - - - - //apple_ref/occ/instm/PINMemoryCache/enumerateObjectsWithBlock:completionBlock: - Loops through all objects in the cache with reads and writes suspended. Calling serial methods which -write to the cache inside block may be unsafe and may result in a deadlock. This method returns immediately. - PINMemoryCache.h - - - (void)enumerateObjectsWithBlock:(PINMemoryCacheObjectBlock)block completionBlock:(nullable PINMemoryCacheBlock)completionBlock - - - block - A block to be executed for every object in the cache. - - completionBlock - An optional block to be executed concurrently when the enumeration is complete. - - - - //api/name/enumerateObjectsWithBlock:completionBlock: - - - - - //apple_ref/occ/instm/PINMemoryCache/containsObjectForKey: - This method determines whether an object is present for the given key in the cache. - PINMemoryCache.h - - - //apple_ref/occ/instm/PINMemoryCache/containsObjectForKey:block: - - - - - (BOOL)containsObjectForKey:(NSString *)key - - - key - The key associated with the object. - - - YES if an object is present for the given key in the cache, otherwise NO. - //api/name/containsObjectForKey: - - - - - //apple_ref/occ/instm/PINMemoryCache/objectForKey: - Retrieves the object for the specified key. This method blocks the calling thread until the -object is available. - PINMemoryCache.h - - - //apple_ref/occ/instm/PINMemoryCache/objectForKey:block: - - - - - (__nullable id)objectForKey:(nullable NSString *)key - - - key - The key associated with the object. - - - The object for the specified key. - //api/name/objectForKey: - - - - - //apple_ref/occ/instm/PINMemoryCache/setObject:forKey: - Stores an object in the cache for the specified key. This method blocks the calling thread until the object -has been set. - PINMemoryCache.h - - - //apple_ref/occ/instm/PINMemoryCache/setObject:forKey:block: - - - - - (void)setObject:(id)object forKey:(NSString *)key - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - - - //api/name/setObject:forKey: - - - - - //apple_ref/occ/instm/PINMemoryCache/setObject:forKey:withCost: - Stores an object in the cache for the specified key and the specified cost. If the cost causes the total -to go over the costLimit the cache is trimmed (oldest objects first). This method blocks the calling thread -until the object has been stored. - PINMemoryCache.h - - - (void)setObject:(nullable id)object forKey:(nullable NSString *)key withCost:(NSUInteger)cost - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - cost - An amount to add to the totalCost. - - - - //api/name/setObject:forKey:withCost: - - - - - //apple_ref/occ/instm/PINMemoryCache/removeObjectForKey: - Removes the object for the specified key. This method blocks the calling thread until the object -has been removed. - PINMemoryCache.h - - - (void)removeObjectForKey:(nullable NSString *)key - - - key - The key associated with the object to be removed. - - - - //api/name/removeObjectForKey: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToDate: - Removes all objects from the cache that have not been used since the specified date. -This method blocks the calling thread until the cache has been trimmed. - PINMemoryCache.h - - - (void)trimToDate:(nullable NSDate *)date - - - date - Objects that haven't been accessed since this date are removed from the cache. - - - - //api/name/trimToDate: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToCost: - Removes objects from the cache, costliest objects first, until the totalCost is below the specified -value. This method blocks the calling thread until the cache has been trimmed. - PINMemoryCache.h - - - (void)trimToCost:(NSUInteger)cost - - - cost - The total accumulation allowed to remain after the cache has been trimmed. - - - - //api/name/trimToCost: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToCostByDate: - Removes objects from the cache, ordered by date (least recently used first), until the totalCost is below -the specified value. This method blocks the calling thread until the cache has been trimmed. - PINMemoryCache.h - - - (void)trimToCostByDate:(NSUInteger)cost - - - cost - The total accumulation allowed to remain after the cache has been trimmed. - - - - //api/name/trimToCostByDate: - - - - - //apple_ref/occ/instm/PINMemoryCache/removeAllObjects - Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. - PINMemoryCache.h - - - (void)removeAllObjects - - - //api/name/removeAllObjects - - - - - //apple_ref/occ/instm/PINMemoryCache/enumerateObjectsWithBlock: - Loops through all objects in the cache within a memory lock (reads and writes are suspended during the enumeration). -This method blocks the calling thread until all objects have been enumerated. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - - (void)enumerateObjectsWithBlock:(nullable PINMemoryCacheObjectBlock)block - - - block - A block to be executed for every object in the cache. - - - - //api/name/enumerateObjectsWithBlock: - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens4.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens4.xml deleted file mode 100644 index 683a9b5f..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens4.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - //apple_ref/occ/intf/PINCacheObjectSubscripting - - PINCacheObjectSubscripting.h - - - - - - - - //apple_ref/occ/intfm/PINCacheObjectSubscripting/objectForKeyedSubscript: - This method enables using literals on the receiving object, such as id object = cache[@"key"];. - PINCacheObjectSubscripting.h - - - (id)objectForKeyedSubscript:(NSString *)key - - - key - The key associated with the object. - - - The object for the specified key. - //api/name/objectForKeyedSubscript: - - - - - //apple_ref/occ/intfm/PINCacheObjectSubscripting/setObject:forKeyedSubscript: - This method enables using literals on the receiving object, such as cache[@"key"] = object;. - PINCacheObjectSubscripting.h - - - (void)setObject:(id)obj forKeyedSubscript:(NSString *)key - - - key - A key to associate with the object. This string will be copied. - - object - An object to be assigned for the key. - - - - //api/name/setObject:forKeyedSubscript: - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens5.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens5.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens5.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens6.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens6.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens6.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens7.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens7.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens7.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens8.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens8.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens8.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens9.xml b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens9.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens9.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx deleted file mode 100644 index 282aaf19..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-shm b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-shm deleted file mode 100644 index 52dc6f38..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-shm and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-wal b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-wal deleted file mode 100644 index 03636aea..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-wal and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.mom b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.mom deleted file mode 100644 index 0503cfdd..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.mom and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.skidx b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.skidx deleted file mode 100644 index c8f5c3cd..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.skidx and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.toc b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.toc deleted file mode 100644 index 8d7f1ec2..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.toc and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.tokencache b/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.tokencache deleted file mode 100644 index 038c4656..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.tokencache and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheBlock.html b/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheObjectBlock.html b/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheBlock.html b/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheFileURLBlock.html b/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheFileURLBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheFileURLBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheObjectBlock.html b/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheBlock.html b/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheObjectBlock.html b/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/Classes/PINCache.html b/Carthage/Checkouts/PINCache/docs/html/Classes/PINCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Classes/PINCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/Classes/PINDiskCache.html b/Carthage/Checkouts/PINCache/docs/html/Classes/PINDiskCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Classes/PINDiskCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/Classes/PINMemoryCache.html b/Carthage/Checkouts/PINCache/docs/html/Classes/PINMemoryCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Classes/PINMemoryCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/Protocols/PINCacheObjectSubscripting.html b/Carthage/Checkouts/PINCache/docs/html/Protocols/PINCacheObjectSubscripting.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/Protocols/PINCacheObjectSubscripting.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/css/scss/_index.scss b/Carthage/Checkouts/PINCache/docs/html/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINCache/docs/html/css/scss/_layout.scss b/Carthage/Checkouts/PINCache/docs/html/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINCache/docs/html/css/scss/_normalize.scss b/Carthage/Checkouts/PINCache/docs/html/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINCache/docs/html/css/scss/_object.scss b/Carthage/Checkouts/PINCache/docs/html/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINCache/docs/html/css/scss/_print.scss b/Carthage/Checkouts/PINCache/docs/html/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINCache/docs/html/css/scss/_variables.scss b/Carthage/Checkouts/PINCache/docs/html/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINCache/docs/html/css/scss/_xcode.scss b/Carthage/Checkouts/PINCache/docs/html/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINCache/docs/html/css/scss/style.scss b/Carthage/Checkouts/PINCache/docs/html/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINCache/docs/html/hierarchy.html b/Carthage/Checkouts/PINCache/docs/html/hierarchy.html deleted file mode 100644 index 0b83af71..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/hierarchy.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/img/button_bar_background.png b/Carthage/Checkouts/PINCache/docs/html/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/html/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/html/img/disclosure.png b/Carthage/Checkouts/PINCache/docs/html/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/html/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/html/img/disclosure_open.png b/Carthage/Checkouts/PINCache/docs/html/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/html/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/html/img/library_background.png b/Carthage/Checkouts/PINCache/docs/html/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/html/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/html/img/title_background.png b/Carthage/Checkouts/PINCache/docs/html/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINCache/docs/html/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINCache/docs/html/index.html b/Carthage/Checkouts/PINCache/docs/html/index.html deleted file mode 100644 index a6e5fa92..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/docs/html/js/script.js b/Carthage/Checkouts/PINCache/docs/html/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINCache/docs/html/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml b/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml deleted file mode 100644 index cfe85acc..00000000 --- a/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml +++ /dev/null @@ -1,80 +0,0 @@ ---- -name: CI - -on: - push: - branches: - - master - - 'releases/*' - pull_request: - branches: - - master - -jobs: - build: - name: Build - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v2 - - name: Analyze and Test - run: | - xcodebuild clean analyze test \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -project PINOperation.xcodeproj \ - -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang - cocoapods: - name: CocoaPods - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Lint - run: pod lib lint - carthage: - name: Carthage - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Build - run: carthage build --no-skip-current - spm: - name: Swift Package Manager tests - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Test - run: swift test - example: - name: Build Example project - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v2 - - name: Install Pods - run: cd Example && pod install - - name: Build - run: | - cd Example && xcodebuild clean analyze \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -workspace PINOperationExample.xcworkspace \ - -scheme PINOperationExample \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang diff --git a/Carthage/Checkouts/PINOperation/.github_changelog_generator b/Carthage/Checkouts/PINOperation/.github_changelog_generator deleted file mode 100644 index 19665f65..00000000 --- a/Carthage/Checkouts/PINOperation/.github_changelog_generator +++ /dev/null @@ -1,3 +0,0 @@ -issues=false -since-tag=1.1.1 -future-release=1.2 diff --git a/Carthage/Checkouts/PINOperation/.gitignore b/Carthage/Checkouts/PINOperation/.gitignore deleted file mode 100644 index 4021767b..00000000 --- a/Carthage/Checkouts/PINOperation/.gitignore +++ /dev/null @@ -1,57 +0,0 @@ -.DS_Store - -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## Build generated -build/ -DerivedData/ - -## Various settings -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata/ - -## Other -*.moved-aside -*.xcuserstate - -## Obj-C/Swift specific -*.hmap -*.ipa -*.dSYM.zip -*.dSYM - -## Docs -docs/docsets/ - -## Playgrounds -timeline.xctimeline -playground.xcworkspace - -# Swift Package Manager -# -# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. -# Packages/ -.build/ - -# Carthage -# -# Add this line if you want to avoid checking in source code from Carthage dependencies. -# Carthage/Checkouts - -Carthage/Build - -# Bundler -.bundle -vendor - -# Example project -Example/Pods diff --git a/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Carthage/Checkouts/PINOperation/BUCK b/Carthage/Checkouts/PINOperation/BUCK deleted file mode 100755 index c7ade9d1..00000000 --- a/Carthage/Checkouts/PINOperation/BUCK +++ /dev/null @@ -1,22 +0,0 @@ -apple_library( - name = 'PINOperation', - modular = True, - exported_headers = glob(['Source/*.h']), - srcs = - glob(['Source/*.m']), - preprocessor_flags = ['-fobjc-arc'], - lang_preprocessor_flags = { - 'C': ['-std=gnu99'], - 'CXX': ['-std=gnu++11', '-stdlib=libc++'], - }, - linker_flags = [ - '-weak_framework', - 'UIKit', - '-weak_framework', - 'AppKit', - ], - frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - ], - visibility = ['PUBLIC'], -) diff --git a/Carthage/Checkouts/PINOperation/CHANGELOG.md b/Carthage/Checkouts/PINOperation/CHANGELOG.md deleted file mode 100644 index 221ad3cb..00000000 --- a/Carthage/Checkouts/PINOperation/CHANGELOG.md +++ /dev/null @@ -1,32 +0,0 @@ -## [1.2](https://github.com/Pinterest/PINOperation/tree/1.2) (2020-06-30) - -[Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.1.2...1.2) - -**Merged pull requests:** - -- Swift Package Manager support [\#32](https://github.com/pinterest/PINOperation/pull/32) ([martinpucik](https://github.com/martinpucik)) -- Add Carthage for watchOS, dependent by PINCache [\#31](https://github.com/pinterest/PINOperation/pull/31) ([dreampiggy](https://github.com/dreampiggy)) -- Fix analyzing [\#30](https://github.com/pinterest/PINOperation/pull/30) ([garrettmoon](https://github.com/garrettmoon)) -- Standardize our GitHub Actions CI workflow [\#29](https://github.com/pinterest/PINOperation/pull/29) ([jparise](https://github.com/jparise)) -- Github CI [\#26](https://github.com/pinterest/PINOperation/pull/26) ([rahul-malik](https://github.com/rahul-malik)) -- Fixes coalesce operation race condition [\#24](https://github.com/pinterest/PINOperation/pull/24) ([zhongwuzw](https://github.com/zhongwuzw)) - -## [1.1.2](https://github.com/Pinterest/PINOperation/tree/1.1.2) (2019-06-11) - -[Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.1.1...1.1.2) - -**Merged pull requests:** - -- Modernizing project [\#21](https://github.com/pinterest/PINOperation/pull/21) ([garrettmoon](https://github.com/garrettmoon)) -- Updates BUCK build file to match source layout. [\#20](https://github.com/pinterest/PINOperation/pull/20) ([RCacheaux](https://github.com/RCacheaux)) -- 1.1.1 release [\#19](https://github.com/pinterest/PINOperation/pull/19) ([garrettmoon](https://github.com/garrettmoon)) - -## 1.1.1 -- 2018 February 3 -* Cleanup warnings [garrett](https://github.com/garrettmoon) - -## 1.1 -- 2017 October 7 -* Deprecate addOperation: in favor of scheduleOperation: [garrett](https://github.com/garrettmoon) - -## 1.0.0 -- 2017 January 10 - -- Initial release! diff --git a/Carthage/Checkouts/PINOperation/CI/build.sh b/Carthage/Checkouts/PINOperation/CI/build.sh deleted file mode 100755 index bbdb8f94..00000000 --- a/Carthage/Checkouts/PINOperation/CI/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -eo pipefail - -make all \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json b/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json deleted file mode 100644 index 03853aa7..00000000 --- a/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - "^plans/", - "^docs/", - "^CI/exclude-from-build.json$", - "^README.md$", - "^CHANGELOG.md$" -] \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md b/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md deleted file mode 100644 index 8b4e45e2..00000000 --- a/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,40 +0,0 @@ -# Code of Conduct - -At Pinterest, we work hard to ensure that our work environment is welcoming -and inclusive to as many people as possible. We are committed to creating this -environment for everyone involved in our open source projects as well. We -welcome all participants regardless of ability, age, ethnicity, identified -gender, religion (or lack there of), sexual orientation and socioeconomic -status. - -This code of conduct details our expectations for upholding these values. - -## Good behavior - -We expect members of our community to exhibit good behavior including (but of -course not limited to): - -- Using intentional and empathetic language. -- Focusing on resolving instead of escalating conflict. -- Providing constructive feedback. - -## Unacceptable behavior - -Some examples of unacceptable behavior (again, this is not an exhaustive -list): - -- Harassment, publicly or in private. -- Trolling. -- Sexual advances (this isn’t the place for it). -- Publishing other’s personal information. -- Any behavior which would be deemed unacceptable in a professional environment. - -## Recourse - -If you are witness to or the target of unacceptable behavior, it should be -reported to Pinterest at opensource-policy@pinterest.com. All reporters will -be kept confidential and an appropriate response for each incident will be -evaluated. - -If the maintainers do not uphold and enforce this code of conduct in -good faith, community leadership will hold them accountable. \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj deleted file mode 100644 index 382c6346..00000000 --- a/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,391 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 1387274F245D5BB500C1F56D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1387274E245D5BB500C1F56D /* AppDelegate.swift */; }; - 13872758245D5BB800C1F56D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13872757245D5BB800C1F56D /* Assets.xcassets */; }; - 1387275B245D5BB800C1F56D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */; }; - 13872765245D5D8200C1F56D /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13872764245D5D8200C1F56D /* MainViewController.m */; }; - 6DD78925193625590E803994 /* libPods-PINOperationExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 1387274B245D5BB500C1F56D /* PINOperationExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PINOperationExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1387274E245D5BB500C1F56D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 13872757245D5BB800C1F56D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 1387275A245D5BB800C1F56D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 1387275C245D5BB800C1F56D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 13872762245D5D8200C1F56D /* PINOperationExample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PINOperationExample-Bridging-Header.h"; sourceTree = ""; }; - 13872763245D5D8200C1F56D /* MainViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = ""; }; - 13872764245D5D8200C1F56D /* MainViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = ""; }; - 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINOperationExample.release.xcconfig"; path = "Target Support Files/Pods-PINOperationExample/Pods-PINOperationExample.release.xcconfig"; sourceTree = ""; }; - 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINOperationExample.debug.xcconfig"; path = "Target Support Files/Pods-PINOperationExample/Pods-PINOperationExample.debug.xcconfig"; sourceTree = ""; }; - 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PINOperationExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 13872748245D5BB500C1F56D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6DD78925193625590E803994 /* libPods-PINOperationExample.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 110EBBE34DCD59092AC3306C /* Pods */ = { - isa = PBXGroup; - children = ( - 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */, - 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - 13872742245D5BB500C1F56D = { - isa = PBXGroup; - children = ( - 1387274D245D5BB500C1F56D /* PINOperationExample */, - 1387274C245D5BB500C1F56D /* Products */, - 110EBBE34DCD59092AC3306C /* Pods */, - 5C200BF654CB547E7117CE2B /* Frameworks */, - ); - sourceTree = ""; - }; - 1387274C245D5BB500C1F56D /* Products */ = { - isa = PBXGroup; - children = ( - 1387274B245D5BB500C1F56D /* PINOperationExample.app */, - ); - name = Products; - sourceTree = ""; - }; - 1387274D245D5BB500C1F56D /* PINOperationExample */ = { - isa = PBXGroup; - children = ( - 1387274E245D5BB500C1F56D /* AppDelegate.swift */, - 13872763245D5D8200C1F56D /* MainViewController.h */, - 13872764245D5D8200C1F56D /* MainViewController.m */, - 13872757245D5BB800C1F56D /* Assets.xcassets */, - 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */, - 1387275C245D5BB800C1F56D /* Info.plist */, - 13872762245D5D8200C1F56D /* PINOperationExample-Bridging-Header.h */, - ); - path = PINOperationExample; - sourceTree = ""; - }; - 5C200BF654CB547E7117CE2B /* Frameworks */ = { - isa = PBXGroup; - children = ( - 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1387274A245D5BB500C1F56D /* PINOperationExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1387275F245D5BB800C1F56D /* Build configuration list for PBXNativeTarget "PINOperationExample" */; - buildPhases = ( - 6C859F1C363A79193D42EFC9 /* [CP] Check Pods Manifest.lock */, - 13872747245D5BB500C1F56D /* Sources */, - 13872748245D5BB500C1F56D /* Frameworks */, - 13872749245D5BB500C1F56D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PINOperationExample; - productName = PINOperationExample; - productReference = 1387274B245D5BB500C1F56D /* PINOperationExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 13872743245D5BB500C1F56D /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1140; - LastUpgradeCheck = 1140; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 1387274A245D5BB500C1F56D = { - CreatedOnToolsVersion = 11.4.1; - LastSwiftMigration = 1140; - }; - }; - }; - buildConfigurationList = 13872746245D5BB500C1F56D /* Build configuration list for PBXProject "PINOperationExample" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 13872742245D5BB500C1F56D; - productRefGroup = 1387274C245D5BB500C1F56D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 1387274A245D5BB500C1F56D /* PINOperationExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 13872749245D5BB500C1F56D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1387275B245D5BB800C1F56D /* LaunchScreen.storyboard in Resources */, - 13872758245D5BB800C1F56D /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 6C859F1C363A79193D42EFC9 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-PINOperationExample-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 13872747245D5BB500C1F56D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1387274F245D5BB500C1F56D /* AppDelegate.swift in Sources */, - 13872765245D5D8200C1F56D /* MainViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 1387275A245D5BB800C1F56D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 1387275D245D5BB800C1F56D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 1387275E245D5BB800C1F56D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 13872760245D5BB800C1F56D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = PINOperationExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "PINOperationExample/PINOperationExample-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 13872761245D5BB800C1F56D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = PINOperationExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "PINOperationExample/PINOperationExample-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 13872746245D5BB500C1F56D /* Build configuration list for PBXProject "PINOperationExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1387275D245D5BB800C1F56D /* Debug */, - 1387275E245D5BB800C1F56D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1387275F245D5BB800C1F56D /* Build configuration list for PBXNativeTarget "PINOperationExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 13872760245D5BB800C1F56D /* Debug */, - 13872761245D5BB800C1F56D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 13872743245D5BB500C1F56D /* Project object */; -} diff --git a/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 4cdc4885..00000000 --- a/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift b/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift deleted file mode 100644 index 7aa52db8..00000000 --- a/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift +++ /dev/null @@ -1,31 +0,0 @@ -// -// AppDelegate.swift -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -import UIKit - -@UIApplicationMain -final class AppDelegate: UIResponder, UIApplicationDelegate { - private let queue: PINOperationQueue = PINOperationQueue(maxConcurrentOperations: 5) - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - let operationCount = 100 - let group = DispatchGroup() - for _ in 0.. - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist b/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist deleted file mode 100644 index 75404a26..00000000 --- a/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist +++ /dev/null @@ -1,41 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h b/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h deleted file mode 100644 index df2e69c3..00000000 --- a/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MainViewController.h -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface MainViewController : UIViewController - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m b/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m deleted file mode 100644 index 50d0c95d..00000000 --- a/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m +++ /dev/null @@ -1,41 +0,0 @@ -// -// MainViewController.m -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -#import "MainViewController.h" -#import -//#import - -@interface MainViewController () -@property (nonatomic, strong) PINOperationQueue *queue; -@end - -@implementation MainViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:5]; - - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - NSAssert(success == 0, @"Timed out before completing 100 operations"); -} - -- (dispatch_time_t)timeout { - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(20 * NSEC_PER_SEC)); -} - -@end diff --git a/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h b/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h deleted file mode 100644 index f3b5f384..00000000 --- a/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import diff --git a/Carthage/Checkouts/PINOperation/Example/Podfile b/Carthage/Checkouts/PINOperation/Example/Podfile deleted file mode 100644 index ae5fd622..00000000 --- a/Carthage/Checkouts/PINOperation/Example/Podfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://cdn.cocoapods.org/' -platform :ios, '8.0' - -target 'PINOperationExample' do - pod 'PINOperation', :path => '../' -end diff --git a/Carthage/Checkouts/PINOperation/Example/Podfile.lock b/Carthage/Checkouts/PINOperation/Example/Podfile.lock deleted file mode 100644 index 266cc700..00000000 --- a/Carthage/Checkouts/PINOperation/Example/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - PINOperation (1.1.2) - -DEPENDENCIES: - - PINOperation (from `../`) - -EXTERNAL SOURCES: - PINOperation: - :path: "../" - -SPEC CHECKSUMS: - PINOperation: 24b774353ca248fcf87d67b2d61eef42087c125a - -PODFILE CHECKSUM: b83a75d584abe07185e7be951687702dadbabf84 - -COCOAPODS: 1.9.1 diff --git a/Carthage/Checkouts/PINOperation/LICENSE.txt b/Carthage/Checkouts/PINOperation/LICENSE.txt deleted file mode 100644 index d0381d6d..00000000 --- a/Carthage/Checkouts/PINOperation/LICENSE.txt +++ /dev/null @@ -1,176 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/Carthage/Checkouts/PINOperation/Makefile b/Carthage/Checkouts/PINOperation/Makefile deleted file mode 100644 index 6cce01cc..00000000 --- a/Carthage/Checkouts/PINOperation/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -PLATFORM="platform=iOS Simulator,name=iPhone 7" -SDK="iphonesimulator" -SHELL=/bin/bash -o pipefail - -.PHONY: all lint test analyze carthage - -carthage: - carthage build --no-skip-current - -lint: - pod lib lint - -analyze: - xcodebuild clean analyze -destination ${PLATFORM} -sdk ${SDK} -project PINOperation.xcodeproj -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(shell pwd)/clang" | xcpretty - if [[ -n `find $(shell pwd)/clang -name "*.html"` ]] ; then rm -rf `pwd`/clang; exit 1; fi - rm -rf $(shell pwd)/clang - -test: - xcodebuild clean test -destination ${PLATFORM} -sdk ${SDK} -project PINOperation.xcodeproj -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO | xcpretty - -all: carthage lint test analyze \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/PINOperation.podspec b/Carthage/Checkouts/PINOperation/PINOperation.podspec deleted file mode 100644 index 7e598595..00000000 --- a/Carthage/Checkouts/PINOperation/PINOperation.podspec +++ /dev/null @@ -1,22 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'PINOperation' - s.version = '1.2' - s.homepage = 'https://github.com/pinterest/PINOperation' - s.summary = 'Fast, concurrency-limited task queue for iOS and OS X.' - s.authors = { 'Garrett Moon' => 'garrett@pinterest.com' } - s.source = { :git => 'https://github.com/pinterest/PINOperation.git', :tag => "#{s.version}" } - s.license = { :type => 'Apache 2.0', :file => 'LICENSE.txt' } - s.requires_arc = true - s.frameworks = 'Foundation' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.8' - s.tvos.deployment_target = '9.0' - s.watchos.deployment_target = '2.0' - pch_PIN = <<-EOS -#ifndef TARGET_OS_WATCH - #define TARGET_OS_WATCH 0 -#endif -EOS - s.prefix_header_contents = pch_PIN - s.source_files = 'Source/**/*.{h,m,mm}' -end diff --git a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj deleted file mode 100644 index ddcb88c2..00000000 --- a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1010 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 3201179424444862004FD783 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179524444862004FD783 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179624444862004FD783 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179724444862004FD783 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179824444862004FD783 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179924444862004FD783 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - 3201179A24444862004FD783 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC01055B1E27116600890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01052D1E27110D00890935 /* PINOperation.framework */; }; - CC01056A1E27117300890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01053D1E27113700890935 /* PINOperation.framework */; }; - CC0105791E27117F00890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01054A1E27114300890935 /* PINOperation.framework */; }; - CC0105871E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105881E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105891E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058A1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058B1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058C1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058D1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC01058E1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC01058F1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC0105901E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105911E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105921E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105931E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105941E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105951E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105961E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105971E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105981E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105991E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01059A1E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01059B1E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105A01E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A11E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A21E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A41E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; - CC0105A51E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; - CC0105A61E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - CC01055C1E27116600890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC01052C1E27110D00890935; - remoteInfo = PINOperation; - }; - CC01056B1E27117300890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC01053C1E27113700890935; - remoteInfo = "PINOperation-tvOS"; - }; - CC01057A1E27117F00890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC0105491E27114300890935; - remoteInfo = "PINOperation-macOS"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 3201178C24444859004FD783 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01052D1E27110D00890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01053D1E27113700890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01054A1E27114300890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105561E27116600890935 /* PINOperationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PINOperationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01055A1E27116600890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Tests/Info.plist; sourceTree = ""; }; - CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINOperation-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINOperation-macOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105801E2711B700890935 /* PINOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperation.h; sourceTree = ""; }; - CC0105811E2711B700890935 /* PINOperationGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationGroup.h; sourceTree = ""; }; - CC0105821E2711B700890935 /* PINOperationGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationGroup.m; sourceTree = ""; }; - CC0105831E2711B700890935 /* PINOperationMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationMacros.h; sourceTree = ""; }; - CC0105841E2711B700890935 /* PINOperationQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationQueue.h; sourceTree = ""; }; - CC0105851E2711B700890935 /* PINOperationQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationQueue.m; sourceTree = ""; }; - CC0105861E2711B700890935 /* PINOperationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationTypes.h; sourceTree = ""; }; - CC01059C1E27129E00890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CC01059D1E27131B00890935 /* PINOperationQueueTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationQueueTests.m; sourceTree = ""; }; - CC01059E1E27131B00890935 /* PINOperationGroupTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationGroupTests.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 3201178924444859004FD783 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105291E27110D00890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105391E27113700890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105461E27114300890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105531E27116600890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01055B1E27116600890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105621E27117300890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01056A1E27117300890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105711E27117F00890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105791E27117F00890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - CC0105231E27110D00890935 = { - isa = PBXGroup; - children = ( - CC01057F1E2711B700890935 /* Source */, - CC0105571E27116600890935 /* Tests */, - CC01052E1E27110D00890935 /* Products */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - usesTabs = 0; - }; - CC01052E1E27110D00890935 /* Products */ = { - isa = PBXGroup; - children = ( - CC01052D1E27110D00890935 /* PINOperation.framework */, - CC01053D1E27113700890935 /* PINOperation.framework */, - CC01054A1E27114300890935 /* PINOperation.framework */, - CC0105561E27116600890935 /* PINOperationTests.xctest */, - CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */, - CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */, - 3201178C24444859004FD783 /* PINOperation.framework */, - ); - name = Products; - sourceTree = ""; - }; - CC0105571E27116600890935 /* Tests */ = { - isa = PBXGroup; - children = ( - CC01059D1E27131B00890935 /* PINOperationQueueTests.m */, - CC01059E1E27131B00890935 /* PINOperationGroupTests.m */, - CC01055A1E27116600890935 /* Info.plist */, - ); - path = Tests; - sourceTree = ""; - }; - CC01057F1E2711B700890935 /* Source */ = { - isa = PBXGroup; - children = ( - CC0105801E2711B700890935 /* PINOperation.h */, - CC0105811E2711B700890935 /* PINOperationGroup.h */, - CC0105831E2711B700890935 /* PINOperationMacros.h */, - CC0105841E2711B700890935 /* PINOperationQueue.h */, - CC0105861E2711B700890935 /* PINOperationTypes.h */, - CC0105821E2711B700890935 /* PINOperationGroup.m */, - CC0105851E2711B700890935 /* PINOperationQueue.m */, - CC01059C1E27129E00890935 /* Info.plist */, - ); - path = Source; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 3201178724444859004FD783 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3201179824444862004FD783 /* PINOperationTypes.h in Headers */, - 3201179524444862004FD783 /* PINOperationGroup.h in Headers */, - 3201179424444862004FD783 /* PINOperation.h in Headers */, - 3201179724444862004FD783 /* PINOperationQueue.h in Headers */, - 3201179624444862004FD783 /* PINOperationMacros.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01052A1E27110D00890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105991E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105871E2711B700890935 /* PINOperation.h in Headers */, - CC01058A1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105901E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105931E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01053A1E27113700890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01059A1E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105881E2711B700890935 /* PINOperation.h in Headers */, - CC01058B1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105911E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105941E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105471E27114300890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01059B1E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105891E2711B700890935 /* PINOperation.h in Headers */, - CC01058C1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105921E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105951E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 3201178B24444859004FD783 /* PINOperation-watchOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3201179324444859004FD783 /* Build configuration list for PBXNativeTarget "PINOperation-watchOS" */; - buildPhases = ( - 3201178724444859004FD783 /* Headers */, - 3201178824444859004FD783 /* Sources */, - 3201178924444859004FD783 /* Frameworks */, - 3201178A24444859004FD783 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-watchOS"; - productName = "PINOperation-watchOS"; - productReference = 3201178C24444859004FD783 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC01052C1E27110D00890935 /* PINOperation */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105351E27110D00890935 /* Build configuration list for PBXNativeTarget "PINOperation" */; - buildPhases = ( - CC0105281E27110D00890935 /* Sources */, - CC0105291E27110D00890935 /* Frameworks */, - CC01052A1E27110D00890935 /* Headers */, - CC01052B1E27110D00890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PINOperation; - productName = PINOperation; - productReference = CC01052D1E27110D00890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC01053C1E27113700890935 /* PINOperation-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105421E27113700890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOS" */; - buildPhases = ( - CC0105381E27113700890935 /* Sources */, - CC0105391E27113700890935 /* Frameworks */, - CC01053A1E27113700890935 /* Headers */, - CC01053B1E27113700890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-tvOS"; - productName = "PINOperation-tvOS"; - productReference = CC01053D1E27113700890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105491E27114300890935 /* PINOperation-macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01054F1E27114300890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOS" */; - buildPhases = ( - CC0105451E27114300890935 /* Sources */, - CC0105461E27114300890935 /* Frameworks */, - CC0105471E27114300890935 /* Headers */, - CC0105481E27114300890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-macOS"; - productName = "PINOperation-macOS"; - productReference = CC01054A1E27114300890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105551E27116600890935 /* PINOperationTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01055E1E27116600890935 /* Build configuration list for PBXNativeTarget "PINOperationTests" */; - buildPhases = ( - CC0105521E27116600890935 /* Sources */, - CC0105531E27116600890935 /* Frameworks */, - CC0105541E27116600890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01055D1E27116600890935 /* PBXTargetDependency */, - ); - name = PINOperationTests; - productName = PINOperationTests; - productReference = CC0105561E27116600890935 /* PINOperationTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105641E27117300890935 /* PINOperation-tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01056D1E27117300890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOSTests" */; - buildPhases = ( - CC0105611E27117300890935 /* Sources */, - CC0105621E27117300890935 /* Frameworks */, - CC0105631E27117300890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01056C1E27117300890935 /* PBXTargetDependency */, - ); - name = "PINOperation-tvOSTests"; - productName = "PINOperation-tvOSTests"; - productReference = CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105731E27117F00890935 /* PINOperation-macOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01057C1E27117F00890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOSTests" */; - buildPhases = ( - CC0105701E27117F00890935 /* Sources */, - CC0105711E27117F00890935 /* Frameworks */, - CC0105721E27117F00890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01057B1E27117F00890935 /* PBXTargetDependency */, - ); - name = "PINOperation-macOSTests"; - productName = "PINOperation-macOSTests"; - productReference = CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - CC0105241E27110D00890935 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 3201178B24444859004FD783 = { - CreatedOnToolsVersion = 11.4; - ProvisioningStyle = Automatic; - }; - CC01052C1E27110D00890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC01053C1E27113700890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105491E27114300890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105551E27116600890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105641E27117300890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105731E27117F00890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = CC0105271E27110D00890935 /* Build configuration list for PBXProject "PINOperation" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - Base, - en, - ); - mainGroup = CC0105231E27110D00890935; - productRefGroup = CC01052E1E27110D00890935 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - CC01052C1E27110D00890935 /* PINOperation */, - CC0105551E27116600890935 /* PINOperationTests */, - CC01053C1E27113700890935 /* PINOperation-tvOS */, - CC0105641E27117300890935 /* PINOperation-tvOSTests */, - CC0105491E27114300890935 /* PINOperation-macOS */, - CC0105731E27117F00890935 /* PINOperation-macOSTests */, - 3201178B24444859004FD783 /* PINOperation-watchOS */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 3201178A24444859004FD783 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01052B1E27110D00890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01053B1E27113700890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105481E27114300890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105541E27116600890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105631E27117300890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105721E27117F00890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 3201178824444859004FD783 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3201179924444862004FD783 /* PINOperationGroup.m in Sources */, - 3201179A24444862004FD783 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105281E27110D00890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058D1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105961E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105381E27113700890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058E1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105971E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105451E27114300890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058F1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105981E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105521E27116600890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A01E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A41E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105611E27117300890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A11E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A51E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105701E27117F00890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A21E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A61E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - CC01055D1E27116600890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC01052C1E27110D00890935 /* PINOperation */; - targetProxy = CC01055C1E27116600890935 /* PBXContainerItemProxy */; - }; - CC01056C1E27117300890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC01053C1E27113700890935 /* PINOperation-tvOS */; - targetProxy = CC01056B1E27117300890935 /* PBXContainerItemProxy */; - }; - CC01057B1E27117F00890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC0105491E27114300890935 /* PINOperation-macOS */; - targetProxy = CC01057A1E27117F00890935 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 3201179124444859004FD783 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-watchOS"; - PRODUCT_NAME = PINOperation; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Debug; - }; - 3201179224444859004FD783 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-watchOS"; - PRODUCT_NAME = PINOperation; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Release; - }; - CC0105331E27110D00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.8; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - CC0105341E27110D00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.8; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - CC0105361E27110D00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CC0105371E27110D00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CC0105431E27113700890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - CC0105441E27113700890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Release; - }; - CC0105501E27114300890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CC0105511E27114300890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CC01055F1E27116600890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - CC0105601E27116600890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - CC01056E1E27117300890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - CC01056F1E27117300890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - CC01057D1E27117F00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Debug; - }; - CC01057E1E27117F00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 3201179324444859004FD783 /* Build configuration list for PBXNativeTarget "PINOperation-watchOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3201179124444859004FD783 /* Debug */, - 3201179224444859004FD783 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105271E27110D00890935 /* Build configuration list for PBXProject "PINOperation" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105331E27110D00890935 /* Debug */, - CC0105341E27110D00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105351E27110D00890935 /* Build configuration list for PBXNativeTarget "PINOperation" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105361E27110D00890935 /* Debug */, - CC0105371E27110D00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105421E27113700890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105431E27113700890935 /* Debug */, - CC0105441E27113700890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01054F1E27114300890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105501E27114300890935 /* Debug */, - CC0105511E27114300890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01055E1E27116600890935 /* Build configuration list for PBXNativeTarget "PINOperationTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01055F1E27116600890935 /* Debug */, - CC0105601E27116600890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01056D1E27117300890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01056E1E27117300890935 /* Debug */, - CC01056F1E27117300890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01057C1E27117F00890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01057D1E27117F00890935 /* Debug */, - CC01057E1E27117F00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = CC0105241E27110D00890935 /* Project object */; -} diff --git a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme deleted file mode 100644 index ebc5ab8b..00000000 --- a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme deleted file mode 100644 index 31981545..00000000 --- a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme deleted file mode 100644 index 4187965f..00000000 --- a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme b/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme deleted file mode 100644 index 82056667..00000000 --- a/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINOperation/Package.swift b/Carthage/Checkouts/PINOperation/Package.swift deleted file mode 100644 index 1e747dba..00000000 --- a/Carthage/Checkouts/PINOperation/Package.swift +++ /dev/null @@ -1,18 +0,0 @@ -// swift-tools-version:5.2 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription - -let package = Package( - name: "PINOperation", - products: [ - // Products define the executables and libraries produced by a package, and make them visible to other packages. - .library(name: "PINOperation", targets: ["PINOperation"]), - ], - targets: [ - // Targets are the basic building blocks of a package. A target can define a module or a test suite. - // Targets can depend on other targets in this package, and on products in packages which this package depends on. - .target(name: "PINOperation", path: "Source", publicHeadersPath: "."), - .testTarget(name: "PINOperationTests", dependencies: ["PINOperation"], path: "Tests") - ] -) diff --git a/Carthage/Checkouts/PINOperation/README.md b/Carthage/Checkouts/PINOperation/README.md deleted file mode 100644 index c7ac84ec..00000000 --- a/Carthage/Checkouts/PINOperation/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# PINOperation - -[![CocoaPods](https://img.shields.io/cocoapods/v/PINOperation.svg)](http://cocoadocs.org/docsets/PINOperation/) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Build status](https://github.com/pinterest/PINOperation/workflows/CI/badge.svg)](https://github.com/pinterest/PINOperation/actions?query=workflow%3ACI+branch%3Amaster) - -## Fast, concurrency-limited task queue for iOS and macOS. - -## Installation - -### Manually - -[Download the latest tag](https://github.com/pinterest/PINOperation/tags) and drag the `PINOperation` folder into your Xcode project. - -Install the docs by double clicking the `.docset` file under `docs/`, or view them online at [cocoadocs.org](http://cocoadocs.org/docsets/PINOperation/) - -### Git Submodule - - git submodule add https://github.com/pinterest/PINOperation.git - git submodule update --init - -### CocoaPods - -Add [PINOperation](http://cocoapods.org/?q=name%3APINOperation) to your `Podfile` and run `pod install`. - -### Carthage - -Add the following line to your `Cartfile` and run `carthage update --platform ios`. Then follow [this instruction of Carthage](https://github.com/carthage/carthage#adding-frameworks-to-unit-tests-or-a-framework) to embed the framework. - -```github "pinterest/PINOperation"``` - -## Requirements - -__PINOperation__ requires iOS 8.0, tvOS 9.0, macOS 10.8 or watchOS 2.0 and greater. - -## Contact - -[Garrett Moon](mailto:garrett@pinterest.com) - -## License - -Copyright 2013 Tumblr, Inc. -Copyright 2015 Pinterest, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. [See the License](LICENSE.txt) for the specific language governing permissions and limitations under the License. diff --git a/Carthage/Checkouts/PINOperation/RELEASE.md b/Carthage/Checkouts/PINOperation/RELEASE.md deleted file mode 100644 index e0fc7ee8..00000000 --- a/Carthage/Checkouts/PINOperation/RELEASE.md +++ /dev/null @@ -1,13 +0,0 @@ -# Release Process -This document describes the process for a public PINOperation release. - -### Preparation -- Install [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator): `sudo gem install github_changelog_generator` -- Generate a GitHub Personal Access Token to prevent running into public GitHub API rate limits: https://github.com/github-changelog-generator/github-changelog-generator#github-token - -### Process -- Run `github_changelog_generator` in PINOperation project directory: `github_changelog_generator --token --user Pinterest --project PINOperation`. To avoid hitting rate limit, the generator will replace the entire file with just the changes from this version – revert that giant deletion to get the entire new changelog. -- Update `spec.version` within `PINOperation.podspec` and the `since-tag` and `future-release` fields in `.github_changelog_generator`. -- Create a new PR with the updated `PINOperation.podspec` and the newly generated changelog, add `#changelog` to the PR message so the CI will not prevent merging it. -- After merging in the PR, [create a new GitHub release](https://github.com/Pinterest/PINOperation/releases/new). Use the generated changelog for the new release. -- Push to Cocoapods with `pod trunk push` diff --git a/Carthage/Checkouts/PINOperation/Source/Info.plist b/Carthage/Checkouts/PINOperation/Source/Info.plist deleted file mode 100644 index faedaa13..00000000 --- a/Carthage/Checkouts/PINOperation/Source/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - Copyright © 2017 Pinterest. All rights reserved. - NSPrincipalClass - - - diff --git a/Carthage/Checkouts/PINOperation/Source/PINOperation.h b/Carthage/Checkouts/PINOperation/Source/PINOperation.h deleted file mode 100644 index 68b074d2..00000000 --- a/Carthage/Checkouts/PINOperation/Source/PINOperation.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// PINOperation.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINOperationMacros.h" -#import "PINOperationTypes.h" -#import "PINOperationQueue.h" -#import "PINOperationGroup.h" diff --git a/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h b/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h deleted file mode 100644 index 0ae7dbac..00000000 --- a/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// PINOperationGroup.h -// PINQueue -// -// Created by Garrett Moon on 10/8/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -#import -#import "PINOperationTypes.h" -#import "PINOperationMacros.h" - -@class PINOperationQueue; - -NS_ASSUME_NONNULL_BEGIN - -@protocol PINGroupOperationReference; - -PINOP_SUBCLASSING_RESTRICTED -@interface PINOperationGroup : NSObject - -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)asyncOperationGroupWithQueue:(PINOperationQueue *)operationQueue; - -- (nullable id )addOperation:(dispatch_block_t)operation; -- (nullable id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority; -- (void)start; -- (void)cancel; -- (void)setCompletion:(dispatch_block_t)completion; -- (void)waitUntilComplete; - -@end - -@protocol PINGroupOperationReference - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m b/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m deleted file mode 100644 index ddd2ed01..00000000 --- a/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m +++ /dev/null @@ -1,187 +0,0 @@ -// -// PINOperationGroup.m -// PINQueue -// -// Created by Garrett Moon on 10/8/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -#import "PINOperationGroup.h" -#import "PINOperation.h" -#import - -@interface NSNumber (PINGroupOperationQueue) -@end - -@interface PINOperationGroup () -{ - pthread_mutex_t _lock; - - PINOperationQueue *_operationQueue; - NSMutableArray *_operations; - NSMutableArray *_operationPriorities; - NSMutableArray > *_operationReferences; - NSMapTable , id > *_groupToOperationReferences; - NSUInteger _operationReferenceCount; - - dispatch_group_t _group; - - dispatch_block_t _completion; - - BOOL _started; - BOOL _canceled; -} - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue NS_DESIGNATED_INITIALIZER; - -@end - -@implementation PINOperationGroup - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue -{ - if (self = [super init]) { - pthread_mutex_init(&_lock, NULL); - - _operationQueue = operationQueue; - - _operations = [[NSMutableArray alloc] init]; - _operationReferences = [[NSMutableArray alloc] init]; - _operationPriorities = [[NSMutableArray alloc] init]; - - _groupToOperationReferences = [NSMapTable weakToStrongObjectsMapTable]; - _group = dispatch_group_create(); - } - return self; -} - -- (void)dealloc -{ - pthread_mutex_destroy(&_lock); -} - -+ (instancetype)asyncOperationGroupWithQueue:(PINOperationQueue *)operationQueue -{ - return [[self alloc] initWithOperationQueue:operationQueue]; -} - -- (id )locked_nextOperationReference -{ - id reference = [NSNumber numberWithUnsignedInteger:++_operationReferenceCount]; - return reference; -} - -- (void)start -{ - [self lock]; - NSAssert(_canceled == NO, @"Operation group canceled."); - if (_started == NO && _canceled == NO) { - for (NSUInteger idx = 0; idx < _operations.count; idx++) { - dispatch_group_enter(_group); - dispatch_block_t originalOperation = _operations[idx]; - dispatch_block_t groupBlock = ^{ - originalOperation(); - dispatch_group_leave(self->_group); - }; - - id operationReference = [_operationQueue scheduleOperation:groupBlock withPriority:[_operationPriorities[idx] unsignedIntegerValue]]; - [_groupToOperationReferences setObject:operationReference forKey:_operationReferences[idx]]; - } - - if (_completion) { - dispatch_queue_t completionQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); - dispatch_group_notify(_group, completionQueue, ^{ - [self runCompletionIfNeeded]; - }); - } - - _operations = nil; - _operationPriorities = nil; - _operationReferences = nil; - } - [self unlock]; -} - -- (void)cancel -{ - [self lock]; - _canceled = YES; - - for (id operationReference in [_groupToOperationReferences objectEnumerator]) { - if ([_operationQueue cancelOperation:operationReference]) { - dispatch_group_leave(_group); - } - } - - //TODO just nil out instead? Does it make sense to support adding operations after cancelation? - [_groupToOperationReferences removeAllObjects]; - [_operations removeAllObjects]; - [_operationPriorities removeAllObjects]; - [_operationReferences removeAllObjects]; - - _completion = nil; - [self unlock]; -} - -- (id )addOperation:(dispatch_block_t)operation -{ - return [self addOperation:operation withPriority:PINOperationQueuePriorityDefault]; -} - -- (id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority -{ - [self lock]; - id reference = nil; - NSAssert(_started == NO && _canceled == NO, @"Operation group already started or canceled."); - if (_started == NO && _canceled == NO) { - reference = [self locked_nextOperationReference]; - [_operations addObject:operation]; - [_operationPriorities addObject:@(priority)]; - [_operationReferences addObject:reference]; - } - [self unlock]; - - return reference; -} - -- (void)setCompletion:(dispatch_block_t)completion -{ - [self lock]; - NSAssert(_started == NO && _canceled == NO, @"Operation group already started or canceled."); - if (_started == NO && _canceled == NO) { - _completion = completion; - } - [self unlock]; -} - -- (void)waitUntilComplete -{ - [self start]; - dispatch_group_wait(_group, DISPATCH_TIME_FOREVER); - [self runCompletionIfNeeded]; -} - -- (void)runCompletionIfNeeded -{ - dispatch_block_t completion; - [self lock]; - completion = _completion; - _completion = nil; - [self unlock]; - - if (completion) { - completion(); - } -} - -- (void)lock -{ - pthread_mutex_lock(&_lock); -} - -- (void)unlock -{ - pthread_mutex_unlock(&_lock); -} - -@end diff --git a/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h b/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h deleted file mode 100644 index 5be3a216..00000000 --- a/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINOperationMacros.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#ifndef PINOP_SUBCLASSING_RESTRICTED -#if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#define PINOP_SUBCLASSING_RESTRICTED __attribute__((objc_subclassing_restricted)) -#else -#define PINOP_SUBCLASSING_RESTRICTED -#endif // #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#endif // #ifndef PINOP_SUBCLASSING_RESTRICTED diff --git a/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h b/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h deleted file mode 100644 index 07eacbeb..00000000 --- a/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h +++ /dev/null @@ -1,141 +0,0 @@ -// -// PINOperationQueue.h -// Pods -// -// Created by Garrett Moon on 8/23/16. -// -// - -#import -#import "PINOperationTypes.h" -#import "PINOperationMacros.h" - -NS_ASSUME_NONNULL_BEGIN - -typedef void(^PINOperationBlock)(id _Nullable data); -typedef _Nullable id(^PINOperationDataCoalescingBlock)(id _Nullable existingData, id _Nullable newData); - -@protocol PINOperationReference; - -PINOP_SUBCLASSING_RESTRICTED -@interface PINOperationQueue : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -/** - * Initializes and returns a newly allocated operation queue with the specified number of maximum concurrent operations. - * - * @param maxConcurrentOperations The maximum number of queued operations that can execute at the same time. - * - */ -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations; - -/** - * Initializes and returns a newly allocated operation queue with the specified number of maximum concurrent operations and the concurrent queue they will be scheduled on. - * - * @param maxConcurrentOperations The maximum number of queued operations that can execute at the same time. - * @param concurrentQueue The operation queue to schedule concurrent operations - * - */ -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations concurrentQueue:(dispatch_queue_t)concurrentQueue NS_DESIGNATED_INITIALIZER; - -/** - * Returns the shared instance of the PINOperationQueue class. - */ -+ (instancetype)sharedOperationQueue; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * - */ -- (id )scheduleOperation:(dispatch_block_t)operation; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * @param priority The execution priority of the operation in an operation queue. - */ -- (id )scheduleOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * @param priority The execution priority of the operation in an operation queue. - * @param identifier A string that identifies the operations that can be coalesced. - * @param coalescingData The optional data consumed by this operation that needs to be updated/coalesced with data of a new operation when coalescing the two operations happens. - * @param dataCoalescingBlock The optional block called to update/coalesce the data of this operation with data of a new operation when coalescing the two operations happens. - * @param completion The block to execute after the operation finished. - */ -- (id )scheduleOperation:(PINOperationBlock)operation - withPriority:(PINOperationQueuePriority)priority - identifier:(nullable NSString *)identifier - coalescingData:(nullable id)coalescingData - dataCoalescingBlock:(nullable PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(nullable dispatch_block_t)completion; - -/** - * The maximum number of queued operations that can execute at the same time. - * - * @discussion The value in this property affects only the operations that the current queue has executing at the same time. Other operation queues can also execute their maximum number of operations in parallel. - * Reducing the number of concurrent operations does not affect any operations that are currently executing. - * - * Setting this value to 1 the operations will not be processed by priority as the operations will processed in a FIFO order to prevent deadlocks if operations depend on certain other operations to run in order. - * - */ -@property (assign) NSUInteger maxConcurrentOperations; - -/** - * Marks the operation as cancelled - */ -- (BOOL)cancelOperation:(id )operationReference; - -/** - * Cancels all queued operations - */ -- (void)cancelAllOperations; - -/** - * Blocks the current thread until all of the receiver’s queued and executing operations finish executing. - * - * @discussion When called, this method blocks the current thread and waits for the receiver’s current and queued - * operations to finish executing. While the current thread is blocked, the receiver continues to launch already - * queued operations and monitor those that are executing. - * - * @warning This should never be called from within an operation submitted to the PINOperationQueue as this will result - * in a deadlock. - */ -- (void)waitUntilAllOperationsAreFinished; - -/** - * Sets the priority for a operation via it's reference - * - * @param priority The new priority for the operation - * @param reference The reference for the operation - * - */ -- (void)setOperationPriority:(PINOperationQueuePriority)priority withReference:(id )reference; - -#pragma mark - Deprecated - -- (id )addOperation:(dispatch_block_t)operation __deprecated_msg("Use scheduleOperation: instead."); - -- (id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority __deprecated_msg("Use scheduleOperation:withPriority: instead."); - -- (id )addOperation:(PINOperationBlock)operation - withPriority:(PINOperationQueuePriority)priority - identifier:(nullable NSString *)identifier - coalescingData:(nullable id)coalescingData - dataCoalescingBlock:(nullable PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(nullable dispatch_block_t)completion __deprecated_msg("Use scheduleOperation:withPriority:identifier:coalescingData:dataCoalescingBlock:completion: instead."); - -@end - -@protocol PINOperationReference - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m b/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m deleted file mode 100644 index 5d0a38fe..00000000 --- a/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m +++ /dev/null @@ -1,471 +0,0 @@ -// -// PINOperationQueue.m -// Pods -// -// Created by Garrett Moon on 8/23/16. -// -// - -#import "PINOperationQueue.h" -#import - -@class PINOperation; - -@interface NSNumber (PINOperationQueue) - -@end - -@interface PINOperationQueue () { - pthread_mutex_t _lock; - //increments with every operation to allow cancelation - NSUInteger _operationReferenceCount; - NSUInteger _maxConcurrentOperations; - - dispatch_group_t _group; - - dispatch_queue_t _serialQueue; - BOOL _serialQueueBusy; - - dispatch_semaphore_t _concurrentSemaphore; - dispatch_queue_t _concurrentQueue; - dispatch_queue_t _semaphoreQueue; - - NSMutableOrderedSet *_queuedOperations; - NSMutableOrderedSet *_lowPriorityOperations; - NSMutableOrderedSet *_defaultPriorityOperations; - NSMutableOrderedSet *_highPriorityOperations; - - NSMapTable, PINOperation *> *_referenceToOperations; - NSMapTable *_identifierToOperations; -} - -@end - -@interface PINOperation : NSObject - -@property (nonatomic, strong) PINOperationBlock block; -@property (nonatomic, strong) id reference; -@property (nonatomic, assign) PINOperationQueuePriority priority; -@property (nonatomic, strong) NSMutableArray *completions; -@property (nonatomic, strong) NSString *identifier; -@property (nonatomic, strong) id data; - -+ (instancetype)operationWithBlock:(PINOperationBlock)block reference:(id )reference priority:(PINOperationQueuePriority)priority identifier:(nullable NSString *)identifier data:(nullable id)data completion:(nullable dispatch_block_t)completion; - -- (void)addCompletion:(nullable dispatch_block_t)completion; - -@end - -@implementation PINOperation - -+ (instancetype)operationWithBlock:(PINOperationBlock)block reference:(id)reference priority:(PINOperationQueuePriority)priority identifier:(NSString *)identifier data:(id)data completion:(dispatch_block_t)completion -{ - PINOperation *operation = [[self alloc] init]; - operation.block = block; - operation.reference = reference; - operation.priority = priority; - operation.identifier = identifier; - operation.data = data; - [operation addCompletion:completion]; - - return operation; -} - -- (void)addCompletion:(dispatch_block_t)completion -{ - if (completion == nil) { - return; - } - if (_completions == nil) { - _completions = [NSMutableArray array]; - } - [_completions addObject:completion]; -} - -@end - -@implementation PINOperationQueue - -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations -{ - return [self initWithMaxConcurrentOperations:maxConcurrentOperations concurrentQueue:dispatch_queue_create("PINOperationQueue Concurrent Queue", DISPATCH_QUEUE_CONCURRENT)]; -} - -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations concurrentQueue:(dispatch_queue_t)concurrentQueue -{ - if (self = [super init]) { - NSAssert(maxConcurrentOperations > 0, @"Max concurrent operations must be greater than 0."); - _maxConcurrentOperations = maxConcurrentOperations; - _operationReferenceCount = 0; - - pthread_mutexattr_t attr; - pthread_mutexattr_init(&attr); - //mutex must be recursive to allow scheduling of operations from within operations - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); - pthread_mutex_init(&_lock, &attr); - - _group = dispatch_group_create(); - - _serialQueue = dispatch_queue_create("PINOperationQueue Serial Queue", DISPATCH_QUEUE_SERIAL); - - _concurrentQueue = concurrentQueue; - - //Create a queue with max - 1 because this plus the serial queue add up to max. - _concurrentSemaphore = dispatch_semaphore_create(_maxConcurrentOperations - 1); - _semaphoreQueue = dispatch_queue_create("PINOperationQueue Serial Semaphore Queue", DISPATCH_QUEUE_SERIAL); - - _queuedOperations = [[NSMutableOrderedSet alloc] init]; - _lowPriorityOperations = [[NSMutableOrderedSet alloc] init]; - _defaultPriorityOperations = [[NSMutableOrderedSet alloc] init]; - _highPriorityOperations = [[NSMutableOrderedSet alloc] init]; - - _referenceToOperations = [NSMapTable weakToWeakObjectsMapTable]; - _identifierToOperations = [NSMapTable weakToWeakObjectsMapTable]; - } - return self; -} - -- (void)dealloc -{ - pthread_mutex_destroy(&_lock); -} - -+ (instancetype)sharedOperationQueue -{ - static PINOperationQueue *sharedOperationQueue = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedOperationQueue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:MAX([[NSProcessInfo processInfo] activeProcessorCount], 2)]; - }); - return sharedOperationQueue; -} - -- (id )nextOperationReference -{ - [self lock]; - id reference = [NSNumber numberWithUnsignedInteger:++_operationReferenceCount]; - [self unlock]; - return reference; -} - -// Deprecated -- (id )addOperation:(dispatch_block_t)block -{ - return [self scheduleOperation:block]; -} - -- (id )scheduleOperation:(dispatch_block_t)block -{ - return [self scheduleOperation:block withPriority:PINOperationQueuePriorityDefault]; -} - -// Deprecated -- (id )addOperation:(dispatch_block_t)block withPriority:(PINOperationQueuePriority)priority -{ - return [self scheduleOperation:block withPriority:priority]; -} - -- (id )scheduleOperation:(dispatch_block_t)block withPriority:(PINOperationQueuePriority)priority -{ - PINOperation *operation = [PINOperation operationWithBlock:^(id data) { block(); } - reference:[self nextOperationReference] - priority:priority - identifier:nil - data:nil - completion:nil]; - [self lock]; - [self locked_addOperation:operation]; - [self unlock]; - - [self scheduleNextOperations:NO]; - - return operation.reference; -} - -// Deprecated -- (id)addOperation:(PINOperationBlock)block - withPriority:(PINOperationQueuePriority)priority - identifier:(NSString *)identifier - coalescingData:(id)coalescingData - dataCoalescingBlock:(PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(dispatch_block_t)completion -{ - return [self scheduleOperation:block - withPriority:priority - identifier:identifier - coalescingData:coalescingData - dataCoalescingBlock:dataCoalescingBlock - completion:completion]; -} - -- (id)scheduleOperation:(PINOperationBlock)block - withPriority:(PINOperationQueuePriority)priority - identifier:(NSString *)identifier - coalescingData:(id)coalescingData - dataCoalescingBlock:(PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(dispatch_block_t)completion -{ - id reference = nil; - BOOL isNewOperation = NO; - - [self lock]; - PINOperation *operation = nil; - if (identifier != nil && (operation = [_identifierToOperations objectForKey:identifier]) != nil) { - // There is an exisiting operation with the provided identifier, let's coalesce these operations - if (dataCoalescingBlock != nil) { - operation.data = dataCoalescingBlock(operation.data, coalescingData); - } - - [operation addCompletion:completion]; - } else { - isNewOperation = YES; - operation = [PINOperation operationWithBlock:block - reference:[self nextOperationReference] - priority:priority - identifier:identifier - data:coalescingData - completion:completion]; - [self locked_addOperation:operation]; - } - reference = operation.reference; - [self unlock]; - - if (isNewOperation) { - [self scheduleNextOperations:NO]; - } - - return reference; -} - -- (void)locked_addOperation:(PINOperation *)operation -{ - NSMutableOrderedSet *queue = [self operationQueueWithPriority:operation.priority]; - - dispatch_group_enter(_group); - [queue addObject:operation]; - [_queuedOperations addObject:operation]; - [_referenceToOperations setObject:operation forKey:operation.reference]; - if (operation.identifier != nil) { - [_identifierToOperations setObject:operation forKey:operation.identifier]; - } -} - -- (void)cancelAllOperations -{ - [self lock]; - for (PINOperation *operation in [[_referenceToOperations copy] objectEnumerator]) { - [self locked_cancelOperation:operation.reference]; - } - [self unlock]; -} - - -- (BOOL)cancelOperation:(id )operationReference -{ - [self lock]; - BOOL success = [self locked_cancelOperation:operationReference]; - [self unlock]; - return success; -} - -- (NSUInteger)maxConcurrentOperations -{ - [self lock]; - NSUInteger maxConcurrentOperations = _maxConcurrentOperations; - [self unlock]; - return maxConcurrentOperations; -} - -- (void)setMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations -{ - NSAssert(maxConcurrentOperations > 0, @"Max concurrent operations must be greater than 0."); - [self lock]; - __block NSInteger difference = maxConcurrentOperations - _maxConcurrentOperations; - _maxConcurrentOperations = maxConcurrentOperations; - [self unlock]; - - if (difference == 0) { - return; - } - - dispatch_async(_semaphoreQueue, ^{ - while (difference != 0) { - if (difference > 0) { - dispatch_semaphore_signal(self->_concurrentSemaphore); - difference--; - } else { - dispatch_semaphore_wait(self->_concurrentSemaphore, DISPATCH_TIME_FOREVER); - difference++; - } - } - }); -} - -#pragma mark - private methods - -- (BOOL)locked_cancelOperation:(id )operationReference -{ - PINOperation *operation = [_referenceToOperations objectForKey:operationReference]; - BOOL success = [self locked_removeOperation:operation]; - if (success) { - dispatch_group_leave(_group); - } - return success; -} - -- (void)setOperationPriority:(PINOperationQueuePriority)priority withReference:(id )operationReference -{ - [self lock]; - PINOperation *operation = [_referenceToOperations objectForKey:operationReference]; - if (operation && operation.priority != priority) { - NSMutableOrderedSet *oldQueue = [self operationQueueWithPriority:operation.priority]; - [oldQueue removeObject:operation]; - - operation.priority = priority; - - NSMutableOrderedSet *queue = [self operationQueueWithPriority:priority]; - [queue addObject:operation]; - } - [self unlock]; -} - -/** - Schedule next operations schedules the next operation by queue order onto the serial queue if - it's available and one operation by priority order onto the concurrent queue. - */ -- (void)scheduleNextOperations:(BOOL)onlyCheckSerial -{ - [self lock]; - - //get next available operation in order, ignoring priority and run it on the serial queue - if (_serialQueueBusy == NO) { - PINOperation *operation = [self locked_nextOperationByQueue]; - if (operation) { - _serialQueueBusy = YES; - dispatch_async(_serialQueue, ^{ - operation.block(operation.data); - for (dispatch_block_t completion in operation.completions) { - completion(); - } - dispatch_group_leave(self->_group); - - [self lock]; - self->_serialQueueBusy = NO; - [self unlock]; - - //see if there are any other operations - [self scheduleNextOperations:YES]; - }); - } - } - - NSInteger maxConcurrentOperations = _maxConcurrentOperations; - - [self unlock]; - - if (onlyCheckSerial) { - return; - } - - //if only one concurrent operation is set, let's just use the serial queue for executing it - if (maxConcurrentOperations < 2) { - return; - } - - dispatch_async(_semaphoreQueue, ^{ - dispatch_semaphore_wait(self->_concurrentSemaphore, DISPATCH_TIME_FOREVER); - [self lock]; - PINOperation *operation = [self locked_nextOperationByPriority]; - [self unlock]; - - if (operation) { - dispatch_async(self->_concurrentQueue, ^{ - operation.block(operation.data); - for (dispatch_block_t completion in operation.completions) { - completion(); - } - dispatch_group_leave(self->_group); - dispatch_semaphore_signal(self->_concurrentSemaphore); - }); - } else { - dispatch_semaphore_signal(self->_concurrentSemaphore); - } - }); -} - -- (NSMutableOrderedSet *)operationQueueWithPriority:(PINOperationQueuePriority)priority -{ - switch (priority) { - case PINOperationQueuePriorityLow: - return _lowPriorityOperations; - - case PINOperationQueuePriorityDefault: - return _defaultPriorityOperations; - - case PINOperationQueuePriorityHigh: - return _highPriorityOperations; - - default: - NSAssert(NO, @"Invalid priority set"); - return _defaultPriorityOperations; - } -} - -//Call with lock held -- (PINOperation *)locked_nextOperationByPriority -{ - PINOperation *operation = [_highPriorityOperations firstObject]; - if (operation == nil) { - operation = [_defaultPriorityOperations firstObject]; - } - if (operation == nil) { - operation = [_lowPriorityOperations firstObject]; - } - if (operation) { - [self locked_removeOperation:operation]; - } - return operation; -} - -//Call with lock held -- (PINOperation *)locked_nextOperationByQueue -{ - PINOperation *operation = [_queuedOperations firstObject]; - [self locked_removeOperation:operation]; - return operation; -} - -- (void)waitUntilAllOperationsAreFinished -{ - [self scheduleNextOperations:NO]; - dispatch_group_wait(_group, DISPATCH_TIME_FOREVER); -} - -//Call with lock held -- (BOOL)locked_removeOperation:(PINOperation *)operation -{ - if (operation) { - NSMutableOrderedSet *priorityQueue = [self operationQueueWithPriority:operation.priority]; - if ([priorityQueue containsObject:operation]) { - [priorityQueue removeObject:operation]; - [_queuedOperations removeObject:operation]; - if (operation.identifier) { - [_identifierToOperations removeObjectForKey:operation.identifier]; - } - return YES; - } - } - return NO; -} - -- (void)lock -{ - pthread_mutex_lock(&_lock); -} - -- (void)unlock -{ - pthread_mutex_unlock(&_lock); -} - -@end diff --git a/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h b/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h deleted file mode 100644 index be7293db..00000000 --- a/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINOperationTypes.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import - -typedef NS_ENUM(NSUInteger, PINOperationQueuePriority) { - PINOperationQueuePriorityLow, - PINOperationQueuePriorityDefault, - PINOperationQueuePriorityHigh, -}; diff --git a/Carthage/Checkouts/PINOperation/Tests/Info.plist b/Carthage/Checkouts/PINOperation/Tests/Info.plist deleted file mode 100644 index ba72822e..00000000 --- a/Carthage/Checkouts/PINOperation/Tests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m b/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m deleted file mode 100644 index 7505d56f..00000000 --- a/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m +++ /dev/null @@ -1,129 +0,0 @@ -// -// PINOperationGroupTests.m -// PINOperationQueue -// -// Created by Garrett Moon on 10/12/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -@import PINOperation; - -#import -#import - -static NSTimeInterval PINOperationGroupTestBlockTimeout = 20; - -@interface PINOperationGroupTests : XCTestCase - -@property PINOperationQueue *queue; - -@end - -@implementation PINOperationGroupTests - -- (dispatch_time_t)timeout -{ - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(PINOperationGroupTestBlockTimeout * NSEC_PER_SEC)); -} - -- (void)setUp { - [super setUp]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:5]; -} - -- (void)tearDown { - // Put teardown code here. This method is called after the invocation of each test method in the class. - [super tearDown]; -} - -- (void)testAllOperationsRunBeforeCompletion -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - for (NSUInteger idx = 0; idx < 100; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - - XCTestExpectation *completionRun = [self expectationWithDescription:@"Completion Run"]; - - __weak typeof(self) weakSelf = self; - [group setCompletion:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - XCTAssert(operationsRun == 100, @"Not all operations were run before completion"); - } - [completionRun fulfill]; - }]; - - [group start]; - - [self waitForExpectationsWithTimeout:PINOperationGroupTestBlockTimeout handler:nil]; -} - -- (void)testWaitUntilOperationsComplete -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - for (NSUInteger idx = 0; idx < 100; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - __block BOOL completionBlockCalled = NO; - [group setCompletion:^{ - completionBlockCalled = YES; - }]; - - [group waitUntilComplete]; - XCTAssert(completionBlockCalled, @"Completion block should have been called after waiting."); - - @synchronized (self) { - XCTAssert(operationsRun == 100, @"All operations should be run"); - } -} - -- (void)testCancelation -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - const NSUInteger operationsToRun = 100; - - for (NSUInteger idx = 0; idx < operationsToRun; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - usleep(10000); - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - - [group setCompletion:^{ - XCTAssert(NO, @"completion should not be run"); - }]; - - [group start]; - [group cancel]; - - usleep(10000 * operationsToRun); - - @synchronized (self) { - XCTAssert(operationsRun < operationsToRun, @"All operations should not be run."); - } -} - -@end diff --git a/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m b/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m deleted file mode 100644 index 844968f2..00000000 --- a/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m +++ /dev/null @@ -1,523 +0,0 @@ -// -// PINOperationQueueTests.m -// PINOperationQueue -// -// Created by Garrett Moon on 8/28/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -@import PINOperation; -#import -#import - -static NSTimeInterval PINOperationQueueTestBlockTimeout = 20; - -@interface PINOperationQueueTests : XCTestCase - -@property (nonatomic, strong) PINOperationQueue *queue; - -@end - -static const NSUInteger PINOperationQueueTestsLowestMaxOperations = 1; -static const NSUInteger PINOperationQueueTestsMaxOperations = 5; - -@implementation PINOperationQueueTests - -- (void)setUp -{ - [super setUp]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsMaxOperations]; - // Put setup code here. This method is called before the invocation of each test method in the class. -} - -- (void)tearDown -{ - // Put teardown code here. This method is called after the invocation of each test method in the class. - self.queue = nil; - [super tearDown]; -} - -- (dispatch_time_t)timeout -{ - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(PINOperationQueueTestBlockTimeout * NSEC_PER_SEC)); -} - -- (void)testAllOperationsRun -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out before completing 100 operations"); -} - -- (void)testAllOperationsReleased -{ - const NSUInteger operationCount = 100; - NSPointerArray *weakOperationPointers = [NSPointerArray weakObjectsPointerArray]; - - for (int i = 0; i < operationCount; i++) { - @autoreleasepool { - dispatch_block_t operation = ^{ - usleep(i); - }; - - [weakOperationPointers addPointer:(__bridge void * _Nullable)(operation)]; - [self.queue scheduleOperation:operation withPriority:PINOperationQueuePriorityDefault]; - } - } - - [self.queue waitUntilAllOperationsAreFinished]; - - // Autorelease pool is drained at the end of each run loop - // Dispatch to the next loop before asserting that all blocks are gone - XCTestExpectation *expectation = [self expectationWithDescription:@"next run loop expectation"]; - dispatch_async(dispatch_get_main_queue(), ^{ - [expectation fulfill]; - }); - - [self waitForExpectationsWithTimeout:10 handler:nil]; - XCTAssertEqual(0, weakOperationPointers.allObjects.count); -} - -- (void)testWaitUntilAllOperationsFinished -{ - const NSUInteger operationCount = 100; - __block NSInteger operationsRun = 0; - - __weak PINOperationQueueTests *weakSelf = self; - for (NSUInteger count = 0; count < operationCount; count++) { - [self.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - } withPriority:PINOperationQueuePriorityDefault]; - } - - [self.queue waitUntilAllOperationsAreFinished]; - - XCTAssert(operationCount == operationsRun, @"Timed out before completing 100 operations"); -} - -- (void)testWaitUntilAllOperationsFinishedWithNestedOperations -{ - const NSUInteger operationCount = 100; - - __block NSInteger operationsRun = 0; - for (NSUInteger count = 0; count < operationCount; count++) { - __weak PINOperationQueueTests *weakSelf = self; - [self.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - [strongSelf.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - } withPriority:PINOperationQueuePriorityHigh]; - } withPriority:PINOperationQueuePriorityDefault]; - } - - [self.queue waitUntilAllOperationsAreFinished]; - - XCTAssert(operationsRun == (operationCount*2), @"Timed out before completing 100 operations"); -} - -- (void)helperConfirmMaxOperations:(NSUInteger)maxOperations queue:(PINOperationQueue *)queue -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - __block NSUInteger runningOperationCount = 0; - __block BOOL operationCountMaxedOut = NO; - - XCTAssert(queue.maxConcurrentOperations == maxOperations, @"Max concurrent operations not correctly set."); -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [queue scheduleOperation:^{ - @synchronized (self) { - runningOperationCount++; - if (runningOperationCount == maxOperations) { - operationCountMaxedOut = YES; - } - XCTAssert(runningOperationCount <= maxOperations, @"Running too many operations at once: %lu", (unsigned long)runningOperationCount); - } - - usleep(10000); - - @synchronized (self) { - runningOperationCount--; - XCTAssert(runningOperationCount <= maxOperations, @"Running too many operations at once: %lu", (unsigned long)runningOperationCount); - } - - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out before completing 100 operations"); - XCTAssert(operationCountMaxedOut == YES, @"Never reached maximum number of concurrent operations: %lu", (unsigned long)maxOperations); -} - -- (void)testMaximumNumberOfConcurrentOperations -{ - [self helperConfirmMaxOperations:PINOperationQueueTestsMaxOperations queue:self.queue]; -} - -- (void)testMaximumNumberOfConcurrentOperationsIsOne -{ - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsLowestMaxOperations]; - [self helperConfirmMaxOperations:PINOperationQueueTestsLowestMaxOperations queue:self.queue]; -} - -//We expect operations to run in priority order when added in that order as well -- (void)testPriority -{ - const NSUInteger highOperationCount = 100; - const NSUInteger defaultOperationCount = 100; - const NSUInteger lowOperationCount = 100; - - __block NSUInteger highOperationComplete = 0; - __block NSUInteger defaultOperationComplete = 0; - __block NSUInteger lowOperationComplete = 0; - - dispatch_group_t group = dispatch_group_create(); - - //This is actually a pretty annoying unit test to write. Because multiple operations are allowed to be concurrent, lower priority operations can potentially repeatidly - //obtain the lock while higher priority operations wait… So I'm attempting to make the operations less about lock contention and more about the length of time they take - //to execute and adding a sleep before they obtain the lock to hopefully improve reliability. - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < highOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++highOperationComplete; - XCTAssert(defaultOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running default operations before high. Default operations complete: %lu", (unsigned long)defaultOperationComplete); - XCTAssert(lowOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running low operations before high. Low operations complete: %lu", (unsigned long)lowOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityHigh]; - } - - for (NSUInteger count = 0; count < defaultOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++defaultOperationComplete; - XCTAssert(lowOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running low operations before default. Low operations complete: %lu", (unsigned long)lowOperationComplete); - XCTAssert(highOperationComplete > highOperationCount - PINOperationQueueTestsMaxOperations, @"Running high operations after default. High operations complete: %lu", (unsigned long)highOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - for (NSUInteger count = 0; count < lowOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++lowOperationComplete; - XCTAssert(defaultOperationComplete > defaultOperationCount - PINOperationQueueTestsMaxOperations, @"Running default operations after low. Default operations complete: %lu", (unsigned long)defaultOperationComplete); - XCTAssert(highOperationComplete > highOperationCount - PINOperationQueueTestsMaxOperations, @"Running high operations after low. High operations complete: %lu", (unsigned long)highOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -//We expect low priority operations to eventually run even if the queue is continually kept full with higher priority operations -- (void)testOutOfOrderOperations -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < PINOperationQueueTestsMaxOperations + 1; count++) { - [self.queue scheduleOperation:^{ - [self recursivelyAddOperation]; - } withPriority:PINOperationQueuePriorityHigh]; - } -#pragma clang diagnostic pop - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)recursivelyAddOperation -{ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - [self.queue scheduleOperation:^{ - [self recursivelyAddOperation]; - } withPriority:PINOperationQueuePriorityHigh]; -#pragma clang diagnostic pop -} - -- (void)testCancelation -{ - const NSUInteger sleepTime = 100000; - for (NSUInteger count = 0; count < PINOperationQueueTestsMaxOperations + 1; count++) { - [self.queue scheduleOperation:^{ - usleep(sleepTime); - } withPriority:PINOperationQueuePriorityDefault]; - } - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - id operation = [self.queue scheduleOperation:^{ - XCTAssertTrue(NO, @"operation should have been canceled"); - } withPriority:PINOperationQueuePriorityDefault]; -#pragma clang diagnostics pop - - [self.queue cancelOperation:operation]; - - usleep(sleepTime * (PINOperationQueueTestsMaxOperations + 1)); -} - -- (void)testChangingPriority -{ - const NSUInteger defaultOperationCount = 100; - - __block NSUInteger defaultOperationComplete = 0; - - dispatch_group_t group = dispatch_group_create(); - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < defaultOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(100); - @synchronized (self) { - ++defaultOperationComplete; - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - dispatch_group_enter(group); - id operation = [self.queue scheduleOperation:^{ - @synchronized (self) { - //Make sure we're less than defaultOperationCount - PINOperationQueueTestsMaxOperations because this operation could start even while the others are running even - //if started last. - XCTAssert(defaultOperationComplete < defaultOperationCount - PINOperationQueueTestsMaxOperations, @"operation was not completed before default operations even though reprioritized."); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; -#pragma clang diagnostic pop - [self.queue setOperationPriority:PINOperationQueuePriorityHigh withReference:operation]; - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)testCoalescingOperations -{ - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsMaxOperations]; - - const NSUInteger totalOperationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - NSString *normalDesc = @"Normal"; - NSString *coallescedDesc = @"Coallesced"; - NSArray *descs = @[normalDesc, coallescedDesc]; - - __block NSMutableDictionary *operationCount = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - __block NSMutableDictionary *operationRun = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - __block NSMutableDictionary *operationComplete = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSUInteger i = 0; i < totalOperationCount; i++) { - dispatch_group_enter(group); - - NSString *desc = descs[i % descs.count]; - BOOL isNormalOperation = [desc isEqualToString:normalDesc]; - - NSString *identifier = desc; - if (isNormalOperation) { - identifier = [NSString stringWithFormat:@"%@ %tu", desc, i]; - } - - operationCount[desc] = @([operationCount[desc] intValue] + 1); - - PINOperationBlock operation = ^(id _Nullable data) { - @synchronized (self) { - operationRun[desc] = @([operationRun[desc] intValue] + 1); - } - }; - - dispatch_block_t completion = ^{ - @synchronized (self) { - operationComplete[desc] = @([operationComplete[desc] intValue] + 1); - } - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:identifier - coalescingData:nil - dataCoalescingBlock:nil - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); - XCTAssert([operationRun[normalDesc] intValue] == [operationCount[normalDesc] intValue]); - XCTAssert([operationComplete[normalDesc] intValue] == [operationCount[normalDesc] intValue]); - XCTAssert([operationRun[coallescedDesc] intValue] == 1); - XCTAssert([operationComplete[coallescedDesc] intValue] == [operationCount[coallescedDesc] intValue]); -} - -- (void)testCoalescingOperationCompletions -{ - dispatch_group_t group = dispatch_group_create(); - - NSArray *completionFlags = @[@(NO), @(NO), @(YES), @(NO), @(YES)]; - NSIndexSet *expectedCompletedIndexSet = [completionFlags indexesOfObjectsPassingTest:^BOOL(NSNumber * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { return [obj boolValue]; }]; - NSMutableIndexSet *completedIndexSet = [NSMutableIndexSet indexSet]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSUInteger i = 0; i < completionFlags.count; i++) { - dispatch_group_enter(group); - - PINOperationBlock operation = ^(id _Nullable data) { - for (NSNumber *hasCompletion in completionFlags) { - if ([hasCompletion boolValue] == NO) { - dispatch_group_leave(group); - } - } - }; - - dispatch_block_t completion = [completionFlags[i] boolValue] == NO ? nil : ^{ - XCTAssert([expectedCompletedIndexSet containsIndex:i]); - @synchronized (self) { - [completedIndexSet addIndex:i]; - } - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:@"Identifier" - coalescingData:nil - dataCoalescingBlock:nil - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); - XCTAssert([completedIndexSet isEqual:expectedCompletedIndexSet]); -} - -- (void)testCoalescingOperationData -{ - dispatch_group_t group = dispatch_group_create(); - - NSArray *dataset = @[@(100), @(50), @(50), @(100), @(10)]; - NSNumber *expectedData = [dataset sortedArrayUsingSelector:@selector(compare:)][0]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSNumber *data in dataset) { - dispatch_group_enter(group); - - PINOperationBlock operation = ^(id _Nullable obj) { - XCTAssert([expectedData compare:obj] == NSOrderedSame); - }; - - PINOperationDataCoalescingBlock dataCoalescingBlock = ^id(id existingData, id newData) { - NSComparisonResult result = [existingData compare:newData]; - return (result == NSOrderedDescending) ? newData : existingData; - }; - - dispatch_block_t completion = ^{ - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:@"Identifier" - coalescingData:data - dataCoalescingBlock:dataCoalescingBlock - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)testChangingMaximumNumberOfOperations -{ - PINOperationQueue *queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:2]; - [self helperConfirmMaxOperations:2 queue:queue]; - queue.maxConcurrentOperations = 4; - usleep(10000); - [self helperConfirmMaxOperations:4 queue:queue]; - queue.maxConcurrentOperations = 2; - usleep(10000); - [self helperConfirmMaxOperations:2 queue:queue]; -} - -@end diff --git a/Carthage/Checkouts/PINOperation/build_docs.sh b/Carthage/Checkouts/PINOperation/build_docs.sh deleted file mode 100755 index 8566ae2e..00000000 --- a/Carthage/Checkouts/PINOperation/build_docs.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env sh - -appledoc \ - --company-id com.pinterest \ - --project-name PINOperation \ - --project-company Pinterest \ - --project-version 1.0 \ - --docset-min-xcode-version 4.3 \ - --docset-bundle-id %COMPANYID.%PROJECTID \ - --docset-bundle-name "%PROJECT %VERSION" \ - --docset-bundle-filename %COMPANYID.%PROJECTID-%VERSIONID.docset \ - --ignore "tests" \ - --ignore "docs" \ - --ignore "*.m" \ - --no-repeat-first-par \ - --explicit-crossref \ - --clean-output \ - --keep-intermediate-files \ - --output ./docs \ - . - -mv docs/docset docs/com.pinterest.PINOperation-1.0.docset -rm docs/docset-installed.txt diff --git a/Carthage/Checkouts/PINOperation/build_tests.sh b/Carthage/Checkouts/PINOperation/build_tests.sh deleted file mode 100755 index 93ccafe2..00000000 --- a/Carthage/Checkouts/PINOperation/build_tests.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh - -# Have to specify destination because http://www.openradar.me/23857648 -xcodebuild ONLY_ACTIVE_ARCH=NO -project tests/PINOperation.xcodeproj -scheme PINOperationTests -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=latest' clean build test diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist deleted file mode 100644 index 3f0c2925..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - com.pinterest.PINOperationQueue - CFBundleName - PINOperationQueue 1.0 - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - - - - - DocSetFeedName - PINOperationQueue Documentation - - DocSetMinimumXcodeVersion - 4.3 - - DashDocSetFamily - appledoc - DocSetPublisherIdentifier - com.pinterest.documentation - DocSetPublisherName - Pinterest - NSHumanReadableCopyright - Copyright © 2017 Pinterest. All rights reserved. - - diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html deleted file mode 100644 index 810f085f..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -

PINOperationQueuePriority

- -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINOperationQueuePriority ) {
- -    PINOperationQueuePriorityLow,
- -    PINOperationQueuePriorityDefault,
- -    PINOperationQueuePriorityHigh,
- - };
- -
- -
-

Constants

-
- -
PINOperationQueuePriorityLow
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityDefault
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityHigh
-
- - -

- PINOperationQueue.h. -

- -
- -
-
- - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html deleted file mode 100644 index 9bd0aa1f..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html deleted file mode 100644 index fbc5d19d..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml deleted file mode 100644 index a824d9a5..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - PINOperationQueue - index.html - - - - - - - Protocols - index.html - - - - - - - - - Constants - index.html - - - - - - - - - Blocks - index.html - - - - - - - - - - - - - - - PINOperationReference - Protocols/PINOperationReference.html - - - - - PINOperationQueuePriority - Constants/PINOperationQueuePriority.html - - - - - PINOperationBlock - Blocks/PINOperationBlock.html - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml deleted file mode 100644 index 03332c47..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - //apple_ref/occ/intf/PINOperationReference - Cancels all queued operations - PINOperationQueue.h - - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml deleted file mode 100644 index b6618281..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINOperationQueuePriority - - PINOperationQueue.h - - - - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityLow - - PINOperationQueuePriorityLow - - PINOperationQueue.h - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityDefault - - PINOperationQueuePriorityDefault - - PINOperationQueue.h - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityHigh - - PINOperationQueuePriorityHigh - - PINOperationQueue.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx deleted file mode 100644 index cf3289f0..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm deleted file mode 100644 index c6022c76..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal deleted file mode 100644 index 4f824904..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom deleted file mode 100644 index 0503cfdd..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx deleted file mode 100644 index 99e1cd2b..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc deleted file mode 100644 index 2088a3ff..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache b/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache deleted file mode 100644 index 5118133e..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html b/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html b/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html deleted file mode 100644 index 810f085f..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -

PINOperationQueuePriority

- -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINOperationQueuePriority ) {
- -    PINOperationQueuePriorityLow,
- -    PINOperationQueuePriorityDefault,
- -    PINOperationQueuePriorityHigh,
- - };
- -
- -
-

Constants

-
- -
PINOperationQueuePriorityLow
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityDefault
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityHigh
-
- - -

- PINOperationQueue.h. -

- -
- -
-
- - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html b/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss b/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss b/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss b/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss b/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss b/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss b/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss b/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss b/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html b/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html deleted file mode 100644 index 9bd0aa1f..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png b/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png b/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png b/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png b/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png b/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINOperation/docs/html/index.html b/Carthage/Checkouts/PINOperation/docs/html/index.html deleted file mode 100644 index fbc5d19d..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/index.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINOperation/docs/html/js/script.js b/Carthage/Checkouts/PINOperation/docs/html/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINOperation/docs/html/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINRemoteImage/.gitattributes b/Carthage/Checkouts/PINRemoteImage/.gitattributes deleted file mode 100644 index 041218b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/.gitattributes +++ /dev/null @@ -1,3 +0,0 @@ -docs/* linguist-documentation -Example/Pods/* linguist-vendored -Example-Mac/Pods/* linguist-vendored \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/.github/workflows/ci.yaml b/Carthage/Checkouts/PINRemoteImage/.github/workflows/ci.yaml deleted file mode 100644 index 7242d7a0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/.github/workflows/ci.yaml +++ /dev/null @@ -1,47 +0,0 @@ ---- -name: CI - -on: - push: - branches: - - master - - 'releases/*' - pull_request: - branches: - - master - -jobs: - analyze: - name: Analyze - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v1 - - name: Analyze - run: make analyze - test: - name: Test - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v1 - - name: Test - run: make test - cocoapods: - name: CocoaPods - runs-on: macOS-latest - steps: - - uses: actions/checkout@v1 - - name: CocoaPods - run: make cocoapods - carthage: - name: Carthage - runs-on: macOS-latest - steps: - - uses: actions/checkout@v1 - - name: Carthage - run: make carthage diff --git a/Carthage/Checkouts/PINRemoteImage/.github_changelog_generator b/Carthage/Checkouts/PINRemoteImage/.github_changelog_generator deleted file mode 100644 index 0e779f30..00000000 --- a/Carthage/Checkouts/PINRemoteImage/.github_changelog_generator +++ /dev/null @@ -1,3 +0,0 @@ -issues=false -since-tag=3.0.1 -future-release=3.0.2 \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/.gitignore b/Carthage/Checkouts/PINRemoteImage/.gitignore deleted file mode 100644 index 1ffe8d40..00000000 --- a/Carthage/Checkouts/PINRemoteImage/.gitignore +++ /dev/null @@ -1,47 +0,0 @@ -# OS X -.DS_Store - -# Bundler -.bundle - -# Created by https://www.gitignore.io/api/swift - -### Swift ### -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## Build generated -build/ -DerivedData - -## Various settings -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata - -## Other -*.xccheckout -*.moved-aside -*.xcuserstate -*.xcscmblueprint - -## Obj-C/Swift specific -*.hmap -*.ipa - -# CocoaPods -# -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control -# -Pods/ - -Carthage/Build diff --git a/Carthage/Checkouts/PINRemoteImage/CHANGELOG.md b/Carthage/Checkouts/PINRemoteImage/CHANGELOG.md deleted file mode 100644 index c4445344..00000000 --- a/Carthage/Checkouts/PINRemoteImage/CHANGELOG.md +++ /dev/null @@ -1,114 +0,0 @@ -## [3.0.1](https://github.com/Pinterest/PINRemoteImage/tree/3.0.1) (2020-09-08) - -[Full Changelog](https://github.com/Pinterest/PINRemoteImage/compare/3.0.0...3.0.1) - -**Merged pull requests:** - -- Update PINCache in podspec [\#564](https://github.com/pinterest/PINRemoteImage/pull/564) ([garrettmoon](https://github.com/garrettmoon)) -- Update PINCache and PINOperation [\#562](https://github.com/pinterest/PINRemoteImage/pull/562) ([garrettmoon](https://github.com/garrettmoon)) -- Let's use the same commands we use locally. [\#561](https://github.com/pinterest/PINRemoteImage/pull/561) ([garrettmoon](https://github.com/garrettmoon)) -- Ensure the example defines the macros before referencing them. [\#557](https://github.com/pinterest/PINRemoteImage/pull/557) ([bolsinga](https://github.com/bolsinga)) -- Remove the PCH file and ensure macros are defined before using [\#556](https://github.com/pinterest/PINRemoteImage/pull/556) ([bolsinga](https://github.com/bolsinga)) -- Seems that having the framework and example have the same name confuses cocoapods [\#555](https://github.com/pinterest/PINRemoteImage/pull/555) ([garrettmoon](https://github.com/garrettmoon)) -- Upgrade WebP to 1.1.0 [\#554](https://github.com/pinterest/PINRemoteImage/pull/554) ([garrettmoon](https://github.com/garrettmoon)) -- Conditionally call CADisplayLink method based upon iOS10 availability to remove deprecation warning [\#552](https://github.com/pinterest/PINRemoteImage/pull/552) ([bolsinga](https://github.com/bolsinga)) -- Fix typos [\#548](https://github.com/pinterest/PINRemoteImage/pull/548) ([pgrimaud](https://github.com/pgrimaud)) -- Remove unused CI directory [\#547](https://github.com/pinterest/PINRemoteImage/pull/547) ([jparise](https://github.com/jparise)) -- PINCachedAnimatedImage: Fix retain cycles [\#546](https://github.com/pinterest/PINRemoteImage/pull/546) ([bolsinga](https://github.com/bolsinga)) -- Fix up analyze for new github CI [\#545](https://github.com/pinterest/PINRemoteImage/pull/545) ([garrettmoon](https://github.com/garrettmoon)) -- Switch to GitHub Actions for CI [\#544](https://github.com/pinterest/PINRemoteImage/pull/544) ([jparise](https://github.com/jparise)) -- \#trivial Fix performance issue caused by saving encoded image data to memory cache [\#539](https://github.com/pinterest/PINRemoteImage/pull/539) ([Naituw](https://github.com/Naituw)) -- Update 3.0.0 change log and podspec [\#537](https://github.com/pinterest/PINRemoteImage/pull/537) ([ernestmama](https://github.com/ernestmama)) -- Fix memory cache content in README [\#530](https://github.com/pinterest/PINRemoteImage/pull/530) ([OhKanghoon](https://github.com/OhKanghoon)) -- Refactor remote manager task for uuid method [\#526](https://github.com/pinterest/PINRemoteImage/pull/526) ([zhongwuzw](https://github.com/zhongwuzw)) -- Burst Animated Image speed of frame index search [\#523](https://github.com/pinterest/PINRemoteImage/pull/523) ([zhongwuzw](https://github.com/zhongwuzw)) -- Set HTTPMaximumConnectionsPerHost to PINRemoteImageHTTPMaximumConnectionsPerHost only if user don't provide sessionConfiguration [\#516](https://github.com/pinterest/PINRemoteImage/pull/516) ([zhongwuzw](https://github.com/zhongwuzw)) -- Fixes re-downloading data corrupt for the same url [\#514](https://github.com/pinterest/PINRemoteImage/pull/514) ([zhongwuzw](https://github.com/zhongwuzw)) - -## 3.0.0 -- 2020 Jan 06 -- [new] Add PINRemoteImageManagerConfiguration configuration object. [#492](https://github.com/pinterest/PINRemoteImage/pull/492) [rqueue](https://github.com/rqueue) -- [fixed] Fixes blending in animated WebP images. [#507](https://github.com/pinterest/PINRemoteImage/pull/507) [garrettmoon](https://github.com/garrettmoon) -- [fixed] Fixes support in PINAnimatedImageView for WebP animated images. [#507](https://github.com/pinterest/PINRemoteImage/pull/507) [garrettmoon](https://github.com/garrettmoon) -- [fixed] Fixes re-downloading data corrupt for the same url. [#514](https://github.com/pinterest/PINRemoteImage/pull/514) [zhongwuzw](https://github.com/zhongwuzw) -- [new] Exposure didCompleteTask:withError: delegate method of protocol PINURLSessionManagerDelegate. [#519](https://github.com/pinterest/PINRemoteImage/pull/519) [zhongwuzw](https://github.com/zhongwuzw) -- [fixed] Fixes AnimatedImageView designated initializer not work. [#512](https://github.com/pinterest/PINRemoteImage/pull/512) [zhongwuzw](https://github.com/zhongwuzw) -- [fixed] Set bpp(bits per pixel) to 32 bit for GIF. [#511](https://github.com/pinterest/PINRemoteImage/pull/511) [zhongwuzw](https://github.com/zhongwuzw) -- [new] Add cancel method for PINRemoteImageManager. [#509](https://github.com/pinterest/PINRemoteImage/pull/509) [zhongwuzw](https://github.com/zhongwuzw) -- [fixed] Fixes build error when using Xcode 10.2.1. [#524](https://github.com/pinterest/PINRemoteImage/pull/524) [ANNotunzdY](https://github.com/ANNotunzdY) - -## 3.0.0 Beta 14 -- [fixed] Re-enable warnings check [#506](https://github.com/pinterest/PINRemoteImage/pull/506) [garrettmoon](https://github.com/garrettmoon) -- [new] Allow use of NSURLCache via a custom NSURLSession [#477](https://github.com/pinterest/PINRemoteImage/pull/477) [wiseoldduck](https://github.com/wiseoldduck) -- [new] Respect Cache-Control and Expires headers if the cache supports TTL. [#462](https://github.com/pinterest/PINRemoteImage/pull/462) [wiseoldduck](https://github.com/wiseoldduck) -- [new] Updated to latest PINCache beta 7. [#461](https://github.com/pinterest/PINRemoteImage/pull/461) [wiseoldduck](https://github.com/wiseoldduck) -- [iOS11] Fix warnings [#428](https://github.com/pinterest/PINRemoteImage/pull/428) [Eke](https://github.com/Eke) -- [new / beta] Native Support for GIFs and animated WebP [#453](https://github.com/pinterest/PINRemoteImage/pull/453) [garrettmoon](https://github.com/garrettmoon) -- [new] Add support for getting NSURLSessionMetrics back. [#456](https://github.com/pinterest/PINRemoteImage/pull/456) [garrettmoon](https://github.com/garrettmoon) -- [removed] Removed support for FLAnimatedImage [#453](https://github.com/pinterest/PINRemoteImage/pull/453) [garrettmoon](https://github.com/garrettmoon) -- [new] Add support for higher frame rate devices to animated images. [#417](https://github.com/pinterest/PINRemoteImage/pull/417) [garrettmoon](https://github.com/garrettmoon) -- [fixed] Fixes non-animated GIFs being delivered as an animated image. [#434](https://github.com/pinterest/PINRemoteImage/pull/434) [garrettmoon](https://github.com/garrettmoon) -- [fixed] Fixes a bug where using PINRemoteImageBasicCache would cause images to be decoded on the main thread. [#457](https://github.com/pinterest/PINRemoteImage/pull/457) [kgaidis](https://github.com/kgaidis) -- [cleanup] Remove unused code that supported iOS < 7. [#435](https://github.com/pinterest/PINRemoteImage/pull/435) [Adlai-Holler](https://github.com/Adlai-Holler) -- [cleanup] Use NS_ERROR_ENUM to improve Swift import. [#440](https://github.com/pinterest/PINRemoteImage/pull/440) [Adlai-Holler](https://github.com/Adlai-Holler) -- [fixed] Fixes nil session manager configuration. [#460](https://github.com/pinterest/PINRemoteImage/pull/460) [garrettmoon](https://github.com/garrettmoon) -- [fixed] Fixes deprecated -defaultImageCache not being called if overridden. [479](https://github.com/pinterest/PINRemoteImage/pull/479) [nguyenhuy](https://github.com/nguyenhuy) -- [new] Add a new API that allows a priority to be set when a new download task is scheduled. [#490](https://github.com/pinterest/PINRemoteImage/pull/490) [nguyenhuy](https://github.com/nguyenhuy) - -## 3.0.0 Beta 13 -- [new] Support for webp and improved support for GIFs. [#411](https://github.com/pinterest/PINRemoteImage/pull/411) [garrettmoon](https://github.com/garrettmoon) -- [new] Added back tvOS support through a new target [#408](https://github.com/pinterest/PINRemoteImage/pull/408) [jverdi](https://github.com/jverdi) -- [refactor] Refactor out KVO on NSURLSessionTask to avoid Apple crashes. [#410](https://github.com/pinterest/PINRemoteImage/pull/410) [garrettmoon](https://github.com/garrettmoon) - -## 3.0.0 Beta 12 -- [new] Added a way to specify custom retry logic when network error happens [#386](https://github.com/pinterest/PINRemoteImage/pull/386) -- [new] Improve disk cache migration performance [#391](https://github.com/pinterest/PINRemoteImage/pull/391) [chuganzy](https://github.com/chuganzy), [#394](https://github.com/pinterest/PINRemoteImage/pull/394) [nguyenhuy](https://github.com/nguyenhuy) -- [new] Adds support for using cell vs. wifi in leau of speed for determing which URL to download if speed is unavailable. [garrettmoon](https://github.com/garrettmoon) -- [new] Uses BPS minus time to first byte for deciding which of a set of URLs to download. [garrettmoon](https://github.com/garrettmoon) -- [fixed] Fixes an edge case when image returned with 404 response, we now treat it as image instead of error [#399](https://github.com/pinterest/PINRemoteImage/pull/396) [maxwang](https://github.com/wsdwsd0829) - -## 3.0.0 Beta 11 -- [fixed] Fixes a deadlock with canceling processor tasks [#374](https://github.com/pinterest/PINRemoteImage/pull/374) [zachwaugh](https://github.com/zachwaugh) -- [fixed] Fixes a deadlock in the retry system. [garrettmoon](https://github.com/garrettmoon) -- [fixed] Fixes a threadsafety issue in accessing callbacks. [garrettmoon](https://github.com/garrettmoon) -- [fixed] Fixes a crash with resumed downloads when a key is long. [garrettmoon](https://github.com/garrettmoon) -- [new] PINRemoteImageManager now respects the request timeout value of session configuration. [garrettmoon](https://github.com/garrettmoon) -- [new] Updated to latest PINCache beta 5. [garrettmoon](https://github.com/garrettmoon) -- [new] Added support for getting NSURLResponse from a PINRemoteImageManagerResult object. [garrettmoon](https://github.com/garrettmoon) - -## 3.0.0 Beta 10 -- [new] Added support (in iOS 10) for skipping cancelation if the estimated amount of time to complete the download is less than the average time to first byte for a host. [#364](https://github.com/pinterest/PINRemoteImage/pull/364) [garrettmoon](https://github.com/garrettmoon) -- [fixed] Fixes an issue where PINResume would assert because the server didn't return an expected content length. -- [fixed] Fixed bytes per second on download tasks (which could affect if an image is progressively rendered) [#360](https://github.com/pinterest/PINRemoteImage/pull/360) [garrettmoon](https://github.com/garrettmoon) -- [new] Added request configuration handler to allow customizing HTTP headers per request [#355](https://github.com/pinterest/PINRemoteImage/pull/355) [zachwaugh](https://github.com/zachwaugh) -- [fixed] Moved storage of resume data to disk from memory. [garrettmoon](https://github.com/garrettmoon) -- [fixed] Hopefully fixes crashes occuring in PINURLSessionManager on iOS 9. [garrettmoon](https://github.com/garrettmoon) - -## 2.1.4 -- 2016 Apr 22 -- [new] Have PINProgressiveImage pass back the quality of the current progressive image [#185](https://github.com/pinterest/PINRemoteImage/pull/185) - -## 2.1.3 -- 2016 Apr 13 -- [fixed] Images May Be Removed from Disk Cache for Not Being in Memory Cache [#186](https://github.com/pinterest/PINRemoteImage/commit/f15ca03ece954b4712b2c669c849245617e73e08) - -## 2.1.2 -- 2016 Mar 25 -- [fixed] Remove disk cache call potentially on main thread [#167](https://github.com/pinterest/PINRemoteImage/pull/167) -- [fixed] Nullability specifiers [#170](https://github.com/pinterest/PINRemoteImage/pull/170) -- [fixed] Speling errorrs, unused properties and spacing [#172](https://github.com/pinterest/PINRemoteImage/pull/172) - -## 2.1.1 -- 2016 Mar 20 -- [new] Slightly more performant locking [#165](https://github.com/pinterest/PINRemoteImage/pull/165) -- [new] Added support for pulling images synchronously from the cache [#162](https://github.com/pinterest/PINRemoteImage/pull/162) -- [fixed] Non-decoded images no longer cached by OS [#161](https://github.com/pinterest/PINRemoteImage/pull/161) -- [fixed] OS X and Carthage support [#164](https://github.com/pinterest/PINRemoteImage/pull/164) - -## 2.1 -- 2016 Mar 11 -- [new] tvOS support: [#131](https://github.com/pinterest/PINRemoteImage/pull/131) -- [new] Added method to get image out of cache synchronously: [#162](https://github.com/pinterest/PINRemoteImage/pull/162) -- [fixed] Undecoded images are no longer cached by OS: [#161](https://github.com/pinterest/PINRemoteImage/pull/161) -- [fixed] Carthage support and OS X example: [#160](https://github.com/pinterest/PINRemoteImage/pull/160) - -## 2.0.1 -- 2016 Feb 23 -- [new] Removed explicit disabling of bitcode: [#136](https://github.com/pinterest/PINRemoteImage/pull/136) -- [fixed] Progressive rendering in example apps: [#148](https://github.com/pinterest/PINRemoteImage/pull/148) -- [fixed] Carthage compilation: [#141](https://github.com/pinterest/PINRemoteImage/pull/141) -- [fixed] Crash on iOS 7 when setting download priority [#137](https://github.com/pinterest/PINRemoteImage/pull/137) -- [fixed] Dumb test bugs! [#144](https://github.com/pinterest/PINRemoteImage/pull/144) diff --git a/Carthage/Checkouts/PINRemoteImage/CODE_OF_CONDUCT.md b/Carthage/Checkouts/PINRemoteImage/CODE_OF_CONDUCT.md deleted file mode 100644 index 8b4e45e2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,40 +0,0 @@ -# Code of Conduct - -At Pinterest, we work hard to ensure that our work environment is welcoming -and inclusive to as many people as possible. We are committed to creating this -environment for everyone involved in our open source projects as well. We -welcome all participants regardless of ability, age, ethnicity, identified -gender, religion (or lack there of), sexual orientation and socioeconomic -status. - -This code of conduct details our expectations for upholding these values. - -## Good behavior - -We expect members of our community to exhibit good behavior including (but of -course not limited to): - -- Using intentional and empathetic language. -- Focusing on resolving instead of escalating conflict. -- Providing constructive feedback. - -## Unacceptable behavior - -Some examples of unacceptable behavior (again, this is not an exhaustive -list): - -- Harassment, publicly or in private. -- Trolling. -- Sexual advances (this isn’t the place for it). -- Publishing other’s personal information. -- Any behavior which would be deemed unacceptable in a professional environment. - -## Recourse - -If you are witness to or the target of unacceptable behavior, it should be -reported to Pinterest at opensource-policy@pinterest.com. All reporters will -be kept confidential and an appropriate response for each incident will be -evaluated. - -If the maintainers do not uphold and enforce this code of conduct in -good faith, community leadership will hold them accountable. \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Cartfile b/Carthage/Checkouts/PINRemoteImage/Cartfile deleted file mode 100644 index 879dfa35..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Cartfile +++ /dev/null @@ -1,3 +0,0 @@ -git "https://chromium.googlesource.com/webm/libwebp" "v1.1.0" -github "pinterest/PINCache" ~> 3.0.1 -github "pinterest/PINOperation" \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Cartfile.resolved b/Carthage/Checkouts/PINRemoteImage/Cartfile.resolved deleted file mode 100644 index 45ab11cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Cartfile.resolved +++ /dev/null @@ -1,3 +0,0 @@ -git "https://chromium.googlesource.com/webm/libwebp" "v1.1.0" -github "pinterest/PINCache" "3.0.1" -github "pinterest/PINOperation" "1.2" diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.buckconfig b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.buckconfig deleted file mode 100644 index 2ea97ebd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.buckconfig +++ /dev/null @@ -1,21 +0,0 @@ -[cxx] - default_platform = iphonesimulator-x86_64 - combined_preprocess_and_compile = true - -[apple] - iphonesimulator_target_sdk_version = 5.0 - iphoneos_target_sdk_version = 5.0 - macosx_target_sdk_version = 10.7 - xctool_default_destination_specifier = platform=iOS Simulator, name=iPhone 6, OS=10.2 - -[alias] - lib = //:PINCache - tests = //tests:Tests - -[project] - parallel_parsing = true - ide = xcode - ignore = .buckd, \ - .hg, \ - .git, \ - buck-out, \ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.github/workflows/ci.yaml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.github/workflows/ci.yaml deleted file mode 100644 index 71c75fe7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.github/workflows/ci.yaml +++ /dev/null @@ -1,51 +0,0 @@ ---- -name: CI - -on: - push: - branches: - - master - - 'releases/*' - pull_request: - branches: - - master - -jobs: - build: - name: Build - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v1 - - name: Analyze and Test - run: | - xcodebuild clean analyze test \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -project PINCache.xcodeproj \ - -scheme PINCache \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang - cocoapods: - name: CocoaPods - runs-on: macOS-latest - steps: - - uses: actions/checkout@v1 - - name: Lint - run: pod lib lint - carthage: - name: Carthage - runs-on: macOS-latest - steps: - - uses: actions/checkout@v1 - - name: Update - run: carthage update --no-use-binaries --no-build - - name: Build - run: carthage build --no-skip-current diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.github_changelog_generator b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.github_changelog_generator deleted file mode 100644 index d0b7a525..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.github_changelog_generator +++ /dev/null @@ -1,3 +0,0 @@ -issues=false -since-tag=3.0.1-beta.8 -future-release=3.0.1 \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.gitignore b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.gitignore deleted file mode 100644 index 7f818743..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.gitignore +++ /dev/null @@ -1,25 +0,0 @@ -#Ignore the Mac OS X .DS_Store files -.DS_Store - -#Ignore user-specific settings -*.mode1v3 -*.mode2v3 -*.pbxuser -*.perspectivev3 -xcuserdata - -#Ignore textmate build errors -*.tm_build_errors - -#Ignore temp nibs and swap files -*.swp -*~.nib - -.gitattributes - -# Buck -/buck-out -/.buckconfig.local -/.buckd - -Carthage/Build diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.gitmodules b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.gitmodules deleted file mode 100644 index e69de29b..00000000 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.travis.yml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.travis.yml deleted file mode 100644 index ef93752c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -language: objective-c -osx_image: xcode7.3 -cache: - - bundler - - cocoapods -branches: - only: - - master -before_install: - - gem install cocoapods -v '0.39.0' -before_script: - - pod lib lint --verbose -env: - matrix: - - OS='8.4' name='iPhone 6' - - OS='latest' name='iPhone 6' -script: - - xcodebuild clean test -project tests/PINCache.xcodeproj -scheme PINCacheTests -sdk iphonesimulator -destination "platform=iOS Simulator,name=$name,OS=$OS" ONLY_ACTIVE_ARCH=NO diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/BUCK b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/BUCK deleted file mode 100755 index bbb8d2c8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/BUCK +++ /dev/null @@ -1,23 +0,0 @@ -apple_library( - name = 'PINCache', - exported_headers = glob(['Source/*.h']), - # PINDiskCache.m should be compiled with '-fobjc-arc-exceptions' (#105) - srcs = - glob(['Source/*.m'], excludes = ['Source/PINDiskCache.m']) + - [('Source/PINDiskCache.m', ['-fobjc-arc-exceptions'])], - preprocessor_flags = ['-fobjc-arc'], - lang_preprocessor_flags = { - 'C': ['-std=gnu99'], - 'CXX': ['-std=gnu++11', '-stdlib=libc++'], - }, - linker_flags = [ - '-weak_framework', - 'UIKit', - '-weak_framework', - 'AppKit', - ], - frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - ], - visibility = ['PUBLIC'], -) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CHANGELOG.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CHANGELOG.md deleted file mode 100644 index 8d30a13f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CHANGELOG.md +++ /dev/null @@ -1,169 +0,0 @@ -# Changelog - -## [3.0.1](https://github.com/Pinterest/PINCache/tree/3.0.1) (2020-08-20) - -[Full Changelog](https://github.com/Pinterest/PINCache/compare/3.0.1-beta.8...3.0.1) - -**Implemented enhancements:** - -- Support Catalyst [\#272](https://github.com/pinterest/PINCache/pull/272) ([cgmaier](https://github.com/cgmaier)) - -**Merged pull requests:** - -- Update PINOperation [\#277](https://github.com/pinterest/PINCache/pull/277) ([garrettmoon](https://github.com/garrettmoon)) -- Fix PINCacheTests compiling in Xcode 12.0b4 [\#276](https://github.com/pinterest/PINCache/pull/276) ([arangato](https://github.com/arangato)) -- Remove BUCK files [\#274](https://github.com/pinterest/PINCache/pull/274) ([adlerj](https://github.com/adlerj)) -- Fix compiling in Xcode 12.0b4 [\#273](https://github.com/pinterest/PINCache/pull/273) ([zacwest](https://github.com/zacwest)) -- Fix the grammar in an assertion failure message [\#270](https://github.com/pinterest/PINCache/pull/270) ([jparise](https://github.com/jparise)) -- Add Carthage for watchOS, fix macOS min deployment target version [\#269](https://github.com/pinterest/PINCache/pull/269) ([dreampiggy](https://github.com/dreampiggy)) -- Remove the unused CI directory [\#265](https://github.com/pinterest/PINCache/pull/265) ([jparise](https://github.com/jparise)) -- Fix up analyze for github CI [\#264](https://github.com/pinterest/PINCache/pull/264) ([garrettmoon](https://github.com/garrettmoon)) -- Use correct class name in NSAssert\(\) messages [\#263](https://github.com/pinterest/PINCache/pull/263) ([jparise](https://github.com/jparise)) -- Check fileURL outside of the locked scope [\#262](https://github.com/pinterest/PINCache/pull/262) ([jparise](https://github.com/jparise)) -- Remove Danger from the project [\#261](https://github.com/pinterest/PINCache/pull/261) ([jparise](https://github.com/jparise)) -- Switch to GitHub Actions for CI [\#259](https://github.com/pinterest/PINCache/pull/259) ([jparise](https://github.com/jparise)) -- Test that the "remove object" blocks are called [\#258](https://github.com/pinterest/PINCache/pull/258) ([jparise](https://github.com/jparise)) -- Discrepancy between Header Comment and Implementation \#trivial [\#257](https://github.com/pinterest/PINCache/pull/257) ([jlaws](https://github.com/jlaws)) -- Optimization `PINMemoryCache` trim to date [\#252](https://github.com/pinterest/PINCache/pull/252) ([kinarobin](https://github.com/kinarobin)) -- Optimize `PINMemoryCache` remove objects when receive memory warning notification [\#251](https://github.com/pinterest/PINCache/pull/251) ([kinarobin](https://github.com/kinarobin)) - -## 3.0.1 -- Beta 8 -- [fix] Initing PINCache with TTL enabled should enable TTL on PINMemoryCache. [#246](https://github.com/pinterest/PINCache/pull/246) -- [performance] Return TTL cache objects without waiting for all metadata to be read. [#228](https://github.com/pinterest/PINCache/pull/228) -- [performance] Memory cache now performs some tasks such as trimming and removing experied objects with low priority. [#234](https://github.com/pinterest/PINCache/pull/234) - -## 3.0.1 -- Beta 7 -- [fix] Fix up warnings and upgrade to PINOperation 1.1.1: [#213](https://github.com/pinterest/PINCache/pull/213) -- [performance] Reduce locking churn in cleanup methods. [#212](https://github.com/pinterest/PINCache/pull/212) -- [fix] Don't set file protection unless requested. [#220](https://github.com/pinterest/PINCache/pull/220) -- [new] Add ability to set an object level TTL: [#209](https://github.com/pinterest/PINCache/pull/209) -- [performance] Improve performance of age limit trimming: [#224](https://github.com/pinterest/PINCache/pull/224) - -## 3.0.1 -- Beta 6 -- [fix] Add some sane limits to the disk cache: [#201]https://github.com/pinterest/PINCache/pull/201 -- [new] Update enumeration methods to allow a stop flag to be flipped by caller: [#204](https://github.com/pinterest/PINCache/pull/204) -- [performance] Improves cache miss performance by ~2 orders of magnitude on device: [#202](https://github.com/pinterest/PINCache/pull/202) -- [performance] Significantly improve startup performance: [#203](https://github.com/pinterest/PINCache/pull/203) - -## 3.0.1 -- Beta 5 -- [fix] Respect small byteLimit settings by checking object size in setObject: [#198](https://github.com/pinterest/PINCache/pull/198) -- [new] Added an ability to set custom encoder/decoder for file names: [#192](https://github.com/pinterest/PINCache/pull/192) - -## 2.2.1 -- 2016 Mar 5 -- [new] Removed need for extension macro: [#72](https://github.com/pinterest/PINCache/pull/72) - -## 2.2.1 -- 2016 Feb 15 - -- [fixed] When ttlCache is enabled, skip updating the file modification time when accessing `fileURLForKey:` [#70](https://github.com/pinterest/PINCache/pull/70) - -## 2.2 -- 2016 Feb 10 - -- [new] Allow caches to behave like a TTLCache [#66](https://github.com/pinterest/PINCache/pull/66) - -## 2.1.2 -- 2015 Nov 19 - -- [fix] Fix disk caching bug due to incorrect string encoding [#42](https://github.com/pinterest/PINCache/pull/42) - - -## 2.1.1 -- 2015 Nov 17 - -- [new] Added `tvOS` support -- [fixed] PINDiskCache byteCount tracking bug [#30](https://github.com/pinterest/PINCache/pull/30) - - -## 2.1 -- 2015 Aug 24 - -- [new] Xcode 7 support -- [fixed] Invalid task ID's used for expiration handler on background tasks [#13](https://github.com/pinterest/PINCache/issues/13) -- [fixed] Support for OS X since UIBackgroundTask is only on iOS [#19](https://github.com/pinterest/PINCache/pull/19) - - -## 2.0.1 -- 2015 May 1 - -- [new] Added support for using PINCache in extensions -- [new] Adopting nullability annotations. - - -## 2.0 -- 2015 February 25 - -- [fix] PINCache redesign to avoid deadlocks - - -## 1.2.3 -- 2014 December 13 - -- [fix] TMDiskCache/TMMemoryCache: import `UIKit` to facilitate Swift usage (thanks [digabriel](https://github.com/tumblr/TMCache/pull/57)!) -- [fix] TMDiskCache: add try catch to ensure an exception isn’t thrown if a file on disk is unable to be unarchived (thanks [leonskywalker](https://github.com/tumblr/TMCache/pull/62)!) -- [fix] TMDiskCache: create trash directory asynchronously to avoid race condition (thanks [napoapo77](https://github.com/tumblr/TMCache/pull/68)!) - - -## 1.2.2 -- 2014 October 6 - -- [new] Remove deprecated `documentation` property from Podspec - - -## 1.2.1 -- 2013 July 28 - -- [new] TMDiskCache: introduced concept of "trash" for rapid wipeouts -- [new] TMDiskCache: `nil` checks to prevent crashes -- [new] TMCache/TMDiskCache/TMMemoryCache: import Foundation to facilitate Swift usage - - -## 1.2.0 -- 2013 May 24 - -- [new] TMDiskCache: added method `enumerateObjectsWithBlock:completionBlock:` -- [new] TMDiskCache: added method `enumerateObjectsWithBlock:` -- [new] TMDiskCache: added unit tests for the above -- [new] TMMemoryCache: added method `enumerateObjectsWithBlock:completionBlock:` -- [new] TMMemoryCache: added method `enumerateObjectsWithBlock:` -- [new] TMMemoryCache: added event block `didReceiveMemoryWarningBlock` -- [new] TMMemoryCache: added event block `didEnterBackgroundBlock` -- [new] TMMemoryCache: added boolean property `removeAllObjectsOnMemoryWarning` -- [new] TMMemoryCache: added boolean property `removeAllObjectsOnEnteringBackground` -- [new] TMMemoryCache: added unit tests for memory warning and app background blocks -- [del] TMCache: removed `cost` methods pending a solution for disk-based cost - - -## 1.1.2 -- 2013 May 13 - -- [fix] TMCache: prevent `objectForKey:block:` from hitting the thread ceiling -- [new] TMCache: added a test to make sure we don't deadlock the queue - - -## 1.1.1 -- 2013 May 1 - -- [fix] simplified appledoc arguments in podspec, updated doc script - - -## 1.1.0 -- 2013 April 29 - -- [new] TMCache: added method `setObject:forKey:withCost:` -- [new] TMCache: documentation - - -## 1.0.3 -- 2013 April 27 - -- [new] TMCache: added property `diskByteCount` (for convenience) -- [new] TMMemoryCache: `totalCost` now returned synchronously from queue -- [fix] TMMemoryCache: `totalCost` set to zero immediately after `removeAllObjects:` - - -## 1.0.2 -- 2013 April 26 - -- [fix] TMCache: cache hits from memory will now update access time on disk -- [fix] TMDiskCache: set & remove methods now acquire a `UIBackgroundTaskIdentifier` -- [fix] TMDiskCache: will/didAddObject blocks actually get executed -- [fix] TMDiskCache: `trimToSize:` now correctly removes objects in order of size -- [fix] TMMemoryCache: `trimToCost:` now correctly removes objects in order of cost -- [new] TMDiskCache: added method `trimToSizeByDate:` -- [new] TMMemoryCache: added method `trimToCostByDate:` -- [new] TMDiskCache: added properties `willRemoveAllObjectsBlock` & `didRemoveAllObjectsBlock` -- [new] TMMemoryCache: added properties `willRemoveAllObjectsBlock` & `didRemoveAllObjectsBlock` -- [new] TMCache: added unit tests - - -## 1.0.1 -- 2013 April 23 - -- added an optional "cost limit" to `TMMemoryCache`, including new properties and methods -- calling `[TMDiskCache trimToDate:]` with `[NSDate distantPast]` will now clear the cache -- calling `[TMDiskCache trimDiskToSize:]` will now remove files in order of access date -- setting the byte limit on `TMDiskCache` to 0 will no longer clear the cache (0 means no limit) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CI/build.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CI/build.sh deleted file mode 100755 index bbdb8f94..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CI/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -eo pipefail - -make all \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CI/exclude-from-build.json b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CI/exclude-from-build.json deleted file mode 100644 index 28cc1627..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CI/exclude-from-build.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - "^plans/", - "^docs/", - "^README.md$", - "^CI/exclude-from-build.json$" -] \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CODE_OF_CONDUCT.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CODE_OF_CONDUCT.md deleted file mode 100644 index 8b4e45e2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,40 +0,0 @@ -# Code of Conduct - -At Pinterest, we work hard to ensure that our work environment is welcoming -and inclusive to as many people as possible. We are committed to creating this -environment for everyone involved in our open source projects as well. We -welcome all participants regardless of ability, age, ethnicity, identified -gender, religion (or lack there of), sexual orientation and socioeconomic -status. - -This code of conduct details our expectations for upholding these values. - -## Good behavior - -We expect members of our community to exhibit good behavior including (but of -course not limited to): - -- Using intentional and empathetic language. -- Focusing on resolving instead of escalating conflict. -- Providing constructive feedback. - -## Unacceptable behavior - -Some examples of unacceptable behavior (again, this is not an exhaustive -list): - -- Harassment, publicly or in private. -- Trolling. -- Sexual advances (this isn’t the place for it). -- Publishing other’s personal information. -- Any behavior which would be deemed unacceptable in a professional environment. - -## Recourse - -If you are witness to or the target of unacceptable behavior, it should be -reported to Pinterest at opensource-policy@pinterest.com. All reporters will -be kept confidential and an appropriate response for each incident will be -evaluated. - -If the maintainers do not uphold and enforce this code of conduct in -good faith, community leadership will hold them accountable. \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Cartfile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Cartfile deleted file mode 100644 index a7e3d640..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Cartfile +++ /dev/null @@ -1 +0,0 @@ -github "pinterest/PINOperation" ~> 1.2.0 \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Cartfile.resolved b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Cartfile.resolved deleted file mode 100644 index 841e9a7d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Cartfile.resolved +++ /dev/null @@ -1 +0,0 @@ -github "pinterest/PINOperation" "1.2" diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml deleted file mode 100644 index cfe85acc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml +++ /dev/null @@ -1,80 +0,0 @@ ---- -name: CI - -on: - push: - branches: - - master - - 'releases/*' - pull_request: - branches: - - master - -jobs: - build: - name: Build - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v2 - - name: Analyze and Test - run: | - xcodebuild clean analyze test \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -project PINOperation.xcodeproj \ - -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang - cocoapods: - name: CocoaPods - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Lint - run: pod lib lint - carthage: - name: Carthage - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Build - run: carthage build --no-skip-current - spm: - name: Swift Package Manager tests - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Test - run: swift test - example: - name: Build Example project - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v2 - - name: Install Pods - run: cd Example && pod install - - name: Build - run: | - cd Example && xcodebuild clean analyze \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -workspace PINOperationExample.xcworkspace \ - -scheme PINOperationExample \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github_changelog_generator b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github_changelog_generator deleted file mode 100644 index 19665f65..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.github_changelog_generator +++ /dev/null @@ -1,3 +0,0 @@ -issues=false -since-tag=1.1.1 -future-release=1.2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.gitignore b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.gitignore deleted file mode 100644 index 4021767b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.gitignore +++ /dev/null @@ -1,57 +0,0 @@ -.DS_Store - -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## Build generated -build/ -DerivedData/ - -## Various settings -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata/ - -## Other -*.moved-aside -*.xcuserstate - -## Obj-C/Swift specific -*.hmap -*.ipa -*.dSYM.zip -*.dSYM - -## Docs -docs/docsets/ - -## Playgrounds -timeline.xctimeline -playground.xcworkspace - -# Swift Package Manager -# -# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. -# Packages/ -.build/ - -# Carthage -# -# Add this line if you want to avoid checking in source code from Carthage dependencies. -# Carthage/Checkouts - -Carthage/Build - -# Bundler -.bundle -vendor - -# Example project -Example/Pods diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/BUCK b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/BUCK deleted file mode 100755 index c7ade9d1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/BUCK +++ /dev/null @@ -1,22 +0,0 @@ -apple_library( - name = 'PINOperation', - modular = True, - exported_headers = glob(['Source/*.h']), - srcs = - glob(['Source/*.m']), - preprocessor_flags = ['-fobjc-arc'], - lang_preprocessor_flags = { - 'C': ['-std=gnu99'], - 'CXX': ['-std=gnu++11', '-stdlib=libc++'], - }, - linker_flags = [ - '-weak_framework', - 'UIKit', - '-weak_framework', - 'AppKit', - ], - frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - ], - visibility = ['PUBLIC'], -) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CHANGELOG.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CHANGELOG.md deleted file mode 100644 index 221ad3cb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CHANGELOG.md +++ /dev/null @@ -1,32 +0,0 @@ -## [1.2](https://github.com/Pinterest/PINOperation/tree/1.2) (2020-06-30) - -[Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.1.2...1.2) - -**Merged pull requests:** - -- Swift Package Manager support [\#32](https://github.com/pinterest/PINOperation/pull/32) ([martinpucik](https://github.com/martinpucik)) -- Add Carthage for watchOS, dependent by PINCache [\#31](https://github.com/pinterest/PINOperation/pull/31) ([dreampiggy](https://github.com/dreampiggy)) -- Fix analyzing [\#30](https://github.com/pinterest/PINOperation/pull/30) ([garrettmoon](https://github.com/garrettmoon)) -- Standardize our GitHub Actions CI workflow [\#29](https://github.com/pinterest/PINOperation/pull/29) ([jparise](https://github.com/jparise)) -- Github CI [\#26](https://github.com/pinterest/PINOperation/pull/26) ([rahul-malik](https://github.com/rahul-malik)) -- Fixes coalesce operation race condition [\#24](https://github.com/pinterest/PINOperation/pull/24) ([zhongwuzw](https://github.com/zhongwuzw)) - -## [1.1.2](https://github.com/Pinterest/PINOperation/tree/1.1.2) (2019-06-11) - -[Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.1.1...1.1.2) - -**Merged pull requests:** - -- Modernizing project [\#21](https://github.com/pinterest/PINOperation/pull/21) ([garrettmoon](https://github.com/garrettmoon)) -- Updates BUCK build file to match source layout. [\#20](https://github.com/pinterest/PINOperation/pull/20) ([RCacheaux](https://github.com/RCacheaux)) -- 1.1.1 release [\#19](https://github.com/pinterest/PINOperation/pull/19) ([garrettmoon](https://github.com/garrettmoon)) - -## 1.1.1 -- 2018 February 3 -* Cleanup warnings [garrett](https://github.com/garrettmoon) - -## 1.1 -- 2017 October 7 -* Deprecate addOperation: in favor of scheduleOperation: [garrett](https://github.com/garrettmoon) - -## 1.0.0 -- 2017 January 10 - -- Initial release! diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/build.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/build.sh deleted file mode 100755 index bbdb8f94..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -eo pipefail - -make all \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json deleted file mode 100644 index 03853aa7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - "^plans/", - "^docs/", - "^CI/exclude-from-build.json$", - "^README.md$", - "^CHANGELOG.md$" -] \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md deleted file mode 100644 index 8b4e45e2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,40 +0,0 @@ -# Code of Conduct - -At Pinterest, we work hard to ensure that our work environment is welcoming -and inclusive to as many people as possible. We are committed to creating this -environment for everyone involved in our open source projects as well. We -welcome all participants regardless of ability, age, ethnicity, identified -gender, religion (or lack there of), sexual orientation and socioeconomic -status. - -This code of conduct details our expectations for upholding these values. - -## Good behavior - -We expect members of our community to exhibit good behavior including (but of -course not limited to): - -- Using intentional and empathetic language. -- Focusing on resolving instead of escalating conflict. -- Providing constructive feedback. - -## Unacceptable behavior - -Some examples of unacceptable behavior (again, this is not an exhaustive -list): - -- Harassment, publicly or in private. -- Trolling. -- Sexual advances (this isn’t the place for it). -- Publishing other’s personal information. -- Any behavior which would be deemed unacceptable in a professional environment. - -## Recourse - -If you are witness to or the target of unacceptable behavior, it should be -reported to Pinterest at opensource-policy@pinterest.com. All reporters will -be kept confidential and an appropriate response for each incident will be -evaluated. - -If the maintainers do not uphold and enforce this code of conduct in -good faith, community leadership will hold them accountable. \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Dangerfile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Dangerfile deleted file mode 100644 index d909431b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Dangerfile +++ /dev/null @@ -1,23 +0,0 @@ -source_pattern = /(\.m|\.mm|\.h)$/ - -# Sometimes it's a README fix, or something like that - which isn't relevant for -# including in a project's CHANGELOG for example -declared_trivial = github.pr_title.include? "#trivial" -has_changes_in_source_directory = !git.modified_files.grep(/Source/).empty? - -modified_source_files = git.modified_files.grep(source_pattern) -has_modified_source_files = !modified_source_files.empty? -added_source_files = git.added_files.grep(source_pattern) -has_added_source_files = !added_source_files.empty? - -# Make it more obvious that a PR is a work in progress and shouldn't be merged yet -warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]" - -# Warn when there is a big PR -warn("This is a big PR, please consider splitting it up to ease code review.") if git.lines_of_code > 500 - -# Changelog entries are required for changes to source files. -no_changelog_entry = !git.modified_files.include?("CHANGELOG.md") -if has_changes_in_source_directory && no_changelog_entry && !declared_trivial - warn("Any source code changes should have an entry in CHANGELOG.md or have #trivial in their title.") -end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj deleted file mode 100644 index 382c6346..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,391 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 1387274F245D5BB500C1F56D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1387274E245D5BB500C1F56D /* AppDelegate.swift */; }; - 13872758245D5BB800C1F56D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13872757245D5BB800C1F56D /* Assets.xcassets */; }; - 1387275B245D5BB800C1F56D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */; }; - 13872765245D5D8200C1F56D /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13872764245D5D8200C1F56D /* MainViewController.m */; }; - 6DD78925193625590E803994 /* libPods-PINOperationExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 1387274B245D5BB500C1F56D /* PINOperationExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PINOperationExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1387274E245D5BB500C1F56D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 13872757245D5BB800C1F56D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 1387275A245D5BB800C1F56D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 1387275C245D5BB800C1F56D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 13872762245D5D8200C1F56D /* PINOperationExample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PINOperationExample-Bridging-Header.h"; sourceTree = ""; }; - 13872763245D5D8200C1F56D /* MainViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = ""; }; - 13872764245D5D8200C1F56D /* MainViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = ""; }; - 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINOperationExample.release.xcconfig"; path = "Target Support Files/Pods-PINOperationExample/Pods-PINOperationExample.release.xcconfig"; sourceTree = ""; }; - 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINOperationExample.debug.xcconfig"; path = "Target Support Files/Pods-PINOperationExample/Pods-PINOperationExample.debug.xcconfig"; sourceTree = ""; }; - 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PINOperationExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 13872748245D5BB500C1F56D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6DD78925193625590E803994 /* libPods-PINOperationExample.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 110EBBE34DCD59092AC3306C /* Pods */ = { - isa = PBXGroup; - children = ( - 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */, - 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - 13872742245D5BB500C1F56D = { - isa = PBXGroup; - children = ( - 1387274D245D5BB500C1F56D /* PINOperationExample */, - 1387274C245D5BB500C1F56D /* Products */, - 110EBBE34DCD59092AC3306C /* Pods */, - 5C200BF654CB547E7117CE2B /* Frameworks */, - ); - sourceTree = ""; - }; - 1387274C245D5BB500C1F56D /* Products */ = { - isa = PBXGroup; - children = ( - 1387274B245D5BB500C1F56D /* PINOperationExample.app */, - ); - name = Products; - sourceTree = ""; - }; - 1387274D245D5BB500C1F56D /* PINOperationExample */ = { - isa = PBXGroup; - children = ( - 1387274E245D5BB500C1F56D /* AppDelegate.swift */, - 13872763245D5D8200C1F56D /* MainViewController.h */, - 13872764245D5D8200C1F56D /* MainViewController.m */, - 13872757245D5BB800C1F56D /* Assets.xcassets */, - 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */, - 1387275C245D5BB800C1F56D /* Info.plist */, - 13872762245D5D8200C1F56D /* PINOperationExample-Bridging-Header.h */, - ); - path = PINOperationExample; - sourceTree = ""; - }; - 5C200BF654CB547E7117CE2B /* Frameworks */ = { - isa = PBXGroup; - children = ( - 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1387274A245D5BB500C1F56D /* PINOperationExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1387275F245D5BB800C1F56D /* Build configuration list for PBXNativeTarget "PINOperationExample" */; - buildPhases = ( - 6C859F1C363A79193D42EFC9 /* [CP] Check Pods Manifest.lock */, - 13872747245D5BB500C1F56D /* Sources */, - 13872748245D5BB500C1F56D /* Frameworks */, - 13872749245D5BB500C1F56D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PINOperationExample; - productName = PINOperationExample; - productReference = 1387274B245D5BB500C1F56D /* PINOperationExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 13872743245D5BB500C1F56D /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1140; - LastUpgradeCheck = 1140; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 1387274A245D5BB500C1F56D = { - CreatedOnToolsVersion = 11.4.1; - LastSwiftMigration = 1140; - }; - }; - }; - buildConfigurationList = 13872746245D5BB500C1F56D /* Build configuration list for PBXProject "PINOperationExample" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 13872742245D5BB500C1F56D; - productRefGroup = 1387274C245D5BB500C1F56D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 1387274A245D5BB500C1F56D /* PINOperationExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 13872749245D5BB500C1F56D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1387275B245D5BB800C1F56D /* LaunchScreen.storyboard in Resources */, - 13872758245D5BB800C1F56D /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 6C859F1C363A79193D42EFC9 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-PINOperationExample-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 13872747245D5BB500C1F56D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1387274F245D5BB500C1F56D /* AppDelegate.swift in Sources */, - 13872765245D5D8200C1F56D /* MainViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 1387275A245D5BB800C1F56D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 1387275D245D5BB800C1F56D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 1387275E245D5BB800C1F56D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 13872760245D5BB800C1F56D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = PINOperationExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "PINOperationExample/PINOperationExample-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 13872761245D5BB800C1F56D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = PINOperationExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "PINOperationExample/PINOperationExample-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 13872746245D5BB500C1F56D /* Build configuration list for PBXProject "PINOperationExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1387275D245D5BB800C1F56D /* Debug */, - 1387275E245D5BB800C1F56D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1387275F245D5BB800C1F56D /* Build configuration list for PBXNativeTarget "PINOperationExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 13872760245D5BB800C1F56D /* Debug */, - 13872761245D5BB800C1F56D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 13872743245D5BB500C1F56D /* Project object */; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 4cdc4885..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift deleted file mode 100644 index 7aa52db8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift +++ /dev/null @@ -1,31 +0,0 @@ -// -// AppDelegate.swift -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -import UIKit - -@UIApplicationMain -final class AppDelegate: UIResponder, UIApplicationDelegate { - private let queue: PINOperationQueue = PINOperationQueue(maxConcurrentOperations: 5) - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - let operationCount = 100 - let group = DispatchGroup() - for _ in 0.. - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist deleted file mode 100644 index 75404a26..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist +++ /dev/null @@ -1,41 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h deleted file mode 100644 index df2e69c3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MainViewController.h -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface MainViewController : UIViewController - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m deleted file mode 100644 index 50d0c95d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m +++ /dev/null @@ -1,41 +0,0 @@ -// -// MainViewController.m -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -#import "MainViewController.h" -#import -//#import - -@interface MainViewController () -@property (nonatomic, strong) PINOperationQueue *queue; -@end - -@implementation MainViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:5]; - - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - NSAssert(success == 0, @"Timed out before completing 100 operations"); -} - -- (dispatch_time_t)timeout { - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(20 * NSEC_PER_SEC)); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h deleted file mode 100644 index f3b5f384..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile deleted file mode 100644 index ae5fd622..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://cdn.cocoapods.org/' -platform :ios, '8.0' - -target 'PINOperationExample' do - pod 'PINOperation', :path => '../' -end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile.lock b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile.lock deleted file mode 100644 index 266cc700..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - PINOperation (1.1.2) - -DEPENDENCIES: - - PINOperation (from `../`) - -EXTERNAL SOURCES: - PINOperation: - :path: "../" - -SPEC CHECKSUMS: - PINOperation: 24b774353ca248fcf87d67b2d61eef42087c125a - -PODFILE CHECKSUM: b83a75d584abe07185e7be951687702dadbabf84 - -COCOAPODS: 1.9.1 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Gemfile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Gemfile deleted file mode 100644 index 38bfbc8e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -gem 'danger' -gem 'danger-slack' \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/LICENSE.txt b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/LICENSE.txt deleted file mode 100644 index d0381d6d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/LICENSE.txt +++ /dev/null @@ -1,176 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.podspec b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.podspec deleted file mode 100644 index 7e598595..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.podspec +++ /dev/null @@ -1,22 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'PINOperation' - s.version = '1.2' - s.homepage = 'https://github.com/pinterest/PINOperation' - s.summary = 'Fast, concurrency-limited task queue for iOS and OS X.' - s.authors = { 'Garrett Moon' => 'garrett@pinterest.com' } - s.source = { :git => 'https://github.com/pinterest/PINOperation.git', :tag => "#{s.version}" } - s.license = { :type => 'Apache 2.0', :file => 'LICENSE.txt' } - s.requires_arc = true - s.frameworks = 'Foundation' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.8' - s.tvos.deployment_target = '9.0' - s.watchos.deployment_target = '2.0' - pch_PIN = <<-EOS -#ifndef TARGET_OS_WATCH - #define TARGET_OS_WATCH 0 -#endif -EOS - s.prefix_header_contents = pch_PIN - s.source_files = 'Source/**/*.{h,m,mm}' -end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj deleted file mode 100644 index ddcb88c2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1010 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 3201179424444862004FD783 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179524444862004FD783 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179624444862004FD783 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179724444862004FD783 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179824444862004FD783 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179924444862004FD783 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - 3201179A24444862004FD783 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC01055B1E27116600890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01052D1E27110D00890935 /* PINOperation.framework */; }; - CC01056A1E27117300890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01053D1E27113700890935 /* PINOperation.framework */; }; - CC0105791E27117F00890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01054A1E27114300890935 /* PINOperation.framework */; }; - CC0105871E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105881E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105891E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058A1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058B1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058C1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058D1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC01058E1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC01058F1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC0105901E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105911E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105921E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105931E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105941E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105951E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105961E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105971E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105981E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105991E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01059A1E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01059B1E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105A01E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A11E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A21E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A41E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; - CC0105A51E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; - CC0105A61E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - CC01055C1E27116600890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC01052C1E27110D00890935; - remoteInfo = PINOperation; - }; - CC01056B1E27117300890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC01053C1E27113700890935; - remoteInfo = "PINOperation-tvOS"; - }; - CC01057A1E27117F00890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC0105491E27114300890935; - remoteInfo = "PINOperation-macOS"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 3201178C24444859004FD783 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01052D1E27110D00890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01053D1E27113700890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01054A1E27114300890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105561E27116600890935 /* PINOperationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PINOperationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01055A1E27116600890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Tests/Info.plist; sourceTree = ""; }; - CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINOperation-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINOperation-macOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105801E2711B700890935 /* PINOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperation.h; sourceTree = ""; }; - CC0105811E2711B700890935 /* PINOperationGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationGroup.h; sourceTree = ""; }; - CC0105821E2711B700890935 /* PINOperationGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationGroup.m; sourceTree = ""; }; - CC0105831E2711B700890935 /* PINOperationMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationMacros.h; sourceTree = ""; }; - CC0105841E2711B700890935 /* PINOperationQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationQueue.h; sourceTree = ""; }; - CC0105851E2711B700890935 /* PINOperationQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationQueue.m; sourceTree = ""; }; - CC0105861E2711B700890935 /* PINOperationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationTypes.h; sourceTree = ""; }; - CC01059C1E27129E00890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CC01059D1E27131B00890935 /* PINOperationQueueTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationQueueTests.m; sourceTree = ""; }; - CC01059E1E27131B00890935 /* PINOperationGroupTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationGroupTests.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 3201178924444859004FD783 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105291E27110D00890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105391E27113700890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105461E27114300890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105531E27116600890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01055B1E27116600890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105621E27117300890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01056A1E27117300890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105711E27117F00890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105791E27117F00890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - CC0105231E27110D00890935 = { - isa = PBXGroup; - children = ( - CC01057F1E2711B700890935 /* Source */, - CC0105571E27116600890935 /* Tests */, - CC01052E1E27110D00890935 /* Products */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - usesTabs = 0; - }; - CC01052E1E27110D00890935 /* Products */ = { - isa = PBXGroup; - children = ( - CC01052D1E27110D00890935 /* PINOperation.framework */, - CC01053D1E27113700890935 /* PINOperation.framework */, - CC01054A1E27114300890935 /* PINOperation.framework */, - CC0105561E27116600890935 /* PINOperationTests.xctest */, - CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */, - CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */, - 3201178C24444859004FD783 /* PINOperation.framework */, - ); - name = Products; - sourceTree = ""; - }; - CC0105571E27116600890935 /* Tests */ = { - isa = PBXGroup; - children = ( - CC01059D1E27131B00890935 /* PINOperationQueueTests.m */, - CC01059E1E27131B00890935 /* PINOperationGroupTests.m */, - CC01055A1E27116600890935 /* Info.plist */, - ); - path = Tests; - sourceTree = ""; - }; - CC01057F1E2711B700890935 /* Source */ = { - isa = PBXGroup; - children = ( - CC0105801E2711B700890935 /* PINOperation.h */, - CC0105811E2711B700890935 /* PINOperationGroup.h */, - CC0105831E2711B700890935 /* PINOperationMacros.h */, - CC0105841E2711B700890935 /* PINOperationQueue.h */, - CC0105861E2711B700890935 /* PINOperationTypes.h */, - CC0105821E2711B700890935 /* PINOperationGroup.m */, - CC0105851E2711B700890935 /* PINOperationQueue.m */, - CC01059C1E27129E00890935 /* Info.plist */, - ); - path = Source; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 3201178724444859004FD783 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3201179824444862004FD783 /* PINOperationTypes.h in Headers */, - 3201179524444862004FD783 /* PINOperationGroup.h in Headers */, - 3201179424444862004FD783 /* PINOperation.h in Headers */, - 3201179724444862004FD783 /* PINOperationQueue.h in Headers */, - 3201179624444862004FD783 /* PINOperationMacros.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01052A1E27110D00890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105991E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105871E2711B700890935 /* PINOperation.h in Headers */, - CC01058A1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105901E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105931E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01053A1E27113700890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01059A1E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105881E2711B700890935 /* PINOperation.h in Headers */, - CC01058B1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105911E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105941E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105471E27114300890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01059B1E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105891E2711B700890935 /* PINOperation.h in Headers */, - CC01058C1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105921E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105951E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 3201178B24444859004FD783 /* PINOperation-watchOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3201179324444859004FD783 /* Build configuration list for PBXNativeTarget "PINOperation-watchOS" */; - buildPhases = ( - 3201178724444859004FD783 /* Headers */, - 3201178824444859004FD783 /* Sources */, - 3201178924444859004FD783 /* Frameworks */, - 3201178A24444859004FD783 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-watchOS"; - productName = "PINOperation-watchOS"; - productReference = 3201178C24444859004FD783 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC01052C1E27110D00890935 /* PINOperation */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105351E27110D00890935 /* Build configuration list for PBXNativeTarget "PINOperation" */; - buildPhases = ( - CC0105281E27110D00890935 /* Sources */, - CC0105291E27110D00890935 /* Frameworks */, - CC01052A1E27110D00890935 /* Headers */, - CC01052B1E27110D00890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PINOperation; - productName = PINOperation; - productReference = CC01052D1E27110D00890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC01053C1E27113700890935 /* PINOperation-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105421E27113700890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOS" */; - buildPhases = ( - CC0105381E27113700890935 /* Sources */, - CC0105391E27113700890935 /* Frameworks */, - CC01053A1E27113700890935 /* Headers */, - CC01053B1E27113700890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-tvOS"; - productName = "PINOperation-tvOS"; - productReference = CC01053D1E27113700890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105491E27114300890935 /* PINOperation-macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01054F1E27114300890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOS" */; - buildPhases = ( - CC0105451E27114300890935 /* Sources */, - CC0105461E27114300890935 /* Frameworks */, - CC0105471E27114300890935 /* Headers */, - CC0105481E27114300890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-macOS"; - productName = "PINOperation-macOS"; - productReference = CC01054A1E27114300890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105551E27116600890935 /* PINOperationTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01055E1E27116600890935 /* Build configuration list for PBXNativeTarget "PINOperationTests" */; - buildPhases = ( - CC0105521E27116600890935 /* Sources */, - CC0105531E27116600890935 /* Frameworks */, - CC0105541E27116600890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01055D1E27116600890935 /* PBXTargetDependency */, - ); - name = PINOperationTests; - productName = PINOperationTests; - productReference = CC0105561E27116600890935 /* PINOperationTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105641E27117300890935 /* PINOperation-tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01056D1E27117300890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOSTests" */; - buildPhases = ( - CC0105611E27117300890935 /* Sources */, - CC0105621E27117300890935 /* Frameworks */, - CC0105631E27117300890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01056C1E27117300890935 /* PBXTargetDependency */, - ); - name = "PINOperation-tvOSTests"; - productName = "PINOperation-tvOSTests"; - productReference = CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105731E27117F00890935 /* PINOperation-macOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01057C1E27117F00890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOSTests" */; - buildPhases = ( - CC0105701E27117F00890935 /* Sources */, - CC0105711E27117F00890935 /* Frameworks */, - CC0105721E27117F00890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01057B1E27117F00890935 /* PBXTargetDependency */, - ); - name = "PINOperation-macOSTests"; - productName = "PINOperation-macOSTests"; - productReference = CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - CC0105241E27110D00890935 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 3201178B24444859004FD783 = { - CreatedOnToolsVersion = 11.4; - ProvisioningStyle = Automatic; - }; - CC01052C1E27110D00890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC01053C1E27113700890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105491E27114300890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105551E27116600890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105641E27117300890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105731E27117F00890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = CC0105271E27110D00890935 /* Build configuration list for PBXProject "PINOperation" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - Base, - en, - ); - mainGroup = CC0105231E27110D00890935; - productRefGroup = CC01052E1E27110D00890935 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - CC01052C1E27110D00890935 /* PINOperation */, - CC0105551E27116600890935 /* PINOperationTests */, - CC01053C1E27113700890935 /* PINOperation-tvOS */, - CC0105641E27117300890935 /* PINOperation-tvOSTests */, - CC0105491E27114300890935 /* PINOperation-macOS */, - CC0105731E27117F00890935 /* PINOperation-macOSTests */, - 3201178B24444859004FD783 /* PINOperation-watchOS */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 3201178A24444859004FD783 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01052B1E27110D00890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01053B1E27113700890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105481E27114300890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105541E27116600890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105631E27117300890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105721E27117F00890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 3201178824444859004FD783 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3201179924444862004FD783 /* PINOperationGroup.m in Sources */, - 3201179A24444862004FD783 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105281E27110D00890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058D1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105961E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105381E27113700890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058E1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105971E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105451E27114300890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058F1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105981E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105521E27116600890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A01E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A41E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105611E27117300890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A11E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A51E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105701E27117F00890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A21E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A61E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - CC01055D1E27116600890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC01052C1E27110D00890935 /* PINOperation */; - targetProxy = CC01055C1E27116600890935 /* PBXContainerItemProxy */; - }; - CC01056C1E27117300890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC01053C1E27113700890935 /* PINOperation-tvOS */; - targetProxy = CC01056B1E27117300890935 /* PBXContainerItemProxy */; - }; - CC01057B1E27117F00890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC0105491E27114300890935 /* PINOperation-macOS */; - targetProxy = CC01057A1E27117F00890935 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 3201179124444859004FD783 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-watchOS"; - PRODUCT_NAME = PINOperation; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Debug; - }; - 3201179224444859004FD783 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-watchOS"; - PRODUCT_NAME = PINOperation; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Release; - }; - CC0105331E27110D00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.8; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - CC0105341E27110D00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.8; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - CC0105361E27110D00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CC0105371E27110D00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CC0105431E27113700890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - CC0105441E27113700890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Release; - }; - CC0105501E27114300890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CC0105511E27114300890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CC01055F1E27116600890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - CC0105601E27116600890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - CC01056E1E27117300890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - CC01056F1E27117300890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - CC01057D1E27117F00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Debug; - }; - CC01057E1E27117F00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 3201179324444859004FD783 /* Build configuration list for PBXNativeTarget "PINOperation-watchOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3201179124444859004FD783 /* Debug */, - 3201179224444859004FD783 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105271E27110D00890935 /* Build configuration list for PBXProject "PINOperation" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105331E27110D00890935 /* Debug */, - CC0105341E27110D00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105351E27110D00890935 /* Build configuration list for PBXNativeTarget "PINOperation" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105361E27110D00890935 /* Debug */, - CC0105371E27110D00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105421E27113700890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105431E27113700890935 /* Debug */, - CC0105441E27113700890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01054F1E27114300890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105501E27114300890935 /* Debug */, - CC0105511E27114300890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01055E1E27116600890935 /* Build configuration list for PBXNativeTarget "PINOperationTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01055F1E27116600890935 /* Debug */, - CC0105601E27116600890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01056D1E27117300890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01056E1E27117300890935 /* Debug */, - CC01056F1E27117300890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01057C1E27117F00890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01057D1E27117F00890935 /* Debug */, - CC01057E1E27117F00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = CC0105241E27110D00890935 /* Project object */; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme deleted file mode 100644 index ebc5ab8b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme deleted file mode 100644 index 31981545..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme deleted file mode 100644 index 4187965f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme deleted file mode 100644 index 82056667..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Package.swift b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Package.swift deleted file mode 100644 index 1e747dba..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Package.swift +++ /dev/null @@ -1,18 +0,0 @@ -// swift-tools-version:5.2 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription - -let package = Package( - name: "PINOperation", - products: [ - // Products define the executables and libraries produced by a package, and make them visible to other packages. - .library(name: "PINOperation", targets: ["PINOperation"]), - ], - targets: [ - // Targets are the basic building blocks of a package. A target can define a module or a test suite. - // Targets can depend on other targets in this package, and on products in packages which this package depends on. - .target(name: "PINOperation", path: "Source", publicHeadersPath: "."), - .testTarget(name: "PINOperationTests", dependencies: ["PINOperation"], path: "Tests") - ] -) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/README.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/README.md deleted file mode 100644 index c7ac84ec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# PINOperation - -[![CocoaPods](https://img.shields.io/cocoapods/v/PINOperation.svg)](http://cocoadocs.org/docsets/PINOperation/) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Build status](https://github.com/pinterest/PINOperation/workflows/CI/badge.svg)](https://github.com/pinterest/PINOperation/actions?query=workflow%3ACI+branch%3Amaster) - -## Fast, concurrency-limited task queue for iOS and macOS. - -## Installation - -### Manually - -[Download the latest tag](https://github.com/pinterest/PINOperation/tags) and drag the `PINOperation` folder into your Xcode project. - -Install the docs by double clicking the `.docset` file under `docs/`, or view them online at [cocoadocs.org](http://cocoadocs.org/docsets/PINOperation/) - -### Git Submodule - - git submodule add https://github.com/pinterest/PINOperation.git - git submodule update --init - -### CocoaPods - -Add [PINOperation](http://cocoapods.org/?q=name%3APINOperation) to your `Podfile` and run `pod install`. - -### Carthage - -Add the following line to your `Cartfile` and run `carthage update --platform ios`. Then follow [this instruction of Carthage](https://github.com/carthage/carthage#adding-frameworks-to-unit-tests-or-a-framework) to embed the framework. - -```github "pinterest/PINOperation"``` - -## Requirements - -__PINOperation__ requires iOS 8.0, tvOS 9.0, macOS 10.8 or watchOS 2.0 and greater. - -## Contact - -[Garrett Moon](mailto:garrett@pinterest.com) - -## License - -Copyright 2013 Tumblr, Inc. -Copyright 2015 Pinterest, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. [See the License](LICENSE.txt) for the specific language governing permissions and limitations under the License. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/RELEASE.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/RELEASE.md deleted file mode 100644 index e0fc7ee8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/RELEASE.md +++ /dev/null @@ -1,13 +0,0 @@ -# Release Process -This document describes the process for a public PINOperation release. - -### Preparation -- Install [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator): `sudo gem install github_changelog_generator` -- Generate a GitHub Personal Access Token to prevent running into public GitHub API rate limits: https://github.com/github-changelog-generator/github-changelog-generator#github-token - -### Process -- Run `github_changelog_generator` in PINOperation project directory: `github_changelog_generator --token --user Pinterest --project PINOperation`. To avoid hitting rate limit, the generator will replace the entire file with just the changes from this version – revert that giant deletion to get the entire new changelog. -- Update `spec.version` within `PINOperation.podspec` and the `since-tag` and `future-release` fields in `.github_changelog_generator`. -- Create a new PR with the updated `PINOperation.podspec` and the newly generated changelog, add `#changelog` to the PR message so the CI will not prevent merging it. -- After merging in the PR, [create a new GitHub release](https://github.com/Pinterest/PINOperation/releases/new). Use the generated changelog for the new release. -- Push to Cocoapods with `pod trunk push` diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/Info.plist deleted file mode 100644 index faedaa13..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - Copyright © 2017 Pinterest. All rights reserved. - NSPrincipalClass - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperation.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperation.h deleted file mode 100644 index 68b074d2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperation.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// PINOperation.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINOperationMacros.h" -#import "PINOperationTypes.h" -#import "PINOperationQueue.h" -#import "PINOperationGroup.h" diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h deleted file mode 100644 index 0ae7dbac..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// PINOperationGroup.h -// PINQueue -// -// Created by Garrett Moon on 10/8/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -#import -#import "PINOperationTypes.h" -#import "PINOperationMacros.h" - -@class PINOperationQueue; - -NS_ASSUME_NONNULL_BEGIN - -@protocol PINGroupOperationReference; - -PINOP_SUBCLASSING_RESTRICTED -@interface PINOperationGroup : NSObject - -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)asyncOperationGroupWithQueue:(PINOperationQueue *)operationQueue; - -- (nullable id )addOperation:(dispatch_block_t)operation; -- (nullable id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority; -- (void)start; -- (void)cancel; -- (void)setCompletion:(dispatch_block_t)completion; -- (void)waitUntilComplete; - -@end - -@protocol PINGroupOperationReference - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m deleted file mode 100644 index ddd2ed01..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m +++ /dev/null @@ -1,187 +0,0 @@ -// -// PINOperationGroup.m -// PINQueue -// -// Created by Garrett Moon on 10/8/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -#import "PINOperationGroup.h" -#import "PINOperation.h" -#import - -@interface NSNumber (PINGroupOperationQueue) -@end - -@interface PINOperationGroup () -{ - pthread_mutex_t _lock; - - PINOperationQueue *_operationQueue; - NSMutableArray *_operations; - NSMutableArray *_operationPriorities; - NSMutableArray > *_operationReferences; - NSMapTable , id > *_groupToOperationReferences; - NSUInteger _operationReferenceCount; - - dispatch_group_t _group; - - dispatch_block_t _completion; - - BOOL _started; - BOOL _canceled; -} - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue NS_DESIGNATED_INITIALIZER; - -@end - -@implementation PINOperationGroup - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue -{ - if (self = [super init]) { - pthread_mutex_init(&_lock, NULL); - - _operationQueue = operationQueue; - - _operations = [[NSMutableArray alloc] init]; - _operationReferences = [[NSMutableArray alloc] init]; - _operationPriorities = [[NSMutableArray alloc] init]; - - _groupToOperationReferences = [NSMapTable weakToStrongObjectsMapTable]; - _group = dispatch_group_create(); - } - return self; -} - -- (void)dealloc -{ - pthread_mutex_destroy(&_lock); -} - -+ (instancetype)asyncOperationGroupWithQueue:(PINOperationQueue *)operationQueue -{ - return [[self alloc] initWithOperationQueue:operationQueue]; -} - -- (id )locked_nextOperationReference -{ - id reference = [NSNumber numberWithUnsignedInteger:++_operationReferenceCount]; - return reference; -} - -- (void)start -{ - [self lock]; - NSAssert(_canceled == NO, @"Operation group canceled."); - if (_started == NO && _canceled == NO) { - for (NSUInteger idx = 0; idx < _operations.count; idx++) { - dispatch_group_enter(_group); - dispatch_block_t originalOperation = _operations[idx]; - dispatch_block_t groupBlock = ^{ - originalOperation(); - dispatch_group_leave(self->_group); - }; - - id operationReference = [_operationQueue scheduleOperation:groupBlock withPriority:[_operationPriorities[idx] unsignedIntegerValue]]; - [_groupToOperationReferences setObject:operationReference forKey:_operationReferences[idx]]; - } - - if (_completion) { - dispatch_queue_t completionQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); - dispatch_group_notify(_group, completionQueue, ^{ - [self runCompletionIfNeeded]; - }); - } - - _operations = nil; - _operationPriorities = nil; - _operationReferences = nil; - } - [self unlock]; -} - -- (void)cancel -{ - [self lock]; - _canceled = YES; - - for (id operationReference in [_groupToOperationReferences objectEnumerator]) { - if ([_operationQueue cancelOperation:operationReference]) { - dispatch_group_leave(_group); - } - } - - //TODO just nil out instead? Does it make sense to support adding operations after cancelation? - [_groupToOperationReferences removeAllObjects]; - [_operations removeAllObjects]; - [_operationPriorities removeAllObjects]; - [_operationReferences removeAllObjects]; - - _completion = nil; - [self unlock]; -} - -- (id )addOperation:(dispatch_block_t)operation -{ - return [self addOperation:operation withPriority:PINOperationQueuePriorityDefault]; -} - -- (id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority -{ - [self lock]; - id reference = nil; - NSAssert(_started == NO && _canceled == NO, @"Operation group already started or canceled."); - if (_started == NO && _canceled == NO) { - reference = [self locked_nextOperationReference]; - [_operations addObject:operation]; - [_operationPriorities addObject:@(priority)]; - [_operationReferences addObject:reference]; - } - [self unlock]; - - return reference; -} - -- (void)setCompletion:(dispatch_block_t)completion -{ - [self lock]; - NSAssert(_started == NO && _canceled == NO, @"Operation group already started or canceled."); - if (_started == NO && _canceled == NO) { - _completion = completion; - } - [self unlock]; -} - -- (void)waitUntilComplete -{ - [self start]; - dispatch_group_wait(_group, DISPATCH_TIME_FOREVER); - [self runCompletionIfNeeded]; -} - -- (void)runCompletionIfNeeded -{ - dispatch_block_t completion; - [self lock]; - completion = _completion; - _completion = nil; - [self unlock]; - - if (completion) { - completion(); - } -} - -- (void)lock -{ - pthread_mutex_lock(&_lock); -} - -- (void)unlock -{ - pthread_mutex_unlock(&_lock); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h deleted file mode 100644 index 5be3a216..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINOperationMacros.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#ifndef PINOP_SUBCLASSING_RESTRICTED -#if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#define PINOP_SUBCLASSING_RESTRICTED __attribute__((objc_subclassing_restricted)) -#else -#define PINOP_SUBCLASSING_RESTRICTED -#endif // #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#endif // #ifndef PINOP_SUBCLASSING_RESTRICTED diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h deleted file mode 100644 index 07eacbeb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h +++ /dev/null @@ -1,141 +0,0 @@ -// -// PINOperationQueue.h -// Pods -// -// Created by Garrett Moon on 8/23/16. -// -// - -#import -#import "PINOperationTypes.h" -#import "PINOperationMacros.h" - -NS_ASSUME_NONNULL_BEGIN - -typedef void(^PINOperationBlock)(id _Nullable data); -typedef _Nullable id(^PINOperationDataCoalescingBlock)(id _Nullable existingData, id _Nullable newData); - -@protocol PINOperationReference; - -PINOP_SUBCLASSING_RESTRICTED -@interface PINOperationQueue : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -/** - * Initializes and returns a newly allocated operation queue with the specified number of maximum concurrent operations. - * - * @param maxConcurrentOperations The maximum number of queued operations that can execute at the same time. - * - */ -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations; - -/** - * Initializes and returns a newly allocated operation queue with the specified number of maximum concurrent operations and the concurrent queue they will be scheduled on. - * - * @param maxConcurrentOperations The maximum number of queued operations that can execute at the same time. - * @param concurrentQueue The operation queue to schedule concurrent operations - * - */ -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations concurrentQueue:(dispatch_queue_t)concurrentQueue NS_DESIGNATED_INITIALIZER; - -/** - * Returns the shared instance of the PINOperationQueue class. - */ -+ (instancetype)sharedOperationQueue; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * - */ -- (id )scheduleOperation:(dispatch_block_t)operation; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * @param priority The execution priority of the operation in an operation queue. - */ -- (id )scheduleOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * @param priority The execution priority of the operation in an operation queue. - * @param identifier A string that identifies the operations that can be coalesced. - * @param coalescingData The optional data consumed by this operation that needs to be updated/coalesced with data of a new operation when coalescing the two operations happens. - * @param dataCoalescingBlock The optional block called to update/coalesce the data of this operation with data of a new operation when coalescing the two operations happens. - * @param completion The block to execute after the operation finished. - */ -- (id )scheduleOperation:(PINOperationBlock)operation - withPriority:(PINOperationQueuePriority)priority - identifier:(nullable NSString *)identifier - coalescingData:(nullable id)coalescingData - dataCoalescingBlock:(nullable PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(nullable dispatch_block_t)completion; - -/** - * The maximum number of queued operations that can execute at the same time. - * - * @discussion The value in this property affects only the operations that the current queue has executing at the same time. Other operation queues can also execute their maximum number of operations in parallel. - * Reducing the number of concurrent operations does not affect any operations that are currently executing. - * - * Setting this value to 1 the operations will not be processed by priority as the operations will processed in a FIFO order to prevent deadlocks if operations depend on certain other operations to run in order. - * - */ -@property (assign) NSUInteger maxConcurrentOperations; - -/** - * Marks the operation as cancelled - */ -- (BOOL)cancelOperation:(id )operationReference; - -/** - * Cancels all queued operations - */ -- (void)cancelAllOperations; - -/** - * Blocks the current thread until all of the receiver’s queued and executing operations finish executing. - * - * @discussion When called, this method blocks the current thread and waits for the receiver’s current and queued - * operations to finish executing. While the current thread is blocked, the receiver continues to launch already - * queued operations and monitor those that are executing. - * - * @warning This should never be called from within an operation submitted to the PINOperationQueue as this will result - * in a deadlock. - */ -- (void)waitUntilAllOperationsAreFinished; - -/** - * Sets the priority for a operation via it's reference - * - * @param priority The new priority for the operation - * @param reference The reference for the operation - * - */ -- (void)setOperationPriority:(PINOperationQueuePriority)priority withReference:(id )reference; - -#pragma mark - Deprecated - -- (id )addOperation:(dispatch_block_t)operation __deprecated_msg("Use scheduleOperation: instead."); - -- (id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority __deprecated_msg("Use scheduleOperation:withPriority: instead."); - -- (id )addOperation:(PINOperationBlock)operation - withPriority:(PINOperationQueuePriority)priority - identifier:(nullable NSString *)identifier - coalescingData:(nullable id)coalescingData - dataCoalescingBlock:(nullable PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(nullable dispatch_block_t)completion __deprecated_msg("Use scheduleOperation:withPriority:identifier:coalescingData:dataCoalescingBlock:completion: instead."); - -@end - -@protocol PINOperationReference - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m deleted file mode 100644 index 5d0a38fe..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m +++ /dev/null @@ -1,471 +0,0 @@ -// -// PINOperationQueue.m -// Pods -// -// Created by Garrett Moon on 8/23/16. -// -// - -#import "PINOperationQueue.h" -#import - -@class PINOperation; - -@interface NSNumber (PINOperationQueue) - -@end - -@interface PINOperationQueue () { - pthread_mutex_t _lock; - //increments with every operation to allow cancelation - NSUInteger _operationReferenceCount; - NSUInteger _maxConcurrentOperations; - - dispatch_group_t _group; - - dispatch_queue_t _serialQueue; - BOOL _serialQueueBusy; - - dispatch_semaphore_t _concurrentSemaphore; - dispatch_queue_t _concurrentQueue; - dispatch_queue_t _semaphoreQueue; - - NSMutableOrderedSet *_queuedOperations; - NSMutableOrderedSet *_lowPriorityOperations; - NSMutableOrderedSet *_defaultPriorityOperations; - NSMutableOrderedSet *_highPriorityOperations; - - NSMapTable, PINOperation *> *_referenceToOperations; - NSMapTable *_identifierToOperations; -} - -@end - -@interface PINOperation : NSObject - -@property (nonatomic, strong) PINOperationBlock block; -@property (nonatomic, strong) id reference; -@property (nonatomic, assign) PINOperationQueuePriority priority; -@property (nonatomic, strong) NSMutableArray *completions; -@property (nonatomic, strong) NSString *identifier; -@property (nonatomic, strong) id data; - -+ (instancetype)operationWithBlock:(PINOperationBlock)block reference:(id )reference priority:(PINOperationQueuePriority)priority identifier:(nullable NSString *)identifier data:(nullable id)data completion:(nullable dispatch_block_t)completion; - -- (void)addCompletion:(nullable dispatch_block_t)completion; - -@end - -@implementation PINOperation - -+ (instancetype)operationWithBlock:(PINOperationBlock)block reference:(id)reference priority:(PINOperationQueuePriority)priority identifier:(NSString *)identifier data:(id)data completion:(dispatch_block_t)completion -{ - PINOperation *operation = [[self alloc] init]; - operation.block = block; - operation.reference = reference; - operation.priority = priority; - operation.identifier = identifier; - operation.data = data; - [operation addCompletion:completion]; - - return operation; -} - -- (void)addCompletion:(dispatch_block_t)completion -{ - if (completion == nil) { - return; - } - if (_completions == nil) { - _completions = [NSMutableArray array]; - } - [_completions addObject:completion]; -} - -@end - -@implementation PINOperationQueue - -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations -{ - return [self initWithMaxConcurrentOperations:maxConcurrentOperations concurrentQueue:dispatch_queue_create("PINOperationQueue Concurrent Queue", DISPATCH_QUEUE_CONCURRENT)]; -} - -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations concurrentQueue:(dispatch_queue_t)concurrentQueue -{ - if (self = [super init]) { - NSAssert(maxConcurrentOperations > 0, @"Max concurrent operations must be greater than 0."); - _maxConcurrentOperations = maxConcurrentOperations; - _operationReferenceCount = 0; - - pthread_mutexattr_t attr; - pthread_mutexattr_init(&attr); - //mutex must be recursive to allow scheduling of operations from within operations - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); - pthread_mutex_init(&_lock, &attr); - - _group = dispatch_group_create(); - - _serialQueue = dispatch_queue_create("PINOperationQueue Serial Queue", DISPATCH_QUEUE_SERIAL); - - _concurrentQueue = concurrentQueue; - - //Create a queue with max - 1 because this plus the serial queue add up to max. - _concurrentSemaphore = dispatch_semaphore_create(_maxConcurrentOperations - 1); - _semaphoreQueue = dispatch_queue_create("PINOperationQueue Serial Semaphore Queue", DISPATCH_QUEUE_SERIAL); - - _queuedOperations = [[NSMutableOrderedSet alloc] init]; - _lowPriorityOperations = [[NSMutableOrderedSet alloc] init]; - _defaultPriorityOperations = [[NSMutableOrderedSet alloc] init]; - _highPriorityOperations = [[NSMutableOrderedSet alloc] init]; - - _referenceToOperations = [NSMapTable weakToWeakObjectsMapTable]; - _identifierToOperations = [NSMapTable weakToWeakObjectsMapTable]; - } - return self; -} - -- (void)dealloc -{ - pthread_mutex_destroy(&_lock); -} - -+ (instancetype)sharedOperationQueue -{ - static PINOperationQueue *sharedOperationQueue = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedOperationQueue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:MAX([[NSProcessInfo processInfo] activeProcessorCount], 2)]; - }); - return sharedOperationQueue; -} - -- (id )nextOperationReference -{ - [self lock]; - id reference = [NSNumber numberWithUnsignedInteger:++_operationReferenceCount]; - [self unlock]; - return reference; -} - -// Deprecated -- (id )addOperation:(dispatch_block_t)block -{ - return [self scheduleOperation:block]; -} - -- (id )scheduleOperation:(dispatch_block_t)block -{ - return [self scheduleOperation:block withPriority:PINOperationQueuePriorityDefault]; -} - -// Deprecated -- (id )addOperation:(dispatch_block_t)block withPriority:(PINOperationQueuePriority)priority -{ - return [self scheduleOperation:block withPriority:priority]; -} - -- (id )scheduleOperation:(dispatch_block_t)block withPriority:(PINOperationQueuePriority)priority -{ - PINOperation *operation = [PINOperation operationWithBlock:^(id data) { block(); } - reference:[self nextOperationReference] - priority:priority - identifier:nil - data:nil - completion:nil]; - [self lock]; - [self locked_addOperation:operation]; - [self unlock]; - - [self scheduleNextOperations:NO]; - - return operation.reference; -} - -// Deprecated -- (id)addOperation:(PINOperationBlock)block - withPriority:(PINOperationQueuePriority)priority - identifier:(NSString *)identifier - coalescingData:(id)coalescingData - dataCoalescingBlock:(PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(dispatch_block_t)completion -{ - return [self scheduleOperation:block - withPriority:priority - identifier:identifier - coalescingData:coalescingData - dataCoalescingBlock:dataCoalescingBlock - completion:completion]; -} - -- (id)scheduleOperation:(PINOperationBlock)block - withPriority:(PINOperationQueuePriority)priority - identifier:(NSString *)identifier - coalescingData:(id)coalescingData - dataCoalescingBlock:(PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(dispatch_block_t)completion -{ - id reference = nil; - BOOL isNewOperation = NO; - - [self lock]; - PINOperation *operation = nil; - if (identifier != nil && (operation = [_identifierToOperations objectForKey:identifier]) != nil) { - // There is an exisiting operation with the provided identifier, let's coalesce these operations - if (dataCoalescingBlock != nil) { - operation.data = dataCoalescingBlock(operation.data, coalescingData); - } - - [operation addCompletion:completion]; - } else { - isNewOperation = YES; - operation = [PINOperation operationWithBlock:block - reference:[self nextOperationReference] - priority:priority - identifier:identifier - data:coalescingData - completion:completion]; - [self locked_addOperation:operation]; - } - reference = operation.reference; - [self unlock]; - - if (isNewOperation) { - [self scheduleNextOperations:NO]; - } - - return reference; -} - -- (void)locked_addOperation:(PINOperation *)operation -{ - NSMutableOrderedSet *queue = [self operationQueueWithPriority:operation.priority]; - - dispatch_group_enter(_group); - [queue addObject:operation]; - [_queuedOperations addObject:operation]; - [_referenceToOperations setObject:operation forKey:operation.reference]; - if (operation.identifier != nil) { - [_identifierToOperations setObject:operation forKey:operation.identifier]; - } -} - -- (void)cancelAllOperations -{ - [self lock]; - for (PINOperation *operation in [[_referenceToOperations copy] objectEnumerator]) { - [self locked_cancelOperation:operation.reference]; - } - [self unlock]; -} - - -- (BOOL)cancelOperation:(id )operationReference -{ - [self lock]; - BOOL success = [self locked_cancelOperation:operationReference]; - [self unlock]; - return success; -} - -- (NSUInteger)maxConcurrentOperations -{ - [self lock]; - NSUInteger maxConcurrentOperations = _maxConcurrentOperations; - [self unlock]; - return maxConcurrentOperations; -} - -- (void)setMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations -{ - NSAssert(maxConcurrentOperations > 0, @"Max concurrent operations must be greater than 0."); - [self lock]; - __block NSInteger difference = maxConcurrentOperations - _maxConcurrentOperations; - _maxConcurrentOperations = maxConcurrentOperations; - [self unlock]; - - if (difference == 0) { - return; - } - - dispatch_async(_semaphoreQueue, ^{ - while (difference != 0) { - if (difference > 0) { - dispatch_semaphore_signal(self->_concurrentSemaphore); - difference--; - } else { - dispatch_semaphore_wait(self->_concurrentSemaphore, DISPATCH_TIME_FOREVER); - difference++; - } - } - }); -} - -#pragma mark - private methods - -- (BOOL)locked_cancelOperation:(id )operationReference -{ - PINOperation *operation = [_referenceToOperations objectForKey:operationReference]; - BOOL success = [self locked_removeOperation:operation]; - if (success) { - dispatch_group_leave(_group); - } - return success; -} - -- (void)setOperationPriority:(PINOperationQueuePriority)priority withReference:(id )operationReference -{ - [self lock]; - PINOperation *operation = [_referenceToOperations objectForKey:operationReference]; - if (operation && operation.priority != priority) { - NSMutableOrderedSet *oldQueue = [self operationQueueWithPriority:operation.priority]; - [oldQueue removeObject:operation]; - - operation.priority = priority; - - NSMutableOrderedSet *queue = [self operationQueueWithPriority:priority]; - [queue addObject:operation]; - } - [self unlock]; -} - -/** - Schedule next operations schedules the next operation by queue order onto the serial queue if - it's available and one operation by priority order onto the concurrent queue. - */ -- (void)scheduleNextOperations:(BOOL)onlyCheckSerial -{ - [self lock]; - - //get next available operation in order, ignoring priority and run it on the serial queue - if (_serialQueueBusy == NO) { - PINOperation *operation = [self locked_nextOperationByQueue]; - if (operation) { - _serialQueueBusy = YES; - dispatch_async(_serialQueue, ^{ - operation.block(operation.data); - for (dispatch_block_t completion in operation.completions) { - completion(); - } - dispatch_group_leave(self->_group); - - [self lock]; - self->_serialQueueBusy = NO; - [self unlock]; - - //see if there are any other operations - [self scheduleNextOperations:YES]; - }); - } - } - - NSInteger maxConcurrentOperations = _maxConcurrentOperations; - - [self unlock]; - - if (onlyCheckSerial) { - return; - } - - //if only one concurrent operation is set, let's just use the serial queue for executing it - if (maxConcurrentOperations < 2) { - return; - } - - dispatch_async(_semaphoreQueue, ^{ - dispatch_semaphore_wait(self->_concurrentSemaphore, DISPATCH_TIME_FOREVER); - [self lock]; - PINOperation *operation = [self locked_nextOperationByPriority]; - [self unlock]; - - if (operation) { - dispatch_async(self->_concurrentQueue, ^{ - operation.block(operation.data); - for (dispatch_block_t completion in operation.completions) { - completion(); - } - dispatch_group_leave(self->_group); - dispatch_semaphore_signal(self->_concurrentSemaphore); - }); - } else { - dispatch_semaphore_signal(self->_concurrentSemaphore); - } - }); -} - -- (NSMutableOrderedSet *)operationQueueWithPriority:(PINOperationQueuePriority)priority -{ - switch (priority) { - case PINOperationQueuePriorityLow: - return _lowPriorityOperations; - - case PINOperationQueuePriorityDefault: - return _defaultPriorityOperations; - - case PINOperationQueuePriorityHigh: - return _highPriorityOperations; - - default: - NSAssert(NO, @"Invalid priority set"); - return _defaultPriorityOperations; - } -} - -//Call with lock held -- (PINOperation *)locked_nextOperationByPriority -{ - PINOperation *operation = [_highPriorityOperations firstObject]; - if (operation == nil) { - operation = [_defaultPriorityOperations firstObject]; - } - if (operation == nil) { - operation = [_lowPriorityOperations firstObject]; - } - if (operation) { - [self locked_removeOperation:operation]; - } - return operation; -} - -//Call with lock held -- (PINOperation *)locked_nextOperationByQueue -{ - PINOperation *operation = [_queuedOperations firstObject]; - [self locked_removeOperation:operation]; - return operation; -} - -- (void)waitUntilAllOperationsAreFinished -{ - [self scheduleNextOperations:NO]; - dispatch_group_wait(_group, DISPATCH_TIME_FOREVER); -} - -//Call with lock held -- (BOOL)locked_removeOperation:(PINOperation *)operation -{ - if (operation) { - NSMutableOrderedSet *priorityQueue = [self operationQueueWithPriority:operation.priority]; - if ([priorityQueue containsObject:operation]) { - [priorityQueue removeObject:operation]; - [_queuedOperations removeObject:operation]; - if (operation.identifier) { - [_identifierToOperations removeObjectForKey:operation.identifier]; - } - return YES; - } - } - return NO; -} - -- (void)lock -{ - pthread_mutex_lock(&_lock); -} - -- (void)unlock -{ - pthread_mutex_unlock(&_lock); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h deleted file mode 100644 index be7293db..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINOperationTypes.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import - -typedef NS_ENUM(NSUInteger, PINOperationQueuePriority) { - PINOperationQueuePriorityLow, - PINOperationQueuePriorityDefault, - PINOperationQueuePriorityHigh, -}; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/Info.plist deleted file mode 100644 index ba72822e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m deleted file mode 100644 index 7505d56f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m +++ /dev/null @@ -1,129 +0,0 @@ -// -// PINOperationGroupTests.m -// PINOperationQueue -// -// Created by Garrett Moon on 10/12/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -@import PINOperation; - -#import -#import - -static NSTimeInterval PINOperationGroupTestBlockTimeout = 20; - -@interface PINOperationGroupTests : XCTestCase - -@property PINOperationQueue *queue; - -@end - -@implementation PINOperationGroupTests - -- (dispatch_time_t)timeout -{ - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(PINOperationGroupTestBlockTimeout * NSEC_PER_SEC)); -} - -- (void)setUp { - [super setUp]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:5]; -} - -- (void)tearDown { - // Put teardown code here. This method is called after the invocation of each test method in the class. - [super tearDown]; -} - -- (void)testAllOperationsRunBeforeCompletion -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - for (NSUInteger idx = 0; idx < 100; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - - XCTestExpectation *completionRun = [self expectationWithDescription:@"Completion Run"]; - - __weak typeof(self) weakSelf = self; - [group setCompletion:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - XCTAssert(operationsRun == 100, @"Not all operations were run before completion"); - } - [completionRun fulfill]; - }]; - - [group start]; - - [self waitForExpectationsWithTimeout:PINOperationGroupTestBlockTimeout handler:nil]; -} - -- (void)testWaitUntilOperationsComplete -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - for (NSUInteger idx = 0; idx < 100; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - __block BOOL completionBlockCalled = NO; - [group setCompletion:^{ - completionBlockCalled = YES; - }]; - - [group waitUntilComplete]; - XCTAssert(completionBlockCalled, @"Completion block should have been called after waiting."); - - @synchronized (self) { - XCTAssert(operationsRun == 100, @"All operations should be run"); - } -} - -- (void)testCancelation -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - const NSUInteger operationsToRun = 100; - - for (NSUInteger idx = 0; idx < operationsToRun; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - usleep(10000); - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - - [group setCompletion:^{ - XCTAssert(NO, @"completion should not be run"); - }]; - - [group start]; - [group cancel]; - - usleep(10000 * operationsToRun); - - @synchronized (self) { - XCTAssert(operationsRun < operationsToRun, @"All operations should not be run."); - } -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m deleted file mode 100644 index 844968f2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m +++ /dev/null @@ -1,523 +0,0 @@ -// -// PINOperationQueueTests.m -// PINOperationQueue -// -// Created by Garrett Moon on 8/28/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -@import PINOperation; -#import -#import - -static NSTimeInterval PINOperationQueueTestBlockTimeout = 20; - -@interface PINOperationQueueTests : XCTestCase - -@property (nonatomic, strong) PINOperationQueue *queue; - -@end - -static const NSUInteger PINOperationQueueTestsLowestMaxOperations = 1; -static const NSUInteger PINOperationQueueTestsMaxOperations = 5; - -@implementation PINOperationQueueTests - -- (void)setUp -{ - [super setUp]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsMaxOperations]; - // Put setup code here. This method is called before the invocation of each test method in the class. -} - -- (void)tearDown -{ - // Put teardown code here. This method is called after the invocation of each test method in the class. - self.queue = nil; - [super tearDown]; -} - -- (dispatch_time_t)timeout -{ - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(PINOperationQueueTestBlockTimeout * NSEC_PER_SEC)); -} - -- (void)testAllOperationsRun -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out before completing 100 operations"); -} - -- (void)testAllOperationsReleased -{ - const NSUInteger operationCount = 100; - NSPointerArray *weakOperationPointers = [NSPointerArray weakObjectsPointerArray]; - - for (int i = 0; i < operationCount; i++) { - @autoreleasepool { - dispatch_block_t operation = ^{ - usleep(i); - }; - - [weakOperationPointers addPointer:(__bridge void * _Nullable)(operation)]; - [self.queue scheduleOperation:operation withPriority:PINOperationQueuePriorityDefault]; - } - } - - [self.queue waitUntilAllOperationsAreFinished]; - - // Autorelease pool is drained at the end of each run loop - // Dispatch to the next loop before asserting that all blocks are gone - XCTestExpectation *expectation = [self expectationWithDescription:@"next run loop expectation"]; - dispatch_async(dispatch_get_main_queue(), ^{ - [expectation fulfill]; - }); - - [self waitForExpectationsWithTimeout:10 handler:nil]; - XCTAssertEqual(0, weakOperationPointers.allObjects.count); -} - -- (void)testWaitUntilAllOperationsFinished -{ - const NSUInteger operationCount = 100; - __block NSInteger operationsRun = 0; - - __weak PINOperationQueueTests *weakSelf = self; - for (NSUInteger count = 0; count < operationCount; count++) { - [self.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - } withPriority:PINOperationQueuePriorityDefault]; - } - - [self.queue waitUntilAllOperationsAreFinished]; - - XCTAssert(operationCount == operationsRun, @"Timed out before completing 100 operations"); -} - -- (void)testWaitUntilAllOperationsFinishedWithNestedOperations -{ - const NSUInteger operationCount = 100; - - __block NSInteger operationsRun = 0; - for (NSUInteger count = 0; count < operationCount; count++) { - __weak PINOperationQueueTests *weakSelf = self; - [self.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - [strongSelf.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - } withPriority:PINOperationQueuePriorityHigh]; - } withPriority:PINOperationQueuePriorityDefault]; - } - - [self.queue waitUntilAllOperationsAreFinished]; - - XCTAssert(operationsRun == (operationCount*2), @"Timed out before completing 100 operations"); -} - -- (void)helperConfirmMaxOperations:(NSUInteger)maxOperations queue:(PINOperationQueue *)queue -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - __block NSUInteger runningOperationCount = 0; - __block BOOL operationCountMaxedOut = NO; - - XCTAssert(queue.maxConcurrentOperations == maxOperations, @"Max concurrent operations not correctly set."); -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [queue scheduleOperation:^{ - @synchronized (self) { - runningOperationCount++; - if (runningOperationCount == maxOperations) { - operationCountMaxedOut = YES; - } - XCTAssert(runningOperationCount <= maxOperations, @"Running too many operations at once: %lu", (unsigned long)runningOperationCount); - } - - usleep(10000); - - @synchronized (self) { - runningOperationCount--; - XCTAssert(runningOperationCount <= maxOperations, @"Running too many operations at once: %lu", (unsigned long)runningOperationCount); - } - - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out before completing 100 operations"); - XCTAssert(operationCountMaxedOut == YES, @"Never reached maximum number of concurrent operations: %lu", (unsigned long)maxOperations); -} - -- (void)testMaximumNumberOfConcurrentOperations -{ - [self helperConfirmMaxOperations:PINOperationQueueTestsMaxOperations queue:self.queue]; -} - -- (void)testMaximumNumberOfConcurrentOperationsIsOne -{ - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsLowestMaxOperations]; - [self helperConfirmMaxOperations:PINOperationQueueTestsLowestMaxOperations queue:self.queue]; -} - -//We expect operations to run in priority order when added in that order as well -- (void)testPriority -{ - const NSUInteger highOperationCount = 100; - const NSUInteger defaultOperationCount = 100; - const NSUInteger lowOperationCount = 100; - - __block NSUInteger highOperationComplete = 0; - __block NSUInteger defaultOperationComplete = 0; - __block NSUInteger lowOperationComplete = 0; - - dispatch_group_t group = dispatch_group_create(); - - //This is actually a pretty annoying unit test to write. Because multiple operations are allowed to be concurrent, lower priority operations can potentially repeatidly - //obtain the lock while higher priority operations wait… So I'm attempting to make the operations less about lock contention and more about the length of time they take - //to execute and adding a sleep before they obtain the lock to hopefully improve reliability. - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < highOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++highOperationComplete; - XCTAssert(defaultOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running default operations before high. Default operations complete: %lu", (unsigned long)defaultOperationComplete); - XCTAssert(lowOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running low operations before high. Low operations complete: %lu", (unsigned long)lowOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityHigh]; - } - - for (NSUInteger count = 0; count < defaultOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++defaultOperationComplete; - XCTAssert(lowOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running low operations before default. Low operations complete: %lu", (unsigned long)lowOperationComplete); - XCTAssert(highOperationComplete > highOperationCount - PINOperationQueueTestsMaxOperations, @"Running high operations after default. High operations complete: %lu", (unsigned long)highOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - for (NSUInteger count = 0; count < lowOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++lowOperationComplete; - XCTAssert(defaultOperationComplete > defaultOperationCount - PINOperationQueueTestsMaxOperations, @"Running default operations after low. Default operations complete: %lu", (unsigned long)defaultOperationComplete); - XCTAssert(highOperationComplete > highOperationCount - PINOperationQueueTestsMaxOperations, @"Running high operations after low. High operations complete: %lu", (unsigned long)highOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -//We expect low priority operations to eventually run even if the queue is continually kept full with higher priority operations -- (void)testOutOfOrderOperations -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < PINOperationQueueTestsMaxOperations + 1; count++) { - [self.queue scheduleOperation:^{ - [self recursivelyAddOperation]; - } withPriority:PINOperationQueuePriorityHigh]; - } -#pragma clang diagnostic pop - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)recursivelyAddOperation -{ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - [self.queue scheduleOperation:^{ - [self recursivelyAddOperation]; - } withPriority:PINOperationQueuePriorityHigh]; -#pragma clang diagnostic pop -} - -- (void)testCancelation -{ - const NSUInteger sleepTime = 100000; - for (NSUInteger count = 0; count < PINOperationQueueTestsMaxOperations + 1; count++) { - [self.queue scheduleOperation:^{ - usleep(sleepTime); - } withPriority:PINOperationQueuePriorityDefault]; - } - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - id operation = [self.queue scheduleOperation:^{ - XCTAssertTrue(NO, @"operation should have been canceled"); - } withPriority:PINOperationQueuePriorityDefault]; -#pragma clang diagnostics pop - - [self.queue cancelOperation:operation]; - - usleep(sleepTime * (PINOperationQueueTestsMaxOperations + 1)); -} - -- (void)testChangingPriority -{ - const NSUInteger defaultOperationCount = 100; - - __block NSUInteger defaultOperationComplete = 0; - - dispatch_group_t group = dispatch_group_create(); - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < defaultOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(100); - @synchronized (self) { - ++defaultOperationComplete; - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - dispatch_group_enter(group); - id operation = [self.queue scheduleOperation:^{ - @synchronized (self) { - //Make sure we're less than defaultOperationCount - PINOperationQueueTestsMaxOperations because this operation could start even while the others are running even - //if started last. - XCTAssert(defaultOperationComplete < defaultOperationCount - PINOperationQueueTestsMaxOperations, @"operation was not completed before default operations even though reprioritized."); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; -#pragma clang diagnostic pop - [self.queue setOperationPriority:PINOperationQueuePriorityHigh withReference:operation]; - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)testCoalescingOperations -{ - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsMaxOperations]; - - const NSUInteger totalOperationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - NSString *normalDesc = @"Normal"; - NSString *coallescedDesc = @"Coallesced"; - NSArray *descs = @[normalDesc, coallescedDesc]; - - __block NSMutableDictionary *operationCount = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - __block NSMutableDictionary *operationRun = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - __block NSMutableDictionary *operationComplete = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSUInteger i = 0; i < totalOperationCount; i++) { - dispatch_group_enter(group); - - NSString *desc = descs[i % descs.count]; - BOOL isNormalOperation = [desc isEqualToString:normalDesc]; - - NSString *identifier = desc; - if (isNormalOperation) { - identifier = [NSString stringWithFormat:@"%@ %tu", desc, i]; - } - - operationCount[desc] = @([operationCount[desc] intValue] + 1); - - PINOperationBlock operation = ^(id _Nullable data) { - @synchronized (self) { - operationRun[desc] = @([operationRun[desc] intValue] + 1); - } - }; - - dispatch_block_t completion = ^{ - @synchronized (self) { - operationComplete[desc] = @([operationComplete[desc] intValue] + 1); - } - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:identifier - coalescingData:nil - dataCoalescingBlock:nil - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); - XCTAssert([operationRun[normalDesc] intValue] == [operationCount[normalDesc] intValue]); - XCTAssert([operationComplete[normalDesc] intValue] == [operationCount[normalDesc] intValue]); - XCTAssert([operationRun[coallescedDesc] intValue] == 1); - XCTAssert([operationComplete[coallescedDesc] intValue] == [operationCount[coallescedDesc] intValue]); -} - -- (void)testCoalescingOperationCompletions -{ - dispatch_group_t group = dispatch_group_create(); - - NSArray *completionFlags = @[@(NO), @(NO), @(YES), @(NO), @(YES)]; - NSIndexSet *expectedCompletedIndexSet = [completionFlags indexesOfObjectsPassingTest:^BOOL(NSNumber * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { return [obj boolValue]; }]; - NSMutableIndexSet *completedIndexSet = [NSMutableIndexSet indexSet]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSUInteger i = 0; i < completionFlags.count; i++) { - dispatch_group_enter(group); - - PINOperationBlock operation = ^(id _Nullable data) { - for (NSNumber *hasCompletion in completionFlags) { - if ([hasCompletion boolValue] == NO) { - dispatch_group_leave(group); - } - } - }; - - dispatch_block_t completion = [completionFlags[i] boolValue] == NO ? nil : ^{ - XCTAssert([expectedCompletedIndexSet containsIndex:i]); - @synchronized (self) { - [completedIndexSet addIndex:i]; - } - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:@"Identifier" - coalescingData:nil - dataCoalescingBlock:nil - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); - XCTAssert([completedIndexSet isEqual:expectedCompletedIndexSet]); -} - -- (void)testCoalescingOperationData -{ - dispatch_group_t group = dispatch_group_create(); - - NSArray *dataset = @[@(100), @(50), @(50), @(100), @(10)]; - NSNumber *expectedData = [dataset sortedArrayUsingSelector:@selector(compare:)][0]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSNumber *data in dataset) { - dispatch_group_enter(group); - - PINOperationBlock operation = ^(id _Nullable obj) { - XCTAssert([expectedData compare:obj] == NSOrderedSame); - }; - - PINOperationDataCoalescingBlock dataCoalescingBlock = ^id(id existingData, id newData) { - NSComparisonResult result = [existingData compare:newData]; - return (result == NSOrderedDescending) ? newData : existingData; - }; - - dispatch_block_t completion = ^{ - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:@"Identifier" - coalescingData:data - dataCoalescingBlock:dataCoalescingBlock - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)testChangingMaximumNumberOfOperations -{ - PINOperationQueue *queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:2]; - [self helperConfirmMaxOperations:2 queue:queue]; - queue.maxConcurrentOperations = 4; - usleep(10000); - [self helperConfirmMaxOperations:4 queue:queue]; - queue.maxConcurrentOperations = 2; - usleep(10000); - [self helperConfirmMaxOperations:2 queue:queue]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_docs.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_docs.sh deleted file mode 100755 index 8566ae2e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_docs.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env sh - -appledoc \ - --company-id com.pinterest \ - --project-name PINOperation \ - --project-company Pinterest \ - --project-version 1.0 \ - --docset-min-xcode-version 4.3 \ - --docset-bundle-id %COMPANYID.%PROJECTID \ - --docset-bundle-name "%PROJECT %VERSION" \ - --docset-bundle-filename %COMPANYID.%PROJECTID-%VERSIONID.docset \ - --ignore "tests" \ - --ignore "docs" \ - --ignore "*.m" \ - --no-repeat-first-par \ - --explicit-crossref \ - --clean-output \ - --keep-intermediate-files \ - --output ./docs \ - . - -mv docs/docset docs/com.pinterest.PINOperation-1.0.docset -rm docs/docset-installed.txt diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_tests.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_tests.sh deleted file mode 100755 index 93ccafe2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build_tests.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh - -# Have to specify destination because http://www.openradar.me/23857648 -xcodebuild ONLY_ACTIVE_ARCH=NO -project tests/PINOperation.xcodeproj -scheme PINOperationTests -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=latest' clean build test diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist deleted file mode 100644 index 3f0c2925..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - com.pinterest.PINOperationQueue - CFBundleName - PINOperationQueue 1.0 - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - - - - - DocSetFeedName - PINOperationQueue Documentation - - DocSetMinimumXcodeVersion - 4.3 - - DashDocSetFamily - appledoc - DocSetPublisherIdentifier - com.pinterest.documentation - DocSetPublisherName - Pinterest - NSHumanReadableCopyright - Copyright © 2017 Pinterest. All rights reserved. - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html deleted file mode 100644 index 810f085f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -

PINOperationQueuePriority

- -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINOperationQueuePriority ) {
- -    PINOperationQueuePriorityLow,
- -    PINOperationQueuePriorityDefault,
- -    PINOperationQueuePriorityHigh,
- - };
- -
- -
-

Constants

-
- -
PINOperationQueuePriorityLow
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityDefault
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityHigh
-
- - -

- PINOperationQueue.h. -

- -
- -
-
- - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html deleted file mode 100644 index 9bd0aa1f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html deleted file mode 100644 index fbc5d19d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml deleted file mode 100644 index a824d9a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - PINOperationQueue - index.html - - - - - - - Protocols - index.html - - - - - - - - - Constants - index.html - - - - - - - - - Blocks - index.html - - - - - - - - - - - - - - - PINOperationReference - Protocols/PINOperationReference.html - - - - - PINOperationQueuePriority - Constants/PINOperationQueuePriority.html - - - - - PINOperationBlock - Blocks/PINOperationBlock.html - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml deleted file mode 100644 index 03332c47..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - //apple_ref/occ/intf/PINOperationReference - Cancels all queued operations - PINOperationQueue.h - - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml deleted file mode 100644 index b6618281..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINOperationQueuePriority - - PINOperationQueue.h - - - - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityLow - - PINOperationQueuePriorityLow - - PINOperationQueue.h - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityDefault - - PINOperationQueuePriorityDefault - - PINOperationQueue.h - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityHigh - - PINOperationQueuePriorityHigh - - PINOperationQueue.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx deleted file mode 100644 index cf3289f0..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm deleted file mode 100644 index c6022c76..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal deleted file mode 100644 index 4f824904..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom deleted file mode 100644 index 0503cfdd..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx deleted file mode 100644 index 99e1cd2b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc deleted file mode 100644 index 2088a3ff..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache deleted file mode 100644 index 5118133e..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html deleted file mode 100644 index 810f085f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -

PINOperationQueuePriority

- -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINOperationQueuePriority ) {
- -    PINOperationQueuePriorityLow,
- -    PINOperationQueuePriorityDefault,
- -    PINOperationQueuePriorityHigh,
- - };
- -
- -
-

Constants

-
- -
PINOperationQueuePriorityLow
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityDefault
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityHigh
-
- - -

- PINOperationQueue.h. -

- -
- -
-
- - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html deleted file mode 100644 index 9bd0aa1f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/index.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/index.html deleted file mode 100644 index fbc5d19d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/index.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/js/script.js b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/docs/html/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/makefile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/makefile deleted file mode 100644 index 6cce01cc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/makefile +++ /dev/null @@ -1,27 +0,0 @@ -PLATFORM="platform=iOS Simulator,name=iPhone 7" -SDK="iphonesimulator" -SHELL=/bin/bash -o pipefail - -.PHONY: all lint test analyze carthage - -carthage: - carthage build --no-skip-current - -lint: - pod lib lint - -analyze: - xcodebuild clean analyze -destination ${PLATFORM} -sdk ${SDK} -project PINOperation.xcodeproj -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(shell pwd)/clang" | xcpretty - if [[ -n `find $(shell pwd)/clang -name "*.html"` ]] ; then rm -rf `pwd`/clang; exit 1; fi - rm -rf $(shell pwd)/clang - -test: - xcodebuild clean test -destination ${PLATFORM} -sdk ${SDK} -project PINOperation.xcodeproj -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO | xcpretty - -all: carthage lint test analyze \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/run_tests_update_status.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/run_tests_update_status.sh deleted file mode 100755 index 5d7e4bd6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/run_tests_update_status.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash -set -eo pipefail - -UPDATE_STATUS_PATH=$1 -BUILDKITE_PULL_REQUEST=$2 -BUILDKITE_BUILD_URL=$3 - -function updateStatus() { - if [ "${BUILDKITE_PULL_REQUEST}" != "false" ] ; then - ${UPDATE_STATUS_PATH} "pinterest" "PINOperation" ${BUILDKITE_PULL_REQUEST} "$1" ${BUILDKITE_BUILD_URL} "$2" "CI/Pinterest" - fi -} - -if [[ -z "${UPDATE_STATUS_PATH}" || -z "${BUILDKITE_PULL_REQUEST}" || -z "${BUILDKITE_BUILD_URL}" ]] ; then - echo "Update status path (${UPDATE_STATUS_PATH}), pull request (${BUILDKITE_BUILD_URL}) or build url (${BUILDKITE_PULL_REQUEST}) unset." - trap - EXIT - exit 255 -fi - -trapped="false" -function trap_handler() { - if [[ "$trapped" = "false" ]]; then - updateStatus failure "Tests failed…" - echo "Tests failed, updated status to failure" - fi - trapped="true" -} -trap trap_handler INT TERM EXIT - -updateStatus pending "Starting build…" - -make all - -updateStatus success "Tests passed" - -echo "All tests succeeded, updated status to success" -trap - EXIT -exit 0 \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Dangerfile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Dangerfile deleted file mode 100644 index d909431b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Dangerfile +++ /dev/null @@ -1,23 +0,0 @@ -source_pattern = /(\.m|\.mm|\.h)$/ - -# Sometimes it's a README fix, or something like that - which isn't relevant for -# including in a project's CHANGELOG for example -declared_trivial = github.pr_title.include? "#trivial" -has_changes_in_source_directory = !git.modified_files.grep(/Source/).empty? - -modified_source_files = git.modified_files.grep(source_pattern) -has_modified_source_files = !modified_source_files.empty? -added_source_files = git.added_files.grep(source_pattern) -has_added_source_files = !added_source_files.empty? - -# Make it more obvious that a PR is a work in progress and shouldn't be merged yet -warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]" - -# Warn when there is a big PR -warn("This is a big PR, please consider splitting it up to ease code review.") if git.lines_of_code > 500 - -# Changelog entries are required for changes to source files. -no_changelog_entry = !git.modified_files.include?("CHANGELOG.md") -if has_changes_in_source_directory && no_changelog_entry && !declared_trivial - warn("Any source code changes should have an entry in CHANGELOG.md or have #trivial in their title.") -end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Gemfile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Gemfile deleted file mode 100644 index 38bfbc8e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -gem 'danger' -gem 'danger-slack' \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/LICENSE.txt b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/LICENSE.txt deleted file mode 100644 index 3af296ea..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/LICENSE.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [2013] [Tumblr, Inc.] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Makefile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Makefile deleted file mode 100644 index 30b505cd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -PLATFORM="platform=iOS Simulator,name=iPhone 8" -SDK="iphonesimulator" -SHELL=/bin/bash -o pipefail - -.PHONY: all lint test carthage analyze - -lint: - pod lib lint - -analyze: - xcodebuild clean analyze -destination ${PLATFORM} -sdk ${SDK} -project PINCache.xcodeproj -scheme PINCache \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(shell pwd)/clang" | xcpretty - if [[ -n `find $(shell pwd)/clang -name "*.html"` ]] ; then rm -rf `pwd`/clang; exit 1; fi - rm -rf $(shell pwd)/clang - -test: - xcodebuild clean test -destination ${PLATFORM} -sdk ${SDK} -project PINCache.xcodeproj -scheme PINCache \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO | xcpretty - -carthage: - carthage update --no-use-binaries --no-build - carthage build --no-skip-current - -all: carthage lint test analyze diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.podspec b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.podspec deleted file mode 100644 index e1dc9cfb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.podspec +++ /dev/null @@ -1,32 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'PINCache' - s.version = '3.0.1' - s.homepage = 'https://github.com/pinterest/PINCache' - s.summary = 'Fast, thread safe, parallel object cache for iOS and OS X.' - s.authors = { 'Garrett Moon' => 'garrett@pinterest.com', 'Justin Ouellette' => 'jstn@tumblr.com' } - s.source = { :git => 'https://github.com/pinterest/PINCache.git', :tag => "#{s.version}" } - s.license = { :type => 'Apache 2.0', :file => 'LICENSE.txt' } - s.requires_arc = true - s.frameworks = 'Foundation' - s.ios.weak_frameworks = 'UIKit' - s.osx.weak_frameworks = 'AppKit' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.8' - s.tvos.deployment_target = '9.0' - s.watchos.deployment_target = '2.0' - pch_PIN = <<-EOS -#ifndef TARGET_OS_WATCH - #define TARGET_OS_WATCH 0 -#endif -EOS - s.prefix_header_contents = pch_PIN - s.subspec 'Core' do |sp| - sp.source_files = 'Source/*.{h,m}' - sp.dependency 'PINOperation', '~> 1.2.0' - end - s.subspec 'Arc-exception-safe' do |sp| - sp.dependency 'PINCache/Core' - sp.source_files = 'Source/PINDiskCache.m' - sp.compiler_flags = '-fobjc-arc-exceptions' - end -end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/project.pbxproj deleted file mode 100644 index e4d3d687..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1322 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 320117C524444E3C004FD783 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 320117C624444E3D004FD783 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106051E271A9000890935 /* PINCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 320117C724444E3D004FD783 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106061E271A9000890935 /* PINCache.m */; }; - 320117C824444E3D004FD783 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 320117C924444E3D004FD783 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106081E271A9000890935 /* PINDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 320117CA24444E3D004FD783 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106091E271A9000890935 /* PINDiskCache.m */; }; - 320117CB24444E3D004FD783 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC01060A1E271A9000890935 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 320117CC24444E3D004FD783 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060B1E271A9000890935 /* PINMemoryCache.m */; }; - 320117CD24444E3D004FD783 /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6818C1491E55020400875DB7 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC0105CE1E271A4900890935 /* PINCache.framework */; }; - 6818C2881E55217D00875DB7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6818C2871E55217D00875DB7 /* PINOperation.framework */; }; - 6818C28A1E55218400875DB7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6818C2891E55218400875DB7 /* PINOperation.framework */; }; - 6818C28C1E55218A00875DB7 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6818C28B1E55218A00875DB7 /* PINOperation.framework */; }; - 687BB0AA1E52706B005D70C6 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; - 68A0FC001E4D32C4000B552D /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68A0FC011E4D32C6000B552D /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68A0FC021E4D32C7000B552D /* PINCacheMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6928EED31E4160EE00B5D975 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6928EED41E4160FE00B5D975 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6928EED51E41610700B5D975 /* PINCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 6928EED21E4160EE00B5D975 /* PINCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C30EE1F520373D1900D78CB9 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; - C30EE1F620373D1A00D78CB9 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; - C30EE1F720373D1B00D78CB9 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */; }; - C38F01AA20A32E0200F47F0E /* PINDiskCache+PINCacheTests.h in Headers */ = {isa = PBXBuildFile; fileRef = C38F01A820A32E0200F47F0E /* PINDiskCache+PINCacheTests.h */; }; - C38F01AB20A32E0200F47F0E /* PINDiskCache+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */; }; - CC0105DF1E271A5C00890935 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC0105B11E271A1600890935 /* PINCache.framework */; }; - CC0105EE1E271A6400890935 /* PINCache.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC0105C11E271A4000890935 /* PINCache.framework */; }; - CC01060E1E271A9500890935 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106061E271A9000890935 /* PINCache.m */; }; - CC01060F1E271A9500890935 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106091E271A9000890935 /* PINDiskCache.m */; }; - CC0106101E271A9500890935 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060B1E271A9000890935 /* PINMemoryCache.m */; }; - CC0106111E271A9600890935 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106061E271A9000890935 /* PINCache.m */; }; - CC0106121E271A9600890935 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106091E271A9000890935 /* PINDiskCache.m */; }; - CC0106131E271A9600890935 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060B1E271A9000890935 /* PINMemoryCache.m */; }; - CC0106141E271A9700890935 /* PINCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106061E271A9000890935 /* PINCache.m */; }; - CC0106151E271A9700890935 /* PINDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0106091E271A9000890935 /* PINDiskCache.m */; }; - CC0106161E271A9700890935 /* PINMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060B1E271A9000890935 /* PINMemoryCache.m */; }; - CC0106171E271AAF00890935 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106051E271A9000890935 /* PINCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106181E271AAF00890935 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106191E271AAF00890935 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106081E271A9000890935 /* PINDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061A1E271AAF00890935 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC01060A1E271A9000890935 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061B1E271AB000890935 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106051E271A9000890935 /* PINCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061C1E271AB000890935 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061D1E271AB000890935 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106081E271A9000890935 /* PINDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061E1E271AB000890935 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC01060A1E271A9000890935 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01061F1E271AB000890935 /* PINCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106051E271A9000890935 /* PINCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106201E271AB000890935 /* PINCacheObjectSubscripting.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106211E271AB000890935 /* PINDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0106081E271A9000890935 /* PINDiskCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106221E271AB000890935 /* PINMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = CC01060A1E271A9000890935 /* PINMemoryCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0106C61E28226900890935 /* PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060D1E271A9000890935 /* PINCacheTests.m */; }; - CC0106C71E28226A00890935 /* PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060D1E271A9000890935 /* PINCacheTests.m */; }; - CC0106C81E28226A00890935 /* PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01060D1E271A9000890935 /* PINCacheTests.m */; }; - CC0106CD1E28249C00890935 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; - CC0106CE1E28249D00890935 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CC0106CA1E28248800890935 /* Default-568h@2x.png */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 320117AC24444DF7004FD783 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3201178C24444859004FD783; - remoteInfo = "PINOperation-watchOS"; - }; - 320117B424444E23004FD783 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 3201178B24444859004FD783; - remoteInfo = "PINOperation-watchOS"; - }; - 6818C2991E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC01052D1E27110D00890935; - remoteInfo = PINOperation; - }; - 6818C29B1E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105561E27116600890935; - remoteInfo = PINOperationTests; - }; - 6818C29D1E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC01053D1E27113700890935; - remoteInfo = "PINOperation-tvOS"; - }; - 6818C29F1E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105651E27117300890935; - remoteInfo = "PINOperation-tvOSTests"; - }; - 6818C2A11E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC01054A1E27114300890935; - remoteInfo = "PINOperation-macOS"; - }; - 6818C2A31E564C1100875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105741E27117F00890935; - remoteInfo = "PINOperation-macOSTests"; - }; - 6818C2A51E564C2000875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = CC01052C1E27110D00890935; - remoteInfo = PINOperation; - }; - 6818C2A71E564C2A00875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = CC01053C1E27113700890935; - remoteInfo = "PINOperation-tvOS"; - }; - 6818C2A91E564C2F00875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = CC0105491E27114300890935; - remoteInfo = "PINOperation-macOS"; - }; - CC0105E01E271A5C00890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105A81E271A1600890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC0105B01E271A1600890935; - remoteInfo = PINCache; - }; - CC0105EF1E271A6400890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105A81E271A1600890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC0105C01E271A4000890935; - remoteInfo = "PINCache-tvOS"; - }; - CC0105FE1E271A7300890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105A81E271A1600890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC0105CD1E271A4900890935; - remoteInfo = "PINCache-macOS"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 687BB55C1E52818B005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 687BB55E1E52819D005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 687BB5601E52881A005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 320117A124444DF7004FD783 /* PINCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6818C2871E55217D00875DB7 /* PINOperation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PINOperation.framework; path = "../../Library/Developer/Xcode/DerivedData/PINCache-cxjnintatqynfgceozwzgezmeypl/Build/Products/Debug-iphonesimulator/PINOperation.framework"; sourceTree = ""; }; - 6818C2891E55218400875DB7 /* PINOperation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PINOperation.framework; path = "../../Library/Developer/Xcode/DerivedData/PINCache-cxjnintatqynfgceozwzgezmeypl/Build/Products/Debug-appletvsimulator/PINOperation.framework"; sourceTree = ""; }; - 6818C28B1E55218A00875DB7 /* PINOperation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PINOperation.framework; path = Carthage/Checkouts/PINOperation/build/Debug/PINOperation.framework; sourceTree = ""; }; - 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = PINOperation.xcodeproj; path = Carthage/Checkouts/PINOperation/PINOperation.xcodeproj; sourceTree = ""; }; - 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCacheMacros.h; sourceTree = ""; }; - 6928EED21E4160EE00B5D975 /* PINCaching.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINCaching.h; sourceTree = ""; }; - C30EE1E9203717DE00D78CB9 /* NSDate+PINCacheTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSDate+PINCacheTests.h"; sourceTree = ""; }; - C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSDate+PINCacheTests.m"; sourceTree = ""; }; - C38F01A820A32E0200F47F0E /* PINDiskCache+PINCacheTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PINDiskCache+PINCacheTests.h"; sourceTree = ""; }; - C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "PINDiskCache+PINCacheTests.m"; sourceTree = ""; }; - CC0105B11E271A1600890935 /* PINCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105C11E271A4000890935 /* PINCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105CE1E271A4900890935 /* PINCache.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINCache.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105DA1E271A5C00890935 /* PINCacheTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PINCacheTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105E91E271A6400890935 /* PINCache-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINCache-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105F81E271A7300890935 /* PINCache-macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINCache-macOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0106051E271A9000890935 /* PINCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCache.h; sourceTree = ""; }; - CC0106061E271A9000890935 /* PINCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINCache.m; sourceTree = ""; }; - CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCacheObjectSubscripting.h; sourceTree = ""; }; - CC0106081E271A9000890935 /* PINDiskCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINDiskCache.h; sourceTree = ""; }; - CC0106091E271A9000890935 /* PINDiskCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINDiskCache.m; sourceTree = ""; }; - CC01060A1E271A9000890935 /* PINMemoryCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINMemoryCache.h; sourceTree = ""; }; - CC01060B1E271A9000890935 /* PINMemoryCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINMemoryCache.m; sourceTree = ""; }; - CC01060D1E271A9000890935 /* PINCacheTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINCacheTests.m; sourceTree = ""; }; - CC0106441E281B0E00890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CC0106C51E281D6900890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CC0106C91E28228300890935 /* PINCacheTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCacheTests.h; sourceTree = ""; }; - CC0106CA1E28248800890935 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 3201179E24444DF7004FD783 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105AD1E271A1600890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105BD1E271A4000890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105CA1E271A4900890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105D71E271A5C00890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6818C2881E55217D00875DB7 /* PINOperation.framework in Frameworks */, - CC0105DF1E271A5C00890935 /* PINCache.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105E61E271A6400890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6818C28A1E55218400875DB7 /* PINOperation.framework in Frameworks */, - CC0105EE1E271A6400890935 /* PINCache.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105F51E271A7300890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6818C28C1E55218A00875DB7 /* PINOperation.framework in Frameworks */, - 6818C1491E55020400875DB7 /* PINCache.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 6818C2861E55217D00875DB7 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 6818C28B1E55218A00875DB7 /* PINOperation.framework */, - 6818C2891E55218400875DB7 /* PINOperation.framework */, - 6818C2871E55217D00875DB7 /* PINOperation.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 6818C2911E564C1100875DB7 /* Products */ = { - isa = PBXGroup; - children = ( - 6818C29A1E564C1100875DB7 /* PINOperation.framework */, - 6818C29C1E564C1100875DB7 /* PINOperationTests.xctest */, - 6818C29E1E564C1100875DB7 /* PINOperation.framework */, - 6818C2A01E564C1100875DB7 /* PINOperation-tvOSTests.xctest */, - 6818C2A21E564C1100875DB7 /* PINOperation.framework */, - 6818C2A41E564C1100875DB7 /* PINOperation-macOSTests.xctest */, - 320117AD24444DF7004FD783 /* PINOperation.framework */, - ); - name = Products; - sourceTree = ""; - }; - CC0105A71E271A1600890935 = { - isa = PBXGroup; - children = ( - 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */, - CC0106031E271A9000890935 /* Source */, - CC01060C1E271A9000890935 /* Tests */, - CC0105B21E271A1600890935 /* Products */, - 6818C2861E55217D00875DB7 /* Frameworks */, - ); - sourceTree = ""; - }; - CC0105B21E271A1600890935 /* Products */ = { - isa = PBXGroup; - children = ( - CC0105B11E271A1600890935 /* PINCache.framework */, - CC0105C11E271A4000890935 /* PINCache.framework */, - CC0105CE1E271A4900890935 /* PINCache.framework */, - CC0105DA1E271A5C00890935 /* PINCacheTests.xctest */, - CC0105E91E271A6400890935 /* PINCache-tvOSTests.xctest */, - CC0105F81E271A7300890935 /* PINCache-macOSTests.xctest */, - 320117A124444DF7004FD783 /* PINCache.framework */, - ); - name = Products; - sourceTree = ""; - }; - CC0106031E271A9000890935 /* Source */ = { - isa = PBXGroup; - children = ( - CC0106441E281B0E00890935 /* Info.plist */, - 6928EED21E4160EE00B5D975 /* PINCaching.h */, - CC0106051E271A9000890935 /* PINCache.h */, - CC0106061E271A9000890935 /* PINCache.m */, - CC0106071E271A9000890935 /* PINCacheObjectSubscripting.h */, - CC0106081E271A9000890935 /* PINDiskCache.h */, - CC0106091E271A9000890935 /* PINDiskCache.m */, - CC01060A1E271A9000890935 /* PINMemoryCache.h */, - CC01060B1E271A9000890935 /* PINMemoryCache.m */, - 68A0FBFF1E4D3282000B552D /* PINCacheMacros.h */, - ); - path = Source; - sourceTree = ""; - }; - CC01060C1E271A9000890935 /* Tests */ = { - isa = PBXGroup; - children = ( - CC0106CB1E28248A00890935 /* Assets */, - CC0106C51E281D6900890935 /* Info.plist */, - C30EE1E9203717DE00D78CB9 /* NSDate+PINCacheTests.h */, - C30EE1EA203717DE00D78CB9 /* NSDate+PINCacheTests.m */, - CC0106C91E28228300890935 /* PINCacheTests.h */, - CC01060D1E271A9000890935 /* PINCacheTests.m */, - C38F01A820A32E0200F47F0E /* PINDiskCache+PINCacheTests.h */, - C38F01A920A32E0200F47F0E /* PINDiskCache+PINCacheTests.m */, - ); - path = Tests; - sourceTree = ""; - }; - CC0106CB1E28248A00890935 /* Assets */ = { - isa = PBXGroup; - children = ( - CC0106CA1E28248800890935 /* Default-568h@2x.png */, - ); - name = Assets; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 3201179C24444DF7004FD783 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 320117CB24444E3D004FD783 /* PINMemoryCache.h in Headers */, - 320117C624444E3D004FD783 /* PINCache.h in Headers */, - 320117C824444E3D004FD783 /* PINCacheObjectSubscripting.h in Headers */, - 320117CD24444E3D004FD783 /* PINCacheMacros.h in Headers */, - 320117C924444E3D004FD783 /* PINDiskCache.h in Headers */, - 320117C524444E3C004FD783 /* PINCaching.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105AE1E271A1600890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 6928EED31E4160EE00B5D975 /* PINCaching.h in Headers */, - CC0106171E271AAF00890935 /* PINCache.h in Headers */, - 68A0FC001E4D32C4000B552D /* PINCacheMacros.h in Headers */, - CC0106181E271AAF00890935 /* PINCacheObjectSubscripting.h in Headers */, - CC01061A1E271AAF00890935 /* PINMemoryCache.h in Headers */, - C38F01AA20A32E0200F47F0E /* PINDiskCache+PINCacheTests.h in Headers */, - CC0106191E271AAF00890935 /* PINDiskCache.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105BE1E271A4000890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 6928EED41E4160FE00B5D975 /* PINCaching.h in Headers */, - CC01061B1E271AB000890935 /* PINCache.h in Headers */, - 68A0FC011E4D32C6000B552D /* PINCacheMacros.h in Headers */, - CC01061C1E271AB000890935 /* PINCacheObjectSubscripting.h in Headers */, - CC01061E1E271AB000890935 /* PINMemoryCache.h in Headers */, - CC01061D1E271AB000890935 /* PINDiskCache.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105CB1E271A4900890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 6928EED51E41610700B5D975 /* PINCaching.h in Headers */, - CC01061F1E271AB000890935 /* PINCache.h in Headers */, - 68A0FC021E4D32C7000B552D /* PINCacheMacros.h in Headers */, - CC0106201E271AB000890935 /* PINCacheObjectSubscripting.h in Headers */, - CC0106221E271AB000890935 /* PINMemoryCache.h in Headers */, - CC0106211E271AB000890935 /* PINDiskCache.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 320117A024444DF7004FD783 /* PINCache-watchOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 320117AE24444DF7004FD783 /* Build configuration list for PBXNativeTarget "PINCache-watchOS" */; - buildPhases = ( - 3201179D24444DF7004FD783 /* Sources */, - 3201179E24444DF7004FD783 /* Frameworks */, - 3201179C24444DF7004FD783 /* Headers */, - 3201179F24444DF7004FD783 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 320117B524444E23004FD783 /* PBXTargetDependency */, - ); - name = "PINCache-watchOS"; - productName = "PINCache-watchOS"; - productReference = 320117A124444DF7004FD783 /* PINCache.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105B01E271A1600890935 /* PINCache */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105B91E271A1600890935 /* Build configuration list for PBXNativeTarget "PINCache" */; - buildPhases = ( - CC0105AC1E271A1600890935 /* Sources */, - CC0105AD1E271A1600890935 /* Frameworks */, - CC0105AE1E271A1600890935 /* Headers */, - CC0105AF1E271A1600890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 6818C2A61E564C2000875DB7 /* PBXTargetDependency */, - ); - name = PINCache; - productName = PINCache; - productReference = CC0105B11E271A1600890935 /* PINCache.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105C01E271A4000890935 /* PINCache-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105C61E271A4000890935 /* Build configuration list for PBXNativeTarget "PINCache-tvOS" */; - buildPhases = ( - CC0105BC1E271A4000890935 /* Sources */, - CC0105BD1E271A4000890935 /* Frameworks */, - CC0105BE1E271A4000890935 /* Headers */, - CC0105BF1E271A4000890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 6818C2A81E564C2A00875DB7 /* PBXTargetDependency */, - ); - name = "PINCache-tvOS"; - productName = "PINCache-tvOS"; - productReference = CC0105C11E271A4000890935 /* PINCache.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105CD1E271A4900890935 /* PINCache-macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105D31E271A4900890935 /* Build configuration list for PBXNativeTarget "PINCache-macOS" */; - buildPhases = ( - CC0105C91E271A4900890935 /* Sources */, - CC0105CA1E271A4900890935 /* Frameworks */, - CC0105CB1E271A4900890935 /* Headers */, - CC0105CC1E271A4900890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 6818C2AA1E564C2F00875DB7 /* PBXTargetDependency */, - ); - name = "PINCache-macOS"; - productName = "PINCache-macOS"; - productReference = CC0105CE1E271A4900890935 /* PINCache.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105D91E271A5C00890935 /* PINCacheTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105E21E271A5C00890935 /* Build configuration list for PBXNativeTarget "PINCacheTests" */; - buildPhases = ( - CC0105D61E271A5C00890935 /* Sources */, - CC0105D71E271A5C00890935 /* Frameworks */, - CC0105D81E271A5C00890935 /* Resources */, - 687BB5601E52881A005D70C6 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - CC0105E11E271A5C00890935 /* PBXTargetDependency */, - ); - name = PINCacheTests; - productName = PINCacheTests; - productReference = CC0105DA1E271A5C00890935 /* PINCacheTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105E81E271A6400890935 /* PINCache-tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105F11E271A6400890935 /* Build configuration list for PBXNativeTarget "PINCache-tvOSTests" */; - buildPhases = ( - CC0105E51E271A6400890935 /* Sources */, - CC0105E61E271A6400890935 /* Frameworks */, - CC0105E71E271A6400890935 /* Resources */, - 687BB55C1E52818B005D70C6 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - CC0105F01E271A6400890935 /* PBXTargetDependency */, - ); - name = "PINCache-tvOSTests"; - productName = "PINCache-tvOSTests"; - productReference = CC0105E91E271A6400890935 /* PINCache-tvOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105F71E271A7300890935 /* PINCache-macOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0106001E271A7300890935 /* Build configuration list for PBXNativeTarget "PINCache-macOSTests" */; - buildPhases = ( - CC0105F41E271A7300890935 /* Sources */, - CC0105F51E271A7300890935 /* Frameworks */, - CC0105F61E271A7300890935 /* Resources */, - 687BB55E1E52819D005D70C6 /* CopyFiles */, - ); - buildRules = ( - ); - dependencies = ( - CC0105FF1E271A7300890935 /* PBXTargetDependency */, - ); - name = "PINCache-macOSTests"; - productName = "PINCache-macOSTests"; - productReference = CC0105F81E271A7300890935 /* PINCache-macOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - CC0105A81E271A1600890935 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0930; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 320117A024444DF7004FD783 = { - CreatedOnToolsVersion = 11.4; - ProvisioningStyle = Automatic; - }; - CC0105B01E271A1600890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105C01E271A4000890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105CD1E271A4900890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105D91E271A5C00890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105E81E271A6400890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105F71E271A7300890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = CC0105AB1E271A1600890935 /* Build configuration list for PBXProject "PINCache" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - ); - mainGroup = CC0105A71E271A1600890935; - productRefGroup = CC0105B21E271A1600890935 /* Products */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 6818C2911E564C1100875DB7 /* Products */; - ProjectRef = 6818C2901E564C1100875DB7 /* PINOperation.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - CC0105B01E271A1600890935 /* PINCache */, - CC0105D91E271A5C00890935 /* PINCacheTests */, - CC0105C01E271A4000890935 /* PINCache-tvOS */, - CC0105E81E271A6400890935 /* PINCache-tvOSTests */, - CC0105CD1E271A4900890935 /* PINCache-macOS */, - CC0105F71E271A7300890935 /* PINCache-macOSTests */, - 320117A024444DF7004FD783 /* PINCache-watchOS */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - 320117AD24444DF7004FD783 /* PINOperation.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINOperation.framework; - remoteRef = 320117AC24444DF7004FD783 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C29A1E564C1100875DB7 /* PINOperation.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINOperation.framework; - remoteRef = 6818C2991E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C29C1E564C1100875DB7 /* PINOperationTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = PINOperationTests.xctest; - remoteRef = 6818C29B1E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C29E1E564C1100875DB7 /* PINOperation.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINOperation.framework; - remoteRef = 6818C29D1E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2A01E564C1100875DB7 /* PINOperation-tvOSTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "PINOperation-tvOSTests.xctest"; - remoteRef = 6818C29F1E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2A21E564C1100875DB7 /* PINOperation.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINOperation.framework; - remoteRef = 6818C2A11E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2A41E564C1100875DB7 /* PINOperation-macOSTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "PINOperation-macOSTests.xctest"; - remoteRef = 6818C2A31E564C1100875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 3201179F24444DF7004FD783 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105AF1E271A1600890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105BF1E271A4000890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105CC1E271A4900890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105D81E271A5C00890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 687BB0AA1E52706B005D70C6 /* Default-568h@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105E71E271A6400890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106CD1E28249C00890935 /* Default-568h@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105F61E271A7300890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106CE1E28249D00890935 /* Default-568h@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 3201179D24444DF7004FD783 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 320117C724444E3D004FD783 /* PINCache.m in Sources */, - 320117CC24444E3D004FD783 /* PINMemoryCache.m in Sources */, - 320117CA24444E3D004FD783 /* PINDiskCache.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105AC1E271A1600890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01060E1E271A9500890935 /* PINCache.m in Sources */, - CC0106101E271A9500890935 /* PINMemoryCache.m in Sources */, - C38F01AB20A32E0200F47F0E /* PINDiskCache+PINCacheTests.m in Sources */, - CC01060F1E271A9500890935 /* PINDiskCache.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105BC1E271A4000890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106111E271A9600890935 /* PINCache.m in Sources */, - CC0106131E271A9600890935 /* PINMemoryCache.m in Sources */, - CC0106121E271A9600890935 /* PINDiskCache.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105C91E271A4900890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106141E271A9700890935 /* PINCache.m in Sources */, - CC0106161E271A9700890935 /* PINMemoryCache.m in Sources */, - CC0106151E271A9700890935 /* PINDiskCache.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105D61E271A5C00890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106C61E28226900890935 /* PINCacheTests.m in Sources */, - C30EE1F520373D1900D78CB9 /* NSDate+PINCacheTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105E51E271A6400890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106C71E28226A00890935 /* PINCacheTests.m in Sources */, - C30EE1F620373D1A00D78CB9 /* NSDate+PINCacheTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105F41E271A7300890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0106C81E28226A00890935 /* PINCacheTests.m in Sources */, - C30EE1F720373D1B00D78CB9 /* NSDate+PINCacheTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 320117B524444E23004FD783 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "PINOperation-watchOS"; - targetProxy = 320117B424444E23004FD783 /* PBXContainerItemProxy */; - }; - 6818C2A61E564C2000875DB7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = PINOperation; - targetProxy = 6818C2A51E564C2000875DB7 /* PBXContainerItemProxy */; - }; - 6818C2A81E564C2A00875DB7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "PINOperation-tvOS"; - targetProxy = 6818C2A71E564C2A00875DB7 /* PBXContainerItemProxy */; - }; - 6818C2AA1E564C2F00875DB7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "PINOperation-macOS"; - targetProxy = 6818C2A91E564C2F00875DB7 /* PBXContainerItemProxy */; - }; - CC0105E11E271A5C00890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC0105B01E271A1600890935 /* PINCache */; - targetProxy = CC0105E01E271A5C00890935 /* PBXContainerItemProxy */; - }; - CC0105F01E271A6400890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC0105C01E271A4000890935 /* PINCache-tvOS */; - targetProxy = CC0105EF1E271A6400890935 /* PBXContainerItemProxy */; - }; - CC0105FF1E271A7300890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC0105CD1E271A4900890935 /* PINCache-macOS */; - targetProxy = CC0105FE1E271A7300890935 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 320117A624444DF7004FD783 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Debug; - }; - 320117A724444DF7004FD783 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Release; - }; - CC0105B71E271A1600890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.7; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - CC0105B81E271A1600890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.7; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - CC0105BA1E271A1600890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = YES; - }; - name = Debug; - }; - CC0105BB1E271A1600890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = YES; - }; - name = Release; - }; - CC0105C71E271A4000890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - CC0105C81E271A4000890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Release; - }; - CC0105D41E271A4900890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CC0105D51E271A4900890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCache; - PRODUCT_NAME = PINCache; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CC0105E31E271A5C00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCacheTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - CC0105E41E271A5C00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINCacheTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - CC0105F21E271A6400890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINCache-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - CC0105F31E271A6400890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINCache-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - CC0106011E271A7300890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Checkouts/PINOperation/build/Debug", - ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINCache-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Debug; - }; - CC0106021E271A7300890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Checkouts/PINOperation/build/Debug", - ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINCache-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 320117AE24444DF7004FD783 /* Build configuration list for PBXNativeTarget "PINCache-watchOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 320117A624444DF7004FD783 /* Debug */, - 320117A724444DF7004FD783 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105AB1E271A1600890935 /* Build configuration list for PBXProject "PINCache" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105B71E271A1600890935 /* Debug */, - CC0105B81E271A1600890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105B91E271A1600890935 /* Build configuration list for PBXNativeTarget "PINCache" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105BA1E271A1600890935 /* Debug */, - CC0105BB1E271A1600890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105C61E271A4000890935 /* Build configuration list for PBXNativeTarget "PINCache-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105C71E271A4000890935 /* Debug */, - CC0105C81E271A4000890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105D31E271A4900890935 /* Build configuration list for PBXNativeTarget "PINCache-macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105D41E271A4900890935 /* Debug */, - CC0105D51E271A4900890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105E21E271A5C00890935 /* Build configuration list for PBXNativeTarget "PINCacheTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105E31E271A5C00890935 /* Debug */, - CC0105E41E271A5C00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105F11E271A6400890935 /* Build configuration list for PBXNativeTarget "PINCache-tvOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105F21E271A6400890935 /* Debug */, - CC0105F31E271A6400890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0106001E271A7300890935 /* Build configuration list for PBXNativeTarget "PINCache-macOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0106011E271A7300890935 /* Debug */, - CC0106021E271A7300890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = CC0105A81E271A1600890935 /* Project object */; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-macOS.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-macOS.xcscheme deleted file mode 100644 index 4dfc852e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-macOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-tvOS.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-tvOS.xcscheme deleted file mode 100644 index 97182174..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-tvOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-watchOS.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-watchOS.xcscheme deleted file mode 100644 index 9b9c8426..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache-watchOS.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache.xcscheme deleted file mode 100644 index 859e24de..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/PINCache.xcodeproj/xcshareddata/xcschemes/PINCache.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/README.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/README.md deleted file mode 100644 index aa81564a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/README.md +++ /dev/null @@ -1,98 +0,0 @@ -# PINCache - -[![CocoaPods](https://img.shields.io/cocoapods/v/PINCache.svg)](http://cocoadocs.org/docsets/PINCache/) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Build status](https://github.com/pinterest/PINCache/workflows/CI/badge.svg)](https://github.com/pinterest/PINCache/actions?query=workflow%3ACI+branch%3Amaster) - -## Fast, non-deadlocking parallel object cache for iOS and OS X. - -[PINCache](Source/PINCache.h) is a fork of [TMCache](https://github.com/tumblr/TMCache) re-architected to fix issues with deadlocking caused by heavy use. It is a key/value store designed for persisting temporary objects that are expensive to reproduce, such as downloaded data or the results of slow processing. It is comprised of two self-similar stores, one in memory ([PINMemoryCache](Source/PINMemoryCache.h)) and one on disk ([PINDiskCache](Source/PINDiskCache.h)), all backed by GCD and safe to access from multiple threads simultaneously. On iOS, `PINMemoryCache` will clear itself when the app receives a memory warning or goes into the background. Objects stored in `PINDiskCache` remain until you trim the cache yourself, either manually or by setting a byte or age limit. - -`PINCache` and `PINDiskCache` accept any object conforming to [NSCoding](https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSCoding_Protocol/Reference/Reference.html). Put things in like this: - -**Objective-C** -```objective-c -UIImage *img = [[UIImage alloc] initWithData:data scale:[[UIScreen mainScreen] scale]]; -[[PINCache sharedCache] setObject:img forKey:@"image" block:nil]; // returns immediately -``` -**Swift** -```swift -let img = UIImage(data: data, scale:UIScreen.main.scale) -PINCache.shared().setObject(img, forKey: "img") -``` - -Get them back out like this: - -**Objective-C** -```objc -[[PINCache sharedCache] objectForKeyAsync:@"image" block:^(PINCache *cache, NSString *key, id object) { - UIImage *image = (UIImage *)object; - NSLog(@"image scale: %f", image.scale); -}]; -``` -**Swift** -```swift -PINCache.shared().object(forKey: "image") { (cache, key, object) in - if let image = object as? UIImage { - print("image scale: %f", image.scale) - } -} -``` - -Both `PINMemoryCache` and `PINDiskCache` use locks to protect reads and writes. `PINCache` coordinates them so that objects added to memory are available immediately to other threads while being written to disk safely in the background. Both caches are public properties of `PINCache`, so it's easy to manipulate one or the other separately if necessary. - -Collections work too. Thanks to the magic of `NSKeyedArchiver`, objects repeated in a collection only occupy the space of one on disk: - -**Objective-C** -```objective-c -NSArray *images = @[ image, image, image ]; -[[PINCache sharedCache] setObject:images forKey:@"images"]; -NSLog(@"3 for the price of 1: %d", [[[PINCache sharedCache] diskCache] byteCount]); -``` -**Swift** -```swift -// In Swift, Array, String, and Dictionary are all value types. -let images = [image, image, image] as NSArray // Cast to NSArray -PINCache.shared.setObject(images, forKey: "images") -print("3 for the prices of 1: %d", PINCache.shared.diskCache.byteCount) -``` - -## Installation - -### Manually - -[Download the latest tag](https://github.com/pinterest/PINCache/tags) and drag the `PINCache` folder into your Xcode project. - -Install the docs by double clicking the `.docset` file under `docs/`, or view them online at [cocoadocs.org](http://cocoadocs.org/docsets/PINCache/) - -### Git Submodule - - git submodule add https://github.com/pinterest/PINCache.git - git submodule update --init - -### CocoaPods - -Add [PINCache](http://cocoapods.org/?q=name%3APINCache) to your `Podfile` and run `pod install`. - -### Carthage - -Add the following line to your `Cartfile` and run `carthage update --platform ios`. Then follow [this instruction of Carthage](https://github.com/carthage/carthage#adding-frameworks-to-unit-tests-or-a-framework) to embed the framework. - -```github "pinterest/PINCache"``` - -## Requirements - -__PINCache__ requires iOS 8.0, tvOS 9.0, watchOS 2.0 or macOS 10.8 and greater. - -## Contact - -[Garrett Moon](mailto:garrett@pinterest.com) - -## License - -Copyright 2013 Tumblr, Inc. -Copyright 2015 Pinterest, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. [See the License](LICENSE.txt) for the specific language governing permissions and limitations under the License. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/RELEASE.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/RELEASE.md deleted file mode 100644 index 6e86b11c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/RELEASE.md +++ /dev/null @@ -1,13 +0,0 @@ -# Release Process -This document describes the process for a public PINCache release. - -### Preparation -- Install [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator): `sudo gem install github_changelog_generator` -- Generate a GitHub Personal Access Token to prevent running into public GitHub API rate limits: https://github.com/github-changelog-generator/github-changelog-generator#github-token - -### Process -- Run `github_changelog_generator` in PINCache project directory: `github_changelog_generator --token --user Pinterest --project PINCache`. To avoid hitting rate limit, the generator will replace the entire file with just the changes from this version – revert that giant deletion to get the entire new changelog. -- Update `spec.version` within `PINCache.podspec` and the `since-tag` and `future-release` fields in `.github_changelog_generator`. -- Create a new PR with the updated `PINCache.podspec` and the newly generated changelog, add `#changelog` to the PR message so the CI will not prevent merging it. -- After merging in the PR, [create a new GitHub release](https://github.com/Pinterest/PINCache/releases/new). Use the generated changelog for the new release. -- Push to Cocoapods with `pod trunk push` diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/Info.plist deleted file mode 100644 index faedaa13..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - Copyright © 2017 Pinterest. All rights reserved. - NSPrincipalClass - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCache.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCache.h deleted file mode 100644 index 7ddec1c6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCache.h +++ /dev/null @@ -1,164 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import - -#import -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -@class PINCache; - - -/** - `PINCache` is a thread safe key/value store designed for persisting temporary objects that are expensive to - reproduce, such as downloaded data or the results of slow processing. It is comprised of two self-similar - stores, one in memory () and one on disk (). - - `PINCache` itself actually does very little; its main function is providing a front end for a common use case: - a small, fast memory cache that asynchronously persists itself to a large, slow disk cache. When objects are - removed from the memory cache in response to an "apocalyptic" event they remain in the disk cache and are - repopulated in memory the next time they are accessed. `PINCache` also does the tedious work of creating a - dispatch group to wait for both caches to finish their operations without blocking each other. - - The parallel caches are accessible as public properties ( and ) and can be manipulated - separately if necessary. See the docs for and for more details. - - @warning when using in extension or watch extension, define PIN_APP_EXTENSIONS=1 - */ - -PIN_SUBCLASSING_RESTRICTED -@interface PINCache : NSObject - -#pragma mark - -/// @name Core - -/** - Synchronously retrieves the total byte count of the on the shared disk queue. - */ -@property (readonly) NSUInteger diskByteCount; - -/** - The underlying disk cache, see for additional configuration and trimming options. - */ -@property (readonly) PINDiskCache *diskCache; - -/** - The underlying memory cache, see for additional configuration and trimming options. - */ -@property (readonly) PINMemoryCache *memoryCache; - -#pragma mark - Lifecycle -/// @name Initialization - -/** - A shared cache. - - @result The shared singleton cache instance. - */ -@property (class, strong, readonly) PINCache *sharedCache; - -- (instancetype)init NS_UNAVAILABLE; - -/** - Multiple instances with the same name are *not* allowed and can *not* safely - access the same data on disk. Also used to create the . - - @see name - @param name The name of the cache. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name; - -/** - Multiple instances with the same name are *not* allowed and can *not* safely - access the same data on disk. Also used to create the . - - @see name - @param name The name of the cache. - @param rootPath The path of the cache on disk. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name rootPath:(nonnull NSString *)rootPath; - -/** - Multiple instances with the same name are *not* allowed and can *not* safely - access the same data on disk.. Also used to create the . - Initializer allows you to override default NSKeyedArchiver/NSKeyedUnarchiver serialization for . - You must provide both serializer and deserializer, or opt-out to default implementation providing nil values. - - @see name - @param name The name of the cache. - @param rootPath The path of the cache on disk. - @param serializer A block used to serialize object before writing to disk. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object read from disk. If nil provided, default NSKeyedUnarchiver serialized will be used. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(NSString *)name - rootPath:(NSString *)rootPath - serializer:(nullable PINDiskCacheSerializerBlock)serializer - deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer; - -/** - Multiple instances with the same name are *not* allowed and can *not* safely - access the same data on disk. Also used to create the . - Initializer allows you to override default NSKeyedArchiver/NSKeyedUnarchiver serialization for . - You must provide both serializer and deserializer, or opt-out to default implementation providing nil values. - - @see name - @param name The name of the cache. - @param rootPath The path of the cache on disk. - @param serializer A block used to serialize object before writing to disk. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object read from disk. If nil provided, default NSKeyedUnarchiver serialized will be used. - @param keyEncoder A block used to encode key(filename). If nil provided, default url encoder will be used - @param keyDecoder A block used to decode key(filename). If nil provided, default url decoder will be used - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name - rootPath:(nonnull NSString *)rootPath - serializer:(nullable PINDiskCacheSerializerBlock)serializer - deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(nullable PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(nullable PINDiskCacheKeyDecoderBlock)keyDecoder; - -/** - Multiple instances with the same name are *not* allowed and can *not* safely - access the same data on disk. Also used to create the . - Initializer allows you to override default NSKeyedArchiver/NSKeyedUnarchiver serialization for . - You must provide both serializer and deserializer, or opt-out to default implementation providing nil values. - - @see name - @param name The name of the cache. - @param rootPath The path of the cache on disk. - @param serializer A block used to serialize object before writing to disk. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object read from disk. If nil provided, default NSKeyedUnarchiver serialized will be used. - @param keyEncoder A block used to encode key(filename). If nil provided, default url encoder will be used - @param keyDecoder A block used to decode key(filename). If nil provided, default url decoder will be used - @param ttlCache Whether or not the cache should behave as a TTL cache. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name - rootPath:(nonnull NSString *)rootPath - serializer:(nullable PINDiskCacheSerializerBlock)serializer - deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(nullable PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(nullable PINDiskCacheKeyDecoderBlock)keyDecoder - ttlCache:(BOOL)ttlCache NS_DESIGNATED_INITIALIZER; - -@end - -@interface PINCache (Deprecated) -- (void)containsObjectForKey:(NSString *)key block:(PINCacheObjectContainmentBlock)block __attribute__((deprecated)); -- (void)objectForKey:(NSString *)key block:(PINCacheObjectBlock)block __attribute__((deprecated)); -- (void)setObject:(id )object forKey:(NSString *)key block:(nullable PINCacheObjectBlock)block __attribute__((deprecated)); -- (void)setObject:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost block:(nullable PINCacheObjectBlock)block __attribute__((deprecated)); -- (void)removeObjectForKey:(NSString *)key block:(nullable PINCacheObjectBlock)block __attribute__((deprecated)); -- (void)trimToDate:(NSDate *)date block:(nullable PINCacheBlock)block __attribute__((deprecated)); -- (void)removeAllObjects:(nullable PINCacheBlock)block __attribute__((deprecated)); -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCache.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCache.m deleted file mode 100644 index f574e0c0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCache.m +++ /dev/null @@ -1,416 +0,0 @@ -// PINCache is a modified version of PINCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import "PINCache.h" - -#import - -static NSString * const PINCachePrefix = @"com.pinterest.PINCache"; -static NSString * const PINCacheSharedName = @"PINCacheShared"; - -@interface PINCache () -@property (copy, nonatomic) NSString *name; -@property (strong, nonatomic) PINOperationQueue *operationQueue; -@end - -@implementation PINCache - -#pragma mark - Initialization - - -- (instancetype)init -{ - @throw [NSException exceptionWithName:@"Must initialize with a name" reason:@"PINCache must be initialized with a name. Call initWithName: instead." userInfo:nil]; - return [self initWithName:@""]; -} - -- (instancetype)initWithName:(NSString *)name -{ - return [self initWithName:name rootPath:[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]]; -} - -- (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath -{ - return [self initWithName:name rootPath:rootPath serializer:nil deserializer:nil]; -} - -- (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath serializer:(PINDiskCacheSerializerBlock)serializer deserializer:(PINDiskCacheDeserializerBlock)deserializer { - return [self initWithName:name rootPath:rootPath serializer:serializer deserializer:deserializer keyEncoder:nil keyDecoder:nil]; -} - -- (instancetype)initWithName:(NSString *)name - rootPath:(NSString *)rootPath - serializer:(PINDiskCacheSerializerBlock)serializer - deserializer:(PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(PINDiskCacheKeyDecoderBlock)keyDecoder -{ - return [self initWithName:name rootPath:rootPath serializer:serializer deserializer:deserializer keyEncoder:keyEncoder keyDecoder:keyDecoder ttlCache:NO]; -} - -- (instancetype)initWithName:(NSString *)name - rootPath:(NSString *)rootPath - serializer:(PINDiskCacheSerializerBlock)serializer - deserializer:(PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(PINDiskCacheKeyDecoderBlock)keyDecoder - ttlCache:(BOOL)ttlCache -{ - if (!name) - return nil; - - if (self = [super init]) { - _name = [name copy]; - - //10 may actually be a bit high, but currently much of our threads are blocked on empyting the trash. Until we can resolve that, lets bump this up. - _operationQueue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:10]; - _diskCache = [[PINDiskCache alloc] initWithName:_name - prefix:PINDiskCachePrefix - rootPath:rootPath - serializer:serializer - deserializer:deserializer - keyEncoder:keyEncoder - keyDecoder:keyDecoder - operationQueue:_operationQueue - ttlCache:ttlCache]; - _memoryCache = [[PINMemoryCache alloc] initWithName:_name operationQueue:_operationQueue ttlCache:ttlCache]; - } - return self; -} - -- (NSString *)description -{ - return [[NSString alloc] initWithFormat:@"%@.%@.%p", PINCachePrefix, _name, (void *)self]; -} - -+ (PINCache *)sharedCache -{ - static PINCache *cache; - static dispatch_once_t predicate; - - dispatch_once(&predicate, ^{ - cache = [[PINCache alloc] initWithName:PINCacheSharedName]; - }); - - return cache; -} - -#pragma mark - Public Asynchronous Methods - - -- (void)containsObjectForKeyAsync:(NSString *)key completion:(PINCacheObjectContainmentBlock)block -{ - if (!key || !block) { - return; - } - - [self.operationQueue scheduleOperation:^{ - BOOL containsObject = [self containsObjectForKey:key]; - block(containsObject); - }]; -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wshadow" - -- (void)objectForKeyAsync:(NSString *)key completion:(PINCacheObjectBlock)block -{ - if (!key || !block) - return; - - [self.operationQueue scheduleOperation:^{ - [self->_memoryCache objectForKeyAsync:key completion:^(id memoryCache, NSString *memoryCacheKey, id memoryCacheObject) { - if (memoryCacheObject) { - // Update file modification date. TODO: make this a separate method? - [self->_diskCache fileURLForKeyAsync:memoryCacheKey completion:^(NSString * _Nonnull key, NSURL * _Nullable fileURL) {}]; - [self->_operationQueue scheduleOperation:^{ - block(self, memoryCacheKey, memoryCacheObject); - }]; - } else { - [self->_diskCache objectForKeyAsync:memoryCacheKey completion:^(PINDiskCache *diskCache, NSString *diskCacheKey, id diskCacheObject) { - - [self->_memoryCache setObjectAsync:diskCacheObject forKey:diskCacheKey completion:nil]; - - [self->_operationQueue scheduleOperation:^{ - block(self, diskCacheKey, diskCacheObject); - }]; - }]; - } - }]; - }]; -} - -#pragma clang diagnostic pop - -- (void)setObjectAsync:(id )object forKey:(NSString *)key completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:0 completion:block]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:0 ageLimit:ageLimit completion:block]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:cost ageLimit:0.0 completion:block]; -} - -- (void)setObjectAsync:(nonnull id)object forKey:(nonnull NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit completion:(nullable PINCacheObjectBlock)block -{ - if (!key || !object) - return; - - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:_operationQueue]; - - [group addOperation:^{ - [self->_memoryCache setObject:object forKey:key withCost:cost ageLimit:ageLimit]; - }]; - [group addOperation:^{ - [self->_diskCache setObject:object forKey:key withAgeLimit:ageLimit]; - }]; - - if (block) { - [group setCompletion:^{ - block(self, key, object); - }]; - } - - [group start]; -} - -- (void)removeObjectForKeyAsync:(NSString *)key completion:(PINCacheObjectBlock)block -{ - if (!key) - return; - - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:_operationQueue]; - - [group addOperation:^{ - [self->_memoryCache removeObjectForKey:key]; - }]; - [group addOperation:^{ - [self->_diskCache removeObjectForKey:key]; - }]; - - if (block) { - [group setCompletion:^{ - block(self, key, nil); - }]; - } - - [group start]; -} - -- (void)removeAllObjectsAsync:(PINCacheBlock)block -{ - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:_operationQueue]; - - [group addOperation:^{ - [self->_memoryCache removeAllObjects]; - }]; - [group addOperation:^{ - [self->_diskCache removeAllObjects]; - }]; - - if (block) { - [group setCompletion:^{ - block(self); - }]; - } - - [group start]; -} - -- (void)trimToDateAsync:(NSDate *)date completion:(PINCacheBlock)block -{ - if (!date) - return; - - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:_operationQueue]; - - [group addOperation:^{ - [self->_memoryCache trimToDate:date]; - }]; - [group addOperation:^{ - [self->_diskCache trimToDate:date]; - }]; - - if (block) { - [group setCompletion:^{ - block(self); - }]; - } - - [group start]; -} - -- (void)removeExpiredObjectsAsync:(PINCacheBlock)block -{ - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:_operationQueue]; - - [group addOperation:^{ - [self->_memoryCache removeExpiredObjects]; - }]; - [group addOperation:^{ - [self->_diskCache removeExpiredObjects]; - }]; - - if (block) { - [group setCompletion:^{ - block(self); - }]; - } - - [group start]; -} - -#pragma mark - Public Synchronous Accessors - - -- (NSUInteger)diskByteCount -{ - __block NSUInteger byteCount = 0; - - [_diskCache synchronouslyLockFileAccessWhileExecutingBlock:^(id diskCache) { - byteCount = ((PINDiskCache *)diskCache).byteCount; - }]; - - return byteCount; -} - -- (BOOL)containsObjectForKey:(NSString *)key -{ - if (!key) - return NO; - - return [_memoryCache containsObjectForKey:key] || [_diskCache containsObjectForKey:key]; -} - -- (nullable id)objectForKey:(NSString *)key -{ - if (!key) - return nil; - - __block id object = nil; - - object = [_memoryCache objectForKey:key]; - - if (object) { - // Update file modification date. TODO: make this a separate method? - [_diskCache fileURLForKeyAsync:key completion:^(NSString * _Nonnull key, NSURL * _Nullable fileURL) {}]; - } else { - object = [_diskCache objectForKey:key]; - [_memoryCache setObject:object forKey:key]; - } - - return object; -} - -- (void)setObject:(id )object forKey:(NSString *)key -{ - [self setObject:object forKey:key withCost:0]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit -{ - [self setObject:object forKey:key withCost:0 ageLimit:ageLimit]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost -{ - [self setObject:object forKey:key withCost:cost ageLimit:0.0]; -} - -- (void)setObject:(nullable id)object forKey:(nonnull NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit -{ - if (!key || !object) - return; - - [_memoryCache setObject:object forKey:key withCost:cost ageLimit:ageLimit]; - [_diskCache setObject:object forKey:key withAgeLimit:ageLimit]; -} - -- (nullable id)objectForKeyedSubscript:(NSString *)key -{ - return [self objectForKey:key]; -} - -- (void)setObject:(nullable id)obj forKeyedSubscript:(NSString *)key -{ - if (obj == nil) { - [self removeObjectForKey:key]; - } else { - [self setObject:obj forKey:key]; - } -} - -- (void)removeObjectForKey:(NSString *)key -{ - if (!key) - return; - - [_memoryCache removeObjectForKey:key]; - [_diskCache removeObjectForKey:key]; -} - -- (void)trimToDate:(NSDate *)date -{ - if (!date) - return; - - [_memoryCache trimToDate:date]; - [_diskCache trimToDate:date]; -} - -- (void)removeExpiredObjects -{ - [_memoryCache removeExpiredObjects]; - [_diskCache removeExpiredObjects]; -} - -- (void)removeAllObjects -{ - [_memoryCache removeAllObjects]; - [_diskCache removeAllObjects]; -} - -@end - -@implementation PINCache (Deprecated) - -- (void)containsObjectForKey:(NSString *)key block:(PINCacheObjectContainmentBlock)block -{ - [self containsObjectForKeyAsync:key completion:block]; -} - -- (void)objectForKey:(NSString *)key block:(PINCacheObjectBlock)block -{ - [self objectForKeyAsync:key completion:block]; -} - -- (void)setObject:(id )object forKey:(NSString *)key block:(nullable PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key completion:block]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost block:(nullable PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:cost completion:block]; -} - -- (void)removeObjectForKey:(NSString *)key block:(nullable PINCacheObjectBlock)block -{ - [self removeObjectForKeyAsync:key completion:block]; -} - -- (void)trimToDate:(NSDate *)date block:(nullable PINCacheBlock)block -{ - [self trimToDateAsync:date completion:block]; -} - -- (void)removeAllObjects:(nullable PINCacheBlock)block -{ - [self removeAllObjectsAsync:block]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCacheMacros.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCacheMacros.h deleted file mode 100644 index e7179a17..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCacheMacros.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// PINCacheMacros.h -// PINCache -// -// Created by Adlai Holler on 1/31/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#ifndef PIN_SUBCLASSING_RESTRICTED -#if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#define PIN_SUBCLASSING_RESTRICTED __attribute__((objc_subclassing_restricted)) -#else -#define PIN_SUBCLASSING_RESTRICTED -#endif // #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#endif // #ifndef PIN_SUBCLASSING_RESTRICTED - -#ifndef PIN_NOESCAPE -#if defined(__has_attribute) && __has_attribute(noescape) -#define PIN_NOESCAPE __attribute__((noescape)) -#else -#define PIN_NOESCAPE -#endif // #if defined(__has_attribute) && __has_attribute(noescape) -#endif // #ifndef PIN_NOESCAPE diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCacheObjectSubscripting.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCacheObjectSubscripting.h deleted file mode 100644 index a7bd20b4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCacheObjectSubscripting.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// PINCacheObjectSubscripting.h -// PINCache -// -// Created by Rocir Marcos Leite Santiago on 4/2/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@protocol PINCacheObjectSubscripting - -@required - -/** - This method enables using literals on the receiving object, such as `id object = cache[@"key"];`. - - @param key The key associated with the object. - @result The object for the specified key. - */ -- (nullable id)objectForKeyedSubscript:(NSString *)key; - -/** - This method enables using literals on the receiving object, such as `cache[@"key"] = object;`. - - @param object An object to be assigned for the key. Pass `nil` to remove the existing object for this key. - @param key A key to associate with the object. This string will be copied. - */ -- (void)setObject:(nullable id)object forKeyedSubscript:(NSString *)key; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCaching.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCaching.h deleted file mode 100644 index ebc67063..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINCaching.h +++ /dev/null @@ -1,264 +0,0 @@ -// -// PINCaching.h -// PINCache -// -// Created by Michael Schneider on 1/31/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#pragma once -#import - - -NS_ASSUME_NONNULL_BEGIN - -@protocol PINCaching; - -/** - A callback block which provides only the cache as an argument - */ -typedef void (^PINCacheBlock)(id cache); - -/** - A callback block which provides the cache, key and object as arguments - */ -typedef void (^PINCacheObjectBlock)(id cache, NSString *key, id _Nullable object); - -/** - A callback block used for enumeration which provides the cache, key and object as arguments plus a stop flag that - may be flipped by the caller. - */ -typedef void (^PINCacheObjectEnumerationBlock)(id cache, NSString *key, id _Nullable object, BOOL *stop); - -/** - A callback block which provides a BOOL value as argument - */ -typedef void (^PINCacheObjectContainmentBlock)(BOOL containsObject); - -@protocol PINCaching - -#pragma mark - Core - -/** - The name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. - */ -@property (readonly) NSString *name; - -#pragma mark - Asynchronous Methods - -/// @name Asynchronous Methods - -/** - This method determines whether an object is present for the given key in the cache. This method returns immediately - and executes the passed block after the object is available, potentially in parallel with other blocks on the - . - - @see containsObjectForKey: - @param key The key associated with the object. - @param block A block to be executed concurrently after the containment check happened - */ -- (void)containsObjectForKeyAsync:(NSString *)key completion:(PINCacheObjectContainmentBlock)block; - -/** - Retrieves the object for the specified key. This method returns immediately and executes the passed - block after the object is available, potentially in parallel with other blocks on the . - - @param key The key associated with the requested object. - @param block A block to be executed concurrently when the object is available. - */ -- (void)objectForKeyAsync:(NSString *)key completion:(PINCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key. This method returns immediately and executes the - passed block after the object has been stored, potentially in parallel with other blocks on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id)object forKey:(NSString *)key completion:(nullable PINCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and the specified age limit. This method returns immediately - and executes the passed block after the object has been stored, potentially in parallel with other blocks - on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no object-level age limit and the - cache-level TTL will be used for this object. - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id)object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit completion:(nullable PINCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and the specified memory cost. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method returns immediately - and executes the passed block after the object has been stored, potentially in parallel with other blocks - on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost completion:(nullable PINCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and the specified memory cost and age limit. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method returns immediately - and executes the passed block after the object has been stored, potentially in parallel with other blocks - on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no object-level age limit and the cache-level TTL will be - used for this object. - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit completion:(nullable PINCacheObjectBlock)block; - -/** - Removes the object for the specified key. This method returns immediately and executes the passed - block after the object has been removed, potentially in parallel with other blocks on the . - - @param key The key associated with the object to be removed. - @param block A block to be executed concurrently after the object has been removed, or nil. - */ -- (void)removeObjectForKeyAsync:(NSString *)key completion:(nullable PINCacheObjectBlock)block; - -/** - Removes all objects from the cache that have not been used since the specified date. This method returns immediately and - executes the passed block after the cache has been trimmed, potentially in parallel with other blocks on the . - - @param date Objects that haven't been accessed since this date are removed from the cache. - @param block A block to be executed concurrently after the cache has been trimmed, or nil. - */ -- (void)trimToDateAsync:(NSDate *)date completion:(nullable PINCacheBlock)block; - -/** - Removes all expired objects from the cache. This includes objects that are considered expired due to the cache-level ageLimit - as well as object-level ageLimits. This method returns immediately and executes the passed block after the objects have been removed, - potentially in parallel with other blocks on the . - - @param block A block to be executed concurrently after the objects have been removed, or nil. - */ -- (void)removeExpiredObjectsAsync:(nullable PINCacheBlock)block; - -/** - Removes all objects from the cache.This method returns immediately and executes the passed block after the - cache has been cleared, potentially in parallel with other blocks on the . - - @param block A block to be executed concurrently after the cache has been cleared, or nil. - */ -- (void)removeAllObjectsAsync:(nullable PINCacheBlock)block; - - -#pragma mark - Synchronous Methods -/// @name Synchronous Methods - -/** - This method determines whether an object is present for the given key in the cache. - - @see containsObjectForKeyAsync:completion: - @param key The key associated with the object. - @result YES if an object is present for the given key in the cache, otherwise NO. - */ -- (BOOL)containsObjectForKey:(NSString *)key; - -/** - Retrieves the object for the specified key. This method blocks the calling thread until the object is available. - Uses a lock to achieve synchronicity on the disk cache. - - @see objectForKeyAsync:completion: - @param key The key associated with the object. - @result The object for the specified key. - */ -- (nullable id)objectForKey:(NSString *)key; - -/** - Stores an object in the cache for the specified key. This method blocks the calling thread until the object has been set. - Uses a lock to achieve synchronicity on the disk cache. - - @see setObjectAsync:forKey:completion: - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - */ -- (void)setObject:(nullable id)object forKey:(NSString *)key; - -/** - Stores an object in the cache for the specified key and age limit. This method blocks the calling thread until the - object has been set. Uses a lock to achieve synchronicity on the disk cache. - - @see setObjectAsync:forKey:completion: - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no - object-level age limit and the cache-level TTL will be used for this object. - */ -- (void)setObject:(nullable id)object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit; - -/** - Stores an object in the cache for the specified key and the specified memory cost. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method blocks the calling thread - until the object has been stored. - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - */ -- (void)setObject:(nullable id)object forKey:(NSString *)key withCost:(NSUInteger)cost; - -/** - Stores an object in the cache for the specified key and the specified memory cost and age limit. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method blocks the calling thread - until the object has been stored. - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no object-level age - limit and the cache-level TTL will be used for this object. - */ -- (void)setObject:(nullable id)object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit; - -/** - Removes the object for the specified key. This method blocks the calling thread until the object - has been removed. - Uses a lock to achieve synchronicity on the disk cache. - - @see removeObjectForKeyAsync:completion: - @param key The key associated with the object to be removed. - */ -- (void)removeObjectForKey:(NSString *)key; - -/** - Removes all objects from the cache that have not been used since the specified date. - This method blocks the calling thread until the cache has been trimmed. - Uses a lock to achieve synchronicity on the disk cache. - - @see trimToDateAsync:completion: - @param date Objects that haven't been accessed since this date are removed from the cache. - */ -- (void)trimToDate:(NSDate *)date; - -/** - Removes all expired objects from the cache. This includes objects that are considered expired due to the cache-level ageLimit - as well as object-level ageLimits. This method blocks the calling thread until the objects have been removed. - Uses a lock to achieve synchronicity on the disk cache. - */ -- (void)removeExpiredObjects; - -/** - Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. - Uses a lock to achieve synchronicity on the disk cache. - - @see removeAllObjectsAsync: - */ -- (void)removeAllObjects; - -@end - -NS_ASSUME_NONNULL_END - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINDiskCache.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINDiskCache.h deleted file mode 100644 index 224f9ce1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINDiskCache.h +++ /dev/null @@ -1,592 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -@class PINDiskCache; -@class PINOperationQueue; - -extern NSString * const PINDiskCacheErrorDomain; -extern NSErrorUserInfoKey const PINDiskCacheErrorReadFailureCodeKey; -extern NSErrorUserInfoKey const PINDiskCacheErrorWriteFailureCodeKey; -extern NSString * const PINDiskCachePrefix; - -typedef NS_ENUM(NSInteger, PINDiskCacheError) { - PINDiskCacheErrorReadFailure = -1000, - PINDiskCacheErrorWriteFailure = -1001, -}; - -/** - A callback block which provides the cache, key and object as arguments - */ -typedef void (^PINDiskCacheObjectBlock)(PINDiskCache *cache, NSString *key, id _Nullable object); - -/** - A callback block which provides the key and fileURL of the object - */ -typedef void (^PINDiskCacheFileURLBlock)(NSString *key, NSURL * _Nullable fileURL); - -/** - A callback block used for enumeration which provides the key and fileURL of the object plus a stop flag that - may be flipped by the caller. - */ -typedef void (^PINDiskCacheFileURLEnumerationBlock)(NSString *key, NSURL * _Nullable fileURL, BOOL *stop); - -/** - A callback block which provides a BOOL value as argument - */ -typedef void (^PINDiskCacheContainsBlock)(BOOL containsObject); - -/** - * A block used to serialize object before writing to disk - * - * @param object Object to serialize - * @param key The key associated with the object - * - * @return Serialized object representation - */ -typedef NSData* _Nonnull(^PINDiskCacheSerializerBlock)(id object, NSString *key); - -/** - * A block used to deserialize objects - * - * @param data Serialized object data - * @param key The key associated with the object - * - * @return Deserialized object - */ -typedef id _Nonnull(^PINDiskCacheDeserializerBlock)(NSData* data, NSString *key); - -/** - * A block used to encode keys - * - * @param decodedKey Original/decoded key - * - * @return encoded key - */ -typedef NSString *_Nonnull(^PINDiskCacheKeyEncoderBlock)(NSString *decodedKey); - -/** - * A block used to decode keys - * - * @param encodedKey An encoded key - * - * @return decoded key - */ -typedef NSString *_Nonnull(^PINDiskCacheKeyDecoderBlock)(NSString *encodedKey); - - -/** - `PINDiskCache` is a thread safe key/value store backed by the file system. It accepts any object conforming - to the `NSCoding` protocol, which includes the basic Foundation data types and collection classes and also - many UIKit classes, notably `UIImage`. All work is performed on a serial queue shared by all instances in - the app, and archiving is handled by `NSKeyedArchiver`. This is a particular advantage for `UIImage` because - it skips `UIImagePNGRepresentation()` and retains information like scale and orientation. - - The designated initializer for `PINDiskCache` is . The string is used to create a directory - under Library/Caches that scopes disk access for this instance. Multiple instances with the same name are *not* - allowed as they would conflict with each other. - - Unless otherwise noted, all properties and methods are safe to access from any thread at any time. All blocks - will cause the queue to wait, making it safe to access and manipulate the actual cache files on disk for the - duration of the block. - - Because this cache is bound by disk I/O it can be much slower than , although values stored in - `PINDiskCache` persist after application relaunch. Using is recommended over using `PINDiskCache` - by itself, as it adds a fast layer of additional memory caching while still writing to disk. - - All access to the cache is dated so the that the least-used objects can be trimmed first. Setting an optional - will trigger a GCD timer to periodically to trim the cache with . - */ - -PIN_SUBCLASSING_RESTRICTED -@interface PINDiskCache : NSObject - -#pragma mark - Class - -/** - @param rootPath The path for where the cache should be stored. - @param prefix The prefix for the cache name. - @param name The name of the cache. - @result The full URL of the cache. - */ -+ (NSURL *)cacheURLWithRootPath:(NSString *)rootPath prefix:(NSString *)prefix name:(NSString *)name; - -#pragma mark - Properties -/// @name Core - -/** - The prefix to the name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. - */ -@property (readonly) NSString *prefix; - -/** - The URL of the directory used by this cache, usually `Library/Caches/com.pinterest.PINDiskCache.(name)` - - @warning Do not interact with files under this URL except in or - . - */ -@property (readonly) NSURL *cacheURL; - -/** - The total number of bytes used on disk, as reported by `NSURLTotalFileAllocatedSizeKey`. - - @warning This property should only be read from a call to or - its asynchronous equivalent - - For example: - - // some background thread - - __block NSUInteger byteCount = 0; - - [_diskCache synchronouslyLockFileAccessWhileExecutingBlock:^(PINDiskCache *diskCache) { - byteCount = diskCache.byteCount; - }]; - */ -@property (readonly) NSUInteger byteCount; - -/** - The maximum number of bytes allowed on disk. This value is checked every time an object is set, if the written - size exceeds the limit a trim call is queued. Defaults to 50MB. - - */ -@property (assign) NSUInteger byteLimit; - -/** - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value - greater than `0.0` will start a recurring GCD timer with the same period that calls . - Setting it back to `0.0` will stop the timer. Defaults to 30 days. - - */ -@property (assign) NSTimeInterval ageLimit; - -/** - The writing protection option used when writing a file on disk. This value is used every time an object is set. - NSDataWritingAtomic and NSDataWritingWithoutOverwriting are ignored if set - Defaults to NSDataWritingFileProtectionNone. - - @warning Only new files are affected by the new writing protection. If you need all files to be affected, - you'll have to purge and set the objects back to the cache - - Only available on iOS - */ -#if TARGET_OS_IPHONE -@property (assign) NSDataWritingOptions writingProtectionOption; -#endif - -/** - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the - cache, it only lives as long as self.ageLimit. This has the following implications: - - Accessing an object in the cache does not extend that object's lifetime in the cache - - When attempting to access an object in the cache that has lived longer than self.ageLimit, - the cache will behave as if the object does not exist - - @note If an object-level age limit is set via one of the @c -setObject:forKey:withAgeLimit methods, - that age limit overrides self.ageLimit. The overridden object age limit could be greater or less - than self.agelimit but must be greater than zero. - - */ -@property (nonatomic, readonly, getter=isTTLCache) BOOL ttlCache; - -#pragma mark - Event Blocks -/// @name Event Blocks - -/** - A block to be executed just before an object is added to the cache. The queue waits during execution. - */ -@property (nullable, copy) PINDiskCacheObjectBlock willAddObjectBlock; - -/** - A block to be executed just before an object is removed from the cache. The queue waits during execution. - */ -@property (nullable, copy) PINDiskCacheObjectBlock willRemoveObjectBlock; - -/** - A block to be executed just before all objects are removed from the cache as a result of . - The queue waits during execution. - */ -@property (nullable, copy) PINCacheBlock willRemoveAllObjectsBlock; - -/** - A block to be executed just after an object is added to the cache. The queue waits during execution. - */ -@property (nullable, copy) PINDiskCacheObjectBlock didAddObjectBlock; - -/** - A block to be executed just after an object is removed from the cache. The queue waits during execution. - */ -@property (nullable, copy) PINDiskCacheObjectBlock didRemoveObjectBlock; - -/** - A block to be executed just after all objects are removed from the cache as a result of . - The queue waits during execution. - */ -@property (nullable, copy) PINCacheBlock didRemoveAllObjectsBlock; - -#pragma mark - Lifecycle -/// @name Initialization - -/** - A shared cache. - - @result The shared singleton cache instance. - */ -@property (class, readonly, strong) PINDiskCache *sharedCache; - -/** - Empties the trash with `DISPATCH_QUEUE_PRIORITY_BACKGROUND`. Does not use lock. - */ -+ (void)emptyTrash; - -- (instancetype)init NS_UNAVAILABLE; - -/** - Multiple instances with the same name are *not* allowed as they would conflict - with each other. - - @see name - @param name The name of the cache. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name; - -/** - Multiple instances with the same name are *not* allowed as they would conflict - with each other. - - @see name - @param name The name of the cache. - @param rootPath The path of the cache. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name rootPath:(nonnull NSString *)rootPath; - -/** - @see name - @param name The name of the cache. - @param rootPath The path of the cache. - @param serializer A block used to serialize object. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object. If nil provided, default NSKeyedUnarchiver serialized will be used. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name rootPath:(nonnull NSString *)rootPath serializer:(nullable PINDiskCacheSerializerBlock)serializer deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer; - -/** - @see name - @param name The name of the cache. - @param rootPath The path of the cache. - @param serializer A block used to serialize object. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object. If nil provided, default NSKeyedUnarchiver serialized will be used. - @param operationQueue A PINOperationQueue to run asynchronous operations - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name rootPath:(nonnull NSString *)rootPath serializer:(nullable PINDiskCacheSerializerBlock)serializer deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer operationQueue:(nonnull PINOperationQueue *)operationQueue __attribute__((deprecated)); - -/** - @see name - @param name The name of the cache. - @param prefix The prefix for the cache name. Defaults to com.pinterest.PINDiskCache - @param rootPath The path of the cache. - @param serializer A block used to serialize object. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object. If nil provided, default NSKeyedUnarchiver serialized will be used. - @param keyEncoder A block used to encode key(filename). If nil provided, default url encoder will be used - @param keyDecoder A block used to decode key(filename). If nil provided, default url decoder will be used - @param operationQueue A PINOperationQueue to run asynchronous operations - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name - prefix:(nonnull NSString *)prefix - rootPath:(nonnull NSString *)rootPath - serializer:(nullable PINDiskCacheSerializerBlock)serializer - deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(nullable PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(nullable PINDiskCacheKeyDecoderBlock)keyDecoder - operationQueue:(nonnull PINOperationQueue *)operationQueue; - -/** - The designated initializer allowing you to override default NSKeyedArchiver/NSKeyedUnarchiver serialization. - - @see name - @param name The name of the cache. - @param prefix The prefix for the cache name. Defaults to com.pinterest.PINDiskCache - @param rootPath The path of the cache. - @param serializer A block used to serialize object. If nil provided, default NSKeyedArchiver serialized will be used. - @param deserializer A block used to deserialize object. If nil provided, default NSKeyedUnarchiver serialized will be used. - @param keyEncoder A block used to encode key(filename). If nil provided, default url encoder will be used - @param keyDecoder A block used to decode key(filename). If nil provided, default url decoder will be used - @param operationQueue A PINOperationQueue to run asynchronous operations - @param ttlCache Whether or not the cache should behave as a TTL cache. - @result A new cache with the specified name. - */ -- (instancetype)initWithName:(nonnull NSString *)name - prefix:(nonnull NSString *)prefix - rootPath:(nonnull NSString *)rootPath - serializer:(nullable PINDiskCacheSerializerBlock)serializer - deserializer:(nullable PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(nullable PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(nullable PINDiskCacheKeyDecoderBlock)keyDecoder - operationQueue:(nonnull PINOperationQueue *)operationQueue - ttlCache:(BOOL)ttlCache NS_DESIGNATED_INITIALIZER; - -#pragma mark - Asynchronous Methods -/// @name Asynchronous Methods -/** - Locks access to ivars and allows safe interaction with files on disk. This method returns immediately. - - @warning Calling synchronous methods on the diskCache inside this block will likely cause a deadlock. - - @param block A block to be executed when a lock is available. - */ -- (void)lockFileAccessWhileExecutingBlockAsync:(PINCacheBlock)block; - -/** - Retrieves the object for the specified key. This method returns immediately and executes the passed - block as soon as the object is available. - - @param key The key associated with the requested object. - @param block A block to be executed serially when the object is available. - */ -- (void)objectForKeyAsync:(NSString *)key completion:(nullable PINDiskCacheObjectBlock)block; - -/** - Retrieves the fileURL for the specified key without actually reading the data from disk. This method - returns immediately and executes the passed block as soon as the object is available. - - @warning Access is protected for the duration of the block, but to maintain safe disk access do not - access this fileURL after the block has ended. - - @warning The PINDiskCache lock is held while block is executed. Any synchronous calls to the diskcache - or a cache which owns the instance of the disk cache are likely to cause a deadlock. This is why the block is - *not* passed the instance of the disk cache. You should also avoid doing extensive work while this - lock is held. - - @param key The key associated with the requested object. - @param block A block to be executed serially when the file URL is available. - */ -- (void)fileURLForKeyAsync:(NSString *)key completion:(PINDiskCacheFileURLBlock)block; - -/** - Stores an object in the cache for the specified key. This method returns immediately and executes the - passed block as soon as the object has been stored. - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param block A block to be executed serially after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id )object forKey:(NSString *)key completion:(nullable PINDiskCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and age limit. This method returns immediately and executes the - passed block as soon as the object has been stored. - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no object-level age limit and the cache-level TTL - will be used for this object. - @param block A block to be executed serially after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit completion:(nullable PINDiskCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and the specified memory cost. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method returns immediately - and executes the passed block after the object has been stored, potentially in parallel with other blocks - on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost completion:(nullable PINCacheObjectBlock)block; - -/** - Stores an object in the cache for the specified key and the specified memory cost and age limit. If the cost causes the total - to go over the the cache is trimmed (oldest objects first). This method returns immediately - and executes the passed block after the object has been stored, potentially in parallel with other blocks - on the . - - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param cost An amount to add to the . - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is no object-level age limit and the cache-level TTL will be used for - this object. - @param block A block to be executed concurrently after the object has been stored, or nil. - */ -- (void)setObjectAsync:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit completion:(nullable PINCacheObjectBlock)block; - -/** - Removes the object for the specified key. This method returns immediately and executes the passed block - as soon as the object has been removed. - - @param key The key associated with the object to be removed. - @param block A block to be executed serially after the object has been removed, or nil. - */ -- (void)removeObjectForKeyAsync:(NSString *)key completion:(nullable PINDiskCacheObjectBlock)block; - -/** - Removes objects from the cache, largest first, until the cache is equal to or smaller than the specified byteCount. - This method returns immediately and executes the passed block as soon as the cache has been trimmed. - - @param byteCount The cache will be trimmed equal to or smaller than this size. - @param block A block to be executed serially after the cache has been trimmed, or nil. - */ -- (void)trimToSizeAsync:(NSUInteger)byteCount completion:(nullable PINCacheBlock)block; - -/** - Removes objects from the cache, ordered by date (least recently used first), until the cache is equal to or smaller - than the specified byteCount. This method returns immediately and executes the passed block as soon as the cache has - been trimmed. - - @param byteCount The cache will be trimmed equal to or smaller than this size. - @param block A block to be executed serially after the cache has been trimmed, or nil. - - @note This will not remove objects that have been added via one of the @c -setObject:forKey:withAgeLimit methods. - */ -- (void)trimToSizeByDateAsync:(NSUInteger)byteCount completion:(nullable PINCacheBlock)block; - -/** - Loops through all objects in the cache (reads and writes are suspended during the enumeration). Data is not actually - read from disk, the `object` parameter of the block will be `nil` but the `fileURL` will be available. - This method returns immediately. - - @param block A block to be executed for every object in the cache. - @param completionBlock An optional block to be executed after the enumeration is complete. - - @warning The PINDiskCache lock is held while block is executed. Any synchronous calls to the diskcache - or a cache which owns the instance of the disk cache are likely to cause a deadlock. This is why the block is - *not* passed the instance of the disk cache. You should also avoid doing extensive work while this - lock is held. - - */ -- (void)enumerateObjectsWithBlockAsync:(PINDiskCacheFileURLEnumerationBlock)block completionBlock:(nullable PINCacheBlock)completionBlock; - -#pragma mark - Synchronous Methods -/// @name Synchronous Methods - -/** - Locks access to ivars and allows safe interaction with files on disk. This method only returns once the block - has been run. - - @warning Calling synchronous methods on the diskCache inside this block will likely cause a deadlock. - - @param block A block to be executed when a lock is available. - */ -- (void)synchronouslyLockFileAccessWhileExecutingBlock:(PIN_NOESCAPE PINCacheBlock)block; - -/** - Retrieves the object for the specified key. This method blocks the calling thread until the - object is available. - - @see objectForKeyAsync:completion: - @param key The key associated with the object. - @result The object for the specified key. - */ -- (nullable id )objectForKey:(NSString *)key; - -/** - Retrieves the file URL for the specified key. This method blocks the calling thread until the - url is available. Do not use this URL anywhere except with . This method probably - shouldn't even exist, just use the asynchronous one. - - @see fileURLForKeyAsync:completion: - @param key The key associated with the object. - @result The file URL for the specified key. - */ -- (nullable NSURL *)fileURLForKey:(nullable NSString *)key; - -/** - Stores an object in the cache for the specified key. This method blocks the calling thread until - the object has been stored. - - @see setObjectAsync:forKey:completion: - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - */ -- (void)setObject:(nullable id )object forKey:(NSString *)key; - -/** - Stores an object in the cache for the specified key and age limit. This method blocks the calling thread until - the object has been stored. - - @see setObjectAsync:forKey:completion: - @param object An object to store in the cache. - @param key A key to associate with the object. This string will be copied. - @param ageLimit The age limit (in seconds) to associate with the object. An age limit <= 0 means there is - no object-level age limit and the cache-level TTL will be used for this object. - */ -- (void)setObject:(nullable id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit; - -/** - Removes objects from the cache, largest first, until the cache is equal to or smaller than the - specified byteCount. This method blocks the calling thread until the cache has been trimmed. - - @see trimToSizeAsync: - @param byteCount The cache will be trimmed equal to or smaller than this size. - */ -- (void)trimToSize:(NSUInteger)byteCount; - -/** - Removes objects from the cache, ordered by date (least recently used first), until the cache is equal to or - smaller than the specified byteCount. This method blocks the calling thread until the cache has been trimmed. - - @see trimToSizeByDateAsync: - @param byteCount The cache will be trimmed equal to or smaller than this size. - - @note This will not remove objects that have been added via one of the @c -setObject:forKey:withAgeLimit methods. - */ -- (void)trimToSizeByDate:(NSUInteger)byteCount; - -/** - Loops through all objects in the cache (reads and writes are suspended during the enumeration). Data is not actually - read from disk, the `object` parameter of the block will be `nil` but the `fileURL` will be available. - This method blocks the calling thread until all objects have been enumerated. - - @see enumerateObjectsWithBlockAsync:completionBlock - @param block A block to be executed for every object in the cache. - - @warning Do not call this method within the event blocks (, etc.) - Instead use the asynchronous version, . - - @warning The PINDiskCache lock is held while block is executed. Any synchronous calls to the diskcache - or a cache which owns the instance of the disk cache are likely to cause a deadlock. This is why the block is - *not* passed the instance of the disk cache. You should also avoid doing extensive work while this - lock is held. - - */ -- (void)enumerateObjectsWithBlock:(PIN_NOESCAPE PINDiskCacheFileURLEnumerationBlock)block; - -@end - - -#pragma mark - Deprecated - -/** - A callback block which provides only the cache as an argument - */ -typedef void (^PINDiskCacheBlock)(PINDiskCache *cache); - -@interface PINDiskCache (Deprecated) -- (void)lockFileAccessWhileExecutingBlock:(nullable PINCacheBlock)block __attribute__((deprecated)); -- (void)containsObjectForKey:(NSString *)key block:(PINDiskCacheContainsBlock)block __attribute__((deprecated)); -- (void)objectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block __attribute__((deprecated)); -- (void)fileURLForKey:(NSString *)key block:(nullable PINDiskCacheFileURLBlock)block __attribute__((deprecated)); -- (void)setObject:(id )object forKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block __attribute__((deprecated)); -- (void)removeObjectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block __attribute__((deprecated)); -- (void)trimToDate:(NSDate *)date block:(nullable PINDiskCacheBlock)block __attribute__((deprecated)); -- (void)trimToSize:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block __attribute__((deprecated)); -- (void)trimToSizeByDate:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block __attribute__((deprecated)); -- (void)removeAllObjects:(nullable PINDiskCacheBlock)block __attribute__((deprecated)); -- (void)enumerateObjectsWithBlock:(PINDiskCacheFileURLBlock)block completionBlock:(nullable PINDiskCacheBlock)completionBlock __attribute__((deprecated)); -- (void)setTtlCache:(BOOL)ttlCache DEPRECATED_MSG_ATTRIBUTE("ttlCache is no longer a settable property and must now be set via initializer."); -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINDiskCache.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINDiskCache.m deleted file mode 100644 index 40e606d8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINDiskCache.m +++ /dev/null @@ -1,1723 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import "PINDiskCache.h" - -#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0 -#import -#endif - -#import -#import - -#import - -#define PINDiskCacheError(error) if (error) { NSLog(@"%@ (%d) ERROR: %@", \ -[[NSString stringWithUTF8String:__FILE__] lastPathComponent], \ -__LINE__, [error localizedDescription]); } - -#define PINDiskCacheException(exception) if (exception) { NSAssert(NO, [exception reason]); } - -const char * PINDiskCacheAgeLimitAttributeName = "com.pinterest.PINDiskCache.ageLimit"; -NSString * const PINDiskCacheErrorDomain = @"com.pinterest.PINDiskCache"; -NSErrorUserInfoKey const PINDiskCacheErrorReadFailureCodeKey = @"PINDiskCacheErrorReadFailureCodeKey"; -NSErrorUserInfoKey const PINDiskCacheErrorWriteFailureCodeKey = @"PINDiskCacheErrorWriteFailureCodeKey"; -NSString * const PINDiskCachePrefix = @"com.pinterest.PINDiskCache"; -static NSString * const PINDiskCacheSharedName = @"PINDiskCacheShared"; - -static NSString * const PINDiskCacheOperationIdentifierTrimToDate = @"PINDiskCacheOperationIdentifierTrimToDate"; -static NSString * const PINDiskCacheOperationIdentifierTrimToSize = @"PINDiskCacheOperationIdentifierTrimToSize"; -static NSString * const PINDiskCacheOperationIdentifierTrimToSizeByDate = @"PINDiskCacheOperationIdentifierTrimToSizeByDate"; - -typedef NS_ENUM(NSUInteger, PINDiskCacheCondition) { - PINDiskCacheConditionNotReady = 0, - PINDiskCacheConditionReady = 1, -}; - -static PINOperationDataCoalescingBlock PINDiskTrimmingSizeCoalescingBlock = ^id(NSNumber *existingSize, NSNumber *newSize) { - NSComparisonResult result = [existingSize compare:newSize]; - return (result == NSOrderedDescending) ? newSize : existingSize; -}; - -static PINOperationDataCoalescingBlock PINDiskTrimmingDateCoalescingBlock = ^id(NSDate *existingDate, NSDate *newDate) { - NSComparisonResult result = [existingDate compare:newDate]; - return (result == NSOrderedDescending) ? newDate : existingDate; -}; - -const char * PINDiskCacheFileSystemRepresentation(NSURL *url) -{ -#ifdef __MAC_10_13 // Xcode >= 9 - // -fileSystemRepresentation is available on macOS >= 10.9 - if (@available(macOS 10.9, iOS 7.0, watchOS 2.0, tvOS 9.0, *)) { - return url.fileSystemRepresentation; - } -#endif - return [url.path cStringUsingEncoding:NSUTF8StringEncoding]; -} - -@interface PINDiskCacheMetadata : NSObject -// When the object was added to the disk cache -@property (nonatomic, strong) NSDate *createdDate; -// Last time the object was accessed -@property (nonatomic, strong) NSDate *lastModifiedDate; -@property (nonatomic, strong) NSNumber *size; -// Age limit is used in conjuction with ttl -@property (nonatomic) NSTimeInterval ageLimit; -@end - -@interface PINDiskCache () { - PINDiskCacheSerializerBlock _serializer; - PINDiskCacheDeserializerBlock _deserializer; - - PINDiskCacheKeyEncoderBlock _keyEncoder; - PINDiskCacheKeyDecoderBlock _keyDecoder; -} - -@property (assign, nonatomic) pthread_mutex_t mutex; -@property (copy, nonatomic) NSString *name; -@property (assign) NSUInteger byteCount; -@property (strong, nonatomic) NSURL *cacheURL; -@property (strong, nonatomic) PINOperationQueue *operationQueue; -@property (strong, nonatomic) NSMutableDictionary *metadata; -@property (assign, nonatomic) pthread_cond_t diskWritableCondition; -@property (assign, nonatomic) BOOL diskWritable; -@property (assign, nonatomic) pthread_cond_t diskStateKnownCondition; -@property (assign, nonatomic) BOOL diskStateKnown; -@property (assign, nonatomic) BOOL writingProtectionOptionSet; -@end - -@implementation PINDiskCache - -static NSURL *_sharedTrashURL; - -@synthesize willAddObjectBlock = _willAddObjectBlock; -@synthesize willRemoveObjectBlock = _willRemoveObjectBlock; -@synthesize willRemoveAllObjectsBlock = _willRemoveAllObjectsBlock; -@synthesize didAddObjectBlock = _didAddObjectBlock; -@synthesize didRemoveObjectBlock = _didRemoveObjectBlock; -@synthesize didRemoveAllObjectsBlock = _didRemoveAllObjectsBlock; -@synthesize byteLimit = _byteLimit; -@synthesize ageLimit = _ageLimit; -@synthesize ttlCache = _ttlCache; - -#if TARGET_OS_IPHONE -@synthesize writingProtectionOption = _writingProtectionOption; -@synthesize writingProtectionOptionSet = _writingProtectionOptionSet; -#endif - -#pragma mark - Initialization - - -- (void)dealloc -{ - __unused int result = pthread_mutex_destroy(&_mutex); - NSCAssert(result == 0, @"Failed to destroy lock in PINDiskCache %p. Code: %d", (void *)self, result); - pthread_cond_destroy(&_diskWritableCondition); - pthread_cond_destroy(&_diskStateKnownCondition); -} - -- (instancetype)init -{ - @throw [NSException exceptionWithName:@"Must initialize with a name" reason:@"PINDiskCache must be initialized with a name. Call initWithName: instead." userInfo:nil]; - return [self initWithName:@""]; -} - -- (instancetype)initWithName:(NSString *)name -{ - return [self initWithName:name rootPath:[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]]; -} - -- (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath -{ - return [self initWithName:name rootPath:rootPath serializer:nil deserializer:nil]; -} - -- (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath serializer:(PINDiskCacheSerializerBlock)serializer deserializer:(PINDiskCacheDeserializerBlock)deserializer -{ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - return [self initWithName:name rootPath:rootPath serializer:serializer deserializer:deserializer operationQueue:[PINOperationQueue sharedOperationQueue]]; -#pragma clang diagnostic pop -} - -- (instancetype)initWithName:(NSString *)name - rootPath:(NSString *)rootPath - serializer:(PINDiskCacheSerializerBlock)serializer - deserializer:(PINDiskCacheDeserializerBlock)deserializer - operationQueue:(PINOperationQueue *)operationQueue -{ - return [self initWithName:name - prefix:PINDiskCachePrefix - rootPath:rootPath - serializer:serializer - deserializer:deserializer - keyEncoder:nil - keyDecoder:nil - operationQueue:operationQueue]; -} - -- (instancetype)initWithName:(NSString *)name - prefix:(NSString *)prefix - rootPath:(NSString *)rootPath - serializer:(PINDiskCacheSerializerBlock)serializer - deserializer:(PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(PINDiskCacheKeyDecoderBlock)keyDecoder - operationQueue:(PINOperationQueue *)operationQueue -{ - return [self initWithName:name prefix:prefix - rootPath:rootPath - serializer:serializer - deserializer:deserializer - keyEncoder:keyEncoder - keyDecoder:keyDecoder - operationQueue:operationQueue - ttlCache:NO]; -} - -- (instancetype)initWithName:(NSString *)name - prefix:(NSString *)prefix - rootPath:(NSString *)rootPath - serializer:(PINDiskCacheSerializerBlock)serializer - deserializer:(PINDiskCacheDeserializerBlock)deserializer - keyEncoder:(PINDiskCacheKeyEncoderBlock)keyEncoder - keyDecoder:(PINDiskCacheKeyDecoderBlock)keyDecoder - operationQueue:(PINOperationQueue *)operationQueue - ttlCache:(BOOL)ttlCache -{ - if (!name) { - return nil; - } - - NSAssert(((!serializer && !deserializer) || (serializer && deserializer)), - @"PINDiskCache must be initialized with a serializer AND deserializer."); - - NSAssert(((!keyEncoder && !keyDecoder) || (keyEncoder && keyDecoder)), - @"PINDiskCache must be initialized with an encoder AND decoder."); - - if (self = [super init]) { - __unused int result = pthread_mutex_init(&_mutex, NULL); - NSAssert(result == 0, @"Failed to init lock in PINDiskCache %@. Code: %d", self, result); - - _name = [name copy]; - _prefix = [prefix copy]; - _operationQueue = operationQueue; - _ttlCache = ttlCache; - _willAddObjectBlock = nil; - _willRemoveObjectBlock = nil; - _willRemoveAllObjectsBlock = nil; - _didAddObjectBlock = nil; - _didRemoveObjectBlock = nil; - _didRemoveAllObjectsBlock = nil; - - _byteCount = 0; - - // 50 MB by default - _byteLimit = 50 * 1024 * 1024; - // 30 days by default - _ageLimit = 60 * 60 * 24 * 30; - -#if TARGET_OS_IPHONE - _writingProtectionOptionSet = NO; - // This is currently the default for files, but we'd rather not write it if it's unspecified. - _writingProtectionOption = NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication; -#endif - - _metadata = [[NSMutableDictionary alloc] init]; - _diskStateKnown = NO; - - _cacheURL = [[self class] cacheURLWithRootPath:rootPath prefix:_prefix name:_name]; - - //setup serializers - if(serializer) { - _serializer = [serializer copy]; - } else { - _serializer = self.defaultSerializer; - } - - if(deserializer) { - _deserializer = [deserializer copy]; - } else { - _deserializer = self.defaultDeserializer; - } - - //setup key encoder/decoder - if(keyEncoder) { - _keyEncoder = [keyEncoder copy]; - } else { - _keyEncoder = self.defaultKeyEncoder; - } - - if(keyDecoder) { - _keyDecoder = [keyDecoder copy]; - } else { - _keyDecoder = self.defaultKeyDecoder; - } - - pthread_cond_init(&_diskWritableCondition, NULL); - pthread_cond_init(&_diskStateKnownCondition, NULL); - - //we don't want to do anything without setting up the disk cache, but we also don't want to block init, it can take a while to initialize. This must *not* be done on _operationQueue because other operations added may hold the lock and fill up the queue. - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [self lock]; - [self _locked_createCacheDirectory]; - [self unlock]; - [self initializeDiskProperties]; - }); - } - return self; -} - -- (NSString *)description -{ - return [[NSString alloc] initWithFormat:@"%@.%@.%p", PINDiskCachePrefix, _name, (__bridge void *)self]; -} - -+ (PINDiskCache *)sharedCache -{ - static PINDiskCache *cache; - static dispatch_once_t predicate; - - dispatch_once(&predicate, ^{ - cache = [[PINDiskCache alloc] initWithName:PINDiskCacheSharedName]; - }); - - return cache; -} - -+ (NSURL *)cacheURLWithRootPath:(NSString *)rootPath prefix:(NSString *)prefix name:(NSString *)name -{ - NSString *pathComponent = [[NSString alloc] initWithFormat:@"%@.%@", prefix, name]; - return [NSURL fileURLWithPathComponents:@[ rootPath, pathComponent ]]; -} - -#pragma mark - Private Methods - - -- (NSURL *)encodedFileURLForKey:(NSString *)key -{ - if (![key length]) - return nil; - - //Significantly improve performance by indicating that the URL will *not* result in a directory. - //Also note that accessing _cacheURL is safe without the lock because it is only set on init. - return [_cacheURL URLByAppendingPathComponent:[self encodedString:key] isDirectory:NO]; -} - -- (NSString *)keyForEncodedFileURL:(NSURL *)url -{ - NSString *fileName = [url lastPathComponent]; - if (!fileName) - return nil; - - return [self decodedString:fileName]; -} - -- (NSString *)encodedString:(NSString *)string -{ - return _keyEncoder(string); -} - -- (NSString *)decodedString:(NSString *)string -{ - return _keyDecoder(string); -} - -- (PINDiskCacheSerializerBlock)defaultSerializer -{ - return ^NSData*(id object, NSString *key){ - if (@available(iOS 11.0, macOS 10.13, tvOS 11.0, watchOS 4.0, *)) { - NSError *error = nil; - NSData *data = [NSKeyedArchiver archivedDataWithRootObject:object requiringSecureCoding:NO error:&error]; - PINDiskCacheError(error); - return data; - } else { - return [NSKeyedArchiver archivedDataWithRootObject:object]; - } - }; -} - -- (PINDiskCacheDeserializerBlock)defaultDeserializer -{ - return ^id(NSData * data, NSString *key){ - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; - }; -} - -- (PINDiskCacheKeyEncoderBlock)defaultKeyEncoder -{ - return ^NSString *(NSString *decodedKey) { - if (![decodedKey length]) { - return @""; - } - - if (@available(macOS 10.9, iOS 7.0, tvOS 9.0, watchOS 2.0, *)) { - NSString *encodedString = [decodedKey stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@".:/%"] invertedSet]]; - return encodedString; - } else { - CFStringRef static const charsToEscape = CFSTR(".:/%"); -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - CFStringRef escapedString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, - (__bridge CFStringRef)decodedKey, - NULL, - charsToEscape, - kCFStringEncodingUTF8); -#pragma clang diagnostic pop - - return (__bridge_transfer NSString *)escapedString; - } - }; -} - -- (PINDiskCacheKeyEncoderBlock)defaultKeyDecoder -{ - return ^NSString *(NSString *encodedKey) { - if (![encodedKey length]) { - return @""; - } - - if (@available(macOS 10.9, iOS 7.0, tvOS 9.0, watchOS 2.0, *)) { - return [encodedKey stringByRemovingPercentEncoding]; - } else { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - CFStringRef unescapedString = CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, - (__bridge CFStringRef)encodedKey, - CFSTR(""), - kCFStringEncodingUTF8); -#pragma clang diagnostic pop - return (__bridge_transfer NSString *)unescapedString; - } - }; -} - - -#pragma mark - Private Trash Methods - - -+ (dispatch_queue_t)sharedTrashQueue -{ - static dispatch_queue_t trashQueue; - static dispatch_once_t predicate; - - dispatch_once(&predicate, ^{ - NSString *queueName = [[NSString alloc] initWithFormat:@"%@.trash", PINDiskCachePrefix]; - trashQueue = dispatch_queue_create([queueName UTF8String], DISPATCH_QUEUE_SERIAL); - dispatch_set_target_queue(trashQueue, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)); - }); - - return trashQueue; -} - -+ (NSLock *)sharedLock -{ - static NSLock *sharedLock; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedLock = [NSLock new]; - }); - return sharedLock; -} - -+ (NSURL *)sharedTrashURL -{ - NSURL *trashURL = nil; - - [[PINDiskCache sharedLock] lock]; - if (_sharedTrashURL == nil) { - NSString *uniqueString = [[NSProcessInfo processInfo] globallyUniqueString]; - _sharedTrashURL = [[[NSURL alloc] initFileURLWithPath:NSTemporaryDirectory()] URLByAppendingPathComponent:uniqueString isDirectory:YES]; - - NSError *error = nil; - [[NSFileManager defaultManager] createDirectoryAtURL:_sharedTrashURL - withIntermediateDirectories:YES - attributes:nil - error:&error]; - PINDiskCacheError(error); - } - trashURL = _sharedTrashURL; - [[PINDiskCache sharedLock] unlock]; - - return trashURL; -} - -+ (BOOL)moveItemAtURLToTrash:(NSURL *)itemURL -{ - if (![[NSFileManager defaultManager] fileExistsAtPath:[itemURL path]]) - return NO; - - NSError *error = nil; - NSString *uniqueString = [[NSProcessInfo processInfo] globallyUniqueString]; - NSURL *uniqueTrashURL = [[PINDiskCache sharedTrashURL] URLByAppendingPathComponent:uniqueString isDirectory:NO]; - BOOL moved = [[NSFileManager defaultManager] moveItemAtURL:itemURL toURL:uniqueTrashURL error:&error]; - PINDiskCacheError(error); - return moved; -} - -+ (void)emptyTrash -{ - dispatch_async([PINDiskCache sharedTrashQueue], ^{ - NSURL *trashURL = nil; - - // If _sharedTrashURL is unset, there's nothing left to do because it hasn't been accessed and therefore items haven't been added to it. - // If it is set, we can just remove it. - // We also need to nil out _sharedTrashURL so that a new one will be created if there's an attempt to move a new file to the trash. - [[PINDiskCache sharedLock] lock]; - if (_sharedTrashURL != nil) { - trashURL = _sharedTrashURL; - _sharedTrashURL = nil; - } - [[PINDiskCache sharedLock] unlock]; - - if (trashURL != nil) { - NSError *removeTrashedItemError = nil; - [[NSFileManager defaultManager] removeItemAtURL:trashURL error:&removeTrashedItemError]; - PINDiskCacheError(removeTrashedItemError); - } - }); -} - -#pragma mark - Private Queue Methods - - -- (BOOL)_locked_createCacheDirectory -{ - BOOL created = NO; - if ([[NSFileManager defaultManager] fileExistsAtPath:[_cacheURL path]] == NO) { - NSError *error = nil; - created = [[NSFileManager defaultManager] createDirectoryAtURL:_cacheURL - withIntermediateDirectories:YES - attributes:nil - error:&error]; - PINDiskCacheError(error); - } - - - - // while this may not be true if success is false, it's better than deadlocking later. - _diskWritable = YES; - pthread_cond_broadcast(&_diskWritableCondition); - - return created; -} - -+ (NSArray *)resourceKeys -{ - static NSArray *resourceKeys = nil; - static dispatch_once_t predicate; - - dispatch_once(&predicate, ^{ - resourceKeys = @[ NSURLCreationDateKey, NSURLContentModificationDateKey, NSURLTotalFileAllocatedSizeKey ]; - }); - - return resourceKeys; -} - -/** - * @return File size in bytes. - */ -- (NSUInteger)_locked_initializeDiskPropertiesForFile:(NSURL *)fileURL fileKey:(NSString *)fileKey -{ - NSError *error = nil; - - NSDictionary *dictionary = [fileURL resourceValuesForKeys:[PINDiskCache resourceKeys] error:&error]; - PINDiskCacheError(error); - - if (_metadata[fileKey] == nil) { - _metadata[fileKey] = [[PINDiskCacheMetadata alloc] init]; - } - - NSDate *createdDate = dictionary[NSURLCreationDateKey]; - if (createdDate && fileKey) - _metadata[fileKey].createdDate = createdDate; - - NSDate *lastModifiedDate = dictionary[NSURLContentModificationDateKey]; - if (lastModifiedDate && fileKey) - _metadata[fileKey].lastModifiedDate = lastModifiedDate; - - NSNumber *fileSize = dictionary[NSURLTotalFileAllocatedSizeKey]; - if (fileSize) { - _metadata[fileKey].size = fileSize; - } - - if (_ttlCache) { - NSTimeInterval ageLimit; - ssize_t res = getxattr(PINDiskCacheFileSystemRepresentation(fileURL), PINDiskCacheAgeLimitAttributeName, &ageLimit, sizeof(NSTimeInterval), 0, 0); - if(res > 0) { - _metadata[fileKey].ageLimit = ageLimit; - } else if (res == -1) { - // Ignore if the extended attribute was never recorded for this file. - if (errno != ENOATTR) { - NSDictionary *userInfo = @{ PINDiskCacheErrorReadFailureCodeKey : @(errno)}; - error = [NSError errorWithDomain:PINDiskCacheErrorDomain code:PINDiskCacheErrorReadFailure userInfo:userInfo]; - PINDiskCacheError(error); - } - } - } - - return [fileSize unsignedIntegerValue]; -} - -- (void)initializeDiskProperties -{ - NSUInteger byteCount = 0; - - NSError *error = nil; - - [self lock]; - NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:_cacheURL - includingPropertiesForKeys:[PINDiskCache resourceKeys] - options:NSDirectoryEnumerationSkipsHiddenFiles - error:&error]; - [self unlock]; - - PINDiskCacheError(error); - - for (NSURL *fileURL in files) { - NSString *fileKey = [self keyForEncodedFileURL:fileURL]; - // Continually grab and release lock while processing files to avoid contention - [self lock]; - if (_metadata[fileKey] == nil) { - byteCount += [self _locked_initializeDiskPropertiesForFile:fileURL fileKey:fileKey]; - } - [self unlock]; - } - - [self lock]; - if (byteCount > 0) - _byteCount = byteCount; - - if (self->_byteLimit > 0 && self->_byteCount > self->_byteLimit) - [self trimToSizeByDateAsync:self->_byteLimit completion:nil]; - - if (self->_ttlCache) - [self removeExpiredObjectsAsync:nil]; - - _diskStateKnown = YES; - pthread_cond_broadcast(&_diskStateKnownCondition); - [self unlock]; -} - -- (void)asynchronouslySetFileModificationDate:(NSDate *)date forURL:(NSURL *)fileURL -{ - [self.operationQueue scheduleOperation:^{ - [self lockForWriting]; - [self _locked_setFileModificationDate:date forURL:fileURL]; - [self unlock]; - } withPriority:PINOperationQueuePriorityLow]; -} - -- (BOOL)_locked_setFileModificationDate:(NSDate *)date forURL:(NSURL *)fileURL -{ - if (!date || !fileURL) { - return NO; - } - - NSError *error = nil; - BOOL success = [[NSFileManager defaultManager] setAttributes:@{ NSFileModificationDate: date } - ofItemAtPath:[fileURL path] - error:&error]; - PINDiskCacheError(error); - - return success; -} - -- (void)asynchronouslySetAgeLimit:(NSTimeInterval)ageLimit forURL:(NSURL *)fileURL -{ - [self.operationQueue scheduleOperation:^{ - [self lockForWriting]; - [self _locked_setAgeLimit:ageLimit forURL:fileURL]; - [self unlock]; - } withPriority:PINOperationQueuePriorityLow]; -} - -- (BOOL)_locked_setAgeLimit:(NSTimeInterval)ageLimit forURL:(NSURL *)fileURL -{ - if (!fileURL) { - return NO; - } - - NSError *error = nil; - if (ageLimit <= 0.0) { - if (removexattr(PINDiskCacheFileSystemRepresentation(fileURL), PINDiskCacheAgeLimitAttributeName, 0) != 0) { - // Ignore if the extended attribute was never recorded for this file. - if (errno != ENOATTR) { - NSDictionary *userInfo = @{ PINDiskCacheErrorWriteFailureCodeKey : @(errno)}; - error = [NSError errorWithDomain:PINDiskCacheErrorDomain code:PINDiskCacheErrorWriteFailure userInfo:userInfo]; - PINDiskCacheError(error); - } - } - } else { - if (setxattr(PINDiskCacheFileSystemRepresentation(fileURL), PINDiskCacheAgeLimitAttributeName, &ageLimit, sizeof(NSTimeInterval), 0, 0) != 0) { - NSDictionary *userInfo = @{ PINDiskCacheErrorWriteFailureCodeKey : @(errno)}; - error = [NSError errorWithDomain:PINDiskCacheErrorDomain code:PINDiskCacheErrorWriteFailure userInfo:userInfo]; - PINDiskCacheError(error); - } - } - - if (!error) { - NSString *key = [self keyForEncodedFileURL:fileURL]; - if (key) { - _metadata[key].ageLimit = ageLimit; - } - } - - return !error; -} - -- (BOOL)removeFileAndExecuteBlocksForKey:(NSString *)key -{ - NSURL *fileURL = [self encodedFileURLForKey:key]; - if (!fileURL) { - return NO; - } - - // We only need to lock until writable at the top because once writable, always writable - [self lockForWriting]; - if (![[NSFileManager defaultManager] fileExistsAtPath:[fileURL path]]) { - [self unlock]; - return NO; - } - - PINDiskCacheObjectBlock willRemoveObjectBlock = _willRemoveObjectBlock; - if (willRemoveObjectBlock) { - [self unlock]; - willRemoveObjectBlock(self, key, nil); - [self lock]; - } - - BOOL trashed = [PINDiskCache moveItemAtURLToTrash:fileURL]; - if (!trashed) { - [self unlock]; - return NO; - } - - [PINDiskCache emptyTrash]; - - NSNumber *byteSize = _metadata[key].size; - if (byteSize) - self.byteCount = _byteCount - [byteSize unsignedIntegerValue]; // atomic - - [_metadata removeObjectForKey:key]; - - PINDiskCacheObjectBlock didRemoveObjectBlock = _didRemoveObjectBlock; - if (didRemoveObjectBlock) { - [self unlock]; - _didRemoveObjectBlock(self, key, nil); - [self lock]; - } - - [self unlock]; - - return YES; -} - -- (void)trimDiskToSize:(NSUInteger)trimByteCount -{ - NSMutableArray *keysToRemove = nil; - - [self lockForWriting]; - if (_byteCount > trimByteCount) { - keysToRemove = [[NSMutableArray alloc] init]; - - NSArray *keysSortedBySize = [_metadata keysSortedByValueUsingComparator:^NSComparisonResult(PINDiskCacheMetadata * _Nonnull obj1, PINDiskCacheMetadata * _Nonnull obj2) { - return [obj1.size compare:obj2.size]; - }]; - - NSUInteger bytesSaved = 0; - for (NSString *key in [keysSortedBySize reverseObjectEnumerator]) { // largest objects first - [keysToRemove addObject:key]; - NSNumber *byteSize = _metadata[key].size; - if (byteSize) { - bytesSaved += [byteSize unsignedIntegerValue]; - } - if (_byteCount - bytesSaved <= trimByteCount) { - break; - } - } - } - [self unlock]; - - for (NSString *key in keysToRemove) { - [self removeFileAndExecuteBlocksForKey:key]; - } -} - -// This is the default trimming method which happens automatically -- (void)trimDiskToSizeByDate:(NSUInteger)trimByteCount -{ - if (self.isTTLCache) { - [self removeExpiredObjects]; - } - - NSMutableArray *keysToRemove = nil; - - [self lockForWriting]; - if (_byteCount > trimByteCount) { - keysToRemove = [[NSMutableArray alloc] init]; - - // last modified represents last access. - NSArray *keysSortedByLastModifiedDate = [_metadata keysSortedByValueUsingComparator:^NSComparisonResult(PINDiskCacheMetadata * _Nonnull obj1, PINDiskCacheMetadata * _Nonnull obj2) { - return [obj1.lastModifiedDate compare:obj2.lastModifiedDate]; - }]; - - NSUInteger bytesSaved = 0; - // objects accessed last first. - for (NSString *key in keysSortedByLastModifiedDate) { - [keysToRemove addObject:key]; - NSNumber *byteSize = _metadata[key].size; - if (byteSize) { - bytesSaved += [byteSize unsignedIntegerValue]; - } - if (_byteCount - bytesSaved <= trimByteCount) { - break; - } - } - } - [self unlock]; - - for (NSString *key in keysToRemove) { - [self removeFileAndExecuteBlocksForKey:key]; - } -} - -- (void)trimDiskToDate:(NSDate *)trimDate -{ - [self lockForWriting]; - NSArray *keysSortedByCreatedDate = [_metadata keysSortedByValueUsingComparator:^NSComparisonResult(PINDiskCacheMetadata * _Nonnull obj1, PINDiskCacheMetadata * _Nonnull obj2) { - return [obj1.createdDate compare:obj2.createdDate]; - }]; - - NSMutableArray *keysToRemove = [[NSMutableArray alloc] init]; - - for (NSString *key in keysSortedByCreatedDate) { // oldest files first - NSDate *createdDate = _metadata[key].createdDate; - if (!createdDate || _metadata[key].ageLimit > 0.0) - continue; - - if ([createdDate compare:trimDate] == NSOrderedAscending) { // older than trim date - [keysToRemove addObject:key]; - } else { - break; - } - } - [self unlock]; - - for (NSString *key in keysToRemove) { - [self removeFileAndExecuteBlocksForKey:key]; - } -} - -- (void)trimToAgeLimitRecursively -{ - [self lock]; - NSTimeInterval ageLimit = _ageLimit; - [self unlock]; - if (ageLimit == 0.0) - return; - - NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:-ageLimit]; - [self trimToDateAsync:date completion:nil]; - - dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(ageLimit * NSEC_PER_SEC)); - dispatch_after(time, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) { - // Ensure that ageLimit is the same as when we were scheduled, otherwise, we've been - // rescheduled (another dispatch_after was issued) and should cancel. - BOOL shouldReschedule = YES; - [self lock]; - if (ageLimit != self->_ageLimit) { - shouldReschedule = NO; - } - [self unlock]; - - if (shouldReschedule) { - [self.operationQueue scheduleOperation:^{ - [self trimToAgeLimitRecursively]; - } withPriority:PINOperationQueuePriorityLow]; - } - }); -} - -#pragma mark - Public Asynchronous Methods - - -- (void)lockFileAccessWhileExecutingBlockAsync:(PINCacheBlock)block -{ - if (block == nil) { - return; - } - - [self.operationQueue scheduleOperation:^{ - [self lockForWriting]; - block(self); - [self unlock]; - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)containsObjectForKeyAsync:(NSString *)key completion:(PINDiskCacheContainsBlock)block -{ - if (!key || !block) - return; - - [self.operationQueue scheduleOperation:^{ - block([self containsObjectForKey:key]); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)objectForKeyAsync:(NSString *)key completion:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - NSURL *fileURL = nil; - id object = [self objectForKey:key fileURL:&fileURL]; - - block(self, key, object); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)fileURLForKeyAsync:(NSString *)key completion:(PINDiskCacheFileURLBlock)block -{ - if (block == nil) { - return; - } - - [self.operationQueue scheduleOperation:^{ - NSURL *fileURL = [self fileURLForKey:key]; - - [self lockForWriting]; - block(key, fileURL); - [self unlock]; - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key completion:(PINDiskCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withAgeLimit:0.0 completion:(PINDiskCacheObjectBlock)block]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit completion:(nullable PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - NSURL *fileURL = nil; - [self setObject:object forKey:key withAgeLimit:ageLimit fileURL:&fileURL]; - - if (block) { - block(self, key, object); - } - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost completion:(nullable PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key completion:(PINDiskCacheObjectBlock)block]; -} - -- (void)setObjectAsync:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit completion:(nullable PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withAgeLimit:ageLimit completion:(PINDiskCacheObjectBlock)block]; -} - -- (void)removeObjectForKeyAsync:(NSString *)key completion:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - NSURL *fileURL = nil; - [self removeObjectForKey:key fileURL:&fileURL]; - - if (block) { - block(self, key, nil); - } - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)trimToSizeAsync:(NSUInteger)trimByteCount completion:(PINCacheBlock)block -{ - PINOperationBlock operation = ^(id data) { - [self trimToSize:((NSNumber *)data).unsignedIntegerValue]; - }; - - dispatch_block_t completion = nil; - if (block) { - completion = ^{ - block(self); - }; - } - - [self.operationQueue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:PINDiskCacheOperationIdentifierTrimToSize - coalescingData:[NSNumber numberWithUnsignedInteger:trimByteCount] - dataCoalescingBlock:PINDiskTrimmingSizeCoalescingBlock - completion:completion]; -} - -- (void)trimToDateAsync:(NSDate *)trimDate completion:(PINCacheBlock)block -{ - PINOperationBlock operation = ^(id data){ - [self trimToDate:(NSDate *)data]; - }; - - dispatch_block_t completion = nil; - if (block) { - completion = ^{ - block(self); - }; - } - - [self.operationQueue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:PINDiskCacheOperationIdentifierTrimToDate - coalescingData:trimDate - dataCoalescingBlock:PINDiskTrimmingDateCoalescingBlock - completion:completion]; -} - -- (void)trimToSizeByDateAsync:(NSUInteger)trimByteCount completion:(PINCacheBlock)block -{ - PINOperationBlock operation = ^(id data){ - [self trimToSizeByDate:((NSNumber *)data).unsignedIntegerValue]; - }; - - dispatch_block_t completion = nil; - if (block) { - completion = ^{ - block(self); - }; - } - - [self.operationQueue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:PINDiskCacheOperationIdentifierTrimToSizeByDate - coalescingData:[NSNumber numberWithUnsignedInteger:trimByteCount] - dataCoalescingBlock:PINDiskTrimmingSizeCoalescingBlock - completion:completion]; -} - -- (void)removeExpiredObjectsAsync:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self removeExpiredObjects]; - - if (block) { - block(self); - } - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)removeAllObjectsAsync:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self removeAllObjects]; - - if (block) { - block(self); - } - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)enumerateObjectsWithBlockAsync:(PINDiskCacheFileURLEnumerationBlock)block completionBlock:(PINCacheBlock)completionBlock -{ - [self.operationQueue scheduleOperation:^{ - [self enumerateObjectsWithBlock:block]; - - if (completionBlock) { - completionBlock(self); - } - } withPriority:PINOperationQueuePriorityLow]; -} - -#pragma mark - Public Synchronous Methods - - -- (void)synchronouslyLockFileAccessWhileExecutingBlock:(PIN_NOESCAPE PINCacheBlock)block -{ - if (block) { - [self lockForWriting]; - block(self); - [self unlock]; - } -} - -- (BOOL)containsObjectForKey:(NSString *)key -{ - [self lock]; - if (_metadata[key] != nil || _diskStateKnown == NO) { - BOOL objectExpired = NO; - if (self->_ttlCache && _metadata[key].createdDate != nil) { - NSTimeInterval ageLimit = _metadata[key].ageLimit > 0.0 ? _metadata[key].ageLimit : self->_ageLimit; - objectExpired = ageLimit > 0 && fabs([_metadata[key].createdDate timeIntervalSinceDate:[NSDate date]]) > ageLimit; - } - [self unlock]; - return (!objectExpired && [self fileURLForKey:key updateFileModificationDate:NO] != nil); - } - [self unlock]; - return NO; -} - -- (nullable id)objectForKey:(NSString *)key -{ - return [self objectForKey:key fileURL:nil]; -} - -- (id)objectForKeyedSubscript:(NSString *)key -{ - return [self objectForKey:key]; -} - -- (nullable id )objectForKey:(NSString *)key fileURL:(NSURL **)outFileURL -{ - [self lock]; - BOOL containsKey = _metadata[key] != nil || _diskStateKnown == NO; - [self unlock]; - - if (!key || !containsKey) - return nil; - - id object = nil; - NSURL *fileURL = [self encodedFileURLForKey:key]; - - NSDate *now = [NSDate date]; - [self lock]; - if (self->_ttlCache) { - if (!_diskStateKnown) { - if (_metadata[key] == nil) { - NSString *fileKey = [self keyForEncodedFileURL:fileURL]; - [self _locked_initializeDiskPropertiesForFile:fileURL fileKey:fileKey]; - } - } - } - - NSTimeInterval ageLimit = _metadata[key].ageLimit > 0.0 ? _metadata[key].ageLimit : self->_ageLimit; - if (!self->_ttlCache || ageLimit <= 0 || fabs([_metadata[key].createdDate timeIntervalSinceDate:now]) < ageLimit) { - // If the cache should behave like a TTL cache, then only fetch the object if there's a valid ageLimit and the object is still alive - - NSData *objectData = [[NSData alloc] initWithContentsOfFile:[fileURL path]]; - - if (objectData) { - //Be careful with locking below. We unlock here so that we're not locked while deserializing, we re-lock after. - [self unlock]; - @try { - object = _deserializer(objectData, key); - } - @catch (NSException *exception) { - NSError *error = nil; - [self lock]; - [[NSFileManager defaultManager] removeItemAtPath:[fileURL path] error:&error]; - [self unlock]; - PINDiskCacheError(error) - PINDiskCacheException(exception); - } - [self lock]; - } - if (object) { - _metadata[key].lastModifiedDate = now; - [self asynchronouslySetFileModificationDate:now forURL:fileURL]; - } - } - [self unlock]; - - if (outFileURL) { - *outFileURL = fileURL; - } - - return object; -} - -/// Helper function to call fileURLForKey:updateFileModificationDate: -- (NSURL *)fileURLForKey:(NSString *)key -{ - // Don't update the file modification time, if self is a ttlCache - return [self fileURLForKey:key updateFileModificationDate:!self->_ttlCache]; -} - -- (NSURL *)fileURLForKey:(NSString *)key updateFileModificationDate:(BOOL)updateFileModificationDate -{ - if (!key) { - return nil; - } - - NSDate *now = [NSDate date]; - NSURL *fileURL = [self encodedFileURLForKey:key]; - - [self lockForWriting]; - if (fileURL.path && [[NSFileManager defaultManager] fileExistsAtPath:fileURL.path]) { - if (updateFileModificationDate) { - _metadata[key].lastModifiedDate = now; - [self asynchronouslySetFileModificationDate:now forURL:fileURL]; - } - } else { - fileURL = nil; - } - [self unlock]; - return fileURL; -} - -- (void)setObject:(id )object forKey:(NSString *)key -{ - [self setObject:object forKey:key withAgeLimit:0.0]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit -{ - [self setObject:object forKey:key withAgeLimit:ageLimit fileURL:nil]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit -{ - [self setObject:object forKey:key withAgeLimit:ageLimit]; -} - -- (void)setObject:(id )object forKey:(NSString *)key withCost:(NSUInteger)cost -{ - [self setObject:object forKey:key]; -} - -- (void)setObject:(id)object forKeyedSubscript:(NSString *)key -{ - if (object == nil) { - [self removeObjectForKey:key]; - } else { - [self setObject:object forKey:key]; - } -} - -- (void)setObject:(id )object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit fileURL:(NSURL **)outFileURL -{ - NSAssert(ageLimit <= 0.0 || (ageLimit > 0.0 && _ttlCache), @"ttlCache must be set to YES if setting an object-level age limit."); - - if (!key || !object) - return; - - NSDataWritingOptions writeOptions = NSDataWritingAtomic; - #if TARGET_OS_IPHONE - if (self.writingProtectionOptionSet) { - writeOptions |= self.writingProtectionOption; - } - #endif - - // Remain unlocked here so that we're not locked while serializing. - NSData *data = _serializer(object, key); - NSURL *fileURL = nil; - - NSUInteger byteLimit = self.byteLimit; - if (data.length <= byteLimit || byteLimit == 0) { - // The cache is large enough to fit this object (although we may need to evict others). - fileURL = [self encodedFileURLForKey:key]; - } else { - // The cache isn't large enough to fit this object (even if all others were evicted). - // We should not write it to disk because it will be deleted immediately after. - if (outFileURL) { - *outFileURL = nil; - } - return; - } - - [self lockForWriting]; - PINDiskCacheObjectBlock willAddObjectBlock = self->_willAddObjectBlock; - if (willAddObjectBlock) { - [self unlock]; - willAddObjectBlock(self, key, object); - [self lock]; - } - - NSError *writeError = nil; - BOOL written = [data writeToURL:fileURL options:writeOptions error:&writeError]; - PINDiskCacheError(writeError); - - if (written) { - if (_metadata[key] == nil) { - _metadata[key] = [[PINDiskCacheMetadata alloc] init]; - } - - NSError *error = nil; - NSDictionary *values = [fileURL resourceValuesForKeys:@[ NSURLCreationDateKey, NSURLContentModificationDateKey, NSURLTotalFileAllocatedSizeKey ] error:&error]; - PINDiskCacheError(error); - - NSNumber *diskFileSize = [values objectForKey:NSURLTotalFileAllocatedSizeKey]; - if (diskFileSize) { - NSNumber *prevDiskFileSize = self->_metadata[key].size; - if (prevDiskFileSize) { - self.byteCount = self->_byteCount - [prevDiskFileSize unsignedIntegerValue]; - } - self->_metadata[key].size = diskFileSize; - self.byteCount = self->_byteCount + [diskFileSize unsignedIntegerValue]; // atomic - } - NSDate *createdDate = [values objectForKey:NSURLCreationDateKey]; - if (createdDate) { - self->_metadata[key].createdDate = createdDate; - } - NSDate *lastModifiedDate = [values objectForKey:NSURLContentModificationDateKey]; - if (lastModifiedDate) { - self->_metadata[key].lastModifiedDate = lastModifiedDate; - } - [self asynchronouslySetAgeLimit:ageLimit forURL:fileURL]; - if (self->_byteLimit > 0 && self->_byteCount > self->_byteLimit) - [self trimToSizeByDateAsync:self->_byteLimit completion:nil]; - } else { - fileURL = nil; - } - - PINDiskCacheObjectBlock didAddObjectBlock = self->_didAddObjectBlock; - if (didAddObjectBlock) { - [self unlock]; - didAddObjectBlock(self, key, object); - [self lock]; - } - [self unlock]; - - if (outFileURL) { - *outFileURL = fileURL; - } -} - -- (void)removeObjectForKey:(NSString *)key -{ - [self removeObjectForKey:key fileURL:nil]; -} - -- (void)removeObjectForKey:(NSString *)key fileURL:(NSURL **)outFileURL -{ - if (!key) - return; - - NSURL *fileURL = nil; - - fileURL = [self encodedFileURLForKey:key]; - - [self removeFileAndExecuteBlocksForKey:key]; - - if (outFileURL) { - *outFileURL = fileURL; - } -} - -- (void)trimToSize:(NSUInteger)trimByteCount -{ - if (trimByteCount == 0) { - [self removeAllObjects]; - return; - } - - [self trimDiskToSize:trimByteCount]; -} - -- (void)trimToDate:(NSDate *)trimDate -{ - if (!trimDate) - return; - - if ([trimDate isEqualToDate:[NSDate distantPast]]) { - [self removeAllObjects]; - return; - } - - [self trimDiskToDate:trimDate]; -} - -- (void)trimToSizeByDate:(NSUInteger)trimByteCount -{ - if (trimByteCount == 0) { - [self removeAllObjects]; - return; - } - - [self trimDiskToSizeByDate:trimByteCount]; -} - -- (void)removeExpiredObjects -{ - [self lockForWriting]; - NSDate *now = [NSDate date]; - NSMutableArray *expiredObjectKeys = [NSMutableArray array]; - [_metadata enumerateKeysAndObjectsUsingBlock:^(NSString * _Nonnull key, PINDiskCacheMetadata * _Nonnull obj, BOOL * _Nonnull stop) { - NSTimeInterval ageLimit = obj.ageLimit > 0.0 ? obj.ageLimit : self->_ageLimit; - NSDate *expirationDate = [obj.createdDate dateByAddingTimeInterval:ageLimit]; - if ([expirationDate compare:now] == NSOrderedAscending) { // Expiration date has passed - [expiredObjectKeys addObject:key]; - } - }]; - [self unlock]; - - for (NSString *key in expiredObjectKeys) { - //unlock, removeFileAndExecuteBlocksForKey handles locking itself - [self removeFileAndExecuteBlocksForKey:key]; - } -} - -- (void)removeAllObjects -{ - // We don't need to know the disk state since we're just going to remove everything. - [self lockForWriting]; - PINCacheBlock willRemoveAllObjectsBlock = self->_willRemoveAllObjectsBlock; - if (willRemoveAllObjectsBlock) { - [self unlock]; - willRemoveAllObjectsBlock(self); - [self lock]; - } - - [PINDiskCache moveItemAtURLToTrash:self->_cacheURL]; - [PINDiskCache emptyTrash]; - - [self _locked_createCacheDirectory]; - - [self->_metadata removeAllObjects]; - self.byteCount = 0; // atomic - - PINCacheBlock didRemoveAllObjectsBlock = self->_didRemoveAllObjectsBlock; - if (didRemoveAllObjectsBlock) { - [self unlock]; - didRemoveAllObjectsBlock(self); - [self lock]; - } - - [self unlock]; -} - -- (void)enumerateObjectsWithBlock:(PIN_NOESCAPE PINDiskCacheFileURLEnumerationBlock)block -{ - if (!block) - return; - - [self lockAndWaitForKnownState]; - NSDate *now = [NSDate date]; - - for (NSString *key in _metadata) { - NSURL *fileURL = [self encodedFileURLForKey:key]; - // If the cache should behave like a TTL cache, then only fetch the object if there's a valid ageLimit and the object is still alive - NSDate *createdDate = _metadata[key].createdDate; - NSTimeInterval ageLimit = _metadata[key].ageLimit > 0.0 ? _metadata[key].ageLimit : self->_ageLimit; - if (!self->_ttlCache || ageLimit <= 0 || (createdDate && fabs([createdDate timeIntervalSinceDate:now]) < ageLimit)) { - BOOL stop = NO; - block(key, fileURL, &stop); - if (stop) - break; - } - } - [self unlock]; -} - -#pragma mark - Public Thread Safe Accessors - - -- (PINDiskCacheObjectBlock)willAddObjectBlock -{ - PINDiskCacheObjectBlock block = nil; - - [self lock]; - block = _willAddObjectBlock; - [self unlock]; - - return block; -} - -- (void)setWillAddObjectBlock:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_willAddObjectBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (PINDiskCacheObjectBlock)willRemoveObjectBlock -{ - PINDiskCacheObjectBlock block = nil; - - [self lock]; - block = _willRemoveObjectBlock; - [self unlock]; - - return block; -} - -- (void)setWillRemoveObjectBlock:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_willRemoveObjectBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (PINCacheBlock)willRemoveAllObjectsBlock -{ - PINCacheBlock block = nil; - - [self lock]; - block = _willRemoveAllObjectsBlock; - [self unlock]; - - return block; -} - -- (void)setWillRemoveAllObjectsBlock:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_willRemoveAllObjectsBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (PINDiskCacheObjectBlock)didAddObjectBlock -{ - PINDiskCacheObjectBlock block = nil; - - [self lock]; - block = _didAddObjectBlock; - [self unlock]; - - return block; -} - -- (void)setDidAddObjectBlock:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_didAddObjectBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (PINDiskCacheObjectBlock)didRemoveObjectBlock -{ - PINDiskCacheObjectBlock block = nil; - - [self lock]; - block = _didRemoveObjectBlock; - [self unlock]; - - return block; -} - -- (void)setDidRemoveObjectBlock:(PINDiskCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_didRemoveObjectBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (PINCacheBlock)didRemoveAllObjectsBlock -{ - PINCacheBlock block = nil; - - [self lock]; - block = _didRemoveAllObjectsBlock; - [self unlock]; - - return block; -} - -- (void)setDidRemoveAllObjectsBlock:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_didRemoveAllObjectsBlock = [block copy]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (NSUInteger)byteLimit -{ - NSUInteger byteLimit; - - [self lock]; - byteLimit = _byteLimit; - [self unlock]; - - return byteLimit; -} - -- (void)setByteLimit:(NSUInteger)byteLimit -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_byteLimit = byteLimit; - [self unlock]; - - if (byteLimit > 0) - [self trimDiskToSizeByDate:byteLimit]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (NSTimeInterval)ageLimit -{ - NSTimeInterval ageLimit; - - [self lock]; - ageLimit = _ageLimit; - [self unlock]; - - return ageLimit; -} - -- (void)setAgeLimit:(NSTimeInterval)ageLimit -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_ageLimit = ageLimit; - [self unlock]; - - [self.operationQueue scheduleOperation:^{ - [self trimToAgeLimitRecursively]; - } withPriority:PINOperationQueuePriorityLow]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (BOOL)isTTLCache -{ - BOOL isTTLCache; - - [self lock]; - isTTLCache = _ttlCache; - [self unlock]; - - return isTTLCache; -} - -#if TARGET_OS_IPHONE -- (NSDataWritingOptions)writingProtectionOption -{ - NSDataWritingOptions option; - - [self lock]; - option = _writingProtectionOption; - [self unlock]; - - return option; -} - -- (void)setWritingProtectionOption:(NSDataWritingOptions)writingProtectionOption -{ - [self.operationQueue scheduleOperation:^{ - NSDataWritingOptions option = NSDataWritingFileProtectionMask & writingProtectionOption; - - [self lock]; - self->_writingProtectionOptionSet = YES; - self->_writingProtectionOption = option; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} -#endif - -- (void)lockForWriting -{ - [self lock]; - - // Lock if the disk isn't writable. - if (_diskWritable == NO) { - pthread_cond_wait(&_diskWritableCondition, &_mutex); - } -} - -- (void)lockAndWaitForKnownState -{ - [self lock]; - - // Lock if the disk state isn't known. - if (_diskStateKnown == NO) { - pthread_cond_wait(&_diskStateKnownCondition, &_mutex); - } -} - -- (void)lock -{ - __unused int result = pthread_mutex_lock(&_mutex); - NSAssert(result == 0, @"Failed to lock PINDiskCache %@. Code: %d", self, result); -} - -- (void)unlock -{ - __unused int result = pthread_mutex_unlock(&_mutex); - NSAssert(result == 0, @"Failed to unlock PINDiskCache %@. Code: %d", self, result); -} - -@end - -@implementation PINDiskCache (Deprecated) - -- (void)lockFileAccessWhileExecutingBlock:(nullable PINCacheBlock)block -{ - [self lockFileAccessWhileExecutingBlockAsync:block]; -} - -- (void)containsObjectForKey:(NSString *)key block:(PINDiskCacheContainsBlock)block -{ - [self containsObjectForKeyAsync:key completion:block]; -} - -- (void)objectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block -{ - [self objectForKeyAsync:key completion:block]; -} - -- (void)fileURLForKey:(NSString *)key block:(nullable PINDiskCacheFileURLBlock)block -{ - [self fileURLForKeyAsync:key completion:block]; -} - -- (void)setObject:(id )object forKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key completion:block]; -} - -- (void)removeObjectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block -{ - [self removeObjectForKeyAsync:key completion:block]; -} - -- (void)trimToDate:(NSDate *)date block:(nullable PINDiskCacheBlock)block -{ - [self trimToDateAsync:date completion:^(id diskCache) { - if (block) { - block((PINDiskCache *)diskCache); - } - }]; -} - -- (void)trimToSize:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block -{ - [self trimToSizeAsync:byteCount completion:^(id diskCache) { - if (block) { - block((PINDiskCache *)diskCache); - } - }]; -} - -- (void)trimToSizeByDate:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block -{ - [self trimToSizeAsync:byteCount completion:^(id diskCache) { - if (block) { - block((PINDiskCache *)diskCache); - } - }]; -} - -- (void)removeAllObjects:(nullable PINDiskCacheBlock)block -{ - [self removeAllObjectsAsync:^(id diskCache) { - if (block) { - block((PINDiskCache *)diskCache); - } - }]; -} - -- (void)enumerateObjectsWithBlock:(PINDiskCacheFileURLBlock)block completionBlock:(nullable PINDiskCacheBlock)completionBlock -{ - [self enumerateObjectsWithBlockAsync:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL * _Nonnull stop) { - block(key, fileURL); - } completionBlock:^(id diskCache) { - if (completionBlock) { - completionBlock((PINDiskCache *)diskCache); - } - }]; -} - -- (void)setTtlCache:(BOOL)ttlCache -{ - [self.operationQueue scheduleOperation:^{ - [self lock]; - self->_ttlCache = ttlCache; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -@end - -@implementation PINDiskCacheMetadata -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINMemoryCache.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINMemoryCache.h deleted file mode 100644 index ef413ce4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINMemoryCache.h +++ /dev/null @@ -1,245 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -@class PINMemoryCache; -@class PINOperationQueue; - - -/** - `PINMemoryCache` is a fast, thread safe key/value store similar to `NSCache`. On iOS it will clear itself - automatically to reduce memory usage when the app receives a memory warning or goes into the background. - - Access is natively synchronous. Asynchronous variations are provided. Every asynchronous method accepts a - callback block that runs on a concurrent , with cache reads and writes protected by a lock. - - All access to the cache is dated so the that the least-used objects can be trimmed first. Setting an - optional will trigger a GCD timer to periodically to trim the cache to that age. - - Objects can optionally be set with a "cost", which could be a byte count or any other meaningful integer. - Setting a will automatically keep the cache below that value with . - - Values will not persist after application relaunch or returning from the background. See for - a memory cache backed by a disk cache. - */ - -PIN_SUBCLASSING_RESTRICTED -@interface PINMemoryCache : NSObject - -#pragma mark - Properties -/// @name Core - -/** - The total accumulated cost. - */ -@property (readonly) NSUInteger totalCost; - -/** - The maximum cost allowed to accumulate before objects begin to be removed with . - */ -@property (assign) NSUInteger costLimit; - -/** - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value - greater than `0.0` will start a recurring GCD timer with the same period that calls . - Setting it back to `0.0` will stop the timer. Defaults to `0.0`. - */ -@property (assign) NSTimeInterval ageLimit; - -/** - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the - cache, it only lives as long as self.ageLimit. This has the following implications: - - Accessing an object in the cache does not extend that object's lifetime in the cache - - When attempting to access an object in the cache that has lived longer than self.ageLimit, - the cache will behave as if the object does not exist - - @note If an object-level age limit is set via one of the @c -setObject:forKey:withAgeLimit methods, - that age limit overrides self.ageLimit. The overridden object age limit could be greater or - less than self.agelimit but must be greater than zero. - */ -@property (nonatomic, readonly, getter=isTTLCache) BOOL ttlCache; - -/** - When `YES` on iOS the cache will remove all objects when the app receives a memory warning. - Defaults to `YES`. - */ -@property (assign) BOOL removeAllObjectsOnMemoryWarning; - -/** - When `YES` on iOS the cache will remove all objects when the app enters the background. - Defaults to `YES`. - */ -@property (assign) BOOL removeAllObjectsOnEnteringBackground; - -#pragma mark - Event Blocks -/// @name Event Blocks - -/** - A block to be executed just before an object is added to the cache. This block will be excuted within - a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheObjectBlock willAddObjectBlock; - -/** - A block to be executed just before an object is removed from the cache. This block will be excuted - within a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheObjectBlock willRemoveObjectBlock; - -/** - A block to be executed just before all objects are removed from the cache as a result of . - This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheBlock willRemoveAllObjectsBlock; - -/** - A block to be executed just after an object is added to the cache. This block will be excuted within - a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheObjectBlock didAddObjectBlock; - -/** - A block to be executed just after an object is removed from the cache. This block will be excuted - within a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheObjectBlock didRemoveObjectBlock; - -/** - A block to be executed just after all objects are removed from the cache as a result of . - This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - */ -@property (nullable, copy) PINCacheBlock didRemoveAllObjectsBlock; - -/** - A block to be executed upon receiving a memory warning (iOS only) potentially in parallel with other blocks on the . - This block will be executed regardless of the value of . Defaults to `nil`. - */ -@property (nullable, copy) PINCacheBlock didReceiveMemoryWarningBlock; - -/** - A block to be executed when the app enters the background (iOS only) potentially in parallel with other blocks on the . - This block will be executed regardless of the value of . Defaults to `nil`. - */ -@property (nullable, copy) PINCacheBlock didEnterBackgroundBlock; - -#pragma mark - Lifecycle -/// @name Shared Cache - -/** - A shared cache. - - @result The shared singleton cache instance. - */ -@property (class, strong, readonly) PINMemoryCache *sharedCache; - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue; - -- (instancetype)initWithName:(NSString *)name operationQueue:(PINOperationQueue *)operationQueue; - -- (instancetype)initWithName:(NSString *)name operationQueue:(PINOperationQueue *)operationQueue ttlCache:(BOOL)ttlCache NS_DESIGNATED_INITIALIZER; - -#pragma mark - Asynchronous Methods -/// @name Asynchronous Methods - -/** - Removes objects from the cache, costliest objects first, until the is below the specified - value. This method returns immediately and executes the passed block after the cache has been trimmed, - potentially in parallel with other blocks on the . - - @param cost The total accumulation allowed to remain after the cache has been trimmed. - @param block A block to be executed concurrently after the cache has been trimmed, or nil. - */ -- (void)trimToCostAsync:(NSUInteger)cost completion:(nullable PINCacheBlock)block; - -/** - Removes objects from the cache, ordered by date (least recently used first), until the is below - the specified value. This method returns immediately and executes the passed block after the cache has been - trimmed, potentially in parallel with other blocks on the . - - @param cost The total accumulation allowed to remain after the cache has been trimmed. - @param block A block to be executed concurrently after the cache has been trimmed, or nil. - */ -- (void)trimToCostByDateAsync:(NSUInteger)cost completion:(nullable PINCacheBlock)block; - -/** - Loops through all objects in the cache with reads and writes suspended. Calling serial methods which - write to the cache inside block may be unsafe and may result in a deadlock. This method returns immediately. - - @param block A block to be executed for every object in the cache. - @param completionBlock An optional block to be executed concurrently when the enumeration is complete. - */ -- (void)enumerateObjectsWithBlockAsync:(PINCacheObjectEnumerationBlock)block completionBlock:(nullable PINCacheBlock)completionBlock; - -#pragma mark - Synchronous Methods -/// @name Synchronous Methods - -/** - Removes objects from the cache, costliest objects first, until the is below the specified - value. This method blocks the calling thread until the cache has been trimmed. - - @see trimToCostAsync: - @param cost The total accumulation allowed to remain after the cache has been trimmed. - */ -- (void)trimToCost:(NSUInteger)cost; - -/** - Removes objects from the cache, ordered by date (least recently used first), until the is below - the specified value. This method blocks the calling thread until the cache has been trimmed. - - @see trimToCostByDateAsync: - @param cost The total accumulation allowed to remain after the cache has been trimmed. - */ -- (void)trimToCostByDate:(NSUInteger)cost; - -/** - Loops through all objects in the cache within a memory lock (reads and writes are suspended during the enumeration). - This method blocks the calling thread until all objects have been enumerated. - Calling synchronous methods on the cache within this callback will likely cause a deadlock. - - @see enumerateObjectsWithBlockAsync:completionBlock: - @param block A block to be executed for every object in the cache. - - @warning Do not call this method within the event blocks (, etc.) - Instead use the asynchronous version, . - - */ -- (void)enumerateObjectsWithBlock:(PIN_NOESCAPE PINCacheObjectEnumerationBlock)block; - -@end - - -#pragma mark - Deprecated - -typedef void (^PINMemoryCacheBlock)(PINMemoryCache *cache); -typedef void (^PINMemoryCacheObjectBlock)(PINMemoryCache *cache, NSString *key, id _Nullable object); -typedef void (^PINMemoryCacheContainmentBlock)(BOOL containsObject); - -@interface PINMemoryCache (Deprecated) -- (void)containsObjectForKey:(NSString *)key block:(PINMemoryCacheContainmentBlock)block __attribute__((deprecated)); -- (void)objectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block __attribute__((deprecated)); -- (void)setObject:(id)object forKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block __attribute__((deprecated)); -- (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost block:(nullable PINMemoryCacheObjectBlock)block __attribute__((deprecated)); -- (void)removeObjectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block __attribute__((deprecated)); -- (void)trimToDate:(NSDate *)date block:(nullable PINMemoryCacheBlock)block __attribute__((deprecated)); -- (void)trimToCost:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block __attribute__((deprecated)); -- (void)trimToCostByDate:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block __attribute__((deprecated)); -- (void)removeAllObjects:(nullable PINMemoryCacheBlock)block __attribute__((deprecated)); -- (void)enumerateObjectsWithBlock:(PINMemoryCacheObjectBlock)block completionBlock:(nullable PINMemoryCacheBlock)completionBlock __attribute__((deprecated)); -- (void)setTtlCache:(BOOL)ttlCache DEPRECATED_MSG_ATTRIBUTE("ttlCache is no longer a settable property and must now be set via initializer."); -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINMemoryCache.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINMemoryCache.m deleted file mode 100644 index 9f64c293..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Source/PINMemoryCache.m +++ /dev/null @@ -1,927 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import "PINMemoryCache.h" - -#import -#import - -#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0 -#import -#endif - -static NSString * const PINMemoryCachePrefix = @"com.pinterest.PINMemoryCache"; -static NSString * const PINMemoryCacheSharedName = @"PINMemoryCacheSharedName"; - -@interface PINMemoryCache () -@property (copy, nonatomic) NSString *name; -@property (strong, nonatomic) PINOperationQueue *operationQueue; -@property (assign, nonatomic) pthread_mutex_t mutex; -@property (strong, nonatomic) NSMutableDictionary *dictionary; -@property (strong, nonatomic) NSMutableDictionary *createdDates; -@property (strong, nonatomic) NSMutableDictionary *accessDates; -@property (strong, nonatomic) NSMutableDictionary *costs; -@property (strong, nonatomic) NSMutableDictionary *ageLimits; -@end - -@implementation PINMemoryCache - -@synthesize name = _name; -@synthesize ageLimit = _ageLimit; -@synthesize costLimit = _costLimit; -@synthesize totalCost = _totalCost; -@synthesize ttlCache = _ttlCache; -@synthesize willAddObjectBlock = _willAddObjectBlock; -@synthesize willRemoveObjectBlock = _willRemoveObjectBlock; -@synthesize willRemoveAllObjectsBlock = _willRemoveAllObjectsBlock; -@synthesize didAddObjectBlock = _didAddObjectBlock; -@synthesize didRemoveObjectBlock = _didRemoveObjectBlock; -@synthesize didRemoveAllObjectsBlock = _didRemoveAllObjectsBlock; -@synthesize didReceiveMemoryWarningBlock = _didReceiveMemoryWarningBlock; -@synthesize didEnterBackgroundBlock = _didEnterBackgroundBlock; - -#pragma mark - Initialization - - -- (void)dealloc -{ - [[NSNotificationCenter defaultCenter] removeObserver:self]; - - __unused int result = pthread_mutex_destroy(&_mutex); - NSCAssert(result == 0, @"Failed to destroy lock in PINMemoryCache %p. Code: %d", (void *)self, result); -} - -- (instancetype)init -{ - return [self initWithOperationQueue:[PINOperationQueue sharedOperationQueue]]; -} - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue -{ - return [self initWithName:PINMemoryCacheSharedName operationQueue:operationQueue]; -} - -- (instancetype)initWithName:(NSString *)name operationQueue:(PINOperationQueue *)operationQueue -{ - return [self initWithName:name operationQueue:operationQueue ttlCache:NO]; -} - -- (instancetype)initWithName:(NSString *)name operationQueue:(PINOperationQueue *)operationQueue ttlCache:(BOOL)ttlCache -{ - if (self = [super init]) { - __unused int result = pthread_mutex_init(&_mutex, NULL); - NSAssert(result == 0, @"Failed to init lock in PINMemoryCache %@. Code: %d", self, result); - - _name = [name copy]; - _operationQueue = operationQueue; - _ttlCache = ttlCache; - - _dictionary = [[NSMutableDictionary alloc] init]; - _createdDates = [[NSMutableDictionary alloc] init]; - _accessDates = [[NSMutableDictionary alloc] init]; - _costs = [[NSMutableDictionary alloc] init]; - _ageLimits = [[NSMutableDictionary alloc] init]; - - _willAddObjectBlock = nil; - _willRemoveObjectBlock = nil; - _willRemoveAllObjectsBlock = nil; - - _didAddObjectBlock = nil; - _didRemoveObjectBlock = nil; - _didRemoveAllObjectsBlock = nil; - - _didReceiveMemoryWarningBlock = nil; - _didEnterBackgroundBlock = nil; - - _ageLimit = 0.0; - _costLimit = 0; - _totalCost = 0; - - _removeAllObjectsOnMemoryWarning = YES; - _removeAllObjectsOnEnteringBackground = YES; - -#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_4_0 && !TARGET_OS_WATCH - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(didReceiveEnterBackgroundNotification:) - name:UIApplicationDidEnterBackgroundNotification - object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(didReceiveMemoryWarningNotification:) - name:UIApplicationDidReceiveMemoryWarningNotification - object:nil]; - -#endif - } - return self; -} - -+ (PINMemoryCache *)sharedCache -{ - static PINMemoryCache *cache; - static dispatch_once_t predicate; - - dispatch_once(&predicate, ^{ - cache = [[PINMemoryCache alloc] init]; - }); - - return cache; -} - -#pragma mark - Private Methods - - -- (void)didReceiveMemoryWarningNotification:(NSNotification *)notification { - if (self.removeAllObjectsOnMemoryWarning) { - [self removeAllObjectsAsync:nil]; - } else { - [self removeExpiredObjects]; - } - - [self.operationQueue scheduleOperation:^{ - [self lock]; - PINCacheBlock didReceiveMemoryWarningBlock = self->_didReceiveMemoryWarningBlock; - [self unlock]; - - if (didReceiveMemoryWarningBlock) - didReceiveMemoryWarningBlock(self); - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)didReceiveEnterBackgroundNotification:(NSNotification *)notification -{ - if (self.removeAllObjectsOnEnteringBackground) - [self removeAllObjectsAsync:nil]; - - [self.operationQueue scheduleOperation:^{ - [self lock]; - PINCacheBlock didEnterBackgroundBlock = self->_didEnterBackgroundBlock; - [self unlock]; - - if (didEnterBackgroundBlock) - didEnterBackgroundBlock(self); - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)removeObjectAndExecuteBlocksForKey:(NSString *)key -{ - [self lock]; - id object = _dictionary[key]; - NSNumber *cost = _costs[key]; - PINCacheObjectBlock willRemoveObjectBlock = _willRemoveObjectBlock; - PINCacheObjectBlock didRemoveObjectBlock = _didRemoveObjectBlock; - [self unlock]; - - if (willRemoveObjectBlock) - willRemoveObjectBlock(self, key, object); - - [self lock]; - if (cost) - _totalCost -= [cost unsignedIntegerValue]; - - [_dictionary removeObjectForKey:key]; - [_createdDates removeObjectForKey:key]; - [_accessDates removeObjectForKey:key]; - [_costs removeObjectForKey:key]; - [_ageLimits removeObjectForKey:key]; - [self unlock]; - - if (didRemoveObjectBlock) - didRemoveObjectBlock(self, key, nil); -} - -- (void)trimMemoryToDate:(NSDate *)trimDate -{ - [self lock]; - NSDictionary *createdDates = [_createdDates copy]; - NSDictionary *ageLimits = [_ageLimits copy]; - [self unlock]; - - [createdDates enumerateKeysAndObjectsUsingBlock:^(NSString * _Nonnull key, NSDate * _Nonnull createdDate, BOOL * _Nonnull stop) { - NSTimeInterval ageLimit = [ageLimits[key] doubleValue]; - if (!createdDate || ageLimit > 0.0) { - return; - } - if ([createdDate compare:trimDate] == NSOrderedAscending) { // older than trim date - [self removeObjectAndExecuteBlocksForKey:key]; - } - }]; -} - -- (void)removeExpiredObjects -{ - [self lock]; - NSDictionary *createdDates = [_createdDates copy]; - NSDictionary *ageLimits = [_ageLimits copy]; - NSTimeInterval globalAgeLimit = self->_ageLimit; - [self unlock]; - - NSDate *now = [NSDate date]; - for (NSString *key in ageLimits) { - NSDate *createdDate = createdDates[key]; - NSTimeInterval ageLimit = [ageLimits[key] doubleValue] ?: globalAgeLimit; - if (!createdDate) - continue; - - NSDate *expirationDate = [createdDate dateByAddingTimeInterval:ageLimit]; - if ([expirationDate compare:now] == NSOrderedAscending) { // Expiration date has passed - [self removeObjectAndExecuteBlocksForKey:key]; - } - } -} - -- (void)trimToCostLimit:(NSUInteger)limit -{ - NSUInteger totalCost = 0; - - [self lock]; - totalCost = _totalCost; - NSArray *keysSortedByCost = [_costs keysSortedByValueUsingSelector:@selector(compare:)]; - [self unlock]; - - if (totalCost <= limit) { - return; - } - - for (NSString *key in [keysSortedByCost reverseObjectEnumerator]) { // costliest objects first - [self removeObjectAndExecuteBlocksForKey:key]; - - [self lock]; - totalCost = _totalCost; - [self unlock]; - - if (totalCost <= limit) - break; - } -} - -- (void)trimToCostLimitByDate:(NSUInteger)limit -{ - if (self.isTTLCache) { - [self removeExpiredObjects]; - } - - NSUInteger totalCost = 0; - - [self lock]; - totalCost = _totalCost; - NSArray *keysSortedByAccessDate = [_accessDates keysSortedByValueUsingSelector:@selector(compare:)]; - [self unlock]; - - if (totalCost <= limit) - return; - - for (NSString *key in keysSortedByAccessDate) { // oldest objects first - [self removeObjectAndExecuteBlocksForKey:key]; - - [self lock]; - totalCost = _totalCost; - [self unlock]; - if (totalCost <= limit) - break; - } -} - -- (void)trimToAgeLimitRecursively -{ - [self lock]; - NSTimeInterval ageLimit = _ageLimit; - [self unlock]; - - if (ageLimit == 0.0) - return; - - NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:-ageLimit]; - - [self trimMemoryToDate:date]; - - dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(ageLimit * NSEC_PER_SEC)); - dispatch_after(time, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){ - // Ensure that ageLimit is the same as when we were scheduled, otherwise, we've been - // rescheduled (another dispatch_after was issued) and should cancel. - BOOL shouldReschedule = YES; - [self lock]; - if (ageLimit != self->_ageLimit) { - shouldReschedule = NO; - } - [self unlock]; - - if (shouldReschedule) { - [self.operationQueue scheduleOperation:^{ - [self trimToAgeLimitRecursively]; - } withPriority:PINOperationQueuePriorityLow]; - } - }); -} - -#pragma mark - Public Asynchronous Methods - - -- (void)containsObjectForKeyAsync:(NSString *)key completion:(PINCacheObjectContainmentBlock)block -{ - if (!key || !block) - return; - - [self.operationQueue scheduleOperation:^{ - BOOL containsObject = [self containsObjectForKey:key]; - - block(containsObject); - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)objectForKeyAsync:(NSString *)key completion:(PINCacheObjectBlock)block -{ - if (block == nil) { - return; - } - - [self.operationQueue scheduleOperation:^{ - id object = [self objectForKey:key]; - - block(self, key, object); - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)setObjectAsync:(id)object forKey:(NSString *)key completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:0 completion:block]; -} - -- (void)setObjectAsync:(id)object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:0 ageLimit:ageLimit completion:block]; -} - -- (void)setObjectAsync:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost completion:(PINCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:cost ageLimit:0.0 completion:block]; -} - -- (void)setObjectAsync:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit completion:(PINCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self setObject:object forKey:key withCost:cost ageLimit:ageLimit]; - - if (block) - block(self, key, object); - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)removeObjectForKeyAsync:(NSString *)key completion:(PINCacheObjectBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self removeObjectForKey:key]; - - if (block) - block(self, key, nil); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)trimToDateAsync:(NSDate *)trimDate completion:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self trimToDate:trimDate]; - - if (block) - block(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)trimToCostAsync:(NSUInteger)cost completion:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self trimToCost:cost]; - - if (block) - block(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)trimToCostByDateAsync:(NSUInteger)cost completion:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self trimToCostByDate:cost]; - - if (block) - block(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)removeExpiredObjectsAsync:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self removeExpiredObjects]; - - if (block) - block(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)removeAllObjectsAsync:(PINCacheBlock)block -{ - [self.operationQueue scheduleOperation:^{ - [self removeAllObjects]; - - if (block) - block(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -- (void)enumerateObjectsWithBlockAsync:(PINCacheObjectEnumerationBlock)block completionBlock:(PINCacheBlock)completionBlock -{ - [self.operationQueue scheduleOperation:^{ - [self enumerateObjectsWithBlock:block]; - - if (completionBlock) - completionBlock(self); - } withPriority:PINOperationQueuePriorityLow]; -} - -#pragma mark - Public Synchronous Methods - - -- (BOOL)containsObjectForKey:(NSString *)key -{ - if (!key) - return NO; - - [self lock]; - BOOL containsObject = (_dictionary[key] != nil); - [self unlock]; - return containsObject; -} - -- (nullable id)objectForKey:(NSString *)key -{ - if (!key) - return nil; - - NSDate *now = [NSDate date]; - [self lock]; - id object = nil; - // If the cache should behave like a TTL cache, then only fetch the object if there's a valid ageLimit and the object is still alive - NSTimeInterval ageLimit = [_ageLimits[key] doubleValue] ?: self->_ageLimit; - if (!self->_ttlCache || ageLimit <= 0 || fabs([[_createdDates objectForKey:key] timeIntervalSinceDate:now]) < ageLimit) { - object = _dictionary[key]; - } - [self unlock]; - - if (object) { - [self lock]; - _accessDates[key] = now; - [self unlock]; - } - - return object; -} - -- (id)objectForKeyedSubscript:(NSString *)key -{ - return [self objectForKey:key]; -} - -- (void)setObject:(id)object forKey:(NSString *)key -{ - [self setObject:object forKey:key withCost:0]; -} - -- (void)setObject:(id)object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit -{ - [self setObject:object forKey:key withCost:0 ageLimit:ageLimit]; -} - -- (void)setObject:(id)object forKeyedSubscript:(NSString *)key -{ - if (object == nil) { - [self removeObjectForKey:key]; - } else { - [self setObject:object forKey:key]; - } -} - -- (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost -{ - [self setObject:object forKey:key withCost:cost ageLimit:0.0]; -} - -- (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost ageLimit:(NSTimeInterval)ageLimit -{ - NSAssert(ageLimit <= 0.0 || (ageLimit > 0.0 && _ttlCache), @"ttlCache must be set to YES if setting an object-level age limit."); - - if (!key || !object) - return; - - [self lock]; - PINCacheObjectBlock willAddObjectBlock = _willAddObjectBlock; - PINCacheObjectBlock didAddObjectBlock = _didAddObjectBlock; - NSUInteger costLimit = _costLimit; - [self unlock]; - - if (willAddObjectBlock) - willAddObjectBlock(self, key, object); - - [self lock]; - NSNumber* oldCost = _costs[key]; - if (oldCost) - _totalCost -= [oldCost unsignedIntegerValue]; - - NSDate *now = [NSDate date]; - _dictionary[key] = object; - _createdDates[key] = now; - _accessDates[key] = now; - _costs[key] = @(cost); - - if (ageLimit > 0.0) { - _ageLimits[key] = @(ageLimit); - } else { - [_ageLimits removeObjectForKey:key]; - } - - _totalCost += cost; - [self unlock]; - - if (didAddObjectBlock) - didAddObjectBlock(self, key, object); - - if (costLimit > 0) - [self trimToCostByDate:costLimit]; -} - -- (void)removeObjectForKey:(NSString *)key -{ - if (!key) - return; - - [self removeObjectAndExecuteBlocksForKey:key]; -} - -- (void)trimToDate:(NSDate *)trimDate -{ - if (!trimDate) - return; - - if ([trimDate isEqualToDate:[NSDate distantPast]]) { - [self removeAllObjects]; - return; - } - - [self trimMemoryToDate:trimDate]; -} - -- (void)trimToCost:(NSUInteger)cost -{ - [self trimToCostLimit:cost]; -} - -- (void)trimToCostByDate:(NSUInteger)cost -{ - [self trimToCostLimitByDate:cost]; -} - -- (void)removeAllObjects -{ - [self lock]; - PINCacheBlock willRemoveAllObjectsBlock = _willRemoveAllObjectsBlock; - PINCacheBlock didRemoveAllObjectsBlock = _didRemoveAllObjectsBlock; - [self unlock]; - - if (willRemoveAllObjectsBlock) - willRemoveAllObjectsBlock(self); - - [self lock]; - [_dictionary removeAllObjects]; - [_createdDates removeAllObjects]; - [_accessDates removeAllObjects]; - [_costs removeAllObjects]; - [_ageLimits removeAllObjects]; - - _totalCost = 0; - [self unlock]; - - if (didRemoveAllObjectsBlock) - didRemoveAllObjectsBlock(self); - -} - -- (void)enumerateObjectsWithBlock:(PIN_NOESCAPE PINCacheObjectEnumerationBlock)block -{ - if (!block) - return; - - [self lock]; - NSDate *now = [NSDate date]; - NSArray *keysSortedByCreatedDate = [_createdDates keysSortedByValueUsingSelector:@selector(compare:)]; - - for (NSString *key in keysSortedByCreatedDate) { - // If the cache should behave like a TTL cache, then only fetch the object if there's a valid ageLimit and the object is still alive - NSTimeInterval ageLimit = [_ageLimits[key] doubleValue] ?: self->_ageLimit; - if (!self->_ttlCache || ageLimit <= 0 || fabs([[_createdDates objectForKey:key] timeIntervalSinceDate:now]) < ageLimit) { - BOOL stop = NO; - block(self, key, _dictionary[key], &stop); - if (stop) - break; - } - } - [self unlock]; -} - -#pragma mark - Public Thread Safe Accessors - - -- (PINCacheObjectBlock)willAddObjectBlock -{ - [self lock]; - PINCacheObjectBlock block = _willAddObjectBlock; - [self unlock]; - - return block; -} - -- (void)setWillAddObjectBlock:(PINCacheObjectBlock)block -{ - [self lock]; - _willAddObjectBlock = [block copy]; - [self unlock]; -} - -- (PINCacheObjectBlock)willRemoveObjectBlock -{ - [self lock]; - PINCacheObjectBlock block = _willRemoveObjectBlock; - [self unlock]; - - return block; -} - -- (void)setWillRemoveObjectBlock:(PINCacheObjectBlock)block -{ - [self lock]; - _willRemoveObjectBlock = [block copy]; - [self unlock]; -} - -- (PINCacheBlock)willRemoveAllObjectsBlock -{ - [self lock]; - PINCacheBlock block = _willRemoveAllObjectsBlock; - [self unlock]; - - return block; -} - -- (void)setWillRemoveAllObjectsBlock:(PINCacheBlock)block -{ - [self lock]; - _willRemoveAllObjectsBlock = [block copy]; - [self unlock]; -} - -- (PINCacheObjectBlock)didAddObjectBlock -{ - [self lock]; - PINCacheObjectBlock block = _didAddObjectBlock; - [self unlock]; - - return block; -} - -- (void)setDidAddObjectBlock:(PINCacheObjectBlock)block -{ - [self lock]; - _didAddObjectBlock = [block copy]; - [self unlock]; -} - -- (PINCacheObjectBlock)didRemoveObjectBlock -{ - [self lock]; - PINCacheObjectBlock block = _didRemoveObjectBlock; - [self unlock]; - - return block; -} - -- (void)setDidRemoveObjectBlock:(PINCacheObjectBlock)block -{ - [self lock]; - _didRemoveObjectBlock = [block copy]; - [self unlock]; -} - -- (PINCacheBlock)didRemoveAllObjectsBlock -{ - [self lock]; - PINCacheBlock block = _didRemoveAllObjectsBlock; - [self unlock]; - - return block; -} - -- (void)setDidRemoveAllObjectsBlock:(PINCacheBlock)block -{ - [self lock]; - _didRemoveAllObjectsBlock = [block copy]; - [self unlock]; -} - -- (PINCacheBlock)didReceiveMemoryWarningBlock -{ - [self lock]; - PINCacheBlock block = _didReceiveMemoryWarningBlock; - [self unlock]; - - return block; -} - -- (void)setDidReceiveMemoryWarningBlock:(PINCacheBlock)block -{ - [self lock]; - _didReceiveMemoryWarningBlock = [block copy]; - [self unlock]; -} - -- (PINCacheBlock)didEnterBackgroundBlock -{ - [self lock]; - PINCacheBlock block = _didEnterBackgroundBlock; - [self unlock]; - - return block; -} - -- (void)setDidEnterBackgroundBlock:(PINCacheBlock)block -{ - [self lock]; - _didEnterBackgroundBlock = [block copy]; - [self unlock]; -} - -- (NSTimeInterval)ageLimit -{ - [self lock]; - NSTimeInterval ageLimit = _ageLimit; - [self unlock]; - - return ageLimit; -} - -- (void)setAgeLimit:(NSTimeInterval)ageLimit -{ - [self lock]; - _ageLimit = ageLimit; - [self unlock]; - - [self trimToAgeLimitRecursively]; -} - -- (NSUInteger)costLimit -{ - [self lock]; - NSUInteger costLimit = _costLimit; - [self unlock]; - - return costLimit; -} - -- (void)setCostLimit:(NSUInteger)costLimit -{ - [self lock]; - _costLimit = costLimit; - [self unlock]; - - if (costLimit > 0) - [self trimToCostLimitByDate:costLimit]; -} - -- (NSUInteger)totalCost -{ - [self lock]; - NSUInteger cost = _totalCost; - [self unlock]; - - return cost; -} - -- (BOOL)isTTLCache { - BOOL isTTLCache; - - [self lock]; - isTTLCache = _ttlCache; - [self unlock]; - - return isTTLCache; -} - -- (void)lock -{ - __unused int result = pthread_mutex_lock(&_mutex); - NSAssert(result == 0, @"Failed to lock PINMemoryCache %@. Code: %d", self, result); -} - -- (void)unlock -{ - __unused int result = pthread_mutex_unlock(&_mutex); - NSAssert(result == 0, @"Failed to unlock PINMemoryCache %@. Code: %d", self, result); -} - -@end - - -#pragma mark - Deprecated - -@implementation PINMemoryCache (Deprecated) - -- (void)containsObjectForKey:(NSString *)key block:(PINMemoryCacheContainmentBlock)block -{ - [self containsObjectForKeyAsync:key completion:block]; -} - -- (void)objectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block -{ - [self objectForKeyAsync:key completion:^(id memoryCache, NSString *memoryCacheKey, id memoryCacheObject) { - if (block) { - block((PINMemoryCache *)memoryCache, memoryCacheKey, memoryCacheObject); - } - }]; -} - -- (void)setObject:(id)object forKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key completion:^(id memoryCache, NSString *memoryCacheKey, id memoryCacheObject) { - if (block) { - block((PINMemoryCache *)memoryCache, memoryCacheKey, memoryCacheObject); - } - }]; -} - -- (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost block:(nullable PINMemoryCacheObjectBlock)block -{ - [self setObjectAsync:object forKey:key withCost:cost completion:^(id memoryCache, NSString *memoryCacheKey, id memoryCacheObject) { - if (block) { - block((PINMemoryCache *)memoryCache, memoryCacheKey, memoryCacheObject); - } - }]; -} - -- (void)removeObjectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block -{ - [self removeObjectForKeyAsync:key completion:^(id memoryCache, NSString *memoryCacheKey, id memoryCacheObject) { - if (block) { - block((PINMemoryCache *)memoryCache, memoryCacheKey, memoryCacheObject); - } - }]; -} - -- (void)trimToDate:(NSDate *)date block:(nullable PINMemoryCacheBlock)block -{ - [self trimToDateAsync:date completion:^(id memoryCache) { - if (block) { - block((PINMemoryCache *)memoryCache); - } - }]; -} - -- (void)trimToCost:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block -{ - [self trimToCostAsync:cost completion:^(id memoryCache) { - if (block) { - block((PINMemoryCache *)memoryCache); - } - }]; -} - -- (void)trimToCostByDate:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block -{ - [self trimToCostByDateAsync:cost completion:^(id memoryCache) { - if (block) { - block((PINMemoryCache *)memoryCache); - } - }]; -} - -- (void)removeAllObjects:(nullable PINMemoryCacheBlock)block -{ - [self removeAllObjectsAsync:^(id memoryCache) { - if (block) { - block((PINMemoryCache *)memoryCache); - } - }]; -} - -- (void)enumerateObjectsWithBlock:(PINMemoryCacheObjectBlock)block completionBlock:(nullable PINMemoryCacheBlock)completionBlock -{ - [self enumerateObjectsWithBlockAsync:^(id _Nonnull cache, NSString * _Nonnull key, id _Nullable object, BOOL * _Nonnull stop) { - if ([cache isKindOfClass:[PINMemoryCache class]]) { - PINMemoryCache *memoryCache = (PINMemoryCache *)cache; - block(memoryCache, key, object); - } - } completionBlock:^(id memoryCache) { - if (completionBlock) { - completionBlock((PINMemoryCache *)memoryCache); - } - }]; -} - -- (void)setTtlCache:(BOOL)ttlCache -{ - [self lock]; - _ttlCache = ttlCache; - [self unlock]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/Default-568h@2x.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/Default-568h@2x.png deleted file mode 100644 index 9fe62db8..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/Default-568h@2x.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/Info.plist deleted file mode 100644 index ba72822e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.h deleted file mode 100644 index e11033d0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.h +++ /dev/null @@ -1,15 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface NSDate (PINCacheTests) - -/** Swizzles +[NSDate date] to always return the specified date. */ -+ (void)startMockingDateWithDate:(NSDate *)date; - -/** Stops swizzling +[NSDate date] and returns to original implementation */ -+ (void)stopMockingDate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.m deleted file mode 100644 index 1133c2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/NSDate+PINCacheTests.m +++ /dev/null @@ -1,50 +0,0 @@ -#import "NSDate+PINCacheTests.h" - -#import - -static NSDate *PINCacheTestsSwizzedDate = nil; - -@implementation NSDate (PINCacheTests) - -+ (void)startMockingDateWithDate:(NSDate *)date -{ - // If already swizzled, just replace the static date. - BOOL alreadySwizzled = (PINCacheTestsSwizzedDate != nil); - PINCacheTestsSwizzedDate = date; - if (alreadySwizzled) { return; } - - SEL originalSelector = @selector(date); - SEL swizzledSelector = @selector(swizzled_date); - - Method originalMethod = class_getClassMethod(self, originalSelector); - Method swizzledMethod = class_getClassMethod(self, swizzledSelector); - - Class class = object_getClass((id)self); - - if (class_addMethod(class, - originalSelector, - method_getImplementation(swizzledMethod), - method_getTypeEncoding(swizzledMethod))) { - class_replaceMethod(class, - swizzledSelector, - method_getImplementation(originalMethod), - method_getTypeEncoding(originalMethod)); - } else { - method_exchangeImplementations(originalMethod, swizzledMethod); - } -} - -+ (void)stopMockingDate -{ - Method originalMethod = class_getClassMethod(self, @selector(date)); - Method swizzledMethod = class_getClassMethod(self, @selector(swizzled_date)); - method_exchangeImplementations(swizzledMethod, originalMethod); - PINCacheTestsSwizzedDate = nil; -} - -+ (instancetype)swizzled_date -{ - return PINCacheTestsSwizzedDate; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINCacheTests.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINCacheTests.h deleted file mode 100644 index 0d46b14d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINCacheTests.h +++ /dev/null @@ -1,11 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import - -extern const NSTimeInterval PINCacheTestBlockTimeout; - -@interface PINCacheTests : XCTestCase - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINCacheTests.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINCacheTests.m deleted file mode 100644 index b16cb450..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINCacheTests.m +++ /dev/null @@ -1,1404 +0,0 @@ -// PINCache is a modified version of TMCache -// Modifications by Garrett Moon -// Copyright (c) 2015 Pinterest. All rights reserved. - -#import "PINCacheTests.h" -#import "NSDate+PINCacheTests.h" -#import "PINDiskCache+PINCacheTests.h" -#import -#import - - -#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR - typedef UIImage PINImage; -#else - typedef NSImage PINImage; -#endif - -static NSString * const PINCacheTestName = @"PINCacheTest"; -const NSTimeInterval PINCacheTestBlockTimeout = 20.0; - -@interface PINDiskCache() - -@property (assign, nonatomic) BOOL diskStateKnown; -@property (strong, nonatomic) NSDictionary *metadata; - -+ (dispatch_queue_t)sharedTrashQueue; -+ (NSURL *)sharedTrashURL; -- (NSString *)encodedString:(NSString *)string; - -@end - -@interface PINMemoryCache () - -- (void)didReceiveEnterBackgroundNotification:(NSNotification *)notification; -- (void)setTtlCache:(BOOL)ttlCache; - -@end - -@interface PINCacheTests () -@property (strong, nonatomic) PINCache *cache; -@end - -@implementation PINCacheTests - -#pragma mark - XCTestCase - - -- (void)setUp -{ - [super setUp]; - self.cache = [[PINCache alloc] initWithName:[[NSUUID UUID] UUIDString]]; - - XCTAssertNotNil(self.cache, @"test cache does not exist"); -} - -- (void)tearDown -{ - dispatch_group_t group = dispatch_group_create(); - dispatch_group_enter(group); - - [self.cache removeAllObjects]; - - // Wait for disk cache to clean up its trash - dispatch_async([PINDiskCache sharedTrashQueue], ^{ - dispatch_group_leave(group); - }); - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - self.cache = nil; - - XCTAssertNil(self.cache, @"test cache did not deallocate"); - - [super tearDown]; -} - -#pragma mark - Private Methods - -- (PINImage *)image -{ - static PINImage *image = nil; - - if (!image) { - NSError *error = nil; - NSURL *imageURL = [[NSBundle bundleForClass:self.class] URLForResource:@"Default-568h@2x" withExtension:@"png"]; - NSData *imageData = [[NSData alloc] initWithContentsOfURL:imageURL - options:NSDataReadingUncached - error:&error]; - image = [[PINImage alloc] initWithData:imageData]; - } - - NSAssert(image, @"test image does not exist"); - - return image; -} - -- (dispatch_time_t)timeout -{ - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(PINCacheTestBlockTimeout * NSEC_PER_SEC)); -} - -#pragma mark - Tests - - -- (void)testDiskCacheStringEncoding -{ - NSString *string = [self.cache.diskCache encodedString:@"http://www.test.de-?%"]; - XCTAssertTrue([string isEqualToString:@"http%3A%2F%2Fwww%2Etest%2Ede-?%25"]); -} - -- (void)testCoreProperties -{ - PINCache *cache = [[PINCache alloc] initWithName:PINCacheTestName]; - XCTAssertTrue([cache.name isEqualToString:PINCacheTestName], @"wrong name"); - XCTAssertNotNil(cache.memoryCache, @"memory cache does not exist"); - XCTAssertNotNil(cache.diskCache, @"disk cache doe not exist"); -} - -- (void)testDiskCacheURL -{ - // Wait for URL to be created. We use enumerateObjectsWithBlock because it waits for a known disk state. - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL * _Nonnull stop) {}]; - BOOL isDir = NO; - BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:[self.cache.diskCache.cacheURL path] isDirectory:&isDir]; - - XCTAssertTrue(exists, @"disk cache directory does not exist"); - XCTAssertTrue(isDir, @"disk cache url is not a directory"); -} - -- (void)testObjectSet -{ - NSString *key = @"key"; - __block PINImage *image = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - [self.cache setObjectAsync:[self image] forKey:key completion:^(id cache, NSString *key, id object) { - image = (PINImage *)object; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertNotNil(image, @"object was not set"); -} - -- (void)testObjectSetWithCost -{ - NSString *key = @"key"; - __block PINImage *image = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - PINImage *srcImage = [self image]; - NSUInteger cost = (NSUInteger)(srcImage.size.width * srcImage.size.height); - - [self.cache setObjectAsync:srcImage forKey:key withCost:cost completion:^(id cache, NSString *key, id object) { - image = (PINImage *)object; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertNotNil(image, @"object was not set"); - XCTAssertTrue(self.cache.memoryCache.totalCost == cost, @"memory cache total cost was incorrect"); -} - -- (void)testObjectSetWithDuplicateKey -{ - NSString *key = @"key"; - NSString *value1 = @"value1"; - NSString *value2 = @"value2"; - __block NSString *cachedValue = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - [self.cache setObject:value1 forKey:key]; - [self.cache setObject:value2 forKey:key]; - - [self.cache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - cachedValue = (NSString *)object; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertEqual(cachedValue, value2, @"set did not overwrite previous object with same key"); -} - -- (void)testObjectContains -{ - NSString *key = @"key"; - NSString *value = @"value"; - - [self.cache setObject:value forKey:key]; - - // Synchronously - XCTAssertTrue([self.cache containsObjectForKey:key], @"object was gone"); - - // Asynchronously - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - __block BOOL cacheContainsObject = NO; - [self.cache containsObjectForKeyAsync:key completion:^(BOOL containsObject) { - cacheContainsObject = containsObject; - dispatch_semaphore_signal(semaphore); - }]; - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertTrue(cacheContainsObject, @"object was gone"); -} - -- (void)testObjectContainsWithCost -{ - NSString *key = @"key"; - NSString *value = @"value"; - - [self.cache setObject:value forKey:key withCost:1]; - - // Synchronously - XCTAssertTrue([self.cache containsObjectForKey:key], @"object was gone"); - - // Asynchronously - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - __block BOOL cacheContainsObject = NO; - [self.cache containsObjectForKeyAsync:key completion:^(BOOL containsObject) { - cacheContainsObject = containsObject; - dispatch_semaphore_signal(semaphore); - }]; - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertTrue(cacheContainsObject, @"object was gone"); - XCTAssertTrue(self.cache.memoryCache.totalCost == 1, @"memory cache total cost was incorrect"); -} - -- (void)testObjectGet -{ - NSString *key = @"key"; - __block PINImage *image = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - self.cache[key] = [self image]; - - [self.cache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - image = (PINImage *)object; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertNotNil(image, @"object was not got"); -} - -- (void)testObjectGetWithInvalidKey -{ - NSString *key = @"key"; - NSString *invalidKey = @"invalid"; - __block PINImage *image = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - self.cache[key] = [self image]; - - [self.cache objectForKeyAsync:invalidKey completion:^(id cache, NSString *key, id object) { - image = (PINImage *)object; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertNil(image, @"object with non-existent key was not nil"); -} - -- (void)testObjectRemove -{ - NSString *key = @"key"; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - self.cache[key] = [self image]; - - __block BOOL willRemoveObjectBlockCalled = NO; - self.cache.diskCache.willRemoveObjectBlock = ^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - willRemoveObjectBlockCalled = YES; - }; - - __block BOOL didRemoveObjectBlockCalled = NO; - self.cache.diskCache.didRemoveObjectBlock = ^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - didRemoveObjectBlockCalled = YES; - }; - - [self.cache removeObjectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - id object = self.cache[key]; - - XCTAssertNil(object, @"object was not removed"); - XCTAssertTrue(willRemoveObjectBlockCalled, @"willRemoveObjectBlock was not called"); - XCTAssertTrue(didRemoveObjectBlockCalled, @"didRemoveObjectBlock was not called"); -} - -- (void)testObjectRemoveAll -{ - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - self.cache[key1] = key1; - self.cache[key2] = key2; - - __block BOOL willRemoveAllObjectsBlockCalled = NO; - self.cache.diskCache.willRemoveAllObjectsBlock = ^(id _Nonnull cache) { - willRemoveAllObjectsBlockCalled = YES; - }; - - __block BOOL didRemoveAllObjectsBlockCalled = NO; - self.cache.diskCache.didRemoveAllObjectsBlock = ^(id _Nonnull cache) { - didRemoveAllObjectsBlockCalled = YES; - }; - - [self.cache removeAllObjectsAsync:^(id cache) { - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - id object1 = self.cache[key1]; - id object2 = self.cache[key2]; - - XCTAssertNil(object1, @"not all objects were removed"); - XCTAssertNil(object2, @"not all objects were removed"); - XCTAssertTrue(willRemoveAllObjectsBlockCalled, @"willRemoveAllObjectsBlock was not called"); - XCTAssertTrue(didRemoveAllObjectsBlockCalled, @"didRemoveAllObjectsBlock was not called"); - XCTAssertTrue(self.cache.memoryCache.totalCost == 0, @"memory cache cost was not 0 after removing all objects"); - XCTAssertTrue(self.cache.diskByteCount == 0, @"disk cache byte count was not 0 after removing all objects"); -} - -- (void)testMemoryCost -{ - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - - [self.cache.memoryCache setObject:key1 forKey:key1 withCost:1]; - [self.cache.memoryCache setObject:key2 forKey:key2 withCost:2]; - - XCTAssertTrue(self.cache.memoryCache.totalCost == 3, @"memory cache total cost was incorrect"); - - [self.cache.memoryCache trimToCost:1]; - - id object1 = self.cache.memoryCache[key1]; - id object2 = self.cache.memoryCache[key2]; - - XCTAssertNotNil(object1, @"object did not survive memory cache trim to cost"); - XCTAssertNil(object2, @"object was not trimmed despite exceeding cost"); - XCTAssertTrue(self.cache.memoryCache.totalCost == 1, @"cache had an unexpected total cost"); -} - -- (void)testMemoryCostOnReplace -{ - NSString *key1 = @"key1"; - - for(int i=0; i<10; i++) { - [self.cache.memoryCache setObject:key1 forKey:key1 withCost:1]; - } - - XCTAssertTrue(self.cache.memoryCache.totalCost == 1, @"cache had an unexpected total cost"); -} - -- (void)testMemoryCostByDate -{ - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - - [self.cache.memoryCache setObject:key1 forKey:key1 withCost:1]; - [self.cache.memoryCache setObject:key2 forKey:key2 withCost:2]; - - [self.cache.memoryCache trimToCostByDate:1]; - - id object1 = self.cache.memoryCache[key1]; - id object2 = self.cache.memoryCache[key2]; - - XCTAssertNil(object1, @"object was not trimmed despite exceeding cost"); - XCTAssertNil(object2, @"object was not trimmed despite exceeding cost"); - XCTAssertTrue(self.cache.memoryCache.totalCost == 0, @"cache had an unexpected total cost"); -} - -- (void)testMemoryCostByDateWithObjectExpiration -{ - [self.cache.memoryCache setTtlCache:YES]; - [self.cache.memoryCache removeAllObjects]; - NSString * const key1 = @"key1"; - NSString * const key2 = @"key2"; - NSString * const key3 = @"key3"; - NSString * const key4 = @"key4"; - const NSUInteger cost = 1; - const NSTimeInterval oldAgeLimit = 60.0; - const NSTimeInterval notSoOldAgeLimit = 30.0; - - // Add the objects to the cache; set the age limit of one of them (key3) so it expires before the others. - [self.cache.memoryCache setObject:[self image] forKey:key1 withCost:cost ageLimit:oldAgeLimit]; - [self.cache.memoryCache setObject:[self image] forKey:key2 withCost:cost ageLimit:oldAgeLimit]; - [self.cache.memoryCache setObject:[self image] forKey:key3 withCost:cost ageLimit:notSoOldAgeLimit]; - [self.cache.memoryCache setObject:[self image] forKey:key4 withCost:cost ageLimit:oldAgeLimit]; - - // Make the order of recently used key3, key1, key4, key2 - [self.cache.memoryCache objectForKey:key2]; - [self.cache.memoryCache objectForKey:key4]; - [self.cache.memoryCache objectForKey:key1]; - [self.cache.memoryCache objectForKey:key3]; - - // Fast forward 45 seconds. This should expire key3. - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:45]]; - - // Trim the cache enough to evict two objects. - [self.cache.memoryCache trimToCostByDate:self.cache.memoryCache.totalCost - cost * 2]; - - // Go back to current time, so we can check if objects exist in cache. If we don't do this, the getters will return nil - // even if the objects are in the cache. - [NSDate stopMockingDate]; - - // The only objects left should be the last two that were accessed (key3 && key1), but since key3 is expired it will be - // removed first leaving key1 and key4 to remain. - NSMutableArray *keys = [NSMutableArray array]; - [self.cache.memoryCache enumerateObjectsWithBlock:^(id cache, NSString * key, id object, BOOL *stop) { - [keys addObject:key]; - }]; - XCTAssertTrue(keys.count == 2); - XCTAssertTrue([keys.firstObject isEqualToString:key1] || [keys.firstObject isEqualToString:key4]); - XCTAssertTrue([keys.lastObject isEqualToString:key1] || [keys.lastObject isEqualToString:key4]); -} - -- (void)testDiskByteCount -{ - self.cache[@"image"] = [self image]; - - XCTAssertTrue(self.cache.diskByteCount > 0, @"disk cache byte count was not greater than zero"); -} - -- (void)testDiskByteCountWithExistingKey -{ - self.cache[@"image"] = [self image]; - NSUInteger initialDiskByteCount = self.cache.diskByteCount; - self.cache[@"image"] = [self image]; - - XCTAssertTrue(self.cache.diskByteCount == initialDiskByteCount, @"disk cache byte count should not change by adding object with existing key and size"); - - self.cache[@"image2"] = [self image]; - - XCTAssertTrue(self.cache.diskByteCount > initialDiskByteCount, @"disk cache byte count should increase with new key and object added to disk cache"); -} - -- (void)testDiskSizeByDateWithObjectExpiration -{ - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache.diskCache removeAllObjects]; - NSString * const key1 = @"key1"; - NSString * const key2 = @"key2"; - NSString * const key3 = @"key3"; - NSString * const key4 = @"key4"; - const NSUInteger cost = 1; - const NSTimeInterval oldAgeLimit = 60.0; - const NSTimeInterval notSoOldAgeLimit = 30.0; - - // Add the objects to the cache; set the age limit of one of them (key3) so it expires before the others. - [self.cache.diskCache setObject:[self image] forKey:key1 withCost:cost ageLimit:oldAgeLimit]; - [self.cache.diskCache setObject:[self image] forKey:key2 withCost:cost ageLimit:oldAgeLimit]; - [self.cache.diskCache setObject:[self image] forKey:key3 withCost:cost ageLimit:notSoOldAgeLimit]; - NSUInteger sizeOfThreeObjects = self.cache.diskCache.byteCount; - [self.cache.diskCache setObject:[self image] forKey:key4 withCost:cost ageLimit:oldAgeLimit]; - - // Make the order of recently used key3, key1, key4, key2 - [self.cache.diskCache objectForKey:key2]; - [self.cache.diskCache objectForKey:key4]; - [self.cache.diskCache objectForKey:key1]; - [self.cache.diskCache objectForKey:key3]; - - // Fast forward 45 seconds. This should expire key3. - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:45]]; - - - // Trim the cache enough to evict two objects. - [self.cache.diskCache trimToSizeByDate:sizeOfThreeObjects - 1]; - - // Go back to current time, so we can check if objects exist in cache. If we don't do this, the getters will return nil - // even if the objects are in the cache. - [NSDate stopMockingDate]; - - // The only objects left should be the last two that were accessed (key3 && key1), but since key3 is expired it will be - // removed first leaving key1 and key4 to remain. - NSMutableArray *keys = [NSMutableArray array]; - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL * _Nonnull stop) { - [keys addObject:key]; - }]; - - XCTAssertTrue(keys.count == 2); - XCTAssertTrue([keys.firstObject isEqualToString:key1] || [keys.firstObject isEqualToString:key4]); - XCTAssertTrue([keys.lastObject isEqualToString:key1] || [keys.lastObject isEqualToString:key4]); -} - -- (void)testOneThousandAndOneWrites -{ - NSUInteger max = 1001; - __block NSInteger count = max; - - dispatch_queue_t queue = dispatch_queue_create(NULL, DISPATCH_QUEUE_SERIAL); - dispatch_group_t group = dispatch_group_create(); - - for (NSUInteger i = 0; i < max; i++) { - NSString *key = [[NSString alloc] initWithFormat:@"key %lu", (unsigned long)i]; - NSString *obj = [[NSString alloc] initWithFormat:@"obj %lu", (unsigned long)i]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - dispatch_group_enter(group); - [self.cache setObjectAsync:obj forKey:key completion:^(id _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - dispatch_async(queue, ^{ - [self.cache objectForKeyAsync:key completion:^(id _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - NSString *obj = [[NSString alloc] initWithFormat:@"obj %lu", (unsigned long)i]; - XCTAssertTrue([object isEqualToString:obj] == YES, @"object returned was not object set"); - @synchronized (self) { - count -= 1; - } - dispatch_group_leave(group); - }]; - }); - }]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - - XCTAssert(success == 0, @"Timed out waiting on operations"); - @synchronized (self) { - XCTAssertTrue(count == 0, @"one or more object blocks failed to execute, possible queue deadlock"); - } -} - -#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR -- (void)testMemoryWarningBlock -{ - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - __block BOOL blockDidExecute = NO; - - self.cache.memoryCache.didReceiveMemoryWarningBlock = ^(id cache) { - blockDidExecute = YES; - dispatch_semaphore_signal(semaphore); - }; - - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification - object:[UIApplication sharedApplication]]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertTrue(blockDidExecute, @"memory warning block did not execute"); -} - -- (void)testBackgroundBlock -{ - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - __block BOOL blockDidExecute = NO; - - self.cache.memoryCache.didEnterBackgroundBlock = ^(id cache) { - blockDidExecute = YES; - dispatch_semaphore_signal(semaphore); - }; - - BOOL isiOS8OrGreater = NO; - NSString *reqSysVer = @"8"; - NSString *currSysVer = [[UIDevice currentDevice] systemVersion]; - if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending) - isiOS8OrGreater = YES; - - if (isiOS8OrGreater) { - //sending didEnterBackgroundNotification causes crash on iOS 8. - NSNotification *notification = [NSNotification notificationWithName:UIApplicationDidEnterBackgroundNotification object:nil]; - [self.cache.memoryCache performSelector:@selector(didReceiveEnterBackgroundNotification:) withObject:notification]; - - } else { - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidEnterBackgroundNotification - object:[UIApplication sharedApplication]]; - - } - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertTrue(blockDidExecute, @"app background block did not execute"); -} - -- (void)testMemoryWarningProperty -{ - [self.cache.memoryCache setObjectAsync:@"object" forKey:@"object" completion:nil]; - - self.cache.memoryCache.removeAllObjectsOnMemoryWarning = NO; - - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - __block id object = nil; - - self.cache.memoryCache.didReceiveMemoryWarningBlock = ^(id cache) { - object = [cache objectForKey:@"object"]; - dispatch_semaphore_signal(semaphore); - }; - - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification - object:[UIApplication sharedApplication]]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssertNotNil(object, @"object was removed from the cache"); -} - -- (void)testMemoryCacheEnumerationWithWarning -{ - NSUInteger objectCount = 3; - - dispatch_apply(objectCount, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(size_t index) { - NSString *key = [[NSString alloc] initWithFormat:@"key %zd", index]; - NSString *obj = [[NSString alloc] initWithFormat:@"obj %zd", index]; - self.cache.memoryCache[key] = obj; - }); - - self.cache.memoryCache.removeAllObjectsOnMemoryWarning = NO; - - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - __block NSUInteger enumCount = 0; - - self.cache.memoryCache.didReceiveMemoryWarningBlock = ^(id cache) { - PINMemoryCache *memoryCache = (PINMemoryCache *)cache; - [memoryCache enumerateObjectsWithBlockAsync:^(id cache, NSString *key, id object, BOOL *stop) { - @synchronized (self) { - enumCount++; - } - } completionBlock:^(id cache) { - dispatch_semaphore_signal(semaphore); - }]; - }; - - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification - object:[UIApplication sharedApplication]]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - @synchronized (self) { - XCTAssertTrue(objectCount == enumCount, @"some objects were not enumerated"); - } -} - -- (void)testDiskCacheEnumeration -{ - NSUInteger objectCount = 3; - - dispatch_group_t group = dispatch_group_create(); - - dispatch_apply(objectCount, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(size_t index) { - NSString *key = [[NSString alloc] initWithFormat:@"key %zd", index]; - NSString *obj = [[NSString alloc] initWithFormat:@"obj %zd", index]; - dispatch_group_enter(group); - [self.cache.diskCache setObjectAsync:obj forKey:key completion:^(PINDiskCache *cache, NSString *key, id object) { - dispatch_group_leave(group); - }]; - }); - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - __block NSUInteger enumCount = 0; - - [self.cache.diskCache enumerateObjectsWithBlockAsync:^(NSString *key, NSURL *fileURL, BOOL *stop) { - @synchronized (self) { - enumCount++; - } - } completionBlock:^(id cache) { - dispatch_semaphore_signal(semaphore); - }]; - - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification - object:[UIApplication sharedApplication]]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - @synchronized (self) { - XCTAssertTrue(objectCount == enumCount, @"some objects were not enumerated"); - } -} -#endif - -- (void)testDeadlocks -{ - NSString *key = @"key"; - NSUInteger objectCount = 1000; - [self.cache setObject:[self image] forKey:key]; - dispatch_queue_t testQueue = dispatch_queue_create("test queue", DISPATCH_QUEUE_CONCURRENT); - - __block NSUInteger enumCount = 0; - dispatch_group_t group = dispatch_group_create(); - for (NSUInteger idx = 0; idx < objectCount; idx++) { - dispatch_group_async(group, testQueue, ^{ - [self.cache objectForKey:key]; - @synchronized (self) { - enumCount++; - } - }); - } - - dispatch_group_wait(group, [self timeout]); - @synchronized (self) { - XCTAssertTrue(objectCount == enumCount, @"was not able to fetch 1000 objects, possibly due to deadlock."); - } -} - -- (void)testAgeLimit -{ - [self.cache removeAllObjects]; - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - self.cache[key1] = [self image]; - self.cache[key2] = [self image]; - [self.cache.memoryCache setAgeLimit:60]; - [self.cache.diskCache setAgeLimit:60]; - - dispatch_group_t group = dispatch_group_create(); - - __block id memObj1 = nil; - __block id diskObj1 = nil; - __block id memObj2 = nil; - __block id diskObj2 = nil; - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - memObj1 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - memObj2 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - diskObj1 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - diskObj2 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - XCTAssert(memObj1 != nil, @"should still be in memory cache"); - XCTAssert(diskObj1 != nil, @"should still be in disk cache"); - XCTAssert(memObj2 != nil, @"should still be in memory cache"); - XCTAssert(diskObj2 != nil, @"should still be in disk cache"); - - //Set them again, but separate it out. - self.cache[key1] = [self image]; - sleep(2); - self.cache[key2] = [self image]; - - sleep(2); - - [self.cache.memoryCache setAgeLimit:3.5]; - [self.cache.diskCache setAgeLimit:3.5]; - - sleep(1); - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - memObj1 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - memObj2 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - diskObj1 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key2 completion:^(PINDiskCache *cache, NSString *key, id object) { - diskObj2 = object; - dispatch_group_leave(group); - }]; - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - XCTAssert(memObj1 == nil, @"should not be in memory cache"); - XCTAssert(diskObj1 == nil, @"should not be in disk cache"); - XCTAssert(memObj2 != nil, @"should be in memory cache"); - XCTAssert(diskObj2 != nil, @"should be in disk cache"); -} - -- (void)testByteLimit -{ - [self.cache removeAllObjects]; - NSString *key = @"key"; - self.cache[key] = [self image]; - - // Below is the size it's actually on disk. - [self.cache.diskCache setByteLimit:983040]; - - // ensure the object is returned - XCTAssert([self.cache.diskCache objectForKey:key] != nil, @"object should be stored"); - - [self.cache.diskCache setByteLimit:1]; - - // wait for disk cache to be trimmed - sleep(2); - - XCTAssert([self.cache.diskCache objectForKey:key] == nil, @"object should be cleared"); - - // check to see if it's actually deleted - [self.cache.diskCache synchronouslyLockFileAccessWhileExecutingBlock:^(id _Nonnull cache) { - NSError *error = nil; - NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:self.cache.diskCache.cacheURL - includingPropertiesForKeys:@[] - options:0 - error:&error]; - XCTAssertNil(error); - XCTAssert(contents.count == 0); - }]; -} - -- (void)testDiskReadingAfterCacheInit -{ - NSString *cacheName = @"testDiskReadingAfterCacheInit"; - PINDiskCache *diskCache = [[PINDiskCache alloc] initWithName:cacheName]; - [diskCache removeAllObjects]; - - // Store a bunch of objects so it will take a long time to initialize. - for (NSUInteger idx = 0; idx < 5000; idx++) { - NSData *tmpData = [[@(idx) stringValue] dataUsingEncoding:NSUTF8StringEncoding]; - [diskCache setObject:tmpData forKey:[@(idx) stringValue]]; - } - - // Create a new instance, it'll have to look on disk to startup. - diskCache = nil; - diskCache = [[PINDiskCache alloc] initWithName:cacheName]; - - // Check to see if we can get an object before the disk state is known. - XCTAssertNotNil([diskCache objectForKey:[@(1) stringValue]]); - XCTAssertFalse(diskCache.diskStateKnown); - - sleep(5); - - XCTAssertTrue(diskCache.diskStateKnown); -} - -#if TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR -- (void)testWritingProtectionOption -{ - self.cache.diskCache.writingProtectionOption = NSDataWritingFileProtectionCompleteUnlessOpen; - - NSString *key = @"key"; - __block NSURL *diskFileURL = nil; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - [self.cache.diskCache setObjectAsync:[self image] forKey:key completion:^(PINDiskCache *cache, NSString *key, id object) { - [cache fileURLForKeyAsync:key completion:^(NSString * _Nonnull key, NSURL * _Nullable fileURL) { - diskFileURL = fileURL; - dispatch_semaphore_signal(semaphore); - }]; - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - NSError *error = nil; - NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:diskFileURL.path error:&error]; - - XCTAssertNil(error, @"error getting attributes of file"); - XCTAssertEqualObjects(attributes[NSFileProtectionKey], NSFileProtectionCompleteUnlessOpen, @"file protection key is incorrect"); -} -#endif - -//Disabled until race conditions can be addressed -- (void)_testTTLCacheObjectAccess { - [self.cache removeAllObjects]; - NSString *key = @"key"; - [self.cache.memoryCache setAgeLimit:2]; - [self.cache.diskCache setAgeLimit:2]; - - - // The cache is going to clear at 2 seconds, set an object at 1 second, so that it misses the first cache clearing - sleep(1); - [self.cache setObject:[self image] forKey:key]; - - // Wait until time 3 so that we know the object should be expired, the 1st cache clearing has happened, and the 2nd cache clearing hasn't happened yet - sleep(2); - - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache.memoryCache setTtlCache:YES]; - - dispatch_group_t group = dispatch_group_create(); - - __block id memObj = nil; - __block id diskObj = nil; - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - memObj = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - diskObj = object; - dispatch_group_leave(group); - }]; - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - // If the cache is supposed to behave like a TTL cache, then the object shouldn't appear to be in the cache - XCTAssertNil(memObj, @"should not be in memory cache"); - XCTAssertNil(diskObj, @"should not be in disk cache"); - - [self.cache.diskCache setTtlCacheSync:NO]; - [self.cache.memoryCache setTtlCache:NO]; - - memObj = nil; - diskObj = nil; - - dispatch_group_enter(group); - [self.cache.memoryCache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - memObj = object; - dispatch_group_leave(group); - }]; - - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key completion:^(id cache, NSString *key, id object) { - diskObj = object; - dispatch_group_leave(group); - }]; - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - // If the cache is NOT supposed to behave like a TTL cache, then the object should appear to be in the cache because it hasn't been cleared yet - XCTAssertNotNil(memObj, @"should still be in memory cache"); - XCTAssertNotNil(diskObj, @"should still be in disk cache"); -} - -//Disabled until race conditions can be addressed -- (void)_testTTLCacheObjectEnumeration { - [self.cache removeAllObjects]; - NSString *key = @"key"; - [self.cache.memoryCache setAgeLimit:2]; - [self.cache.diskCache setAgeLimit:2]; - - - // The cache is going to clear at 2 seconds, set an object at 1 second, so that it misses the first cache clearing - sleep(1); - self.cache[key] = [self image]; - - // Wait until time 3 so that we know the object should be expired, the 1st cache clearing has happened, and the 2nd cache clearing hasn't happened yet - sleep(2); - - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache.memoryCache setTtlCache:YES]; - - // Wait for ttlCache to be set - dispatch_group_t group = dispatch_group_create(); - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key completion:^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - dispatch_group_leave(group); - }]; - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - // With the TTL cache enabled, we expect enumerating over the caches to yield 0 objects - NSUInteger expectedObjCount = 0; - __block NSUInteger objCount = 0; - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL *stop) { - objCount++; - }]; - - XCTAssertEqual(objCount, expectedObjCount, @"Expected %lu objects in the cache", (unsigned long)expectedObjCount); - - objCount = 0; - [self.cache.memoryCache enumerateObjectsWithBlock:^(id cache, NSString *key, id _Nullable object, BOOL *stop) { - objCount++; - }]; - - XCTAssertEqual(objCount, expectedObjCount, @"Expected %lu objects in the cache", (unsigned long)expectedObjCount); - - [self.cache.diskCache setTtlCacheSync:NO]; - [self.cache.memoryCache setTtlCache:NO]; - - // Wait for ttlCache to be set - dispatch_group_enter(group); - [self.cache.diskCache objectForKeyAsync:key completion:^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - dispatch_group_leave(group); - }]; - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - // With the TTL cache disabled, we expect enumerating over the caches to yield 1 object each, since the 2nd cache clearing hasn't happened yet - expectedObjCount = 1; - objCount = 0; - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL *stop) { - objCount++; - }]; - - XCTAssertEqual(objCount, expectedObjCount, @"Expected %lu objects in the cache", (unsigned long)expectedObjCount); - - objCount = 0; - [self.cache.memoryCache enumerateObjectsWithBlock:^(id _Nonnull cache, NSString * _Nonnull key, id _Nullable object, BOOL *stop) { - objCount++; - }]; - - XCTAssertEqual(objCount, expectedObjCount, @"Expected %lu objects in the cache", (unsigned long)expectedObjCount); -} - -//Disabled until race conditions can be addressed -- (void)_testTTLCacheFileURLForKey { - NSString *key = @"key"; - - dispatch_group_t group = dispatch_group_create(); - dispatch_group_enter(group); - __block NSURL *objectURL = nil; - [self.cache.diskCache setObjectAsync:[self image] forKey:key completion:^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - [cache fileURLForKeyAsync:key completion:^(NSString * _Nonnull key, NSURL * _Nullable fileURL) { - objectURL = fileURL; - dispatch_group_leave(group); - }]; - }]; - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - XCTAssertNotNil(objectURL, @"objectURL should have a non-nil URL"); - - // Wait a moment to ensure that the file modification time is set (done asynchronously) - sleep(1); - - NSError *error = nil; - NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[objectURL path] error:&error]; - NSDate *initialModificationDate = attributes[NSFileModificationDate]; - XCTAssertNotNil(initialModificationDate, @"The saved file should have a non-nil modification date"); - - // Wait a moment to ensure that the file modification time can be changed to something different - sleep(1); - - [self.cache.diskCache setTtlCacheSync:YES]; - - // Wait for ttlCache to be set - sleep(1); - - [self.cache.diskCache objectForKey:key]; - [self.cache.diskCache fileURLForKey:key]; - - // Wait a moment to ensure that the file modification time is set (done asynchronously) - sleep(1); - - attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[objectURL path] error:nil]; - NSDate *ttlCacheEnabledModificationDate = attributes[NSFileModificationDate]; - XCTAssertNotNil(ttlCacheEnabledModificationDate, @"The saved file should have a non-nil modification date"); - - XCTAssertEqualObjects(initialModificationDate, ttlCacheEnabledModificationDate, @"The modification date shouldn't change when accessing the file URL, when ttlCache is enabled"); - - [self.cache.diskCache setTtlCacheSync:NO]; - - // Wait for ttlCache to be set - sleep(1); - - [self.cache.diskCache objectForKey:key]; - [self.cache.diskCache fileURLForKey:key]; - - // Wait a moment to ensure that the file modification time is set (done asynchronously) - sleep(1); - - attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[objectURL path] error:nil]; - NSDate *ttlCacheDisabledModificationDate = attributes[NSFileModificationDate]; - XCTAssertNotNil(ttlCacheDisabledModificationDate, @"The saved file should have a non-nil modification date"); - - XCTAssertNotEqualObjects(initialModificationDate, ttlCacheDisabledModificationDate, @"The modification date should change when accessing the file URL, when ttlCache is not enabled"); - -} - -- (void)testObjectTTLObjectAccess -{ - [self.cache.memoryCache setTtlCache:YES]; - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache removeAllObjects]; - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - - [self.cache setObject:[self image] forKey:key1 withAgeLimit:60.0]; - [self.cache setObject:[self image] forKey:key2 withAgeLimit:120.0]; - - // Neither object should be expired at this point and should exist in both caches - - XCTestExpectation *memObjectForKey1Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #1"]; - [self.cache.memoryCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should still be in memory cache"); - [memObjectForKey1Expectation fulfill]; - }]; - - XCTestExpectation *memObjectForKey2Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #2"]; - [self.cache.memoryCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should still be in memory cache"); - [memObjectForKey2Expectation fulfill]; - }]; - - XCTestExpectation *diskObjectForKey1Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #1"]; - [self.cache.diskCache objectForKeyAsync:key1 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should still be in disk cache"); - [diskObjectForKey1Expectation fulfill]; - }]; - - XCTestExpectation *diskObjectForKey2Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #2"]; - [self.cache.diskCache objectForKeyAsync:key2 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should still be in disk cache"); - [diskObjectForKey2Expectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:0.1 handler:nil]; - - // Fast forward 90 seconds. - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:90]]; - - // The first object has been expired for 30 seconds and should not exist in the cache anymore. - - memObjectForKey1Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #1"]; - [self.cache.memoryCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - XCTAssertNil(object, @"should not be in memory cache"); - [memObjectForKey1Expectation fulfill]; - }]; - - memObjectForKey2Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #2"]; - [self.cache.memoryCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should not be in memory cache"); - [memObjectForKey2Expectation fulfill]; - }]; - - diskObjectForKey1Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #1"]; - [self.cache.diskCache objectForKeyAsync:key1 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNil(object, @"should not be in disk cache"); - [diskObjectForKey1Expectation fulfill]; - }]; - - diskObjectForKey2Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #2"]; - [self.cache.diskCache objectForKeyAsync:key2 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should not be in disk cache"); - [diskObjectForKey2Expectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:0.1 handler:nil]; - - [NSDate stopMockingDate]; -} - -- (void)testObjectTTLObjectEnumeration -{ - [self.cache.memoryCache setTtlCache:YES]; - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache removeAllObjects]; - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - - [self.cache setObject:[self image] forKey:key1 withAgeLimit:60.0]; - [self.cache setObject:[self image] forKey:key2 withAgeLimit:120.0]; - - // Neither object should be expired at this point and should exist in both caches - - __block NSUInteger objCount = 0; - [self.cache.memoryCache enumerateObjectsWithBlock:^(id cache, NSString *key, id _Nullable object, BOOL *stop) { - objCount++; - }]; - XCTAssertEqual(objCount, 2, @"Expected 2 objects, got %tu.", objCount); - - objCount = 0; - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL *stop) { - objCount++; - }]; - XCTAssertEqual(objCount, 2, @"Expected 2 objects, got %tu.", objCount); - - // Fast forward 90 seconds. - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:90]]; - - // The first object has been expired for 30 seconds and should not exist in the cache anymore. - - objCount = 0; - [self.cache.memoryCache enumerateObjectsWithBlock:^(id cache, NSString *key, id _Nullable object, BOOL *stop) { - objCount++; - }]; - XCTAssertEqual(objCount, 1, @"Expected 1 object, got %tu.", objCount); - - objCount = 0; - [self.cache.diskCache enumerateObjectsWithBlock:^(NSString * _Nonnull key, NSURL * _Nullable fileURL, BOOL *stop) { - objCount++; - }]; - XCTAssertEqual(objCount, 1, @"Expected 1 object, got %tu.", objCount); - - [NSDate stopMockingDate]; -} - -- (void)testRemoveExpiredObjects -{ - [self.cache.memoryCache setTtlCache:YES]; - [self.cache.diskCache setTtlCacheSync:YES]; - [self.cache removeAllObjects]; - NSString *key1 = @"key1"; - NSString *key2 = @"key2"; - - [self.cache setObject:[self image] forKey:key1 withAgeLimit:60.0]; - [self.cache setObject:[self image] forKey:key2 withAgeLimit:120.0]; - - // Fast forward 90 seconds. - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:90]]; - - // The first object has been expired for 30 seconds and should be cleared out. - [self.cache removeExpiredObjects]; - - // Go back to current time, so we can check if objects exist in cache. If we don't do this, the getters will return nil - // even if the objects are in the cache. - [NSDate stopMockingDate]; - - XCTestExpectation *memObjectForKey1Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #1"]; - [self.cache.memoryCache objectForKeyAsync:key1 completion:^(id cache, NSString *key, id object) { - XCTAssertNil(object, @"should not be in memory cache"); - [memObjectForKey1Expectation fulfill]; - }]; - - XCTestExpectation *memObjectForKey2Expectation = [self expectationWithDescription:@"memoryCache objectForKeyAsync - #2"]; - [self.cache.memoryCache objectForKeyAsync:key2 completion:^(id cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should not be in memory cache"); - [memObjectForKey2Expectation fulfill]; - }]; - - XCTestExpectation *diskObjectForKey1Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #1"]; - [self.cache.diskCache objectForKeyAsync:key1 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNil(object, @"should not be in disk cache"); - [diskObjectForKey1Expectation fulfill]; - }]; - - XCTestExpectation *diskObjectForKey2Expectation = [self expectationWithDescription:@"diskCache objectForKeyAsync - #2"]; - [self.cache.diskCache objectForKeyAsync:key2 completion:^(PINDiskCache *cache, NSString *key, id object) { - XCTAssertNotNil(object, @"should not be in disk cache"); - [diskObjectForKey2Expectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:0.1 handler:nil]; -} - -- (void)testDiskRehydrationOfObjectAgeLimit -{ - NSString * const cacheName = @"testDiskRehydrationOfObjectAgeLimit"; - NSString * const key = @"key"; - const NSTimeInterval ageLimit = 60.0; - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:cacheName]; - [testCache setTtlCacheSync:YES]; - NSURL *testCacheURL = testCache.cacheURL; - NSError *error = nil; - - //Make sure the cache URL does not exist. - if ([[NSFileManager defaultManager] fileExistsAtPath:[testCacheURL path]]) { - [[NSFileManager defaultManager] removeItemAtURL:testCacheURL error:&error]; - XCTAssertNil(error); - } - - testCache = [[PINDiskCache alloc] initWithName:cacheName]; - [testCache setTtlCacheSync:YES]; - [testCache setObject:[self image] forKey:key withAgeLimit:ageLimit]; - - // The age limit is set asynchronously, *even* when we set the object synchronously. - sleep(1); - - // Re-initialize the cache, this should read the age limit for the object from the extended file system attributes. - testCache = [[PINDiskCache alloc] initWithName:cacheName]; - [testCache setTtlCacheSync:YES]; - - [testCache waitForKnownState]; - id object = testCache.metadata[key]; - id ageLimitFromDisk = [object valueForKey:@"ageLimit"]; - XCTAssertEqual([ageLimitFromDisk doubleValue], ageLimit); -} - -- (void)testAsyncDiskInitialization -{ - NSString * const cacheName = @"testAsyncDiskInitialization"; - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:cacheName]; - NSURL *testCacheURL = testCache.cacheURL; - NSError *error = nil; - - //Make sure the cache URL does not exist. - if ([[NSFileManager defaultManager] fileExistsAtPath:[testCacheURL path]]) { - [[NSFileManager defaultManager] removeItemAtURL:testCacheURL error:&error]; - XCTAssertNil(error); - } - - testCache = [[PINDiskCache alloc] initWithName:cacheName]; - //This should not return until *after* disk cache directory has been created - [testCache setObject:@"some bogus object" forKey:@"some bogus key"]; - XCTAssertTrue([[NSFileManager defaultManager] fileExistsAtPath:[testCacheURL path]]); -} - -- (void)testDiskCacheSet -{ - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:@"testDiskCacheSet"]; - const NSUInteger objectCount = 100; - [self measureBlock:^{ - for (NSUInteger idx = 0; idx < objectCount; idx++) { - [testCache setObject:[@(idx) stringValue] forKey:[@(idx) stringValue]]; - } - }]; -} - -- (void)testDiskCacheHit -{ - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:@"textDiskCacheHit"]; - const NSUInteger objectCount = 100; - for (NSUInteger idx = 0; idx < objectCount; idx++) { - [testCache setObject:[@(idx) stringValue] forKey:[@(idx) stringValue]]; - } - [self measureBlock:^{ - for (NSUInteger idx = 0; idx < objectCount; idx++) { - [testCache objectForKey:[@(idx) stringValue]]; - } - }]; -} - -- (void)testDiskCacheMiss -{ - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:@"testDiskCacheMiss"]; - const NSUInteger objectCount = 100; - [self measureBlock:^{ - for (NSUInteger idx = 0; idx < objectCount; idx++) { - [testCache objectForKey:[@(idx) stringValue]]; - } - }]; -} - -- (void)testDiskCacheEmptyTrash -{ - const NSUInteger fileCount = 100; - NSFileManager *fileManager = [NSFileManager defaultManager]; - NSString *trashPath = [[PINDiskCache sharedTrashURL] path]; - - dispatch_group_t group = dispatch_group_create(); - - NSError *error = nil; - unsigned long long originalTempDirSize = [[fileManager attributesOfItemAtPath:trashPath error:&error] fileSize]; - XCTAssertNil(error); - - for (int i = 0; i < fileCount; i++) { - NSString *key = [NSString stringWithFormat:@"key%d", i]; - self.cache.diskCache[key] = key; - } - - dispatch_group_enter(group); - [self.cache.diskCache removeAllObjectsAsync:^(id _Nonnull cache) { - // Temporary directory should be bigger now since the trash directory is still inside it - NSError *error = nil; - unsigned long long tempDirSize = [[fileManager attributesOfItemAtPath:trashPath error:&error] fileSize]; - XCTAssertNil(error); - XCTAssertLessThan(originalTempDirSize, tempDirSize); - - // Temporary directory should be gone at the end of the trash queue. - dispatch_group_enter(group); - dispatch_async([PINDiskCache sharedTrashQueue], ^{ - XCTAssertFalse([fileManager fileExistsAtPath:trashPath isDirectory:NULL]); - dispatch_group_leave(group); - }); - - dispatch_group_leave(group); - }]; - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)testCustomEncoderDecoder { - NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]; - PINDiskCacheKeyEncoderBlock encoder = ^NSString *(NSString *decodedKey) { - return decodedKey; - }; - PINDiskCacheKeyDecoderBlock decoder = ^NSString *(NSString *encodedKey) { - return encodedKey; - }; - PINDiskCache *testCache = [[PINDiskCache alloc] initWithName:@"testCustomEncoder" - prefix:PINDiskCachePrefix - rootPath:rootPath - serializer:NULL - deserializer:NULL - keyEncoder:encoder - keyDecoder:decoder - operationQueue:[PINOperationQueue sharedOperationQueue]]; - - [testCache setObject:@(1) forKey:@"test_key"]; - - XCTAssertNotNil([testCache objectForKey:@"test_key"], @"Object should not be nil"); - - NSString *encodedKey = [[testCache fileURLForKey:@"test_key"] lastPathComponent]; - XCTAssertEqualObjects(@"test_key", encodedKey, @"Encoded key should be equal to decoded one"); - -} - -- (void)testTTLCacheIsSet { - PINCache *cache = [[PINCache alloc] initWithName:@"test" rootPath:PINDiskCachePrefix serializer:nil deserializer:nil keyEncoder:nil keyDecoder:nil ttlCache:YES]; - XCTAssert(cache.diskCache.isTTLCache); - XCTAssert(cache.memoryCache.isTTLCache); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.h deleted file mode 100644 index ce487335..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.h +++ /dev/null @@ -1,16 +0,0 @@ -#import - -@interface PINDiskCache (PINCacheTests) - -/** - Sets `ttlCache` property synchronously. This is normally set asyncronously, but for testing purposes it is useful block until the - actual value has been set. - */ -- (void)setTtlCacheSync:(BOOL)ttlCache; - -/** - Waits until all metadata has been read off the disk - */ -- (void)waitForKnownState; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.m deleted file mode 100644 index 3535d43b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/Tests/PINDiskCache+PINCacheTests.m +++ /dev/null @@ -1,28 +0,0 @@ -#import "PINDiskCache+PINCacheTests.h" - -@interface PINDiskCache () { - BOOL _ttlCache; -} - -- (void)lock; -- (void)lockAndWaitForKnownState; -- (void)unlock; - -@end - -@implementation PINDiskCache (PINCacheTests) - -- (void)setTtlCacheSync:(BOOL)ttlCache -{ - [self lock]; - self->_ttlCache = ttlCache; - [self unlock]; -} - -- (void)waitForKnownState -{ - [self lockAndWaitForKnownState]; - [self unlock]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/build_docs.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/build_docs.sh deleted file mode 100755 index b50920de..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/build_docs.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env sh - -appledoc \ - --company-id com.pinterest \ - --project-name PINCache \ - --project-company Pinterest \ - --project-version 2.0 \ - --docset-min-xcode-version 4.3 \ - --docset-bundle-id %COMPANYID.%PROJECTID \ - --docset-bundle-name "%PROJECT %VERSION" \ - --docset-bundle-filename %COMPANYID.%PROJECTID-%VERSIONID.docset \ - --ignore "tests" \ - --ignore "docs" \ - --ignore "*.m" \ - --no-repeat-first-par \ - --explicit-crossref \ - --clean-output \ - --keep-intermediate-files \ - --output ./docs \ - . - -mv docs/docset docs/com.pinterest.PINCache-2.0.docset -rm docs/docset-installed.txt diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Info.plist deleted file mode 100644 index 6d0f7cf1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - com.pinterest.PINCache - CFBundleName - PINCache 2.0 - CFBundleShortVersionString - 2.0 - CFBundleVersion - 2.0 - - - - - DocSetFeedName - PINCache Documentation - - DocSetMinimumXcodeVersion - 4.3 - - DashDocSetFamily - appledoc - DocSetPublisherIdentifier - com.pinterest.documentation - DocSetPublisherName - Pinterest - NSHumanReadableCopyright - Copyright © 2016 Pinterest. All rights reserved. - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheObjectBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheFileURLBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheFileURLBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheFileURLBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheObjectBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINDiskCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheObjectBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Blocks/PINMemoryCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINCache.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINDiskCache.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINDiskCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINDiskCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINMemoryCache.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINMemoryCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Classes/PINMemoryCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Protocols/PINCacheObjectSubscripting.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Protocols/PINCacheObjectSubscripting.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/Protocols/PINCacheObjectSubscripting.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_index.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_layout.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_object.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_print.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_variables.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/style.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/hierarchy.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/hierarchy.html deleted file mode 100644 index 0b83af71..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/hierarchy.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/button_bar_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure_open.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/library_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/title_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/index.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/index.html deleted file mode 100644 index a6e5fa92..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/js/script.js b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Documents/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Nodes.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Nodes.xml deleted file mode 100644 index 387151bb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Nodes.xml +++ /dev/null @@ -1,239 +0,0 @@ - - - - - PINCache - index.html - - - - - Classes - index.html - - - - - - - - - - - - Protocols - index.html - - - - - - - - - - Blocks - index.html - - - - - - - - - - - - - - - - - - - PINCache - Classes/PINCache.html - - - - Classes/PINCache.html - Overview - overview - - - Classes/PINCache.html - Tasks - tasks - - - - Classes/PINCache.html - Properties - properties - - - - - Classes/PINCache.html - Class Methods - class_methods - - - - - Classes/PINCache.html - Instance Methods - instance_methods - - - - - - - PINDiskCache - Classes/PINDiskCache.html - - - - Classes/PINDiskCache.html - Overview - overview - - - Classes/PINDiskCache.html - Tasks - tasks - - - - Classes/PINDiskCache.html - Properties - properties - - - - - Classes/PINDiskCache.html - Class Methods - class_methods - - - - - Classes/PINDiskCache.html - Instance Methods - instance_methods - - - - - - - PINMemoryCache - Classes/PINMemoryCache.html - - - - Classes/PINMemoryCache.html - Overview - overview - - - Classes/PINMemoryCache.html - Tasks - tasks - - - - Classes/PINMemoryCache.html - Properties - properties - - - - - Classes/PINMemoryCache.html - Class Methods - class_methods - - - - - Classes/PINMemoryCache.html - Instance Methods - instance_methods - - - - - - - - - PINCacheObjectSubscripting - Protocols/PINCacheObjectSubscripting.html - - - - Protocols/PINCacheObjectSubscripting.html - Overview - overview - - - Protocols/PINCacheObjectSubscripting.html - Tasks - tasks - - - - - - Protocols/PINCacheObjectSubscripting.html - Instance Methods - instance_methods - - - - - - - - - PINCacheBlock - Blocks/PINCacheBlock.html - - - - PINCacheObjectBlock - Blocks/PINCacheObjectBlock.html - - - - PINDiskCacheBlock - Blocks/PINDiskCacheBlock.html - - - - PINDiskCacheFileURLBlock - Blocks/PINDiskCacheFileURLBlock.html - - - - PINDiskCacheObjectBlock - Blocks/PINDiskCacheObjectBlock.html - - - - PINMemoryCacheBlock - Blocks/PINMemoryCacheBlock.html - - - - PINMemoryCacheObjectBlock - Blocks/PINMemoryCacheObjectBlock.html - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens1.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens1.xml deleted file mode 100644 index 0835e772..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens1.xml +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - //apple_ref/occ/cl/PINCache - PINCache is a thread safe key/value store designed for persisting temporary objects that are expensive to -reproduce, such as downloaded data or the results of slow processing. It is comprised of two self-similar -stores, one in memory (PINMemoryCache and one on disk (PINDiskCache. - PINCache.h - - - - - - - - //apple_ref/occ/instm/PINCache/setName: - The name of this cache, used to create the diskCache and also appearing in stack traces. - PINCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instm/PINCache/name - The name of this cache, used to create the diskCache and also appearing in stack traces. - PINCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instp/PINCache/name - The name of this cache, used to create the diskCache and also appearing in stack traces. - PINCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instm/PINCache/setConcurrentQueue: - A concurrent queue on which blocks passed to the asynchronous access methods are run. - PINCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instm/PINCache/concurrentQueue - A concurrent queue on which blocks passed to the asynchronous access methods are run. - PINCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instp/PINCache/concurrentQueue - A concurrent queue on which blocks passed to the asynchronous access methods are run. - PINCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instm/PINCache/setDiskByteCount: - Synchronously retrieves the total byte count of the diskCache on the shared disk queue. - PINCache.h - - @property (readonly) NSUInteger diskByteCount - - - //api/name/diskByteCount - - - - - //apple_ref/occ/instm/PINCache/diskByteCount - Synchronously retrieves the total byte count of the diskCache on the shared disk queue. - PINCache.h - - @property (readonly) NSUInteger diskByteCount - - - //api/name/diskByteCount - - - - - //apple_ref/occ/instp/PINCache/diskByteCount - Synchronously retrieves the total byte count of the diskCache on the shared disk queue. - PINCache.h - - @property (readonly) NSUInteger diskByteCount - - - //api/name/diskByteCount - - - - - //apple_ref/occ/instm/PINCache/setDiskCache: - The underlying disk cache, see PINDiskCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINDiskCache *diskCache - - - //api/name/diskCache - - - - - //apple_ref/occ/instm/PINCache/diskCache - The underlying disk cache, see PINDiskCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINDiskCache *diskCache - - - //api/name/diskCache - - - - - //apple_ref/occ/instp/PINCache/diskCache - The underlying disk cache, see PINDiskCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINDiskCache *diskCache - - - //api/name/diskCache - - - - - //apple_ref/occ/instm/PINCache/setMemoryCache: - The underlying memory cache, see PINMemoryCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINMemoryCache *memoryCache - - - //api/name/memoryCache - - - - - //apple_ref/occ/instm/PINCache/memoryCache - The underlying memory cache, see PINMemoryCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINMemoryCache *memoryCache - - - //api/name/memoryCache - - - - - //apple_ref/occ/instp/PINCache/memoryCache - The underlying memory cache, see PINMemoryCache for additional configuration and trimming options. - PINCache.h - - @property (readonly) PINMemoryCache *memoryCache - - - //api/name/memoryCache - - - - - //apple_ref/occ/clm/PINCache/sharedCache - A shared cache. - PINCache.h - - + (instancetype)sharedCache - - The shared singleton cache instance. - //api/name/sharedCache - - - - - //apple_ref/occ/instm/PINCache/initWithName: - Multiple instances with the same name are allowed and can safely access -the same data on disk thanks to the magic of seriality. Also used to create the diskCache. - PINCache.h - - - //apple_ref/occ/instp/PINCache/name - - - - - (instancetype)initWithName:(NSString *)name - - - name - The name of the cache. - - - A new cache with the specified name. - //api/name/initWithName: - - - - - //apple_ref/occ/instm/PINCache/initWithName:rootPath: - Multiple instances with the same name are allowed and can safely access -the same data on disk thanks to the magic of seriality. Also used to create the diskCache. - PINCache.h - - - //apple_ref/occ/instp/PINCache/name - - - - - (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath - - - name - The name of the cache. - - rootPath - The path of the cache on disk. - - - A new cache with the specified name. - //api/name/initWithName:rootPath: - - - - - //apple_ref/occ/instm/PINCache/containsObjectForKey:block: - This method determines whether an object is present for the given key in the cache. This method returns immediately -and executes the passed block after the object is available, potentially in parallel with other blocks on the -concurrentQueue. - PINCache.h - - - //apple_ref/occ/instm/PINCache/containsObjectForKey: - - - - - (void)containsObjectForKey:(NSString *)key block:(PINCacheObjectContainmentBlock)block - - - key - The key associated with the object. - - block - A block to be executed concurrently after the containment check happened - - - - //api/name/containsObjectForKey:block: - - - - - //apple_ref/occ/instm/PINCache/objectForKey:block: - Retrieves the object for the specified key. This method returns immediately and executes the passed -block after the object is available, potentially in parallel with other blocks on the concurrentQueue. - PINCache.h - - - (void)objectForKey:(NSString *)key block:(PINCacheObjectBlock)block - - - key - The key associated with the requested object. - - block - A block to be executed concurrently when the object is available. - - - - //api/name/objectForKey:block: - - - - - //apple_ref/occ/instm/PINCache/setObject:forKey:block: - Stores an object in the cache for the specified key. This method returns immediately and executes the -passed block after the object has been stored, potentially in parallel with other blocks on the concurrentQueue. - PINCache.h - - - (void)setObject:(id<NSCoding>)object forKey:(NSString *)key block:(nullable PINCacheObjectBlock)block - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - block - A block to be executed concurrently after the object has been stored, or nil. - - - - //api/name/setObject:forKey:block: - - - - - //apple_ref/occ/instm/PINCache/removeObjectForKey:block: - Removes the object for the specified key. This method returns immediately and executes the passed -block after the object has been removed, potentially in parallel with other blocks on the concurrentQueue. - PINCache.h - - - (void)removeObjectForKey:(NSString *)key block:(nullable PINCacheObjectBlock)block - - - key - The key associated with the object to be removed. - - block - A block to be executed concurrently after the object has been removed, or nil. - - - - //api/name/removeObjectForKey:block: - - - - - //apple_ref/occ/instm/PINCache/trimToDate:block: - Removes all objects from the cache that have not been used since the specified date. This method returns immediately and -executes the passed block after the cache has been trimmed, potentially in parallel with other blocks on the concurrentQueue. - PINCache.h - - - (void)trimToDate:(NSDate *)date block:(nullable PINCacheBlock)block - - - date - Objects that haven't been accessed since this date are removed from the cache. - - block - A block to be executed concurrently after the cache has been trimmed, or nil. - - - - //api/name/trimToDate:block: - - - - - //apple_ref/occ/instm/PINCache/removeAllObjects: - Removes all objects from the cache.This method returns immediately and executes the passed block after the -cache has been cleared, potentially in parallel with other blocks on the concurrentQueue. - PINCache.h - - - (void)removeAllObjects:(nullable PINCacheBlock)block - - - block - A block to be executed concurrently after the cache has been cleared, or nil. - - - - //api/name/removeAllObjects: - - - - - //apple_ref/occ/instm/PINCache/containsObjectForKey: - This method determines whether an object is present for the given key in the cache. - PINCache.h - - - //apple_ref/occ/instm/PINCache/containsObjectForKey:block: - - - - - (BOOL)containsObjectForKey:(NSString *)key - - - key - The key associated with the object. - - - YES if an object is present for the given key in the cache, otherwise NO. - //api/name/containsObjectForKey: - - - - - //apple_ref/occ/instm/PINCache/objectForKey: - Retrieves the object for the specified key. This method blocks the calling thread until the object is available. -Uses a semaphore to achieve synchronicity on the disk cache. - PINCache.h - - - //apple_ref/occ/instm/PINCache/objectForKey:block: - - - - - (__nullable id)objectForKey:(NSString *)key - - - key - The key associated with the object. - - - The object for the specified key. - //api/name/objectForKey: - - - - - //apple_ref/occ/instm/PINCache/setObject:forKey: - Stores an object in the cache for the specified key. This method blocks the calling thread until the object has been set. -Uses a semaphore to achieve synchronicity on the disk cache. - PINCache.h - - - //apple_ref/occ/instm/PINCache/setObject:forKey:block: - - - - - (void)setObject:(id<NSCoding>)object forKey:(NSString *)key - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - - - //api/name/setObject:forKey: - - - - - //apple_ref/occ/instm/PINCache/removeObjectForKey: - Removes the object for the specified key. This method blocks the calling thread until the object -has been removed. -Uses a semaphore to achieve synchronicity on the disk cache. - PINCache.h - - - (void)removeObjectForKey:(NSString *)key - - - key - The key associated with the object to be removed. - - - - //api/name/removeObjectForKey: - - - - - //apple_ref/occ/instm/PINCache/trimToDate: - Removes all objects from the cache that have not been used since the specified date. -This method blocks the calling thread until the cache has been trimmed. -Uses a semaphore to achieve synchronicity on the disk cache. - PINCache.h - - - (void)trimToDate:(NSDate *)date - - - date - Objects that haven't been accessed since this date are removed from the cache. - - - - //api/name/trimToDate: - - - - - //apple_ref/occ/instm/PINCache/removeAllObjects - Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. -Uses a semaphore to achieve synchronicity on the disk cache. - PINCache.h - - - (void)removeAllObjects - - - //api/name/removeAllObjects - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens10.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens10.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens10.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens11.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens11.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens11.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens2.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens2.xml deleted file mode 100644 index c0c44157..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens2.xml +++ /dev/null @@ -1,1047 +0,0 @@ - - - - - - //apple_ref/occ/cl/PINDiskCache - PINDiskCache is a thread safe key/value store backed by the file system. It accepts any object conforming -to the NSCoding protocol, which includes the basic Foundation data types and collection classes and also -many UIKit classes, notably UIImage. All work is performed on a serial queue shared by all instances in -the app, and archiving is handled by NSKeyedArchiver. This is a particular advantage for UIImage because -it skips UIImagePNGRepresentation() and retains information like scale and orientation. - PINDiskCache.h - - - - - - - - //apple_ref/occ/instm/PINDiskCache/setName: - The name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. - PINDiskCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instm/PINDiskCache/name - The name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. - PINDiskCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instp/PINDiskCache/name - The name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. - PINDiskCache.h - - @property (readonly) NSString *name - - - //api/name/name - - - - - //apple_ref/occ/instm/PINDiskCache/setCacheURL: - The URL of the directory used by this cache, usually Library/Caches/com.pinterest.PINDiskCache.(name) - PINDiskCache.h - - @property (readonly) NSURL *cacheURL - - - //api/name/cacheURL - - - - - //apple_ref/occ/instm/PINDiskCache/cacheURL - The URL of the directory used by this cache, usually Library/Caches/com.pinterest.PINDiskCache.(name) - PINDiskCache.h - - @property (readonly) NSURL *cacheURL - - - //api/name/cacheURL - - - - - //apple_ref/occ/instp/PINDiskCache/cacheURL - The URL of the directory used by this cache, usually Library/Caches/com.pinterest.PINDiskCache.(name) - PINDiskCache.h - - @property (readonly) NSURL *cacheURL - - - //api/name/cacheURL - - - - - //apple_ref/occ/instm/PINDiskCache/setByteCount: - The total number of bytes used on disk, as reported by NSURLTotalFileAllocatedSizeKey. - PINDiskCache.h - - @property (readonly) NSUInteger byteCount - - - //api/name/byteCount - - - - - //apple_ref/occ/instm/PINDiskCache/byteCount - The total number of bytes used on disk, as reported by NSURLTotalFileAllocatedSizeKey. - PINDiskCache.h - - @property (readonly) NSUInteger byteCount - - - //api/name/byteCount - - - - - //apple_ref/occ/instp/PINDiskCache/byteCount - The total number of bytes used on disk, as reported by NSURLTotalFileAllocatedSizeKey. - PINDiskCache.h - - @property (readonly) NSUInteger byteCount - - - //api/name/byteCount - - - - - //apple_ref/occ/instm/PINDiskCache/setByteLimit: - The maximum number of bytes allowed on disk. This value is checked every time an object is set, if the written -size exceeds the limit a trim call is queued. Defaults to 0.0, meaning no practical limit. - PINDiskCache.h - - @property (assign) NSUInteger byteLimit - - - //api/name/byteLimit - - - - - //apple_ref/occ/instm/PINDiskCache/byteLimit - The maximum number of bytes allowed on disk. This value is checked every time an object is set, if the written -size exceeds the limit a trim call is queued. Defaults to 0.0, meaning no practical limit. - PINDiskCache.h - - @property (assign) NSUInteger byteLimit - - - //api/name/byteLimit - - - - - //apple_ref/occ/instp/PINDiskCache/byteLimit - The maximum number of bytes allowed on disk. This value is checked every time an object is set, if the written -size exceeds the limit a trim call is queued. Defaults to 0.0, meaning no practical limit. - PINDiskCache.h - - @property (assign) NSUInteger byteLimit - - - //api/name/byteLimit - - - - - //apple_ref/occ/instm/PINDiskCache/setAgeLimit: - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0, meaning no limit. - PINDiskCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instm/PINDiskCache/ageLimit - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0, meaning no limit. - PINDiskCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instp/PINDiskCache/ageLimit - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0, meaning no limit. - PINDiskCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instm/PINDiskCache/setWritingProtectionOption: - The writing protection option used when writing a file on disk. This value is used every time an object is set. -NSDataWritingAtomic and NSDataWritingWithoutOverwriting are ignored if set -Defaults to NSDataWritingFileProtectionNone. - PINDiskCache.h - - @property (assign) NSDataWritingOptions writingProtectionOption - - - //api/name/writingProtectionOption - - - - - //apple_ref/occ/instm/PINDiskCache/writingProtectionOption - The writing protection option used when writing a file on disk. This value is used every time an object is set. -NSDataWritingAtomic and NSDataWritingWithoutOverwriting are ignored if set -Defaults to NSDataWritingFileProtectionNone. - PINDiskCache.h - - @property (assign) NSDataWritingOptions writingProtectionOption - - - //api/name/writingProtectionOption - - - - - //apple_ref/occ/instp/PINDiskCache/writingProtectionOption - The writing protection option used when writing a file on disk. This value is used every time an object is set. -NSDataWritingAtomic and NSDataWritingWithoutOverwriting are ignored if set -Defaults to NSDataWritingFileProtectionNone. - PINDiskCache.h - - @property (assign) NSDataWritingOptions writingProtectionOption - - - //api/name/writingProtectionOption - - - - - //apple_ref/occ/instm/PINDiskCache/setTtlCache: - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: - - Accessing an object in the cache does not extend that object's lifetime in the cache - - When attempting to access an object in the cache that has lived longer than self.ageLimit, - the cache will behave as if the object does not exist - PINDiskCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instm/PINDiskCache/isTTLCache - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: - - Accessing an object in the cache does not extend that object's lifetime in the cache - - When attempting to access an object in the cache that has lived longer than self.ageLimit, - the cache will behave as if the object does not exist - PINDiskCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instp/PINDiskCache/ttlCache - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: - - Accessing an object in the cache does not extend that object's lifetime in the cache - - When attempting to access an object in the cache that has lived longer than self.ageLimit, - the cache will behave as if the object does not exist - PINDiskCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instm/PINDiskCache/setWillAddObjectBlock: - A block to be executed just before an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/willAddObjectBlock - A block to be executed just before an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instp/PINDiskCache/willAddObjectBlock - A block to be executed just before an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/setWillRemoveObjectBlock: - A block to be executed just before an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/willRemoveObjectBlock - A block to be executed just before an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instp/PINDiskCache/willRemoveObjectBlock - A block to be executed just before an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/setWillRemoveAllObjectsBlock: - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINDiskCache/willRemoveAllObjectsBlock - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instp/PINDiskCache/willRemoveAllObjectsBlock - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINDiskCache/setDidAddObjectBlock: - A block to be executed just after an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/didAddObjectBlock - A block to be executed just after an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instp/PINDiskCache/didAddObjectBlock - A block to be executed just after an object is added to the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/setDidRemoveObjectBlock: - A block to be executed just after an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/didRemoveObjectBlock - A block to be executed just after an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instp/PINDiskCache/didRemoveObjectBlock - A block to be executed just after an object is removed from the cache. The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINDiskCache/setDidRemoveAllObjectsBlock: - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINDiskCache/didRemoveAllObjectsBlock - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/instp/PINDiskCache/didRemoveAllObjectsBlock - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -The queue waits during execution. - PINDiskCache.h - - @property (copy) PINDiskCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/clm/PINDiskCache/sharedCache - A shared cache. - PINDiskCache.h - - + (instancetype)sharedCache - - The shared singleton cache instance. - //api/name/sharedCache - - - - - //apple_ref/occ/clm/PINDiskCache/emptyTrash - Empties the trash with DISPATCHQUEUEPRIORITY_BACKGROUND. Does not use lock. - PINDiskCache.h - - + (void)emptyTrash - - - //api/name/emptyTrash - - - - - //apple_ref/occ/instm/PINDiskCache/initWithName: - Multiple instances with the same name are allowed and can safely access -the same data on disk thanks to the magic of seriality. - PINDiskCache.h - - - //apple_ref/occ/instp/PINDiskCache/name - - - - - (instancetype)initWithName:(NSString *)name - - - name - The name of the cache. - - - A new cache with the specified name. - //api/name/initWithName: - - - - - //apple_ref/occ/instm/PINDiskCache/initWithName:rootPath: - The designated initializer. Multiple instances with the same name are allowed and can safely access -the same data on disk thanks to the magic of seriality. - PINDiskCache.h - - - //apple_ref/occ/instp/PINDiskCache/name - - - - - (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath - - - name - The name of the cache. - - rootPath - The path of the cache. - - - A new cache with the specified name. - //api/name/initWithName:rootPath: - - - - - //apple_ref/occ/instm/PINDiskCache/lockFileAccessWhileExecutingBlock: - Locks access to ivars and allows safe interaction with files on disk. This method returns immediately. - PINDiskCache.h - - - (void)lockFileAccessWhileExecutingBlock:(nullable PINDiskCacheBlock)block - - - block - A block to be executed when a lock is available. - - - - //api/name/lockFileAccessWhileExecutingBlock: - - - - - //apple_ref/occ/instm/PINDiskCache/containsObjectForKey:block: - This method determines whether an object is present for the given key in the cache. This method returns immediately -and executes the passed block after the object is available, potentially in parallel with other blocks on the -<concurrentQueue>. - PINDiskCache.h - - - //apple_ref/occ/instm/PINDiskCache/containsObjectForKey: - - - - - (void)containsObjectForKey:(NSString *)key block:(PINDiskCacheContainsBlock)block - - - key - The key associated with the object. - - block - A block to be executed concurrently after the containment check happened - - - - //api/name/containsObjectForKey:block: - - - - - //apple_ref/occ/instm/PINDiskCache/objectForKey:block: - Retrieves the object for the specified key. This method returns immediately and executes the passed -block as soon as the object is available. - PINDiskCache.h - - - (void)objectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block - - - key - The key associated with the requested object. - - block - A block to be executed serially when the object is available. - - - - //api/name/objectForKey:block: - - - - - //apple_ref/occ/instm/PINDiskCache/fileURLForKey:block: - Retrieves the fileURL for the specified key without actually reading the data from disk. This method -returns immediately and executes the passed block as soon as the object is available. - PINDiskCache.h - - - (void)fileURLForKey:(nullable NSString *)key block:(nullable PINDiskCacheObjectBlock)block - - - key - The key associated with the requested object. - - block - A block to be executed serially when the file URL is available. - - - - //api/name/fileURLForKey:block: - - - - - //apple_ref/occ/instm/PINDiskCache/setObject:forKey:block: - Stores an object in the cache for the specified key. This method returns immediately and executes the -passed block as soon as the object has been stored. - PINDiskCache.h - - - (void)setObject:(id<NSCoding>)object forKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - block - A block to be executed serially after the object has been stored, or nil. - - - - //api/name/setObject:forKey:block: - - - - - //apple_ref/occ/instm/PINDiskCache/removeObjectForKey:block: - Removes the object for the specified key. This method returns immediately and executes the passed block -as soon as the object has been removed. - PINDiskCache.h - - - (void)removeObjectForKey:(NSString *)key block:(nullable PINDiskCacheObjectBlock)block - - - key - The key associated with the object to be removed. - - block - A block to be executed serially after the object has been removed, or nil. - - - - //api/name/removeObjectForKey:block: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToDate:block: - Removes all objects from the cache that have not been used since the specified date. -This method returns immediately and executes the passed block as soon as the cache has been trimmed. - PINDiskCache.h - - - (void)trimToDate:(NSDate *)date block:(nullable PINDiskCacheBlock)block - - - date - Objects that haven't been accessed since this date are removed from the cache. - - block - A block to be executed serially after the cache has been trimmed, or nil. - - - - //api/name/trimToDate:block: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToSize:block: - Removes objects from the cache, largest first, until the cache is equal to or smaller than the specified byteCount. -This method returns immediately and executes the passed block as soon as the cache has been trimmed. - PINDiskCache.h - - - (void)trimToSize:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block - - - byteCount - The cache will be trimmed equal to or smaller than this size. - - block - A block to be executed serially after the cache has been trimmed, or nil. - - - - //api/name/trimToSize:block: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToSizeByDate:block: - Removes objects from the cache, ordered by date (least recently used first), until the cache is equal to or smaller -than the specified byteCount. This method returns immediately and executes the passed block as soon as the cache has -been trimmed. - PINDiskCache.h - - - (void)trimToSizeByDate:(NSUInteger)byteCount block:(nullable PINDiskCacheBlock)block - - - byteCount - The cache will be trimmed equal to or smaller than this size. - - block - A block to be executed serially after the cache has been trimmed, or nil. - - - - //api/name/trimToSizeByDate:block: - - - - - //apple_ref/occ/instm/PINDiskCache/removeAllObjects: - Removes all objects from the cache. This method returns immediately and executes the passed block as soon as the -cache has been cleared. - PINDiskCache.h - - - (void)removeAllObjects:(nullable PINDiskCacheBlock)block - - - block - A block to be executed serially after the cache has been cleared, or nil. - - - - //api/name/removeAllObjects: - - - - - //apple_ref/occ/instm/PINDiskCache/enumerateObjectsWithBlock:completionBlock: - Loops through all objects in the cache (reads and writes are suspended during the enumeration). Data is not actually -read from disk, the object parameter of the block will be nil but the fileURL will be available. -This method returns immediately. - PINDiskCache.h - - - (void)enumerateObjectsWithBlock:(PINDiskCacheObjectBlock)block completionBlock:(nullable PINDiskCacheBlock)completionBlock - - - block - A block to be executed for every object in the cache. - - completionBlock - An optional block to be executed after the enumeration is complete. - - - - //api/name/enumerateObjectsWithBlock:completionBlock: - - - - - //apple_ref/occ/instm/PINDiskCache/synchronouslyLockFileAccessWhileExecutingBlock: - Locks access to ivars and allows safe interaction with files on disk. This method only returns once the block -has been run. - PINDiskCache.h - - - (void)synchronouslyLockFileAccessWhileExecutingBlock:(nullable PINDiskCacheBlock)block - - - block - A block to be executed when a lock is available. - - - - //api/name/synchronouslyLockFileAccessWhileExecutingBlock: - - - - - //apple_ref/occ/instm/PINDiskCache/containsObjectForKey: - This method determines whether an object is present for the given key in the cache. - PINDiskCache.h - - - //apple_ref/occ/instm/PINDiskCache/containsObjectForKey:block: - - - - - (BOOL)containsObjectForKey:(NSString *)key - - - key - The key associated with the object. - - - YES if an object is present for the given key in the cache, otherwise NO. - //api/name/containsObjectForKey: - - - - - //apple_ref/occ/instm/PINDiskCache/objectForKey: - Retrieves the object for the specified key. This method blocks the calling thread until the -object is available. - PINDiskCache.h - - - //apple_ref/occ/instm/PINDiskCache/objectForKey:block: - - - - - (__nullable id<NSCoding>)objectForKey:(NSString *)key - - - key - The key associated with the object. - - - The object for the specified key. - //api/name/objectForKey: - - - - - //apple_ref/occ/instm/PINDiskCache/fileURLForKey: - Retrieves the file URL for the specified key. This method blocks the calling thread until the -url is available. Do not use this URL anywhere except with lockFileAccessWhileExecutingBlock:. This method probably -shouldn't even exist, just use the asynchronous one. - PINDiskCache.h - - - //apple_ref/occ/instm/PINDiskCache/fileURLForKey:block: - - - - - (nullable NSURL *)fileURLForKey:(nullable NSString *)key - - - key - The key associated with the object. - - - The file URL for the specified key. - //api/name/fileURLForKey: - - - - - //apple_ref/occ/instm/PINDiskCache/setObject:forKey: - Stores an object in the cache for the specified key. This method blocks the calling thread until -the object has been stored. - PINDiskCache.h - - - //apple_ref/occ/instm/PINDiskCache/setObject:forKey:block: - - - - - (void)setObject:(id<NSCoding>)object forKey:(NSString *)key - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - - - //api/name/setObject:forKey: - - - - - //apple_ref/occ/instm/PINDiskCache/removeObjectForKey: - Removes the object for the specified key. This method blocks the calling thread until the object -has been removed. - PINDiskCache.h - - - (void)removeObjectForKey:(NSString *)key - - - key - The key associated with the object to be removed. - - - - //api/name/removeObjectForKey: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToDate: - Removes all objects from the cache that have not been used since the specified date. -This method blocks the calling thread until the cache has been trimmed. - PINDiskCache.h - - - (void)trimToDate:(nullable NSDate *)date - - - date - Objects that haven't been accessed since this date are removed from the cache. - - - - //api/name/trimToDate: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToSize: - Removes objects from the cache, largest first, until the cache is equal to or smaller than the -specified byteCount. This method blocks the calling thread until the cache has been trimmed. - PINDiskCache.h - - - (void)trimToSize:(NSUInteger)byteCount - - - byteCount - The cache will be trimmed equal to or smaller than this size. - - - - //api/name/trimToSize: - - - - - //apple_ref/occ/instm/PINDiskCache/trimToSizeByDate: - Removes objects from the cache, ordered by date (least recently used first), until the cache is equal to or -smaller than the specified byteCount. This method blocks the calling thread until the cache has been trimmed. - PINDiskCache.h - - - (void)trimToSizeByDate:(NSUInteger)byteCount - - - byteCount - The cache will be trimmed equal to or smaller than this size. - - - - //api/name/trimToSizeByDate: - - - - - //apple_ref/occ/instm/PINDiskCache/removeAllObjects - Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. - PINDiskCache.h - - - (void)removeAllObjects - - - //api/name/removeAllObjects - - - - - //apple_ref/occ/instm/PINDiskCache/enumerateObjectsWithBlock: - Loops through all objects in the cache (reads and writes are suspended during the enumeration). Data is not actually -read from disk, the object parameter of the block will be nil but the fileURL will be available. -This method blocks the calling thread until all objects have been enumerated. - PINDiskCache.h - - - (void)enumerateObjectsWithBlock:(nullable PINDiskCacheObjectBlock)block - - - block - A block to be executed for every object in the cache. - - - - //api/name/enumerateObjectsWithBlock: - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens3.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens3.xml deleted file mode 100644 index a153b1d6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens3.xml +++ /dev/null @@ -1,1066 +0,0 @@ - - - - - - //apple_ref/occ/cl/PINMemoryCache - PINMemoryCache is a fast, thread safe key/value store similar to NSCache. On iOS it will clear itself -automatically to reduce memory usage when the app receives a memory warning or goes into the background. - PINMemoryCache.h - - - - - - - - //apple_ref/occ/instm/PINMemoryCache/setConcurrentQueue: - A concurrent queue on which all callbacks are called. It is exposed here so that it can be set to -target some other queue, such as a global concurrent queue with a priority other than the default. - PINMemoryCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instm/PINMemoryCache/concurrentQueue - A concurrent queue on which all callbacks are called. It is exposed here so that it can be set to -target some other queue, such as a global concurrent queue with a priority other than the default. - PINMemoryCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instp/PINMemoryCache/concurrentQueue - A concurrent queue on which all callbacks are called. It is exposed here so that it can be set to -target some other queue, such as a global concurrent queue with a priority other than the default. - PINMemoryCache.h - - @property (readonly) dispatch_queue_t concurrentQueue - - - //api/name/concurrentQueue - - - - - //apple_ref/occ/instm/PINMemoryCache/setTotalCost: - The total accumulated cost. - PINMemoryCache.h - - @property (readonly) NSUInteger totalCost - - - //api/name/totalCost - - - - - //apple_ref/occ/instm/PINMemoryCache/totalCost - The total accumulated cost. - PINMemoryCache.h - - @property (readonly) NSUInteger totalCost - - - //api/name/totalCost - - - - - //apple_ref/occ/instp/PINMemoryCache/totalCost - The total accumulated cost. - PINMemoryCache.h - - @property (readonly) NSUInteger totalCost - - - //api/name/totalCost - - - - - //apple_ref/occ/instm/PINMemoryCache/setCostLimit: - The maximum cost allowed to accumulate before objects begin to be removed with trimToCostByDate:. - PINMemoryCache.h - - @property (assign) NSUInteger costLimit - - - //api/name/costLimit - - - - - //apple_ref/occ/instm/PINMemoryCache/costLimit - The maximum cost allowed to accumulate before objects begin to be removed with trimToCostByDate:. - PINMemoryCache.h - - @property (assign) NSUInteger costLimit - - - //api/name/costLimit - - - - - //apple_ref/occ/instp/PINMemoryCache/costLimit - The maximum cost allowed to accumulate before objects begin to be removed with trimToCostByDate:. - PINMemoryCache.h - - @property (assign) NSUInteger costLimit - - - //api/name/costLimit - - - - - //apple_ref/occ/instm/PINMemoryCache/setAgeLimit: - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0. - PINMemoryCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instm/PINMemoryCache/ageLimit - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0. - PINMemoryCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instp/PINMemoryCache/ageLimit - The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value -greater than 0.0 will start a recurring GCD timer with the same period that calls trimToDate:. -Setting it back to 0.0 will stop the timer. Defaults to 0.0. - PINMemoryCache.h - - @property (assign) NSTimeInterval ageLimit - - - //api/name/ageLimit - - - - - //apple_ref/occ/instm/PINMemoryCache/setTtlCache: - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: -- Accessing an object in the cache does not extend that object's lifetime in the cache -- When attempting to access an object in the cache that has lived longer than self.ageLimit, -the cache will behave as if the object does not exist - PINMemoryCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instm/PINMemoryCache/isTTLCache - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: -- Accessing an object in the cache does not extend that object's lifetime in the cache -- When attempting to access an object in the cache that has lived longer than self.ageLimit, -the cache will behave as if the object does not exist - PINMemoryCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instp/PINMemoryCache/ttlCache - If ttlCache is YES, the cache behaves like a ttlCache. This means that once an object enters the -cache, it only lives as long as self.ageLimit. This has the following implications: -- Accessing an object in the cache does not extend that object's lifetime in the cache -- When attempting to access an object in the cache that has lived longer than self.ageLimit, -the cache will behave as if the object does not exist - PINMemoryCache.h - - @property (nonatomic, assign, getter=isTTLCache) BOOL ttlCache - - - //api/name/ttlCache - - - - - //apple_ref/occ/instm/PINMemoryCache/setRemoveAllObjectsOnMemoryWarning: - When YES on iOS the cache will remove all objects when the app receives a memory warning. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnMemoryWarning - - - //api/name/removeAllObjectsOnMemoryWarning - - - - - //apple_ref/occ/instm/PINMemoryCache/removeAllObjectsOnMemoryWarning - When YES on iOS the cache will remove all objects when the app receives a memory warning. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnMemoryWarning - - - //api/name/removeAllObjectsOnMemoryWarning - - - - - //apple_ref/occ/instp/PINMemoryCache/removeAllObjectsOnMemoryWarning - When YES on iOS the cache will remove all objects when the app receives a memory warning. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnMemoryWarning - - - //api/name/removeAllObjectsOnMemoryWarning - - - - - //apple_ref/occ/instm/PINMemoryCache/setRemoveAllObjectsOnEnteringBackground: - When YES on iOS the cache will remove all objects when the app enters the background. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnEnteringBackground - - - //api/name/removeAllObjectsOnEnteringBackground - - - - - //apple_ref/occ/instm/PINMemoryCache/removeAllObjectsOnEnteringBackground - When YES on iOS the cache will remove all objects when the app enters the background. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnEnteringBackground - - - //api/name/removeAllObjectsOnEnteringBackground - - - - - //apple_ref/occ/instp/PINMemoryCache/removeAllObjectsOnEnteringBackground - When YES on iOS the cache will remove all objects when the app enters the background. -Defaults to YES. - PINMemoryCache.h - - @property (assign) BOOL removeAllObjectsOnEnteringBackground - - - //api/name/removeAllObjectsOnEnteringBackground - - - - - //apple_ref/occ/instm/PINMemoryCache/setWillAddObjectBlock: - A block to be executed just before an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/willAddObjectBlock - A block to be executed just before an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/willAddObjectBlock - A block to be executed just before an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willAddObjectBlock - - - //api/name/willAddObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setWillRemoveObjectBlock: - A block to be executed just before an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/willRemoveObjectBlock - A block to be executed just before an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/willRemoveObjectBlock - A block to be executed just before an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable willRemoveObjectBlock - - - //api/name/willRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setWillRemoveAllObjectsBlock: - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/willRemoveAllObjectsBlock - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/willRemoveAllObjectsBlock - A block to be executed just before all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable willRemoveAllObjectsBlock - - - //api/name/willRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setDidAddObjectBlock: - A block to be executed just after an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/didAddObjectBlock - A block to be executed just after an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/didAddObjectBlock - A block to be executed just after an object is added to the cache. This block will be excuted within -a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didAddObjectBlock - - - //api/name/didAddObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setDidRemoveObjectBlock: - A block to be executed just after an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/didRemoveObjectBlock - A block to be executed just after an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/didRemoveObjectBlock - A block to be executed just after an object is removed from the cache. This block will be excuted -within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheObjectBlock __nullable didRemoveObjectBlock - - - //api/name/didRemoveObjectBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setDidRemoveAllObjectsBlock: - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/didRemoveAllObjectsBlock - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/didRemoveAllObjectsBlock - A block to be executed just after all objects are removed from the cache as a result of removeAllObjects:. -This block will be excuted within a lock, i.e. all reads and writes are suspended for the duration of the block. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didRemoveAllObjectsBlock - - - //api/name/didRemoveAllObjectsBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setDidReceiveMemoryWarningBlock: - A block to be executed upon receiving a memory warning (iOS only) potentially in parallel with other blocks on the <queue>. -This block will be executed regardless of the value of removeAllObjectsOnMemoryWarning. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didReceiveMemoryWarningBlock - - - //api/name/didReceiveMemoryWarningBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/didReceiveMemoryWarningBlock - A block to be executed upon receiving a memory warning (iOS only) potentially in parallel with other blocks on the <queue>. -This block will be executed regardless of the value of removeAllObjectsOnMemoryWarning. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didReceiveMemoryWarningBlock - - - //api/name/didReceiveMemoryWarningBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/didReceiveMemoryWarningBlock - A block to be executed upon receiving a memory warning (iOS only) potentially in parallel with other blocks on the <queue>. -This block will be executed regardless of the value of removeAllObjectsOnMemoryWarning. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didReceiveMemoryWarningBlock - - - //api/name/didReceiveMemoryWarningBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/setDidEnterBackgroundBlock: - A block to be executed when the app enters the background (iOS only) potentially in parallel with other blocks on the concurrentQueue. -This block will be executed regardless of the value of removeAllObjectsOnEnteringBackground. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didEnterBackgroundBlock - - - //api/name/didEnterBackgroundBlock - - - - - //apple_ref/occ/instm/PINMemoryCache/didEnterBackgroundBlock - A block to be executed when the app enters the background (iOS only) potentially in parallel with other blocks on the concurrentQueue. -This block will be executed regardless of the value of removeAllObjectsOnEnteringBackground. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didEnterBackgroundBlock - - - //api/name/didEnterBackgroundBlock - - - - - //apple_ref/occ/instp/PINMemoryCache/didEnterBackgroundBlock - A block to be executed when the app enters the background (iOS only) potentially in parallel with other blocks on the concurrentQueue. -This block will be executed regardless of the value of removeAllObjectsOnEnteringBackground. Defaults to nil. - PINMemoryCache.h - - @property (copy) PINMemoryCacheBlock __nullable didEnterBackgroundBlock - - - //api/name/didEnterBackgroundBlock - - - - - //apple_ref/occ/clm/PINMemoryCache/sharedCache - A shared cache. - PINMemoryCache.h - - + (instancetype)sharedCache - - The shared singleton cache instance. - //api/name/sharedCache - - - - - //apple_ref/occ/instm/PINMemoryCache/containsObjectForKey:block: - This method determines whether an object is present for the given key in the cache. This method returns immediately -and executes the passed block after the object is available, potentially in parallel with other blocks on the -concurrentQueue. - PINMemoryCache.h - - - //apple_ref/occ/instm/PINMemoryCache/containsObjectForKey: - - - - - (void)containsObjectForKey:(NSString *)key block:(PINMemoryCacheContainmentBlock)block - - - key - The key associated with the object. - - block - A block to be executed concurrently after the containment check happened - - - - //api/name/containsObjectForKey:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/objectForKey:block: - Retrieves the object for the specified key. This method returns immediately and executes the passed -block after the object is available, potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)objectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block - - - key - The key associated with the requested object. - - block - A block to be executed concurrently when the object is available. - - - - //api/name/objectForKey:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/setObject:forKey:block: - Stores an object in the cache for the specified key. This method returns immediately and executes the -passed block after the object has been stored, potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)setObject:(id)object forKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - block - A block to be executed concurrently after the object has been stored, or nil. - - - - //api/name/setObject:forKey:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/setObject:forKey:withCost:block: - Stores an object in the cache for the specified key and the specified cost. If the cost causes the total -to go over the costLimit the cache is trimmed (oldest objects first). This method returns immediately -and executes the passed block after the object has been stored, potentially in parallel with other blocks -on the concurrentQueue. - PINMemoryCache.h - - - (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost block:(nullable PINMemoryCacheObjectBlock)block - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - cost - An amount to add to the totalCost. - - block - A block to be executed concurrently after the object has been stored, or nil. - - - - //api/name/setObject:forKey:withCost:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/removeObjectForKey:block: - Removes the object for the specified key. This method returns immediately and executes the passed -block after the object has been removed, potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)removeObjectForKey:(NSString *)key block:(nullable PINMemoryCacheObjectBlock)block - - - key - The key associated with the object to be removed. - - block - A block to be executed concurrently after the object has been removed, or nil. - - - - //api/name/removeObjectForKey:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToDate:block: - Removes all objects from the cache that have not been used since the specified date. -This method returns immediately and executes the passed block after the cache has been trimmed, -potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)trimToDate:(NSDate *)date block:(nullable PINMemoryCacheBlock)block - - - date - Objects that haven't been accessed since this date are removed from the cache. - - block - A block to be executed concurrently after the cache has been trimmed, or nil. - - - - //api/name/trimToDate:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToCost:block: - Removes objects from the cache, costliest objects first, until the totalCost is below the specified -value. This method returns immediately and executes the passed block after the cache has been trimmed, -potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)trimToCost:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block - - - cost - The total accumulation allowed to remain after the cache has been trimmed. - - block - A block to be executed concurrently after the cache has been trimmed, or nil. - - - - //api/name/trimToCost:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToCostByDate:block: - Removes objects from the cache, ordered by date (least recently used first), until the totalCost is below -the specified value. This method returns immediately and executes the passed block after the cache has been -trimmed, potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)trimToCostByDate:(NSUInteger)cost block:(nullable PINMemoryCacheBlock)block - - - cost - The total accumulation allowed to remain after the cache has been trimmed. - - block - A block to be executed concurrently after the cache has been trimmed, or nil. - - - - //api/name/trimToCostByDate:block: - - - - - //apple_ref/occ/instm/PINMemoryCache/removeAllObjects: - Removes all objects from the cache. This method returns immediately and executes the passed block after -the cache has been cleared, potentially in parallel with other blocks on the concurrentQueue. - PINMemoryCache.h - - - (void)removeAllObjects:(nullable PINMemoryCacheBlock)block - - - block - A block to be executed concurrently after the cache has been cleared, or nil. - - - - //api/name/removeAllObjects: - - - - - //apple_ref/occ/instm/PINMemoryCache/enumerateObjectsWithBlock:completionBlock: - Loops through all objects in the cache with reads and writes suspended. Calling serial methods which -write to the cache inside block may be unsafe and may result in a deadlock. This method returns immediately. - PINMemoryCache.h - - - (void)enumerateObjectsWithBlock:(PINMemoryCacheObjectBlock)block completionBlock:(nullable PINMemoryCacheBlock)completionBlock - - - block - A block to be executed for every object in the cache. - - completionBlock - An optional block to be executed concurrently when the enumeration is complete. - - - - //api/name/enumerateObjectsWithBlock:completionBlock: - - - - - //apple_ref/occ/instm/PINMemoryCache/containsObjectForKey: - This method determines whether an object is present for the given key in the cache. - PINMemoryCache.h - - - //apple_ref/occ/instm/PINMemoryCache/containsObjectForKey:block: - - - - - (BOOL)containsObjectForKey:(NSString *)key - - - key - The key associated with the object. - - - YES if an object is present for the given key in the cache, otherwise NO. - //api/name/containsObjectForKey: - - - - - //apple_ref/occ/instm/PINMemoryCache/objectForKey: - Retrieves the object for the specified key. This method blocks the calling thread until the -object is available. - PINMemoryCache.h - - - //apple_ref/occ/instm/PINMemoryCache/objectForKey:block: - - - - - (__nullable id)objectForKey:(nullable NSString *)key - - - key - The key associated with the object. - - - The object for the specified key. - //api/name/objectForKey: - - - - - //apple_ref/occ/instm/PINMemoryCache/setObject:forKey: - Stores an object in the cache for the specified key. This method blocks the calling thread until the object -has been set. - PINMemoryCache.h - - - //apple_ref/occ/instm/PINMemoryCache/setObject:forKey:block: - - - - - (void)setObject:(id)object forKey:(NSString *)key - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - - - //api/name/setObject:forKey: - - - - - //apple_ref/occ/instm/PINMemoryCache/setObject:forKey:withCost: - Stores an object in the cache for the specified key and the specified cost. If the cost causes the total -to go over the costLimit the cache is trimmed (oldest objects first). This method blocks the calling thread -until the object has been stored. - PINMemoryCache.h - - - (void)setObject:(nullable id)object forKey:(nullable NSString *)key withCost:(NSUInteger)cost - - - object - An object to store in the cache. - - key - A key to associate with the object. This string will be copied. - - cost - An amount to add to the totalCost. - - - - //api/name/setObject:forKey:withCost: - - - - - //apple_ref/occ/instm/PINMemoryCache/removeObjectForKey: - Removes the object for the specified key. This method blocks the calling thread until the object -has been removed. - PINMemoryCache.h - - - (void)removeObjectForKey:(nullable NSString *)key - - - key - The key associated with the object to be removed. - - - - //api/name/removeObjectForKey: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToDate: - Removes all objects from the cache that have not been used since the specified date. -This method blocks the calling thread until the cache has been trimmed. - PINMemoryCache.h - - - (void)trimToDate:(nullable NSDate *)date - - - date - Objects that haven't been accessed since this date are removed from the cache. - - - - //api/name/trimToDate: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToCost: - Removes objects from the cache, costliest objects first, until the totalCost is below the specified -value. This method blocks the calling thread until the cache has been trimmed. - PINMemoryCache.h - - - (void)trimToCost:(NSUInteger)cost - - - cost - The total accumulation allowed to remain after the cache has been trimmed. - - - - //api/name/trimToCost: - - - - - //apple_ref/occ/instm/PINMemoryCache/trimToCostByDate: - Removes objects from the cache, ordered by date (least recently used first), until the totalCost is below -the specified value. This method blocks the calling thread until the cache has been trimmed. - PINMemoryCache.h - - - (void)trimToCostByDate:(NSUInteger)cost - - - cost - The total accumulation allowed to remain after the cache has been trimmed. - - - - //api/name/trimToCostByDate: - - - - - //apple_ref/occ/instm/PINMemoryCache/removeAllObjects - Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. - PINMemoryCache.h - - - (void)removeAllObjects - - - //api/name/removeAllObjects - - - - - //apple_ref/occ/instm/PINMemoryCache/enumerateObjectsWithBlock: - Loops through all objects in the cache within a memory lock (reads and writes are suspended during the enumeration). -This method blocks the calling thread until all objects have been enumerated. -Calling synchronous methods on the cache within this callback will likely cause a deadlock. - PINMemoryCache.h - - - (void)enumerateObjectsWithBlock:(nullable PINMemoryCacheObjectBlock)block - - - block - A block to be executed for every object in the cache. - - - - //api/name/enumerateObjectsWithBlock: - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens4.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens4.xml deleted file mode 100644 index 683a9b5f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens4.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - //apple_ref/occ/intf/PINCacheObjectSubscripting - - PINCacheObjectSubscripting.h - - - - - - - - //apple_ref/occ/intfm/PINCacheObjectSubscripting/objectForKeyedSubscript: - This method enables using literals on the receiving object, such as id object = cache[@"key"];. - PINCacheObjectSubscripting.h - - - (id)objectForKeyedSubscript:(NSString *)key - - - key - The key associated with the object. - - - The object for the specified key. - //api/name/objectForKeyedSubscript: - - - - - //apple_ref/occ/intfm/PINCacheObjectSubscripting/setObject:forKeyedSubscript: - This method enables using literals on the receiving object, such as cache[@"key"] = object;. - PINCacheObjectSubscripting.h - - - (void)setObject:(id)obj forKeyedSubscript:(NSString *)key - - - key - A key to associate with the object. This string will be copied. - - object - An object to be assigned for the key. - - - - //api/name/setObject:forKeyedSubscript: - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens5.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens5.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens5.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens6.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens6.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens6.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens7.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens7.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens7.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens8.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens8.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens8.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens9.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens9.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/Tokens9.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx deleted file mode 100644 index 282aaf19..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-shm b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-shm deleted file mode 100644 index 52dc6f38..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-shm and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-wal b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-wal deleted file mode 100644 index 03636aea..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.dsidx-wal and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.mom b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.mom deleted file mode 100644 index 0503cfdd..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.mom and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.skidx b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.skidx deleted file mode 100644 index c8f5c3cd..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.skidx and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.toc b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.toc deleted file mode 100644 index 8d7f1ec2..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.toc and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.tokencache b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.tokencache deleted file mode 100644 index 038c4656..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/com.pinterest.PINCache-2.0.docset/Contents/Resources/docSet.tokencache and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheObjectBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheFileURLBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheFileURLBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheFileURLBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheObjectBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINDiskCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheObjectBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheObjectBlock.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Blocks/PINMemoryCacheObjectBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Classes/PINCache.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Classes/PINCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Classes/PINCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Classes/PINDiskCache.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Classes/PINDiskCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Classes/PINDiskCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Classes/PINMemoryCache.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Classes/PINMemoryCache.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Classes/PINMemoryCache.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Protocols/PINCacheObjectSubscripting.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Protocols/PINCacheObjectSubscripting.html deleted file mode 100644 index e4f1300a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/Protocols/PINCacheObjectSubscripting.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_index.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_layout.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_normalize.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_object.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_print.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_variables.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_xcode.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/style.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/hierarchy.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/hierarchy.html deleted file mode 100644 index 0b83af71..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/hierarchy.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/button_bar_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/disclosure.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/disclosure_open.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/library_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/title_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/index.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/index.html deleted file mode 100644 index a6e5fa92..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINCache -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/js/script.js b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINCache/docs/html/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml deleted file mode 100644 index cfe85acc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.github/workflows/ci.yml +++ /dev/null @@ -1,80 +0,0 @@ ---- -name: CI - -on: - push: - branches: - - master - - 'releases/*' - pull_request: - branches: - - master - -jobs: - build: - name: Build - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v2 - - name: Analyze and Test - run: | - xcodebuild clean analyze test \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -project PINOperation.xcodeproj \ - -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang - cocoapods: - name: CocoaPods - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Lint - run: pod lib lint - carthage: - name: Carthage - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Build - run: carthage build --no-skip-current - spm: - name: Swift Package Manager tests - runs-on: macOS-latest - steps: - - uses: actions/checkout@v2 - - name: Test - run: swift test - example: - name: Build Example project - runs-on: macOS-latest - strategy: - matrix: - platform: ['iOS Simulator,name=iPhone 8'] - steps: - - uses: actions/checkout@v2 - - name: Install Pods - run: cd Example && pod install - - name: Build - run: | - cd Example && xcodebuild clean analyze \ - -destination "platform=${{ matrix.platform }}" \ - -sdk "iphonesimulator" \ - -workspace PINOperationExample.xcworkspace \ - -scheme PINOperationExample \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(pwd)/clang" \ - | xcpretty - if [[ -n `find $(pwd)/clang -name "*.html"` ]] ; then rm -rf $(pwd)/clang; exit 1; fi - rm -rf $(pwd)/clang diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.github_changelog_generator b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.github_changelog_generator deleted file mode 100644 index 19665f65..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.github_changelog_generator +++ /dev/null @@ -1,3 +0,0 @@ -issues=false -since-tag=1.1.1 -future-release=1.2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.gitignore b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.gitignore deleted file mode 100644 index 4021767b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.gitignore +++ /dev/null @@ -1,57 +0,0 @@ -.DS_Store - -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## Build generated -build/ -DerivedData/ - -## Various settings -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata/ - -## Other -*.moved-aside -*.xcuserstate - -## Obj-C/Swift specific -*.hmap -*.ipa -*.dSYM.zip -*.dSYM - -## Docs -docs/docsets/ - -## Playgrounds -timeline.xctimeline -playground.xcworkspace - -# Swift Package Manager -# -# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. -# Packages/ -.build/ - -# Carthage -# -# Add this line if you want to avoid checking in source code from Carthage dependencies. -# Carthage/Checkouts - -Carthage/Build - -# Bundler -.bundle -vendor - -# Example project -Example/Pods diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/BUCK b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/BUCK deleted file mode 100755 index c7ade9d1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/BUCK +++ /dev/null @@ -1,22 +0,0 @@ -apple_library( - name = 'PINOperation', - modular = True, - exported_headers = glob(['Source/*.h']), - srcs = - glob(['Source/*.m']), - preprocessor_flags = ['-fobjc-arc'], - lang_preprocessor_flags = { - 'C': ['-std=gnu99'], - 'CXX': ['-std=gnu++11', '-stdlib=libc++'], - }, - linker_flags = [ - '-weak_framework', - 'UIKit', - '-weak_framework', - 'AppKit', - ], - frameworks = [ - '$SDKROOT/System/Library/Frameworks/Foundation.framework', - ], - visibility = ['PUBLIC'], -) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CHANGELOG.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CHANGELOG.md deleted file mode 100644 index 221ad3cb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CHANGELOG.md +++ /dev/null @@ -1,32 +0,0 @@ -## [1.2](https://github.com/Pinterest/PINOperation/tree/1.2) (2020-06-30) - -[Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.1.2...1.2) - -**Merged pull requests:** - -- Swift Package Manager support [\#32](https://github.com/pinterest/PINOperation/pull/32) ([martinpucik](https://github.com/martinpucik)) -- Add Carthage for watchOS, dependent by PINCache [\#31](https://github.com/pinterest/PINOperation/pull/31) ([dreampiggy](https://github.com/dreampiggy)) -- Fix analyzing [\#30](https://github.com/pinterest/PINOperation/pull/30) ([garrettmoon](https://github.com/garrettmoon)) -- Standardize our GitHub Actions CI workflow [\#29](https://github.com/pinterest/PINOperation/pull/29) ([jparise](https://github.com/jparise)) -- Github CI [\#26](https://github.com/pinterest/PINOperation/pull/26) ([rahul-malik](https://github.com/rahul-malik)) -- Fixes coalesce operation race condition [\#24](https://github.com/pinterest/PINOperation/pull/24) ([zhongwuzw](https://github.com/zhongwuzw)) - -## [1.1.2](https://github.com/Pinterest/PINOperation/tree/1.1.2) (2019-06-11) - -[Full Changelog](https://github.com/Pinterest/PINOperation/compare/1.1.1...1.1.2) - -**Merged pull requests:** - -- Modernizing project [\#21](https://github.com/pinterest/PINOperation/pull/21) ([garrettmoon](https://github.com/garrettmoon)) -- Updates BUCK build file to match source layout. [\#20](https://github.com/pinterest/PINOperation/pull/20) ([RCacheaux](https://github.com/RCacheaux)) -- 1.1.1 release [\#19](https://github.com/pinterest/PINOperation/pull/19) ([garrettmoon](https://github.com/garrettmoon)) - -## 1.1.1 -- 2018 February 3 -* Cleanup warnings [garrett](https://github.com/garrettmoon) - -## 1.1 -- 2017 October 7 -* Deprecate addOperation: in favor of scheduleOperation: [garrett](https://github.com/garrettmoon) - -## 1.0.0 -- 2017 January 10 - -- Initial release! diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CI/build.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CI/build.sh deleted file mode 100755 index bbdb8f94..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CI/build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -eo pipefail - -make all \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json deleted file mode 100644 index 03853aa7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CI/exclude-from-build.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - "^plans/", - "^docs/", - "^CI/exclude-from-build.json$", - "^README.md$", - "^CHANGELOG.md$" -] \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md deleted file mode 100644 index 8b4e45e2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,40 +0,0 @@ -# Code of Conduct - -At Pinterest, we work hard to ensure that our work environment is welcoming -and inclusive to as many people as possible. We are committed to creating this -environment for everyone involved in our open source projects as well. We -welcome all participants regardless of ability, age, ethnicity, identified -gender, religion (or lack there of), sexual orientation and socioeconomic -status. - -This code of conduct details our expectations for upholding these values. - -## Good behavior - -We expect members of our community to exhibit good behavior including (but of -course not limited to): - -- Using intentional and empathetic language. -- Focusing on resolving instead of escalating conflict. -- Providing constructive feedback. - -## Unacceptable behavior - -Some examples of unacceptable behavior (again, this is not an exhaustive -list): - -- Harassment, publicly or in private. -- Trolling. -- Sexual advances (this isn’t the place for it). -- Publishing other’s personal information. -- Any behavior which would be deemed unacceptable in a professional environment. - -## Recourse - -If you are witness to or the target of unacceptable behavior, it should be -reported to Pinterest at opensource-policy@pinterest.com. All reporters will -be kept confidential and an appropriate response for each incident will be -evaluated. - -If the maintainers do not uphold and enforce this code of conduct in -good faith, community leadership will hold them accountable. \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Dangerfile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Dangerfile deleted file mode 100644 index d909431b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Dangerfile +++ /dev/null @@ -1,23 +0,0 @@ -source_pattern = /(\.m|\.mm|\.h)$/ - -# Sometimes it's a README fix, or something like that - which isn't relevant for -# including in a project's CHANGELOG for example -declared_trivial = github.pr_title.include? "#trivial" -has_changes_in_source_directory = !git.modified_files.grep(/Source/).empty? - -modified_source_files = git.modified_files.grep(source_pattern) -has_modified_source_files = !modified_source_files.empty? -added_source_files = git.added_files.grep(source_pattern) -has_added_source_files = !added_source_files.empty? - -# Make it more obvious that a PR is a work in progress and shouldn't be merged yet -warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]" - -# Warn when there is a big PR -warn("This is a big PR, please consider splitting it up to ease code review.") if git.lines_of_code > 500 - -# Changelog entries are required for changes to source files. -no_changelog_entry = !git.modified_files.include?("CHANGELOG.md") -if has_changes_in_source_directory && no_changelog_entry && !declared_trivial - warn("Any source code changes should have an entry in CHANGELOG.md or have #trivial in their title.") -end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj deleted file mode 100644 index 382c6346..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,391 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 1387274F245D5BB500C1F56D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1387274E245D5BB500C1F56D /* AppDelegate.swift */; }; - 13872758245D5BB800C1F56D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13872757245D5BB800C1F56D /* Assets.xcassets */; }; - 1387275B245D5BB800C1F56D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */; }; - 13872765245D5D8200C1F56D /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13872764245D5D8200C1F56D /* MainViewController.m */; }; - 6DD78925193625590E803994 /* libPods-PINOperationExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 1387274B245D5BB500C1F56D /* PINOperationExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PINOperationExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1387274E245D5BB500C1F56D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 13872757245D5BB800C1F56D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 1387275A245D5BB800C1F56D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 1387275C245D5BB800C1F56D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 13872762245D5D8200C1F56D /* PINOperationExample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PINOperationExample-Bridging-Header.h"; sourceTree = ""; }; - 13872763245D5D8200C1F56D /* MainViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = ""; }; - 13872764245D5D8200C1F56D /* MainViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = ""; }; - 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINOperationExample.release.xcconfig"; path = "Target Support Files/Pods-PINOperationExample/Pods-PINOperationExample.release.xcconfig"; sourceTree = ""; }; - 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINOperationExample.debug.xcconfig"; path = "Target Support Files/Pods-PINOperationExample/Pods-PINOperationExample.debug.xcconfig"; sourceTree = ""; }; - 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PINOperationExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 13872748245D5BB500C1F56D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6DD78925193625590E803994 /* libPods-PINOperationExample.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 110EBBE34DCD59092AC3306C /* Pods */ = { - isa = PBXGroup; - children = ( - 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */, - 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - 13872742245D5BB500C1F56D = { - isa = PBXGroup; - children = ( - 1387274D245D5BB500C1F56D /* PINOperationExample */, - 1387274C245D5BB500C1F56D /* Products */, - 110EBBE34DCD59092AC3306C /* Pods */, - 5C200BF654CB547E7117CE2B /* Frameworks */, - ); - sourceTree = ""; - }; - 1387274C245D5BB500C1F56D /* Products */ = { - isa = PBXGroup; - children = ( - 1387274B245D5BB500C1F56D /* PINOperationExample.app */, - ); - name = Products; - sourceTree = ""; - }; - 1387274D245D5BB500C1F56D /* PINOperationExample */ = { - isa = PBXGroup; - children = ( - 1387274E245D5BB500C1F56D /* AppDelegate.swift */, - 13872763245D5D8200C1F56D /* MainViewController.h */, - 13872764245D5D8200C1F56D /* MainViewController.m */, - 13872757245D5BB800C1F56D /* Assets.xcassets */, - 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */, - 1387275C245D5BB800C1F56D /* Info.plist */, - 13872762245D5D8200C1F56D /* PINOperationExample-Bridging-Header.h */, - ); - path = PINOperationExample; - sourceTree = ""; - }; - 5C200BF654CB547E7117CE2B /* Frameworks */ = { - isa = PBXGroup; - children = ( - 7BDDE545CD189CC0B424ECD0 /* libPods-PINOperationExample.a */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1387274A245D5BB500C1F56D /* PINOperationExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1387275F245D5BB800C1F56D /* Build configuration list for PBXNativeTarget "PINOperationExample" */; - buildPhases = ( - 6C859F1C363A79193D42EFC9 /* [CP] Check Pods Manifest.lock */, - 13872747245D5BB500C1F56D /* Sources */, - 13872748245D5BB500C1F56D /* Frameworks */, - 13872749245D5BB500C1F56D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PINOperationExample; - productName = PINOperationExample; - productReference = 1387274B245D5BB500C1F56D /* PINOperationExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 13872743245D5BB500C1F56D /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1140; - LastUpgradeCheck = 1140; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 1387274A245D5BB500C1F56D = { - CreatedOnToolsVersion = 11.4.1; - LastSwiftMigration = 1140; - }; - }; - }; - buildConfigurationList = 13872746245D5BB500C1F56D /* Build configuration list for PBXProject "PINOperationExample" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 13872742245D5BB500C1F56D; - productRefGroup = 1387274C245D5BB500C1F56D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 1387274A245D5BB500C1F56D /* PINOperationExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 13872749245D5BB500C1F56D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1387275B245D5BB800C1F56D /* LaunchScreen.storyboard in Resources */, - 13872758245D5BB800C1F56D /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 6C859F1C363A79193D42EFC9 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-PINOperationExample-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 13872747245D5BB500C1F56D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1387274F245D5BB500C1F56D /* AppDelegate.swift in Sources */, - 13872765245D5D8200C1F56D /* MainViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 13872759245D5BB800C1F56D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 1387275A245D5BB800C1F56D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 1387275D245D5BB800C1F56D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 1387275E245D5BB800C1F56D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 13872760245D5BB800C1F56D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2F8A2FBFCEF95140E01995E8 /* Pods-PINOperationExample.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = PINOperationExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "PINOperationExample/PINOperationExample-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 13872761245D5BB800C1F56D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 15635AC2BB0501241D3126BA /* Pods-PINOperationExample.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - INFOPLIST_FILE = PINOperationExample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "PINOperationExample/PINOperationExample-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 13872746245D5BB500C1F56D /* Build configuration list for PBXProject "PINOperationExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1387275D245D5BB800C1F56D /* Debug */, - 1387275E245D5BB800C1F56D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1387275F245D5BB800C1F56D /* Build configuration list for PBXNativeTarget "PINOperationExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 13872760245D5BB800C1F56D /* Debug */, - 13872761245D5BB800C1F56D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 13872743245D5BB500C1F56D /* Project object */; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 4cdc4885..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift deleted file mode 100644 index 7aa52db8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/AppDelegate.swift +++ /dev/null @@ -1,31 +0,0 @@ -// -// AppDelegate.swift -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -import UIKit - -@UIApplicationMain -final class AppDelegate: UIResponder, UIApplicationDelegate { - private let queue: PINOperationQueue = PINOperationQueue(maxConcurrentOperations: 5) - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - let operationCount = 100 - let group = DispatchGroup() - for _ in 0.. - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist deleted file mode 100644 index 75404a26..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Info.plist +++ /dev/null @@ -1,41 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h deleted file mode 100644 index df2e69c3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MainViewController.h -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface MainViewController : UIViewController - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m deleted file mode 100644 index 50d0c95d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/MainViewController.m +++ /dev/null @@ -1,41 +0,0 @@ -// -// MainViewController.m -// PINOperationExample -// -// Created by Martin Púčik on 02/05/2020. -// Copyright © 2020 Pinterest. All rights reserved. -// - -#import "MainViewController.h" -#import -//#import - -@interface MainViewController () -@property (nonatomic, strong) PINOperationQueue *queue; -@end - -@implementation MainViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:5]; - - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - NSAssert(success == 0, @"Timed out before completing 100 operations"); -} - -- (dispatch_time_t)timeout { - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(20 * NSEC_PER_SEC)); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h deleted file mode 100644 index f3b5f384..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/PINOperationExample/PINOperationExample-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/Podfile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/Podfile deleted file mode 100644 index ae5fd622..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/Podfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://cdn.cocoapods.org/' -platform :ios, '8.0' - -target 'PINOperationExample' do - pod 'PINOperation', :path => '../' -end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/Podfile.lock b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/Podfile.lock deleted file mode 100644 index 266cc700..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Example/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - PINOperation (1.1.2) - -DEPENDENCIES: - - PINOperation (from `../`) - -EXTERNAL SOURCES: - PINOperation: - :path: "../" - -SPEC CHECKSUMS: - PINOperation: 24b774353ca248fcf87d67b2d61eef42087c125a - -PODFILE CHECKSUM: b83a75d584abe07185e7be951687702dadbabf84 - -COCOAPODS: 1.9.1 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Gemfile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Gemfile deleted file mode 100644 index 38bfbc8e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' - -gem 'danger' -gem 'danger-slack' \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/LICENSE.txt b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/LICENSE.txt deleted file mode 100644 index d0381d6d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/LICENSE.txt +++ /dev/null @@ -1,176 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.podspec b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.podspec deleted file mode 100644 index 7e598595..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.podspec +++ /dev/null @@ -1,22 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'PINOperation' - s.version = '1.2' - s.homepage = 'https://github.com/pinterest/PINOperation' - s.summary = 'Fast, concurrency-limited task queue for iOS and OS X.' - s.authors = { 'Garrett Moon' => 'garrett@pinterest.com' } - s.source = { :git => 'https://github.com/pinterest/PINOperation.git', :tag => "#{s.version}" } - s.license = { :type => 'Apache 2.0', :file => 'LICENSE.txt' } - s.requires_arc = true - s.frameworks = 'Foundation' - s.ios.deployment_target = '8.0' - s.osx.deployment_target = '10.8' - s.tvos.deployment_target = '9.0' - s.watchos.deployment_target = '2.0' - pch_PIN = <<-EOS -#ifndef TARGET_OS_WATCH - #define TARGET_OS_WATCH 0 -#endif -EOS - s.prefix_header_contents = pch_PIN - s.source_files = 'Source/**/*.{h,m,mm}' -end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj deleted file mode 100644 index ddcb88c2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1010 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 3201179424444862004FD783 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179524444862004FD783 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179624444862004FD783 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179724444862004FD783 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179824444862004FD783 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3201179924444862004FD783 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - 3201179A24444862004FD783 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC01055B1E27116600890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01052D1E27110D00890935 /* PINOperation.framework */; }; - CC01056A1E27117300890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01053D1E27113700890935 /* PINOperation.framework */; }; - CC0105791E27117F00890935 /* PINOperation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC01054A1E27114300890935 /* PINOperation.framework */; }; - CC0105871E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105881E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105891E2711B700890935 /* PINOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105801E2711B700890935 /* PINOperation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058A1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058B1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058C1E2711B700890935 /* PINOperationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105811E2711B700890935 /* PINOperationGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01058D1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC01058E1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC01058F1E2711B700890935 /* PINOperationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105821E2711B700890935 /* PINOperationGroup.m */; }; - CC0105901E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105911E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105921E2711B700890935 /* PINOperationMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105831E2711B700890935 /* PINOperationMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105931E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105941E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105951E2711B700890935 /* PINOperationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105841E2711B700890935 /* PINOperationQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105961E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105971E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105981E2711B700890935 /* PINOperationQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0105851E2711B700890935 /* PINOperationQueue.m */; }; - CC0105991E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01059A1E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC01059B1E2711B700890935 /* PINOperationTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = CC0105861E2711B700890935 /* PINOperationTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CC0105A01E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A11E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A21E27131B00890935 /* PINOperationQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059D1E27131B00890935 /* PINOperationQueueTests.m */; }; - CC0105A41E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; - CC0105A51E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; - CC0105A61E27131B00890935 /* PINOperationGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CC01059E1E27131B00890935 /* PINOperationGroupTests.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - CC01055C1E27116600890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC01052C1E27110D00890935; - remoteInfo = PINOperation; - }; - CC01056B1E27117300890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC01053C1E27113700890935; - remoteInfo = "PINOperation-tvOS"; - }; - CC01057A1E27117F00890935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CC0105241E27110D00890935 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CC0105491E27114300890935; - remoteInfo = "PINOperation-macOS"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 3201178C24444859004FD783 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01052D1E27110D00890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01053D1E27113700890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01054A1E27114300890935 /* PINOperation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINOperation.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105561E27116600890935 /* PINOperationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PINOperationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - CC01055A1E27116600890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Tests/Info.plist; sourceTree = ""; }; - CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINOperation-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINOperation-macOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC0105801E2711B700890935 /* PINOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperation.h; sourceTree = ""; }; - CC0105811E2711B700890935 /* PINOperationGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationGroup.h; sourceTree = ""; }; - CC0105821E2711B700890935 /* PINOperationGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationGroup.m; sourceTree = ""; }; - CC0105831E2711B700890935 /* PINOperationMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationMacros.h; sourceTree = ""; }; - CC0105841E2711B700890935 /* PINOperationQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationQueue.h; sourceTree = ""; }; - CC0105851E2711B700890935 /* PINOperationQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationQueue.m; sourceTree = ""; }; - CC0105861E2711B700890935 /* PINOperationTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINOperationTypes.h; sourceTree = ""; }; - CC01059C1E27129E00890935 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CC01059D1E27131B00890935 /* PINOperationQueueTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationQueueTests.m; sourceTree = ""; }; - CC01059E1E27131B00890935 /* PINOperationGroupTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINOperationGroupTests.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 3201178924444859004FD783 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105291E27110D00890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105391E27113700890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105461E27114300890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105531E27116600890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01055B1E27116600890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105621E27117300890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01056A1E27117300890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105711E27117F00890935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105791E27117F00890935 /* PINOperation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - CC0105231E27110D00890935 = { - isa = PBXGroup; - children = ( - CC01057F1E2711B700890935 /* Source */, - CC0105571E27116600890935 /* Tests */, - CC01052E1E27110D00890935 /* Products */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - usesTabs = 0; - }; - CC01052E1E27110D00890935 /* Products */ = { - isa = PBXGroup; - children = ( - CC01052D1E27110D00890935 /* PINOperation.framework */, - CC01053D1E27113700890935 /* PINOperation.framework */, - CC01054A1E27114300890935 /* PINOperation.framework */, - CC0105561E27116600890935 /* PINOperationTests.xctest */, - CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */, - CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */, - 3201178C24444859004FD783 /* PINOperation.framework */, - ); - name = Products; - sourceTree = ""; - }; - CC0105571E27116600890935 /* Tests */ = { - isa = PBXGroup; - children = ( - CC01059D1E27131B00890935 /* PINOperationQueueTests.m */, - CC01059E1E27131B00890935 /* PINOperationGroupTests.m */, - CC01055A1E27116600890935 /* Info.plist */, - ); - path = Tests; - sourceTree = ""; - }; - CC01057F1E2711B700890935 /* Source */ = { - isa = PBXGroup; - children = ( - CC0105801E2711B700890935 /* PINOperation.h */, - CC0105811E2711B700890935 /* PINOperationGroup.h */, - CC0105831E2711B700890935 /* PINOperationMacros.h */, - CC0105841E2711B700890935 /* PINOperationQueue.h */, - CC0105861E2711B700890935 /* PINOperationTypes.h */, - CC0105821E2711B700890935 /* PINOperationGroup.m */, - CC0105851E2711B700890935 /* PINOperationQueue.m */, - CC01059C1E27129E00890935 /* Info.plist */, - ); - path = Source; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 3201178724444859004FD783 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3201179824444862004FD783 /* PINOperationTypes.h in Headers */, - 3201179524444862004FD783 /* PINOperationGroup.h in Headers */, - 3201179424444862004FD783 /* PINOperation.h in Headers */, - 3201179724444862004FD783 /* PINOperationQueue.h in Headers */, - 3201179624444862004FD783 /* PINOperationMacros.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01052A1E27110D00890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105991E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105871E2711B700890935 /* PINOperation.h in Headers */, - CC01058A1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105901E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105931E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01053A1E27113700890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01059A1E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105881E2711B700890935 /* PINOperation.h in Headers */, - CC01058B1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105911E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105941E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105471E27114300890935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01059B1E2711B700890935 /* PINOperationTypes.h in Headers */, - CC0105891E2711B700890935 /* PINOperation.h in Headers */, - CC01058C1E2711B700890935 /* PINOperationGroup.h in Headers */, - CC0105921E2711B700890935 /* PINOperationMacros.h in Headers */, - CC0105951E2711B700890935 /* PINOperationQueue.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 3201178B24444859004FD783 /* PINOperation-watchOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3201179324444859004FD783 /* Build configuration list for PBXNativeTarget "PINOperation-watchOS" */; - buildPhases = ( - 3201178724444859004FD783 /* Headers */, - 3201178824444859004FD783 /* Sources */, - 3201178924444859004FD783 /* Frameworks */, - 3201178A24444859004FD783 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-watchOS"; - productName = "PINOperation-watchOS"; - productReference = 3201178C24444859004FD783 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC01052C1E27110D00890935 /* PINOperation */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105351E27110D00890935 /* Build configuration list for PBXNativeTarget "PINOperation" */; - buildPhases = ( - CC0105281E27110D00890935 /* Sources */, - CC0105291E27110D00890935 /* Frameworks */, - CC01052A1E27110D00890935 /* Headers */, - CC01052B1E27110D00890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PINOperation; - productName = PINOperation; - productReference = CC01052D1E27110D00890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC01053C1E27113700890935 /* PINOperation-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC0105421E27113700890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOS" */; - buildPhases = ( - CC0105381E27113700890935 /* Sources */, - CC0105391E27113700890935 /* Frameworks */, - CC01053A1E27113700890935 /* Headers */, - CC01053B1E27113700890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-tvOS"; - productName = "PINOperation-tvOS"; - productReference = CC01053D1E27113700890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105491E27114300890935 /* PINOperation-macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01054F1E27114300890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOS" */; - buildPhases = ( - CC0105451E27114300890935 /* Sources */, - CC0105461E27114300890935 /* Frameworks */, - CC0105471E27114300890935 /* Headers */, - CC0105481E27114300890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PINOperation-macOS"; - productName = "PINOperation-macOS"; - productReference = CC01054A1E27114300890935 /* PINOperation.framework */; - productType = "com.apple.product-type.framework"; - }; - CC0105551E27116600890935 /* PINOperationTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01055E1E27116600890935 /* Build configuration list for PBXNativeTarget "PINOperationTests" */; - buildPhases = ( - CC0105521E27116600890935 /* Sources */, - CC0105531E27116600890935 /* Frameworks */, - CC0105541E27116600890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01055D1E27116600890935 /* PBXTargetDependency */, - ); - name = PINOperationTests; - productName = PINOperationTests; - productReference = CC0105561E27116600890935 /* PINOperationTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105641E27117300890935 /* PINOperation-tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01056D1E27117300890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOSTests" */; - buildPhases = ( - CC0105611E27117300890935 /* Sources */, - CC0105621E27117300890935 /* Frameworks */, - CC0105631E27117300890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01056C1E27117300890935 /* PBXTargetDependency */, - ); - name = "PINOperation-tvOSTests"; - productName = "PINOperation-tvOSTests"; - productReference = CC0105651E27117300890935 /* PINOperation-tvOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CC0105731E27117F00890935 /* PINOperation-macOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CC01057C1E27117F00890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOSTests" */; - buildPhases = ( - CC0105701E27117F00890935 /* Sources */, - CC0105711E27117F00890935 /* Frameworks */, - CC0105721E27117F00890935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CC01057B1E27117F00890935 /* PBXTargetDependency */, - ); - name = "PINOperation-macOSTests"; - productName = "PINOperation-macOSTests"; - productReference = CC0105741E27117F00890935 /* PINOperation-macOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - CC0105241E27110D00890935 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 3201178B24444859004FD783 = { - CreatedOnToolsVersion = 11.4; - ProvisioningStyle = Automatic; - }; - CC01052C1E27110D00890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC01053C1E27113700890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105491E27114300890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105551E27116600890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105641E27117300890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - CC0105731E27117F00890935 = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = CC0105271E27110D00890935 /* Build configuration list for PBXProject "PINOperation" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - Base, - en, - ); - mainGroup = CC0105231E27110D00890935; - productRefGroup = CC01052E1E27110D00890935 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - CC01052C1E27110D00890935 /* PINOperation */, - CC0105551E27116600890935 /* PINOperationTests */, - CC01053C1E27113700890935 /* PINOperation-tvOS */, - CC0105641E27117300890935 /* PINOperation-tvOSTests */, - CC0105491E27114300890935 /* PINOperation-macOS */, - CC0105731E27117F00890935 /* PINOperation-macOSTests */, - 3201178B24444859004FD783 /* PINOperation-watchOS */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 3201178A24444859004FD783 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01052B1E27110D00890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC01053B1E27113700890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105481E27114300890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105541E27116600890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105631E27117300890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105721E27117F00890935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 3201178824444859004FD783 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3201179924444862004FD783 /* PINOperationGroup.m in Sources */, - 3201179A24444862004FD783 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105281E27110D00890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058D1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105961E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105381E27113700890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058E1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105971E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105451E27114300890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC01058F1E2711B700890935 /* PINOperationGroup.m in Sources */, - CC0105981E2711B700890935 /* PINOperationQueue.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105521E27116600890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A01E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A41E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105611E27117300890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A11E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A51E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CC0105701E27117F00890935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CC0105A21E27131B00890935 /* PINOperationQueueTests.m in Sources */, - CC0105A61E27131B00890935 /* PINOperationGroupTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - CC01055D1E27116600890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC01052C1E27110D00890935 /* PINOperation */; - targetProxy = CC01055C1E27116600890935 /* PBXContainerItemProxy */; - }; - CC01056C1E27117300890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC01053C1E27113700890935 /* PINOperation-tvOS */; - targetProxy = CC01056B1E27117300890935 /* PBXContainerItemProxy */; - }; - CC01057B1E27117F00890935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CC0105491E27114300890935 /* PINOperation-macOS */; - targetProxy = CC01057A1E27117F00890935 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 3201179124444859004FD783 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-watchOS"; - PRODUCT_NAME = PINOperation; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Debug; - }; - 3201179224444859004FD783 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-watchOS"; - PRODUCT_NAME = PINOperation; - SDKROOT = watchos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 2.0; - }; - name = Release; - }; - CC0105331E27110D00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.8; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - CC0105341E27110D00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.8; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - CC0105361E27110D00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CC0105371E27110D00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CC0105431E27113700890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - CC0105441E27113700890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Release; - }; - CC0105501E27114300890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CC0105511E27114300890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.8; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperation; - PRODUCT_NAME = PINOperation; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CC01055F1E27116600890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - CC0105601E27116600890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINOperationTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - CC01056E1E27117300890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - CC01056F1E27117300890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - CC01057D1E27117F00890935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Debug; - }; - CC01057E1E27117F00890935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINOperation-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = macosx; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 3201179324444859004FD783 /* Build configuration list for PBXNativeTarget "PINOperation-watchOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3201179124444859004FD783 /* Debug */, - 3201179224444859004FD783 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105271E27110D00890935 /* Build configuration list for PBXProject "PINOperation" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105331E27110D00890935 /* Debug */, - CC0105341E27110D00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105351E27110D00890935 /* Build configuration list for PBXNativeTarget "PINOperation" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105361E27110D00890935 /* Debug */, - CC0105371E27110D00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC0105421E27113700890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105431E27113700890935 /* Debug */, - CC0105441E27113700890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01054F1E27114300890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC0105501E27114300890935 /* Debug */, - CC0105511E27114300890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01055E1E27116600890935 /* Build configuration list for PBXNativeTarget "PINOperationTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01055F1E27116600890935 /* Debug */, - CC0105601E27116600890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01056D1E27117300890935 /* Build configuration list for PBXNativeTarget "PINOperation-tvOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01056E1E27117300890935 /* Debug */, - CC01056F1E27117300890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CC01057C1E27117F00890935 /* Build configuration list for PBXNativeTarget "PINOperation-macOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CC01057D1E27117F00890935 /* Debug */, - CC01057E1E27117F00890935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = CC0105241E27110D00890935 /* Project object */; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme deleted file mode 100644 index ebc5ab8b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-macOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme deleted file mode 100644 index 31981545..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-tvOS.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme deleted file mode 100644 index 4187965f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation-watchOS.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme deleted file mode 100644 index 82056667..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/PINOperation.xcodeproj/xcshareddata/xcschemes/PINOperation.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Package.swift b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Package.swift deleted file mode 100644 index 1e747dba..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Package.swift +++ /dev/null @@ -1,18 +0,0 @@ -// swift-tools-version:5.2 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription - -let package = Package( - name: "PINOperation", - products: [ - // Products define the executables and libraries produced by a package, and make them visible to other packages. - .library(name: "PINOperation", targets: ["PINOperation"]), - ], - targets: [ - // Targets are the basic building blocks of a package. A target can define a module or a test suite. - // Targets can depend on other targets in this package, and on products in packages which this package depends on. - .target(name: "PINOperation", path: "Source", publicHeadersPath: "."), - .testTarget(name: "PINOperationTests", dependencies: ["PINOperation"], path: "Tests") - ] -) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/README.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/README.md deleted file mode 100644 index c7ac84ec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# PINOperation - -[![CocoaPods](https://img.shields.io/cocoapods/v/PINOperation.svg)](http://cocoadocs.org/docsets/PINOperation/) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Build status](https://github.com/pinterest/PINOperation/workflows/CI/badge.svg)](https://github.com/pinterest/PINOperation/actions?query=workflow%3ACI+branch%3Amaster) - -## Fast, concurrency-limited task queue for iOS and macOS. - -## Installation - -### Manually - -[Download the latest tag](https://github.com/pinterest/PINOperation/tags) and drag the `PINOperation` folder into your Xcode project. - -Install the docs by double clicking the `.docset` file under `docs/`, or view them online at [cocoadocs.org](http://cocoadocs.org/docsets/PINOperation/) - -### Git Submodule - - git submodule add https://github.com/pinterest/PINOperation.git - git submodule update --init - -### CocoaPods - -Add [PINOperation](http://cocoapods.org/?q=name%3APINOperation) to your `Podfile` and run `pod install`. - -### Carthage - -Add the following line to your `Cartfile` and run `carthage update --platform ios`. Then follow [this instruction of Carthage](https://github.com/carthage/carthage#adding-frameworks-to-unit-tests-or-a-framework) to embed the framework. - -```github "pinterest/PINOperation"``` - -## Requirements - -__PINOperation__ requires iOS 8.0, tvOS 9.0, macOS 10.8 or watchOS 2.0 and greater. - -## Contact - -[Garrett Moon](mailto:garrett@pinterest.com) - -## License - -Copyright 2013 Tumblr, Inc. -Copyright 2015 Pinterest, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. [See the License](LICENSE.txt) for the specific language governing permissions and limitations under the License. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/RELEASE.md b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/RELEASE.md deleted file mode 100644 index e0fc7ee8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/RELEASE.md +++ /dev/null @@ -1,13 +0,0 @@ -# Release Process -This document describes the process for a public PINOperation release. - -### Preparation -- Install [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator): `sudo gem install github_changelog_generator` -- Generate a GitHub Personal Access Token to prevent running into public GitHub API rate limits: https://github.com/github-changelog-generator/github-changelog-generator#github-token - -### Process -- Run `github_changelog_generator` in PINOperation project directory: `github_changelog_generator --token --user Pinterest --project PINOperation`. To avoid hitting rate limit, the generator will replace the entire file with just the changes from this version – revert that giant deletion to get the entire new changelog. -- Update `spec.version` within `PINOperation.podspec` and the `since-tag` and `future-release` fields in `.github_changelog_generator`. -- Create a new PR with the updated `PINOperation.podspec` and the newly generated changelog, add `#changelog` to the PR message so the CI will not prevent merging it. -- After merging in the PR, [create a new GitHub release](https://github.com/Pinterest/PINOperation/releases/new). Use the generated changelog for the new release. -- Push to Cocoapods with `pod trunk push` diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/Info.plist deleted file mode 100644 index faedaa13..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - Copyright © 2017 Pinterest. All rights reserved. - NSPrincipalClass - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperation.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperation.h deleted file mode 100644 index 68b074d2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperation.h +++ /dev/null @@ -1,12 +0,0 @@ -// -// PINOperation.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINOperationMacros.h" -#import "PINOperationTypes.h" -#import "PINOperationQueue.h" -#import "PINOperationGroup.h" diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h deleted file mode 100644 index 0ae7dbac..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// PINOperationGroup.h -// PINQueue -// -// Created by Garrett Moon on 10/8/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -#import -#import "PINOperationTypes.h" -#import "PINOperationMacros.h" - -@class PINOperationQueue; - -NS_ASSUME_NONNULL_BEGIN - -@protocol PINGroupOperationReference; - -PINOP_SUBCLASSING_RESTRICTED -@interface PINOperationGroup : NSObject - -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)asyncOperationGroupWithQueue:(PINOperationQueue *)operationQueue; - -- (nullable id )addOperation:(dispatch_block_t)operation; -- (nullable id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority; -- (void)start; -- (void)cancel; -- (void)setCompletion:(dispatch_block_t)completion; -- (void)waitUntilComplete; - -@end - -@protocol PINGroupOperationReference - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m deleted file mode 100644 index ddd2ed01..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationGroup.m +++ /dev/null @@ -1,187 +0,0 @@ -// -// PINOperationGroup.m -// PINQueue -// -// Created by Garrett Moon on 10/8/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -#import "PINOperationGroup.h" -#import "PINOperation.h" -#import - -@interface NSNumber (PINGroupOperationQueue) -@end - -@interface PINOperationGroup () -{ - pthread_mutex_t _lock; - - PINOperationQueue *_operationQueue; - NSMutableArray *_operations; - NSMutableArray *_operationPriorities; - NSMutableArray > *_operationReferences; - NSMapTable , id > *_groupToOperationReferences; - NSUInteger _operationReferenceCount; - - dispatch_group_t _group; - - dispatch_block_t _completion; - - BOOL _started; - BOOL _canceled; -} - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue NS_DESIGNATED_INITIALIZER; - -@end - -@implementation PINOperationGroup - -- (instancetype)initWithOperationQueue:(PINOperationQueue *)operationQueue -{ - if (self = [super init]) { - pthread_mutex_init(&_lock, NULL); - - _operationQueue = operationQueue; - - _operations = [[NSMutableArray alloc] init]; - _operationReferences = [[NSMutableArray alloc] init]; - _operationPriorities = [[NSMutableArray alloc] init]; - - _groupToOperationReferences = [NSMapTable weakToStrongObjectsMapTable]; - _group = dispatch_group_create(); - } - return self; -} - -- (void)dealloc -{ - pthread_mutex_destroy(&_lock); -} - -+ (instancetype)asyncOperationGroupWithQueue:(PINOperationQueue *)operationQueue -{ - return [[self alloc] initWithOperationQueue:operationQueue]; -} - -- (id )locked_nextOperationReference -{ - id reference = [NSNumber numberWithUnsignedInteger:++_operationReferenceCount]; - return reference; -} - -- (void)start -{ - [self lock]; - NSAssert(_canceled == NO, @"Operation group canceled."); - if (_started == NO && _canceled == NO) { - for (NSUInteger idx = 0; idx < _operations.count; idx++) { - dispatch_group_enter(_group); - dispatch_block_t originalOperation = _operations[idx]; - dispatch_block_t groupBlock = ^{ - originalOperation(); - dispatch_group_leave(self->_group); - }; - - id operationReference = [_operationQueue scheduleOperation:groupBlock withPriority:[_operationPriorities[idx] unsignedIntegerValue]]; - [_groupToOperationReferences setObject:operationReference forKey:_operationReferences[idx]]; - } - - if (_completion) { - dispatch_queue_t completionQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); - dispatch_group_notify(_group, completionQueue, ^{ - [self runCompletionIfNeeded]; - }); - } - - _operations = nil; - _operationPriorities = nil; - _operationReferences = nil; - } - [self unlock]; -} - -- (void)cancel -{ - [self lock]; - _canceled = YES; - - for (id operationReference in [_groupToOperationReferences objectEnumerator]) { - if ([_operationQueue cancelOperation:operationReference]) { - dispatch_group_leave(_group); - } - } - - //TODO just nil out instead? Does it make sense to support adding operations after cancelation? - [_groupToOperationReferences removeAllObjects]; - [_operations removeAllObjects]; - [_operationPriorities removeAllObjects]; - [_operationReferences removeAllObjects]; - - _completion = nil; - [self unlock]; -} - -- (id )addOperation:(dispatch_block_t)operation -{ - return [self addOperation:operation withPriority:PINOperationQueuePriorityDefault]; -} - -- (id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority -{ - [self lock]; - id reference = nil; - NSAssert(_started == NO && _canceled == NO, @"Operation group already started or canceled."); - if (_started == NO && _canceled == NO) { - reference = [self locked_nextOperationReference]; - [_operations addObject:operation]; - [_operationPriorities addObject:@(priority)]; - [_operationReferences addObject:reference]; - } - [self unlock]; - - return reference; -} - -- (void)setCompletion:(dispatch_block_t)completion -{ - [self lock]; - NSAssert(_started == NO && _canceled == NO, @"Operation group already started or canceled."); - if (_started == NO && _canceled == NO) { - _completion = completion; - } - [self unlock]; -} - -- (void)waitUntilComplete -{ - [self start]; - dispatch_group_wait(_group, DISPATCH_TIME_FOREVER); - [self runCompletionIfNeeded]; -} - -- (void)runCompletionIfNeeded -{ - dispatch_block_t completion; - [self lock]; - completion = _completion; - _completion = nil; - [self unlock]; - - if (completion) { - completion(); - } -} - -- (void)lock -{ - pthread_mutex_lock(&_lock); -} - -- (void)unlock -{ - pthread_mutex_unlock(&_lock); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h deleted file mode 100644 index 5be3a216..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationMacros.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINOperationMacros.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#ifndef PINOP_SUBCLASSING_RESTRICTED -#if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#define PINOP_SUBCLASSING_RESTRICTED __attribute__((objc_subclassing_restricted)) -#else -#define PINOP_SUBCLASSING_RESTRICTED -#endif // #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -#endif // #ifndef PINOP_SUBCLASSING_RESTRICTED diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h deleted file mode 100644 index 07eacbeb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.h +++ /dev/null @@ -1,141 +0,0 @@ -// -// PINOperationQueue.h -// Pods -// -// Created by Garrett Moon on 8/23/16. -// -// - -#import -#import "PINOperationTypes.h" -#import "PINOperationMacros.h" - -NS_ASSUME_NONNULL_BEGIN - -typedef void(^PINOperationBlock)(id _Nullable data); -typedef _Nullable id(^PINOperationDataCoalescingBlock)(id _Nullable existingData, id _Nullable newData); - -@protocol PINOperationReference; - -PINOP_SUBCLASSING_RESTRICTED -@interface PINOperationQueue : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -/** - * Initializes and returns a newly allocated operation queue with the specified number of maximum concurrent operations. - * - * @param maxConcurrentOperations The maximum number of queued operations that can execute at the same time. - * - */ -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations; - -/** - * Initializes and returns a newly allocated operation queue with the specified number of maximum concurrent operations and the concurrent queue they will be scheduled on. - * - * @param maxConcurrentOperations The maximum number of queued operations that can execute at the same time. - * @param concurrentQueue The operation queue to schedule concurrent operations - * - */ -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations concurrentQueue:(dispatch_queue_t)concurrentQueue NS_DESIGNATED_INITIALIZER; - -/** - * Returns the shared instance of the PINOperationQueue class. - */ -+ (instancetype)sharedOperationQueue; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * - */ -- (id )scheduleOperation:(dispatch_block_t)operation; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * @param priority The execution priority of the operation in an operation queue. - */ -- (id )scheduleOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority; - -/** - * Adds the specified operation object to the receiver. - * - * @param operation The operation object to be added to the queue. - * @param priority The execution priority of the operation in an operation queue. - * @param identifier A string that identifies the operations that can be coalesced. - * @param coalescingData The optional data consumed by this operation that needs to be updated/coalesced with data of a new operation when coalescing the two operations happens. - * @param dataCoalescingBlock The optional block called to update/coalesce the data of this operation with data of a new operation when coalescing the two operations happens. - * @param completion The block to execute after the operation finished. - */ -- (id )scheduleOperation:(PINOperationBlock)operation - withPriority:(PINOperationQueuePriority)priority - identifier:(nullable NSString *)identifier - coalescingData:(nullable id)coalescingData - dataCoalescingBlock:(nullable PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(nullable dispatch_block_t)completion; - -/** - * The maximum number of queued operations that can execute at the same time. - * - * @discussion The value in this property affects only the operations that the current queue has executing at the same time. Other operation queues can also execute their maximum number of operations in parallel. - * Reducing the number of concurrent operations does not affect any operations that are currently executing. - * - * Setting this value to 1 the operations will not be processed by priority as the operations will processed in a FIFO order to prevent deadlocks if operations depend on certain other operations to run in order. - * - */ -@property (assign) NSUInteger maxConcurrentOperations; - -/** - * Marks the operation as cancelled - */ -- (BOOL)cancelOperation:(id )operationReference; - -/** - * Cancels all queued operations - */ -- (void)cancelAllOperations; - -/** - * Blocks the current thread until all of the receiver’s queued and executing operations finish executing. - * - * @discussion When called, this method blocks the current thread and waits for the receiver’s current and queued - * operations to finish executing. While the current thread is blocked, the receiver continues to launch already - * queued operations and monitor those that are executing. - * - * @warning This should never be called from within an operation submitted to the PINOperationQueue as this will result - * in a deadlock. - */ -- (void)waitUntilAllOperationsAreFinished; - -/** - * Sets the priority for a operation via it's reference - * - * @param priority The new priority for the operation - * @param reference The reference for the operation - * - */ -- (void)setOperationPriority:(PINOperationQueuePriority)priority withReference:(id )reference; - -#pragma mark - Deprecated - -- (id )addOperation:(dispatch_block_t)operation __deprecated_msg("Use scheduleOperation: instead."); - -- (id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority __deprecated_msg("Use scheduleOperation:withPriority: instead."); - -- (id )addOperation:(PINOperationBlock)operation - withPriority:(PINOperationQueuePriority)priority - identifier:(nullable NSString *)identifier - coalescingData:(nullable id)coalescingData - dataCoalescingBlock:(nullable PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(nullable dispatch_block_t)completion __deprecated_msg("Use scheduleOperation:withPriority:identifier:coalescingData:dataCoalescingBlock:completion: instead."); - -@end - -@protocol PINOperationReference - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m deleted file mode 100644 index 5d0a38fe..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationQueue.m +++ /dev/null @@ -1,471 +0,0 @@ -// -// PINOperationQueue.m -// Pods -// -// Created by Garrett Moon on 8/23/16. -// -// - -#import "PINOperationQueue.h" -#import - -@class PINOperation; - -@interface NSNumber (PINOperationQueue) - -@end - -@interface PINOperationQueue () { - pthread_mutex_t _lock; - //increments with every operation to allow cancelation - NSUInteger _operationReferenceCount; - NSUInteger _maxConcurrentOperations; - - dispatch_group_t _group; - - dispatch_queue_t _serialQueue; - BOOL _serialQueueBusy; - - dispatch_semaphore_t _concurrentSemaphore; - dispatch_queue_t _concurrentQueue; - dispatch_queue_t _semaphoreQueue; - - NSMutableOrderedSet *_queuedOperations; - NSMutableOrderedSet *_lowPriorityOperations; - NSMutableOrderedSet *_defaultPriorityOperations; - NSMutableOrderedSet *_highPriorityOperations; - - NSMapTable, PINOperation *> *_referenceToOperations; - NSMapTable *_identifierToOperations; -} - -@end - -@interface PINOperation : NSObject - -@property (nonatomic, strong) PINOperationBlock block; -@property (nonatomic, strong) id reference; -@property (nonatomic, assign) PINOperationQueuePriority priority; -@property (nonatomic, strong) NSMutableArray *completions; -@property (nonatomic, strong) NSString *identifier; -@property (nonatomic, strong) id data; - -+ (instancetype)operationWithBlock:(PINOperationBlock)block reference:(id )reference priority:(PINOperationQueuePriority)priority identifier:(nullable NSString *)identifier data:(nullable id)data completion:(nullable dispatch_block_t)completion; - -- (void)addCompletion:(nullable dispatch_block_t)completion; - -@end - -@implementation PINOperation - -+ (instancetype)operationWithBlock:(PINOperationBlock)block reference:(id)reference priority:(PINOperationQueuePriority)priority identifier:(NSString *)identifier data:(id)data completion:(dispatch_block_t)completion -{ - PINOperation *operation = [[self alloc] init]; - operation.block = block; - operation.reference = reference; - operation.priority = priority; - operation.identifier = identifier; - operation.data = data; - [operation addCompletion:completion]; - - return operation; -} - -- (void)addCompletion:(dispatch_block_t)completion -{ - if (completion == nil) { - return; - } - if (_completions == nil) { - _completions = [NSMutableArray array]; - } - [_completions addObject:completion]; -} - -@end - -@implementation PINOperationQueue - -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations -{ - return [self initWithMaxConcurrentOperations:maxConcurrentOperations concurrentQueue:dispatch_queue_create("PINOperationQueue Concurrent Queue", DISPATCH_QUEUE_CONCURRENT)]; -} - -- (instancetype)initWithMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations concurrentQueue:(dispatch_queue_t)concurrentQueue -{ - if (self = [super init]) { - NSAssert(maxConcurrentOperations > 0, @"Max concurrent operations must be greater than 0."); - _maxConcurrentOperations = maxConcurrentOperations; - _operationReferenceCount = 0; - - pthread_mutexattr_t attr; - pthread_mutexattr_init(&attr); - //mutex must be recursive to allow scheduling of operations from within operations - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); - pthread_mutex_init(&_lock, &attr); - - _group = dispatch_group_create(); - - _serialQueue = dispatch_queue_create("PINOperationQueue Serial Queue", DISPATCH_QUEUE_SERIAL); - - _concurrentQueue = concurrentQueue; - - //Create a queue with max - 1 because this plus the serial queue add up to max. - _concurrentSemaphore = dispatch_semaphore_create(_maxConcurrentOperations - 1); - _semaphoreQueue = dispatch_queue_create("PINOperationQueue Serial Semaphore Queue", DISPATCH_QUEUE_SERIAL); - - _queuedOperations = [[NSMutableOrderedSet alloc] init]; - _lowPriorityOperations = [[NSMutableOrderedSet alloc] init]; - _defaultPriorityOperations = [[NSMutableOrderedSet alloc] init]; - _highPriorityOperations = [[NSMutableOrderedSet alloc] init]; - - _referenceToOperations = [NSMapTable weakToWeakObjectsMapTable]; - _identifierToOperations = [NSMapTable weakToWeakObjectsMapTable]; - } - return self; -} - -- (void)dealloc -{ - pthread_mutex_destroy(&_lock); -} - -+ (instancetype)sharedOperationQueue -{ - static PINOperationQueue *sharedOperationQueue = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedOperationQueue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:MAX([[NSProcessInfo processInfo] activeProcessorCount], 2)]; - }); - return sharedOperationQueue; -} - -- (id )nextOperationReference -{ - [self lock]; - id reference = [NSNumber numberWithUnsignedInteger:++_operationReferenceCount]; - [self unlock]; - return reference; -} - -// Deprecated -- (id )addOperation:(dispatch_block_t)block -{ - return [self scheduleOperation:block]; -} - -- (id )scheduleOperation:(dispatch_block_t)block -{ - return [self scheduleOperation:block withPriority:PINOperationQueuePriorityDefault]; -} - -// Deprecated -- (id )addOperation:(dispatch_block_t)block withPriority:(PINOperationQueuePriority)priority -{ - return [self scheduleOperation:block withPriority:priority]; -} - -- (id )scheduleOperation:(dispatch_block_t)block withPriority:(PINOperationQueuePriority)priority -{ - PINOperation *operation = [PINOperation operationWithBlock:^(id data) { block(); } - reference:[self nextOperationReference] - priority:priority - identifier:nil - data:nil - completion:nil]; - [self lock]; - [self locked_addOperation:operation]; - [self unlock]; - - [self scheduleNextOperations:NO]; - - return operation.reference; -} - -// Deprecated -- (id)addOperation:(PINOperationBlock)block - withPriority:(PINOperationQueuePriority)priority - identifier:(NSString *)identifier - coalescingData:(id)coalescingData - dataCoalescingBlock:(PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(dispatch_block_t)completion -{ - return [self scheduleOperation:block - withPriority:priority - identifier:identifier - coalescingData:coalescingData - dataCoalescingBlock:dataCoalescingBlock - completion:completion]; -} - -- (id)scheduleOperation:(PINOperationBlock)block - withPriority:(PINOperationQueuePriority)priority - identifier:(NSString *)identifier - coalescingData:(id)coalescingData - dataCoalescingBlock:(PINOperationDataCoalescingBlock)dataCoalescingBlock - completion:(dispatch_block_t)completion -{ - id reference = nil; - BOOL isNewOperation = NO; - - [self lock]; - PINOperation *operation = nil; - if (identifier != nil && (operation = [_identifierToOperations objectForKey:identifier]) != nil) { - // There is an exisiting operation with the provided identifier, let's coalesce these operations - if (dataCoalescingBlock != nil) { - operation.data = dataCoalescingBlock(operation.data, coalescingData); - } - - [operation addCompletion:completion]; - } else { - isNewOperation = YES; - operation = [PINOperation operationWithBlock:block - reference:[self nextOperationReference] - priority:priority - identifier:identifier - data:coalescingData - completion:completion]; - [self locked_addOperation:operation]; - } - reference = operation.reference; - [self unlock]; - - if (isNewOperation) { - [self scheduleNextOperations:NO]; - } - - return reference; -} - -- (void)locked_addOperation:(PINOperation *)operation -{ - NSMutableOrderedSet *queue = [self operationQueueWithPriority:operation.priority]; - - dispatch_group_enter(_group); - [queue addObject:operation]; - [_queuedOperations addObject:operation]; - [_referenceToOperations setObject:operation forKey:operation.reference]; - if (operation.identifier != nil) { - [_identifierToOperations setObject:operation forKey:operation.identifier]; - } -} - -- (void)cancelAllOperations -{ - [self lock]; - for (PINOperation *operation in [[_referenceToOperations copy] objectEnumerator]) { - [self locked_cancelOperation:operation.reference]; - } - [self unlock]; -} - - -- (BOOL)cancelOperation:(id )operationReference -{ - [self lock]; - BOOL success = [self locked_cancelOperation:operationReference]; - [self unlock]; - return success; -} - -- (NSUInteger)maxConcurrentOperations -{ - [self lock]; - NSUInteger maxConcurrentOperations = _maxConcurrentOperations; - [self unlock]; - return maxConcurrentOperations; -} - -- (void)setMaxConcurrentOperations:(NSUInteger)maxConcurrentOperations -{ - NSAssert(maxConcurrentOperations > 0, @"Max concurrent operations must be greater than 0."); - [self lock]; - __block NSInteger difference = maxConcurrentOperations - _maxConcurrentOperations; - _maxConcurrentOperations = maxConcurrentOperations; - [self unlock]; - - if (difference == 0) { - return; - } - - dispatch_async(_semaphoreQueue, ^{ - while (difference != 0) { - if (difference > 0) { - dispatch_semaphore_signal(self->_concurrentSemaphore); - difference--; - } else { - dispatch_semaphore_wait(self->_concurrentSemaphore, DISPATCH_TIME_FOREVER); - difference++; - } - } - }); -} - -#pragma mark - private methods - -- (BOOL)locked_cancelOperation:(id )operationReference -{ - PINOperation *operation = [_referenceToOperations objectForKey:operationReference]; - BOOL success = [self locked_removeOperation:operation]; - if (success) { - dispatch_group_leave(_group); - } - return success; -} - -- (void)setOperationPriority:(PINOperationQueuePriority)priority withReference:(id )operationReference -{ - [self lock]; - PINOperation *operation = [_referenceToOperations objectForKey:operationReference]; - if (operation && operation.priority != priority) { - NSMutableOrderedSet *oldQueue = [self operationQueueWithPriority:operation.priority]; - [oldQueue removeObject:operation]; - - operation.priority = priority; - - NSMutableOrderedSet *queue = [self operationQueueWithPriority:priority]; - [queue addObject:operation]; - } - [self unlock]; -} - -/** - Schedule next operations schedules the next operation by queue order onto the serial queue if - it's available and one operation by priority order onto the concurrent queue. - */ -- (void)scheduleNextOperations:(BOOL)onlyCheckSerial -{ - [self lock]; - - //get next available operation in order, ignoring priority and run it on the serial queue - if (_serialQueueBusy == NO) { - PINOperation *operation = [self locked_nextOperationByQueue]; - if (operation) { - _serialQueueBusy = YES; - dispatch_async(_serialQueue, ^{ - operation.block(operation.data); - for (dispatch_block_t completion in operation.completions) { - completion(); - } - dispatch_group_leave(self->_group); - - [self lock]; - self->_serialQueueBusy = NO; - [self unlock]; - - //see if there are any other operations - [self scheduleNextOperations:YES]; - }); - } - } - - NSInteger maxConcurrentOperations = _maxConcurrentOperations; - - [self unlock]; - - if (onlyCheckSerial) { - return; - } - - //if only one concurrent operation is set, let's just use the serial queue for executing it - if (maxConcurrentOperations < 2) { - return; - } - - dispatch_async(_semaphoreQueue, ^{ - dispatch_semaphore_wait(self->_concurrentSemaphore, DISPATCH_TIME_FOREVER); - [self lock]; - PINOperation *operation = [self locked_nextOperationByPriority]; - [self unlock]; - - if (operation) { - dispatch_async(self->_concurrentQueue, ^{ - operation.block(operation.data); - for (dispatch_block_t completion in operation.completions) { - completion(); - } - dispatch_group_leave(self->_group); - dispatch_semaphore_signal(self->_concurrentSemaphore); - }); - } else { - dispatch_semaphore_signal(self->_concurrentSemaphore); - } - }); -} - -- (NSMutableOrderedSet *)operationQueueWithPriority:(PINOperationQueuePriority)priority -{ - switch (priority) { - case PINOperationQueuePriorityLow: - return _lowPriorityOperations; - - case PINOperationQueuePriorityDefault: - return _defaultPriorityOperations; - - case PINOperationQueuePriorityHigh: - return _highPriorityOperations; - - default: - NSAssert(NO, @"Invalid priority set"); - return _defaultPriorityOperations; - } -} - -//Call with lock held -- (PINOperation *)locked_nextOperationByPriority -{ - PINOperation *operation = [_highPriorityOperations firstObject]; - if (operation == nil) { - operation = [_defaultPriorityOperations firstObject]; - } - if (operation == nil) { - operation = [_lowPriorityOperations firstObject]; - } - if (operation) { - [self locked_removeOperation:operation]; - } - return operation; -} - -//Call with lock held -- (PINOperation *)locked_nextOperationByQueue -{ - PINOperation *operation = [_queuedOperations firstObject]; - [self locked_removeOperation:operation]; - return operation; -} - -- (void)waitUntilAllOperationsAreFinished -{ - [self scheduleNextOperations:NO]; - dispatch_group_wait(_group, DISPATCH_TIME_FOREVER); -} - -//Call with lock held -- (BOOL)locked_removeOperation:(PINOperation *)operation -{ - if (operation) { - NSMutableOrderedSet *priorityQueue = [self operationQueueWithPriority:operation.priority]; - if ([priorityQueue containsObject:operation]) { - [priorityQueue removeObject:operation]; - [_queuedOperations removeObject:operation]; - if (operation.identifier) { - [_identifierToOperations removeObjectForKey:operation.identifier]; - } - return YES; - } - } - return NO; -} - -- (void)lock -{ - pthread_mutex_lock(&_lock); -} - -- (void)unlock -{ - pthread_mutex_unlock(&_lock); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h deleted file mode 100644 index be7293db..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Source/PINOperationTypes.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINOperationTypes.h -// PINOperation -// -// Created by Adlai Holler on 1/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import - -typedef NS_ENUM(NSUInteger, PINOperationQueuePriority) { - PINOperationQueuePriorityLow, - PINOperationQueuePriorityDefault, - PINOperationQueuePriorityHigh, -}; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Tests/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Tests/Info.plist deleted file mode 100644 index ba72822e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Tests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m deleted file mode 100644 index 7505d56f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Tests/PINOperationGroupTests.m +++ /dev/null @@ -1,129 +0,0 @@ -// -// PINOperationGroupTests.m -// PINOperationQueue -// -// Created by Garrett Moon on 10/12/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -@import PINOperation; - -#import -#import - -static NSTimeInterval PINOperationGroupTestBlockTimeout = 20; - -@interface PINOperationGroupTests : XCTestCase - -@property PINOperationQueue *queue; - -@end - -@implementation PINOperationGroupTests - -- (dispatch_time_t)timeout -{ - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(PINOperationGroupTestBlockTimeout * NSEC_PER_SEC)); -} - -- (void)setUp { - [super setUp]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:5]; -} - -- (void)tearDown { - // Put teardown code here. This method is called after the invocation of each test method in the class. - [super tearDown]; -} - -- (void)testAllOperationsRunBeforeCompletion -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - for (NSUInteger idx = 0; idx < 100; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - - XCTestExpectation *completionRun = [self expectationWithDescription:@"Completion Run"]; - - __weak typeof(self) weakSelf = self; - [group setCompletion:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - XCTAssert(operationsRun == 100, @"Not all operations were run before completion"); - } - [completionRun fulfill]; - }]; - - [group start]; - - [self waitForExpectationsWithTimeout:PINOperationGroupTestBlockTimeout handler:nil]; -} - -- (void)testWaitUntilOperationsComplete -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - for (NSUInteger idx = 0; idx < 100; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - __block BOOL completionBlockCalled = NO; - [group setCompletion:^{ - completionBlockCalled = YES; - }]; - - [group waitUntilComplete]; - XCTAssert(completionBlockCalled, @"Completion block should have been called after waiting."); - - @synchronized (self) { - XCTAssert(operationsRun == 100, @"All operations should be run"); - } -} - -- (void)testCancelation -{ - __block NSUInteger operationsRun = 0; - PINOperationGroup *group = [PINOperationGroup asyncOperationGroupWithQueue:self.queue]; - - const NSUInteger operationsToRun = 100; - - for (NSUInteger idx = 0; idx < operationsToRun; idx++) { - __weak typeof(self) weakSelf = self; - [group addOperation:^{ - usleep(10000); - typeof(self) strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun++; - } - }]; - } - - [group setCompletion:^{ - XCTAssert(NO, @"completion should not be run"); - }]; - - [group start]; - [group cancel]; - - usleep(10000 * operationsToRun); - - @synchronized (self) { - XCTAssert(operationsRun < operationsToRun, @"All operations should not be run."); - } -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m deleted file mode 100644 index 844968f2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/Tests/PINOperationQueueTests.m +++ /dev/null @@ -1,523 +0,0 @@ -// -// PINOperationQueueTests.m -// PINOperationQueue -// -// Created by Garrett Moon on 8/28/16. -// Copyright © 2016 Pinterest. All rights reserved. -// - -@import PINOperation; -#import -#import - -static NSTimeInterval PINOperationQueueTestBlockTimeout = 20; - -@interface PINOperationQueueTests : XCTestCase - -@property (nonatomic, strong) PINOperationQueue *queue; - -@end - -static const NSUInteger PINOperationQueueTestsLowestMaxOperations = 1; -static const NSUInteger PINOperationQueueTestsMaxOperations = 5; - -@implementation PINOperationQueueTests - -- (void)setUp -{ - [super setUp]; - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsMaxOperations]; - // Put setup code here. This method is called before the invocation of each test method in the class. -} - -- (void)tearDown -{ - // Put teardown code here. This method is called after the invocation of each test method in the class. - self.queue = nil; - [super tearDown]; -} - -- (dispatch_time_t)timeout -{ - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(PINOperationQueueTestBlockTimeout * NSEC_PER_SEC)); -} - -- (void)testAllOperationsRun -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out before completing 100 operations"); -} - -- (void)testAllOperationsReleased -{ - const NSUInteger operationCount = 100; - NSPointerArray *weakOperationPointers = [NSPointerArray weakObjectsPointerArray]; - - for (int i = 0; i < operationCount; i++) { - @autoreleasepool { - dispatch_block_t operation = ^{ - usleep(i); - }; - - [weakOperationPointers addPointer:(__bridge void * _Nullable)(operation)]; - [self.queue scheduleOperation:operation withPriority:PINOperationQueuePriorityDefault]; - } - } - - [self.queue waitUntilAllOperationsAreFinished]; - - // Autorelease pool is drained at the end of each run loop - // Dispatch to the next loop before asserting that all blocks are gone - XCTestExpectation *expectation = [self expectationWithDescription:@"next run loop expectation"]; - dispatch_async(dispatch_get_main_queue(), ^{ - [expectation fulfill]; - }); - - [self waitForExpectationsWithTimeout:10 handler:nil]; - XCTAssertEqual(0, weakOperationPointers.allObjects.count); -} - -- (void)testWaitUntilAllOperationsFinished -{ - const NSUInteger operationCount = 100; - __block NSInteger operationsRun = 0; - - __weak PINOperationQueueTests *weakSelf = self; - for (NSUInteger count = 0; count < operationCount; count++) { - [self.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - } withPriority:PINOperationQueuePriorityDefault]; - } - - [self.queue waitUntilAllOperationsAreFinished]; - - XCTAssert(operationCount == operationsRun, @"Timed out before completing 100 operations"); -} - -- (void)testWaitUntilAllOperationsFinishedWithNestedOperations -{ - const NSUInteger operationCount = 100; - - __block NSInteger operationsRun = 0; - for (NSUInteger count = 0; count < operationCount; count++) { - __weak PINOperationQueueTests *weakSelf = self; - [self.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - [strongSelf.queue scheduleOperation:^{ - __strong PINOperationQueueTests *strongSelf = weakSelf; - @synchronized (strongSelf) { - operationsRun += 1; - } - } withPriority:PINOperationQueuePriorityHigh]; - } withPriority:PINOperationQueuePriorityDefault]; - } - - [self.queue waitUntilAllOperationsAreFinished]; - - XCTAssert(operationsRun == (operationCount*2), @"Timed out before completing 100 operations"); -} - -- (void)helperConfirmMaxOperations:(NSUInteger)maxOperations queue:(PINOperationQueue *)queue -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - __block NSUInteger runningOperationCount = 0; - __block BOOL operationCountMaxedOut = NO; - - XCTAssert(queue.maxConcurrentOperations == maxOperations, @"Max concurrent operations not correctly set."); -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [queue scheduleOperation:^{ - @synchronized (self) { - runningOperationCount++; - if (runningOperationCount == maxOperations) { - operationCountMaxedOut = YES; - } - XCTAssert(runningOperationCount <= maxOperations, @"Running too many operations at once: %lu", (unsigned long)runningOperationCount); - } - - usleep(10000); - - @synchronized (self) { - runningOperationCount--; - XCTAssert(runningOperationCount <= maxOperations, @"Running too many operations at once: %lu", (unsigned long)runningOperationCount); - } - - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out before completing 100 operations"); - XCTAssert(operationCountMaxedOut == YES, @"Never reached maximum number of concurrent operations: %lu", (unsigned long)maxOperations); -} - -- (void)testMaximumNumberOfConcurrentOperations -{ - [self helperConfirmMaxOperations:PINOperationQueueTestsMaxOperations queue:self.queue]; -} - -- (void)testMaximumNumberOfConcurrentOperationsIsOne -{ - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsLowestMaxOperations]; - [self helperConfirmMaxOperations:PINOperationQueueTestsLowestMaxOperations queue:self.queue]; -} - -//We expect operations to run in priority order when added in that order as well -- (void)testPriority -{ - const NSUInteger highOperationCount = 100; - const NSUInteger defaultOperationCount = 100; - const NSUInteger lowOperationCount = 100; - - __block NSUInteger highOperationComplete = 0; - __block NSUInteger defaultOperationComplete = 0; - __block NSUInteger lowOperationComplete = 0; - - dispatch_group_t group = dispatch_group_create(); - - //This is actually a pretty annoying unit test to write. Because multiple operations are allowed to be concurrent, lower priority operations can potentially repeatidly - //obtain the lock while higher priority operations wait… So I'm attempting to make the operations less about lock contention and more about the length of time they take - //to execute and adding a sleep before they obtain the lock to hopefully improve reliability. - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < highOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++highOperationComplete; - XCTAssert(defaultOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running default operations before high. Default operations complete: %lu", (unsigned long)defaultOperationComplete); - XCTAssert(lowOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running low operations before high. Low operations complete: %lu", (unsigned long)lowOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityHigh]; - } - - for (NSUInteger count = 0; count < defaultOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++defaultOperationComplete; - XCTAssert(lowOperationComplete <= PINOperationQueueTestsMaxOperations, @"Running low operations before default. Low operations complete: %lu", (unsigned long)lowOperationComplete); - XCTAssert(highOperationComplete > highOperationCount - PINOperationQueueTestsMaxOperations, @"Running high operations after default. High operations complete: %lu", (unsigned long)highOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - for (NSUInteger count = 0; count < lowOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(10000); - @synchronized (self) { - ++lowOperationComplete; - XCTAssert(defaultOperationComplete > defaultOperationCount - PINOperationQueueTestsMaxOperations, @"Running default operations after low. Default operations complete: %lu", (unsigned long)defaultOperationComplete); - XCTAssert(highOperationComplete > highOperationCount - PINOperationQueueTestsMaxOperations, @"Running high operations after low. High operations complete: %lu", (unsigned long)highOperationComplete); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -//We expect low priority operations to eventually run even if the queue is continually kept full with higher priority operations -- (void)testOutOfOrderOperations -{ - const NSUInteger operationCount = 100; - dispatch_group_t group = dispatch_group_create(); - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < PINOperationQueueTestsMaxOperations + 1; count++) { - [self.queue scheduleOperation:^{ - [self recursivelyAddOperation]; - } withPriority:PINOperationQueuePriorityHigh]; - } -#pragma clang diagnostic pop - - for (NSUInteger count = 0; count < operationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; - } - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)recursivelyAddOperation -{ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - [self.queue scheduleOperation:^{ - [self recursivelyAddOperation]; - } withPriority:PINOperationQueuePriorityHigh]; -#pragma clang diagnostic pop -} - -- (void)testCancelation -{ - const NSUInteger sleepTime = 100000; - for (NSUInteger count = 0; count < PINOperationQueueTestsMaxOperations + 1; count++) { - [self.queue scheduleOperation:^{ - usleep(sleepTime); - } withPriority:PINOperationQueuePriorityDefault]; - } - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - id operation = [self.queue scheduleOperation:^{ - XCTAssertTrue(NO, @"operation should have been canceled"); - } withPriority:PINOperationQueuePriorityDefault]; -#pragma clang diagnostics pop - - [self.queue cancelOperation:operation]; - - usleep(sleepTime * (PINOperationQueueTestsMaxOperations + 1)); -} - -- (void)testChangingPriority -{ - const NSUInteger defaultOperationCount = 100; - - __block NSUInteger defaultOperationComplete = 0; - - dispatch_group_t group = dispatch_group_create(); - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - for (NSUInteger count = 0; count < defaultOperationCount; count++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(100); - @synchronized (self) { - ++defaultOperationComplete; - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityDefault]; - } - - dispatch_group_enter(group); - id operation = [self.queue scheduleOperation:^{ - @synchronized (self) { - //Make sure we're less than defaultOperationCount - PINOperationQueueTestsMaxOperations because this operation could start even while the others are running even - //if started last. - XCTAssert(defaultOperationComplete < defaultOperationCount - PINOperationQueueTestsMaxOperations, @"operation was not completed before default operations even though reprioritized."); - } - dispatch_group_leave(group); - } withPriority:PINOperationQueuePriorityLow]; -#pragma clang diagnostic pop - [self.queue setOperationPriority:PINOperationQueuePriorityHigh withReference:operation]; - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)testCoalescingOperations -{ - self.queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:PINOperationQueueTestsMaxOperations]; - - const NSUInteger totalOperationCount = 100; - dispatch_group_t group = dispatch_group_create(); - - NSString *normalDesc = @"Normal"; - NSString *coallescedDesc = @"Coallesced"; - NSArray *descs = @[normalDesc, coallescedDesc]; - - __block NSMutableDictionary *operationCount = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - __block NSMutableDictionary *operationRun = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - __block NSMutableDictionary *operationComplete = [NSMutableDictionary dictionaryWithObjectsAndKeys:@(0), normalDesc, @(0), coallescedDesc, nil]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSUInteger i = 0; i < totalOperationCount; i++) { - dispatch_group_enter(group); - - NSString *desc = descs[i % descs.count]; - BOOL isNormalOperation = [desc isEqualToString:normalDesc]; - - NSString *identifier = desc; - if (isNormalOperation) { - identifier = [NSString stringWithFormat:@"%@ %tu", desc, i]; - } - - operationCount[desc] = @([operationCount[desc] intValue] + 1); - - PINOperationBlock operation = ^(id _Nullable data) { - @synchronized (self) { - operationRun[desc] = @([operationRun[desc] intValue] + 1); - } - }; - - dispatch_block_t completion = ^{ - @synchronized (self) { - operationComplete[desc] = @([operationComplete[desc] intValue] + 1); - } - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:identifier - coalescingData:nil - dataCoalescingBlock:nil - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); - XCTAssert([operationRun[normalDesc] intValue] == [operationCount[normalDesc] intValue]); - XCTAssert([operationComplete[normalDesc] intValue] == [operationCount[normalDesc] intValue]); - XCTAssert([operationRun[coallescedDesc] intValue] == 1); - XCTAssert([operationComplete[coallescedDesc] intValue] == [operationCount[coallescedDesc] intValue]); -} - -- (void)testCoalescingOperationCompletions -{ - dispatch_group_t group = dispatch_group_create(); - - NSArray *completionFlags = @[@(NO), @(NO), @(YES), @(NO), @(YES)]; - NSIndexSet *expectedCompletedIndexSet = [completionFlags indexesOfObjectsPassingTest:^BOOL(NSNumber * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { return [obj boolValue]; }]; - NSMutableIndexSet *completedIndexSet = [NSMutableIndexSet indexSet]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSUInteger i = 0; i < completionFlags.count; i++) { - dispatch_group_enter(group); - - PINOperationBlock operation = ^(id _Nullable data) { - for (NSNumber *hasCompletion in completionFlags) { - if ([hasCompletion boolValue] == NO) { - dispatch_group_leave(group); - } - } - }; - - dispatch_block_t completion = [completionFlags[i] boolValue] == NO ? nil : ^{ - XCTAssert([expectedCompletedIndexSet containsIndex:i]); - @synchronized (self) { - [completedIndexSet addIndex:i]; - } - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:@"Identifier" - coalescingData:nil - dataCoalescingBlock:nil - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); - XCTAssert([completedIndexSet isEqual:expectedCompletedIndexSet]); -} - -- (void)testCoalescingOperationData -{ - dispatch_group_t group = dispatch_group_create(); - - NSArray *dataset = @[@(100), @(50), @(50), @(100), @(10)]; - NSNumber *expectedData = [dataset sortedArrayUsingSelector:@selector(compare:)][0]; - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - // Fill up the queue with dummy operations so we have time to add real ones without them being unexpectedly executed - for (NSUInteger i = 0; i < PINOperationQueueTestsMaxOperations * 2; i++) { - dispatch_group_enter(group); - [self.queue scheduleOperation:^{ - usleep(1000); - dispatch_group_leave(group); - }]; - } - - for (NSNumber *data in dataset) { - dispatch_group_enter(group); - - PINOperationBlock operation = ^(id _Nullable obj) { - XCTAssert([expectedData compare:obj] == NSOrderedSame); - }; - - PINOperationDataCoalescingBlock dataCoalescingBlock = ^id(id existingData, id newData) { - NSComparisonResult result = [existingData compare:newData]; - return (result == NSOrderedDescending) ? newData : existingData; - }; - - dispatch_block_t completion = ^{ - dispatch_group_leave(group); - }; - - [self.queue scheduleOperation:operation - withPriority:PINOperationQueuePriorityLow - identifier:@"Identifier" - coalescingData:data - dataCoalescingBlock:dataCoalescingBlock - completion:completion]; - } -#pragma clang diagnostic pop - - NSUInteger success = dispatch_group_wait(group, [self timeout]); - XCTAssert(success == 0, @"Timed out"); -} - -- (void)testChangingMaximumNumberOfOperations -{ - PINOperationQueue *queue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:2]; - [self helperConfirmMaxOperations:2 queue:queue]; - queue.maxConcurrentOperations = 4; - usleep(10000); - [self helperConfirmMaxOperations:4 queue:queue]; - queue.maxConcurrentOperations = 2; - usleep(10000); - [self helperConfirmMaxOperations:2 queue:queue]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/build_docs.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/build_docs.sh deleted file mode 100755 index 8566ae2e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/build_docs.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env sh - -appledoc \ - --company-id com.pinterest \ - --project-name PINOperation \ - --project-company Pinterest \ - --project-version 1.0 \ - --docset-min-xcode-version 4.3 \ - --docset-bundle-id %COMPANYID.%PROJECTID \ - --docset-bundle-name "%PROJECT %VERSION" \ - --docset-bundle-filename %COMPANYID.%PROJECTID-%VERSIONID.docset \ - --ignore "tests" \ - --ignore "docs" \ - --ignore "*.m" \ - --no-repeat-first-par \ - --explicit-crossref \ - --clean-output \ - --keep-intermediate-files \ - --output ./docs \ - . - -mv docs/docset docs/com.pinterest.PINOperation-1.0.docset -rm docs/docset-installed.txt diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/build_tests.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/build_tests.sh deleted file mode 100755 index 93ccafe2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/build_tests.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh - -# Have to specify destination because http://www.openradar.me/23857648 -xcodebuild ONLY_ACTIVE_ARCH=NO -project tests/PINOperation.xcodeproj -scheme PINOperationTests -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=latest' clean build test diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist deleted file mode 100644 index 3f0c2925..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - com.pinterest.PINOperationQueue - CFBundleName - PINOperationQueue 1.0 - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - - - - - DocSetFeedName - PINOperationQueue Documentation - - DocSetMinimumXcodeVersion - 4.3 - - DashDocSetFamily - appledoc - DocSetPublisherIdentifier - com.pinterest.documentation - DocSetPublisherName - Pinterest - NSHumanReadableCopyright - Copyright © 2017 Pinterest. All rights reserved. - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Blocks/PINOperationBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html deleted file mode 100644 index 810f085f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Constants/PINOperationQueuePriority.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -

PINOperationQueuePriority

- -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINOperationQueuePriority ) {
- -    PINOperationQueuePriorityLow,
- -    PINOperationQueuePriorityDefault,
- -    PINOperationQueuePriorityHigh,
- - };
- -
- -
-

Constants

-
- -
PINOperationQueuePriorityLow
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityDefault
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityHigh
-
- - -

- PINOperationQueue.h. -

- -
- -
-
- - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/Protocols/PINOperationReference.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html deleted file mode 100644 index 9bd0aa1f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/hierarchy.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html deleted file mode 100644 index fbc5d19d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/index.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Documents/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml deleted file mode 100644 index a824d9a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Nodes.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - PINOperationQueue - index.html - - - - - - - Protocols - index.html - - - - - - - - - Constants - index.html - - - - - - - - - Blocks - index.html - - - - - - - - - - - - - - - PINOperationReference - Protocols/PINOperationReference.html - - - - - PINOperationQueuePriority - Constants/PINOperationQueuePriority.html - - - - - PINOperationBlock - Blocks/PINOperationBlock.html - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml deleted file mode 100644 index 03332c47..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens1.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - //apple_ref/occ/intf/PINOperationReference - Cancels all queued operations - PINOperationQueue.h - - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml deleted file mode 100644 index b6618281..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens2.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINOperationQueuePriority - - PINOperationQueue.h - - - - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityLow - - PINOperationQueuePriorityLow - - PINOperationQueue.h - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityDefault - - PINOperationQueuePriorityDefault - - PINOperationQueue.h - - - - - - //apple_ref/c/econst/PINOperationQueuePriorityHigh - - PINOperationQueuePriorityHigh - - PINOperationQueue.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/Tokens3.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx deleted file mode 100644 index cf3289f0..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm deleted file mode 100644 index c6022c76..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-shm and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal deleted file mode 100644 index 4f824904..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.dsidx-wal and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom deleted file mode 100644 index 0503cfdd..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.mom and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx deleted file mode 100644 index 99e1cd2b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.skidx and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc deleted file mode 100644 index 2088a3ff..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.toc and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache deleted file mode 100644 index 5118133e..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/com.pinterest.PINOperationQueue-1.0.docset/Contents/Resources/docSet.tokencache and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/Blocks/PINOperationBlock.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html deleted file mode 100644 index 810f085f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/Constants/PINOperationQueuePriority.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -

PINOperationQueuePriority

- -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINOperationQueuePriority ) {
- -    PINOperationQueuePriorityLow,
- -    PINOperationQueuePriorityDefault,
- -    PINOperationQueuePriorityHigh,
- - };
- -
- -
-

Constants

-
- -
PINOperationQueuePriorityLow
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityDefault
-
- - -

- PINOperationQueue.h. -

- -
- -
PINOperationQueuePriorityHigh
-
- - -

- PINOperationQueue.h. -

- -
- -
-
- - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html deleted file mode 100644 index b7481d79..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/Protocols/PINOperationReference.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

- - - - - - - - -
- -
- -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html deleted file mode 100644 index 9bd0aa1f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/hierarchy.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/index.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/index.html deleted file mode 100644 index fbc5d19d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/index.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - -
-
- -

- PINOperationQueue -

- -

- Pinterest -

- -
-
- - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/js/script.js b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/js/script.js deleted file mode 100644 index ca915ee4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/docs/html/js/script.js +++ /dev/null @@ -1,58 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - - setTimeout(function() { - element.classList.remove("animating"); - info.style.height = "auto"; - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/makefile b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/makefile deleted file mode 100644 index 6cce01cc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/makefile +++ /dev/null @@ -1,27 +0,0 @@ -PLATFORM="platform=iOS Simulator,name=iPhone 7" -SDK="iphonesimulator" -SHELL=/bin/bash -o pipefail - -.PHONY: all lint test analyze carthage - -carthage: - carthage build --no-skip-current - -lint: - pod lib lint - -analyze: - xcodebuild clean analyze -destination ${PLATFORM} -sdk ${SDK} -project PINOperation.xcodeproj -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(shell pwd)/clang" | xcpretty - if [[ -n `find $(shell pwd)/clang -name "*.html"` ]] ; then rm -rf `pwd`/clang; exit 1; fi - rm -rf $(shell pwd)/clang - -test: - xcodebuild clean test -destination ${PLATFORM} -sdk ${SDK} -project PINOperation.xcodeproj -scheme PINOperation \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO | xcpretty - -all: carthage lint test analyze \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/run_tests_update_status.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/run_tests_update_status.sh deleted file mode 100755 index 5d7e4bd6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/PINOperation/run_tests_update_status.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash -set -eo pipefail - -UPDATE_STATUS_PATH=$1 -BUILDKITE_PULL_REQUEST=$2 -BUILDKITE_BUILD_URL=$3 - -function updateStatus() { - if [ "${BUILDKITE_PULL_REQUEST}" != "false" ] ; then - ${UPDATE_STATUS_PATH} "pinterest" "PINOperation" ${BUILDKITE_PULL_REQUEST} "$1" ${BUILDKITE_BUILD_URL} "$2" "CI/Pinterest" - fi -} - -if [[ -z "${UPDATE_STATUS_PATH}" || -z "${BUILDKITE_PULL_REQUEST}" || -z "${BUILDKITE_BUILD_URL}" ]] ; then - echo "Update status path (${UPDATE_STATUS_PATH}), pull request (${BUILDKITE_BUILD_URL}) or build url (${BUILDKITE_PULL_REQUEST}) unset." - trap - EXIT - exit 255 -fi - -trapped="false" -function trap_handler() { - if [[ "$trapped" = "false" ]]; then - updateStatus failure "Tests failed…" - echo "Tests failed, updated status to failure" - fi - trapped="true" -} -trap trap_handler INT TERM EXIT - -updateStatus pending "Starting build…" - -make all - -updateStatus success "Tests passed" - -echo "All tests succeeded, updated status to success" -trap - EXIT -exit 0 \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/.gitattributes b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/.gitattributes deleted file mode 100644 index 8873ffda..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/.gitattributes +++ /dev/null @@ -1,5 +0,0 @@ -.gitattributes export-ignore -.gitignore export-ignore -.mailmap export-ignore -*.pdf -text -diff -*.ppm -text -diff diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/.gitignore b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/.gitignore deleted file mode 100644 index 20486077..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/.gitignore +++ /dev/null @@ -1,44 +0,0 @@ -*.l[ao] -*.[ao] -*.pc -.deps -.libs -/aclocal.m4 -/ar-lib -/autom4te.cache -/compile -/config.* -/configure -/depcomp -/dist -/install-sh -/libtool -/ltmain.sh -/missing -/mkinstalldirs -/stamp-h1 -Makefile -Makefile.in -examples/anim_diff -examples/anim_dump -examples/[cdv]webp -examples/gif2webp -examples/img2webp -examples/webpinfo -examples/webpmux -src/webp/config.h* -src/webp/stamp-h1 -/output -/doc/output -*.idb -*.pdb -/iosbuild -/WebP.framework -CMakeCache.txt -CMakeFiles/ -cmake_install.cmake -.gradle -/build -extras/get_disto -extras/vwebp_sdl -extras/webp_quality diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/.mailmap b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/.mailmap deleted file mode 100644 index dc05fddc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/.mailmap +++ /dev/null @@ -1,13 +0,0 @@ -Johann Koenig -Johann Koenig -Mikołaj Zalewski -Pascal Massimino -Pascal Massimino -Vikas Arora - - - - -Tamar Levy - -Hui Su diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/AUTHORS b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/AUTHORS deleted file mode 100644 index 32ff2fb6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/AUTHORS +++ /dev/null @@ -1,45 +0,0 @@ -Contributors: -- Aidan O'Loan (aidanol at gmail dot com) -- Alan Browning (browning at google dot com) -- Charles Munger (clm at google dot com) -- Cheng Yi (cyi at google dot com) -- Christian Duvivier (cduvivier at google dot com) -- Djordje Pesut (djordje dot pesut at imgtec dot com) -- Hui Su (huisu at google dot com) -- James Zern (jzern at google dot com) -- Jan Engelhardt (jengelh at medozas dot de) -- Jehan (jehan at girinstud dot io) -- Johann Koenig (johann dot koenig at duck dot com) -- Jovan Zelincevic (jovan dot zelincevic at imgtec dot com) -- Jyrki Alakuijala (jyrki at google dot com) -- Konstantin Ivlev (tomskside at gmail dot com) -- Lode Vandevenne (lode at google dot com) -- Lou Quillio (louquillio at google dot com) -- Mans Rullgard (mans at mansr dot com) -- Marcin Kowalczyk (qrczak at google dot com) -- Martin Olsson (mnemo at minimum dot se) -- Mikołaj Zalewski (mikolajz at google dot com) -- Mislav Bradac (mislavm at google dot com) -- Nico Weber (thakis at chromium dot org) -- Noel Chromium (noel at chromium dot org) -- Oliver Wolff (oliver dot wolff at qt dot io) -- Owen Rodley (orodley at google dot com) -- Parag Salasakar (img dot mips1 at gmail dot com) -- Pascal Massimino (pascal dot massimino at gmail dot com) -- Paweł Hajdan, Jr (phajdan dot jr at chromium dot org) -- Pierre Joye (pierre dot php at gmail dot com) -- Sam Clegg (sbc at chromium dot org) -- Scott Hancher (seh at google dot com) -- Scott LaVarnway (slavarnway at google dot com) -- Scott Talbot (s at chikachow dot org) -- Slobodan Prijic (slobodan dot prijic at imgtec dot com) -- Somnath Banerjee (somnath dot banerjee at gmail dot com) -- Sriraman Tallam (tmsriram at google dot com) -- Tamar Levy (tamar dot levy at intel dot com) -- Timothy Gu (timothygu99 at gmail dot com) -- Urvang Joshi (urvang at google dot com) -- Vikas Arora (vikasa at google dot com) -- Vincent Rabaud (vrabaud at google dot com) -- Vlad Tsyrklevich (vtsyrklevich at chromium dot org) -- Yang Zhang (yang dot zhang at arm dot com) -- Yannis Guyon (yguyon at google dot com) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Android.mk b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Android.mk deleted file mode 100644 index 8f0cb756..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Android.mk +++ /dev/null @@ -1,280 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -WEBP_CFLAGS := -Wall -DANDROID -DHAVE_MALLOC_H -DHAVE_PTHREAD -DWEBP_USE_THREAD -WEBP_CFLAGS += -fvisibility=hidden - -ifeq ($(APP_OPTIM),release) - WEBP_CFLAGS += -finline-functions -ffast-math \ - -ffunction-sections -fdata-sections - ifeq ($(findstring clang,$(NDK_TOOLCHAIN_VERSION)),) - WEBP_CFLAGS += -frename-registers -s - endif -endif - -# mips32 fails to build with clang from r14b -# https://bugs.chromium.org/p/webp/issues/detail?id=343 -ifeq ($(findstring clang,$(NDK_TOOLCHAIN_VERSION)),clang) - ifeq ($(TARGET_ARCH),mips) - clang_version := $(shell $(TARGET_CC) --version) - ifneq ($(findstring clang version 3,$(clang_version)),) - WEBP_CFLAGS += -no-integrated-as - endif - endif -endif - -ifneq ($(findstring armeabi-v7a, $(TARGET_ARCH_ABI)),) - # Setting LOCAL_ARM_NEON will enable -mfpu=neon which may cause illegal - # instructions to be generated for armv7a code. Instead target the neon code - # specifically. - NEON := c.neon - USE_CPUFEATURES := yes - WEBP_CFLAGS += -DHAVE_CPU_FEATURES_H -else - NEON := c -endif - -dec_srcs := \ - src/dec/alpha_dec.c \ - src/dec/buffer_dec.c \ - src/dec/frame_dec.c \ - src/dec/idec_dec.c \ - src/dec/io_dec.c \ - src/dec/quant_dec.c \ - src/dec/tree_dec.c \ - src/dec/vp8_dec.c \ - src/dec/vp8l_dec.c \ - src/dec/webp_dec.c \ - -demux_srcs := \ - src/demux/anim_decode.c \ - src/demux/demux.c \ - -dsp_dec_srcs := \ - src/dsp/alpha_processing.c \ - src/dsp/alpha_processing_mips_dsp_r2.c \ - src/dsp/alpha_processing_neon.$(NEON) \ - src/dsp/alpha_processing_sse2.c \ - src/dsp/alpha_processing_sse41.c \ - src/dsp/cpu.c \ - src/dsp/dec.c \ - src/dsp/dec_clip_tables.c \ - src/dsp/dec_mips32.c \ - src/dsp/dec_mips_dsp_r2.c \ - src/dsp/dec_msa.c \ - src/dsp/dec_neon.$(NEON) \ - src/dsp/dec_sse2.c \ - src/dsp/dec_sse41.c \ - src/dsp/filters.c \ - src/dsp/filters_mips_dsp_r2.c \ - src/dsp/filters_msa.c \ - src/dsp/filters_neon.$(NEON) \ - src/dsp/filters_sse2.c \ - src/dsp/lossless.c \ - src/dsp/lossless_mips_dsp_r2.c \ - src/dsp/lossless_msa.c \ - src/dsp/lossless_neon.$(NEON) \ - src/dsp/lossless_sse2.c \ - src/dsp/rescaler.c \ - src/dsp/rescaler_mips32.c \ - src/dsp/rescaler_mips_dsp_r2.c \ - src/dsp/rescaler_msa.c \ - src/dsp/rescaler_neon.$(NEON) \ - src/dsp/rescaler_sse2.c \ - src/dsp/upsampling.c \ - src/dsp/upsampling_mips_dsp_r2.c \ - src/dsp/upsampling_msa.c \ - src/dsp/upsampling_neon.$(NEON) \ - src/dsp/upsampling_sse2.c \ - src/dsp/upsampling_sse41.c \ - src/dsp/yuv.c \ - src/dsp/yuv_mips32.c \ - src/dsp/yuv_mips_dsp_r2.c \ - src/dsp/yuv_neon.$(NEON) \ - src/dsp/yuv_sse2.c \ - src/dsp/yuv_sse41.c \ - -dsp_enc_srcs := \ - src/dsp/cost.c \ - src/dsp/cost_mips32.c \ - src/dsp/cost_mips_dsp_r2.c \ - src/dsp/cost_neon.$(NEON) \ - src/dsp/cost_sse2.c \ - src/dsp/enc.c \ - src/dsp/enc_mips32.c \ - src/dsp/enc_mips_dsp_r2.c \ - src/dsp/enc_msa.c \ - src/dsp/enc_neon.$(NEON) \ - src/dsp/enc_sse2.c \ - src/dsp/enc_sse41.c \ - src/dsp/lossless_enc.c \ - src/dsp/lossless_enc_mips32.c \ - src/dsp/lossless_enc_mips_dsp_r2.c \ - src/dsp/lossless_enc_msa.c \ - src/dsp/lossless_enc_neon.$(NEON) \ - src/dsp/lossless_enc_sse2.c \ - src/dsp/lossless_enc_sse41.c \ - src/dsp/ssim.c \ - src/dsp/ssim_sse2.c \ - -enc_srcs := \ - src/enc/alpha_enc.c \ - src/enc/analysis_enc.c \ - src/enc/backward_references_cost_enc.c \ - src/enc/backward_references_enc.c \ - src/enc/config_enc.c \ - src/enc/cost_enc.c \ - src/enc/filter_enc.c \ - src/enc/frame_enc.c \ - src/enc/histogram_enc.c \ - src/enc/iterator_enc.c \ - src/enc/near_lossless_enc.c \ - src/enc/picture_enc.c \ - src/enc/picture_csp_enc.c \ - src/enc/picture_psnr_enc.c \ - src/enc/picture_rescale_enc.c \ - src/enc/picture_tools_enc.c \ - src/enc/predictor_enc.c \ - src/enc/quant_enc.c \ - src/enc/syntax_enc.c \ - src/enc/token_enc.c \ - src/enc/tree_enc.c \ - src/enc/vp8l_enc.c \ - src/enc/webp_enc.c \ - -mux_srcs := \ - src/mux/anim_encode.c \ - src/mux/muxedit.c \ - src/mux/muxinternal.c \ - src/mux/muxread.c \ - -utils_dec_srcs := \ - src/utils/bit_reader_utils.c \ - src/utils/color_cache_utils.c \ - src/utils/filters_utils.c \ - src/utils/huffman_utils.c \ - src/utils/quant_levels_dec_utils.c \ - src/utils/random_utils.c \ - src/utils/rescaler_utils.c \ - src/utils/thread_utils.c \ - src/utils/utils.c \ - -utils_enc_srcs := \ - src/utils/bit_writer_utils.c \ - src/utils/huffman_encode_utils.c \ - src/utils/quant_levels_utils.c \ - -################################################################################ -# libwebpdecoder - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - $(dec_srcs) \ - $(dsp_dec_srcs) \ - $(utils_dec_srcs) \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/src - -# prefer arm over thumb mode for performance gains -LOCAL_ARM_MODE := arm - -ifeq ($(USE_CPUFEATURES),yes) - LOCAL_STATIC_LIBRARIES := cpufeatures -endif - -LOCAL_MODULE := webpdecoder_static - -include $(BUILD_STATIC_LIBRARY) - -ifeq ($(ENABLE_SHARED),1) -include $(CLEAR_VARS) - -LOCAL_WHOLE_STATIC_LIBRARIES := webpdecoder_static - -LOCAL_MODULE := webpdecoder - -include $(BUILD_SHARED_LIBRARY) -endif # ENABLE_SHARED=1 - -################################################################################ -# libwebp - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - $(dsp_enc_srcs) \ - $(enc_srcs) \ - $(utils_enc_srcs) \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/src - -# prefer arm over thumb mode for performance gains -LOCAL_ARM_MODE := arm - -LOCAL_WHOLE_STATIC_LIBRARIES := webpdecoder_static - -LOCAL_MODULE := webp - -ifeq ($(ENABLE_SHARED),1) - include $(BUILD_SHARED_LIBRARY) -else - include $(BUILD_STATIC_LIBRARY) -endif - -################################################################################ -# libwebpdemux - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(demux_srcs) - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/src - -# prefer arm over thumb mode for performance gains -LOCAL_ARM_MODE := arm - -LOCAL_MODULE := webpdemux - -ifeq ($(ENABLE_SHARED),1) - LOCAL_SHARED_LIBRARIES := webp - include $(BUILD_SHARED_LIBRARY) -else - LOCAL_STATIC_LIBRARIES := webp - include $(BUILD_STATIC_LIBRARY) -endif - -################################################################################ -# libwebpmux - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(mux_srcs) - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/src - -# prefer arm over thumb mode for performance gains -LOCAL_ARM_MODE := arm - -LOCAL_MODULE := webpmux - -ifeq ($(ENABLE_SHARED),1) - LOCAL_SHARED_LIBRARIES := webp - include $(BUILD_SHARED_LIBRARY) -else - LOCAL_STATIC_LIBRARIES := webp - include $(BUILD_STATIC_LIBRARY) -endif - -################################################################################ - -WEBP_SRC_PATH := $(LOCAL_PATH) -include $(WEBP_SRC_PATH)/imageio/Android.mk -include $(WEBP_SRC_PATH)/examples/Android.mk - -ifeq ($(USE_CPUFEATURES),yes) - $(call import-module,android/cpufeatures) -endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/CMakeLists.txt b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/CMakeLists.txt deleted file mode 100644 index 9503daac..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/CMakeLists.txt +++ /dev/null @@ -1,675 +0,0 @@ -cmake_minimum_required(VERSION 3.5) - -project(WebP C) - -# Options for coder / decoder executables. -option(WEBP_ENABLE_SIMD "Enable any SIMD optimization." ON) -option(WEBP_BUILD_ANIM_UTILS "Build animation utilities." ON) -option(WEBP_BUILD_CWEBP "Build the cwebp command line tool." ON) -option(WEBP_BUILD_DWEBP "Build the dwebp command line tool." ON) -option(WEBP_BUILD_GIF2WEBP "Build the gif2webp conversion tool." ON) -option(WEBP_BUILD_IMG2WEBP "Build the img2webp animation tool." ON) -option(WEBP_BUILD_VWEBP "Build the vwebp viewer tool." ON) -option(WEBP_BUILD_WEBPINFO "Build the webpinfo command line tool." ON) -option(WEBP_BUILD_WEBPMUX "Build the webpmux command line tool." ON) -option(WEBP_BUILD_EXTRAS "Build extras." ON) -option(WEBP_BUILD_WEBP_JS "Emscripten build of webp.js." OFF) -option(WEBP_NEAR_LOSSLESS "Enable near-lossless encoding" ON) -option(WEBP_ENABLE_SWAP_16BIT_CSP "Enable byte swap for 16 bit colorspaces." - OFF) -set(WEBP_BITTRACE "0" CACHE STRING "Bit trace mode (0=none, 1=bit, 2=bytes)") -set_property(CACHE WEBP_BITTRACE PROPERTY STRINGS 0 1 2) - -# Option needed for handling Unicode file names on Windows. -if(WIN32) - option(WEBP_UNICODE "Build Unicode executables." ON) -endif() - -if(WEBP_BUILD_WEBP_JS) - set(WEBP_ENABLE_SIMD OFF) - set(WEBP_BUILD_ANIM_UTILS OFF) - set(WEBP_BUILD_CWEBP OFF) - set(WEBP_BUILD_DWEBP OFF) - set(WEBP_BUILD_GIF2WEBP OFF) - set(WEBP_BUILD_IMG2WEBP OFF) - set(WEBP_BUILD_VWEBP OFF) - set(WEBP_BUILD_WEBPINFO OFF) - set(WEBP_BUILD_WEBPMUX OFF) - set(WEBP_BUILD_EXTRAS OFF) -endif() - -set(WEBP_DEP_LIBRARIES) -set(WEBP_DEP_INCLUDE_DIRS) - -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE "Release" - CACHE "Build type: Release, Debug, MinSizeRel or RelWithDebInfo" STRING - FORCE) -endif() - -# Include dependencies. -include(cmake/deps.cmake) -include(GNUInstallDirs) - -# ############################################################################## -# Options. -if(WEBP_ENABLE_SWAP_16BIT_CSP) - add_definitions(-DWEBP_SWAP_16BIT_CSP=1) -endif() - -if(NOT WEBP_BITTRACE STREQUAL "0") - add_definitions(-DBITTRACE=${WEBP_BITTRACE}) -endif() - -if(WEBP_UNICODE) - # Windows recommends setting both UNICODE and _UNICODE. - add_definitions(-DUNICODE -D_UNICODE) -endif() - -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix "\$\{prefix\}") -set(libdir "\$\{prefix\}/lib") -set(includedir "\$\{prefix\}/include") -set(PTHREAD_LIBS ${CMAKE_THREAD_LIBS_INIT}) -set(INSTALLED_LIBRARIES) - -# ############################################################################## -# Android only. -if(ANDROID) - include_directories(${ANDROID_NDK}/sources/android/cpufeatures) - add_library(cpufeatures STATIC - ${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c) - list(APPEND INSTALLED_LIBRARIES cpufeatures) - target_link_libraries(cpufeatures dl) - set(WEBP_DEP_LIBRARIES ${WEBP_DEP_LIBRARIES} cpufeatures) - set(WEBP_DEP_INCLUDE_DIRS ${WEBP_DEP_INCLUDE_DIRS} - ${ANDROID_NDK}/sources/android/cpufeatures) - add_definitions(-DHAVE_CPU_FEATURES_H=1) - set(HAVE_CPU_FEATURES_H 1) -else() - set(HAVE_CPU_FEATURES_H 0) -endif() - -function(configure_pkg_config FILE) - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.in" - "${CMAKE_CURRENT_BINARY_DIR}/${FILE}") - - if(HAVE_MATH_LIBRARY) - # MSVC doesn't have libm - file(READ ${CMAKE_CURRENT_BINARY_DIR}/${FILE} data) - string(REPLACE "-lm" "" data ${data}) - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${FILE} ${data}) - endif() - - install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/${FILE}" - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig - ) -endfunction() - -# ############################################################################## -# WebP source files. Read the Makefile.am to get the source files. - -# We expect the Makefiles to define the sources as defined in the first regex. -# E.g.: libimagedec_la_SOURCES = image_dec.c image_dec.h -function(parse_Makefile_am FOLDER VAR SRC_REGEX) - file(READ ${FOLDER}/Makefile.am MAKEFILE_AM) - string(REGEX MATCHALL - "${SRC_REGEX}_SOURCES[ ]*\\+?=[ ]+[0-9a-z\\._ ]*" - FILES_PER_LINE - ${MAKEFILE_AM}) - set(SRCS ${${VAR}}) - foreach(FILES ${FILES_PER_LINE}) - string(FIND ${FILES} "=" OFFSET) - math(EXPR OFFSET "${OFFSET} + 2") - string(SUBSTRING ${FILES} - ${OFFSET} - -1 - FILES) - if(FILES) - string(REGEX MATCHALL - "[0-9a-z\\._]+" - FILES - ${FILES}) - foreach(FILE ${FILES}) - list(APPEND SRCS ${FOLDER}/${FILE}) - endforeach() - endif() - endforeach() - set(${VAR} ${SRCS} PARENT_SCOPE) -endfunction() - -set(WEBP_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) -parse_makefile_am(${WEBP_SRC_DIR}/dec "WEBP_DEC_SRCS" "") -parse_makefile_am(${WEBP_SRC_DIR}/demux "WEBP_DEMUX_SRCS" "") -parse_makefile_am(${WEBP_SRC_DIR}/dsp "WEBP_DSP_COMMON_SRCS" "COMMON") -parse_makefile_am(${WEBP_SRC_DIR}/dsp "WEBP_DSP_ENC_SRCS" "ENC") -parse_makefile_am(${WEBP_SRC_DIR}/dsp "WEBP_DSP_ENC_SRCS" "dsp_[^ ]*") -parse_makefile_am(${WEBP_SRC_DIR}/dsp "WEBP_DSP_DEC_SRCS" "decode_[^ ]*") -parse_makefile_am(${WEBP_SRC_DIR}/enc "WEBP_ENC_SRCS" "") -parse_makefile_am(${WEBP_SRC_DIR}/utils "WEBP_UTILS_COMMON_SRCS" "COMMON") -parse_makefile_am(${WEBP_SRC_DIR}/utils "WEBP_UTILS_ENC_SRCS" "ENC") -parse_makefile_am(${WEBP_SRC_DIR}/utils "WEBP_UTILS_DEC_SRCS" "decode_[^ ]*") - -# Remove the files specific to SIMD we don't use. -foreach(FILE ${WEBP_SIMD_FILES_NOT_TO_INCLUDE}) - list(REMOVE_ITEM WEBP_DSP_ENC_SRCS ${FILE}) - list(REMOVE_ITEM WEBP_DSP_DEC_SRCS ${FILE}) -endforeach() - -# Generate the config.h file. -configure_file(${CMAKE_CURRENT_LIST_DIR}/cmake/config.h.in - ${CMAKE_CURRENT_BINARY_DIR}/src/webp/config.h) -add_definitions(-DHAVE_CONFIG_H) - -# ############################################################################## -# Build the webpdecoder library. -if(MSVC) - # avoid security warnings for e.g., fopen() used in the examples. - add_definitions(-D_CRT_SECURE_NO_WARNINGS) -else() - add_definitions(-Wall) -endif() -include_directories(${WEBP_DEP_INCLUDE_DIRS}) -add_library(webpdecode OBJECT ${WEBP_DEC_SRCS}) -target_include_directories(webpdecode - PRIVATE ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}) -add_library(webpdspdecode OBJECT ${WEBP_DSP_COMMON_SRCS} ${WEBP_DSP_DEC_SRCS}) -target_include_directories(webpdspdecode - PRIVATE ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}) -add_library(webputilsdecode - OBJECT - ${WEBP_UTILS_COMMON_SRCS} - ${WEBP_UTILS_DEC_SRCS}) -target_include_directories(webputilsdecode - PRIVATE ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}) -add_library(webpdecoder - $ - $ - $) -target_link_libraries(webpdecoder ${WEBP_DEP_LIBRARIES}) -target_include_directories( - webpdecoder - PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} - INTERFACE $ - $) -set_target_properties( - webpdecoder - PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/webp/decode.h;\ -${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h") - -configure_pkg_config("src/libwebpdecoder.pc") - -# Build the webp library. -add_library(webpencode OBJECT ${WEBP_ENC_SRCS}) -target_include_directories(webpencode - PRIVATE ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}) -add_library(webpdsp - OBJECT - ${WEBP_DSP_COMMON_SRCS} - ${WEBP_DSP_DEC_SRCS} - ${WEBP_DSP_ENC_SRCS}) -target_include_directories(webpdsp - PRIVATE ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}) -add_library(webputils - OBJECT - ${WEBP_UTILS_COMMON_SRCS} - ${WEBP_UTILS_DEC_SRCS} - ${WEBP_UTILS_ENC_SRCS}) -target_include_directories(webputils - PRIVATE ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}) -add_library(webp - $ - $ - $ - $) -target_link_libraries(webp ${WEBP_DEP_LIBRARIES}) -target_include_directories(webp - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR} - PUBLIC $) -set_target_properties( - webp - PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/webp/decode.h;\ -${CMAKE_CURRENT_SOURCE_DIR}/src/webp/encode.h;\ -${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h") - -# Make sure the OBJECT libraries are built with position independent code (it is -# not ON by default). -set_target_properties(webpdecode - webpdspdecode - webputilsdecode - webpencode - webpdsp - webputils - PROPERTIES POSITION_INDEPENDENT_CODE ON) -configure_pkg_config("src/libwebp.pc") - -# Build the webp demux library. -add_library(webpdemux ${WEBP_DEMUX_SRCS}) -target_link_libraries(webpdemux webp) -target_include_directories(webpdemux - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR} - PUBLIC $) -set_target_properties( - webpdemux - PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/src/webp/decode.h;\ -${CMAKE_CURRENT_SOURCE_DIR}/src/webp/demux.h;\ -${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux_types.h;\ -${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h") - -configure_pkg_config("src/demux/libwebpdemux.pc") - -# Set the version numbers. -function(parse_version FILE NAME VAR) - file(READ ${CMAKE_CURRENT_SOURCE_DIR}/src/${FILE} SOURCE_FILE) - string(REGEX MATCH - "${NAME}_la_LDFLAGS[^\n]* -version-info [0-9:]+" - TMP - ${SOURCE_FILE}) - string(REGEX MATCH - "[0-9:]+" - TMP - ${TMP}) - string(REGEX - REPLACE ":" - "." - VERSION - ${TMP}) - set(${VAR} "${VERSION}" PARENT_SCOPE) -endfunction() -parse_version(Makefile.am webp WEBP_WEBP_SOVERSION) -set_target_properties(webp - PROPERTIES VERSION - ${PACKAGE_VERSION} - SOVERSION - ${WEBP_WEBP_SOVERSION}) -parse_version(Makefile.am webpdecoder WEBP_DECODER_SOVERSION) -set_target_properties(webpdecoder - PROPERTIES VERSION - ${PACKAGE_VERSION} - SOVERSION - ${WEBP_DECODER_SOVERSION}) -parse_version(demux/Makefile.am webpdemux WEBP_DEMUX_SOVERSION) -set_target_properties(webpdemux - PROPERTIES VERSION - ${PACKAGE_VERSION} - SOVERSION - ${WEBP_DEMUX_SOVERSION}) -file(READ ${CMAKE_CURRENT_SOURCE_DIR}/configure.ac CONFIGURE_FILE) -string(REGEX MATCH - "AC_INIT\\([^\n]*\\[[0-9\\.]+\\]" - TMP - ${CONFIGURE_FILE}) -string(REGEX MATCH - "[0-9\\.]+" - PROJECT_VERSION - ${TMP}) - -# Define the libraries to install. -list(APPEND INSTALLED_LIBRARIES webpdecoder webp webpdemux) - -# Deal with SIMD. Change the compile flags for SIMD files we use. -list(LENGTH WEBP_SIMD_FILES_TO_INCLUDE WEBP_SIMD_FILES_TO_INCLUDE_LENGTH) -math(EXPR WEBP_SIMD_FILES_TO_INCLUDE_RANGE - "${WEBP_SIMD_FILES_TO_INCLUDE_LENGTH}-1") - -foreach(I_FILE RANGE ${WEBP_SIMD_FILES_TO_INCLUDE_RANGE}) - list(GET WEBP_SIMD_FILES_TO_INCLUDE ${I_FILE} FILE) - list(GET WEBP_SIMD_FLAGS_TO_INCLUDE ${I_FILE} SIMD_COMPILE_FLAG) - set_source_files_properties(${FILE} - PROPERTIES - COMPILE_FLAGS - ${SIMD_COMPILE_FLAG}) -endforeach() - -if(WEBP_BUILD_GIF2WEBP AND NOT GIF_FOUND) - set(WEBP_BUILD_GIF2WEBP OFF) -endif() - -if(WEBP_BUILD_ANIM_UTILS AND NOT GIF_FOUND) - set(WEBP_BUILD_ANIM_UTILS OFF) -endif() - -# Build the executables if asked for. -if(WEBP_BUILD_ANIM_UTILS - OR WEBP_BUILD_CWEBP - OR WEBP_BUILD_DWEBP - OR WEBP_BUILD_GIF2WEBP - OR WEBP_BUILD_IMG2WEBP - OR WEBP_BUILD_VWEBP) - # Example utility library. - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "EXAMPLEUTIL_SRCS" - "example_util_[^ ]*") - list(APPEND EXAMPLEUTIL_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/examples/stopwatch.h) - add_library(exampleutil STATIC ${EXAMPLEUTIL_SRCS}) - target_link_libraries(exampleutil imageioutil) - target_include_directories( - exampleutil - PUBLIC $) - - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEIOUTILS_SRCS" - "imageio_util_[^ ]*") - add_library(imageioutil STATIC ${IMAGEIOUTILS_SRCS}) - target_link_libraries(imageioutil webp) - - # Image-decoding utility library. - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEDEC_SRCS" - "imagedec_[^ ]*") - add_library(imagedec STATIC ${IMAGEDEC_SRCS}) - target_link_libraries(imagedec - imageioutil - webpdemux - webp - ${WEBP_DEP_IMG_LIBRARIES}) - - # Image-encoding utility library. - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEENC_SRCS" - "imageenc_[^ ]*") - add_library(imageenc STATIC ${IMAGEENC_SRCS}) - target_link_libraries(imageenc imageioutil webp) - - set_property(TARGET exampleutil - imageioutil - imagedec - imageenc - PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_CURRENT_BINARY_DIR}/src) -endif() - -if(WEBP_BUILD_DWEBP) - # dwebp - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "DWEBP_SRCS" "dwebp") - add_executable(dwebp ${DWEBP_SRCS}) - target_link_libraries(dwebp exampleutil imagedec imageenc) - target_include_directories(dwebp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) - install(TARGETS dwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -endif() - -if(WEBP_BUILD_CWEBP) - # cwebp - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "CWEBP_SRCS" "cwebp") - add_executable(cwebp ${CWEBP_SRCS}) - target_link_libraries(cwebp exampleutil imagedec webp) - target_include_directories(cwebp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) - install(TARGETS cwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -endif() - -if(WEBP_BUILD_GIF2WEBP OR WEBP_BUILD_IMG2WEBP) - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/src/mux "WEBP_MUX_SRCS" "") - add_library(libwebpmux ${WEBP_MUX_SRCS}) - target_link_libraries(libwebpmux webp) - target_include_directories(libwebpmux - PRIVATE ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}) - parse_version(mux/Makefile.am webpmux WEBP_MUX_SOVERSION) - set_target_properties(libwebpmux - PROPERTIES VERSION - ${PACKAGE_VERSION} - SOVERSION - ${WEBP_MUX_SOVERSION}) - set_target_properties(libwebpmux - PROPERTIES PUBLIC_HEADER - "${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux.h;\ -${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux_types.h;\ -${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h;") - set_target_properties(libwebpmux PROPERTIES OUTPUT_NAME webpmux) - list(APPEND INSTALLED_LIBRARIES libwebpmux) - configure_pkg_config("src/mux/libwebpmux.pc") -endif() - -if(WEBP_BUILD_GIF2WEBP) - # gif2webp - include_directories(${WEBP_DEP_GIF_INCLUDE_DIRS}) - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "GIF2WEBP_SRCS" - "gif2webp") - add_executable(gif2webp ${GIF2WEBP_SRCS}) - target_link_libraries(gif2webp - exampleutil - imageioutil - webp - libwebpmux - ${WEBP_DEP_GIF_LIBRARIES}) - target_include_directories(gif2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) - install(TARGETS gif2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -endif() - -if(WEBP_BUILD_IMG2WEBP) - # img2webp - include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS}) - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "IMG2WEBP_SRCS" - "img2webp") - add_executable(img2webp ${IMG2WEBP_SRCS}) - target_link_libraries(img2webp - exampleutil - imagedec - imageioutil - webp - libwebpmux) - target_include_directories(img2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) - install(TARGETS img2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -endif() - -if(WEBP_BUILD_VWEBP) - # vwebp - find_package(GLUT) - if(GLUT_FOUND) - include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS}) - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "VWEBP_SRCS" "vwebp") - add_executable(vwebp ${VWEBP_SRCS}) - target_link_libraries(vwebp - ${OPENGL_LIBRARIES} - exampleutil - ${GLUT_glut_LIBRARY} - imageioutil - webp - webpdemux) - target_include_directories(vwebp - PRIVATE ${GLUT_INCLUDE_DIR} - ${CMAKE_CURRENT_BINARY_DIR}/src - ${OPENGL_INCLUDE_DIR}) - install(TARGETS vwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - check_c_compiler_flag("-Wno-deprecated-declarations" HAS_NO_DEPRECATED) - if(HAS_NO_DEPRECATED) - target_compile_options(vwebp PRIVATE "-Wno-deprecated-declarations") - endif() - endif() - endif() -endif() - -if(WEBP_BUILD_WEBPINFO) - # webpinfo - include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS}) - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "WEBPINFO_SRCS" - "webpinfo") - add_executable(webpinfo ${WEBPINFO_SRCS}) - target_link_libraries(webpinfo exampleutil imageioutil) - target_include_directories(webpinfo PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) - install(TARGETS webpinfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -endif() - -if(WEBP_BUILD_WEBPMUX) - # webpmux - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "WEBPMUX_SRCS" - "webpmux") - add_executable(webpmux ${WEBPMUX_SRCS}) - target_link_libraries(webpmux exampleutil imageioutil libwebpmux webp) - target_include_directories(webpmux PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) - install(TARGETS webpmux RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -endif() - -if(WEBP_BUILD_EXTRAS) - set(EXTRAS_MAKEFILE "${CMAKE_CURRENT_SOURCE_DIR}/extras") - parse_makefile_am(${EXTRAS_MAKEFILE} "WEBP_EXTRAS_SRCS" "libwebpextras_la") - parse_makefile_am(${EXTRAS_MAKEFILE} "GET_DISTO_SRCS" "get_disto") - parse_makefile_am(${EXTRAS_MAKEFILE} "WEBP_QUALITY_SRCS" "webp_quality") - parse_makefile_am(${EXTRAS_MAKEFILE} "VWEBP_SDL_SRCS" "vwebp_sdl") - - # get_disto - add_executable(get_disto ${GET_DISTO_SRCS}) - target_link_libraries(get_disto imagedec) - target_include_directories(get_disto - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_CURRENT_BINARY_DIR}/src) - install(TARGETS get_disto RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - # webp_quality - add_executable(webp_quality ${WEBP_QUALITY_SRCS} ${WEBP_EXTRAS_SRCS}) - target_link_libraries(webp_quality exampleutil imagedec) - target_include_directories(webp_quality - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR}) - install(TARGETS webp_quality RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - - # vwebp_sdl - find_package(SDL) - if(SDL_FOUND) - add_executable(vwebp_sdl ${VWEBP_SDL_SRCS}) - target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp) - target_include_directories(vwebp_sdl - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_BINARY_DIR}/src - ${SDL_INCLUDE_DIR}) - set(WEBP_HAVE_SDL 1) - target_compile_definitions(vwebp_sdl PUBLIC WEBP_HAVE_SDL) - install(TARGETS vwebp_sdl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() -endif() - -if(WEBP_BUILD_WEBP_JS) - # JavaScript version - add_executable(webp_js ${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c) - target_link_libraries(webp_js webpdecoder SDL) - target_include_directories(webp_js PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) - set(WEBP_HAVE_SDL 1) - set_target_properties( - webp_js - PROPERTIES LINK_FLAGS - "-s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \ - -s EXTRA_EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'") - set_target_properties(webp_js PROPERTIES OUTPUT_NAME webp) - target_compile_definitions(webp_js PUBLIC EMSCRIPTEN WEBP_HAVE_SDL) - - # WASM version - add_executable(webp_wasm ${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c) - target_link_libraries(webp_wasm webpdecoder SDL) - target_include_directories(webp_wasm PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) - set_target_properties( - webp_wasm - PROPERTIES LINK_FLAGS "-s WASM=1 \ - -s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \ - -s EXTRA_EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'") - target_compile_definitions(webp_wasm PUBLIC EMSCRIPTEN WEBP_HAVE_SDL) - - target_compile_definitions(webpdspdecode PUBLIC EMSCRIPTEN) -endif() - -if(WEBP_BUILD_ANIM_UTILS) - # anim_diff - include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS} ${WEBP_DEP_GIF_INCLUDE_DIRS}) - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "ANIM_DIFF_SRCS" - "anim_diff") - add_executable(anim_diff ${ANIM_DIFF_SRCS}) - target_link_libraries(anim_diff - exampleutil - imagedec - imageenc - imageioutil - webp - libwebpmux - webpdemux - ${WEBP_DEP_GIF_LIBRARIES}) - target_include_directories(anim_diff PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) - - # anim_dump - include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS} ${WEBP_DEP_GIF_INCLUDE_DIRS}) - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "ANIM_DUMP_SRCS" - "anim_dump") - add_executable(anim_dump ${ANIM_DUMP_SRCS}) - target_link_libraries(anim_dump - exampleutil - imagedec - imageenc - imageioutil - webp - libwebpmux - webpdemux - ${WEBP_DEP_GIF_LIBRARIES}) - target_include_directories(anim_dump PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) -endif() - -# Install the different headers and libraries. -include(GNUInstallDirs) -install(TARGETS ${INSTALLED_LIBRARIES} - EXPORT ${PROJECT_NAME}Targets - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/webp - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -set(ConfigPackageLocation ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake/) -install(EXPORT ${PROJECT_NAME}Targets - NAMESPACE ${PROJECT_NAME}:: - DESTINATION ${ConfigPackageLocation}) - -# Create the CMake version file. -include(CMakePackageConfigHelpers) -write_basic_package_version_file( - "${CMAKE_CURRENT_BINARY_DIR}/WebPConfigVersion.cmake" - VERSION ${PACKAGE_VERSION} - COMPATIBILITY AnyNewerVersion) - -# Create the Config file. -include(CMakePackageConfigHelpers) -configure_package_config_file( - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/WebPConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/WebPConfig.cmake - INSTALL_DESTINATION - ${ConfigPackageLocation}) - -# Install the generated CMake files. -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/WebPConfigVersion.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/WebPConfig.cmake" - DESTINATION ${ConfigPackageLocation}) - -# Install the man pages. -set(MAN_PAGES - cwebp.1 - dwebp.1 - gif2webp.1 - img2webp.1 - vwebp.1 - webpmux.1 - webpinfo.1) -set(EXEC_BUILDS - "CWEBP" - "DWEBP" - "GIF2WEBP" - "IMG2WEBP" - "VWEBP" - "WEBPMUX" - "WEBPINFO") -list(LENGTH MAN_PAGES MAN_PAGES_LENGTH) -math(EXPR MAN_PAGES_RANGE "${MAN_PAGES_LENGTH} - 1") - -foreach(I_MAN RANGE ${MAN_PAGES_RANGE}) - list(GET EXEC_BUILDS ${I_MAN} EXEC_BUILD) - if(WEBP_BUILD_${EXEC_BUILD}) - list(GET MAN_PAGES ${I_MAN} MAN_PAGE) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/man/${MAN_PAGE} - DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 - COMPONENT doc) - endif() -endforeach() diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/COPYING b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/COPYING deleted file mode 100644 index 7a6f9954..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/COPYING +++ /dev/null @@ -1,30 +0,0 @@ -Copyright (c) 2010, Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Carthage/Build b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Carthage/Build deleted file mode 120000 index 76f9ba24..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Carthage/Build +++ /dev/null @@ -1 +0,0 @@ -../../../../Carthage/Build \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/ChangeLog b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/ChangeLog deleted file mode 100644 index 0a286fc5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/ChangeLog +++ /dev/null @@ -1,4054 +0,0 @@ -7f006436 Makefile.vc: fix webp_quality.exe link -c074c653 update NEWS -30f09551 bump version to 1.1.0 -a76694a1 update AUTHORS -6e3ef7b3 extras: fix WEBP_SWAP_16BIT_CSP check -47178dbd extras: add WebPUnmultiplyARGB() convenience function -22cbae33 idec_dec: fix 0 offset of NULL pointer -290dd0b4 muxread: fix 0 offset of NULL pointer -0df474ac Merge "lossless_(enc_|)sse2: avoid offsetting a NULL pointer" -c6b75a19 lossless_(enc_|)sse2: avoid offsetting a NULL pointer -295e5e38 fix UBSAN warning -e2575e05 DC8_NEON,aarch64: use vaddv -b0e09e34 dec_neon: Fix build failure under some toolchains -cf0e903c dsp/lossless: Fix non gcc ARM builds -bb7bc40b Remove ubsan errors. -78881b76 CMake: fix GLUT library link -9f750f7a cmake: fix BUILD_SHARED_LIBS build on mac -17850e74 libwebp: Remove char-subscripts warning in pnmdec.c -2fa2552d Merge "Expose WebPMalloc() in addition to WebPFree()" -a4df4aae Expose WebPMalloc() in addition to WebPFree() -853ea3d8 imageio/tiff: Return error before allocating bad tile size -af650c0b Fix a Wxor-used-as-pow false positive -601ef17c libwebp.py: update to swig 3.0.12 -0e48d889 bugfix: last alpha rows were incorrectly decoded -24d2ccb4 webp: Fix imageio ReadPNM() TUPLTYPE -fab8f9cf cosmetics: normalize '*' association -94138e0e update .gitignore -0fe1a89d update ChangeLog (tag: v1.0.3-rc1, tag: v1.0.3) -2ad0916d update NEWS -1287362b bump version to 1.0.3 -7b968cc2 update AUTHORS -9d6988f4 Fix the oscillating prediction problem at low quality -312f74d0 makefile.unix: allow *_LIBS to be overridden w/EXTRA_LIBS -92dbf237 filters_sse2,cosmetics: shorten some long lines -a277d197 filters_sse2.c: quiet integer sanitizer warnings -804540f1 Fix cpufeatures in CMake. -bf00c15b Add CMake option for bittrace. -a788b498 filters_sse2.c: quiet integer sanitizer warnings -e6a92c5e filters.c: quiet integer sanitizer warnings -ec1cc40a lossless.c: remove U32 -> S8 conversion warnings -1106478f remove conversion U32 -> S8 warnings -812a6b49 lossless_enc: fix some conversion warning -4627c1c9 lossless_enc,TransformColorBlue: quiet uint32_t conv warning -c84673a6 lossless_enc_sse{2,41}: quiet signed conv warnings -776a7757 dec_sse2: quiet signed conv warnings -bd39c063 Merge "thread_utils: release mutex before signaling" -0550576f Merge "(alpha_processing,enc}_sse2: quiet signed conv warnings" -6682f2c4 thread_utils: release mutex before signaling -e78dea75 (alpha_processing,enc}_sse2: quiet signed conv warnings -9acf18ba iosbuild.sh: add WebP{Demux,Mux}.framework -b9be7e65 vwebp: remove the -fit option (and make it default) -1394a2bb Merge "README.webp_js: update Emscripten.cmake note" -dd3e7f8a README.webp_js: update Emscripten.cmake note -32cf8801 predictor_enc,GetBestGreenRedToBlue: quiet implicit conv warnings -e1c8acb5 Merge "vwebp: add a -fit option" -cbd23dd5 vwebp: add a -fit option -2e672351 bit_writer_utils,Flush: quiet implicit conversion warnings -1326988d swig: update libwebp_python_wrap.c -0e7f8548 update generated swig files -17ed1438 Merge "PutLE{16,24}: quiet implicit conversion warnings" -24686538 PutLE{16,24}: quiet implicit conversion warnings -153bb3a0 fix some clang-7 warnings: -ab2dc893 Rescaler: fix rounding error -aa65f89a HistogramCombineStochastic: fix free of uninit value -af0bac64 Merge "encode.h: mention 'exact' default in WebPEncodeLossless*" -6d2e11ec encode.h: mention 'exact' default in WebPEncodeLossless* -8c3f04fe AndroidCPUInfo: reorder terms in conditional -fcfd9c71 BitTrace: if BITTRACE is > 0, record and print syntax bits used -067031ea Speedups for unused Huffman groups. -01ac46ba libwebp: Display "libjpeg error:" in imageio/jpegdec -d9a662e1 WebPRescalerGetScaledDimensions: round scaled dimension up -62eb3f08 libwebp: Fix missing '{' in README -e05f785a Merge "unicode,INIT_WARGV: add missing cast" -63c9a69f tag the VP8LHashPix() function for potential uint roll-over -2b7214ab unicode,INIT_WARGV: add missing cast -bf424b46 tag the GetPixPairHash64() function for potential uint roll-over -7d05d6ca Have the color cache computation be u32-bit only. -6bcf8769 Remove BINARYEN_METHOD in wasm settings. -2b98df90 update ChangeLog (tag: v1.0.2-rc1, tag: v1.0.2) -61e372b7 update NEWS -7ae658a0 bump version to 1.0.2 -51c4907d update AUTHORS -666bd6c6 man/cwebp.1: refine near-lossless text -561cdce5 Clarify the doc about GetFeatures. -aec2cf02 near_lossless: fix fuzzing-detected integer overflow -928a75de webp: Fix VP8LBitWriterClone() bug -5173d4ee neon IsFlat -5b081219 IsFlat: inline when possible -381b7b54 IsFlat: use int for thresh -6ed15ea1 fix unprobable leak in webp_sdl.c -22bbb24e Merge "IsFlat: return int" -8b3fb238 Merge tag 'v1.0.1' -f435de95 IsFlat: return int -41521aed utils.h: only define WEBP_NEED_LOG_TABLE_8BIT when needed -9f4d4a3f neon: GetResidualCost -0fd7514b neon: SetResidualCoeffs -f95a996c Simpler histogram clustering. -e85d3313 update ChangeLog (tag: v1.0.1-rc2, tag: v1.0.1) -fa8210e4 Fix pair update in stochastic entropy merging. -fd198f73 add codereview.settings -825389ac README.mux: add a reference to the AnimDecoder API -3be698c3 CMake: fix webp_js compilation -485ff86f Fix pair update in stochastic entropy merging. -4cd0582d CMake: fix webp_js compilation -4cbb4caf update NEWS -f5a5918d bump version to 1.0.1 -d61385db Speed-up: Make sure we only initialize histograms when needed. -6752904b Speed-up: Make sure we only initialize histograms when needed. -0c570316 update AUTHORS -301a2dda img2webp: add help note about arguments from a file -f0abab92 Speedups for empty histograms. -f2dfd925 Split HistogramAdd to only have the high level logic in C. -06b7bc7d Fix compilation on windows and clang-cl+ninja. -b6284d82 img2webp: add help note about arguments from a file -decf6f6b Speedups for empty histograms. -dea3e899 Split HistogramAdd to only have the high level logic in C. -632798ae Merge "Fix compilation on windows and clang-cl+ninja." -dc1a9518 Merge "libwebp: Unicode command tools on Windows" -9cf9841b libwebp: Unicode command tools on Windows -98179495 remove some minor TODOs -a376e7b9 Fix compilation on windows and clang-cl+ninja. -cbf82cc0 Remove AVX2 files. -5030e902 Merge "TIFF decoder: remove unused KINV definition" -ac543311 Remove a few more useless #defines -123d3306 TIFF decoder: remove unused KINV definition -ef1094b0 Merge "- install pkg-config files during the CMake build" -b911fbc9 libwebp: Remove duplicate GIFDisplayError in anim_util -eee00b66 - install pkg-config files during the CMake build -ac3ec8c9 Merge "Clean-up the common sources in dsp." -3e13da7b Clean-up the common sources in dsp. -5c395f1d libwebp: cmake-format all -e7a69729 libwebp: Add extras targets in CMakeLists.txt -e52485d6 libwebp: Rename macros in webpmux.c -92dc0f09 clean-up MakeInputImageCopy() -39952de2 VP8IteratorImport: add missing 'const' -382af7a2 clean-up WebPBlendAlpha -14d020f6 libwebp: Use ExUtilGet*() in anim_diff -0d92ff25 libwebp: remove useless variable in gif2webp -556cb1b4 Merge "CMake: Set WEBP_BUILD_GIF2WEBP to off" -da26ee49 CMake: Set WEBP_BUILD_GIF2WEBP to off -b2a867c0 cwebp: Don't premultiply during -resize if -exact -637141bc pngdec: fix build w/libpng < 1.4.x -bc5092b1 pngdec: set memory functions -50d8345a Fix CMake math library. -6aa3e8aa Fix math library on Visual Studio. -d71df4e2 Fix math library finding in CMake. -de08d727 cosmetics: normalize include guard comment -009562b4 vwebp: Fix bug when Dispose then NoBlend frames -423f2579 Fix up CMake to create targets. -907208f9 Wait for all threads to be done in DecodeRemaining. -4649b3c4 vwebp: Add background color display option -78ad57a3 Fix bad glClearColor parameters -da96d8d9 Allow for a non-initialized alpha decompressor in DoRemap. -2563db47 fix rescaling rounding inaccuracy -211f37ee fix endian problems in pattern copy -5f0f5c07 Make sure partition #0 is read before VP8 data in IDecode. -de98732b fix GetColorf() bug -4338cd36 misc fixes in libwebpmux -e00af13e fix signatures after a9ceda7ff1 -a9ceda7f Speed-up chunk list operations. -2281bbf6 Merge "Better handling of bogus Huffman codes." -39cb9aad Better handling of bogus Huffman codes. -89cc9d37 Merge "fix read-overflow while parsing VP8X chunk" -95fd6507 fix read-overflow while parsing VP8X chunk -9e729fe1 Fix VP8IoTeardownHook being called twice on worker sync failure -29fb8562 Merge "muxread,anmf: fail on multiple image chunks" -eb82ce76 muxread,anmf: fail on multiple image chunks -1344a2e9 fix alpha-filtering crash when image width is larger than radius -be738c6d muxread,ChunkVerifyAndAssign: validate chunk_size -2c70ad76 muxread,CreateInternal: fix riff size checks -569001f1 Fix for thread race heap-use-after-free -c56a02d9 Android.mk: use LOCAL_EXPORT_C_INCLUDES w/public libs -15795596 CMakeLists.txt,cosmetics: normalize if() formatting -1a44c233 Merge "cmake: add support for webpmux" -e9569ad7 Merge "configure,*am,cosmetics: s/WANT_/BUILD_/" -35c7de6f cmake: add support for webpmux -0f25e61c WebpToSDL(): fix the return value in case of error -5d8985de configure,*am,cosmetics: s/WANT_/BUILD_/ -895fd28f Merge "man/Makefile.am: add img2webp.1" -5cf3e2af man/Makefile.am: add img2webp.1 -2a9de5b9 Add build rules for anim_diff & anim_dump utils. -71ed73cf fix invalid check for buffer size -af0e4fbb gif2webp: fix transcode of loop count=65535 -dce5d764 Limit memory allocation when reading invalid Huffman codes. -f9df0081 Merge "cmake: quiet glut deprecation warnings on OS X" -dc39b16f webpmux.1: correct grammar -c7aa1264 cwebp.c: fix a missing \n -53aa51e9 Merge tag 'v1.0.0' -698b8844 update ChangeLog (tag: v1.0.0) -8d510751 webp-container-spec: correct frame duration=0 note -e6b2164e vwebp: Copy Chrome's behavior w/frame duration == 0 -094b3b28 cmake: quiet glut deprecation warnings on OS X -71c39a06 webp-container-spec: correct frame duration=0 note -fd3d5756 vwebp: Copy Chrome's behavior w/frame duration == 0 -b0c966fb Build vwebp from CMake. -d20b7707 update ChangeLog (tag: v1.0.0-rc3) -0d5fad46 add WEBP_DSP_INIT / WEBP_DSP_INIT_FUNC -d77bf512 add WEBP_DSP_INIT / WEBP_DSP_INIT_FUNC -c1cb86af fix 16b overflow in SSE2 -e577feb7 makefile.unix: add DEBUG flag for compiling w/ debug-symbol -99be34b3 cwebp,get_disto: fix bpp output -e122e511 cwebp,get_disto: fix bpp output -f5565ca8 cmake: Make sure we use near-lossless by default. -d898dc14 fix bug in WebPImport565: alpha value was not set -1c8f358d Fix CMake with WASM. -a0215fb7 webp_js: fix webp_js demo html -882784b0 update ChangeLog (tag: v1.0.0-rc2) -2f930e08 Revert "Use proper targets for CMake." -8165e8fb Use proper targets for CMake. -3f157dd5 Remove some very hard TODOs. -abb47760 Merge "Use proper targets for CMake." -cd758a17 {de,}mux/Makefile.am: add missing headers -e155dda0 Use proper targets for CMake. -b892b8ba makefile.unix,dist: use ascii for text output -64a57d05 add -version option to anim_dump,anim_diff and img2webp -994be82d Merge "Remove some very hard TODOs." -4033e1d7 Remove some very hard TODOs. -fc1b8e3a webp_js: fix webp_js demo html -15aa48d9 update ChangeLog (tag: v1.0.0-rc1) -e607dabc update AUTHORS -38410c08 [CFI] Remove function pointer casts -978eec25 [CFI] Remove function pointer casts -c57b2736 bump version to 1.0.0 -cba28853 update NEWS -c909d531 Merge "remove some deprecation warning on MacOSX" -217443c7 remove some deprecation warning on MacOSX -b672bdfa configure: quiet glut deprecation warnings on OS X -daa9fcaf configure: use sdl-config if available -dd174cae Merge "imagedec: support metadata reading for WebP image decoding" -641cedcc imagedec: support metadata reading for WebP image decoding -065b2ce1 anim_diff: add a couple missing newlines in Help() -c4cc1147 Merge "gif2webp: force low duration frames to 100ms" -09333097 gif2webp: force low duration frames to 100ms -e03f0ec3 sharp_yuv: use 14b fixed-point precision for gamma -b2db361c image_enc,WebPWritePNG: move locals after setjmp -74e82ec6 Merge "WebPPictureDistortion: fix big-endian results order" -645d04ca Merge "cwebp,get_disto: report bpp" -120f58c3 Merge "lossless*sse2: improve non-const 16-bit vector creation" -a7fe9412 WebPPictureDistortion: fix big-endian results order -e26fe066 cwebp,get_disto: report bpp -9df64e28 Merge changes Id5b4a1a4,Ia20ce844 -8043504f lossless*sse2: improve non-const 16-bit vector creation -1e3dfc48 Import: extract condition from loop -3b07d327 Import,RGBA: fix for BigEndian import -551948e4 Remove unused argument in VP8LBitsEntropy. -3005237a ReadWebP: fix for big-endian -499c395a Merge "anim_diff: expose the -max_diff option" -f69dcd69 Merge "remove WEBP_EXPERIMENTAL_FEATURES" -07d884d5 anim_diff: expose the -max_diff option -f4dd9256 remove WEBP_EXPERIMENTAL_FEATURES -94a8377b extract the command-line parsing helpers to example_util -fc09e6e2 PNM decoder: prevent unsupported depth=2 PAM case. -6de58603 MIPS64: Fix defined-but-not-used errors with WEBP_REDUCE_CSP -cbde5728 gif2webp: add support for reading from stdin -cf1c5054 Add an SSE4 version of some lossless color transforms. -45a8b5eb Fix lint error with man page. -cff38e8f Merge "PNG decoder: handle gAMA chunk" -59cb1a48 Merge "enable dc error-diffusion always" -78318b30 PNG decoder: handle gAMA chunk -664c21dd Merge "remove some TODOs" -815652de enable dc error-diffusion always -aec45cec remove some TODOs -5715dfce fix block-count[] increment in case of large image -c2d04f3e enable DC error-diffusion always for multi-pass -96bf07c5 use DC error diffusion for U/V at low-quality -1c59020b fix missing sse41 targets in makefile.unix -7a8e814b cosmetics: s/color_space/colorspace/ -05f6fe24 upsampling: rm asserts w/REDUCE_CSP+OMIT_C_CODE -b4cf5597 Merge "Upsampling SSE2/SSE4 speedup." -ccbeb32c Makefile.vc: add missing sse41 files -55403a9a Upsampling SSE2/SSE4 speedup. -807b53c4 Implement the upsampling/yuv functions in SSE41 -84101a81 Fix wasm WebP compilation -8bebd2a3 fix warning on MSVC -a7f93fe3 webpmux: allow reading argument from a file -b69f18a7 gif2webp.1: fix -loop_compatibility layout -72d530c0 Merge "fix lossless decoding w/WEBP_REDUCE_SIZE" -296c7dc4 fix lossless decoding w/WEBP_REDUCE_SIZE -0d5d029c Merge "ImgIoUtilReadFile: fix file leak upon error" -ae568ce7 ImgIoUtilReadFile: fix file leak upon error -796b5a8a Merge tag 'v0.6.1' -6b7a95fd update ChangeLog (tag: v0.6.1) -f66955de WEBP_REDUCE_CSP: restrict colorspace support -1af0df76 Merge "WEBP_REDUCE_CSP: restrict colorspace support" -6de20df0 WEBP_REDUCE_CSP: restrict colorspace support -a289d8e7 update ChangeLog (tag: v0.6.1-rc2) -c10a493c vwebp: disable double buffering on windows & mac -0d4466c2 webp_to_sdl.c: fix file mode -1b27bf8b WEBP_REDUCE_SIZE: disable all rescaler code -126be109 webpinfo: add -version option -0df22b9e WEBP_REDUCE_SIZE: disable all rescaler code -9add62b5 bump version to 0.6.1 -d3e26144 update NEWS -2edda639 README: add webpinfo section -9ca568ef Merge "right-size some tables" -31f1995c Merge "SSE2 implementation of HasAlphaXXX" -a80c46bd SSE2 implementation of HasAlphaXXX -083507f2 right-size some tables -2e5785b2 anim_utils.c: remove warning when !defined(WEBP_HAVE_GIF) -b299c47e add WEBP_REDUCE_SIZE -f593d71a enc: disable pic->stats/extra_info w/WEBP_DISABLE_STATS -541179a9 Merge "predictor_enc: fix build w/--disable-near-lossless" -5755a7ec predictor_enc: fix build w/--disable-near-lossless -eab5bab7 add WEBP_DISABLE_STATS -8052c585 remove some petty TODOs from vwebp. -c245343d move LOAD8x4 and STORE8x2 closer to their use location -b9e734fd dec,cosmetics: normalize function naming style -c188d546 dec: harmonize function suffixes -28c5ac81 dec_sse41: harmonize function suffixes -e65b72a3 Merge "introduce WebPHasAlpha8b and WebPHasAlpha32b" -b94cee98 dec_sse2: remove HE8uv_SSE2 -44a0ee3f introduce WebPHasAlpha8b and WebPHasAlpha32b -aebf59ac Merge "WebPPictureAllocARGB: align argb allocation" -c184665e WebPPictureAllocARGB: align argb allocation -3daf7509 WebPParseHeaders: remove obsolete animation TODO -80285d97 cmake: avoid security warnings under msvc -650eac55 cmake: don't set -Wall with MSVC -c462cd00 Remove useless code. -01a98217 Merge "remove WebPWorkerImpl declaration from the header" -3c49fc47 Merge "thread_utils: fix potentially bad call to Execute" -fde2782e thread_utils: fix potentially bad call to Execute -2a270c1d remove WebPWorkerImpl declaration from the header -f1f437cc remove mention of 'lossy-only parameters' from the doc -3879074d Merge "WebPMemToUint32: remove ptr cast to int" -04b029d2 WebPMemToUint32: remove ptr cast to int -b7971d0e dsp: avoid defining _C functions w/NEON builds -6ba98764 webpdec: correct alloc size check w/use_argb -5cfb3b0f normalize include guards -f433205e Merge changes Ia17c7dfc,I75423abb,Ia2f716b4,I161caa14,I4210081a, ... -8d033b14 {dec,enc}_neon: harmonize function suffixes x2 -0295e981 upsampling_neon: harmonize function suffixes -d572c4e5 yuv_neon: harmonize function suffixes -ab9c2500 rescaler_neon: harmonize function suffixes -93e0ce27 lossless_neon: harmonize function suffixes -22fbc50e lossless_enc_neon: harmonize function suffixes -447875b4 filters_neon,cosmetics: fix indent -e51bdd43 remove unused VP8TokenToStats() function -785da7ea enc_neon: harmonize function suffixes -bc1a251f dec_neon: harmonize function suffixes -61e535f1 dsp/lossless: workaround gcc-4.8 bug on arm -68b2eab7 cwebp: fix alpha reporting w/lossless & metadata -30042faa WebPDemuxGetI: add doc details around WebPFormatFeature -0a17f471 Merge "WIP: list includes as descendants of the project dir" -a4399721 WIP: list includes as descendants of the project dir -08275708 Merge "Make sure we reach the full range for alpha blending." -d361a6a7 yuv_sse2: harmonize function suffixes -6921aa6f upsampling_sse2: harmonize function suffixes -08c67d3e ssim_sse2: harmonize function suffixes -582a1b57 rescaler_sse2: harmonize function suffixes -2c1b18ba lossless_sse2: harmonize function suffixes -0ac46e81 lossless_enc_sse2: harmonize function suffixes -bc634d57 enc_sse2: harmonize function suffixes -bcb7347c dec_sse2: harmonize function suffixes -e14ad93c Make sure we reach the full range for alpha blending. -7038ca8d demux,StoreFrame: restore hdr size check to min req -fb3daad6 cpu: fix ssse3 check -be590e06 Merge "Fix CMake redefinition for HAVE_CPU_FEATURES_H" -35f736e1 Fix CMake redefinition for HAVE_CPU_FEATURES_H -a5216efc Fix integer overflow warning. -a9c8916b decode.h,WebPIDecGetRGB: clarify output ptr validity -3c74c645 gif2webp: handle 1-frame case properly + fix anim_diff -c7f295d3 Merge "gif2webp: introduce -loop_compatibility option" -b4e04677 gif2webp: introduce -loop_compatibility option -f78da3de add LOCAL_CLANG_PREREQ and avoid WORK_AROUND_GCC w/3.8+ -01c426f1 define WEBP_USE_INTRINSICS w/gcc-4.9+ -8635973d use sdl-config (if available) to determine the link flags -e9459382 use CPPFLAGS before CFLAGS -4a9d788e Merge "Android.mk,mips: fix clang build with r15" -4fbdc9fb Android.mk,mips: fix clang build with r15 -a80fcc4a ifdef code not used by Chrome/Android. -3993af12 Fix signed integer overflows. -f66f94ef anim_dump: small tool to dump frames from animated WebP -6eba857b Merge "rationalize the Makefile.am" -c5e34fba function definition cleanup -3822762a rationalize the Makefile.am -501ef6e4 configure style fix: animdiff -> anim_diff -f8bdc268 Merge "protect against NULL dump_folder[] value in ReadAnimatedImage()" -23bfc652 protect against NULL dump_folder[] value in ReadAnimatedImage() -8dc3d71b cosmetics,ReadAnimatedWebP: correct function comment -5bd40066 Merge changes I66a64a0a,I4d2e520f -7945575c cosmetics,webpinfo: remove an else after a return -8729fa11 cosmetics,cwebp: remove an else after a return -f324b7f9 cosmetics: normalize fn proto & decl param names -869eb369 CMake cleanups. -289e62a3 Remove declaration of unimplemented VP8ApplyNearLosslessPredict -20a94186 pnmdec,PAM: validate depth before calculating bytes_per_px -34130afe anim_encode: fix integer overflow -42c79aa6 Merge "Encoder: harmonize function suffixes" -b09307dc Encoder: harmonize function suffixes -bed0456d Merge "SSIM: harmonize the function suffix" -54f6a3cf lossless_sse2.c: fix some missed suffix changes -088f1dcc SSIM: harmonize the function suffix -86fc4dd9 webpdec: use ImgIoUtilCheckSizeArgumentsOverflow -08ea9ecd imageio: add ability restrict max image size -6f9daa4a jpegdec,ReadError: fix leaks on error -a0f72a4f VP8LTransformColorFunc: drop an non-respected 'const' from the signature. -8c934902 Merge "Lossess dec: harmonize the function suffixes" -622242aa Lossess dec: harmonize the function suffixes -1411f027 Lossless Enc: harmonize the function suffixes -24ad2e3c add const to two variables -46efe062 Merge "Allow the lossless cruncher to work for alpha." -8c3f9a47 Speed-up LZ77. -1aef4c71 Allow the lossless cruncher to work for alpha. -b8821dbd Improve the box LZ77 speed. -7beed280 add missing ()s to macro parameters -6473d20b Merge "fix Android standalone toolchain build" -dcefed95 Merge "build.gradle: fix arm64 build" -0c83a8bc Merge "yuv: harmonize suffix naming" -c6d1db4b fix Android standalone toolchain build -663a6d9d unify the ALTERNATE_CODE flag usage -73ea9f27 yuv: harmonize suffix naming -c71b68ac build.gradle: fix arm64 build -c4568b47 Rescaler: harmonize the suffix naming -6cb13b05 Merge "alpha_processing: harmonize the naming suffixes to be _C()" -83a3e69a Merge "simplify WEBP_EXTERN macro" -7295fde2 Merge "filters: harmonize the suffixes naming to _SSE2(), _C(), etc." -8e42ba4c simplify WEBP_EXTERN macro -331ab34b cost*.c: harmonize the suffix namings -b161f670 filters: harmonize the suffixes naming to _SSE2(), _C(), etc. -dec5e4d3 alpha_processing: harmonize the naming suffixes to be _C() -6878d427 fix memory leak in SDL_Init() -461ae555 Merge "configure: fix warnings in sdl check" -62486a22 configure: test for -Wundef -92982609 dsp.h: fix -Wundef w/__mips_dsp_rev -0265cede configure: fix warnings in sdl check -88c73d8a backward_references_enc.h: fix WINDOW_SIZE_BITS check -4ea49f6b rescaler_sse2.c: fix WEBP_RESCALER_FIX -> _RFIX typo -1b526638 Clean-up some CMake -87f57a4b Merge "cmake: fix gif lib detection when cross compiling" -b34a9db1 cosmetics,dec_sse2: remove some redundant comments -471c5755 cmake: fix gif lib detection when cross compiling -c793417a cmake: disable gif2webp if gif lib isn't found -dcbc1c88 cmake: split gif detection from IMG deps -66ad84f0 Merge "muxread: remove unreachable code" -50ec3ab7 muxread: remove unreachable code -7d67a164 Lossy encoding: smoothen transparent areas to improve compression -e50650c7 Merge "fix signature for DISABLE_TOKEN_BUFFER compilation" -671d2567 fix signature for DISABLE_TOKEN_BUFFER compilation -d6755580 cpu.cmake: use unique flag to test simd disable flags -28914528 Merge "Remove the argb* files." -8acb4942 Remove the argb* files. -3b62347b README: correct cmake invocation note -7ca0df13 Have the SSE2 version of PackARGB use common code. -7b250459 Merge "Re-use the transformed image when trying several LZ77 in lossless." -e132072f Re-use the transformed image when trying several LZ77 in lossless. -5d7a50ef Get code to compile in C++. -7b012987 configure: test for -Wparentheses-equality -f0569adb Fix man pages for multi-threading. -f1d5a397 multithread cruncher: only copy stats when picture->stats != NULL -f8c2ac15 Multi-thread the lossless cruncher. -a88c6522 Merge "Integrate a new LZ77 looking for matches in the neighborhood of a pixel only." -8f6df1d0 Unroll Predictors 10, 11 and 12. -355c3d1b Integrate a new LZ77 looking for matches in the neighborhood of a pixel only. -a1779a01 Refactor LZ77 handling in preparation for a new method. -67de68b5 Android.mk/build.gradle: fix mips build with clang from r14b -f209a548 Use the plane code and not the distance when computing statistics. -b903b80c Split cost-based backward references in its own file. -498cad34 Cosmetic changes in backward reference. -e4eb4587 lossless, VP8LTransformColor_C: make sure no overflow happens with colors. -af6deaff webpinfo: handle alpha flag mismatch -7caef29b Fix typo that creeped in. -39e19f92 Merge "near lossless: fix unsigned int overflow warnings." -9bbc0891 near lossless: fix unsigned int overflow warnings. -e1118d62 Merge "cosmetics,FindClosestDiscretized: use uint in mask creation" -186bc9b7 Merge "webpinfo: tolerate ALPH+VP8L" -b5887297 cosmetics,FindClosestDiscretized: use uint in mask creation -f1784aee near_lossless,FindClosestDiscretized: use unsigned ops -0d20abb3 webpinfo: tolerate ALPH+VP8L -972104b3 webpmux: tolerate false positive Alpha flag -dd7e83cc tiffdec,ReadTIFF: ensure data_size is < tsize_t max -d988eb7b tiffdec,MyRead: quiet -Wshorten-64-to-32 warning -dabda707 webpinfo: add support to parse Alpha bitstream -4c117643 webpinfo: correct background color output, BGRA->ARGB -defc98d7 Doc: clarify the role of quality in WebPConfig. -d78ff780 Merge "Fix code to compile with C++." -c8f14093 Fix code to compile with C++. -497dc6a7 pnmdec: sanitize invalid header output -d78e5867 Merge "configure: test for -Wconstant-conversion" -481e91eb Merge "pnmdec,PAM: set bytes_per_px based on depth when missing" -93b12753 configure: test for -Wconstant-conversion -645f0c53 pnmdec,PAM: set bytes_per_px based on depth when missing -e9154605 Merge "vwebp: activate GLUT double-buffering" -818d795b vwebp: activate GLUT double-buffering -d63e6f4b Add a man page for webpinfo -4d708435 Merge "NEON: implement ConvertRGB24ToY/BGR24/ARGB/RGBA32ToUV/ARGBToUV" -faf42213 NEON: implement ConvertRGB24ToY/BGR24/ARGB/RGBA32ToUV/ARGBToUV -b4d576fa Install man pages with CMake. -cbc1b921 webpinfo: add features to parse bitstream header -e644c556 Fix bad bit writer initialization. -b62cdad2 Merge "Implement a cruncher for lossless at method 6." -da3e4dfb use the exact constant for the gamma transfer function -a9c701e0 Merge "tiffdec: fix EXTRASAMPLES check" -adab8ce0 Implement a cruncher for lossless at method 6. -1b92b237 Merge "Fix VP8ApplyNearLossless to respect const and stride." -1923ff02 tiffdec: fix EXTRASAMPLES check -97cce5ba tiffdec: only request EXTRASAMPLES w/> 3 samples/px -0dcd85b6 Fix VP8ApplyNearLossless to respect const and stride. -f7682189 yuv: rationalize the C/SSE2 function naming -52245424 NEON implementation of some Sharp-YUV420 functions -690efd82 Avoid several backward reference copies. -4bb1f607 src/dec/vp8_dec.h, cosmetics: fix comments -285748be cmake: build/install webpinfo -78fd199c backward_references_enc.c: clear -Wshadow warnings -ae836410 WebPLog2FloorC: clear -Wshadow warning -d0b7404e Merge "WASM support" -134e314f WASM support -c08adb6f Merge "VP8LEnc: remove use of BitsLog2Ceiling()" -28c37ebd VP8LEnc: remove use of BitsLog2Ceiling() -2cb58ab2 webpinfo: output format as a human readable string -bb175a93 Merge "rename some symbols clashing with MSVC headers" -39eda658 Remove a duplicated pixel hash implementation. -36b8274d rename some symbols clashing with MSVC headers -274daf54 Add webpinfo tool. -ec5036e4 add explicit reference to /usr/local/{lib,inc} -18f0dfac Merge "fix TIFF encoder regarding rgbA/RGBA" -4e2b0b50 Merge "webpdec.h: fix a doc typo" -e2eeabff Merge "Install binaries, libraries and headers in CMake." -836607e6 webpdec.h: fix a doc typo -9273e441 fix TIFF encoder regarding rgbA/RGBA -17e3c11f Add limited PAM decoding support -5f624871 Install binaries, libraries and headers in CMake. -976adac1 Merge "lossless incremental decoding: fix missing eos_ test" -f8fad4fa lossless incremental decoding: fix missing eos_ test -27415d41 Merge "vwebp_sdl: fix the makefile.unix" -49566182 Merge "ImgIoUtilWriteFile(): use ImgIoUtilSetBinaryMode" -6f75a51b Analyze the transform entropy on the whole image. -a5e4e3af Use palette only if we can in entropy analysis. -75a9c3c4 Improve compression by better entropy analysis. -39cf6f4f vwebp_sdl: fix the makefile.unix -699b0416 ImgIoUtilWriteFile(): use ImgIoUtilSetBinaryMode -7d985bd1 Fix small entropy analysis bug. -6e7caf06 Optimize the color cache size. -833c9219 More efficient stochastic histogram merge. -5183326b Refactor the greedy histogram merge. -99f6f462 Merge "histogram_enc.c,MyRand: s/ul/u/ for unsigned constants" -80a22186 ssim.c: remove dead include -a128dfff histogram_enc.c,MyRand: s/ul/u/ for unsigned constants -693bf74e move the SSIM calculation code in ssim.c / ssim_sse2.c -10d791ca Merge "Fix the random generator in HistogramCombineStochastic." -fa63a966 Fix the random generator in HistogramCombineStochastic. -16be192f VP8LSetBitPos: remove the eos_ setting -027151ca don't erase the surface before blitting. -4105d565 disable WEBP_USE_XXX optimisations when EMSCRIPTEN is defined -9ee32a75 Merge "WebP-JS: emscripten-based Javascript decoder" -ca9f7b7d WebP-JS: emscripten-based Javascript decoder -868aa690 Perform greedy histogram merge in a unified way. -5b393f2d Merge "fix path typo for vwebp_sdl in Makefile.vc" -e0012bea CMake: only use libwebpdecoder for building dwebp -84c2a7b0 fix path typo for vwebp_sdl in Makefile.vc -1b0e4abf Merge "Add a flag to disable SIMD optimizations." -32263250 Add a flag to disable SIMD optimizations. -b494fdec optimize the ARGB->ARGB Import to use memcpy -f1536039 Merge "ReadWebP: decode directly into a pre-allocated buffer" -e69ed291 ReadWebP: decode directly into a pre-allocated buffer -57d8de8a Merge "vwebp_sdl: simple viewer based on SDL" -5cfd4ebc LZ77 interval speedups. Faster, smaller, simpler. -1e7ad88b PNM header decoder: add some basic numerical validation -17c7890c Merge "Add a decoder only library for WebP in CMake." -be733786 Merge "Add clang build fix for MSA" -03cda0e4 Add a decoder only library for WebP in CMake. -aa893914 Add clang build fix for MSA -31a92e97 Merge "imageio: add limited PNM support for reading" -dcf9d82a imageio: add limited PNM support for reading -6524fcd6 vwebp_sdl: simple viewer based on SDL -6cf24a24 get_disto: fix reference file read -43d472aa Merge tag 'v0.6.0' -50d1a848 update ChangeLog (tag: v0.6.0, origin/0.6.0) -20a7fea0 extras/Makefile.am: fix libwebpextras.la reference -415f3ffe update ChangeLog (tag: v0.6.0-rc3) -3c6d1224 update NEWS -ee4a4141 update AUTHORS -32ed856f Fix "all|no frames are keyframes" settings. -1c3190b6 Merge "Fix "all|no frames are keyframes" settings." -f4dc56fd disable GradientUnfilter_NEON -4f3e3bbd disable GradientUnfilter_NEON -2dc0bdca Fix "all|no frames are keyframes" settings. -0d8e0588 img2webp: treat -loop as a no-op w/single images -b0450139 ReadImage(): restore size reporting -0ad3b4ef update ChangeLog (tag: v0.6.0-rc2) -6451709e img2webp,get_disto: fix image decode w/WIC builds -92504d21 get_disto: make ReadPicture() return a bool -c3e4b3a9 update NEWS -3363eb6d man/img2webp.1: fix formatting warning -4d1312f2 update NEWS -36c42ea4 bump version to 0.6.0 -bb498a51 update AUTHORS -84cef16f Makefile.vc: fix CFG=debug-dynamic build -919f9e2f Merge "add .rc files for windows dll versioning" -f1ae8af4 Merge ".gitignore: add img2webp" -4689ce16 cwebp: add a -sharp_yuv option for 'sharp' RGB->YUV conversion -79bf46f1 rename the pretentious SmartYUV into SharpYUV -eb1dc89a silently expose use_delta_palette in the WebPConfig API -c85b0dde .gitignore: add img2webp -43d3f01a add .rc files for windows dll versioning -668e1dd4 src/{dec,enc,utils}: give filenames a unique suffix -0e6b7f33 Merge "iosbuild.sh: only add required headers to framework" -29ed6f9a iosbuild.sh: only add required headers to framework -71c53f1a NEON: speed-up strong filtering -73f567ea Merge "get_disto: remove redundant reader check" -9e14276f Merge "makefiles: prune get_disto & webp_quality deps" -99965bac Merge "Makefile.vc: add get_disto.exe, webp_quality.exe" -d4912238 get_disto: remove redundant reader check -ea482409 makefiles: prune get_disto & webp_quality deps -2ede5a19 Makefile.vc: add get_disto.exe, webp_quality.exe -a345068a ARM: speed up bitreader by avoiding tables -1dc82a6b Merge "introduce a generic GetCoeffs() function pointer" -8074b89e introduce a generic GetCoeffs() function pointer -749a45a5 Merge "NEON: implement alpha-filters (horizontal/vertical/gradient)" -74c053b5 Merge "NEON: fix overflow in SSE NxN calculation" -0a3aeff7 Merge "dsp: WebPExtractGreen function for alpha decompression" -1de931c6 NEON: implement alpha-filters (horizontal/vertical/gradient) -9b3aca40 NEON: fix overflow in SSE NxN calculation -1c07a3c6 dsp: WebPExtractGreen function for alpha decompression -9ed5e3e5 use pointers for WebPRescaler's in WebPDecParams -db013a8d Merge "ARM: don't use USE_GENERIC_TREE" -fcd4784d use a 8b table for C-version for clz() -fbb5c473 ARM: don't use USE_GENERIC_TREE -8fda5612 Merge "add a kSlowSSSE3 feature for CPUInfo" -86bbd245 add a kSlowSSSE3 feature for CPUInfo -7c2779e9 Get code to fully compile in C++. -250c3586 Merge "When compiling as C++, avoid narrowing warnings." -c0648ac2 When compiling as C++, avoid narrowing warnings. -0d55f60c 40% faster ApplyAlphaMultiply_SSE2 -49d0280d NEON: implement several alpha-processing functions -48b1e85f SSE2: 15% faster alpha-processing functions -e3b8abbc fix warning from static analysis. -28fe054e SSE2: 30% faster ApplyAlphaMultiply() -f44acd25 Merge "Properly compute the optimal color cache size." -527844fe Properly compute the optimal color cache size. -be0ef639 fix a comment typo -8874b162 Fix a non-deterministic color cache size computation. -d712e20d Do not allow a color cache size bigger than the number of colors. -ecff04f6 re-introduce some comments in Huffman Cost. -259e9828 replace 'ptr + y * stride' by 'ptr += stride' -00b08c88 Merge "NEON: 5% faster conversion to RGB565 and RGBA4444" -0e7f4447 Merge "NEON: faster fancy upsampling" -b016cb91 NEON: faster fancy upsampling -1cb63801 Call the C function to finish off lossless SSE loops only when necessary. -875fafc1 Implement BundleColorMap in SSE2. -3674d49e Merge "remove Clang warnings with unused arch arguments." -f04eb376 Merge tag 'v0.5.2' -341d711c NEON: 5% faster conversion to RGB565 and RGBA4444 -abb54827 remove Clang warnings with unused arch arguments. -ece9684f update ChangeLog (tag: v0.5.2-rc2, tag: v0.5.2, origin/0.5.2) -aa7744ca anim_util: quiet implicit conv warnings in 32-bit -d9120271 jpegdec: correct ContextFill signature -24eb3940 Remove some errors when compiling the code as C++. -a4a8e5f3 vwebp: clear canvas during resize w/o animation -67c25ad5 vwebp: clear canvas during resize w/o animation -a4bbe4b3 fix indentation -31ca2a80 tiffdec: restore libtiff 3.9.x compatibility -b2f77b57 update NEWS -5ab6d9de AnimEncoder: avoid freeing uninitialized memory pointer. -f29bf582 WebPAnimEncoder: If 'minimize_size' and 'allow_mixed' on, try lossy + lossless. -3ebe1c00 AnimEncoder: avoid freeing uninitialized memory pointer. -df780e0e fix a potential overflow with MALLOC_LIMIT -58fc5078 Merge "PredictorSub: implement fully-SSE2 version" -9cc42167 PredictorSub: implement fully-SSE2 version -0aa1f35c remove dependency of imageio/ to stopwatch.h -cb9ec84b Merge "remove the dependency to stop_watch.[ch] in imageio" -dc0c01fb Merge "anim_util: quiet implicit conv warnings in 32-bit" -827d3c50 Merge "fix a potential overflow with MALLOC_LIMIT" -1e2e25b0 anim_util: quiet implicit conv warnings in 32-bit -218460cd bump version to 0.5.2 -de7d654d update AUTHORS & .mailmap -273367c1 Merge "dsp/lossless.c,cosmetics: fix indent" -76bbcf2e fix a potential overflow with MALLOC_LIMIT -8ac1abfe Merge "jpegdec: correct ContextFill signature" -cb215aed remove the dependency to stop_watch.[ch] in imageio -2423017a dsp/lossless.c,cosmetics: fix indent -74a12b10 iosbuild.sh: add WebPDecoder.framework + encoder -a9cc7621 Merge "iosbuild.sh: add WebPDecoder.framework + encoder" -fbba5bc2 optimize predictor #1 in plain-C For some reason, gcc has hard time inlining this one... -9ae0b3f6 Merge "SSE2: slightly (~2%) faster Predictor #1" -c1f97bd7 SSE2: slightly (~2%) faster Predictor #1 -ea664b89 SSE2: 10% faster Predictor #11 -be7dcc08 AnimEncoder: Correctly skip a frame when sub-rectangle is empty. -40885830 Fix assertions in WebPRescalerExportRow() -1d5046d1 iosbuild.sh: add WebPDecoder.framework + encoder -cec72014 jpegdec: correct ContextFill signature -8f38c72e fix a typo in WebPPictureYUVAToARGB's doc -33ca93f9 systematically call WebPDemuxReleaseIterator() on dec->prev_iter_ -76e19073 doc: use two's complement explicitly for uint8->int8 conversion -f91ba963 Anim_encoder: correctly handle enc->prev_candidate_undecided_ -25d74e65 WebPPictureDistortion(): free() -> WebPSafeFree() -03f1c008 mux/Makefile.am: add missing -lm -58410cd6 fix bug in RefineUsingDistortion() -e168af8c fix filtering auto-adjustment -ed9dec41 fix doc and code snippet for WebPINewDecoder() doc -3c49178f prevent 32b overflow for very large canvas_width / height -9595f290 fix anim_util.c compilation when HAVE_GIF is not defined. -7ec9552c Make gif transparent color to be transparent black -b3fb8bb6 slightly faster Predictor #11 in NEON -9871335f Add a CMake option for WEBP_SWAP_16BIT_CSP. -0ae32226 Fix missing cpu-features for Android. -ab4c8056 cpu.cmake: improve webp_check_compiler_flag output -eec5fa3a Provide support for CMake on Android studio 2.2. -004d5690 Split the main CMake file. -4fe5d588 Android.mk: use -fvisibility=hidden -bd63a31a vwebp: ensure setenv() is available in stdlib.h -363a5681 vwebp: handle window resizing properly -a0d2753f lower WEBP_MAX_ALLOCABLE_MEMORY default -31fe11a5 fix infinite loop in case of PARTITION0 overflow -532215dd Change the rule of picking UV mode in MBAnalyzeBestUVMode() -9c75dbd3 cwebp.1: improve some grammar -af2e05cb vwebp: Clear previous frame when a key triggers a redraw -26ffa296 Add descriptions of default configuration in help info. -7416280d Fix an unsigned integer overflow error in enc/cost.h -13cf1d2e Do token recording and counting in a single loop -eb9a4b97 Reset segment id if we decide not to update segment map -42ebe3b7 configure: fix NEON flag detection under gcc 6 -76ebbfff NEON: implement predictor #13 -95b12a08 Merge "Revert Average3 and Average4" -54ab2e75 Revert Average3 and Average4 -fe12330c 3-5% faster Predictor #5, #6, #7 and #10 for NEON -fbfb3bef ~2% faster predictor #10 for NEON -d4b7d801 lossless_sse2: use the local functions -a5e3b225 Lossless decoder SSE2 improvements. -58a1f124 ~2% faster predictor #12 in NEON. -906c3b63 Merge "Implement lossless transforms in NEON." -d23abe4e Implement lossless transforms in NEON. -2e6cb6f3 Give more flexibility to the predictor generating macro. -28e0bb70 Merge "Fix race condition in multi-threading initialization." -64704530 Fix race condition in multi-threading initialization. -bded7848 img2webp: fix default -lossless value and use pic.argb=1 -0e61a513 Merge "img2webp: convert a sequence of images to an animated webp" -1cc79e92 AnimEncoder: Correctly skip a frame when sub-rectangle is empty. -03f40955 img2webp: convert a sequence of images to an animated webp -ea72cd60 add missing 'extern' keyword for predictor dcl -67879e6d SSE implementation of decoding predictors. -34aee990 Merge "vwebp: make 'd' key toggle the debugging of fragments" -a41296ae Fix potentially uninitialized value. -c85adb33 vwebp: make 'd' key toggle the debugging of fragments -4239a148 Make the lossless predictors work on a batch of pixels. -bc18ebad fix extra 'const's in signatures -71e2f5ca Remove memcpy in lossless decoding. -7474d46e Do not use a register array in SSE. -67748b41 Improve latency of FTransform2. -16951b19 Merge "Provide an SSE implementation of ConvertBGRAToRGB" -6540cd0e Provide an SSE implementation of ConvertBGRAToRGB -de568abf Android.mk: use -fvisibility=hidden -3c2a61b0 remove some unneeded casts -9ac063c3 add dsp functions for SmartYUV -22efabdd Merge "smart_yuv: switch to planar instead of packed r/g/b processing" -1d6e7bf3 smart_yuv: switch to planar instead of packed r/g/b processing -0a3838ca fix bug in RefineUsingDistortion() -c0699515 webpmux -duration: set default 'end' value equal to 'start' -83cbfa09 Import: use relative pointer offsets -a1ade40e PreprocessARGB: use relative pointer offsets -fd4d090f ConvertWRGBToYUV: use relative pointer offsets -9daad459 ImportYUVAFromRGBA: use relative pointer offsets -f90c60d1 Merge "add a "-duration duration,start,end" option to webpmux" -3f182d36 add a "-duration duration,start,end" option to webpmux -342e15f0 Import: use relative pointer offsets -1147ab4e PreprocessARGB: use relative pointer offsets -e4cd4daf fix filtering auto-adjustment -e7152856 fix doc and code snippet for WebPINewDecoder() doc -de9fa507 ConvertWRGBToYUV: use relative pointer offsets -deb1b831 ImportYUVAFromRGBA: use relative pointer offsets -c284780f imageio_util: add ImgIoUtilCheckSizeArgumentsOverflow -e375080d gifdec,Remap: avoid out of bounds colormap read -c222a053 additional fix for stride type as size_t -bb233617 fix potential overflow when width * height * 4 >= (1<<32) -883d41fb gif2webp: fix crash with NULL extension data -cac9a36a gifdec,Remap: avoid out of bounds colormap read -4595e01f Revert "gifdec,Remap: avoid out of bounds colormap read" -fb52d443 gifdec: make some constants unsigned -f048d38d gifdec,Remap: avoid out of bounds colormap read -31b1e343 fix SSIM metric ... by ignoring too-dark area -2f51b614 introduce WebPPlaneDistortion to compute plane distortion -0104d730 configure: fix NEON flag detection under gcc 6 -265abbe9 Merge "additional fix for stride type as size_t" -f7601aa6 Merge "Introduce a generic WebPGetImageReader(type) function" -ce873320 Introduce a generic WebPGetImageReader(type) function -2a2773ea imageio/*dec,Read*: add input parameter checks -9f5c8eca additional fix for stride type as size_t -4eb5df28 remove unused stride fields from VP8Iterator -11bc423a MIN_LENGTH cleanups. -273d035a Merge "fix a typo in WebPPictureYUVAToARGB's doc" -4db82a17 Merge "fix potential overflow when width * height * 4 >= (1<<32)" -e2affacc fix potential overflow when width * height * 4 >= (1<<32) -dc789ada fix a typo in WebPPictureYUVAToARGB's doc -539f5a68 Fix non-included header in config.c. -aaf2a6a6 systematically call WebPDemuxReleaseIterator() on dec->prev_iter_ -20ef9915 Merge "imageio_util: add ImgIoUtilCheckSizeArgumentsOverflow" -bc86b7a8 imageio_util: add ImgIoUtilCheckSizeArgumentsOverflow -806f6279 gif2webp: fix crash with NULL extension data -68ae5b67 Add libwebp/src/mux/animi.h -28ce3043 Remove some errors when compiling the code as C++. -b34abcb8 Favor keeping the areas locally similar in spatial prediction mode selection -ba843a92 fix some SSIM calculations -51b71fd2 Merge "vwebp: ensure setenv() is available in stdlib.h" -fb01743a get_disto: fix the r/g/b order for luma calculation -bfab8947 vwebp: ensure setenv() is available in stdlib.h -9310d192 vwebp: handle window resizing properly -f79450ca Speedup ApplyMap. -cfdda7c6 Merge "prevent 32b overflow for very large canvas_width / height" -e36396ba Merge "get_disto: new option to compute SSIM map and convert to gray" -18a9a0ab Add an API to import a color-mapped image. -30d43706 Speed-up Combined entropy for palettized histograms. -36aa087b get_disto: new option to compute SSIM map and convert to gray -86a84b35 2x faster SSE2 implementation of SSIMGet -b8384b53 lower WEBP_MAX_ALLOCABLE_MEMORY default -1c364400 prevent 32b overflow for very large canvas_width / height -eee0cce1 Merge "Small LZ77 speedups." -5f1caf29 Small LZ77 speedups. -1effde7b fix anim_util.c compilation when HAVE_GIF is not defined. -a2fe9bf4 Speedup TrellisQuantizeBlock(). -573cce27 smartYUV improvements -21e7537a fix infinite loop in case of PARTITION0 overflow -053a1565 Merge "Change the rule of picking UV mode in MBAnalyzeBestUVMode()" -1377ac2e Change the rule of picking UV mode in MBAnalyzeBestUVMode() -7c1fb7d0 fix uint32_t initialization (0. -> 0) -bfff0bf3 speed-up SSIM calculation -64577de8 De-VP8L-ize GetEntropUnrefinedHelper. -a7be7328 Merge "refactor the PSNR / SSIM calculation code" -50c3d7da refactor the PSNR / SSIM calculation code -d6228aed indentation fix after I7055d3ee3bd7ed5e78e94ae82cb858fa7db3ddc0 -dd538b19 Remove unused declaration. -6cc48b17 Move some lossless logic out of dsp. -78363e9e Merge "Remove a redundant call to InitLeft() in VP8IteratorReset()" -ffd01929 Refactor VP8IteratorNext(). -c4f6d9c9 Remove a redundant call to InitLeft() in VP8IteratorReset() -c27d8210 Merge "smartYUV: simplify main loop" -07795296 smartYUV: simplify main loop -c9b45863 Split off common lossless dsp inline functions. -490ae5b1 smartYUV: improve initial state for faster convergence -894232be smartYUV: fix and simplify the over-zealous stop criterion -8de08483 Remove unused code in webpi.h -41cab7fe imageio/Android.mk: correct imagedec dependencies -82c91c70 Merge "libimageenc.a: extract image-saving code from dwebp" -af1ad3e2 libimageenc.a: extract image-saving code from dwebp -dd7309e3 Merge "doc: use two's complement explicitly for uint8->int8 conversion" -6105777e Merge "add gif2webp to CMake" -13ae011e doc: use two's complement explicitly for uint8->int8 conversion -4bda0cfb add gif2webp to CMake -6029c7fe Merge "remove mention of fragment, frgm, FRGM, etc." -545c147f remove mention of fragment, frgm, FRGM, etc. -5b46f7fc cwebp.1: improve some grammar -9e478f80 dec/vp8l.c: add assertions in EmitRescaledRowsRGBA/YUVA -43bd8958 Make gif transparent color to be transparent black -0887fc2d Merge "get_disto: add a '-o file' option to save a diff map" -0de48e18 get_disto: add a '-o file' option to save a diff map -0a57ad0d cosmetics: WebPSafeAlloc -> WebPSafeMalloc -0a4699bc Merge "WebPPictureDistortion(): free() -> WebPSafeFree()" -29fedbf5 Anim_encoder: correctly handle enc->prev_candidate_undecided_ -32dead4e WebPPictureDistortion(): free() -> WebPSafeFree() -85cd5d06 Smarter LZ77 for uniform regions. -6585075f Change PixelsAreSimilar() to handle black pixels correctly. -c0a27fd2 vwebp: Clear previous frame when a key triggers a redraw -57a5e3b6 webp_quality should return '0' in case of success. -7f1b897b Faster stochastic histogram merging. -48c810b8 Merge "remove WEBP_FORCE_ALIGNED and use memcpy() instead." -3884972e remove WEBP_FORCE_ALIGNED and use memcpy() instead. -485cac1a switch libimagedec.a and libimageio_util.a to avoid undefined symbol -005e15b1 Merge "{extras,mux}/Makefile.am: add missing -lm" -6ab496ed fix some 'unsigned integer overflow' warnings in ubsan -8a4ebc6a Revert "fix 'unsigned integer overflow' warnings in ubsan" -9d4f209f Merge changes I25711dd5,I43188fab -e44f5248 fix 'unsigned integer overflow' warnings in ubsan -27b5d991 Fix assertions in WebPRescalerExportRow() -74f6f9e7 Add descriptions of default configuration in help info. -aaf2530c {extras,mux}/Makefile.am: add missing -lm -1269dc7c Refactor VP8LColorCacheContains() -40872fb2 dec_neon,NeedsHev: micro optimization -7b54e26b Add a CMake option for WEBP_SWAP_16BIT_CSP. -d2223d8d Fix missing cpu-features for Android. -bf16a4b4 Merge "cpu.cmake: improve webp_check_compiler_flag output" -ee1057e3 cpu.cmake: improve webp_check_compiler_flag output -b551e587 cosmetics: add {}s on continued control statements -d2e4484e dsp/Makefile.am: put msa source in correct lib -c7f66c82 Merge "utils/thread.c,cosmetics: join a few lines" -98d8f295 Merge "examples/Makefile.am,cosmetics: sort binary targets" -39f4ffbc utils/thread.c,cosmetics: join a few lines -a86ce2b1 Merge "extras/Makefile.am: don't install libwebpextras" -6fa9fe24 extras/Makefile.am: don't install libwebpextras -0b2c58a9 Fix an unsigned integer overflow error in enc/cost.h -d7ce4a2e examples/Makefile.am,cosmetics: sort binary targets -386e4ba2 Reset segment id if we decide not to update segment map -7b87e848 Merge "Add MSA optimized YUV to RGB upsampling functions" -d3ddacb6 Add MSA optimized YUV to RGB upsampling functions -eb98d8d8 webp_quality: detect lossless format and features -ebee57f4 move imageio/example_util.[hc] (back to) examples/ -99542bbf webpdec: s/ExUtil// -da573cf4 imageio_util: s/ExUtil/ImgIoUtil/ -bdda5bd4 split example_util.h -15ed462b .gitignore: add extras/{get_disto,webp_quality} -7be57489 Merge "VP8EstimateQuality(): roughty estimate webp bitstream quality factor" -57020525 Makefile.vc: add missing imageio target -e8ab6a82 VP8EstimateQuality(): roughty estimate webp bitstream quality factor -fee7b3d6 Merge "'extras/get_disto' example: compute PSNR between two files" -1e7d4401 'extras/get_disto' example: compute PSNR between two files -4cecab63 pngdec.c,jpegdec.[hc]: remove unnecessary includes -259f0434 makefile.unix: normalize image decode lib name -ed34c39b fix: examples/libexample_dec.a => imageio/libexample_dec.a -33d8d0d4 Merge "move examples/{example_util,image_dec} to imageio/" -c960b82e Merge "extras.h: correct include guard" -fe3cd28a Merge ".gitignore: add .gradle, /build" -45fbeba5 Merge "Do token recording and counting in a single loop" -4f33c820 .gitignore: add .gradle, /build -c379b55a move examples/{example_util,image_dec} to imageio/ -5108d9aa extras.h: correct include guard -ad497fbc move src/extras to the top-level -0c0fb832 Do token recording and counting in a single loop -9ac74f92 Add MSA optimized rescaling functions -cb19dbc1 Add MSA optimized color transform functions -3f4042b5 WebPAnimEncoder: If 'minimize_size' and 'allow_mixed' on, try lossy + lossless. -5e2eb89e cosmetics,dsp/*msa.c: associate '*' with the type -5b60db5c FastMBAnalyze() for quick i16/i4 decision -567e6977 Add MSA optimized CollectHistogram function -c54ab8dd Add MSA optimized quantization functions -ec6f68c5 Merge "Remove QuantizeBlockWHT() in enc.c" -2a5c417c Apply the RLE heuristic to LZ77. -91b59e88 Remove QuantizeBlockWHT() in enc.c -fe572737 Add MSA optimized SSE functions -6b53ca87 cosmetics,(dec|enc)_sse2.c: fix indent -b15d00d9 Merge "Add MSA optimized encoder IntraChromaPreds function" -afe3cec8 Add MSA optimized encoder IntraChromaPreds function -fc8cad9f reduce the number of malloc/free cycles in huffman.c -7b4b05e0 Add MSA optimized encoder Intra16Preds function -c18787a0 Add MSA optimized encoder Intra4Preds function -479d1908 webpmux: Also print compression info per frame. -a80e8cfd Provide support for CMake on Android studio 2.2. -6c628410 Split the main CMake file. -bbb6ecd9 Merge "Add MSA optimized distortion functions" -7915396f Add MSA optimized distortion functions -652e944f Merge "build.gradle: remove tab" -c0991a14 io,EmitRescaledAlphaYUV: factor out a common expr -48bf5ed1 build.gradle: remove tab -bfef6c9f Merge tag 'v0.5.1' -3d97bb75 update ChangeLog (tag: v0.5.1, origin/0.5.1) -deb54d91 Clarify the expected 'config' lifespan in WebPIDecode() -435308e0 Add MSA optimized encoder transform functions -dce64bfa Add MSA optimized alpha filter functions -429120d0 Add MSA optimized color transform functions -c7e2d245 update ChangeLog (tag: v0.5.1-rc5) -55b2fede normalize the macros' "do {...} while (0)" constructs -701c772e Add MSA optimized colorspace conversion functions -c7eb06f7 Fix corner case in CostManagerInit. -f918cb10 fix rescaling bug: alpha plane wasn't filled with 0xff -ab7937a5 gif2webp: normalize the number of .'s in the help message -3cdec847 vwebp: normalize the number of .'s in the help message -bdf6241e cwebp: normalize the number of .'s in the help message -06a38c7b fix rescaling bug: alpha plane wasn't filled with 0xff -319e37be Improve lossless compression. -6a197937 Add MSA optimized intra pred chroma functions -447adbce 'our bug tracker' -> 'the bug tracker' -97b9e644 normalize the number of .'s in the help message -293d786f Added MSA optimized intra prediction 16x16 functions -0afa0ce2 Added MSA optimized intra prediction 4x4 functions -a6621bac Added MSA optimized simple edge filtering functions -bb50bf42 pngdec,ReadFunc: throw an error on invalid read -38063af1 decode.h,WebPGetInfo: normalize function comment -1ebf193c Added MSA optimized chroma edge filtering functions -9ad2352d Merge "Added MSA optimized edge filtering functions" -60751096 Added MSA optimized edge filtering functions -9e8e1b7b Inline GetResidual for speed. -7d58d1b7 Speed-up uniform-region processing. -8ec7032b simplify HistogramCombineEntropyBin() -23e29cb1 Merge "Fix a boundary case in BackwardReferencesHashChainDistanceOnly." into 0.5.1 -472a049b remove bin_map[] allocation altogether -0bb23b2c free -> WebPSafeFree() -a977b4b5 Merge "rewrite the bin_map clustering to use less memory" -3591ba66 rewrite the bin_map clustering to use less memory -e6ac450c utils.[hc]: s/MAX_COLOR_COUNT/MAX_PALETTE_SIZE/ -e7b91772 Merge "DecodeImageData(): change the incorrect assert" into 0.5.1 -2abfa54f DecodeImageData(): change the incorrect assert -5a48fcd8 Merge "configure: test for -Wfloat-conversion" -0174d18d Fix a boundary case in BackwardReferencesHashChainDistanceOnly. -6a9c262a Merge "Added MSA optimized transform functions" -cfbcc5ec Make sure to consider small distances in LZ77. -5e60c42a Added MSA optimized transform functions -3dc28d76 configure: test for -Wfloat-conversion -f2a0946a add some asserts to delimit the perimeter of CostManager's operation -9a583c66 fix invalid-write bug for alpha-decoding -f66512db make gradlew executable -6fda58f1 backward_references: quiet double->int warning -a48cc9d2 Merge "Fix a compression regression for images with long uniform regions." into 0.5.1 -cc2720c1 Merge "Revert an LZ77 boundary constant." into 0.5.1 -059aab4f Fix a compression regression for images with long uniform regions. -b0c7e49e Check more backward matches with higher quality. -a3611513 Revert an LZ77 boundary constant. -8190374c README: fix typo -7551db44 update NEWS -0fb2269c bump version to 0.5.1 -f4537610 update AUTHORS & .mailmap -3259571e Refactor GetColorPalette method. -1df5e260 avoid using tmp histogram in PreparePair() -7685123a fix comment typos -a246b921 Speedup backward references. -76d73f18 Merge "CostManager: introduce a free-list of ~10 intervals" -eab39d81 CostManager: introduce a free-list of ~10 intervals -4c59aac0 Merge "mips msa webp configuration" -043c33f1 Merge "Improve speed and compression in backward reference for lossless." -71be9b8c Merge "clarify variable names in HistogramRemap()" -0ba7fd70 Improve speed and compression in backward reference for lossless. -0481d42a CostManager: cache one interval and re-use it when possible -41b7e6b5 Merge "histogram: fix bin calculation" -96c3d624 histogram: fix bin calculation -fe9e31ef clarify variable names in HistogramRemap() -ce3c8247 disable near-lossless quantization if palette is used -e11da081 mips msa webp configuration -5f8f998d mux: Presence of unknown chunks should trigger VP8X chunk output. -cadec0b1 Merge "Sync mips32 and dsp_r2 YUV->RGB code with C verison" -d9637758 Compute the hash chain once and for all for lossless compression. -50a48665 Sync mips32 and dsp_r2 YUV->RGB code with C verison -eee788e2 Merge "introduce a common signature for all image reader function" -d77b877c introduce a common signature for all image reader function -ca8d9519 remove some obsolete TODOs -ae2a7222 collect all decoding utilities from examples/ in libexampledec.a -0b8ae852 Merge "Move DitherCombine8x8 to dsp/dec.c" -77cad885 Merge "ReadWebP: avoid conversion to ARGB if final format is YUVA" -ab8d6698 ReadWebP: avoid conversion to ARGB if final format is YUVA -f8b7ce9e Merge "test pointer to NULL explicitly" -5df6f214 test pointer to NULL explicitly -77f21c9c Move DitherCombine8x8 to dsp/dec.c -c9e6d865 Add gradle support -c65f41e8 Revert "Add gradle support" -bf731ede Add gradle support -08333b85 WebPAnimEncoder: Detect when canvas is modified, restore only when needed. -0209d7e6 Merge "speed-up MapToPalette() with binary search" -fdd29a3d speed-up MapToPalette() with binary search -cf4a651b Revert "Refactor GetColorPalette method." -0a27aca3 Merge changes Idfa8ce83,I19adc9c4 -f25c4406 WebPAnimEncoder: Restore original canvas between multiple encodes. -169004b1 Refactor GetColorPalette method. -576362ab VP8LDoFillBitWindow: support big-endian in fast path -ac49e4e4 bit_reader.c: s/VP8L_USE_UNALIGNED_LOAD/VP8L_USE_FAST_LOAD/ -d39ceb58 VP8LDoFillBitWindow: remove stale TODO -2ec2de14 Merge "Speed-up BackwardReferencesHashChainDistanceOnly." -3e023c17 Speed-up BackwardReferencesHashChainDistanceOnly. -f2e1efbe Improve near lossless compression when a prediction filter is used. -e15afbce dsp.h: fix ubsan macro name -e53c9ccb dsp.h: add WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW -af81fdb7 utils.h: quiet -fsanitize=undefined warnings -ea0be354 dsp.h: remove utils.h include -cd276aec utils/*.c: ../utils/utils.h -> ./utils.h -c8927131 utils/Makefile.am: add some missing headers -ea24e026 Merge "dsp.h: add WEBP_UBSAN_IGNORE_UNDEF" -369e264e dsp.h: add WEBP_UBSAN_IGNORE_UNDEF -0d020a78 Merge "add runtime NEON detection" -5ee2136a Merge "add VP8LAddPixels() to lossless.h" -47435a61 add VP8LAddPixels() to lossless.h -8fa6ac68 remove two ubsan warnings -74fb56fb add runtime NEON detection -4154a839 MIPS update to new Unfilter API -c80b9fc8 Merge "cherry-pick decoder fix for 64-bit android devices" -6235147e cherry-pick decoder fix for 64-bit android devices -d41b8c43 configure: test for -Wformat-* w/-Wformat present -5f95589f Fix WEBP_ALIGN in case the argument is a pointer to a type larger than a byte. -2309fd5c replace num_parts_ by num_parts_minus_one_ (unsigned) -9629f4bc SimplifySegments: quiet -Warray-bounds warning -de47492e Merge "update the Unfilter API in dsp to process one row independently" -2102ccd0 update the Unfilter API in dsp to process one row independently -e3912d56 WebPAnimEncoder: Restore canvas before evaluating blending possibility. -6e12e1e3 WebPAnimEncoder: Fix for single-frame optimization. -602f344a Merge changes I1d03acac,Ifcb64219 -95ecccf6 only apply color-mapping for alpha on the cropped area -47dd0708 anim_diff: Add an experimental option for max inter-frame diff. -aa809cfe only allocate alpha_plane_ up to crop_bottom row -31f2b8d8 WebPAnimEncoder: FlattenSimilarPixels(): look for similar -774dfbdc perform alpha filtering within the decoding loop -a4cae68d lossless decoding: only process decoded row up to last_row -238cdcdb Only call WebPDequantizeLevels() on cropped area -cf6c713a alpha: preparatory cleanup -b95ac0a2 Merge "VP8GetHeaders(): initialize VP8Io with sane value for crop/scale dimensions" -89231394 VP8GetHeaders(): initialize VP8Io with sane value for crop/scale dimensions -5828e199 use_8b_decode -> use_8b_decode_ -8dca0247 fix bug in alpha.c that was triggering a memory error in incremental mode -9a950c53 WebPAnimEncoder: Disable filtering when blending is used with lossy encoding. -eb423903 WebPAnimEncoder: choose max diff for framerect based on quality. -ff0a94be WebPAnimEncoder lossy: ignore small pixel differences for frame rectangles. -f8040084 gif2webp: Remove the 'prev_to_prev_canvas' buffer. -6d8c07d3 Merge "WebPDequantizeLevels(): use stride in CountLevels()" -d96fe5e0 WebPDequantizeLevels(): use stride in CountLevels() -ec1b2407 WebPPictureImport*: check output pointer -c0768769 Merge "Revert "Re-enable encoding of alpha plane with color cache for next release."" -41f14bcb WebPPictureImport*: check src pointer -64eed387 Pass stride parameter to WebPDequantizeLevels() -97934e24 Revert "Re-enable encoding of alpha plane with color cache for next release." -e88c4ca0 fix -m 2 mode-cost evaluation (causing partition0 overflow) -4562e83d Merge "add extra meaning to WebPDecBuffer::is_external_memory" -abdb109f add extra meaning to WebPDecBuffer::is_external_memory -875aec70 enc_neon,cosmetics: break long comment -71e856cf GetMBSSIM,cosmetics: fix alignment -a90edffb fix missing 'extern' for SSIM function in dsp/ -423ecaf4 move some SSIM-accumulation function for dsp/ -f08e6624 Merge "Fix FindClosestDiscretized in near lossless:" -0d40cc5e enc_neon,Disto4x4: remove an unnecessary transpose -e8feb20e Fix FindClosestDiscretized in near lossless: -82006430 anim_util: quiet static analysis warning -a6f23c49 Merge "AnimEncoder: Support progress hook and user data." -a5193774 Merge "Near lossless feature: fix some comments." -da98d31c AnimEncoder: Support progress hook and user data. -33357131 Near lossless feature: fix some comments. -0beed01a cosmetics: fix indent after 2f5e898 -6753f35c Merge "FTransformWHT optimization." -6583bb1a Improve SSE4.1 implementation of TTransform. -7561d0c3 FTransformWHT optimization. -7ccdb734 fix indentation after patch #328220 -6ec0d2a9 clarify the logic of the error path when decoding fails. -8aa352b2 Merge "Remove an unnecessary transposition in TTransform." -db860884 Merge "remove useless #include" -9960c316 Remove an unnecessary transposition in TTransform. -6e36b511 Small speedup in FTransform. -9dbd4aad Merge "fix C and SIMD flags completion." -e60853ea Add missing common_sse2.h file to makefile.unix -696eb2b0 fix C and SIMD flags completion. -2b4fe33e Merge "fix multiple allocation for transform buffer" -2f5e8986 fix multiple allocation for transform buffer -bf2b4f11 Regroup common SSE code + optimization. -4ed650a1 force "-pass 6" if -psnr or -size is used but -pass isn't. -3ef1ce98 yuv_sse2: fix -Wconstant-conversion warning -a7a03e9f Merge changes I4852d18f,I51ccb85d -5e122bd6 gif2webp: set enc_options.verbose = 0 w/-quiet -ab3c2583 anim_encode,DefaultEncoderOptions: init verbose -8f0dee77 Merge "configure: fix builtin detection w/-Werror" -4a7b85a9 cmake: fix builtin detection w/-Werror -b74657fb configure: fix builtin detection w/-Werror -3661b980 Add a CMakeLists.txt -75f4af4d remove useless #include -6c1d7631 avoid Yoda style for comparison -8ce975ac SSE optimization for vector mismatch. -7db53831 Merge tag 'v0.5.0' -37f04949 update ChangeLog (tag: v0.5.0-rc1, tag: v0.5.0, origin/0.5.0) -7e7b6ccc faster rgb565/rgb4444/argb output -4c7f565f update NEWS -1f62b6b2 update AUTHORS -e224fdc8 update mailmap -71100500 bump version to 0.5.0 -230a685e README: update help text, repo link -d48e427b Merge "demux: accept raw bitstreams" -99a01f4f Merge "Unify some entropy functions." -4b025f10 Merge "configure: disable asserts by default" -92cbddf8 Merge "fix PrintBlockInfo()" -ca509a33 Unify some entropy functions. -367bf903 fix PrintBlockInfo() -b0547ff0 move back common constants for lossless_enc*.c into the .h -fb4c7832 lossless: simpler alpha cleanup preprocessing -ba7f4b68 Merge "anim_diff: add brief description of options" -47ddd5a4 Move some codec logic out of ./dsp . -b4106c44 anim_diff: add brief description of options -357f455d yuv_sse2: fix 32-bit visual studio build -b9d80fa4 configure: disable asserts by default -7badd3da cosmetic fix: sizeof(type) -> sizeof(*var) -80ce27d3 Speed up 24-bit packing / unpacking in YUV / RGB conversions. -68eebcb0 remove a TODO about rotation -2dee2966 remove few obsolete TODO about aligned loads in SSE2 -e0c0bb34 remove TODO about unused ref_lf_delta[] -9cf1cc2b remove few TODO: * 256 -> RD_DISTO_MULT * don't use TDisto for UV mode picking -79189645 Merge changes from topic 'demux-fragment-cleanup' -47399f92 demux: remove GetFragment() -d3cfb79a demux: remove dead fragment related TODO -ab714b8a demux, Frame: remove is_fragment_ field -b105921c yuv_sse2, cosmetics: fix indent -466c92e8 demux,WebPIterator: remove fragment_num/num_fragments -11714ff1 demux: remove WebPDemuxSelectFragment -c0f7cc47 fix for bug #280: UMR in next->bits -578beeb8 Merge "enc/Makefile.am: add missing headers" -1a819f00 makefile.unix: make visibility=hidden the default -d4f9c2ef enc/Makefile.am: add missing headers -846caff4 configure: check for -fvisibility=hidden -3f3ea2c5 demux: accept raw bitstreams -d6dad5d0 man cwebp: add precision about exactness of the 'lossless' mode -46bb1e34 Merge "gifdec: remove utils.h include" -2b882e94 Merge "Makefile.vc: define WEBP_HAVE_GIF for gifdec.c" -892b9238 Merge "man/*, AUTHORS: clarify origin of the tool" -e5687a18 Merge "fix optimized build with -mcmodel=medium" -e56e6859 Makefile.vc: define WEBP_HAVE_GIF for gifdec.c -4077d944 gifdec: remove utils.h include -b5e30dac man/*, AUTHORS: clarify origin of the tool -b275e598 fix optimized build with -mcmodel=medium -64da45a9 cosmetics, cwebp: fix indent -038a060d Merge "add disto-based refinement for UV mode (if method = 1 or 2)" -2835089d Provide an SSE2 implementation of CombinedShannonEntropy. -e6c93519 add disto-based refinement for UV mode (if method = 1 or 2) -04507dc9 Merge "fix undefined behaviour during shift, using a cast" -793c5261 Merge "wicdec: add support for reading from stdin" -d3d16397 Optimize the heap usage in HistogramCombineGreedy. -202a710b fix undefined behaviour during shift, using a cast -14d27a46 improve method #2 by merging DistoRefine() and SimpleQuantize() -cb1ce996 Merge "10% faster table-less SSE2/NEON version of YUV->RGB conversion" -ac761a37 10% faster table-less SSE2/NEON version of YUV->RGB conversion -79fcf29a wicdec: add support for reading from stdin -015f173f Merge "cwebp: add support for stdin input" -a9947c32 cwebp: add support for stdin input -7eb01ff3 Merge "Improved alpha cleanup for the webp encoder when prediction transform is used." -fb8c9106 Merge "introduce WebPMemToUint32 and WebPUint32ToMem for memory access" -bd91af20 Merge "bit_reader: remove aarch64 BITS TODO" -6c702b81 Speed up hash chain initialization using memset. -4c60f63c make ReadPNG and ReadJPEG take a filename instead of a FILE -464ed10f bit_reader: remove aarch64 BITS TODO -d478e589 Merge "configure: update issue tracker" -69381113 Improved alpha cleanup for the webp encoder when prediction transform is used. -2c08aac8 introduce WebPMemToUint32 and WebPUint32ToMem for memory access -010ca3d1 Fix FindMatchLength with non-aligned buffers. -a90e1e3f README: add prerequisites for an autoconf build -458f0866 configure: update issue tracker -33914595 vwebp: work around the transparent background with GLUT bug -e4a7eed4 cosmetics: fix indent -08375129 Merge "Make a separate case for low_effort in CopyImageWithPrediction" -aa2eb2d4 Merge "cosmetics: fix indent" -b7551e90 cosmetics: fix indent -5bda52d4 Make a separate case for low_effort in CopyImageWithPrediction -66fa598a Merge "configure: fix intrinsics build w/older gcc" -5ae220be backward_references.c: Fixed compiler warning -1556da09 Merge "configure: restore 2 warnings" -71a17e58 configure: restore 2 warnings -9eeabc07 configure: fix intrinsics build w/older gcc -363babe2 Merge "fix some warning about unaligned 32b reads" -a1411782 Optimization in hash chain comparison for 64 bit Arrays were compared 32 bits at a time, it is now done 64 bits at a time. Overall encoding speed-up is only of 0.2% on @skal's small PNG corpus. It is of 3% on my initial 1.3 Mp desktop screenshot image. -829bd141 Combine Huffman cost and bit entropy into one loop -a7a954c8 Merge "lossless: make prediction in encoder work per scanline" -61b605b4 Merge "fix of undefined multiply (int32 overflow)" -239421c5 lossless: make prediction in encoder work per scanline -f5ca40e0 fix of undefined multiply (int32 overflow) -5cd2ef4c Merge changes from topic 'win-threading-compat' -76ce9187 Makefile.vc: enable WEBP_USE_THREAD for windows phone -d2afe974 thread: use CreateThread for windows phone -0fd0e12b thread: use WaitForSingleObjectEx if available -63fadc9f thread: use InitializeCriticalSectionEx if available -110ad583 thread: use native windows cond var if available -912c9fdf dec/webp: use GetLE(24|32) from utils -f1694481 utils/GetLE32: correct uint32 promotion -158763de Merge "always call WebPInitSamplers(), don't try to be smart" -3770f3bb Merge "cleanup the YFIX/TFIX difference by removing some code and #define" -a40f60a9 Merge "3% speed improvement for lossless webp encoder for low effort mode:" -ed1c2bc6 always call WebPInitSamplers(), don't try to be smart -b8c44f1a 3% speed improvement for lossless webp encoder for low effort mode: -997e1038 cleanup the YFIX/TFIX difference by removing some code and #define -d73d1c8b Merge "Make discarding invisible RGB values (cleanup alpha) the default." -1f9be97c Make discarding invisible RGB values (cleanup alpha) the default. -f240117b Make dwebp listen more to the -quiet flag -b37b0179 fix for issue #275: don't compare to out-of-bound pointers -21735e06 speed-up trivial one-symbol decoding case for lossless -397863bd Refactor CopyPlane() and CopyPixels() methods: put them in utils. -6ecd72f8 Re-enable encoding of alpha plane with color cache for next release. -1f7148a4 Merge "remove unused fields from WebPDecoderOptions and WebPBitstreamFeatures" -6ae395fa Merge "use ExReadFile() for ReadYUV()" -8076a00e gitignore list: add anim_diff. -1c1702d8 use ExReadFile() for ReadYUV() -775d3a37 remove unused fields from WebPDecoderOptions and WebPBitstreamFeatures -c13245c7 AnimEncoder: Add a GetError() method. -688b265d AnimDecoder API: Add a GetDemuxer() method. -1aa4e3d6 WebPAnimDecoder: add an option to enable multi-threaded decoding. -3584abca AnimDecoder: option to decode to common color modes. -afd5a62c Merge "mux.h does NOT need to include encode.h" -8550d443 Merge "migrate anim_diff tool from C++ to C89" -96201e50 migrate anim_diff tool from C++ to C89 -945cfa3b mux.h does NOT need to include encode.h -8da07e8d Merge "~2x faster SSE2 RGB24toY, BGR24toY, ARGBToY|UV" -bfd3fc02 ~2x faster SSE2 RGB24toY, BGR24toY, ARGBToY|UV -02432427 man/cwebp.1, cosmetics: escape '-'s -96f5b423 man/cwebp: group lossy-only options -52fdbdfe extract some RGB24 to Luma conversion function from enc/ to dsp/ -ab8c2300 add missing \n -8304179a sync NEWS with 0.4.4 -5bd04a08 sync versions with 0.4.4 -8f1fcc15 Merge "Move ARGB->YUV functions from dec/vp8l.c to dsp/yuv.c" -25bf2ce5 fix some warning about unaligned 32b reads -922268fd s/TIFF/WebP -fa8927ef Move ARGB->YUV functions from dec/vp8l.c to dsp/yuv.c -9b373598 Merge "for ReadXXXX() image-readers, use the value of pic->use_argb" -f7c507a5 Merge "remove unnecessary #include "yuv.h"" -7861578b for ReadXXXX() image-readers, use the value of pic->use_argb -14e4043b remove unnecessary #include "yuv.h" -469ba2cd vwebp: fix incorrect clipping w/NO_BLEND -4b9186b2 update issue tracker url -d64d376c change WEBP_ALIGN_CST value to 31 -f717b828 vp8l.c, cosmetics: fix indent after 95509f9 -927ccdc4 Merge "fix alignment of allocated memory in AllocateTransformBuffer" -fea94b2b fix alignment of allocated memory in AllocateTransformBuffer -5aa8d61f Merge "MIPS: rescaler code synced with C implementation" -e7fb267d MIPS: rescaler code synced with C implementation -93c86ed5 Merge "format_constants.h: MKFOURCC, correct cast" -5d791d26 format_constants.h: MKFOURCC, correct cast -65726cd3 dsp/lossless: Average2, make a constant unsigned -d26d9def Use __has_builtin to check clang support -12ec204e moved ALIGN_CST into util/utils.h and renamed WEBP_ALIGN_xxx -a2640838 Merge "rescaler: ~20% faster SSE2 implementation for lossless ImportRowExpand" -3fb600d5 Merge "wicdec: fix alpha detection w/64bpp BGRA/RGBA" -67c547fd rescaler: ~20% faster SSE2 implementation for lossless ImportRowExpand -99e3f812 Merge "large re-organization of the delta-palettization code" -95509f99 large re-organization of the delta-palettization code -74fb458b fix for weird msvc warning message -ae49ad86 Merge "SSE2 implementation of ImportRowShrink" -932fd4df SSE2 implementation of ImportRowShrink -badfcbaa wicdec: fix alpha detection w/64bpp BGRA/RGBA -35cafa6c Merge "iosbuild: fix linking with Xcode 7 / iOS SDK 9" -b0c9d8af label rename: NO_CHANGE -> NoChange -b4e731cd neon-implementation for rescaler code -db1321a6 iosbuild: fix linking with Xcode 7 / iOS SDK 9 -6dfa5e3e rescaler: better handling of the fxy_scale=0 special case. -55c05293 Revert "rescaler: better handling of the fxy_scale=0 special case." -9f226bf8 rescaler: better handling of the fxy_scale=0 special case. -f7b8f907 delta_palettization.*: add copyright -c1e1b710 Changed delta palette to compress better -0dd28267 Merge "Add delta_palettization feature to WebP" -48f66b66 Add delta_palettization feature to WebP -27933e2a anim_encoder: drop a frame if it has same pixels as the prev frame. -df9f6ec8 Merge "webpmux/DisplayInfo: send non-error output to stdout" -8af4993b Merge "rescaler_mips_dsp_r2: cosmetics, fix indent" -2b9d2495 Merge "rescaler: cosmetics, join two lines" -cc020a8c webpmux/DisplayInfo: send non-error output to stdout -a288e746 configure: add -Wshorten-64-to-32 -c4c3cf2d pngdec: fix type conversion warnings -bef8e97d webpmux: fix type conversion warning -5a84460d rescaler_mips_dsp_r2: cosmetics, fix indent -acde0aae rescaler: cosmetics, join two lines -306ce4fd rescaler: move the 1x1 or 2x1 handling one level up -cced974b remove _mm_set_epi64x(), which is too specific -56668c9f fix warnings about uint64_t -> uint32_t conversion -76a7dc39 rescaler: add some SSE2 code -1df1d0ee rescaler: harmonize function protos -9ba1894b rescaler: simplify ImportRow logic -5ff0079e fix rescaler vertical interpolation -cd82440e VP8LAllocateHistogramSet: align histogram[] entries -a406b1dd Merge "fix memory over-allocation in lossless rescaler init" -0fde33e3 add missing const in VP8InitFrame signature -ac7d5e8d fix memory over-allocation in lossless rescaler init -017f8ccc Loosen the buffer size checks for Y/U/V/A too. -15ca5014 loosen the padding check on buffer size -d623a870 dec_neon: add whitespace around stringizing operator -29377d55 dsp/mips: cosmetics: add whitespace around XSTR macro -eebaf97f dsp/mips: add whitespace around stringizing operator -d39dc8f3 Create a WebPAnimDecoder API. -03fb7522 gif2webp: print output file size -14efabbf Android: limit use of cpufeatures -7b83adbe preparatory cosmetics for Rescaler code fix and clean-up -77fb41c2 dec/vp8l/DecodeAlphaData: remove redundant cast -90fcfcd9 Insert less hash chain entries from the beginnings of long copies. -bd55604d SSE2: add yuv444 converters, re-using yuv_sse2.c -41a5d99d add a -quiet option to 'dwebp' -80ab3edb Merge "README: update dwebp help output after 1e595fe" -32b71b2e README: update dwebp help output after 1e595fe -3ec11827 use the DispatchAlpha() call from dsp -c5f00621 incorporate bzero() into WebPRescalerInit() instead of call site -3ebcdd41 remove duplicate "#include " -1e595fe1 dwebp: add -resize as a synonym for -scale -24a96932 dec: allow 0 as a scaling dimension -b9187242 utils/rescaler: add WebPRescalerGetScaledDimensions -923e8eda Merge "update NEWS" -020fd099 Merge "WebPPictureDistortion: support ARGB format for 'pic' when computing distortion." -6a5292f6 update NEWS -56a2e9f5 WebPPictureDistortion: support ARGB format for 'pic' when computing distortion. -0ae582e4 configure: test and add -Wunreachable-code -c2f9dc06 bit_writer: convert VP8L macro values to immediates -b969f888 Reduce magic in palette reordering -acb297e9 anim_diff: add a -raw_comparison flag -155c1b22 Merge changes I76f4d6fe,I45434639 -717e4d5a mips32/mipsDSPr2: function ImportRow rebased -7df93893 fix rescaling bug (uninitialized read, see bug #254). -5cdcd561 lossless_enc_neon: add VP8LTransformColor -a53c3369 lossless_neon: add VP8LTransformColorInverse -99131e7f Merge changes I9fb25a89,Ibc648e9e -c4556766 simplify the main loop for downscaling -2a010f99 lossless_neon: remove predictors 5-13 -ca221bbc ll_enc_neon: enable VP8LSubtractGreenFromBlueAndRed -585d93db Container spec: clarify ordering of ALPH chunk. -01d61fd9 lossless: ~20 % speedup -f722c8f0 lossless: Speed up ComputeCacheEntropy by 40 % -1ceecdc8 add a VP8LColorCacheSet() method for color cache -17eb6099 lossless: Allow copying from prev row in rle-mode. -f3a7a5bf lossless: bit writer optimization -d97b9ff7 Merge changes from topic 'lossless-enc-improvements' -0250dfcc msvc: fix pointer type warning in BitsLog2Floor -52931fd5 lossless: combine the Huffman code with extra bits -c4855ca2 lossless: Inlining add literal -8e9c94de lossless: simplify HashChainFindCopy heuristics -888429f4 lossless: 0.5 % compression density improvement -7b23b198 lossless: Add zeroes into the predicted histograms. -85b44d8a lossless: encoding, don't compute unnecessary histo -d92453f3 lossless: Remove about 25 % of the speed degradation -2cce0317 Faster alpha coding for webp -5e75642e lossless: rle mode not to accept lengths smaller than 4. -84326e4a lossless: Less code for the entropy selection -16ab951a lossless: 0.37 % compression density improvement -822f113e add WebPFree() to the API -0ae2c2e4 SSE2/SSE41: optimize SSE_16xN loops -39216e59 cosmetics: fix indent after 32462a07 -559e54ca Merge "SSE2: slightly faster FTransformWHT" -8ef9a63b SSE2: slightly faster FTransformWHT -f27f7735 lossless_neon: enable VP8LAddGreenToBlueAndRed -36e9c4bc SSE2: minor cosmetrics on in-loop filter code -4741fac4 dsp/lossless_*sse2: remove some unnecessary inlines -1819965e fix warning ("left shift of negative value") using a cast -70170014 SSE2: speed-up some lossless-encoding functions -abcb0128 Merge "SSE2: slightly faster (~5%) AddGreenToBlueAndRed()" -2df5bd30 Merge "Speedup to HuffmanCostCombinedCount" -9e356d6b SSE2: slightly faster (~5%) AddGreenToBlueAndRed() -fc6c75a2 SSE2: 53% faster TransformColor[Inverse] -49073da6 SSE2: 46% speed-up of TransformColor[Inverse] -32462a07 Speedup to HuffmanCostCombinedCount -f3d687e3 SSE4.1 implementation of some lossless encoding functions -bfc300c7 SSE4.1 implementation of some alpha-processing functions -7f9c98f2 Merge "sse2 in-loop: simplify SignedShift8b() a bit" -ef314a5d dec_sse2/GetNotHEV: micro optimization -a729cff9 sse2 in-loop: simplify SignedShift8b() a bit -422ec9fb simplify Load8x4() a bit -8df238ec Merge "remove some duplicate FlipSign()" -751506c4 remove some duplicate FlipSign() -65ef5afc Merge "lossless: 0.13% compression density gain" -2beef2f2 lossless: 0.13% compression density gain -3033f24c lossless: 0.06 % compression density improvement -64960da9 dec_neon: add VE8uv / VE16 -14dbd87b dec_neon: add HE8uv / HE16 -ac768011 introduce FTransform2 to perform two transforms at a time. -aa6065ae dec_neon: use vld1_dup(mem) rather than vdup(mem[0]) -8b63ac78 Merge "dec_neon: add TM16" -f51be09e Merge "dec_neon/TrueMotion: simply left border load" -dc48196b dec_neon: add TM16 -ea95b305 dec_neon/TrueMotion: simply left border load -f262d612 speed-up SetResidualSSE2 -bf46d0ac fix mips2 build target -929a0fdc enc_sse2/TTransform: simplify abs calculation -17dbd058 enc_sse2/CollectHistogram: simplify abs calculation -a6c15936 dec_neon: add DC16 intra predictors -03b4f50d Makefile.vc: add anim_diff build support. -1b989874 Merge changes I9cd84125,Iee7e387f,I7548be72 -acd7b5af Introduce a test tool anim_diff. -f274a96c dsp/enc_sse2: add luma4 intra predictors -040b11bd dsp/enc_sse2: add chroma intra predictors -aee021bb dsp/enc_sse2: add luma16 intra predictors -9e00a499 makefile.unix: remove superclean target -cefc9c09 makefile.unix: clean up after extras target -4c9af023 dec_neon: add DC8uvNoTopLeft -dd55b873 Merge "doc/webp-container-spec: update repo browser link" -f0486968 doc/webp-container-spec: update repo browser link -9287761d Merge "GetResidualCostSSE2: simplify abs calculation" -0e009366 dsp/cpu.c(x86): check maximum supported cpuid feature -b243a4bc GetResidualCostSSE2: simplify abs calculation -6d4602b8 Merge "fix typo: constitutes -> constitute" -5fe1fe37 fix typo: constitutes -> constitute -b83bd7c4 Merge "populate 'libwebpextras' with: import gray, rgb565 and rgb4444 functions" -b0114a32 Merge "histogram.h: cosmetics: remove unnecessary includes" -feab45ef gifdec: Move inclusion of webp/config.h to header. -dbba67d1 histogram.h: cosmetics: remove unnecessary includes -e978fec6 Merge "VP8LBitReader: fix remaining ubsan error with large shifts" -d6fe5884 Merge "ReconstructRow: move some one-time inits out of the main loop" -a21d647c ReconstructRow: move some one-time inits out of the main loop -7a01c3c3 VP8LBitReader: fix remaining ubsan error with large shifts -7fa67c9b change GetPixPairHash64() return type to uint32_t -ec1fb9f8 Merge "dsp/enc.c: cosmetics: move DST() def closer to use" -7073bfb3 Merge "split 64-mult hashing into two 32-bit multiplies" -0768b252 dsp/enc.c: cosmetics: move DST() def closer to use -6a48b8f0 Merge "fix MSVC size_t->int conversion warning" -1db07cde Merge "anim_encode: cosmetics: fix alignment" -e28271a3 anim_encode: cosmetics: fix alignment -7fe357b8 split 64-mult hashing into two 32-bit multiplies -af74c145 populate 'libwebpextras' with: import gray, rgb565 and rgb4444 functions -61214134 remove VP8Residual::cost unused field -e2544823 fix MSVC size_t->int conversion warning -b69a6c35 vwebp: don't redefine snprintf with VS2015+ -0ac29c51 AnimEncoder API: Consistent use of trailing underscores in struct. -d4845550 AnimEncoder API: Use timestamp instead of duration as input to Add(). -9904e365 dsp/dec_sse2: DC8uv / DC8uvNoLeft speedup -7df20497 dsp/dec_sse2: DC16 / DC16NoLeft speedup -8e515dfe Merge "makefile.unix: add some missing headers" -db12250f cosmetics: vp8enci.h: break long line -bf516a87 makefile.unix: add some missing headers -b44eda3f dsp: add DSP_INIT_STUB -03e76e96 clarify the comment about double-setting the status in SetError() -9fecdd71 remove unused EmitRGB() -43f010dd move ReconstructRow to top -82d98020 add a dec/common.h header to collect common enc/dec #defines -5d4744a2 Merge "enc_sse41: add Disto4x4 / Disto16x16" -e38886a7 mux.h: Bump up ABI version -46305ca6 configure: add --disable- -2fc8b658 CPPFLAGS->CFLAGS for detecting sse4.1 in preprocessor -1a338fb3 enc_sse41: add Disto4x4 / Disto16x16 -94055503 encoding SSE4.1 stub for StoreHistogram + Quantize + SSE_16xN -c64659e1 remove duplicate variables after the lossless{_enc}.c split -67ba7c7a enc_sse2: call local FTransform in CollectHistogram -18249799 dsp: s/VP8LSetHistogramData/VP8SetHistogramData/ -ede5e158 cosmetics: dsp/lossless.h: reorder prototypes -553051f7 dsp/lossless: split enc/dec functions -9064adc8 Merge "conditionally add -msse4.1 in Makefile.unix" -cecf5096 dsp/yuv*.c: rework WEBP_USE_ ifdef -6584d398 dsp/upsampling*.c: rework WEBP_USE_ ifdef -80809422 dsp/rescaler*.c: rework WEBP_USE_ ifdef -1d93ddec dsp/lossless*.c: rework WEBP_USE_ ifdef -73805ff2 dsp/filters*.c: rework WEBP_USE_ ifdef -fbdcef24 dsp/enc*.c: rework WEBP_USE_ ifdef -66de69c1 dsp/dec*.c: rework WEBP_USE_ ifdef -48e4ffd1 dsp/cost*.c: rework WEBP_USE_ ifdef -29fd6f90 dsp/argb*.c: rework WEBP_USE_ ifdef -80ff3813 dsp/alpha*.c: rework WEBP_USE_ ifdef -bf09cf1e conditionally add -msse4.1 in Makefile.unix -e9570dd9 stub for SSE4.1 support. -4a95384b Merge "dsp: add sse4.1 detection" -cabf4bd2 dsp: add sse4.1 detection -4ecba1ab thread.h: rename interface param -b8d706c8 Merge "sync versions with 0.4.3" -ae64a711 Merge "add shell for libwebpextras" -92a5da9c sync versions with 0.4.3 -9d4e2d16 Merge "~30% faster smart-yuv (-pre 4) with early-out criterion" -b1bdbbab ~30% faster smart-yuv (-pre 4) with early-out criterion -7efb9748 Merge "Disable NEON code on Native Client" -ac4f5784 Disable NEON code on Native Client -0873f85b AnimEncoder API: Support input frames in YUV(A) format. -5c176d2d add shell for libwebpextras -44bd9561 fix signature for VP8RecordCoeffTokens() -c9b8ea0e small cosmetics on TokenBuffer. -76394c09 Merge "MIPS: dspr2: added optimization for TrueMotion" -0f773693 WebPPictureRescale: add a note about 0 width/height -241bb5d9 MIPS: dspr2: added optimization for TrueMotion -6cef0e4f examples/Android.mk: add webpmux_example target -53c16ff0 Android.mk: add webpmux target -21852a00 Android.mk: add webpdemux target -8697a3bc Android.mk: add webpdecoder{,_static} targets -4a670491 Android.mk: split source lists per-directory -b5e79422 MIPS: dspr2: Added optimization for some convert functions -0f595db6 MIPS: dspr2: Added optimization for some convert functions -8a218b4a MIPS: [mips32|dspr2]: GetResidualCost rebased -ef987500 Speedup method StoreImageToBitMask by 5%. -602a00f9 fix iOS arm64 build with Xcode 6.3 -23820507 1-2% faster encoding by removing an indirection in GetResidualCost() -eddb7e70 MIPS: dspr2: added otpimization for DC8uv, DC8uvNoTop and DC8uvNoLeft -73ba2915 MIPS: dspr2: added optimization for functions RD4 and LD4 -c7129da5 Merge "4-5% faster encoding using SSE2 for GetResidualCost" -94380d00 MIPS: dspr2: added optimizaton for functions VE4 and DC4 -2a407092 4-5% faster encoding using SSE2 for GetResidualCost -17e19862 Merge "MIPS: dspr2: added optimization for simple filtering functions" -3ec404c4 Merge "dsp: normalize WEBP_TSAN_IGNORE_FUNCTION usage" -b969f5df dsp: normalize WEBP_TSAN_IGNORE_FUNCTION usage -d7b8e711 MIPS: dspr2: added optimization for simple filtering functions -235f774e Merge "MIPS: dspr2: Added optimization for function VP8LTransformColorInverse_C" -42a8a628 MIPS: dspr2: Added optimization for function VP8LTransformColorInverse_C -b442bef3 Merge "ApplyFiltersAndEncode: only copy lossless stats" -b510fbfe doc/webp-container-spec: note MSB order for chunk diagrams -9bc0f922 ApplyFiltersAndEncode: only copy lossless stats -3030f115 Merge "dsp/mips: add some missing TSan annotations" -dfcf4593 Merge "MIPS: dspr2: Added optimization for function VP8LAddGreenToBlueAndRed_C" -55c75a25 dsp/mips: add some missing TSan annotations -2cb879f0 MIPS: dspr2: Added optimization for function VP8LAddGreenToBlueAndRed_C -e1556010 move some cost tables from enc/ to dsp/ -c3a03168 Merge "picture_csp: fix build w/USE_GAMMA_COMPRESSION undefined" -39537d7c Merge "VP8LDspInitMIPSdspR2: add missing TSan annotation" -1dd419ce picture_csp: fix build w/USE_GAMMA_COMPRESSION undefined -43fd3543 VP8LDspInitMIPSdspR2: add missing TSan annotation -c7233dfc Merge "VP8LDspInit: remove memcpy" -0ec4da96 picture_csp::InitGammaTables*: add missing TSan annotations -35579a49 VP8LDspInit: remove memcpy -97f6aff8 VP8YUVInit: add missing TSan annotation -f9016d66 dsp/enc::InitTables: add missing TSan annotation -e3d9771a VP8EncDspCostInit*: add missing TSan annotations -d97c143d Merge "doc/webp-container-spec: cosmetics" -309b7908 MIPS: mips32: Added optimization for function SetResidualCoeffs -a987faed MIPS: dspr2: added optimization for function GetResidualCost -e7d3df23 doc/webp-container-spec: cosmetics -be6635e9 Merge "VP8TBufferClear: remove some misleading const's" -02971e72 Merge "VP8EmitTokens: remove unnecessary param void cast" -3b77e5a7 VP8TBufferClear: remove some misleading const's -aa139c8f VP8EmitTokens: remove unnecessary param void cast -c24d8f14 cosmetics: upsampling_sse2: add const to some casts -1829c42c cosmetics: lossless_sse2: add const to some casts -183168f3 cosmetics: enc_sse2: add const to some casts -860badca cosmetics: dec_sse2: add const to some casts -0254db97 cosmetics: argb_sse2: add const to some casts -1aadf856 cosmetics: alpha_processing_sse2: add const to some casts -1579de3c vwebp: clear canvas at the beginning of each loop -4b9fa5d0 Merge "webp-container-spec: clarify background clear on loop" -4c82284d Updated the near-lossless level mapping. -56039479 webp-container-spec: clarify background clear on loop -19f0ba0e Implement true-motion prediction in SSE2 -774d4cb7 make VP8PredLuma16[] array non-const -d7eabb80 Merge "MIPS: dspr2: Added optimization for function CollectHistogram" -fe42739c Use integers for kmin/kmax for simplicity. -b9df35f7 AnimEncode API: kmax=0 should imply all keyframes. -6ce296da MIPS: dspr2: Added optimization for function CollectHistogram -2c906c40 vwebp: remove unnecessary static Help() prototype -be0fd1d5 Merge "dec/vp8: clear 'dither_' on skipped blocks" -e96170fe Merge "vwebp/animation: display last frame on end-of-loop" -0f017b56 vwebp/animation: display last frame on end-of-loop -c86b40cc enc/near_lossless.c: fix alignment -66935fb9 dec/vp8: clear 'dither_' on skipped blocks -b7de7946 Merge "lossless_neon: enable subtract green for aarch64" -77724f70 SSE2 version of GradientUnfilter -416e1cea lossless_neon: enable subtract green for aarch64 -72831f6b Speedup AnalyzeAndInit for low effort compression. -a6597483 Speedup Analyze methods for lossless compression. -98c81386 Enable Near-lossless feature. -c6b24543 AnimEncoder API: Fix for kmax=1 and default kmin case. -022d2f88 add SSE2 variants for alpha filtering functions -2db15a95 Temporarily disable encoding of alpha plane with color cache. -1d575ccd Merge "Lossless decoding: Remove an unnecessary if condition." -cafa1d88 Merge "Simplify backward refs calculation for low-effort." -7afdaf84 Alpha coding: reorganize the filter/unfiltering code -4d6d7285 Simplify backward refs calculation for low-effort. -ec0d1be5 Cleaup Near-lossless code. -9814ddb6 Remove the post-transform near-lossless heuristic. -4509e32e Lossless decoding: Remove an unnecessary if condition. -f2ebc4a8 Merge "Regression fix for lossless decoding" -783a8cda Regression fix for lossless decoding -9a062b8e AnimEncoder: Bugfix for kmin = 1 and kmax = 2. -0f027a72 simplify smart RGB->YUV conversion code -0d5b334e BackwardReferencesHashChainFollowChosenPath: remove unused variable -f480d1a7 Fix to near lossless artefacts on palettized images. -d4615d08 Merge changes Ia1686828,I399fda40 -cb4a18a7 rename HashChainInit into HashChainReset -f079e487 use uint16_t for chosen_path[] -da091212 MIPS: dspr2: Added optimization for function FTransformWHT -b8c20135 Merge "wicdec: (msvs) quiet some /analyze warnings" -9b228b54 wicdec: (msvs) quiet some /analyze warnings -daeb276a Merge "MIPS: dspr2: Added optimization for MultARGBRow function" -cc087424 Merge "dsp/cpu: (msvs) add include for __cpuidex" -4a82aab5 Merge changes I87544e92,I0bb6cda5 -7a191398 dwebp/WritePNG: mark png variables volatile -775dfad2 dwebp: include setjmp.h w/WEBP_HAVE_PNG -47d26be7 dwebp: correct sign in format strings -f0e0677b VP8LEncodeStream: add an assert -c5f7747f VP8LColorCacheCopy: promote an int before shifting -0de5f33e dsp/cpu: (msvs) add include for __cpuidex -7d850f7b MIPS: dspr2: Added optimization for MultARGBRow function -54875293 MIPS: dspr2: added optimization for function QuantizeBlock -4fbe9cf2 dsp/cpu: (msvs) avoid immintrin.h on _M_ARM -3fd59039 simplify/reorganize arguments for CollectColorBlueTransforms -b9e356b9 Disable costly TraceBackwards for method=0. -a7e7caa4 MIPS: dspr2: added optimization for function TransformColorRed -2cb39180 Merge "MIPS: dspr2: added optimization for function TransformColorBlue" -279e6613 Merge "dsp/cpu: add include for _xgetbv() w/MSVS" -b6c0428e dsp/cpu: add include for _xgetbv() w/MSVS -d1c4ffae gif2webp: Move GIF decoding related code to a support library. -07c39559 Merge "AnimEncoder API: Add info in README.mux" -7b161973 MIPS: dspr2: added optimization for function TransformColorBlue -d7c4b02a cpu: fix AVX2 detection for gcc/clang targets -9d299469 AnimEncoder API: Add info in README.mux -d581ba40 follow-up: clean up WebPRescalerXXX dsp function -f8740f0d dsp: s/USE_INTRINSICS/WEBP_USE_INTRINSICS/ -ce73abe0 Merge "introduce a separate WebPRescalerDspInit to initialize pointers" -ab66beca introduce a separate WebPRescalerDspInit to initialize pointers -205c7f26 fix handling of zero-sized partition #0 corner case -cbcdd5ff Merge "move rescaler functions to rescaler* files in src/dsp/" -bf586e88 Merge changes I230b3532,Idf3057a7 -6dc79dc2 Merge "anim_encode: fix type conversion warnings" -11fce25a Merge "dec_neon: remove returns from void functions" -c4e63f99 Makefile.vc: add gif2webp target -4f43d38c enable NEON for Windows ARM builds -3f6615ac Makefile.vc: add rudimentary Windows ARM support -e7c5954c dec_neon: remove returns from void functions -f79c163b anim_encode: fix type conversion warnings -0f54f1ec Remove gif2webp_util which is no longer needed. -cbcbedd0 move rescaler functions to rescaler* files in src/dsp/ -ac79ed19 webpmux: remove experimental fragment handling -e8694d4d mux: remove experimental FRGM parsing -9e92b6ea AnimEncoder API: Optimize single-frame animated images -abbae279 Merge "Move over gif2webp to the new AnimEncoder API." -a28c4b36 MIPS: move WORK_AROUND_GCC define to appropriate place -012d2c60 MIPS: dspr2: added optimization for functions SSEAxB -67720c8b Move over gif2webp to the new AnimEncoder API. -9241ecf4 MIPS: dspr2: added optimization for function Average -9422211d Merge "Tune BackwardReferencesLz77 for low_effort (m=0)." -df40057b Merge "Speedup VP8LGetHistoImageSymbols for low effort (m=0) mode." -ea08466d Tune BackwardReferencesLz77 for low_effort (m=0). -b0b973c3 Speedup VP8LGetHistoImageSymbols for low effort (m=0) mode. -c6d32927 argb_sse2: cosmetics -67f601cd make the 'last_cpuinfo_used' variable names unique -b9489861 AnimEncoder API: Init method for default options. -856f8ec1 Merge "AnimEncoder API: Remove AnimEncoderFrameOptions." -c537514d Merge "AnimEncoder API: GenerateCandidates bugfix." -dc0ce039 Merge "AnimEncoder API: Compute change rectangle for first frame too." -f00b639b Merge "AnimEncoder API: In Assemble(), always set animation parameters." -29ed796c Merge "AnimEncoder lib cleanup: prev to prev canvas not needed." -9f0dd6e5 Merge "WebPAnimEncoder API: Header and implementation" -5e56bbe0 AnimEncoder API: Remove AnimEncoderFrameOptions. -b902c3ea AnimEncoder API: GenerateCandidates bugfix. -ef3c39bb AnimEncoder API: Compute change rectangle for first frame too. -eec423ab AnimEncoder API: In Assemble(), always set animation parameters. -ae1c046e AnimEncoder lib cleanup: prev to prev canvas not needed. -4b997ae4 WebPAnimEncoder API: Header and implementation -72208bec move argb_*.o build target to encoder list -95920538 Merge "multi-thread fix: lock each entry points with a static var" -4c1b300a Merge "SSE2 implementation of VP8PackARGB" -fbcc2004 Merge "add -Wformat-nonliteral and -Wformat-security" -80d950d9 add -Wformat-nonliteral and -Wformat-security -04c20e75 Merge "MIPS: dspr2: added optimization for function Intra4Preds" -a437694a multi-thread fix: lock each entry points with a static var -ca7f60db SSE2 implementation of VP8PackARGB -72d573f6 simplify the PackARGB signature -4e2589ff demux: restore strict fragment flag check -4ba8e074 Merge "webp-container-spec: remove references to fragments" -e752f0a6 Merge "demux: remove experimental FRGM parsing" -f8abb112 Merge changes I109ec4d9,I73fe7743 -ae2188a4 MIPS: dspr2: added optimization for function Intra4Preds -1f4b8642 move VP8EncDspARGBInit() call closer to where it's needed -14108d78 dec_neon: add DC8uvNoTop / DC8uvNoLeft -d8340da7 dec_neon: add DC8uv -a66e66c7 webp-container-spec: remove references to fragments -7ce8788b MIPS: dspr2: added optimization for function MakeARGB32 -012e623d demux: remove experimental FRGM parsing -87c3d531 method=0: Don't evaluate any predictor -6f4fcb98 Merge "MIPS: dspr2: added optimization for function ImportRow" -24284459 replace unneeded calls to HistogramCopy() by swaps -bdf7b40c MIPS: dspr2: added optimization for function ImportRow -e66a9225 Merge "MIPS: dspr2: added optimization for function ExportRowC" -c279fec1 MIPS: dspr2: added optimization for function ExportRowC -31a9cf64 Speedup WebP lossless compression for low effort (m=0) mode with following: - Disable Cross-Color transform. - Evaluate predictors #11 (paeth), #12 and #13 only. -9275d91c MIPS: dspr2: added optimization for function TrueMotion -26106d66 Merge "enc_neon: fix building with non-Xcode clang (iOS)" -1c4e3efe unroll the kBands[] indirection to remove a dereference in GetCoeffs() -a3946b89 enc_neon: fix building with non-Xcode clang (iOS) -8ed9c00d Merge "simplify the Histogram struct, to only store max_value and last_nz" -bad77571 simplify the Histogram struct, to only store max_value and last_nz -3cca0dc7 MIPS: dspr2: Added optimization for DCMode function -37e395fd MIPS: fix functions to use generic BPS istead of hardcoded value -9475bef4 PickBestUV: fix VP8Copy16x8 invocation -441f273f Merge changes I55f8da52,Id73a1e96 -4a279a68 cosmetics: add some missing != NULL comparisons -66ad3725 factorize BPS definition in dsp.h and add VP8Copy16x8 -432e5b55 make ALIGN_xxx naming consistent -57606047 encoder: switch BPS to 32 instead of 16 -1b66bbe9 MIPS: dspr2: added optimization for function TransformColor_C -c6d0f9e7 histogram: cosmetics -f399d307 Merge changes I6eac17e5,I32d2b514 -9de9074c dec_neon: add TM8uv -8e517eca bit_reader/kVP8NewRange: range_t -> uint8_t -e1857139 dsp: initialize VP8PredChroma8 in VP8DspInit() -e0c809ad Move Entropy methods to lossless.c -a96ccf8f iosbuild: add x64_64 simulator support -a0df5510 Remove handling for WEBP_HINT_GRAPH -413dfc0c Move static method definition before its usage. -0f235665 Update BackwardRefsWithLocalCache. -d69e36ec Remove TODOs from lossless encoder code. -fdaac8e0 Optmize VP8LGetBackwardReferences LZ77 references. -2f0e2ba8 MIPS: dspr2: added optimization for function Select -a3e79a46 Merge "WebPEncode: Support encoding same pic twice (even if modified)" -e4f4dddb WebPEncode: Support encoding same pic twice (even if modified) -cbc3fbb4 Merge "Updated VP8LGetBackwardReferences and color cache." -95a9bd85 Updated VP8LGetBackwardReferences and color cache. -54f2c14c MIPS: dspr2: added optimization for function FTransform -aa42f423 MIPS: dspr2: Added optimization for function VP8LSubtractGreenFromBlueAndRed -11a25f75 Merge "FlattenSimilarBlocks should only be tried when blending is possible." -5cccdadf FlattenSimilarBlocks should only be tried when blending is possible. -95ca44a7 MIPS: dspr2: added optimization for Disto4x4 -4171b672 backward_references.c: reindent after c8581b0 -c8581b06 Optimize BackwardReferences for RLE encoding. -5798eee6 MIPS: dspr2: unfilters bugfix (Ie7b7387478a6b5c3f08691628ae00f059cf6d899) -4167a3f5 Optimize backwardreferences -d18554c3 Merge "webp/types.h: use inline for clang++/-std=c++11" -7489b0e7 gif2webp: Add '-min-size' option to get best compression. -77bdddf0 Speed up BackwardReferences -6638710b webp/types.h: use inline for clang++/-std=c++11 -abf04205 Enable entropy based merge histo for (q<100) -572022a3 filters_mips_dsp_r2.c: disable unfilters -a28e21b1 MIPS: dspr2: Added optimization for function ClampedAddSubtractFull -18d5a1ef MIPS: dspr2: added optimization for function ClampedAddSubtractHalf -829a8c19 MIPS: dspr2: added optimization for ITransform -c94ed49e gif2webp: Use the default hint instead of WEBP_HINT_GRAPH. -653ace55 Increase the MAX_COLOR_CACHE_BITS from 9 to 10. -919220c7 Change the logic adjusting the Histogram bits. -53b096c0 Merge "Fix bug in VP8LCalculateEstimateForCacheSize." -e912bd55 Fix bug in VP8LCalculateEstimateForCacheSize. -541d7839 Merge "dec_neon: add RD4 intra predictor" -f8cd0672 Merge "Makefile.vc: add a 'legacy' RTLIBCFG option" -22881c99 dec_neon: add RD4 intra predictor -613d281e update NEWS -1304eb34 Merge "dec_neon: DC4: use pair-wise adds for top row" -34c20c06 Makefile.vc: add a 'legacy' RTLIBCFG option -7083006b Merge "dsp/dec_{neon,sse2}: VE4: normalize variable names" -0db9031c dsp/dec_{neon,sse2}: VE4: normalize variable names -b5bc1530 dec_neon: DC4: use pair-wise adds for top row -5b90d8fe Unify the API between VP8BitWriter and VP8LBitWriter -f7ada560 Merge changes I2e06907b,Ia9ed4ca6,I782282ff -5beb6bf0 Merge "dec_neon: add VE4 intra predictor" -eba6ce06 dec_neon: add DC4 intra predictor -79abfbd9 dec_neon: add TM4 intra predictor -fe395f0e dec_neon: add LD4 intra predictor -32de385e dec_neon: add VE4 intra predictor -72395ba9 Merge "Modify CostModel to allocate optimal memory." -65e5eb8a gif2webp: Support GIF_DISPOSE_RESTORE_PREVIOUS -e4c829ef gif2webp: Handle frames with odd offsets + disposal to background. -c2b5a039 Modify CostModel to allocate optimal memory. -b7a33d7e implement VE4/HE4/RD4/... in SSE2 -97c76f1f make VP8PredLuma4[] non-const and initialize array in VP8DspInit() -0ea8c6c2 Merge "PrintReg: output to stderr" -d7ff2f97 Merge "stopwatch.h: fix includes" -f85ec712 PrintReg: output to stderr -54edbf65 stopwatch.h: fix includes -139142e4 Optimize BackwardReferenceHashChainFollowPath. -5f36b68d enc/backward_references.c: fix indent -e0e9960d Merge "sync version numbers to 0.4.2 release" -64ac5144 sync version numbers to 0.4.2 release -c24f8954 Simplify and speedup Backward refs computation. -d1c359ef fix shared object build with -fvisibility=hidden -a4c3a31b WEBP_TSAN_IGNORE_FUNCTION: fix gcc compat warning -f358eeb8 add code for testing random incremental decoding in dwebp -80247291 mark some init function as being safe for thread_sanitizer. -79b5bdbf bit_reader.h: cosmetics: fix a typo -6c673681 Improved near-lossless mode. -0ce27e71 enc_mips32: workaround gcc-4.9 bug -aca1b98f enc/vp8l.c: fix indent -ca005027 Evaluate non-palette compression for palette image -c8a87bb6 AssignSegments: quiet -Warray-bounds warning -32f67e30 Merge "enc_neon: initialize vectors w/vdup_n_u32" -fabc65da 1-3% faster encoding optimizing SSE_NxN functions -7534d716 enc_neon: initialize vectors w/vdup_n_u32 -5f813912 Merge "Fix return code of EncodeImageInternal()" -e321abe4 Fix return code of EncodeImageInternal() -f82cb06a optimize palette ordering -f545feee don't set the alpha value for histogram index image -2d9b0a44 add WebPDispatchAlphaToGreen() to dsp -1bd4c2ad Merge "Change Entropy based Histogram Combine heuristic." -e295b8f1 Merge "iosbuild: cleanup" -1be4e760 Merge "iosbuild: output autoconf req. on failure" -d5e498d4 Change Entropy based Histogram Combine heuristic. -47a2d8e1 fix MSVC float->int conversion warning -041956f6 iosbuild: cleanup -767eb402 iosbuild: output autoconf req. on failure -35ad48b8 HistoHeapInit: correct positions allocation size -45d9635f lossless: entropy clustering for high qualities. -dc37df8c fix type warning for VS9_x64 -9f7d9e6d iosbuild: make iOS 6 the minimum requirement -fdd6528b Remove unused VP8LDecoder member variable -ea3bba5a Merge "rewrite Disto4x4 in enc_neon.c with intrinsic" -f060dfc4 add lossless incremental decoding support -ab70794d rewrite Disto4x4 in enc_neon.c with intrinsic -d4471637 MIPS: dspr2: added optimization for function FilterLoop24 -2aef54d4 Merge "prepare VP8LDecodeImage for incremental decode" -aed0f5a2 Merge "MIPS: dspr2: added optimization for function FilterLoop26" -28630685 prepare VP8LDecodeImage for incremental decode -248f3aed remove br->error_ field -49e15044 MIPS: dspr2: added optimization for function FilterLoop26 -38128cb9 iobuild.sh: only install .h files in Headers -c792d412 Premultiply with alpha during U/V downsampling -0cc811d7 gif2webp: Background color correction -d7167ff7 Amend the lossless spec according to issue #205, #206 and #224 -b901416b Record the lossless size stats. -cddd3340 Add a WebPExtractAlpha function to dsp -0716a98e fix indent after I0204949917836f74c0eb4ba5a7f4052a4797833b -f9ced95a Optimize lossless decoding for trivial(ARB) codes. -924fcfd9 Merge "webpmux: simplify InitializeConfig()" -c0a462ca webpmux: simplify InitializeConfig() -6986bb5e webpmux: fix indent -f89e1690 webpmux: fix exit status on numeric value parse error -2172cb62 Merge "webpmux: fix loop_count range check" -e3b343ec Merge "examples: warn on invalid numeric parameters" -0e23c487 webpmux: fix loop_count range check -6208338a Merge "fix loop bug in DispatchAlpha()" -d51f3e40 gif2webp: Handle frames with missing graphic control extension -690b491a fix loop bug in DispatchAlpha() -96d43a87 examples: warn on invalid numeric parameters -3101f537 MIPS: dspr2: added optimization for TransformOne -a6bb9b17 SSE2 for inverse Mult(ARGB)Row and ApplyAlphaMultiply -d84a8ffd Remove default initialization of decoder status. -be70b86c configure: simplify libpng-config invocation -e0a99321 Rectify bug in lossless incremental decoding. -e2502a97 MIPS: dspr2: added optimization for TransformAC3 -24e1072a MIPS: dspr2: added optimization for TransformDC -c0e84df8 Merge "Slightly faster lossless decoding (1%)" -8dd28bb5 Slightly faster lossless decoding (1%) -f0103595 MIPS: dspr2: added optimization for ColorIndexInverseTransforms -d3242aee make VP8LSetBitPos() set br->eos_ flag -a9decb55 Lossless decoding: fix eos_ flag condition -3fea6a28 fix erroneous dec->status_ setting -80b8099f MIPS: dspr2: add some specific mips code to commit I2c3f2b12f8df15b785fad5a9c56316e954ae0c53 -e5640625 Merge "further refine the COPY_PATTERN optim for DecodeAlpha" -854509fe enc/histogram.c: reindent after f4059d0 -34421964 Merge "~3-5% faster encoding optimizing PickBestIntra*()" -865069c1 further refine the COPY_PATTERN optim for DecodeAlpha -a5956228 added C-level optimization for DecodeAlphaData function -187d379d add a fallback to ALPHA_NO_COMPRESSION -a48a2d76 ~3-5% faster encoding optimizing PickBestIntra*() -a6140194 ExUtilReadFromStdin: (windows) open stdin in bin mode -e80eab1f webpmux: (windows) open stdout in binary mode -e9bfb116 cwebp: (windows) open stdout in binary mode -5927e15b example_util: add ExUtilSetBinaryMode -30f3b75b webpmux man page: Clarify some title, descriptions and examples -77d4c7e3 address cosmetic comments from patch #71380 -f75dfbf2 Speed up Huffman decoding for lossless -637b3888 dsp/lossless: workaround gcc-4.9 bug on arm -8323a903 dsp.h: collect gcc/clang version test macros -e6c4b52f move static initialization of WebPYUV444Converters[] to the Init function. -49911d4d Merge "fix indentation" -f4059d0c Code cleanup for HistogramRemap. -e632b092 fix indentation -f5c04d64 Merge "add a DispatchAlpha() for SSE2 that handles 8 pixels at a time" -fc98edd9 add a DispatchAlpha() for SSE2 that handles 8 pixels at a time -73d361dd introduce VP8EncQuantize2Blocks to quantize two blocks at a time -0b21c30b MIPS: dspr2: added optimization for EmitAlphaRGB -953acd56 enc_neon: enable QuantizeBlock for aarch64 -f4ae1437 MIPS: mips32: code rebase -56977154 MIPS: dspr2: added optimizations for VP8YuvTo* -2523aa73 SmartRGBYUV: fix odd-width problem with pixel replication -ee52dc4e fix some MSVC64 warning about float conversion -3fca851a cpu: check for _MSC_VER before using msvc inline asm -e2a83d71 faster RGB->YUV conversion function (~7% speedup) -de2d03e1 Merge "Add smart RGB->YUV conversion option -pre 4" -3fc4c539 Add smart RGB->YUV conversion option -pre 4 -b4dc4069 MIPS: dspr2: added optimization for (un)filters -137e6090 Merge "configure: add work around for gcc-4.9 aarch64 bug" -b61c9cec MIPS: dspr2: Optimization of some simple point-sampling functions -e2b8cec0 configure: add work around for gcc-4.9 aarch64 bug -98c54107 MIPS: mips32r2: added optimization for BSwap32 -dab702b3 Update PATENTS to reflect s/VP8/WebM/g -b564f7c7 Merge "MIPS: detect mips32r6 and disable mips32r1 code" -b7e5a5c4 MIPS: detect mips32r6 and disable mips32r1 code -63c2fc02 Correctly use the AC_CANONICAL_* macros -bb07022b Merge "cosmetics" -e300c9d8 cosmetics -0e519eea Merge "cosmetics: remove some extraneous 'extern's" -3ef0f08a Merge "vp8enci.h: cosmetics: fix '*' placement" -4c6dde37 bit_writer: cosmetics: rename kFlush() -> Flush() -f7b4c48b cosmetics: remove some extraneous 'extern's -b47fb00a vp8enci.h: cosmetics: fix '*' placement -b5a36cc9 add -near_lossless [0..100] experimental option -0524d9e5 dsp: detect mips64 & disable mips32 code -d3485d96 cwebp.1: fix quality description placement -29a9fe22 Merge tag 'v0.4.1' -8af27718 update ChangeLog (tag: v0.4.1, origin/0.4.1) -e09e9ff6 Record & log the image pre-processing time. -f59c0b4b iosbuild.sh: specify optimization flags -8d34ea3e update ChangeLog (tag: v0.4.1-rc1) -dbc3da66 makefile.unix: add vwebp.1 to the dist target -89a7c83c update ChangeLog -ffe67ee9 Merge "update NEWS for the next release" into 0.4.1 -2def1fe6 gif2webp: dust up the help message -fb668d78 remove -noalphadither option from README/vwebp.1 -e49f693b update NEWS for the next release -cd013580 Merge "update AUTHORS" into 0.4.1 -268d01eb update AUTHORS -85213b9b bump version to 0.4.1 -695f80ae Merge "restore mux API compatibility" into 0.4.1 -862d296c restore mux API compatibility -8f6f8c5d remove the !WEBP_REFERENCE_IMPLEMENTATION tweak in Put8x8uv -d713a696 Merge changes If4debc15,I437a5d5f into 0.4.1 -c2fc52e4 restore encode API compatibility -793368e8 restore decode API compatibility -b8984f31 gif2webp: fix compile with giflib 5.1.0 -222f9b1a gif2webp: simplify giflib version checking -d2cc61b7 Extend MakeARGB32() to accept Alpha channel. -4595b62b Merge "use explicit size of kErrorMessages[] arrays" -157de015 Merge "Actuate memory stats for PRINT_MEMORY_INFO" -fbda2f49 JPEG decoder: delay conversion to YUV to WebPEncode() call -0b747b1b use explicit size of kErrorMessages[] arrays -3398d81a Actuate memory stats for PRINT_MEMORY_INFO -6f3202be Merge "move WebPPictureInit to picture.c" -6c347bbb move WebPPictureInit to picture.c -fb3acf19 fix configure message for multi-thread -40b086f7 configure: check for _beginthreadex -1549d620 reorder the YUVA->ARGB and ARGB->YUVA functions correctly -c6461bfd Merge "extract colorspace code from picture.c into picture_csp.c" -736f2a17 extract colorspace code from picture.c into picture_csp.c -645daa03 Merge "configure: check for -Wformat-security" -abafed86 configure: check for -Wformat-security -fbadb480 split monolithic picture.c into picture_{tools,psnr,rescale}.c -c76f07ec dec_neon/TransformAC3: initialize vector w/vcreate -bb4fc051 gif2webp: Allow single-frame animations -46fd44c1 thread: remove harmless race on status_ in End() -5a1a7264 Merge "configure: check for __builtin_bswapXX()" -6781423b configure: check for __builtin_bswapXX() -6450c48d configure: fix iOS builds -6422e683 VP8LFillBitWindow: enable fast path for 32-bit builds -4f7f52b2 VP8LFillBitWindow: respect WEBP_FORCE_ALIGNED -e458badc endian_inl.h: implement htoleXX with BSwapXX -f2664d1a endian_inl.h: add BSwap16 -6fbf5345 Merge "configure: add --enable-aligned" -dc0f479d configure: add --enable-aligned -9cc69e2b Merge "configure: support WIC + OpenGL under mingw64" -257adfb0 remove experimental YUV444 YUV422 and YUV400 code -10f4257c configure: support WIC + OpenGL under mingw64 -380cca4f configure.ac: add AC_C_BIGENDIAN -ee70a901 endian_inl.h: add BSwap64 -47779d46 endian_inl.h: add BSwap32 -d5104b1f utils: add endian_inl.h -58ab6224 Merge "make alpha-detection loop in IsKeyFrame() in good x/y order" -9d562902 make alpha-detection loop in IsKeyFrame() in good x/y order -516971b1 lossless: Remove unaligned read warning -b8b596f6 Merge "configure.ac: add an autoconf version prerequisite" -34b02f8c configure.ac: add an autoconf version prerequisite -e59f5360 neon: normalize vdup_n_* usage -6ee7160d Merge changes I0da7b3d3,Idad2f278,I4accc305 -abc02f24 Merge "fix (uncompiled) typo" -bc03670f neon: add INIT_VECTOR4 -6c1c632b neon: add INIT_VECTOR3 -dc7687e5 neon: add INIT_VECTOR2 -4536e7c4 add WebPMuxSetCanvasSize() to the mux API -824eab10 fix (uncompiled) typo -1f3e5f1e remove unused 'shift' argument and QFIX2 define -8e867051 Merge "VP8LoadNewBytes: use __builtin_bswap32 if available" -1b6a2635 Merge "Fix handling of weird GIF with canvas dimension 0x0" -1da3d461 VP8LoadNewBytes: use __builtin_bswap32 if available -1582e402 Fix handling of weird GIF with canvas dimension 0x0 -b8811dac Merge "rename interface -> winterface" -db8b8b5f Fix logic in the GIF LOOP-detection parsing -25aaddc8 rename interface -> winterface -5584d9d2 make WebPSetWorkerInterface() check its arguments -a9ef7ef9 Merge "cosmetics: update thread.h comments" -c6af9991 Merge "dust up the help message" -0a8b8863 dust up the help message -a9cf3191 cosmetics: update thread.h comments -27bfeee4 QuantizeBlock SSE2 Optimization: -2bc0dc3e Merge "webpmux: warn when odd frame offsets are used" -3114ebe4 Merge changes Id8edd3c1,Id418eb96,Ide05e3be -c0726634 webpmux: warn when odd frame offsets are used -c5c6b408 Merge "add alpha dithering for lossy" -d5146784 examples/Android.mk: add cwebp -ca0fa7c7 Android.mk: move dwebp to examples/Android.mk -73d8fca0 Android.mk: add ENABLE_SHARED flag -6e93317f muxread: fix out of bounds read -8b0f6a48 Makefile.vc: fix CFLAGS assignment w/HAVE_AVX2=1 -bbe32df1 add alpha dithering for lossy -79020767 Merge "make error-code reporting consistent upon malloc failure" -77bf4410 make error-code reporting consistent upon malloc failure -7a93c000 **/Makefile.am: remove unused AM_CPPFLAGS -24e30805 Add an interface abstraction to the WebP worker thread implementation -d6cd6358 Merge "fix orig_rect==NULL case" -2bfd1ffa fix orig_rect==NULL case -059e21c1 Merge "configure: move config.h to src/webp/config.h" -f05fe006 properly report back encoding error code in WebPFrameCacheAddFrame() -32b31379 configure: move config.h to src/webp/config.h -90090d99 Merge changes I7c675e51,I84f7d785 -ae7661b3 makefiles: define WEBP_HAVE_AVX2 when appropriate -69fce2ea remove the special casing for res->first in VP8SetResidualCoeffs -6e61a3a9 configure: test for -msse2 -b9d2efc6 rename upsampling_mips32.c to yuv_mips32.c -bdfeebaa dsp/yuv: move sse2 functions to yuv_sse2.c -46b32e86 Merge "configure: set WEBP_HAVE_AVX2 when available" -88305db4 Merge "VP8RandomBits2: prevent signed int overflow" -73fee88c VP8RandomBits2: prevent signed int overflow -db4860b3 enc_sse2: prevent signed int overflow -3fdaf4d2 Merge "real fix for longjmp warning" -385e3340 real fix for longjmp warning -230a0555 configure: set WEBP_HAVE_AVX2 when available -a2ac8a42 restore original value_/range_ field order -5e2ee56f Merge "remove libwebpdspdecode dep on libwebpdsp_avx2" -61362db5 remove libwebpdspdecode dep on libwebpdsp_avx2 -42c447ae Merge "lossy bit-reader clean-up:" -479ffd8b Merge "remove unused #include's" -9754d39a Merge "strong filtering speed-up (~2-3% x86, ~1-2% for NEON)" -158aff9b remove unused #include's -09545eea lossy bit-reader clean-up: -ea8b0a17 strong filtering speed-up (~2-3% x86, ~1-2% for NEON) -6679f899 Optimize VP8SetResidualCoeffs. -ac591cf2 fix for gcc-4.9 warnings about longjmp + local variables -4dfa86b2 dsp/cpu: NaCl has no support for xgetbv -4c398699 Merge "cwebp: fallback to native webp decode in WIC builds" -33aa497e Merge "cwebp: add some missing newlines in longhelp output" -c9b340a2 fix missing WebPInitAlphaProcessing call for premultiplied colorspace output -57897bae Merge "lossless_neon: use vcreate_*() where appropriate" -6aa4777b Merge "(enc|dec)_neon: use vcreate_*() where appropriate" -0d346e41 Always reinit VP8TransformWHT instead of hard-coding -7d039fc3 cwebp: fallback to native webp decode in WIC builds -d471f424 cwebp: add some missing newlines in longhelp output -bf0e0030 lossless_neon: use vcreate_*() where appropriate -9251c2f6 (enc|dec)_neon: use vcreate_*() where appropriate -399b916d lossy decoding: correct alpha-rescaling for YUVA format -78c12ed8 Merge "Makefile.vc: add rudimentary avx2 support" -dc5b122f try to remove the spurious warning for static analysis -ddfefd62 Makefile.vc: add rudimentary avx2 support -a8911643 Merge "simplify VP8LInitBitReader()" -fdbcd44d simplify VP8LInitBitReader() -7c004287 makefile.unix: add rudimentary avx2 support -515e35cf Merge "add stub dsp/enc_avx2.c" -a05dc140 SSE2: yuv->rgb speed-up for point-sampling -178e9a69 add stub dsp/enc_avx2.c -1b99c09c Merge "configure: add a test for -mavx2" -fe728071 configure: add a test for -mavx2 -e46a247c cpu: fix check for __cpuidex availability -176fda26 fix the bit-writer for lossless in 32bit mode -541784c7 dsp.h: add a check for AVX2 / define WEBP_USE_AVX2 -bdb151ee dsp/cpu: add AVX2 detection -ab9f2f86 Merge "revamp the point-sampling functions by processing a full plane" -a2f8b289 revamp the point-sampling functions by processing a full plane -ef076026 use decoder's DSP functions for autofilter -2b5cb326 Merge "dsp/cpu: add AVX detection" -df08e67e dsp/cpu: add AVX detection -e2f405c9 Merge "clean-up and slight speed-up in-loop filtering SSE2" -f60957bf clean-up and slight speed-up in-loop filtering SSE2 -9fc3ae46 .gitattributes: treat .ppm as binary -3da924b5 Merge "dsp/WEBP_USE_NEON: test for __aarch64__" -c7164490 Android.mk: always include *_neon.c in the build -a577b23a dsp/WEBP_USE_NEON: test for __aarch64__ -54bfffca move RemapBitReader() from idec.c to bit_reader code -34168ecb Merge "remove all unused layer code" -f1e77173 remove all unused layer code -b0757db7 Code cleanup for VP8LGetHistoImageSymbols. -5fe628d3 make the token page size be variable instead of fixed 8192 -f948d08c memory debug: allow setting pre-defined malloc failure points -ca3d746e use block-based allocation for backward refs storage, and free-lists -1ba61b09 enable NEON intrinsics in aarch64 builds -b9d2bb67 dsp/neon.h: coalesce intrinsics-related defines -b5c75258 iosbuild: add support for iOSv7/aarch64 -9383afd5 Reduce number of memory allocations while decoding lossless. -888e63ed Merge "dsp/lossless: prevent signed int overflow in left shift ops" -8137f3ed Merge "instrument memory allocation routines for debugging" -2aa18736 instrument memory allocation routines for debugging -d3bcf72b Don't allocate VP8LHashChain, but treat like automatic object -bd6b8619 dsp/lossless: prevent signed int overflow in left shift ops -b7f19b83 Merge "dec/vp8l: prevent signed int overflow in left shift ops" -29059d51 Merge "remove some uint64_t casts and use." -e69a1df4 dec/vp8l: prevent signed int overflow in left shift ops -cf5eb8ad remove some uint64_t casts and use. -38e2db3e MIPS: MIPS32r1: Added optimization for HistogramAdd. -e0609ade dwebp: fix exit code on webp load failure -bbd358a8 Merge "example_util.h: avoid forward declaring enums" -8955da21 example_util.h: avoid forward declaring enums -6d6865f0 Added SSE2 variants for Average2/3/4 -b3a616b3 make HistogramAdd() a pointer in dsp -c8bbb636 dec_neon: relocate some inline-asm defines -4e393bb9 dec_neon: enable intrinsics-only functions -ba99a922 dec_neon: use positive tests for USE_INTRINSICS -69058ff8 Merge "example_util: add ExUtilDecodeWebPIncremental" -a7828e8b dec_neon: make WORK_AROUND_GCC conditional on version -3f3d717a Merge "enc_neon: enable intrinsics-only functions" -de3cb6c8 Merge "move LOCAL_GCC_VERSION def to dsp.h" -1b2fe14d example_util: add ExUtilDecodeWebPIncremental -ca49e7ad Merge "enc_neon: move Transpose4x4 to dsp/neon.h" -ad900abd Merge "fix warning about size_t -> int conversion" -4825b436 fix warning about size_t -> int conversion -42b35e08 enc_neon: enable intrinsics-only functions -f937e012 move LOCAL_GCC_VERSION def to dsp.h -5e1a17ef enc_neon: move Transpose4x4 to dsp/neon.h -c7b92a5a dec_neon: (WORK_AROUND_GCC) delete unused Load4x8 -8e5f90b0 Merge "make ExUtilLoadWebP() accept NULL bitstream param." -05d4c1b7 Merge "cwebp: add webpdec" -ddeb6ac8 cwebp: add webpdec -35d7d095 Merge "Reduce memory footprint for encoding WebP lossless." -0b896101 Reduce memory footprint for encoding WebP lossless. -f0b65c9a make ExUtilLoadWebP() accept NULL bitstream param. -9c0a60cc Merge "dwebp: move webp decoding to example_util" -1d62acf6 MIPS: MIPS32r1: Added optimization for HuffmanCost functions. -4a0e7390 dwebp: move webp decoding to example_util -c0220460 Merge "Bugfix: Incremental decode of lossy-alpha" -8c7cd722 Bugfix: Incremental decode of lossy-alpha -7955152d MIPS: fix error with number of registers. -b1dabe37 Merge "Move the HuffmanCost() function to dsp lib" -75b12006 Move the HuffmanCost() function to dsp lib -2772b8bd MIPS: fix assembler error revealed by clang's debug build -6653b601 enc_mips32: fix unused symbol warning in debug -8dec1209 enc_mips32: disable ITransform(One) in debug builds -98519dd5 enc_neon: convert Disto4x4 to intrinsics -fe9317c9 cosmetics: -953b0746 enc_neon: cosmetics -a9fc697c Merge "WIP: extract the float-calculation of HuffmanCost from loop" -3f84b521 Merge "replace some mult-long (vmull_u8) with mult-long-accumulate (vmlal_u8)" -4ae0533f MIPS: MIPS32r1: Added optimizations for ExtraCost functions. -b30a04cf WIP: extract the float-calculation of HuffmanCost from loop -a8fe8ce2 Merge "NEON intrinsics version of CollectHistogram" -95203d2d NEON intrinsics version of CollectHistogram -7ca2e74b replace some mult-long (vmull_u8) with mult-long-accumulate (vmlal_u8) -41c6efbd fix lossless_neon.c -8ff96a02 NEON intrinsics version of FTransform -0214f4a9 Merge "MIPS: MIPS32r1: Added optimizations for FastLog2" -baabf1ea MIPS: MIPS32r1: Added optimizations for FastLog2 -3d49871d NEON functions for lossless coding -3fe02915 MIPS: MIPS32r1: Added optimizations for SSE functions. -c503b485 Merge "fix the gcc-4.6.0 bug by implementing alternative method" -abe6f487 fix the gcc-4.6.0 bug by implementing alternative method -5598bdec enc_mips32.c: fix file mode -2b1b4d5a MIPS: MIPS32r1: Add optimization for GetResidualCost -f0a1f3cd Merge "MIPS: MIPS32r1: Added optimization for FTransform" -7231f610 MIPS: MIPS32r1: Added optimization for FTransform -869eaf6c ~30% encoding speedup: use NEON for QuantizeBlock() -f758af6b enc_neon: convert FTransformWHT to intrinsics -7dad095b MIPS: MIPS32r1: Added optimization for Disto4x4 (TTransform) -2298d5f3 MIPS: MIPS32r1: Added optimization for QuantizeBlock -e88150c9 Merge "MIPS: MIPS32r1: Add optimization for ITransform" -de693f25 lossless_neon: disable VP8LConvert* functions -4143332b NEON intrinsics for encoding -0ca2914b MIPS: MIPS32r1: Add optimization for ITransform -71bca5ec dec_neon: use vst_lane instead of vget_lane -bf061052 Intrinsics NEON version of TransformOne -19c6f1ba Merge "dec_neon: use vld?_lane instead of vset?_lane" -7a94c0cf upsampling_neon: drop NEON suffix from local functions -d14669c8 upsampling_sse2: drop SSE2 suffix from local functions -2ca42a4f enc_sse2: drop SSE2 suffix from local functions -d038e619 dec_sse2: drop SSE2 suffix from local functions -fa52d752 dec_neon: use vld?_lane instead of vset?_lane -c520e77d cosmetic: fix long line -4b0f2dae Merge "add intrinsics NEON code for chroma strong-filtering" -e351ec07 add intrinsics NEON code for chroma strong-filtering -aaf734b8 Merge "Add SSE2 version of forward cross-color transform" -c90a902e Add SSE2 version of forward cross-color transform -bc374ff3 Use histogram_bits to initalize transform_bits. -2132992d Merge "Add strong filtering intrinsics (inner and outer edges)" -5fbff3a6 Add strong filtering intrinsics (inner and outer edges) -d4813f0c Add SSE2 function for Inverse Cross-color Transform -26029568 dec_neon: add strong loopfilter intrinsics -cca7d7ef Merge "add intrinsics version of SimpleHFilter16NEON()" -1a05dfa7 windows: fix dll builds -d6c50d8a Merge "add some colorspace conversion functions in NEON" -4fd7c82e SSE2 variants of Subtract-Green: Rectify loop condition -97e5fac3 add some colorspace conversion functions in NEON -b9a7a45f add intrinsics version of SimpleHFilter16NEON() -daccbf40 add light filtering NEON intrinsics -af444608 fix typo in STORE_WHT -6af6b8e1 Tune HistogramCombineBin for large images. -af93bdd6 use WebPSafe[CM]alloc/WebPSafeFree instead of [cm]alloc/free -51f406a5 lossless_sse2: relocate VP8LDspInitSSE2 proto -0f4f721b separate SSE2 lossless functions into its own file -514fc251 VP8LConvertFromBGRA: use conversion function pointers -6d2f3527 dsp/dec: TransformDCUV: use VP8TransformDC -defc8e1b Merge "fix out-of-bound read during alpha-plane decoding" -fbed3643 Merge "dsp: reuse wht transform from dec in encoder" -d8467084 Merge "Add SSE2 version of ARGB -> BGR/RGB/... conversion functions" -207d03b4 fix out-of-bound read during alpha-plane decoding -d1b33ad5 2-5% faster trellis with clang/MacOS (and ~2-3% on ARM) -369c26dd Add SSE2 version of ARGB -> BGR/RGB/... conversion functions -df230f27 dsp: reuse wht transform from dec in encoder -80e218d4 Android.mk: fix build with APP_ABI=armeabi-v7a-hard -59daf083 Merge "cosmetics:" -53622008 cosmetics: -3e7f34a3 AssignSegments: quiet array-bounds warning -3c2ebf58 Merge "UpdateHistogramCost: avoid implicit double->float" -cf821c82 UpdateHistogramCost: avoid implicit double->float -312e638f Extend the search space for GetBestGreenRedToBlue -1c58526f Fix few nits -fef22704 Optimize and re-structure VP8LGetHistoImageSymbols -068b14ac Optimize lossless decoding. -5f0cfa80 Do a binary search to get the optimum cache bits. -24ca3678 Merge "allow 'cwebp -o -' to emit output to stdout" -e12f874e allow 'cwebp -o -' to emit output to stdout -2bcad89b allow some more stdin/stout I/O -84ed4b3a fix cwebp.1 typos after patch #69199 -65b99f1c add a -z option to cwebp, and WebPConfigLosslessPreset() function -30176619 4-5% faster trellis by removing some unneeded calculations. -687a58ec histogram.c: reindent after b33e8a0 -06d456f6 Merge "~3-4% faster lossless encoding" -c60de260 ~3-4% faster lossless encoding -42eb06fc Merge "few cosmetics after patch #69079" -82af8264 few cosmetics after patch #69079 -b33e8a05 Refactor code for HistogramCombine. -ca1bfff5 Merge "5-10% encoding speedup with faster trellis (-m 6)" -5aeeb087 5-10% encoding speedup with faster trellis (-m 6) -82ae1bf2 cosmetics: normalize VP8GetCPUInfo checks -e3dd9243 Merge "Refactor GetBestPredictorForTile for future tuning." -206cc1be Refactor GetBestPredictorForTile for future tuning. -3cb84062 Merge "speed-up trellis quant (~5-10% overall speed-up)" -b66f2227 Merge "lossy encoding: ~3% speed-up" -4287d0d4 speed-up trellis quant (~5-10% overall speed-up) -390c8b31 lossy encoding: ~3% speed-up -9a463c4a Merge "dec_neon: convert TransformWHT to intrinsics" -e8605e96 Merge "dec_neon: add ConvertU8ToS16" -4aa3e412 MIPS: MIPS32r1: rescaler bugfix -c16cd99a Speed up lossless encoder. -9d6b5ff1 dec_neon: convert TransformWHT to intrinsics -2ff0aae2 dec_neon: add ConvertU8ToS16 -77a8f919 fix compilation with USE_YUVj flag -4acbec1b Merge changes I3b240ffb,Ia9370283,Ia2d28728 -2719bb7e dec_neon: TransformAC3: work on packed vectors -b7b60ca1 dec_neon: add SaturateAndStore4x4 -b7685d73 Rescale: let ImportRow / ExportRow be pointer-to-function -e02f16ef dec_neon.c: convert TransformDC to intrinsics -9cba963f add missing file -8992ddb7 use static clipping tables -0235d5e4 1-2% faster quantization in SSE2 -b2fbc36c fix VC12-x64 warning -6e37cb94 Merge "cosmetics: backward_references.c: reindent after a7d2ee3" -a42ea974 cosmetics: backward_references.c: reindent after a7d2ee3 -6c327442 Merge "fix missing __BIG_ENDIAN__ definition on some platform" -a8b6aad1 fix missing __BIG_ENDIAN__ definition on some platform -fde2904b Increase initial buffer size for VP8L Bit Writer. -a7d2ee39 Optimize cache estimate logic. -7fb6095b Merge "dec_neon.c: add TransformAC3" -bf182e83 VP8LBitWriter: use a bit-accumulator -3f40b4a5 Merge "MIPS: MIPS32r1: clang macro warning resolved" -1684f4ee WebP Decoder: Mark some truncated bitstreams as invalid -acbedac4 MIPS: MIPS32r1: clang macro warning resolved -228e4877 dec_neon.c: add TransformAC3 -393f89b7 Android.mk: avoid gcc-specific flags with clang -32aeaf11 revamp VP8LColorSpaceTransform() a bit -0c7cc4ca Merge "Don't dereference NULL, ensure HashChain fully initialized" -391316fe Don't dereference NULL, ensure HashChain fully initialized -926ff402 WEBP_SWAP_16BIT_CSP: remove code dup -1d1cd3bb Fix decode bug for rgbA_4444/RGBA_4444 color-modes. -939e70e7 update AUTHORS file -8934a622 cosmetics: *_mips32.c -dd438c9a MIPS: MIPS32r1: Optimization of some simple point-sampling functions. PATCH [6/6] -53520911 Added support for calling sampling functions via pointers. -d16c6974 MIPS: MIPS32r1: Optimization of filter functions. PATCH [5/6] -04336fc7 MIPS: MIPS32r1: Optimization of function TransformOne. PATCH [4/6] -92d8fc7d MIPS: MIPS32r1: Optimization of function WebPRescalerImportRow. PATCH [3/6] -bbc23ff3 parse one row of intra modes altogether -a2f608f9 Merge "MIPS: MIPS32r1: Optimization of function WebPRescalerExportRow. [2/6]" -88230854 MIPS: MIPS32r1: Optimization of function WebPRescalerExportRow. [2/6] -c5a5b028 decode mt+incremental: fix segfault in debug builds -9882b2f9 always use fast-analysis for all methods. -000adac0 Merge "autoconf: update ax_pthread.m4" -2d2fc37d update .gitignore -5bf4255a Merge "Make it possible to avoid automagic dependencies" -c1cb1933 disable NEON for arm64 platform -73a304e9 Make it possible to avoid automagic dependencies -4d493f8d MIPS: MIPS32r1: Decoder bit reader function optimized. PATCH [1/6] -c741183c make WebPCleanupTransparentArea work with argb picture -5da18552 add a decoding option to flip image vertically -00c3c4e1 Merge "add man/vwebp.1" -2c6bb428 add man/vwebp.1 -ea59a8e9 Merge "Merge tag 'v0.4.0'" -7574bed4 fix comments related to array sizes -0b5a90fd dwebp.1: fix option formatting -effcb0fd Merge tag 'v0.4.0' -7c76255d autoconf: update ax_pthread.m4 -fff2a11b make -short work with -print_ssim, -print_psnr, etc. -68e7901d update ChangeLog (tag: v0.4.0-rc1, tag: v0.4.0, origin/0.4.0) -256e4333 update NEWS description with new general features -29625340 Merge "gif2webp: don't use C99 %zu" into 0.4.0 -3b9f9dd0 gif2webp: don't use C99 %zu -b5b2e3c7 cwebp: fix metadata output w/lossy+alpha -ad26df1a makefile.unix: clean up libgif2webp_util.a -c3b45570 update Changelog -ca841121 Merge "bump version to 0.4.0" into 0.4.0 -8c524db8 bump version to 0.4.0 -eec2398c update AUTHORS & .mailmap -b9bbf6a1 update NEWS for 0.4.0 -c72e0811 Merge "dec/webp.c: don't wait for data before reporting w/h" -5ad65314 dec/frame.c: fix formatting -f7fc4bc8 dec/webp.c: don't wait for data before reporting w/h -66a32af5 Merge "NEON speed up" -26d842eb NEON speed up -f307f98b Merge "webpmux: let -- stop parameter parsing" -fe051da7 Merge "README: add a section on gif2webp" -6fd2bd62 Merge "manpage pedantry" -4af19007 README: add a section on gif2webp -6f36ade9 manpage pedantry -f9016cb9 README: update dwebp options -b4fa0a47 webpmux: let -- stop parameter parsing -a9a20acf gif2webp: Add a multi-threaded encode option -495bef41 fix bug in TrellisQuantize -605a7127 simplify __cplusplus ifdef -33109f99 Merge "drop: ifdef __cplusplus checks from C files" -7f9de0b9 Merge changes I994a5587,I8467bb71,I13b50688,I1e2c9c7b -5459030b gif2webp: let -- stop parameter parsing -a4b0aa06 vwebp: let -- stop parameter parsing -98af68fe cwebp: let -- stop parameter parsing -a33831e2 dwebp: let -- stop parameter parsing -36301249 add some checks on error paths -ce4c7139 Merge "autoconf: add --disable-wic" -5227d991 drop: ifdef __cplusplus checks from C files -f6453559 dwebp.1: fix typo -f91034f2 Merge "cwebp: print metadata stats when no output file is given" -d4934553 gif2webp: Backward compatibility for giflib version <= 4.1.3 -4c617d32 gif2webp: Disable output of ICC profile by default -73b731fb introduce a special quantization function for WHT -41c0cc4b Make Forward WHT transform use 32bit fixed-point calculation -a3359f5d Only compute quantization params once -70490437 cwebp: print metadata stats when no output file is given -d513bb62 * fix off-by-one zthresh calculation * remove the sharpening for non luma-AC coeffs * adjust the bias a little bit to compensate for this -ad9dec0c Merge "cosmetics: dwebp: fix local function name format" -f737f037 Merge "dwebp: remove a dead store" -3c3a70da Merge "makefile.unix: install binaries in $(DESTDIR)/bin/" -150b655f Merge "Android.mk: add some release compile flags" -dbebd33b cosmetics: dwebp: fix local function name format -27749951 dwebp: remove a dead store -a01e04fe autoconf: add --disable-wic -5009b227 makefile.unix: install binaries in $(DESTDIR)/bin/ -bab30fca Merge "fix -print_psnr / ssim options" -ebef7fb3 fix -print_psnr / ssim options -cb637855 Merge "fix bug due to overzealous check in WebPPictureYUVAToARGB()" -8189885b Merge "EstimateBestFilter: use an int to iterate WEBP_FILTER_TYPE" -4ad7d335 Android.mk: add some release compile flags -c12e2369 cosmetics: fix a few typos -6f104034 fix bug due to overzealous check in WebPPictureYUVAToARGB() -3f6c35c6 EstimateBestFilter: use an int to iterate WEBP_FILTER_TYPE -cc55790e Merge changes I8bb7a4dc,I2c180051,I021a014f,I8a224a62 -c536afb5 Merge "cosmetics: fix some typos" -cbdd3e6e add a -dither dithering option to the decoder -e8124012 Updated iosbuild.sh for XCode 5.x -4931c329 cosmetics: fix some typos -05aacf77 mux: add some missing casts -617d9348 enc/vp8l: add a missing cast -46db2865 idec: add some missing casts -b524e336 ErrorStatusLossless: correct return type -cb261f79 fix a descaling bug for vertical/horizontal U/V interpolation -bcb3955c Merge changes I48968468,I181bc736 -73f52133 gif2webp: Add a mixed compression mode -6198715e demux: split chunk parsing from ParseVP8X -d2e3f4e6 demux: add a tail pointer for chunks -87cffcc3 demux: cosmetics: s/has_frames/is_animation/ -e18e6677 demux: strictly enforce the animation flag -c4f39f4a demux: cosmetics: remove a useless break -61cb884d demux: (non-exp) fail if the fragmented flag is set -ff379db3 few % speedup of lossless encoding -df3649a2 remove all disabled code related to P-frames -6d0cb3de Merge "gif2webp: kmin = 0 should suppress key-frame addition." -36555983 gif2webp: kmin = 0 should suppress key-frame addition. -7708e609 Merge "detect flatness in blocks and favor DC prediction" -06b1503e Merge "add comment about the kLevelsFromDelta[][] LUT generation" -5935259c add comment about the kLevelsFromDelta[][] LUT generation -e3312ea6 detect flatness in blocks and favor DC prediction -ebc9b1ee Merge "VPLBitReader bugfix: Catch error if bit_pos > LBITS too." -96ad0e0a VPLBitReader bugfix: Catch error if bit_pos > LBITS too. -a014e9c9 tune quantization biases toward higher precision -1e898619 add helpful PrintBlockInfo() function -596a6d73 make use of 'extern' consistent in function declarations -c8d48c6e Merge "extract random utils to their own file util/random.[ch]" -98aa33cf extract random utils to their own file util/random.[ch] -432a723e Merge "swig: add basic go bindings" -fab618b5 Merge "rename libwebp.i -> libwebp.swig" -e4e7fcd6 swig: add basic go bindings -d3408720 Merge "fast auto-determined filtering strength" -f8bfd5cd fast auto-determined filtering strength -ac0bf951 small clean-up in ExpandMatrix() -1939607e rename libwebp.i -> libwebp.swig -43148b6c filtering: precompute ilimit and hev_threshold -18f992ec simplify f_inner calculation a little -241d11f1 add missing const -86c0031e add a 'format' field to WebPBitstreamFeatures -dde91fde Demux: Correct the extended format validation -5d6c5bd2 add entry for '-resize' option in cwebp's man -7c098d18 Use some gamma-curve range compression when computing U/V average -0b2b0504 Use deterministic random-dithering during RGB->YUV conversion -8a2fa099 Add a second multi-thread method -7d6f2da0 Merge "up to 20% faster multi-threaded decoding" -266f63ea Merge "libwebp.jar: build w/Java 1.6 for Android compat" -0532149c up to 20% faster multi-threaded decoding -38efdc2e Simplify the gif2webp tool: move the optimization details to util -de899516 libwebp.jar: build w/Java 1.6 for Android compat -cb221552 Decode a full row of bitstream before reconstructing -dca8a4d3 Merge "NEON/simple loopfilter: avoid q4-q7 registers" -9e84d901 Merge "NEON/TransformWHT: avoid q4-q7 registers" -fc10249b NEON/simple loopfilter: avoid q4-q7 registers -2f09d63e NEON/TransformWHT: avoid q4-q7 registers -77585a2b Merge "use a macrofunc for setting NzCoeffs bits" -d155507c Merge "use HINT_GRAPH as image_hint for gif source" -9c561646 Merge "only print GIF_DISPOSE_WARNING once" -05879865 use HINT_GRAPH as image_hint for gif source -0b28d7ab use a macrofunc for setting NzCoeffs bits -f9bbc2a0 Special-case sparse transform -00125196 gif2webp: detect and flatten uniformly similar blocks -0deaf0fa only print GIF_DISPOSE_WARNING once -6a8c0eb7 Merge "small optimization in segment-smoothing loop" -f7146bc1 small optimization in segment-smoothing loop -5a7533ce small gif2webp fix -4df0c89e Merge changes Ic697660c,I27285521 -5b2e6bd3 Android.mk: add a dwebp target -f910a84e Android.mk: update build flags -63f9aba4 special-case WHT transform when there's only DC -80911aef Merge "7-8% faster decoding by rewriting GetCoeffs()" -606c4304 gif2webp: Improved compression for lossy animated WebP -fb887f7f gif2webp: Different kmin/kmax defaults for lossy and lossless -2a981366 7-8% faster decoding by rewriting GetCoeffs() -92d47e4c improve VP8L signature detection by checking the version bits too -5cd43e43 Add -incremental option to dwebp -54b8e3f6 webpmux: DisplayInfo(): remove unnecessary error checks. -40ae3520 fix memleak in WebPIDelete() -d9662658 mux.h doc: WebPMuxGetFrame() can return WEBP_MUX_MEMORY_ERROR too. -0e6747f8 webpmux -info: display dimensions and has_alpha per frame -d78a82c4 Sanity check for underflow -8498f4bf Merge "remove -Wshadow warnings" -e89c6fc8 Avoid a potential memleak -3ebe1757 Merge "break down the proba 4D-array into some handy structs" -6a44550a break down the proba 4D-array into some handy structs -2f5e8934 remove -Wshadow warnings -bf3a29b3 Merge "add proper WEBP_HAVE_GIF and WEBP_HAVE_GL flags" -2b0a7593 Merge "fix some warnings from static analysis" -22dd07ce mux.h: Some doc corrections -79ff0346 add proper WEBP_HAVE_GIF and WEBP_HAVE_GL flags -d51f45f0 fix some warnings from static analysis -d134307b fix conversion warning on MSVC -d538cea8 gif2webp: Support a 'min' and 'max' key frame interval -80b54e1c allow search with token buffer loop and fix PARTITION0 problem -b7d4e042 add VP8EstimateTokenSize() -10fddf53 enc/quant.c: silence a warning -399cd456 Merge "fix compile error on ARM/gcc" -9f24519e encoder: misc rate-related fixes -c663bb21 Merge "simplify VP8IteratorSaveBoundary() arg passing" -fa46b312 Demux.h: Correct a method name reference -f8398c9d fix compile error on ARM/gcc -f691f0e4 simplify VP8IteratorSaveBoundary() arg passing -42542be8 up to 6% faster encoding with clang compiler -93402f02 multi-threaded segment analysis -7e2d6595 Merge "remove the PACK() bit-packing tricks" -c13fecf9 remove the PACK() bit-packing tricks -2fd091c9 Merge "use NULL for lf_stats_ testing, not bool" -b11c9d62 dwebp: use default dct_method -4bb8465f Merge "(de)mux.h: wrap pseudo-code in /* */" -cfb56b17 make -pass option work with token buffers -5416aab4 (de)mux.h: wrap pseudo-code in /* */ -35dba337 use NULL for lf_stats_ testing, not bool -733a7faa enc->Iterator memory cleanup -e81fac86 Add support for "no blend" in webpmux binary -3b80bc48 gif2webp: Separate out each step into a method -bef7e9cc Add doc precision about demux object keeping pointers to data. -61405a14 dwebp: enable stdout output with WIC -6eabb886 Merge "Animated WebP: add "do no blend" option to spec" -be20decb fix compilation for BITS 24 -e58cc137 Merge "dwebp: s/unsigned char/uint8_t/" -72501d43 dwebp: s/unsigned char/uint8_t/ -2c9633e8 Merge "gif2webp: Insert independent frames at regular intervals." -f0d6a14b gif2webp: Insert independent frames at regular intervals. -b25a6fbf yuv.h: fix indent -ede3602e Merge "cosmetics: fix indent" -3a65122a dwebp: fix stdout related output -388a7249 cosmetics: fix indent -4c7322c8 Merge "dsp: msvc compatibility" -d50c7e32 Merge "5-7% faster SSE2 versions of YUV->RGB conversion functions" -b8ab7847 Merge "simplify upsampler calls: only allow 'bottom' to be NULL" -df6cebfa 5-7% faster SSE2 versions of YUV->RGB conversion functions -ad6ac32d simplify upsampler calls: only allow 'bottom' to be NULL -a5e8afaf output to stdout if file name is "-" -f358450f dsp: msvc compatibility -43a7c8eb Merge "cosmetics" -4c5f19c1 Merge "bit_reader.h: cosmetics" -f72fab70 cosmetics -14dd5e78 fix const-ness -b20aec49 Merge "Support for 'do not blend' option in vwebp" -dcf65222 Support for 'do not blend' option in vwebp -d5bad033 Animated WebP: add "do no blend" option to spec -a2f5f73d Merge "Support for "Do not blend" in mux and demux libraries" -e081f2f3 Pack code & extra_bits to Struct (VP8LPrefixCode). -6284854b Support for "Do not blend" in mux and demux libraries -f486aaa9 Merge "slightly faster ParseIntraMode" -d1718632 slightly faster ParseIntraMode -3ceca8ad bit_reader.h: cosmetics -69257f70 Create LUT for PrefixEncode. -988b7084 add WebPWorkerExecute() for convenient bypass -06e24987 Merge "VP8EncIterator clean-up" -de4d4ad5 VP8EncIterator clean-up -7bbe9529 Merge "cosmetics: thread.c: drop a redundant comment" -da411485 cosmetics: thread.c: drop a redundant comment -feb4b6e6 thread.h: #ifdef when checking WEBP_USE_THREAD -8924a3a7 thread.c: drop WebPWorker prefix from static funcs -1aed8f2a Merge "fix indent" -4038ed15 fix indent -1693fd9b Demux: A new state WEBP_DEMUX_PARSE_ERROR -8dcae8b3 fix rescaling-with-alpha inaccuracy -11249abf Merge changes I9b4dc36c,I4e0eef4d -52508a1f Mux: support parsing unknown chunks within a frame/fragment. -05db0572 WebPMuxSetChunk: remove unused variable -8ba1bf61 Stricter check for presence of alpha when writing lossless images -a03c3516 Demux: WebPIterator now also denotes if the frame has alpha. -6df743a3 Decoder: handle fragments case correctly too. -faa4b07e Support for unknown chunks in mux library -7d60bbc6 Speed up HashChainFindCopy function. -66740140 Speedup Alpha plane encoding. -b7346a1e 0.1 % speedup to decoding -c606182e webp-container-spec: Tighten language added by last -a34a5029 pngdec: output error messages from libpng -e84c625d Merge "Detect canvas and image size mismatch in decoder." -f626fe2e Detect canvas and image size mismatch in decoder. -f5fbdee0 demux: stricter image bounds check -30c8158a add extra assert in Huffman decode code -8967b9f3 SSE2 for lossless decoding (critical) functions. -699d80ea Jump-lookup for Huffman coding -c34307ab fix some VS9 warnings about type conversion -eeada35c pngdec: add missing include -54b65108 gif2webp: If aligning to even offsets, extra pixels should be transparent -0bcf5ce3 Merge "remove a malloc() in case we're using only FILTER_NONE for alpha" -2c07143b remove a malloc() in case we're using only FILTER_NONE for alpha -a4d5f59d Faster lossless decoding -fd53bb75 Merge "alternate LUT-base reverse-bits code" -d1c166ef Merge "Container spec: a clarification on background color." -fdb91779 Rename a method -5e967532 Container spec: a clarification on background color. -30e77d0f Merge branch '0.3.0' -1b631e29 alternate LUT-base reverse-bits code -24cc307a ~20% faster lossless decoding -313d853f Speedup for decoding lossless WebP photographs: -24ee098a change the bytes_per_pixels_ field into more evocative use_8b_decode -2a04b034 update ChangeLog (tag: v0.3.1-rc2, tag: v0.3.1) -7288950b Regression fix for alpha channels using color cache: -2e377b53 wicdec: silence a format warning -ad9e42a6 muxedit: silence some uninitialized warnings -3307c163 Don't set alpha-channel to 0xff for alpha->green uplift -5130770c Merge "wicdec: silence a format warning" -a37eff47 Regression fix for alpha channels using color cache: -241cf99b Merge "muxedit: silence some uninitialized warnings" -c8f9c84d Regression fix for alpha unfiltering: -14cd5c6c muxedit: silence some uninitialized warnings -a368db81 dec/vp8l: quiet vs9 x64 type conversion warning -ffae9f31 wicdec: silence a format warning -8cf0701e Alpha encoding: never filter in case of NO_COMPRESSION -825e73b1 update ChangeLog (tag: v0.3.1-rc1) -abf6f691 update NEWS -5a92c1a5 bump version to 0.3.1 -86daf77c store top Y/U/V samples in packed fashion -67bc353e Revert "add WebPBlendAlpha() function to blend colors against background" -068db59e Intertwined decoding of alpha and RGB -38cc0114 Simplify forward-WHT + SSE2 version -3fa595a5 Support decoding upto given row in DECODE_DATA_FUNC -520f005f DequantizeLevels(): Add 'row' and 'num_rows' args -47374b82 Alpha unfilter for given set of rows -f32097e0 probe input file and quick-check for WebP format. -a2aed1d0 configure: improve gl/glut library test -c7e89cbb update copyright text -a00380d2 configure: remove use of AS_VAR_APPEND -a94a88dd fix EXIF parsing in PNG -a71e5d84 add doc precision for WebPPictureCopy() and WebPPictureView() -8287012e remove datatype qualifier for vmnv -e1908430 fix a memory leak in gif2webp -0b18b9ee fix two minor memory leaks in webpmux -db5095d5 remove some cruft from swig/libwebp.jar -850e956f README: update swig notes -bddd9b0a swig/python: add minimal documentation -d573a8d5 swig: add python encode support -6b931875 swig/java: reduce wrapper function code duplication -6fe536f4 swig/java: rework uint8_t typemap -a2ea4643 Fix the bug in ApplyPalette. -7bb28d2a webp/lossless: fix big endian BGRA output -f036d4bf Speed up ApplyPalette for ARGB pixels. -8112c8cf remove some warnings: -cc128e0b Further reduce memory to decode lossy+alpha images -07db70d2 fix for big-endian -eda8a7de gif2webp: Fix signed/unsigned comparison mismatch -31f346fe Makefile.vc: fix libwebpdemux dll variable typo -6c76d28e swig: add python (decode) support -b4f5bb6c swig: cosmetics -498d4dd6 WebP-Lossless encoding improvements. -26e72442 swig: ifdef some Java specific code -8ecec686 configure: add warning related flags -e676b043 configure: add GLUT detection; build vwebp -b0ffc437 Alpha decoding: significantly reduce memory usage -20aa7a8d configure: add --enable-everything -b8307cc0 configure.ac: add some helper macros -980e7ae9 Remove the gcc compilation comments -7f25ff99 gif2webp: Fix ICC and XMP support -d8e53211 Add missing name to AUTHORS -11edf5e2 Demux: Fix a potential memleak -c7b92184 don't forward declare enums -7a650c6a prevent signed int overflow in left shift ops -31bea324 add precision about dynamic output reallocation with IDecoder -c22877f7 Add incremental support for extended format files -5051245f Makefile.vc: have 'all' target build everything -8191deca Makefile.vc: flags cleanup -b9d74735 Makefile.vc: drop /FD flag -5568dbcf update gitignore -f4c7b654 WebPEncode: An additional check. Start VP8EncLoop/VP8EncTokenLoop only if VP8EncStartAlpha succeeded. -1fb04bec pngdec: Avoid a double-free. -dcbb1ca5 add WebPBlendAlpha() function to blend colors against background -bc9f5fbe configure.ac: add AM_PROG_AR for automake >= 1.12 -bf867bf2 Tuned cross_color parameter (step) for lower qual -90e2ec5a Merge "probe input file and quick-check for WebP format." -7180d7ff Merge "update copyright text" -830f72b7 probe input file and quick-check for WebP format. -2ccf58d6 configure: improve gl/glut library test -d640614d update copyright text -c2113ad4 Merge "configure: remove use of AS_VAR_APPEND" -9326a56f configure: remove use of AS_VAR_APPEND -ea63d619 fix a type warning on VS9 x86 -bec11092 fix EXIF parsing in PNG -b6e65f3d Merge "fix warnings for vs9 x64" -438946dc fix warnings for vs9 x64 -f4710e3b collect macroblock reconstruction data in VP8MBData struct -23d28e21 add doc precision for WebPPictureCopy() and WebPPictureView() -518f2cd7 cosmetics: gif2webp: fix indent -af358e68 Merge "remove datatype qualifier for vmnv" -3fe91635 remove datatype qualifier for vmnv -764fdffa fix a memory leak in gif2webp -3e59a74d fix two minor memory leaks in webpmux -47b9862f Merge "README: update swig notes" -325d15ff remove some cruft from swig/libwebp.jar -4a7627c2 README: update swig notes -5da81e33 Merge "swig/python: add minimal documentation" -f39e08f2 Merge "swig: add python encode support" -6ca4a3e3 Merge "swig/java: reduce wrapper function code duplication" -8f8702b0 Merge "swig/java: rework uint8_t typemap" -91413be2 reduce memory for VP8MB and remove bitfields use -7413394e Fix the memory leak in ApplyFilters. -2053c2cf simplify the alpha-filter testing loop -825b64db swig/python: add minimal documentation -14677e11 swig: add python encode support -a5c297c8 swig/java: reduce wrapper function code duplication -ad4a367d swig/java: rework uint8_t typemap -0d25876b use uint8_t for inv_palette[] -afa3450c Fix the bug in ApplyPalette. -2d6ac422 Merge "webp/lossless: fix big endian BGRA output" -2ca83968 webp/lossless: fix big endian BGRA output -742110cc Speed up ApplyPalette for ARGB pixels. -2451e47d misc code cleanup -83db4043 Merge "swig: add python (decode) support" -eeeea8b5 Merge "swig: cosmetics" -d5f9b8f3 Merge "libwebp: fix vp8 encoder mem alloc offsetting" -d8edd835 libwebp: fix vp8 encoder mem alloc offsetting -8983b83e remove use of bit-fields in VP8FInfo -87a4fca2 remove some warnings: -ba8f74e2 Merge "fix for big-endian" -a65067fa Merge "Further reduce memory to decode lossy+alpha images" -64c84486 Further reduce memory to decode lossy+alpha images -332130b9 Mux: make a few methods static -44370617 fix for big-endian -5199eab5 Merge "add uncompressed TIFF output support" -a3aede97 add uncompressed TIFF output support -f975b67f Merge "gif2webp: Fix signed/unsigned comparison mismatch" -5fbc734b Merge "GetFeatures: Detect invalid VP8X/VP8/VP8L data" -d5060c87 Merge "mux.h: A comment fix + some consistency fixes" -352d0dee GetFeatures: Detect invalid VP8X/VP8/VP8L data -3ef79fef Cosmetic: "width * height" -043e1ae4 gif2webp: Fix signed/unsigned comparison mismatch -5818cff7 mux.h: A comment fix + some consistency fixes -1153f888 Merge "swig: ifdef some Java specific code" -3eeedae1 Makefile.vc: fix libwebpdemux dll variable typo -f980faf4 swig: add python (decode) support -7f5f42bb swig: cosmetics -8eae188a WebP-Lossless encoding improvements. -c7247c4c swig: ifdef some Java specific code -4cb234d5 Merge "Mux: make ValidateForSingleImage() method static" -ed6f5308 Merge "Add GetCanvasSize() method to mux" -1d530c9a Mux: make ValidateForSingleImage() method static -bba4c2b2 configure: add warning related flags -fffefd18 Add GetCanvasSize() method to mux -732da8d0 Merge "configure: add GLUT detection; build vwebp" -0e513f7a configure: add GLUT detection; build vwebp -55d1c150 Merge "Alpha decoding: significantly reduce memory usage" -13d99fb5 Merge "configure: add --enable-everything" -2bf698fe Merge "configure.ac: add some helper macros" -edccd194 Alpha decoding: significantly reduce memory usage -3cafcc9a configure: add --enable-everything -4ef14477 configure.ac: add some helper macros -a4e1cdbb Remove the gcc compilation comments -6393fe4b Cosmetic fixes -9c4ce971 Simplify forward-WHT + SSE2 version -878b9da5 fix missed optim -00046171 VP8GetInfo(): Check for zero width or height. -9bf31293 align VP8Encoder::nz_ allocation -5da165cf fix CheckMode() signature -0ece07dc Merge "explicitly pad bitfields to 32-bits" -9dbc9d19 explicitly pad bitfields to 32-bits -5369a80f Merge "prevent signed int overflow in left shift ops" -70e39712 Merge "cosmetics: remove unnecessary ';'s" -d3136ce2 Merge "don't forward declare enums" -b26e5ad5 gif2webp: Fix ICC and XMP support -46089b20 Add missing name to AUTHORS -94328d64 Demux: Fix a potential memleak -96e948d7 don't forward declare enums -f4f90880 prevent signed int overflow in left shift ops -0261545e cosmetics: remove unnecessary ';'s -7ebdf110 Merge "Fix few missing comparisons to NULL" -1579989e Fix few missing comparisons to NULL -ea1b21cf Cleaned up VP8GetHeaders() so that it parses only frame header -b66caee4 dwebp: add support for BMP output -ff885bfe add precision about dynamic output reallocation with IDecoder -79241d5a Merge "Makefile.vc: have 'all' target build everything" -ac1c729b Merge "Makefile.vc: flags cleanup" -118a055c Merge "Makefile.vc: drop /FD flag" -ecad0109 Merge "update gitignore" -a681b4f4 Rename PRE_VP8 state to WEBP_HEADER -ead4d478 Add incremental support for extended format files -69d0f926 Makefile.vc: have 'all' target build everything -52967498 Makefile.vc: flags cleanup -c61baf0c Makefile.vc: drop /FD flag -3a15125d update gitignore -5167ca47 Merge "WebPEncode: An additional check. Start VP8EncLoop/VP8EncTokenLoop only if VP8EncStartAlpha succeeded." -67708d67 WebPEncode: An additional check. Start VP8EncLoop/VP8EncTokenLoop only if VP8EncStartAlpha succeeded. -b68912af pngdec: Avoid a double-free. -82abbe12 Merge "configure.ac: add AM_PROG_AR for automake >= 1.12" -e7d9548c add WebPBlendAlpha() function to blend colors against background -ed4dc717 configure.ac: add AM_PROG_AR for automake >= 1.12 -df4a406d Merge branch '0.3.0' -1e0d4b8c Update ChangeLog (tag: v0.3.0-rc7, tag: v0.3.0) -d52b405d Cosmetic fixes -6cb4a618 misc style fix -68111ab0 add missing YUVA->ARGB automatic conversion in WebPEncode() -e9a7990b Cosmetic fixes -403bfe82 Container spec: Clarify frame disposal -2aaa423b Merge "add missing YUVA->ARGB automatic conversion in WebPEncode()" -07d87bda add missing YUVA->ARGB automatic conversion in WebPEncode() -142c4629 misc style fix -3e7a13a0 Merge "Container spec: clarify the background color field" into 0.3.0 -14af7745 container doc: add a note about the 'ANMF' payload -cc635efa Container spec: clarify the background color field -e3e33949 container doc: move RIFF description to own section -4299f398 libwebp/mux: fix double free -33f9a692 Merge "demux: keep a frame tail pointer; used in AddFrame" into 0.3.0 -a2a7b959 use WebPDataCopy() instead of re-coding it. -6f18f12f demux: keep a frame tail pointer; used in AddFrame -e5af49e9 add doc precision about WebPParseHeaders() return codes -db46daab Merge "Makefile.vc: fix dynamic builds" into 0.3.0 -53c77afc Merge "gif2webp: Bgcolor fix for a special case" into 0.3.0 -a5ebd143 gif2webp: Bgcolor fix for a special case -6378f238 Merge "vwebp/animation: fix background dispose" into 0.3.0 -3c8eb9a8 fix bad saturation order in QuantizeBlock -04c7a2ec vwebp/animation: fix background dispose -81a50695 Makefile.vc: fix dynamic builds -5f25c396 update ChangeLog (tag: v0.3.0-rc6) -14d42af2 examples: don't use C99 %zu -5ccf1fe5 update ChangeLog -2560c243 update NEWS -f43bafc3 Merge changes Iecccb09c,If5ee9fd2,I3e181ce4 into 0.3.0 -a788644f dwebp: warn when decoding animated webp's -302efcdb Decode: return more meaningful error for animation -ad452735 WebPBitstreamFeatures: add has_animation field -783dfa49 disable FRGM decoding for good in libwebpmux -4b956be0 Update ChangeLog -ad8b86d7 update NEWS -3e084f63 Merge "demux cosmetics: comments/rename internal function" into 0.3.0 -d3f8c621 Merge "move WebPFeatureFlags declaration" into 0.3.0 -7386fe50 Merge "libwebp{demux,mux}: install mux_types.h" into 0.3.0 -d6cd4e90 Merge "bump decode abi" into 0.3.0 -17f8da5c bump decode abi -97684ae2 Merge "add doc precision about WebPDemuxPartial()" into 0.3.0 -f933fd2a move WebPFeatureFlags declaration -289bc47b libwebp{demux,mux}: install mux_types.h -224e8d46 add doc precision about WebPDemuxPartial() -4c18e80c demux cosmetics: comments/rename internal function -7cfd1bf1 update AUTHORS -401f7b85 Merge "speed-up lossless (~3%) with ad-hoc histogram cost evaluation" into 0.3.0 -1fc8ffca Merge "makefile.unix: dist related changes" into 0.3.0 -8a89c6ed Merge changes I466c377f,Ib761ebd3,I694857fc into 0.3.0 -f4ffb2d5 speed-up lossless (~3%) with ad-hoc histogram cost evaluation -723847d5 gif2webp: only write error messages to stderr -701b9e2a makefile.unix: dist related changes -bb85b437 Merge "update NEWS" into 0.3.0 -59423a24 gif2webp: fix crash on open failure with libgif5 -9acb17de gif2webp: silence a unused param warning -7d9fdc23 Merge "README updates" into 0.3.0 -5621934e Merge "build: fix install race on shared headers" into 0.3.0 -70809d89 Merge "bump version to 0.3.0" into 0.3.0 -d851cd1d demux: make the parse a bit more strict -28bb4107 update NEWS -cef93882 bump version to 0.3.0 -9048494d build: fix install race on shared headers -1e67e8ef README updates -42b611a4 Merge "configure: drop experimental from mux/demux" into 0.3.0 -096a8e32 Merge "vwebp: add color profile support" into 0.3.0 -ddfee5dc vwebp: add color profile support -0d6927d3 Merge "Mark fragment options as experimental in webpmux" into 0.3.0 -5dbd4030 Mark fragment options as experimental in webpmux -a0a6648c configure: drop experimental from mux/demux -ee65bad8 Merge "add support for BITS > 32" into 0.3.0 -744930db add support for BITS > 32 -7dd288f0 cwebp: fix build -19a8dd01 Merge "Makefile.vc: add vwebp.exe target" into 0.3.0 -50eeddad Merge "examples: normalize icc related program arguments" into 0.3.0 -757f637f Merge "Makefile.vc: add libwebpdecoder target" into 0.3.0 -b65c4b7c Makefile.vc: add libwebpdecoder target -f8db7b4a Merge "vwebp: replace doubles w/floats where appropriate" into 0.3.0 -d99aa56f Makefile.vc: add vwebp.exe target -013023e7 vwebp: replace doubles w/floats where appropriate -9b3db894 README.mux: add version reference -7b6a26cf Merge "cwebp: output metadata statistics" into 0.3.0 -d8dc72a0 examples: normalize icc related program arguments -7bfc9056 Merge "make alpha unfilter work in-place" into 0.3.0 -0037b2d2 Merge "add LUT-free reference code for YUV->RGB conversion." into 0.3.0 -166bf744 Merge "demux: disable fragment parsing" into 0.3.0 -126974b4 add LUT-free reference code for YUV->RGB conversion. -0aef3ebd make alpha unfilter work in-place -14ef5005 Merge "Remove 'status: experimental' from container spec" into 0.3.0 -d40c98e1 Merge "webpmux binary: tiny style fix" into 0.3.0 -0bc42689 cwebp: output metadata statistics -bc039803 Merge "autoconf: normalize experimental define" into 0.3.0 -d1e21b13 Remove 'status: experimental' from container spec -7681bb96 webpmux binary: tiny style fix -a3dd3d0f avoid installing example_util.h -252320e2 demux: disable fragment parsing -537bde05 autoconf: normalize experimental define -5e338e0b Merge changes I33e8a613,I8e8a7b44 into 0.3.0 -d9d0ea1b Merge changes If21e3ec7,I991fc30b into 0.3.0 -627f5ca6 automake: add reference to libwebp for mux/demux -eef73d07 don't consolidate proba stats too often -05ec4cc2 libwebp{,decoder}.pc: add pthread flags -1bfcf5bf add libwebpmux.pc -26ca843d add libwebpdemux.pc -69e25906 Merge "Tune Lossless compression for lower qualities." -0478b5d2 Tune Lossless compression for lower qualities. -39f7586f add a mention of parallel alpha encoding in the NEWS -5a21d967 Merge "1.5x-2x faster encoding for method 3 and up" -9bfbdd14 1.5x-2x faster encoding for method 3 and up -27dc741b Correct frame options order in README.mux -be2fd173 Mux: fix a scenario with bad ANMF/FRGM size -19eb012c Merge "Demux: Add option to get frame count using GetI()" -7368b8cb Merge "WebPGetFeatures() out of if condition for clarity." -f604c9a4 Merge "fix windows build" -153f94e8 fix windows build -847b4924 Merge "vwebp: use magenta for 'i'nfo display" -25ea46bd Merge "vwebp: add keyboard shortcuts to help output" -bea7ccaf vwebp: use magenta for 'i'nfo display -8fab161a webpmux: correct -frame param order in help output -03cc23d6 vwebp: add keyboard shortcuts to help output -068eba8d Demux: Add option to get frame count using GetI() -988b8f56 WebPGetFeatures() out of if condition for clarity. -6933d910 Merge "gif2webp: Be lenient about background color index." -4d0f7c55 Merge "WebPGetFeatures() behavior change:" -fdeeb01d gif2webp: Be lenient about background color index. -ad250320 Merge "multi-threaded alpha encoding for lossy" -4e32d3e1 Merge "fix compilation of token.c" -f817930a multi-threaded alpha encoding for lossy -88050351 fix compilation of token.c -fc816219 code using the actual values for num_parts_, not the ones from config -72655350 Merge "move the config check from .c to .h" -dd9e76f7 move the config check from .c to .h -956b217a WebPGetFeatures() behavior change: -df02e4ce WebPDemuxGetI behavior change: -633c004d Merge "rebalance method tools (-m) for methods [0..4]" -58ca6f65 rebalance method tools (-m) for methods [0..4] -7648c3cc Merge "describe rd-opt levels introduce VP8RDLevel enum" -67fb1003 Merge "autoconf: enable silent-rules by default" -a5042a32 GetVersion() methods for mux and demux -5189957e describe rd-opt levels introduce VP8RDLevel enum -4e094ace autoconf: enable silent-rules by default -b7eaa85d inline VP8LFastLog2() and VP8LFastSLog2 for small values -5cf7792e split quant_levels.c into decoder and encoder version -e5d3ffe2 Merge "Update code example in README.mux" -ac5a9156 Update code example in README.mux -38a91e99 Add example code snippet for demux API -5f557f3c README.mux: add info about Demux API and vwebp -c0ba0903 backward_references: avoid signed integer overflow -943386db disable SSE2 for now -9479fb7d lossless encoding speedup -ec2030a8 merge two lines together -b67956c0 Merge "Remove ReadOneBit() and ReadSymbolUnsafe()" -1667bded Remove ReadOneBit() and ReadSymbolUnsafe() -3151669b wicdec + dwebp cosmetics: normalize formatting -92668da6 change default filtering parameters: * type is now 'strong' * strength is now '60' -b7490f85 introduce WEBP_REFERENCE_IMPLEMENTATION compile option -33838857 faster decoding (3%-6%) -5c3e381b Merge "add a -jpeg_like option" -c2311046 remove unused declaration of VP8Zigzag -36152957 Merge "wicdec: add alpha support for paletted formats" -c9f16490 wicdec: add alpha support for paletted formats -1262f81e Merge "wicdec: silence some warnings" -e7ea61eb wicdec: silence some warnings -23c0f354 fix missing intptr_t->int cast for MSVC -e895059a add a -jpeg_like option -1f803f64 Merge "Tune alpha quality mapping to more reasonable values." -1267d498 Tune alpha quality mapping to more reasonable values. -043076e2 Merge "speed-up lossless in BackwardTrace" -f3a44dcd remove one malloc from TraceBackwards() -0fc1a3a0 speed-up lossless in BackwardTrace -7c732e59 cwebp: centralize WebPCleanupTransparentArea() -7381254e Merge "wicdec: add ICC profile extraction" -e83ff7de wicdec: add ICC profile extraction -146c6e3b Merge "cosmetics: pngdec: normalize default label location" -a8f549d7 Merge "manpages: italicize option parameters" -e118db83 Merge "encode.h: note the need to free() WebPMemoryWriter" -1dfee6db cosmetics: pngdec: normalize default label location -14c38200 manpages: italicize option parameters -7defbfad encode.h: note the need to free() WebPMemoryWriter -88d382a0 cwebp: cleanup after memory_writer -12d6cecf fix extra space in dwebp.1 man -b01681a9 Fix for demuxer frame iteration: -56c12aa6 Demuxer creation fix: -66c810bc add a -yuv option to dwebp (very similar to -pgm) -841a3ba5 Merge "Remove -Wshadow warnings." -8fd02527 Merge "upsampling_neon.c: fix build" -6efed268 Remove -Wshadow warnings. -60904aa6 Merge "allow WebPINewRGB/YUVA to be passed a NULL output buffer." -b7adf376 allow WebPINewRGB/YUVA to be passed a NULL output buffer. -27f8f742 upsampling_neon.c: fix build -06b9cdf1 gitignore: add IOS related directories -f112221e Merge "Fix more comments for iobuild.sh" -fe4d25dd Fix more comments for iobuild.sh -1de3e252 Merge "NEON optimised yuv to rgb conversion" -090b708a NEON optimised yuv to rgb conversion -daa06476 Merge "Add ios build script for building iOS library." -79fe39e2 Add ios build script for building iOS library. -126c035f remove some more -Wshadow warnings -522e9d61 Merge "cwebp: enable '-metadata'" -76ec5fa1 cwebp: enable '-metadata' -aeb91a9d Merge "cosmetics: break a few long lines" -be7c96b0 cosmetics: break a few long lines -cff8ddb6 Merge "add libwebpdecoder.pc" -93148ab8 Merge "libwebp.pc.in: detab" -6477f955 Merge "Makefile.vc: normalize path separator" -bed1ed7c add libwebpdecoder.pc -46168b2d libwebp.pc.in: detab -a941a346 Fixed few nits in the build files. -dd7a49b2 Makefile.vc: normalize path separator -9161be86 Merge "cwebp: extract WIC decoding to its own module" -08e7c58e Merge "Provide an option to build decoder library." -0aeba528 Provide an option to build decoder library. -757ebcb1 catch malloc(0)/calloc(0) with an assert -152ec3d2 Merge "handle malloc(0) and calloc(0) uniformly on all platforms" -a452a555 cwebp: extract WIC decoding to its own module -2b252a53 Merge "Provide option to swap bytes for 16 bit colormodes" -94a48b4b Provide option to swap bytes for 16 bit colormodes -42f8f934 handle malloc(0) and calloc(0) uniformly on all platforms -8b2152c5 Merge "add an extra assert to check memory bounds" -0d19fbff remove some -Wshadow warnings -cd22f655 add an extra assert to check memory bounds -8189feda Merge "Add details and reference about the YUV->RGB conversion" -1d2702b1 Merge "Formatting fixes in lossless bitstream spec" -8425aaee Formatting fixes in lossless bitstream spec -a556cb1a Add details and reference about the YUV->RGB conversion -d8f21e0b add link to SSIM description on Wikipedia -18e9167e Merge "WebP-lossless spec clarifications:" -98e25b9b Merge "cwebp: add -metadata option" -f01c2a53 WebP-lossless spec clarifications: -f4a97970 Merge "Disto4x4 and Disto16x16 in NEON" -47b7b0ba Disto4x4 and Disto16x16 in NEON -7eaee9f1 cwebp: add -metadata option -36c52c2c tiffdec: use toff_t for exif ifd offset -7c8111e4 Merge "cwebp/tiffdec: add TIFF metadata extraction" -e6409adc Remove redundant include from dsp/lossless code. -1ab5b3a7 Merge "configure: fix --with-gifincludedir" -03c749eb configure: fix --with-gifincludedir -8b650635 multiple libgif versions support for gif2webp -476e293f gif2webp: Use DGifOpenFileName() -b50f277b tiffdec: correct format string -2b9048e3 Merge "tiffdec: check error returns for width/height" -a1b5a9a3 Merge "cwebp/tiff: use the first image directory" -079423f5 tiffdec: check error returns for width/height -d62824af Merge "cwebp/jpegdec: add JPEG metadata extraction" -03afaca4 Merge "cwebp: add PNG metadata extraction" -2c724968 cwebp/jpegdec: add JPEG metadata extraction -dba64d91 cwebp: add PNG metadata extraction -1f075f89 Lossless spec corrections/rewording/clarifications -2914ecfd cwebp/tiffdec: add TIFF metadata extraction -d82a3e33 More corrections/clarifications in lossless spec: -bd002557 cwebp/tiff: use the first image directory -df7aa076 Merge "Cleanup around jpegdec" -0f57dcc3 decoding speed-up (~1%) -bcec339b Lossless bitstream clarification: -6bf20874 add examples/metadata.c -207f89c0 Merge "configure: add libwebpdemux status to summary" -1bd287a6 Cleanup around jpegdec -91455679 Merge "cosmetics: use '== 0' in size checks" -d6b88b76 cosmetics: use '== 0' in size checks -d3dace2f cosmetics: jpegdec -2f69af73 configure: add libwebpdemux status to summary -1c1c5646 cwebp: extract tiff decoding to its own module -6a871d66 cwebp: extract jpeg decoding to its own module -2ee228f9 cwebp: extract png decoding to its own module -4679db00 Merge "cwebp: add metadata framework" -63aba3ae cwebp: add metadata framework -931bd516 lossless bitstream: block size bits correction -e4fc4c1c lossless bitstream: block size bits correction -d65ec678 fix build, move token.c to src/enc/ -657f5c91 move token buffer to its own file (token.c) -c34a3758 introduce GetLargeValue() to slim-fast GetCoeffs(). -d5838cd5 faster non-transposing SSE2 4x4 FTransform -f76191f9 speed up GetResidualCost() -ba2aa0fd Add support for BITS=24 case -2e7f6e8e makefile.unix: Dependency on libraries -dca84219 Merge "Separate out mux and demux code and libraries:" -23782f95 Separate out mux and demux code and libraries: -bd56a01f configure: add summary output -90e5e319 dwebp manual: point to webpmux, gif2webp. -540790ca gif2webp.c: add a note about prerequisites -d1edf697 cwebp man page: meaning of '-q' for lossy/lossless -79efa1d0 Add man page for gif2webp utility -2243e40c Merge "gif2webp build support with autoconf tools" -c40efca1 gif2webp build support with autoconf tools -6523e2d4 WebP Container: -4da788da Merge "simplify the fwd transform" -42c3b550 simplify the fwd transform -41a6ced9 user GLfloat instead of float -b5426119 fix indentation -68f282f7 * handle offset in anim viewer 'vwebp' * fix gif2webp to handle disposal method and odd offset correctly -118cb312 Merge "add SSE2 version of Sum of Square error for 16x16, 16x8 and 8x8 case" -8a7c3cc8 Merge "Change the order of -frame argument to be more natural" -99e0a707 Merge "Simplify the texture evaluation Disto4x4()" -0f923c3f make the bundling work in a tmp buffer -e5c3b3f5 Simplify the texture evaluation Disto4x4() -48600084 Change the order of -frame argument to be more natural -35bfd4c0 add SSE2 version of Sum of Square error for 16x16, 16x8 and 8x8 case -a7305c2e Clarification for unknown chunks -4c4398e2 Refine WebP Container Spec wrt unknown chunks. -2ca642e0 Rectify WebPMuxGetFeatures: -7caab1d8 Some cosmetic/comment fixes. -60b2651a Merge "Write a GIF to WebP converter based on libgif." -c7127a4d Merge "Add NEON version of FTransformWHT" -11b27212 Write a GIF to WebP converter based on libgif. -e9a15a37 ExUtilWriteFile() to write memory segment to file -74356eb5 Add a simple cleanup step in mux assembly: -51bb1e5d mux.h: correct WebPDemuxSelectFragment() prototype -22a0fd9d Add NEON version of FTransformWHT -fa30c863 Update mux code to match the spec wrt animation -d9c5fbef by-pass Analysis pass in case segments=1 -d2ad4450 Merge changes Ibeccffc3,Id1585b16 -5c8be251 Merge "Chunk fourCCs for XMP/EXIF" -a00a3daf Use 'frgm' instead of 'tile' in webpmux parameters -81b8a741 Design change in ANMF and FRGM chunks: -f903cbab Chunk fourCCs for XMP/EXIF -812933d6 Tune performance of HistogramCombine -52ad1979 Animation specification in container spec -001b9302 Image fragment specification in container spec -391f9db9 Ordering of description of bits in container spec -d5735776 Metadata specification in container spec -1c4609b1 Merge commit 'v0.2.1' -0ca584cb Merge "Color profile specification in container spec" -e8b41ad1 add NEON asm version for WHT inverse transform -af6f0db2 Color profile specification in container spec -a61a824b Merge "Add NULL check in chunk APIs" -0e8b7eed fix WebPPictureView() unassigned strides -75e5f17e ARM/NEON: 30% encoding speed-up -02b43568 Add NULL check in chunk APIs -a0770727 mux struct naming -6c66dde8 Merge "Tune Lossless encoder" -ab5ea217 Tune Lossless encoder -74fefc8c Update ChangeLog (tag: v0.2.1, origin/0.2.0) -92f8059c Rename some chunks: -3bb4bbeb Merge "Mux API change:" -d0c79f05 Mux API change: -abc06044 Merge "update NEWS" into 0.2.0 -57cf313b update NEWS -25f585c4 bump version to 0.2.1 -fed7c048 libwebp: validate chunk size in ParseOptionalChunks -552cd9bc cwebp (windows): fix alpha image import on XP -b14fea99 autoconf/libwebp: enable dll builds for mingw -4a8fb272 [cd]webp: always output windows errors -d6621580 fix double to float conversion warning -72b96a69 cwebp: fix jpg encodes on XP -734f762a VP8LAllocateHistogramSet: fix overflow in size calculation -f9cb58fb GetHistoBits: fix integer overflow -b30add20 EncodeImageInternal: fix uninitialized free -3de58d77 fix the -g/O3 discrepancy for 32bit compile -77aa7d50 fix the BITS=8 case -e5970bda Make *InitSSE2() functions be empty on non-SSE2 platform -ef5cc47e make *InitSSE2() functions be empty on non-SSE2 platform -c4ea259d make VP8DspInitNEON() public -8344eadf Merge "libwebp: validate chunk size in ParseOptionalChunks" -4828bb93 Merge "cwebp (windows): fix alpha image import on XP" -30763333 libwebp: validate chunk size in ParseOptionalChunks -70481898 AccumulateLSIM: fix double -> float warnings -eda8ee4b cwebp (windows): fix alpha image import on XP -c6e98658 Merge "add EXPERIMENTAL code for YUV-JPEG colorspace" -f0360b4f add EXPERIMENTAL code for YUV-JPEG colorspace -f86e6abe add LSIM metric to WebPPictureDistortion() -c3aa215a Speed up HistogramCombine for lower qualities. -1765cb1c Merge "autoconf/libwebp: enable dll builds for mingw" -a13562e8 autoconf/libwebp: enable dll builds for mingw -9f469b57 typo: no_fancy -> no_fancy_upsampling -1a27f2f8 Merge "fix double to float conversion warning" -cf1e90de Merge "cwebp: fix jpg encodes on XP" -f2b5d19b [cd]webp: always output windows errors -e855208c fix double to float conversion warning -ecd66f77 cwebp: fix jpg encodes on XP -7b3eb372 Tune lossless compression to get better gains. -ce8bff45 Merge "VP8LAllocateHistogramSet: fix overflow in size calculation" -ab5b67a1 Merge "EncodeImageInternal: fix uninitialized free" -7fee5d12 Merge "GetHistoBits: fix integer overflow" -a6ae04d4 VP8LAllocateHistogramSet: fix overflow in size calculation -80237c43 GetHistoBits: fix integer overflow -8a997235 EncodeImageInternal: fix uninitialized free -0b9e6829 minor cosmetics -a792b913 fix the -g/O3 discrepancy for 32bit compile -73ba4357 Merge "detect and merge similar segments" -fee66275 detect and merge similar segments -0c44f415 src/webp/*.h: don't forward declare enums in C++ -d7a5ac86 vwebp: use demux interface -931e0ea1 Merge "replace 'typedef struct {} X;" by "typedef struct X X; struct X {};"" -8f216f7e remove cases of equal comparison for qsort() -28d25c82 replace 'typedef struct {} X;" by "typedef struct X X; struct X {};" -2afee60a speed up for ARM using 8bit for boolean decoder -5725caba new segmentation algorithm -2cf1f815 Merge "fix the BITS=8 case" -12f78aec fix the BITS=8 case -6920c71f fix MSVC warnings regarding implicit uint64 to uint32 conversions -f6c096aa webpmux binary: Rename 'xmp' option to 'meta' -ddfe871a webpmux help correction -b7c55442 Merge "Make *InitSSE2() functions be empty on non-SSE2 platform" -1c04a0d4 Common APIs for chunks metadata and color profile. -2a3117a1 Merge "Create WebPMuxFrameInfo struct for Mux APIs" -5c3a7231 Make *InitSSE2() functions be empty on non-SSE2 platform -7c6e60f4 make *InitSSE2() functions be empty on non-SSE2 platform -c7eb4576 make VP8DspInitNEON() public -ab3234ae Create WebPMuxFrameInfo struct for Mux APIs -e3990fd8 Alignment fixes -e55fbd6d Merge branch '0.2.0' -4238bc0a Update ChangeLog (tag: v0.2.0) -c655380c dec/io.c: cosmetics -fe1958f1 RGBA4444: harmonize lossless/lossy alpha values -681cb30a fix RGBA4444 output w/fancy upsampling -f06c1d8f Merge "Alignment fix" into 0.2.0 -f56e98fd Alignment fix -6fe843ba avoid rgb-premultiply if there's only trivial alpha values -528a11af fix the ARGB4444 premultiply arithmetic -a0a48855 Lossless decoder fix for a special transform order -62dd9bb2 Update encoding heuristic w.r.t palette colors. -6f4272b0 remove unused ApplyInverseTransform() -93bf0faa Update ChangeLog (tag: v0.2.0-rc1) -5934fc59 update AUTHORS -014a711d update NEWS -43b0d610 add support for ARGB -> YUVA conversion for lossless decoder -33705ca0 bump version to 0.2.0 -c40d7ef1 fix alpha-plane check + add extra checks -a06f8023 MODE_YUVA: set alpha to opaque if the image has none -52a87dd7 Merge "silence one more warning" into 0.2.0 -3b023093 silence one more warning -f94b04f0 move some RGB->YUV functions to yuv.h -4b71ba03 README: sync [cd]webp help output -c9ae57f5 man/dwebp.1: add links to output file format details -292ec5cc quiet a few 'uninitialized' warnings -4af3f6c4 fix indentation -9b261bf5 remove the last NOT_HAVE_LOG2 instances -323dc4d9 remove use of log2(). Use VP8LFastLog2() instead. -8c515d54 Merge "harness some malloc/calloc to use WebPSafeMalloc and WebPSafeCalloc" into 0.2.0 -d4b4bb02 Merge changes I46090628,I1a41b2ce into 0.2.0 -bff34ac1 harness some malloc/calloc to use WebPSafeMalloc and WebPSafeCalloc -a3c063c7 Merge "extra size check for security" into 0.2.0 -5e796300 Merge "WebPEncode: clear stats at the start of encode" into 0.2.0 -f1edf62f Merge "rationalize use of color-cache" into 0.2.0 -c1933317 extra size check for security -906be657 rationalize use of color-cache -dd1c3873 Add image-hint for low-color images. -4eb7aa64 Merge "WebPCheckMalloc() and WebPCheckCalloc():" into 0.2.0 -80cc7303 WebPCheckMalloc() and WebPCheckCalloc(): -183cba83 check VP8LBitWriterInit return -cbfa9eec lossless: fix crash on user abort -256afefa cwebp: exit immediately on version mismatch -475d87d7 WebPEncode: clear stats at the start of encode -a7cc7291 fix type and conversion warnings -7d853d79 add stats for lossless -d39177b7 make QuantizeLevels() store the sum of squared error -5955cf5e replace x*155/100 by x*101581>>16 -7d732f90 make QuantizeLevels() store the sum of squared error -e45a446a replace x*155/100 by x*101581>>16 -159b75d3 cwebp output size consistency: -cbee59eb Merge commit 'v0.1.99' -1889e9b6 dwebp: report -alpha option -3bc3f7c0 Merge "dwebp: add PAM output support" into 0.2.0 -d919ed06 dwebp: add PAM output support -85e215d3 README/manpages/configure: update website link -c3a207b9 Update ChangeLog (tag: v0.1.99) -d1fd7826 Merge "add extra precision about default values and behaviour" into 0.2.0 -efc826e0 add extra precision about default values and behaviour -9f29635d header/doc clean up -ff9fd1ba Makefile.vc: fix webpmux.exe *-dynamic builds -8aacc7b0 remove INAM, ICOP, ... chunks from the test webp file. -2fc13015 harmonize authors as "Name (mail@address)" -4a9f37b7 Merge "update NEWS" into 0.2.0 -7415ae13 makefile.unix: provide examples/webpmux target -ce82cedc update NEWS -641e28e8 Merge "man/cwebp.1: wording, change the date" into 0.2.0 -c37c23e5 README: cosmetics -3976dcd5 man/cwebp.1: wording, change the date -3e5bbe1c Merge "rename 'use_argb_input' to 'use_argb'" into 0.2.0 -ce90847a Merge "add some padding bytes areas for later use" into 0.2.0 -2390dabc Merge "fixing the findings by Frederic Kayser to the bitstream spec" into 0.2.0 -02751591 add a very crude progress report for lossless -a4b9b1c6 Remove some unused enum values. -dd108176 rename 'use_argb_input' to 'use_argb' -90516ae8 add some padding bytes areas for later use -d03b2503 fixing the findings by Frederic Kayser to the bitstream spec -ce156afc add missing ABI compatibility checks -9d45416a Merge "Doc: container spec text tweaks" into 0.2.0 -4e2e0a8c Doc: container spec text tweaks -f7f16a29 add ABI compatibility check -2a775570 Merge "swig: add WebPEncodeLossless* wrappers" into 0.2.0 -a3ec6225 mux.h: remove '* const' from function parameters -31426eba encode.h: remove '* const' from function parameters -9838e5d5 decode.h: remove '* const' from function parameters -4972302d swig: add WebPEncodeLossless* wrappers -9ff00cae bump encoder/decoder versions -c2416c9b add lossless quick encoding functions to the public API -4c1f5d64 Merge "NEWS: mention decode_vp8.h is no longer installed" into 0.2.0 -6cb2277d NEWS: mention decode_vp8.h is no longer installed -d5e5ad63 move decode_vp8.h from webp/ to dec/ -8d3b04a2 Merge "header clean-up" into 0.2.0 -02201c35 Merge "remove one malloc() by making color_cache non dynamic" into 0.2.0 -d708ec14 Merge "move MIN/MAX_HISTO_BITS to format_constants.h" into 0.2.0 -ab2da3e9 Merge "add a malloc() check" into 0.2.0 -2d571bd8 add a malloc() check -7f0c178e remove one malloc() by making color_cache non dynamic -6569cd7c Merge "VP8LFillBitWindow: use 64-bit path for msvc x64 builds" into 0.2.0 -23d34f31 header clean-up -2a3ab6f9 move MIN/MAX_HISTO_BITS to format_constants.h -985d3da6 Merge "shuffle variables in HashChainFindCopy" into 0.2.0 -cdf885c6 shuffle variables in HashChainFindCopy -c3b014db Android.mk: add missing lossless files -8c1cc6b5 makefile.unix dist: explicitly name installed includes -7f4647ee Merge "clarify the colorspace naming and byte ordering of decoded samples" into 0.2.0 -cbf69724 clarify the colorspace naming and byte ordering of decoded samples -857650c8 Mux: Add WebPDataInit() and remove WebPImageInfo -ff771e77 don't install webp/decode_vp8.h -596dff78 VP8LFillBitWindow: use 64-bit path for msvc x64 builds -3ca7ce98 Merge "doc: remove non-finalized chunk references" into 0.2.0 -1efaa5a3 Merge "bump versions" into 0.2.0 -51fa13e1 Merge "README: update cwebp help output" into 0.2.0 -12f9aede README: update cwebp help output -f0b5defb bump versions -4c42a61b update AUTHORS -6431a1ce doc: remove non-finalized chunk references -8130c4cc Merge "build: remove libwebpmux from default targets/config" -23b44438 Merge "configure: broaden test for libpng-config" -85bff2cd Merge "doc: correct lossless prefix coding table & code" -05108f6e Merge "More spec/code matching in mux:" -6808e69d More spec/code matching in mux: -bd2b46f5 Merge "doc/webp-container-spec: light cosmetics" -20ead329 doc/webp-container-spec: light cosmetics -1d40a8bc configure: add pthread detection -b5e9067a fix some int <-> size_t mix for buffer sizes -e41a7596 build: remove libwebpmux from default targets/config -0fc2baae configure: broaden test for libpng-config -45b8272c Merge "restore authorship to lossless bitstream doc" -06ba0590 restore authorship to lossless bitstream doc -44a09a3c add missing description of the alpha filtering methods -63db87dd Merge "vwebp: add checkboard background for alpha display" -a73b8978 vwebp: add checkboard background for alpha display -939158ce Merge "vwebp: fix info display" -b35c07d9 vwebp: fix info display -48b39eb1 fix underflow for very short bitstreams -7e622984 cosmetics: param alignment, manpage wording -1bd7dd50 Merge changes I7b0afb0d,I7ecc9708 -ac69e63e Merge "Updated cwebp man's help for Alpha & Lossless." -c0e8859d Get rid of image_info_ from WebPChunk struct. -135ca69e WebP Container Spec: -eb6f9b8a Updated cwebp man's help for Alpha & Lossless. -0fa844fb cosmetic fixes on assert and 'const' where applicable -7f22bd25 check limit of width * height is 32 bits -16c46e83 autoconf/make: cosmetics: break long lines -ab22a07a configure: add helper macro to define --with-* -c17699b3 configure: add libtiff test -0e09732c Merge "cwebp: fix crash with yuv input + lossless" -88a510ff Merge "fix big-endian VP8LWriteBits" -da99e3bf Merge "Makefile.vc: split mux into separate lib" -7bda392b cwebp: fix crash with yuv input + lossless -f56a369a fix big-endian VP8LWriteBits -54169d6c Merge "cwebp: name InputFileFormat members consistently" -e2feefa9 Makefile.vc: split mux into separate lib -27caa5aa Merge "cwebp: add basic TIFF support" -d8921dd4 cwebp: name InputFileFormat members consistently -6f76d246 cwebp: add basic TIFF support -4691407b Merge changes If39ab7f5,I3658b5ae -cca7c7b8 Fixed nit: 10 -> 10.f -5d09a244 WebPMuxCreate() error handling: -777341c3 Fix a memleak in WebPMuxCreate() -61c9d161 doc: correct lossless prefix coding table & code -4c397579 Merge "mark VP8{,L}{GetInfo,CheckSignature} as WEBP_EXTERN" -e4e36cc6 Merge "Mux: Allow only some frames/tiles to have alpha." -ad2aad3c Merge "WebP Decoding error handling:" -97649c8f Mux: Allow only some frames/tiles to have alpha. -f864be3b Lower the quality settings for Alpha encoding. -3ba81bbe WebP Decoding error handling: -fcc69923 add automatic YUVA/ARGB conversion during WebPEncode() -802e012a fix compilation in non-FANCY_UPSAMPLING mode -e012dfd9 make width/height coding match the spec -228d96a5 mark VP8{,L}{GetInfo,CheckSignature} as WEBP_EXTERN -637a314f remove the now unused *KeepA variants -d11f6fcc webpmux returns error strings rather than numbers -fcec0593 makefile.unix: cwebp: fix OSX link -6b811f1b Merge "doc: remove lossless pdf" -c9634821 doc: remove lossless pdf -b9ae4f0d cosmetics after mux changes b74ed6e, b494ad5 -b494ad50 Mux: only allow adding frame/tiles at the end. -2c341b0e Merge "Added image characteristic hint for the codec." -d373076a Added image characteristic hint for the codec. -2ed2adb5 Merge "msvc: add intrinsic based BitsLog2Floor" -e595e7c5 Merge "add demux.c to the makefiles" -da47b5bd Merge "demux: add {Next,Prev}Chunk" -e5f46742 add demux.c to the makefiles -4708393c demux: add {Next,Prev}Chunk -e8a0a821 demux: quiet msvc warnings -7f8472a6 Update the WebP Container Spec. -31b68fe6 cleanup WebPPicture struct and API -9144a186 add overflow check before calling malloc() -81720c91 consistency cosmetics -2ebe8394 Merge "Add kramdown version information to README" -71443084 enc/vp8l.c: fix build -b7ac19fe Add kramdown version information to README -efdcb667 Merge "Edit for consistency, usage and grammar." -08220102 Enable alpha in vvwebp -8de9a084 Merge "Mux API change:" -b74ed6e7 Mux API change: -233a589e take picture->argb_stride into account for lossless coding -04e33f17 Edit for consistency, usage and grammar. -a575b4bc Merge "cosmetics: add missing const" -8d99b0f4 Merge "cosmetics: remove unimplemented function proto" -69d02217 cosmetics: add missing const -5b08318b cosmetics: remove unimplemented function proto -b7fb0ed5 Log warning for unsupported options for lossless. -e1f769fe msvc: add intrinsic based BitsLog2Floor -8a69c7d8 Bug-fix: Clamp backward dist to 1. -b5b6ac97 Merge "Bring the special writer 'WebPMemoryWriter' to public API" -a6a1909f Merge "Fix floating point exception with cwebp -progress" -f2cee067 Fix floating point exception with cwebp -progress -91b7a8c7 Bring the special writer 'WebPMemoryWriter' to public API -310e2972 support resize and crop for RGBA input -a89835d3 Merge changes Ice662960,Ie8d7aa90,I2d996d5e,I01c04772 -ce614c0c Merge "dec/vp8: avoid setting decoder status twice" -900285da dec/vp8: avoid setting decoder status twice -8227adc8 Merge changes I6f02b0d0,I5cbc9c0a,I9dd9d4ed,Id684d2a1 -dcda59c1 Merge "demux: rename SetTile to SelectTile" -622ef12e demux: rename SetTile to SelectTile -81ebd375 Merge "demux: add {Next,Prev}Frame" -02dd37a2 demux: add {Next,Prev}Frame -4b79fa59 Merge "Limit the maximum size of huffman Image to 16MB." -9aa34b34 Manually number "chapters," as chapter numbers are used in the narrative. -2a4c6c29 Re-wrap at <= 72 columns -a45adc19 Apply inline emphasis and monospacing, per gdoc / PDF -91011206 Incorporate gdoc changes through 2012-06-08 -7a182487 Removed CodeRay syntax declarations ... -b3ec18c5 Provide for code-block syntax highlighting. -709d7702 Replace high ASCII artifacts (curly quotes, etc.). -930e8abb Lossless WebP doc largely ported to markdown text. -18cae37b msvc: silence some build warnings -b3923084 Limit the maximum size of huffman Image to 16MB. -f180df2a Merge "libwebp/demux: add Frame/Chunk iteration" -2bbe1c9a Merge "Enable lossless encoder code" -d0601b01 Merge changes I1d97a633,I81c59093 -78f3e345 Enable lossless encoder code -d974a9cc Merge "libwebp/demux: add simple format parsing" -26bf2232 Merge "libwebp: add WebPDemux stub functions" -2f666688 Merge "modify WebPParseHeaders to allow reuse by GetFeatures" -b402b1fb libwebp/demux: add Frame/Chunk iteration -ad9ada3b libwebp/demux: add WebPDemuxGetI -2f2d4d58 libwebp/demux: add extended format parsing -962dcef6 libwebp/demux: add simple format parsing -f8f94081 libwebp: add WebPDemux stub functions -fb47bb5c Merge "NumNamedElements() should take an enum param." -7c689805 Fix asserts in Palette and BackwardReference code. -fbdcb7ea NumNamedElements() should take an enum param. -fb4943bd modify WebPParseHeaders to allow reuse by GetFeatures -3697b5ce write an ad-hoc EncodeImageInternal variant -eaee9e79 Bug-Fix: Decode small (less than 32 bytes) images. -0bceae48 Merge "cwebp: fix alpha reporting in stats output" -0424b1ef Rebase default encoding settings. -c71ff9e3 cwebp: fix alpha reporting in stats output -e2ffe446 Merge "Stop indefinite recursion for Huffman Image." -70eb2bd6 Stop indefinite recursion for Huffman Image. -f3bab8eb Update vwebp -6d5c797c Remove support for partial files in Mux. -f1df5587 WebPMuxAssemble() returns WebPData*. -814a0639 Rename 'Add' APIs to 'Set'. -bbb0218f Update Mux psuedo-code examples. -4fc4a47f Use WebPData in MUX set APIs -c67bc979 Merge "add WebPPictureImportRGBX() and WebPPictureImportBGRX()" -27519bc2 add WebPPictureImportRGBX() and WebPPictureImportBGRX() -f80cd27e factorize code in Import() -9b715026 histogram: add log2 wrapper -8c34378f Merge "fix some implicit type conversion warnings" -42f6df9d fix some implicit type conversion warnings -250c16e3 Merge "doc: update lossless pdf" -9d9daba4 Merge "add a PDF of the lossless spec" -8fbb9188 prefer webp/types.h over stdint.h -0ca170c2 doc: update lossless pdf -0862ac6e add a PDF of the lossless spec -437999fb introduce a generic WebPPictureHasTransparency() function -d2b6c6c0 cosmetic fixes after Idaba281a -b4e6645c Merge "add colorspace for premultiplied alpha" -48f82757 add colorspace for premultiplied alpha -069f903a Change in lossless bit-stream. -5f7bb3f5 Merge "WebPReportProgress: use non-encoder specific params" -f18281ff WebPReportProgress: use non-encoder specific params -9ef32283 Add support for raw lossless bitstream in decoder. -7cbee29a Fix bug: InitIo reseting fancy_upsampling flag. -880fd98c vwebp: fix exit w/freeglut -1875d926 trap two unchecked error conditions -87b4a908 no need to have mux.h as noinst clause in enc/ -88f41ec6 doc: fix bit alignment in VP8X chunk -52f5a4ef Merge "fix bug with lossy-alpha output stride" -3bde22d7 fix bug with lossy-alpha output stride -42d61b6d update the spec for the lossy-alpha compression methods. -e75dc805 Move some more defines to format_constants.h -c13f6632 Move consts to internal header format_constants.h -7f2dfc92 use a bit-set transforms_seen_ instead of looping -18da1f53 modulate alpha-compression effort according to config.method -f5f2fff6 Merge "Alpha flag fix for lossless." -c975c44e Alpha flag fix for lossless. -4f067fb2 Merge "Android: only build dec_neon with NEON support" -255c66b4 Android: only build dec_neon with NEON support -8f9117a9 cosmetics: signature fixes -39bf5d64 use header-less lossless bitstream for alpha channel -75d7f3b2 Merge "make input data be 'const' for VP8LInverseTransform()" -9a721c6d make input data be 'const' for VP8LInverseTransform() -9fc64edc Disallow re-use of same transformation. -98ec717f use a function pointer for ProcessRows() -f7ae5e37 cosmetics: join line -140b89a3 factor out buffer alloc in AllocateARGBBuffers() -a107dfa8 Rectify WebPParseOptionalChunks(). -237eab67 Add two more color-spaces for lossless decoding. -27f417ab fix orthographic typo -489ec335 add VP8LEncodeStream() to compress lossless image stream -fa8bc3db make WebPEncodingSetError() take a const picture -638528cd bitstream update for lossy alpha compression -d73e63a7 add DequantizeLevels() placeholder -ec122e09 remove arch-dependent rand() -d40e7653 fix alignment -1dd6a8b6 Merge "remove tcoder, switch alpha-plane compression to lossless" -3e863dda remove tcoder, switch alpha-plane compression to lossless -8d77dc29 Add support for lossless in mux: -831bd131 Make tile size a function of encoding method. -778c5228 Merge "remove some variable shadowing" -817c9dce Few more HuffmanTreeToken conversions. -37a77a6b remove some variable shadowing -89c07c96 Merge "normalize example header includes" -4aff411f Merge "add example_util.[hc]" -00b29e28 normalize example header includes -061263a7 add example_util.[hc] -c6882c49 merge all tree processing into a single VP8LProcessTree() -9c7a3cf5 fix VP8LHistogramNumCodes to handle the case palette_code_bits == 0 -b5551d2e Merge "Added HuffmanTreeCode Struct for tree codes." -8b85d01c Added HuffmanTreeCode Struct for tree codes. -093f76d8 Merge "Allocate single memory in GetHuffBitLengthsAndCodes." -41d80494 Allocate single memory in GetHuffBitLengthsAndCodes. -1b04f6d2 Correct size in VP8L header. -2924a5ae Makefile.vc: split object lists based on directory -c8f24165 Merge "add assert(tokens)" -43239947 add assert(tokens) -9f547450 Catch an error in DecodeImageData(). -ac8e5e42 minor typo and style fix -9f566d1d clean-up around Huffman-encode -c579a710 Introduce CHUNK_SIZE_BYTES in muxi.h. -14757f8a Make sure huffman trees always have valid symbols -41050618 makefile.unix: add support for building vwebp -48b37721 Merge "fixed signed/unsigned comparison warning" -57f696da Merge "EncodeImageInternal: fix potential leak" -d972cdf2 EncodeImageInternal: fix potential leak -5cd12c3d fixed signed/unsigned comparison warning -cdca30d0 Merge "cosmetics: shorten long line" -e025fb55 cosmetics: shorten long line -22671ed6 Merge "enc/vp8l: fix double free on error" -e1b9b052 Merge "cosmetics: VP8LCreateHuffmanTree: fix indent" -a8e725f8 enc/vp8l: fix double free on error -27541fbd cosmetics: VP8LCreateHuffmanTree: fix indent -1d38b258 cwebp/windows: use MAKE_REFGUID where appropriate -817ef6e9 Merge "cwebp: fix WIC/Microsoft SDK compatibility issue" -902d3e3b cwebp: fix WIC/Microsoft SDK compatibility issue -89d803c4 Merge "Fix a crash due to wrong pointer-integer arithmetic." -cb1bd741 Merge "Fix a crash in lossless decoder." -de2fe202 Merge "Some cleanup in VP8LCreateHuffmanTree() (and related functions CompareHuffmanTrees() and SetBitDepths()): - Move 'tree_size' initialization and malloc for 'tree + tree_pool' outside the loop. - Some renames/tweaks for readability." -ce69177a Fix a crash due to wrong pointer-integer arithmetic. -e40a3684 Fix a crash in lossless decoder. -3927ff3a remove unneeded error condition for WebPMuxNumNamedElements() -2c140e11 Some cleanup in VP8LCreateHuffmanTree() (and related functions CompareHuffmanTrees() and SetBitDepths()): - Move 'tree_size' initialization and malloc for 'tree + tree_pool' outside the loop. - Some renames/tweaks for readability. -861a5b7b add support for animation -eb5c16cc Merge "Set correct encode size in encoder's stats." -4abe04a2 fix the return value and handle missing input file case. -2fafb855 Set correct encode size in encoder's stats. -e7167a2b Provide one entry point for backward references. -c4ccab64 Print relevant lossless encoding stats in cwebp. -e3302cfd GetHuffBitLengthsAndCodes: reduce level of indirection -b5f2a9ed enc/vp8l: fix uninitialized variable warning -7885f8b2 makefile.unix: add lossless encoder files -1261a4c8 Merge "cosmetics" -3926b5be Merge "dsp/cpu.c: Android: fix crash on non-neon arm builds" -834f937f dsp/cpu.c: Android: fix crash on non-neon arm builds -126e1606 cosmetics -e38602d2 Merge branch 'lossless_encoder' -e8d3d6a0 split StoreHuffmanCode() into smaller functions -d0d88990 more consolidation: introduce VP8LHistogramSet -1a210ef1 big code clean-up and refactoring and optimization -41b5c8ff Some cosmetics in histogram.c -ada6ff77 Approximate FastLog between value range [256, 8192] -ec123ca3 Forgot to update out_bit_costs to symbol_bit_costs at one instance. -cf33ccd1 Evaluate output cluster's bit_costs once in HistogramRefine. -781c01f4 Simple Huffman code changes. -a2849bc5 Lossless decoder: remove an unneeded param in ReadHuffmanCodeLengths(). -b39e7487 Reducing emerging palette size from 11 to 9 bits. -bfc73db4 Move GetHistImageSymbols to histogram.c -889a5786 Improve predict vs no-predict heuristic. -01f50663 code-moving and clean-up -31035f3b reduce memory usage by allocating only one histo -fbb501b8 Restrict histo_bits to ensure histo_image size is under 32MB -8415ddf3 further simplification for the meta-Huffman coding -e4917299 A quick pass of cleanup in backward reference code -83332b3c Make transform bits a function of encode method (-m). -72920caa introduce -lossless option, protected by USE_LOSSLESS_ENCODER -c6ac4dfb Run TraceBackwards for higher qualities. -412222c8 Make histo_bits and transform_bits function of quality. -149b5098 Update lossless encoder strategy: -0e6fa065 cache_bits passed to EncodeImageInternal() -e38b40a9 Factorize code for clearing HtreeGroup. -6f4a16ea Removing the indirection of meta-huffman tables. -3d33ecd1 Some renaming/comments related to palette in lossless encoder. -4d02d586 Lossless encoder: correction in Palette storage -4a636235 fix a memleak in EncodeImageInternal() -0993a611 Full and final fix for prediction transform -afd2102f Fix cross-color transform in lossless encoder -b96d8740 Need to write a '0' bit at the end of transforms. -54dad7e5 Color cache size should be counted as 0 when cache bits = 0 -4f0c5caf Fix prediction transform in lossless encoder. -36dabdad Fix memory leak in method EncodeImageInternal for histogram_image. -352a4f49 Get rid of PackLiteralBitLengths() -d673b6b9 Change the predictor function to pass left pixel -b2f99465 Fix CopyTileWithPrediction() -84547f54 Add EncodeImageInternal() method. -6b38378a Guard the lossless encoder (in flux) under a flag -09f7532c Fix few nits (const qualifiers) -648be393 Added implementation for various lossless functions -32714ce3 Add VP8L prefix to backward ref & histogram methods. -fcba7be2 Fixed header file tag (WEBP_UTILS_HUFFMAN_ENCODE_H_) -bc703746 Add backward_ref, histogram & huffman encode modules from lossless. -fdccaadd Fixing nits -227110c4 libwebp interface changes for lossless encoding. -50679acf minor style fixes -b38dfccf remove unneeded reference to NUM_LITERAL_CODES -8979675b harmonize header description -c04eb7be tcoder.c: define NOT_HAVE_LOG2 for MSVC builds -9a214fa1 Merge "VP8[L]GetInfo: check input pointers" -5c5be8ba VP8[L]GetInfo: check input pointers -0c188fec Merge changes I431acdfe,I713659b7 -b3515c62 mux: drop 'chunk' from ChunkInfo member names -aea7923c muxi.h: remove some unused defines -01422492 update NEWS file for next release -29e3f7ec Merge "dec: remove deprecated WebPINew()" -4718e449 Merge "muxedit: a few more size_t changes" -82654f96 Merge "muxedit: remove a few redundant NULL checks" -02f27fbd dec: remove deprecated WebPINew() -ccddb3fc muxedit: remove a few redundant NULL checks -a6cdf710 muxedit: a few more size_t changes -a3846892 Merge "mux: remove unused LIST_ID" -11ae46ae alpha.c: quiet some size_t -> int conversion warnings -dee46692 mux: remove unused LIST_ID -03f1f493 mux: add version checked entry points -6a0abdaa Merge "doc: tile/alpha corrections" -c8139fbe Merge "few cosmetics" -68338737 Merge "lossless: remove some size_t -> int conversions" -5249e94a doc: tile/alpha corrections -d96e722b huffman: quiet int64 -> int conversion warning -532020f2 lossless: remove some size_t -> int conversions -23be6edf few cosmetics -1349edad Merge "configure: AC_ARG_* use AS_HELP_STRING" -bfbcc60a configure: AC_ARG_* use AS_HELP_STRING -1427ca8e Merge "Makefile.am: header file maintenance" -087332e3 Merge "remove unused parameter 'round' from CalcProba()" -9630e168 remove unused parameter 'round' from CalcProba() -92092eaa Merge "bit_reader.h: correct include" -a87fc3f6 Merge "mux: ensure # images = # tiles" -53af99b1 Merge "mux: use size_t consistently" -39a57dae Makefile.am: header file maintenance -1bd0bd0d bit_reader.h: correct include -326a3c6b mux: ensure # images = # tiles -95667b8d mux: use size_t consistently -231ec1fb Removing the indirection of meta-huffman tables. -15ebcbaa check return pointer from MuxImageGetListFromId -b0d6c4a7 Merge "configure: remove test for zlib.h" -8cccac50 Merge "dsp/lossless: silence some build warnings" -b08819a6 dsp/lossless: silence some build warnings -7ae22521 Android.mk: SSE2 & NEON updates -0a49e3f3 Merge "makefile.unix add missing header files" -2e75a9a1 Merge "decode.h: use size_t consistently" -fa13035e configure: remove test for zlib.h -d3adc81d makefile.unix add missing header files -262fe01b Merge "makefile.unix & Android.mk: cosmetics" -4cce137e Merge "enc_sse2 add missing stdlib.h include" -80256b85 enc_sse2 add missing stdlib.h include -9b3d1f3a decode.h: use size_t consistently -64083d3c Merge "Makefile.am: cosmetics" -dceb8b4d Merge changes If1331d3c,I86fe3847 -0e33d7bf Merge "webp/decode.h: fix prototypes" -fac0f12e rename BitReader to VP8LBitReader -fbd82b5a types.h: centralize use of stddef.h -2154835f Makefile.am: cosmetics -1c92bd37 vp8io: use size_t for buffer size -90ead710 fix some more uint32_t -> size_t typing -cbe705c7 webp/decode.h: fix prototypes -3f8ec1c2 makefile.unix & Android.mk: cosmetics -217ec7f4 Remove tabs in configure.ac -b3d35fc1 Merge "Android.mk & Makefile.vc: add new files" -0df04b9e Android.mk & Makefile.vc: add new files -e4f20c5b Merge "automake: replace 'silent-rules' w/AM_SILENT_RULES" -8d254a09 cosmetics -6860c2ea fix some uint32_t -> size_t typing -4af1858a Fix a crash due to max symbol in a tree >= alphabet size -6f01b830 split the VP8 and VP8L decoding properly -f2623dbe enable lossless decoder -b96efd7d add dec/vp8i.h changes from experimental -19f6398e add dec/vp8l{i.h,.c} from experimental -c4ae53c8 add utils/bit_reader.[hc] changes from experimental -514d0089 add dsp/lossless.[hc] from experimental -9c67291d add utils/huffman.[hc] from experimental -337914a0 add utils/color_cache.[hc] from experimental -b3bf8fe7 the read-overflow code-path wasn't reporting as an error -1db888ba take colorspace into account when cropping -61c2d51f move the rescaling code into its own file and make enc/ and dec/ use it. -efc2016a Make rescaler methods generic -3eacee81 Move rescaler methods out of io.c. -a69b893d automake: replace 'silent-rules' w/AM_SILENT_RULES -6f7bf645 issue 111: fix little-endian problem in bit-reader -ed278e22 Removed unnecessary lookup -cd8c3ba7 fix some warnings: down-cast and possibly-uninitialized variable -0a7102ba ~1% improvement of alpha compression -3bc1b141 Merge "Reformat container doc" -dc17abdc mux: cosmetics -cb5810df Merge "WebPMuxGetImage: allow image param to be NULL" -506a4af2 mux: cosmetics -135e8b19 WebPMuxGetImage: allow image param to be NULL -de556b68 Merge "README.mux: reword some descriptions" -0ee2aeb9 Makefile.vc: use batch mode rules -d9acddc0 msvc: move {i,p}db creation to object directory -237c9aa7 Merge "expose WebPFree function for DLL builds" -b3e4054f silence msvc debug build warning -45feb55d expose WebPFree function for DLL builds -11316d84 README.mux: reword some descriptions -4be52f4a factorize WebPMuxValidate -14f6b9f6 mux: light cleanup -5e96a5db add more param checks to WebPPictureDistortion() -8abaf820 Merge "silence some type size related warnings" -1601a39b silence some type size related warnings -f3abe520 Merge "idec: simplify buffer size calculation" -a9c5cd4c idec: simplify buffer size calculation -7b06bd7f Merge "configure/automake: add silent-rules option" -e9a7d145 Reformat container doc -d4e5c7f3 configure/automake: add silent-rules option -5081db78 configure/automake: no -version-info for convenience libs -85b6ff68 Merge "idec: fix WebPIUpdate failure" -7bb6a9cc idec: fix internal state corruption -89cd1bb8 idec: fix WebPIUpdate failure -01b63806 4-5% faster decoding, optimized byte loads in arithmetic decoder. -631117ea Merge "cosmetics & warnings" -a0b2736d cosmetics & warnings -f73947f4 use 32bit for storing dequant coeffs, instead of 16b. -b9600308 Merge "store prediction mode array as uint8_t[16], not int[16]." -7b67881a store prediction mode array as uint8_t[16], not int[16]. -cab8d4dc Merge "NEON TransformOne" -ba503fda NEON TransformOne -9f740e3b Merge "gcc warning fix: remove the 'const' qualifier." -f76d3587 gcc warning fix: remove the 'const' qualifier. -e78478d6 Merge "webpmux: make more use of WebPData" -f85bba3d Merge "manpages: add BUGS section" -48a43bbf Merge "makefile.unix: variable cosmetics" -c274dc96 makefile.unix: variable cosmetics -1f7b8595 re-organize the error-handling in the main loop a bit -1336fa71 Only recompute level_cost_[] when needed -771ee449 manpages: add BUGS section -0f7820e6 webpmux: make more use of WebPData -974aaff3 examples: logging updates -6c14aadd Merge "better token buffer code" -f4054250 better token buffer code -18d959fa Merge "mux: add WebPData type" -eec4b877 mux: add WebPData type -0de3096b use 16bit counters for recording proba counts -7f23678d fix for LevelCost + little speed-up -7107d544 further speed-up/cleanup of RecordCoeffs() and GetResidualCost() -fd221040 Introduce Token buffer (unused for now) -5fa148f4 Merge "speed-up GetResidualCost()" -28a9d9b4 speed-up GetResidualCost() -11e7dadd Merge "misc cosmetics" -378086bd misc cosmetics -d61479f9 add -print_psnr and -print_ssim options to cwebp. -2e3e8b2e add a WebPCleanupTransparentArea() method -552c1217 Merge "mux: plug some memory leaks on error" -a2a81f7d Merge "fix Mach-O shared library build" -b3482c43 Merge "fix gcc-4.0 apple 32-bit build" -e4e3ec19 fix gcc-4.0 apple 32-bit build -b0d2fecf mux: plug some memory leaks on error -f0d2c7a7 pass of cosmetics -b309a6f9 fix Mach-O shared library build -241ddd38 doc: delete mux container pdf -8b1ba272 doc: update VP8 decode guide link -7e4371c5 WebPMuxCreate: fix unchecked malloc -eb425586 Merge "have makefile.unix clean up src/webp/*~ too" -a85c3631 Merge "correct EncodeAlpha documentation" -a33842fd Merge "Update webp container spec with alpha filter options." -8d6490da Incremental support for some of the mux APIs. -b8375abd have makefile.unix clean up src/webp/*~ too -b5855fc7 correct EncodeAlpha documentation -dba37fea Update webp container spec with alpha filter options. -2e74ec8b fix compile under MINGW -716d1d7f fix suboptimal MAX_LEN cut-off limit -57cab7b8 Harmonize the alpha-filter predictions at boundary -3a989534 Merge "Fix bug for Alpha in RGBA_4444 color-mode." -8ca2076d Introduce a 'fast' alpha mode -221a06bb Fix bug for Alpha in RGBA_4444 color-mode. -ad1e163a cosmetics: normalize copyright headers -c77424d7 cosmetics: light include cleanup -9d0e17c9 fix msvc build breakage after 252028a -7c4c177c Some readability fixes for mux library -d8a47e66 Merge "Add predictive filtering option for Alpha." -252028aa Add predictive filtering option for Alpha. -9b69be1c Merge "Simplify mux library code" -a056170e Simplify mux library code -992187a3 improve log2 test -e852f832 update Android.mk file list -a90cb2be reduce number of copies and mallocs in alpha plane enc/dec -b1662b05 fix some more type conversion warnings w/MSVC -223d8c60 fix some uint64_t -> int conversion warnings with MSC -c1a0437b Merge "simplify checks for enabling SSE2 code" -f06817aa simplify checks for enabling SSE2 code -948d4fe9 silence a msvc build warning -91179549 vwebp: msvc build tweaks -7937b409 simple WebP viewer, based on OpenGL -6aac1df1 add a bunch of missing 'extern "C"' -421eb99d Merge "Remove assigned-but-not-used variable "br"" -91e27f45 better fitting names for upsampling functions -a5d7ed5c Remove assigned-but-not-used variable "br" -f62d2c94 remove unused 'has_alpha' from VP8GetInfo() signature -08e86582 trap alpha-decoding error -b361eca1 add cut-off to arith coder probability update. -8666a93a Some bug-fixes for images with alpha. -273a12a0 fix off-by-1 diff in case cropping and simple filtering -2f741d1e webpmux: ReadImage: fix ptr free in error case -721f3f48 fix alpha decode -60942c8c fix the has_alpha_ order -30971c9e Implement progress report (and user abort) -eda520a9 cosmetics after 9523f2a -38bd5bb5 Merge "Better alpha support in webpmux binary" -ccbaebfe Merge "Updated the includes to relative paths." -d71fbdcc fix small typo in error message array -cdf97aa2 Better alpha support in webpmux binary -885f25bc Updated the includes to relative paths. -a0ec9aac Update WebP encoder (cwebp) to support Alpha. -667b769a Fixed the include for types.h within mux.h -9523f2a5 Add Alpha Encode support from WebPEncode. -16612ddd Merge "Add Alpha Decode support from WebPDecode." -d117a940 Add Alpha Decode support from WebPDecode. -67228734 cosmetics after e1947a9 -e1947a92 Add Alpha encode/decode code. -afc4c5d6 simplify code by introducing a CopyPlane() helper func -113b3128 Merge "MUX API Updates" -c398f595 MUX API Updates -5acf04ef remove orphan source file -059f03ef Merge "dec: validate colorspace before using as array index" -70a03989 Merge "factorize some code" -9b243b3d factorize some code -372e2b46 Correct a bug in ReadPNG() with GRAY_ALPHA images -469d6eb9 Merge "Makefile.am: remove redundant noinst_HEADERS" -9fe3372f dec: validate colorspace before using as array index -8962030f remove orphan source file -ced3e3f4 Makefile.am: remove redundant noinst_HEADERS -964387ed use WEBP_INLINE for inline function declarations -90880a11 Merge "manpages: break long lines" -b5910895 Merge "manpages: minor formatting updates" -4c451e4a Merge "Rectify the Chunk parsing logic." -04e84cf1 examples: slight cleanup -099717ce manpages: break long lines -1daf39bb manpages: minor formatting updates -abd030b5 fix missing "(void)" in function signature -f6a7d758 remove useless test -f07b2138 Rectify the Chunk parsing logic. -b8634f7d webpmux: fix lib link order -42c2e682 Fix missing coma (on uncompiled code) -d8329d41 Android.mk: add missing source files -13a54df5 Merge "More aggressive copy-edit; add TODO; validate HTML5" -868b96ae More aggressive copy-edit; add TODO; validate HTML5 -767afea2 configure: check for a symbol contained in libpng -408b8918 Merge "Linewrap at 72 cols. Casual copy-edit." -3ae318c7 Merge "Restore (most) emphasis; add emphasis to normative RFC 2119 terms (MUST, etc.)" -918eb2d8 Merge "Basic container doc source clean-up; fix lists and pseudocode blocks." -03bec9e0 Linewrap at 72 cols. Casual copy-edit. -2678d819 Restore (most) emphasis; add emphasis to normative RFC 2119 terms (MUST, etc.) -428674da Basic container doc source clean-up; fix lists and pseudocode blocks. -6a77d928 Merge "Makefile.vc: cosmetics" -28c38e8c Merge "Makefile.vc: condense directory creation rules" -55be2cf8 Initial import of container spec document, from pdftotext transform. -a82a788b Makefile.vc: cosmetics -c8f41ce5 Makefile.vc: condense directory creation rules -2b877cd0 Some fixes to Makefile.vc to support the src\mux directory. -3eb969b3 Merge "Add Makefile.vc for Mux library & binary." -e78e971e Add Makefile.vc for Mux library & binary. -6aedde58 Add manual for WebPMux tool. -8a360d0a Merge "Added WebPMux Binary." -a4f32cae Added WebPMux Binary. -f3bf4c76 Added Mux Container Spec & README for MUX-API. -9f761cfa Changed function signature for WebPMuxCreate -5f31b5ec Merge "Add Mux library for manipulating WebP container." -2315785f Add Mux library for manipulating WebP container. -7e198abb update ChangeLog (tag: v0.1.3) -dfc9c1ea Harmonize the dates -28ad70c5 Fix PNG decoding bug -846e93c5 Update AUTHORS & add .mailmap -563e52d6 cosmetics after '76036f5 Refactor decoder library' -76036f54 Refactor decoder library -377ef43c configure.ac: update AC_INIT params -7a8d8762 use a user-visible MACRO for max width/height. -d4e9f559 NEON decode support in WebP -0ee683b5 update libtool version-info -fdbe02c5 windows: match _cond_destroy logic w/return variable name -206b686b README: correct advanced decode api pseudo-code -6a32a0f5 make VP8BitReader a typedef, for better re-use -b112e836 create a libwebputils under src/utils -ee697d9f harmonize the include guards and #endif comments -a1ec07a6 Fixing compiler error in non x86 arch. -dcfa509a Fixed recursive inclusion of bit_writer.h and vp8enci.h. -e06ac088 create a separate libwebpdsp under src/dsp -ebeb412a use unsigned int for bitfields -341cc56a make kNewRange a static array -227a91e5 README: minor wording update -05bd8e6a add man pages to dist -812dfa1a bump up versions in preparations for 0.1.3 -a5b78c81 wrap alpha-related options under WEBP_EXPERIMENTAL_FEATURES flag -34dc7907 regen ChangeLog for 0.1.3-rc2 -7c436630 Silence some (more) Visual Studio warnings. -60306e8c add top-level gitattributes -2aa6b80e Slience some Visual Studio warnings. -4cbbb290 Merge "bump up version for next freeze" -a3291674 bump up version for next freeze -c7e86aba cosmetics: fix comment line lengths -c9e037ab makefile.unix: add simple dist target -87d58ce9 makefile.unix: rule maintenance -d477de77 mend -fac15ec7 Update NEWS & README for next release V0.1.3 -6215595c Merge "add a -partition_limit option to limit the number of bits used by intra4x4" -3814b76c Merge "reorganize chunk-parsing code" -900286e0 add a -partition_limit option to limit the number of bits used by intra4x4 -cd12b4b0 add the missing cost for I4/I16 mode selection -dfcc2136 reorganize chunk-parsing code -3cf20306 initialize pointers to function within VP8DspInit() -d21b4795 Merge "windows: add decode threading support" -473ae953 fix hang on thread creation failure -fccca420 windows: add decode threading support -a31f843a Use the exact PNG_INCLUDES/PNG_LIBS when testing for -lpng -ad9b45f1 Merge "Makefile.vc: rule maintenance" -565a2cab Makefile.vc: rule maintenance -2d0da681 makefile.unix: disable Wvla by default -fc7815d6 multi-thread decoding: ~25-30% faster -acd8ba42 io->teardown() was not always called upon error -c85527b1 Merge "Makefile.vc: add DLL configs" -e1e9be35 cosmetics: spelling/grammar in README and lib headers -b4d0ef8f Makefile.vc: add DLL configs -998754a7 remove unused nb_i4_ and nb_i16_ fields. -9f01ce3a rename WebPDecBuffer::memory -> private_memory -fb5d659b fix an overflow bug in LUT calculation -d646d5c7 swig: add WebPDecodeARGB -78aeed40 add missing WebPDecodeARGBInto() and switch ARGB4444 to RGBA4444 as was intended -cd7c5292 explicitly mark library functions as extern -19db59f8 add support for RGB565, ARGB4444 and ARGB colorspace (decoder) -c915fb2a encoder speed-up: hardcode special level values -c558bdad Rename and improve the API to retrieve decoded area -bf599d74 Merge "makefile.unix: disable -Wvla by default" -c9ea03d7 SSE2 version of strong filtering -993af3e2 makefile.unix: disable -Wvla by default -3827e1bc Merge "examples: (windows/WIC) add alpha support" -e291fae0 SSE2 functions for the fancy upsampler. -a06bbe2e add WebPISetIOHooks() to set some custom hooks on the incremental decoder object. -7643a6f2 Merge "makefile.unix: use uname to detect OSX environment" -5142a0be export alpha channel (if present) when dumping to PGM format -14d5731c makefile.unix: use uname to detect OSX environment -08057062 examples: quiet warnings -3cfe0888 examples: (windows/WIC) add alpha support -13ed94b8 add compile warning for variable-length-array -5a18eb1a Merge "add Advanced Decoding Interface" -5c4f27f9 add missing \n -f4c4e416 80 cols fix -d2603105 add Advanced Decoding Interface -bd2f65f6 sse2 version of the complex filter -96ed9ce0 perform two idct transforms at a time when possible -01af7b69 use aligned stored -0e1d1fdf Merge "Makefile.vc: add experimental target" -2a1292a6 Makefile.vc: add experimental target -23bf351e Enable decode SSE2 for Visual Studio -131a4b7b dec/dsp_sse2: fix visual studio compile -00d9d680 swig: file reorganization -7fc7e0d9 Merge "swig/java: basic encode support" -3be57b16 fix MSVC compile for WEBP_EXPERIMENTAL_FEATURES -40a7e347 dec/dsp: disable sse2 for Visual Studio builds -e4d540c8 add SSE2 code for transform -54f2170a swig/java: basic encode support -c5d4584b call function pointers instead of C-version -ea43f045 Merge "configure: mingw32 targets: test for WIC support" -a11009d7 SSE2 version of simple in-loop filtering -42548da9 shave one unneeded filter-cache line -31f9dc6f configure: mingw32 targets: test for WIC support -19559699 Merge "split expression in two." -415dbe46 split expression in two. -e29072a8 configure: test for zlib only w/--enable-experimental -b2b0090b Simplify Visual Studio ifdefs -ca7a2fd6 Add error reporting from encoding failures. -6c9405db Merge "Makefile.vc: require CFG with clean target" -0424ecd9 Makefile.vc: require CFG with clean target -003417c7 Enable SSE2 for Visual Studio builds -af10db4a little speed up for VP8BitUpdate() -e71418f8 more MSVC files to ignore -46d90363 cosmetics -edf59ab3 typo fix -72229f5f Add support for x64 and SSE2 builds under Windows. -92e5c6e1 VP8GetInfo() + WebPResetDecParams() -416b7a6b raise the fixed-point precision for the rescaler -aa87e4e0 fix alignment -eb66670c disable WEBP_EXPERIMENTAL_FEATURES -c5ae7f65 typo fix: USE_ => WEBP_ -d041efae swig: add libwebp.jar/libwebp_java_wrap.c -f6fb3877 add swig interface -e9273902 align buffer for double too -842c009b fix -strong option -d0a70387 Merge "cosmetics" -fc0a02e5 fix the dichotomy loop -38369c03 cosmetics -8dfc4c6f factorize and unify GetAlpha() between the C and SSE2 version -6d0e66c2 prepare experimentation with yuv444 / 422 -79cc49f5 add a --enable-experimental option to './configure' -d7575238 sse2 version of CollectHistogram() -c1c728d6 add an extra #ifdef WEBP_EXPERIMENTAL_FEATURES to avoid 'unused variable' warning -60c61d2d always call VP*EncDeleteAlpha() unconditionnally, for simplicity -0f8c6384 simply don't call WriteExtensions() if WEBP_EXPERIMENTAL_FEATURES is not defined -47c661d5 rename swap -> swap_rb -10d55bbb move chunk[] declaration out of the for() loop -517cec21 fix indentation -f7d9e261 fix merge problems -8fd42b3a add a stride 'a_stride' for the alpha plane -b8dcbf2f fix alpha-plane copy and crop methods -cdef89de fix some 'unused variable' warning -fb29c262 SSE2 version of the fwd transform and the squared sum metric -2ab4b72f EXPERIMENTAL: add support for alpha channel -cfbf88a6 add SSE2 functions. ~2x faster encoding on average. -e7ff3f9a merge two ITransforms together when applicable and change the TTransform to return the sum directly. -ca554137 fix WebPIDecGetRGB() to accept any RGB(A) mode, not just MODE_RGB -8aa50efd fix some 'man' typos -d3f3bdda update ChangeLog (tag: v0.1.2) -d7e9a69c update contributor list -261abb8e add a 'superclean' section -276ae825 Remove files not mean to be in git, and update .gitignore -24868455 build: prepare libwebp.pc -14ceb6e8 add "-version" description to man pages -b247a3b2 Create the m4 directory, and also place .gitignore in there for libtool. -cdd734c9 Resolve automake warnings -c5fa726e build: add pkgconfig files -b20aaca2 build: just use autoreconf, avoid calling tools manually -4b0b0d66 cwebp: use modern functions -efbc6c41 update Android.mk -7777570b better version of ChangeLog -fa70d2b7 update version number in the DOC -f8db5d5d more C89-fixes -0de013b3 fix typos -650ffa3b add version getters for decoder and encoder -be4867d2 doc for incremental decoding -56732a1b add idec.obj in MSVC makefile -208afb5e add c++ guards -8bf76fe0 add incremental decoding -1f288328 'inline' isn't defined in strict ansi c89 -8b77c632 move the quantization function to dsp.c -b2c3575c add a 'last_y' field to WebPDecParams -2654c3da correctly pass along the exact same status returned from ParsePartitions -4704146a add missing precision in the man -6d978a6c add error messages -6463e6ab add some install instructions, and fix intel-mac flags -05fb7bfc Merge ".gitignore: initial version" -c33f0195 .gitignore: initial version -e532b9ab Makefile: allow out of tree builds -4c0da7aa enable sparse dc/ac transforms -07dbb8d5 clarify the return logic -5c69e1bb fix bigger-by-1 array -7c5267e3 fix a (harmless) typo: non_zero_ -> non_zero_ac_ -bc752135 fix missing free() -af3e2aaa remove trailing spaces -13e50da6 make the bitreader preload at least 8bits, instead of post-load them (this makes initialization easier and will be helpful for incremental decoding). Modify ParsePartitions() to accommodate for truncated input. -f4888f77 emit 9 - nb_bits trailing zeros instead of 8 -3db65255 separate block-parsing into a visible VP8DecodeMB() -a871de02 add missing extern "C" -b3ce8c52 remove a gcc warning about type pun by using a proper union'd type -e1863715 update after addition of webpi.h -3e856e2d Extract some useful functions around decoding buffer WebPDecParams. -d5bc05a4 make the filtering process match libvpx and ffvp8 -dd60138d add man pages for cwebp(1) and dwebp(1) -c4fa3644 fix header -5b70b378 * add an option to bypass_filtering in VP8Io. -b97a4003 simplify QuantizeBlock code a bit -84b58ebb add more checks around picture allocation -b65a3e10 remove absolute_delta_ field and syntax code -0744e842 Dont' open output file until we're sure the input file is valid -d5bd54c7 fix typo and buggy line -f7a9549d Add a simple top-level makefile.unix for quick & easy build. -5f36b944 update the doc for the -f option -f61d14aa a WebP encoder converts PNG & JPEG to WebP -81c96621 oops: forgotten call to Initialize() + move the error message to a more useful place -87ffa005 typo: fix a missing 'R', was confusing. -b04b857a * add decoding measurement using stopwatch.h (use -v option) * support PNG output through WIC on Win32 -746a4820 * make (*put)() hook return a bool for abort request. * add an enum for VP8Status() to make things clearer -73c973e6 * strengthen riff/chunk size checks * don't consider odd-sized chunks being an error -1dc4611a add support for PNG output (default) regularize include guards -860641df fix a typo: sizeof(kYModeProbaInter0) => sizeof(kUVModeProbaInter0) -3254fc52 fix some petty constness fix the ./configure file too -504d3393 fix eof_ mis-initialization -2bc0778f leftover Makefile.* from previous commit -d2cf04e4 move Makefile.am one level below, to src/dec fix typos here and there dwebp is now an installed program -ade92de8 typo: vp8.h -> decode_vp8.h -d7241241 forgot to declare types.h to be installed -6421a7a4 move the decoder sourcetree to a sub-location src/dec to make room for future libs sources -a9b3eab6 correct layout name is IMC4. -2330522c handle corner case of zero-dimensions -280c3658 make VP8Init() handle short buffers (< 2 bytes) correctly -b1c9e8b4 handle error cases more robustly -0e94935c Merge "table-less version of clip_8b()" -1e0a2d25 table-less version of clip_8b() -e12109ee dwebp: change -yuv option to -raw change the layout to IMC2 -d72180a4 speed-up fancy upscaler -9145f3bc reset eof_ at construction time -a7ee0559 simplify the logic of GetCoeffs() -f67b5939 lot of cosmetics -ea27d7c6 fix endian problem on PowerPC -beb0a1ba fix signature of VP8StoreBlock -b128c5e2 Merge "fancy chroma upscaling" -6a37a2aa fancy chroma upscaling -ff565edc fix two numeric typos -5a936a0a use uintptr_t for casting pointers to ints -e14a0301 for cross_compiling=yes to prevent executing any binary -83b545ee add vc9+ makefile -296f6914 fix output loop for small height -cbfbb5c3 convert to plain-C -f09f96ee Fix declaration after statement warning -5981ee55 Fix UV plane ac/dc quantizer transposition -c8d15efa convert to ANSI-C -c3f41cb4 Initial commit diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Makefile.am deleted file mode 100644 index e415f6f1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = src imageio man -EXTRA_DIST = COPYING autogen.sh - -if BUILD_EXTRAS - SUBDIRS += extras -endif - -SUBDIRS += examples diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Makefile.vc b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Makefile.vc deleted file mode 100644 index 886f981f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/Makefile.vc +++ /dev/null @@ -1,522 +0,0 @@ -# -# Stem for static libs and DLLs -# -LIBWEBPDECODER_BASENAME = libwebpdecoder -LIBWEBP_BASENAME = libwebp -LIBWEBPMUX_BASENAME = libwebpmux -LIBWEBPDEMUX_BASENAME = libwebpdemux - -!IFNDEF ARCH -!IF ! [ cl 2>&1 | find "x86" > NUL ] -ARCH = x86 -!ELSE IF ! [ cl 2>&1 | find "x64" > NUL ] -ARCH = x64 -!ELSE IF ! [ cl 2>&1 | find "ARM" > NUL ] -ARCH = ARM -!ELSE -!ERROR Unable to auto-detect toolchain architecture! \ -If cl.exe is in your PATH rerun nmake with ARCH=. -!ENDIF -!ENDIF - -!IF "$(ARCH)" == "x86" -PLATFORM_LDFLAGS = /SAFESEH -!ENDIF - -############################################################# -## Nothing more to do below this line! - -NOLOGO = /nologo -CCNODBG = cl.exe $(NOLOGO) /O2 /DNDEBUG -CCDEBUG = cl.exe $(NOLOGO) /Od /Gm /Zi /D_DEBUG /RTC1 -CFLAGS = /I. /Isrc $(NOLOGO) /W3 /EHsc /c -CFLAGS = $(CFLAGS) /DWIN32 /D_CRT_SECURE_NO_WARNINGS /DWIN32_LEAN_AND_MEAN -LDFLAGS = /LARGEADDRESSAWARE /MANIFEST /NXCOMPAT /DYNAMICBASE -LDFLAGS = $(LDFLAGS) $(PLATFORM_LDFLAGS) -LNKDLL = link.exe /DLL $(NOLOGO) -LNKEXE = link.exe $(NOLOGO) -LNKLIB = lib.exe $(NOLOGO) -MT = mt.exe $(NOLOGO) -RCNODBG = rc.exe $(NOLOGO) /l"0x0409" # 0x409 = U.S. English -RCDEBUG = $(RCNODBG) /D_DEBUG - -!IF "$(ARCH)" == "ARM" -CFLAGS = $(CFLAGS) /DWINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP /DWEBP_USE_THREAD -!ELSE -CFLAGS = $(CFLAGS) /DHAVE_WINCODEC_H /DWEBP_USE_THREAD -!ENDIF - -CFGSET = FALSE -!IF "$(OBJDIR)" == "" -OUTDIR = ..\obj\ -!ELSE -OUTDIR = $(OBJDIR) -!ENDIF - -############################################################## -# Runtime library configuration -!IF "$(RTLIBCFG)" == "static" -RTLIB = /MT -RTLIBD = /MTd -!ELSE IF "$(RTLIBCFG)" == "legacy" -RTLIBCFG = static -RTLIB = /MT -RTLIBD = /MTd -CFLAGS = $(CFLAGS) /GS- /arch:IA32 -!ELSE -RTLIB = /MD -RTLIBD = /MDd -!ENDIF -DIRBASE = $(OUTDIR)\$(CFG)\$(ARCH) -DIROBJ = $(DIRBASE)\obj -DIRLIB = $(DIRBASE)\lib -DIRINC = $(DIRBASE)\include -DIRBIN = $(DIRBASE)\bin -LIBWEBP_PDBNAME = $(DIROBJ)\$(LIBWEBP_BASENAME).pdb -OUTPUT_DIRS = $(DIRBIN) $(DIRINC) $(DIRLIB) \ - $(DIROBJ)\dec \ - $(DIROBJ)\demux \ - $(DIROBJ)\dsp \ - $(DIROBJ)\enc \ - $(DIROBJ)\examples \ - $(DIROBJ)\extras \ - $(DIROBJ)\imageio \ - $(DIROBJ)\mux \ - $(DIROBJ)\utils \ - -# Target configuration -!IF "$(CFG)" == "release-static" -CC = $(CCNODBG) -STATICLIBBUILD = TRUE -!ELSE IF "$(CFG)" == "debug-static" -CC = $(CCDEBUG) -RTLIB = $(RTLIBD) -STATICLIBBUILD = TRUE -LIBWEBPDECODER_BASENAME = $(LIBWEBPDECODER_BASENAME)_debug -LIBWEBP_BASENAME = $(LIBWEBP_BASENAME)_debug -LIBWEBPMUX_BASENAME = $(LIBWEBPMUX_BASENAME)_debug -LIBWEBPDEMUX_BASENAME = $(LIBWEBPDEMUX_BASENAME)_debug -!ELSE IF "$(CFG)" == "release-dynamic" -CC = $(CCNODBG) -RC = $(RCNODBG) -DLLBUILD = TRUE -!ELSE IF "$(CFG)" == "debug-dynamic" -CC = $(CCDEBUG) -RC = $(RCDEBUG) -RTLIB = $(RTLIBD) -DLLBUILD = TRUE -LIBWEBPDECODER_BASENAME = $(LIBWEBPDECODER_BASENAME)_debug -LIBWEBP_BASENAME = $(LIBWEBP_BASENAME)_debug -LIBWEBPMUX_BASENAME = $(LIBWEBPMUX_BASENAME)_debug -LIBWEBPDEMUX_BASENAME = $(LIBWEBPDEMUX_BASENAME)_debug -!ENDIF - -!IF "$(STATICLIBBUILD)" == "TRUE" -CC = $(CC) $(RTLIB) -CFGSET = TRUE -LIBWEBPDECODER = $(DIRLIB)\$(LIBWEBPDECODER_BASENAME).lib -LIBWEBP = $(DIRLIB)\$(LIBWEBP_BASENAME).lib -LIBWEBPMUX = $(DIRLIB)\$(LIBWEBPMUX_BASENAME).lib -LIBWEBPDEMUX = $(DIRLIB)\$(LIBWEBPDEMUX_BASENAME).lib -!ELSE IF "$(DLLBUILD)" == "TRUE" -DLLINC = webp_dll.h -CC = $(CC) /I$(DIROBJ) /FI$(DLLINC) $(RTLIB) /DWEBP_DLL -LIBWEBPDECODER = $(DIRLIB)\$(LIBWEBPDECODER_BASENAME)_dll.lib -LIBWEBP = $(DIRLIB)\$(LIBWEBP_BASENAME)_dll.lib -LIBWEBPMUX = $(DIRLIB)\$(LIBWEBPMUX_BASENAME)_dll.lib -LIBWEBPDEMUX = $(DIRLIB)\$(LIBWEBPDEMUX_BASENAME)_dll.lib -LIBWEBP_PDBNAME = $(DIROBJ)\$(LIBWEBP_BASENAME)_dll.pdb -CFGSET = TRUE -!ENDIF - -!IF "$(UNICODE)" == "1" -CFLAGS = $(CFLAGS) /D_UNICODE /DUNICODE -!ENDIF - -####################### -# Usage -# -!IF "$(CFGSET)" == "FALSE" -!MESSAGE Usage: nmake /f Makefile.vc [CFG=] -!MESSAGE . [OBJDIR=] [RTLIBCFG=] [UNICODE=1] [] -!MESSAGE -!MESSAGE where is one of: -!MESSAGE - release-static - release static library -!MESSAGE - debug-static - debug static library -!MESSAGE - release-dynamic - release dynamic link library (DLL) -!MESSAGE - debug-dynamic - debug dynamic link library (DLL) -!MESSAGE -!MESSAGE may be: -!MESSAGE - clean - perform a clean for CFG -!MESSAGE - experimental - build CFG with experimental -!MESSAGE . features enabled. -!MESSAGE - (empty) - build libwebp-based targets for CFG -!MESSAGE - all - build (de)mux-based targets for CFG -!MESSAGE - gif2webp - requires libgif & >= VS2013 -!MESSAGE - anim_diff - requires libgif & >= VS2013 -!MESSAGE - anim_dump -!MESSAGE -!MESSAGE RTLIBCFG controls the runtime library linkage - 'static' or 'dynamic'. -!MESSAGE 'legacy' will produce a Windows 2000 compatible library. -!MESSAGE OBJDIR is the path where you like to build (obj, bins, etc.), -!MESSAGE defaults to ..\obj - -!IF "$(CFG)" != "" -!MESSAGE -!ERROR please choose a valid configuration instead of "$(CFG)" -!ENDIF -!ENDIF - -####################### -# Rules -# -!IF "$(CFGSET)" == "TRUE" -# A config was provided, so the library can be built. -# - -DEC_OBJS = \ - $(DIROBJ)\dec\alpha_dec.obj \ - $(DIROBJ)\dec\buffer_dec.obj \ - $(DIROBJ)\dec\frame_dec.obj \ - $(DIROBJ)\dec\idec_dec.obj \ - $(DIROBJ)\dec\io_dec.obj \ - $(DIROBJ)\dec\quant_dec.obj \ - $(DIROBJ)\dec\tree_dec.obj \ - $(DIROBJ)\dec\vp8_dec.obj \ - $(DIROBJ)\dec\vp8l_dec.obj \ - $(DIROBJ)\dec\webp_dec.obj \ - -DEMUX_OBJS = \ - $(DIROBJ)\demux\anim_decode.obj \ - $(DIROBJ)\demux\demux.obj \ - -DSP_DEC_OBJS = \ - $(DIROBJ)\dsp\alpha_processing.obj \ - $(DIROBJ)\dsp\alpha_processing_mips_dsp_r2.obj \ - $(DIROBJ)\dsp\alpha_processing_neon.obj \ - $(DIROBJ)\dsp\alpha_processing_sse2.obj \ - $(DIROBJ)\dsp\alpha_processing_sse41.obj \ - $(DIROBJ)\dsp\cpu.obj \ - $(DIROBJ)\dsp\dec.obj \ - $(DIROBJ)\dsp\dec_clip_tables.obj \ - $(DIROBJ)\dsp\dec_mips32.obj \ - $(DIROBJ)\dsp\dec_mips_dsp_r2.obj \ - $(DIROBJ)\dsp\dec_msa.obj \ - $(DIROBJ)\dsp\dec_neon.obj \ - $(DIROBJ)\dsp\dec_sse2.obj \ - $(DIROBJ)\dsp\dec_sse41.obj \ - $(DIROBJ)\dsp\filters.obj \ - $(DIROBJ)\dsp\filters_mips_dsp_r2.obj \ - $(DIROBJ)\dsp\filters_msa.obj \ - $(DIROBJ)\dsp\filters_neon.obj \ - $(DIROBJ)\dsp\filters_sse2.obj \ - $(DIROBJ)\dsp\lossless.obj \ - $(DIROBJ)\dsp\lossless_mips_dsp_r2.obj \ - $(DIROBJ)\dsp\lossless_msa.obj \ - $(DIROBJ)\dsp\lossless_neon.obj \ - $(DIROBJ)\dsp\lossless_sse2.obj \ - $(DIROBJ)\dsp\rescaler.obj \ - $(DIROBJ)\dsp\rescaler_mips32.obj \ - $(DIROBJ)\dsp\rescaler_mips_dsp_r2.obj \ - $(DIROBJ)\dsp\rescaler_msa.obj \ - $(DIROBJ)\dsp\rescaler_neon.obj \ - $(DIROBJ)\dsp\rescaler_sse2.obj \ - $(DIROBJ)\dsp\upsampling.obj \ - $(DIROBJ)\dsp\upsampling_mips_dsp_r2.obj \ - $(DIROBJ)\dsp\upsampling_msa.obj \ - $(DIROBJ)\dsp\upsampling_neon.obj \ - $(DIROBJ)\dsp\upsampling_sse2.obj \ - $(DIROBJ)\dsp\upsampling_sse41.obj \ - $(DIROBJ)\dsp\yuv.obj \ - $(DIROBJ)\dsp\yuv_mips32.obj \ - $(DIROBJ)\dsp\yuv_mips_dsp_r2.obj \ - $(DIROBJ)\dsp\yuv_neon.obj \ - $(DIROBJ)\dsp\yuv_sse2.obj \ - $(DIROBJ)\dsp\yuv_sse41.obj \ - -DSP_ENC_OBJS = \ - $(DIROBJ)\dsp\cost.obj \ - $(DIROBJ)\dsp\cost_mips32.obj \ - $(DIROBJ)\dsp\cost_mips_dsp_r2.obj \ - $(DIROBJ)\dsp\cost_neon.obj \ - $(DIROBJ)\dsp\cost_sse2.obj \ - $(DIROBJ)\dsp\enc.obj \ - $(DIROBJ)\dsp\enc_mips32.obj \ - $(DIROBJ)\dsp\enc_mips_dsp_r2.obj \ - $(DIROBJ)\dsp\enc_msa.obj \ - $(DIROBJ)\dsp\enc_neon.obj \ - $(DIROBJ)\dsp\enc_sse2.obj \ - $(DIROBJ)\dsp\enc_sse41.obj \ - $(DIROBJ)\dsp\lossless_enc.obj \ - $(DIROBJ)\dsp\lossless_enc_mips32.obj \ - $(DIROBJ)\dsp\lossless_enc_mips_dsp_r2.obj \ - $(DIROBJ)\dsp\lossless_enc_msa.obj \ - $(DIROBJ)\dsp\lossless_enc_neon.obj \ - $(DIROBJ)\dsp\lossless_enc_sse2.obj \ - $(DIROBJ)\dsp\lossless_enc_sse41.obj \ - $(DIROBJ)\dsp\ssim.obj \ - $(DIROBJ)\dsp\ssim_sse2.obj \ - -EX_ANIM_UTIL_OBJS = \ - $(DIROBJ)\examples\anim_util.obj \ - -IMAGEIO_DEC_OBJS = \ - $(DIROBJ)\imageio\image_dec.obj \ - $(DIROBJ)\imageio\jpegdec.obj \ - $(DIROBJ)\imageio\metadata.obj \ - $(DIROBJ)\imageio\pngdec.obj \ - $(DIROBJ)\imageio\pnmdec.obj \ - $(DIROBJ)\imageio\tiffdec.obj \ - $(DIROBJ)\imageio\webpdec.obj \ - $(DIROBJ)\imageio\wicdec.obj \ - -IMAGEIO_ENC_OBJS = \ - $(DIROBJ)\imageio\image_enc.obj \ - -EX_GIF_DEC_OBJS = \ - $(DIROBJ)\examples\gifdec.obj \ - -EX_UTIL_OBJS = \ - $(DIROBJ)\examples\example_util.obj \ - -ENC_OBJS = \ - $(DIROBJ)\enc\alpha_enc.obj \ - $(DIROBJ)\enc\analysis_enc.obj \ - $(DIROBJ)\enc\backward_references_cost_enc.obj \ - $(DIROBJ)\enc\backward_references_enc.obj \ - $(DIROBJ)\enc\config_enc.obj \ - $(DIROBJ)\enc\cost_enc.obj \ - $(DIROBJ)\enc\filter_enc.obj \ - $(DIROBJ)\enc\frame_enc.obj \ - $(DIROBJ)\enc\histogram_enc.obj \ - $(DIROBJ)\enc\iterator_enc.obj \ - $(DIROBJ)\enc\near_lossless_enc.obj \ - $(DIROBJ)\enc\picture_enc.obj \ - $(DIROBJ)\enc\picture_csp_enc.obj \ - $(DIROBJ)\enc\picture_psnr_enc.obj \ - $(DIROBJ)\enc\picture_rescale_enc.obj \ - $(DIROBJ)\enc\picture_tools_enc.obj \ - $(DIROBJ)\enc\predictor_enc.obj \ - $(DIROBJ)\enc\quant_enc.obj \ - $(DIROBJ)\enc\syntax_enc.obj \ - $(DIROBJ)\enc\token_enc.obj \ - $(DIROBJ)\enc\tree_enc.obj \ - $(DIROBJ)\enc\vp8l_enc.obj \ - $(DIROBJ)\enc\webp_enc.obj \ - -EXTRAS_OBJS = \ - $(DIROBJ)\extras\extras.obj \ - $(DIROBJ)\extras\quality_estimate.obj \ - -IMAGEIO_UTIL_OBJS = \ - $(DIROBJ)\imageio\imageio_util.obj \ - -MUX_OBJS = \ - $(DIROBJ)\mux\anim_encode.obj \ - $(DIROBJ)\mux\muxedit.obj \ - $(DIROBJ)\mux\muxinternal.obj \ - $(DIROBJ)\mux\muxread.obj \ - -UTILS_DEC_OBJS = \ - $(DIROBJ)\utils\bit_reader_utils.obj \ - $(DIROBJ)\utils\color_cache_utils.obj \ - $(DIROBJ)\utils\filters_utils.obj \ - $(DIROBJ)\utils\huffman_utils.obj \ - $(DIROBJ)\utils\quant_levels_dec_utils.obj \ - $(DIROBJ)\utils\rescaler_utils.obj \ - $(DIROBJ)\utils\random_utils.obj \ - $(DIROBJ)\utils\thread_utils.obj \ - $(DIROBJ)\utils\utils.obj \ - -UTILS_ENC_OBJS = \ - $(DIROBJ)\utils\bit_writer_utils.obj \ - $(DIROBJ)\utils\huffman_encode_utils.obj \ - $(DIROBJ)\utils\quant_levels_utils.obj \ - -LIBWEBPDECODER_OBJS = $(DEC_OBJS) $(DSP_DEC_OBJS) $(UTILS_DEC_OBJS) -LIBWEBP_OBJS = $(LIBWEBPDECODER_OBJS) $(ENC_OBJS) $(DSP_ENC_OBJS) \ - $(UTILS_ENC_OBJS) $(DLL_OBJS) -LIBWEBPMUX_OBJS = $(MUX_OBJS) $(LIBWEBPMUX_OBJS) -LIBWEBPDEMUX_OBJS = $(DEMUX_OBJS) $(LIBWEBPDEMUX_OBJS) - -OUT_LIBS = $(LIBWEBPDECODER) $(LIBWEBP) -!IF "$(ARCH)" == "ARM" -ex: $(OUT_LIBS) -all: ex -!ELSE -OUT_EXAMPLES = $(DIRBIN)\cwebp.exe $(DIRBIN)\dwebp.exe -EXTRA_EXAMPLES = $(DIRBIN)\vwebp.exe $(DIRBIN)\webpmux.exe \ - $(DIRBIN)\img2webp.exe $(DIRBIN)\get_disto.exe \ - $(DIRBIN)\webp_quality.exe $(DIRBIN)\vwebp_sdl.exe \ - $(DIRBIN)\webpinfo.exe - -ex: $(OUT_LIBS) $(OUT_EXAMPLES) -all: ex $(EXTRA_EXAMPLES) -# NB: gif2webp.exe and anim_diff.exe are excluded from 'all' as libgif requires -# C99 support which is only available from VS2013 onward. -gif2webp: $(DIRBIN)\gif2webp.exe -anim_diff: $(DIRBIN)\anim_diff.exe -anim_dump: $(DIRBIN)\anim_dump.exe - -$(DIRBIN)\anim_diff.exe: $(DIROBJ)\examples\anim_diff.obj $(EX_ANIM_UTIL_OBJS) -$(DIRBIN)\anim_diff.exe: $(EX_UTIL_OBJS) $(IMAGEIO_UTIL_OBJS) -$(DIRBIN)\anim_diff.exe: $(EX_GIF_DEC_OBJS) $(LIBWEBPDEMUX) $(LIBWEBP) -$(DIRBIN)\anim_dump.exe: $(DIROBJ)\examples\anim_dump.obj $(EX_ANIM_UTIL_OBJS) -$(DIRBIN)\anim_dump.exe: $(EX_UTIL_OBJS) $(IMAGEIO_UTIL_OBJS) -$(DIRBIN)\anim_dump.exe: $(EX_GIF_DEC_OBJS) $(LIBWEBPDEMUX) $(LIBWEBP) -$(DIRBIN)\anim_dump.exe: $(IMAGEIO_ENC_OBJS) -$(DIRBIN)\cwebp.exe: $(DIROBJ)\examples\cwebp.obj $(IMAGEIO_DEC_OBJS) -$(DIRBIN)\cwebp.exe: $(IMAGEIO_UTIL_OBJS) -$(DIRBIN)\cwebp.exe: $(LIBWEBPDEMUX) -$(DIRBIN)\dwebp.exe: $(DIROBJ)\examples\dwebp.obj $(IMAGEIO_DEC_OBJS) -$(DIRBIN)\dwebp.exe: $(IMAGEIO_ENC_OBJS) -$(DIRBIN)\dwebp.exe: $(IMAGEIO_UTIL_OBJS) -$(DIRBIN)\dwebp.exe: $(LIBWEBPDEMUX) -$(DIRBIN)\gif2webp.exe: $(DIROBJ)\examples\gif2webp.obj $(EX_GIF_DEC_OBJS) -$(DIRBIN)\gif2webp.exe: $(EX_UTIL_OBJS) $(IMAGEIO_UTIL_OBJS) $(LIBWEBPMUX) -$(DIRBIN)\gif2webp.exe: $(LIBWEBP) -$(DIRBIN)\vwebp.exe: $(DIROBJ)\examples\vwebp.obj $(EX_UTIL_OBJS) -$(DIRBIN)\vwebp.exe: $(IMAGEIO_UTIL_OBJS) $(LIBWEBPDEMUX) $(LIBWEBP) -$(DIRBIN)\vwebp_sdl.exe: $(DIROBJ)\extras\vwebp_sdl.obj -$(DIRBIN)\vwebp_sdl.exe: $(DIROBJ)\extras\webp_to_sdl.obj -$(DIRBIN)\vwebp_sdl.exe: $(IMAGEIO_UTIL_OBJS) $(LIBWEBP) -$(DIRBIN)\webpmux.exe: $(DIROBJ)\examples\webpmux.obj $(LIBWEBPMUX) -$(DIRBIN)\webpmux.exe: $(EX_UTIL_OBJS) $(IMAGEIO_UTIL_OBJS) $(LIBWEBP) -$(DIRBIN)\img2webp.exe: $(DIROBJ)\examples\img2webp.obj $(LIBWEBPMUX) -$(DIRBIN)\img2webp.exe: $(IMAGEIO_DEC_OBJS) -$(DIRBIN)\img2webp.exe: $(EX_UTIL_OBJS) $(IMAGEIO_UTIL_OBJS) -$(DIRBIN)\img2webp.exe: $(LIBWEBPDEMUX) $(LIBWEBP) -$(DIRBIN)\get_disto.exe: $(DIROBJ)\extras\get_disto.obj -$(DIRBIN)\get_disto.exe: $(IMAGEIO_DEC_OBJS) $(IMAGEIO_UTIL_OBJS) -$(DIRBIN)\get_disto.exe: $(LIBWEBPDEMUX) $(LIBWEBP) -$(DIRBIN)\webp_quality.exe: $(DIROBJ)\extras\webp_quality.obj -$(DIRBIN)\webp_quality.exe: $(IMAGEIO_UTIL_OBJS) -$(DIRBIN)\webp_quality.exe: $(EXTRAS_OBJS) -# EXTRA_OBJS requires private symbols from dsp. Explicitly add those when -# building libwebp as a dll. -!IF "$(DLLBUILD)" == "TRUE" -$(DIRBIN)\webp_quality.exe: $(DSP_DEC_OBJS) -!ENDIF -$(DIRBIN)\webp_quality.exe: $(LIBWEBP) -$(DIRBIN)\webpinfo.exe: $(DIROBJ)\examples\webpinfo.obj -$(DIRBIN)\webpinfo.exe: $(IMAGEIO_DEC_OBJS) -$(DIRBIN)\webpinfo.exe: $(EX_UTIL_OBJS) $(IMAGEIO_UTIL_OBJS) -$(DIRBIN)\webpinfo.exe: $(LIBWEBPDEMUX) $(LIBWEBP) - -$(OUT_EXAMPLES): $(EX_UTIL_OBJS) $(LIBWEBP) -$(EX_UTIL_OBJS) $(IMAGEIO_UTIL_OBJS): $(OUTPUT_DIRS) -$(IMAGEIO_DEC_OBJS) $(IMAGEIO_ENC_OBJS) $(EXTRAS_OBJS): $(OUTPUT_DIRS) -!ENDIF # ARCH == ARM - -$(LIBWEBPDECODER): $(LIBWEBPDECODER_OBJS) -$(LIBWEBP): $(LIBWEBP_OBJS) -$(LIBWEBPMUX): $(LIBWEBPMUX_OBJS) -$(LIBWEBPDEMUX): $(LIBWEBPDEMUX_OBJS) - -$(LIBWEBP_OBJS) $(LIBWEBPMUX_OBJS) $(LIBWEBPDEMUX_OBJS): $(OUTPUT_DIRS) - -!IF "$(DLLBUILD)" == "TRUE" -$(LIBWEBP_OBJS) $(LIBWEBPMUX_OBJS) $(LIBWEBPDEMUX_OBJS): \ - $(DIROBJ)\$(DLLINC) - -{$(DIROBJ)}.c{$(DIROBJ)}.obj: - $(CC) $(CFLAGS) /Fd$(LIBWEBP_PDBNAME) /Fo$@ $< - -{src}.rc{$(DIROBJ)}.res: - $(RC) /fo$@ $< -{src\demux}.rc{$(DIROBJ)\demux}.res: - $(RC) /fo$@ $< -{src\mux}.rc{$(DIROBJ)\mux}.res: - $(RC) /fo$@ $< - -$(LIBWEBP): $(DIROBJ)\$(LIBWEBP_BASENAME:_debug=).res -$(LIBWEBPDECODER): $(DIROBJ)\$(LIBWEBPDECODER_BASENAME:_debug=).res -$(LIBWEBPMUX): $(LIBWEBP) $(DIROBJ)\mux\$(LIBWEBPMUX_BASENAME:_debug=).res -$(LIBWEBPDEMUX): $(LIBWEBP) $(DIROBJ)\demux\$(LIBWEBPDEMUX_BASENAME:_debug=).res - -$(LIBWEBPDECODER) $(LIBWEBP) $(LIBWEBPMUX) $(LIBWEBPDEMUX): - $(LNKDLL) /out:$(DIRBIN)\$(@B:_dll=.dll) /implib:$@ $(LFLAGS) $** - -xcopy $(DIROBJ)\*.pdb $(DIRLIB) /y - -clean:: - @-erase /s $(DIROBJ)\$(DLLINC) 2> NUL -!ELSE -$(LIBWEBPDECODER) $(LIBWEBP) $(LIBWEBPMUX) $(LIBWEBPDEMUX): - $(LNKLIB) /out:$@ $** - -xcopy $(DIROBJ)\*.pdb $(DIRLIB) /y -!ENDIF - -$(OUTPUT_DIRS): - @if not exist "$(@)" mkdir "$(@)" - -# generate a helper include to define WEBP_EXTERN suitable for the DLL build -$(DIROBJ)\$(DLLINC): - @echo #ifndef WEBP_DLL_H_ > $@ - @echo #define WEBP_DLL_H_ >> $@ - @echo #define WEBP_EXTERN __declspec(dllexport) >> $@ - @echo #endif /* WEBP_DLL_H_ */ >> $@ - -.SUFFIXES: .c .obj .res .exe -# File-specific flag builds. Note batch rules take precedence over wildcards, -# so for now name each file individually. -$(DIROBJ)\examples\anim_diff.obj: examples\anim_diff.c - $(CC) $(CFLAGS) /DWEBP_HAVE_GIF /Fd$(LIBWEBP_PDBNAME) \ - /Fo$(DIROBJ)\examples\ examples\$(@B).c -$(DIROBJ)\examples\anim_dump.obj: examples\anim_dump.c - $(CC) $(CFLAGS) /DWEBP_HAVE_GIF /Fd$(LIBWEBP_PDBNAME) \ - /Fo$(DIROBJ)\examples\ examples\$(@B).c -$(DIROBJ)\examples\anim_util.obj: examples\anim_util.c - $(CC) $(CFLAGS) /DWEBP_HAVE_GIF /Fd$(LIBWEBP_PDBNAME) \ - /Fo$(DIROBJ)\examples\ examples\$(@B).c -$(DIROBJ)\examples\gif2webp.obj: examples\gif2webp.c - $(CC) $(CFLAGS) /DWEBP_HAVE_GIF /Fd$(LIBWEBP_PDBNAME) \ - /Fo$(DIROBJ)\examples\ examples\$(@B).c -$(DIROBJ)\examples\gifdec.obj: examples\gifdec.c - $(CC) $(CFLAGS) /DWEBP_HAVE_GIF /Fd$(LIBWEBP_PDBNAME) \ - /Fo$(DIROBJ)\examples\ examples\$(@B).c -# Batch rules -{examples}.c{$(DIROBJ)\examples}.obj:: - $(CC) $(CFLAGS) /Fd$(DIROBJ)\examples\ /Fo$(DIROBJ)\examples\ $< -{extras}.c{$(DIROBJ)\extras}.obj:: - $(CC) $(CFLAGS) /Fd$(DIROBJ)\extras\ /Fo$(DIROBJ)\extras\ $< -{imageio}.c{$(DIROBJ)\imageio}.obj:: - $(CC) $(CFLAGS) /Fd$(DIROBJ)\imageio\ /Fo$(DIROBJ)\imageio\ $< -{src\dec}.c{$(DIROBJ)\dec}.obj:: - $(CC) $(CFLAGS) /Fd$(LIBWEBP_PDBNAME) /Fo$(DIROBJ)\dec\ $< -{src\demux}.c{$(DIROBJ)\demux}.obj:: - $(CC) $(CFLAGS) /Fd$(LIBWEBP_PDBNAME) /Fo$(DIROBJ)\demux\ $< -{src\dsp}.c{$(DIROBJ)\dsp}.obj:: - $(CC) $(CFLAGS) /Fd$(LIBWEBP_PDBNAME) /Fo$(DIROBJ)\dsp\ $< -{src\enc}.c{$(DIROBJ)\enc}.obj:: - $(CC) $(CFLAGS) /Fd$(LIBWEBP_PDBNAME) /Fo$(DIROBJ)\enc\ $< -{src\mux}.c{$(DIROBJ)\mux}.obj:: - $(CC) $(CFLAGS) /Fd$(LIBWEBP_PDBNAME) /Fo$(DIROBJ)\mux\ $< -{src\utils}.c{$(DIROBJ)\utils}.obj:: - $(CC) $(CFLAGS) /Fd$(LIBWEBP_PDBNAME) /Fo$(DIROBJ)\utils\ $< - -LNKLIBS = ole32.lib windowscodecs.lib shlwapi.lib -!IF "$(UNICODE)" == "1" -LNKLIBS = $(LNKLIBS) Shell32.lib -!ENDIF - -{$(DIROBJ)\examples}.obj{$(DIRBIN)}.exe: - $(LNKEXE) $(LDFLAGS) /OUT:$@ $** $(LNKLIBS) - $(MT) -manifest $@.manifest -outputresource:$@;1 - del $@.manifest - -{$(DIROBJ)\extras}.obj{$(DIRBIN)}.exe: - $(LNKEXE) $(LDFLAGS) /OUT:$@ $** $(LNKLIBS) - $(MT) -manifest $@.manifest -outputresource:$@;1 - del $@.manifest - -clean:: - @-erase /s $(DIROBJ)\*.dll 2> NUL - @-erase /s $(DIROBJ)\*.exp 2> NUL - @-erase /s $(DIROBJ)\*.idb 2> NUL - @-erase /s $(DIROBJ)\*.lib 2> NUL - @-erase /s $(DIROBJ)\*.obj 2> NUL - @-erase /s $(DIROBJ)\*.pch 2> NUL - @-erase /s $(DIROBJ)\*.pdb 2> NUL - @-erase /s $(DIROBJ)\*.res 2> NUL - -!ENDIF # End of case where a config was provided. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/NEWS b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/NEWS deleted file mode 100644 index 46daa092..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/NEWS +++ /dev/null @@ -1,242 +0,0 @@ -- 12/18/2019: version 1.1.0 - * API changes: - - libwebp: - WebPMalloc (issue #442) - - extras: - WebPUnmultiplyARGB - * alpha decode fix (issue #439) - * toolchain updates and bug fixes - (chromium: #1026858, #1027136, #1027409, #1028620, #1028716, #995200) - (oss-fuzz: #19430, #19447) - -- 7/4/2019: version 1.0.3 - This is a binary compatible release. - * resize fixes for Nx1 sizes and the addition of non-opaque alpha values for - odd sizes (issues #418, #434) - * lossless encode/decode performance improvements - * lossy compression performance improvement at low quality levels with flat - content (issue #432) - * python swig files updated to support python 3 - Tool updates: - vwebp will now preserve the aspect ratio of images that exceed monitor - resolution by scaling the image to fit (issue #433) - -- 1/14/2019: version 1.0.2 - This is a binary compatible release. - * (Windows) unicode file support in the tools (linux and mac already had - support, issue #398) - * lossless encoder speedups - * lossy encoder speedup on ARM - * lossless multi-threaded security fix (chromium:917029) - -- 11/2/2018: version 1.0.1 - This is a binary compatible release. - * lossless encoder speedups - * big-endian fix for alpha decoding (issue #393) - * gif2webp fix for loop count=65535 transcode (issue #382) - * further security related hardening in libwebp & libwebpmux - (issues #383, #385, #386, #387, #388, #391) - (oss-fuzz #9099, #9100, #9105, #9106, #9111, #9112, #9119, #9123, #9170, - #9178, #9179, #9183, #9186, #9191, #9364, #9417, #9496, #10349, - #10423, #10634, #10700, #10838, #10922, #11021, #11088, #11152) - * miscellaneous bug & build fixes (issues #381, #394, #396, #397, #400) - -- 4/2/2018: version 1.0.0 - This is a binary compatible release. - * lossy encoder improvements to avoid chroma shifts in various circumstances - (issues #308, #340) - * big-endian fixes for decode, RGBA import and WebPPictureDistortion - Tool updates: - gifwebp, anim_diff - default duration behavior (<= 10ms) changed to match - web browsers, transcoding tools (issue #379) - img2webp, webpmux - allow options to be passed in via a file (issue #355) - -- 11/24/2017: version 0.6.1 - This is a binary compatible release. - * lossless performance and compression improvements + a new 'cruncher' mode - (-m 6 -q 100) - * ARM performance improvements with clang (15-20% w/ndk r15c, issue #339) - * webp-js: emscripten/webassembly based javascript decoder - * miscellaneous bug & build fixes (issue #329, #332, #343, #353, #360, #361, - #363) - Tool updates / additions: - added webpinfo - prints file format information (issue #330) - gif2webp - loop behavior modified to match Chrome M63+ (crbug.com/649264); - '-loop_compatibility' can be used for the old behavior - -- 1/26/2017: version 0.6.0 - * lossless performance and compression improvements - * miscellaneous performance improvements (SSE2, NEON, MSA) - * webpmux gained a -duration option allowing for frame timing modification - * new img2webp utility allowing a sequence of images to be converted to - animated webp - * API changes: - - libwebp: - WebPPictureSharpARGBToYUVA - WebPPlaneDistortion - - libwebpmux / gif2webp: - WebPAnimEncoderOptions: kmax <= 0 now disables keyframes, kmax == 1 - forces all keyframes. See mux.h and the gif2webp - manpage for details. - -- 12/13/2016: version 0.5.2 - This is a binary compatible release. - This release covers CVE-2016-8888 and CVE-2016-9085. - * further security related hardening in the tools; fixes to - gif2webp/AnimEncoder (issues #310, #314, #316, #322), cwebp/libwebp (issue - #312) - * full libwebp (encoder & decoder) iOS framework; libwebpdecoder - WebP.framework renamed to WebPDecoder.framework (issue #307) - * CMake support for Android Studio (2.2) - * miscellaneous build related fixes (issue #306, #313) - * miscellaneous documentation improvements (issue #225) - * minor lossy encoder fixes and improvements - -- 6/14/2016: version 0.5.1 - This is a binary compatible release. - * miscellaneous bug fixes (issues #280, #289) - * reverted alpha plane encoding with color cache for compatibility with - libwebp 0.4.0->0.4.3 (issues #291, #298) - * lossless encoding performance improvements - * memory reduction in both lossless encoding and decoding - * force mux output to be in the extended format (VP8X) when undefined chunks - are present (issue #294) - * gradle, cmake build support - * workaround for compiler bug causing 64-bit decode failures on android - devices using clang-3.8 in the r11c NDK - * various WebPAnimEncoder improvements - -- 12/17/2015: version 0.5.0 - * miscellaneous bug & build fixes (issues #234, #258, #274, #275, #278) - * encoder & decoder speed-ups on x86/ARM/MIPS for lossy & lossless - - note! YUV->RGB conversion was sped-up, but the results will be slightly - different from previous releases - * various lossless encoder improvements - * gif2webp improvements, -min_size option added - * tools fully support input from stdin and output to stdout (issue #168) - * New WebPAnimEncoder API for creating animations - * New WebPAnimDecoder API for decoding animations - * other API changes: - - libwebp: - WebPPictureSmartARGBToYUVA() (-pre 4 in cwebp) - WebPConfig::exact (-exact in cwebp; -alpha_cleanup is now the default) - WebPConfig::near_lossless (-near_lossless in cwebp) - WebPFree() (free'ing webp allocated memory in other languages) - WebPConfigLosslessPreset() - WebPMemoryWriterClear() - - libwebpdemux: removed experimental fragment related fields and functions - - libwebpmux: WebPMuxSetCanvasSize() - * new libwebpextras library with some uncommon import functions: - WebPImportGray/WebPImportRGB565/WebPImportRGB4444 - -- 10/15/15: version 0.4.4 - This is a binary compatible release. - * rescaling out-of-bounds read fix (issue #254) - * various build fixes and improvements (issues #253, #259, #262, #267, #268) - * container documentation update - * gif2webp transparency fix (issue #245) - -- 3/3/15: version 0.4.3 - This is a binary compatible release. - * Android / gcc / iOS / MSVS build fixes and improvements - * lossless decode fix (issue #239 -- since 0.4.0) - * documentation / vwebp updates for animation - * multi-threading fix (issue #234) - -- 10/13/14: version 0.4.2 - This is a binary compatible release. - * Android / gcc build fixes - * (Windows) fix reading from stdin and writing to stdout - * gif2webp: miscellaneous fixes - * fix 'alpha-leak' with lossy compression (issue #220) - * the lossless bitstream spec has been amended to reflect the current code - -- 7/24/14: version 0.4.1 - This is a binary compatible release. - * AArch64 (arm64) & MIPS support/optimizations - * NEON assembly additions: - - ~25% faster lossy decode / encode (-m 4) - - ~10% faster lossless decode - - ~5-10% faster lossless encode (-m 3/4) - * dwebp/vwebp can read from stdin - * cwebp/gif2webp can write to stdout - * cwebp can read webp files; useful if storing sources as webp lossless - -- 12/19/13: version 0.4.0 - * improved gif2webp tool - * numerous fixes, compression improvement and speed-up - * dither option added to decoder (dwebp -dither 50 ...) - * improved multi-threaded modes (-mt option) - * improved filtering strength determination - * New function: WebPMuxGetCanvasSize - * BMP and TIFF format output added to 'dwebp' - * Significant memory reduction for decoding lossy images with alpha. - * Intertwined decoding of RGB and alpha for a shorter - time-to-first-decoded-pixel. - * WebPIterator has a new member 'has_alpha' denoting whether the frame - contains transparency. - * Container spec amended with new 'blending method' for animation. - -- 6/13/13: version 0.3.1 - This is a binary compatible release. - * Add incremental decoding support for images containing ALPH and ICCP chunks. - * Python bindings via swig for the simple encode/decode interfaces similar to - Java. - -- 3/20/13: version 0.3.0 - This is a binary compatible release. - * WebPINewRGB/WebPINewYUVA accept being passed a NULL output buffer - and will perform auto-allocation. - * default filter option is now '-strong -f 60' - * encoding speed-up for lossy methods 3 to 6 - * alpha encoding can be done in parallel to lossy using 'cwebp -mt ...' - * color profile, metadata (XMP/EXIF) and animation support finalized in the - container. - * various NEON assembly additions - Tool updates / additions: - * gif2webp added - * vwebp given color profile & animation support - * cwebp can preserve color profile / metadata with '-metadata' - -- 10/30/12: version 0.2.1 - * Various security related fixes - * cwebp.exe: fix import errors on Windows XP - * enable DLL builds for mingw targets - -- 8/3/12: version 0.2.0 - * Add support for ARGB -> YUVA conversion for lossless decoder - New functions: WebPINewYUVA, WebPIDecGetYUVA - * Add stats for lossless and alpha encoding - * Security related hardening: allocation and size checks - * Add PAM output support to dwebp - -- 7/19/12: version 0.1.99 - * This is a pre-release of 0.2.0, not an rc to allow for further - incompatible changes based on user feedback. - * Alpha channel encode/decode support. - * Lossless encoder/decoder. - * Add TIFF input support to cwebp. - Incompatible changes: - * The encode ABI has been modified to support alpha encoding. - * Deprecated function WebPINew() has been removed. - * Decode function signatures have changed to consistently use size_t over - int/uint32_t. - * decode_vp8.h is no longer installed system-wide. - * cwebp will encode the alpha channel if present. - -- 9/19/11: version 0.1.3 - * Advanced decoding APIs. - * On-the-fly cropping and rescaling of images. - * SSE2 instructions for decoding performance optimizations on x86 based - platforms. - * Support Multi-threaded decoding. - * 40% improvement in Decoding performance. - * Add support for RGB565, RGBA4444 & ARGB image colorspace. - * Better handling of large picture encoding. - -- 3/25/11: version 0.1.2 - * Incremental decoding: picture can be decoded byte-by-byte if needs be. - * lot of bug-fixes, consolidation and stabilization - -- 2/23/11: initial release of version 0.1, with the new encoder -- 9/30/10: initial release version with only the lightweight decoder diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/PATENTS b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/PATENTS deleted file mode 100644 index caedf607..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/PATENTS +++ /dev/null @@ -1,23 +0,0 @@ -Additional IP Rights Grant (Patents) ------------------------------------- - -"These implementations" means the copyrightable works that implement the WebM -codecs distributed by Google as part of the WebM Project. - -Google hereby grants to you a perpetual, worldwide, non-exclusive, no-charge, -royalty-free, irrevocable (except as stated in this section) patent license to -make, have made, use, offer to sell, sell, import, transfer, and otherwise -run, modify and propagate the contents of these implementations of WebM, where -such license applies only to those patent claims, both currently owned by -Google and acquired in the future, licensable by Google that are necessarily -infringed by these implementations of WebM. This grant does not include claims -that would be infringed only as a consequence of further modification of these -implementations. If you or your agent or exclusive licensee institute or order -or agree to the institution of patent litigation or any other patent -enforcement activity against any entity (including a cross-claim or -counterclaim in a lawsuit) alleging that any of these implementations of WebM -or any code incorporated within any of these implementations of WebM -constitute direct or contributory patent infringement, or inducement of -patent infringement, then any patent rights granted to you under this License -for these implementations of WebM shall terminate as of the date such -litigation is filed. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/README b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/README deleted file mode 100644 index 05927276..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/README +++ /dev/null @@ -1,789 +0,0 @@ - __ __ ____ ____ ____ - / \\/ \/ _ \/ _ )/ _ \ - \ / __/ _ \ __/ - \__\__/\____/\_____/__/ ____ ___ - / _/ / \ \ / _ \/ _/ - / \_/ / / \ \ __/ \__ - \____/____/\_____/_____/____/v1.1.0 - -Description: -============ - -WebP codec: library to encode and decode images in WebP format. This package -contains the library that can be used in other programs to add WebP support, -as well as the command line tools 'cwebp' and 'dwebp'. - -See http://developers.google.com/speed/webp - -The latest source tree is available at -https://chromium.googlesource.com/webm/libwebp - -It is released under the same license as the WebM project. -See http://www.webmproject.org/license/software/ or the -"COPYING" file for details. An additional intellectual -property rights grant can be found in the file PATENTS. - -Building: -========= - -Windows build: --------------- - -By running: - - nmake /f Makefile.vc CFG=release-static RTLIBCFG=static OBJDIR=output - -the directory output\release-static\(x64|x86)\bin will contain the tools -cwebp.exe and dwebp.exe. The directory output\release-static\(x64|x86)\lib will -contain the libwebp static library. -The target architecture (x86/x64) is detected by Makefile.vc from the Visual -Studio compiler (cl.exe) available in the system path. - -Unix build using makefile.unix: -------------------------------- - -On platforms with GNU tools installed (gcc and make), running - - make -f makefile.unix - -will build the binaries examples/cwebp and examples/dwebp, along -with the static library src/libwebp.a. No system-wide installation -is supplied, as this is a simple alternative to the full installation -system based on the autoconf tools (see below). -Please refer to makefile.unix for additional details and customizations. - -Using autoconf tools: ---------------------- -Prerequisites: -A compiler (e.g., gcc), make, autoconf, automake, libtool. -On a Debian-like system the following should install everything you need for a -minimal build: -$ sudo apt-get install gcc make autoconf automake libtool - -When building from git sources, you will need to run autogen.sh to generate the -configure script. - -./configure -make -make install - -should be all you need to have the following files - -/usr/local/include/webp/decode.h -/usr/local/include/webp/encode.h -/usr/local/include/webp/types.h -/usr/local/lib/libwebp.* -/usr/local/bin/cwebp -/usr/local/bin/dwebp - -installed. - -Note: A decode-only library, libwebpdecoder, is available using the -'--enable-libwebpdecoder' flag. The encode library is built separately and can -be installed independently using a minor modification in the corresponding -Makefile.am configure files (see comments there). See './configure --help' for -more options. - -Building for MIPS Linux: ------------------------- -MIPS Linux toolchain stable available releases can be found at: -https://community.imgtec.com/developers/mips/tools/codescape-mips-sdk/available-releases/ - -# Add toolchain to PATH -export PATH=$PATH:/path/to/toolchain/bin - -# 32-bit build for mips32r5 (p5600) -HOST=mips-mti-linux-gnu -MIPS_CFLAGS="-O3 -mips32r5 -mabi=32 -mtune=p5600 -mmsa -mfp64 \ - -msched-weight -mload-store-pairs -fPIE" -MIPS_LDFLAGS="-mips32r5 -mabi=32 -mmsa -mfp64 -pie" - -# 64-bit build for mips64r6 (i6400) -HOST=mips-img-linux-gnu -MIPS_CFLAGS="-O3 -mips64r6 -mabi=64 -mtune=i6400 -mmsa -mfp64 \ - -msched-weight -mload-store-pairs -fPIE" -MIPS_LDFLAGS="-mips64r6 -mabi=64 -mmsa -mfp64 -pie" - -./configure --host=${HOST} --build=`config.guess` \ - CC="${HOST}-gcc -EL" \ - CFLAGS="$MIPS_CFLAGS" \ - LDFLAGS="$MIPS_LDFLAGS" -make -make install - -CMake: ------- -With CMake, you can compile libwebp, cwebp, dwebp, gif2web, img2webp, webpinfo -and the JS bindings. - -Prerequisites: -A compiler (e.g., gcc with autotools) and CMake. -On a Debian-like system the following should install everything you need for a -minimal build: -$ sudo apt-get install build-essential cmake - -When building from git sources, you will need to run cmake to generate the -makefiles. - -mkdir build && cd build && cmake ../ -make -make install - -If you also want any of the executables, you will need to enable them through -CMake, e.g.: - -cmake -DWEBP_BUILD_CWEBP=ON -DWEBP_BUILD_DWEBP=ON ../ - -or through your favorite interface (like ccmake or cmake-qt-gui). - -Use option -DWEBP_UNICODE=ON for Unicode support on Windows (with chcp 65001). - -Finally, once installed, you can also use WebP in your CMake project by doing: - -find_package(WebP) - -which will define the CMake variables WebP_INCLUDE_DIRS and WebP_LIBRARIES. - -Gradle: -------- -The support for Gradle is minimal: it only helps you compile libwebp, cwebp and -dwebp and webpmux_example. - -Prerequisites: -A compiler (e.g., gcc with autotools) and gradle. -On a Debian-like system the following should install everything you need for a -minimal build: -$ sudo apt-get install build-essential gradle - -When building from git sources, you will need to run the Gradle wrapper with the -appropriate target, e.g. : - -./gradlew buildAllExecutables - -SWIG bindings: --------------- - -To generate language bindings from swig/libwebp.swig at least swig-1.3 -(http://www.swig.org) is required. - -Currently the following functions are mapped: -Decode: - WebPGetDecoderVersion - WebPGetInfo - WebPDecodeRGBA - WebPDecodeARGB - WebPDecodeBGRA - WebPDecodeBGR - WebPDecodeRGB - -Encode: - WebPGetEncoderVersion - WebPEncodeRGBA - WebPEncodeBGRA - WebPEncodeRGB - WebPEncodeBGR - WebPEncodeLosslessRGBA - WebPEncodeLosslessBGRA - WebPEncodeLosslessRGB - WebPEncodeLosslessBGR - -See swig/README for more detailed build instructions. - -Java bindings: - -To build the swig-generated JNI wrapper code at least JDK-1.5 (or equivalent) -is necessary for enum support. The output is intended to be a shared object / -DLL that can be loaded via System.loadLibrary("webp_jni"). - -Python bindings: - -To build the swig-generated Python extension code at least Python 2.6 is -required. Python < 2.6 may build with some minor changes to libwebp.swig or the -generated code, but is untested. - -Encoding tool: -============== - -The examples/ directory contains tools for encoding (cwebp) and -decoding (dwebp) images. - -The easiest use should look like: - cwebp input.png -q 80 -o output.webp -which will convert the input file to a WebP file using a quality factor of 80 -on a 0->100 scale (0 being the lowest quality, 100 being the best. Default -value is 75). -You might want to try the -lossless flag too, which will compress the source -(in RGBA format) without any loss. The -q quality parameter will in this case -control the amount of processing time spent trying to make the output file as -small as possible. - -A longer list of options is available using the -longhelp command line flag: - -> cwebp -longhelp -Usage: - cwebp [-preset <...>] [options] in_file [-o out_file] - -If input size (-s) for an image is not specified, it is -assumed to be a PNG, JPEG, TIFF or WebP file. - -Options: - -h / -help ............. short help - -H / -longhelp ......... long help - -q ............. quality factor (0:small..100:big), default=75 - -alpha_q ......... transparency-compression quality (0..100), - default=100 - -preset ....... preset setting, one of: - default, photo, picture, - drawing, icon, text - -preset must come first, as it overwrites other parameters - -z ............... activates lossless preset with given - level in [0:fast, ..., 9:slowest] - - -m ............... compression method (0=fast, 6=slowest), default=4 - -segments ........ number of segments to use (1..4), default=4 - -size ............ target size (in bytes) - -psnr .......... target PSNR (in dB. typically: 42) - - -s ......... input size (width x height) for YUV - -sns ............. spatial noise shaping (0:off, 100:max), default=50 - -f ............... filter strength (0=off..100), default=60 - -sharpness ....... filter sharpness (0:most .. 7:least sharp), default=0 - -strong ................ use strong filter instead of simple (default) - -nostrong .............. use simple filter instead of strong - -sharp_yuv ............. use sharper (and slower) RGB->YUV conversion - -partition_limit . limit quality to fit the 512k limit on - the first partition (0=no degradation ... 100=full) - -pass ............ analysis pass number (1..10) - -crop .. crop picture with the given rectangle - -resize ........ resize picture (after any cropping) - -mt .................... use multi-threading if available - -low_memory ............ reduce memory usage (slower encoding) - -map ............. print map of extra info - -print_psnr ............ prints averaged PSNR distortion - -print_ssim ............ prints averaged SSIM distortion - -print_lsim ............ prints local-similarity distortion - -d .......... dump the compressed output (PGM file) - -alpha_method .... transparency-compression method (0..1), default=1 - -alpha_filter . predictive filtering for alpha plane, - one of: none, fast (default) or best - -exact ................. preserve RGB values in transparent area, default=off - -blend_alpha ..... blend colors against background color - expressed as RGB values written in - hexadecimal, e.g. 0xc0e0d0 for red=0xc0 - green=0xe0 and blue=0xd0 - -noalpha ............... discard any transparency information - -lossless .............. encode image losslessly, default=off - -near_lossless ... use near-lossless image - preprocessing (0..100=off), default=100 - -hint ......... specify image characteristics hint, - one of: photo, picture or graph - - -metadata ..... comma separated list of metadata to - copy from the input to the output if present. - Valid values: all, none (default), exif, icc, xmp - - -short ................. condense printed message - -quiet ................. don't print anything - -version ............... print version number and exit - -noasm ................. disable all assembly optimizations - -v ..................... verbose, e.g. print encoding/decoding times - -progress .............. report encoding progress - -Experimental Options: - -jpeg_like ............. roughly match expected JPEG size - -af .................... auto-adjust filter strength - -pre ............. pre-processing filter - -The main options you might want to try in order to further tune the -visual quality are: - -preset - -sns - -f - -m - -Namely: - * 'preset' will set up a default encoding configuration targeting a - particular type of input. It should appear first in the list of options, - so that subsequent options can take effect on top of this preset. - Default value is 'default'. - * 'sns' will progressively turn on (when going from 0 to 100) some additional - visual optimizations (like: segmentation map re-enforcement). This option - will balance the bit allocation differently. It tries to take bits from the - "easy" parts of the picture and use them in the "difficult" ones instead. - Usually, raising the sns value (at fixed -q value) leads to larger files, - but with better quality. - Typical value is around '75'. - * 'f' option directly links to the filtering strength used by the codec's - in-loop processing. The higher the value, the smoother the - highly-compressed area will look. This is particularly useful when aiming - at very small files. Typical values are around 20-30. Note that using the - option -strong/-nostrong will change the type of filtering. Use "-f 0" to - turn filtering off. - * 'm' controls the trade-off between encoding speed and quality. Default is 4. - You can try -m 5 or -m 6 to explore more (time-consuming) encoding - possibilities. A lower value will result in faster encoding at the expense - of quality. - -Decoding tool: -============== - -There is a decoding sample in examples/dwebp.c which will take -a .webp file and decode it to a PNG image file (amongst other formats). -This is simply to demonstrate the use of the API. You can verify the -file test.webp decodes to exactly the same as test_ref.ppm by using: - - cd examples - ./dwebp test.webp -ppm -o test.ppm - diff test.ppm test_ref.ppm - -The full list of options is available using -h: - -> dwebp -h -Usage: dwebp in_file [options] [-o out_file] - -Decodes the WebP image file to PNG format [Default] -Use following options to convert into alternate image formats: - -pam ......... save the raw RGBA samples as a color PAM - -ppm ......... save the raw RGB samples as a color PPM - -bmp ......... save as uncompressed BMP format - -tiff ........ save as uncompressed TIFF format - -pgm ......... save the raw YUV samples as a grayscale PGM - file with IMC4 layout - -yuv ......... save the raw YUV samples in flat layout - - Other options are: - -version ..... print version number and exit - -nofancy ..... don't use the fancy YUV420 upscaler - -nofilter .... disable in-loop filtering - -nodither .... disable dithering - -dither .. dithering strength (in 0..100) - -alpha_dither use alpha-plane dithering if needed - -mt .......... use multi-threading - -crop ... crop output with the given rectangle - -resize ......... scale the output (*after* any cropping) - -flip ........ flip the output vertically - -alpha ....... only save the alpha plane - -incremental . use incremental decoding (useful for tests) - -h ........... this help message - -v ........... verbose (e.g. print encoding/decoding times) - -quiet ....... quiet mode, don't print anything - -noasm ....... disable all assembly optimizations - -WebP file analysis tool: -======================== - -'webpinfo' can be used to print out the chunk level structure and bitstream -header information of WebP files. It can also check if the files are of valid -WebP format. - -Usage: webpinfo [options] in_files -Note: there could be multiple input files; - options must come before input files. -Options: - -version ........... Print version number and exit. - -quiet ............. Do not show chunk parsing information. - -diag .............. Show parsing error diagnosis. - -summary ........... Show chunk stats summary. - -bitstream_info .... Parse bitstream header. - -Visualization tool: -=================== - -There's a little self-serve visualization tool called 'vwebp' under the -examples/ directory. It uses OpenGL to open a simple drawing window and show -a decoded WebP file. It's not yet integrated in the automake build system, but -you can try to manually compile it using the recommendations below. - -Usage: vwebp in_file [options] - -Decodes the WebP image file and visualize it using OpenGL -Options are: - -version ..... print version number and exit - -noicc ....... don't use the icc profile if present - -nofancy ..... don't use the fancy YUV420 upscaler - -nofilter .... disable in-loop filtering - -dither dithering strength (0..100), default=50 - -noalphadither disable alpha plane dithering - -usebgcolor .. display background color - -mt .......... use multi-threading - -info ........ print info - -h ........... this help message - -Keyboard shortcuts: - 'c' ................ toggle use of color profile - 'b' ................ toggle background color display - 'i' ................ overlay file information - 'd' ................ disable blending & disposal (debug) - 'q' / 'Q' / ESC .... quit - -Building: ---------- - -Prerequisites: -1) OpenGL & OpenGL Utility Toolkit (GLUT) - Linux: - $ sudo apt-get install freeglut3-dev mesa-common-dev - Mac + XCode: - - These libraries should be available in the OpenGL / GLUT frameworks. - Windows: - http://freeglut.sourceforge.net/index.php#download - -2) (Optional) qcms (Quick Color Management System) - i. Download qcms from Mozilla / Chromium: - http://hg.mozilla.org/mozilla-central/file/0e7639e3bdfb/gfx/qcms - http://src.chromium.org/viewvc/chrome/trunk/src/third_party/qcms - ii. Build and archive the source files as libqcms.a / qcms.lib - iii. Update makefile.unix / Makefile.vc - a) Define WEBP_HAVE_QCMS - b) Update include / library paths to reference the qcms directory. - -Build using makefile.unix / Makefile.vc: -$ make -f makefile.unix examples/vwebp -> nmake /f Makefile.vc CFG=release-static \ - ../obj/x64/release-static/bin/vwebp.exe - -Animation creation tool: -======================== -The utility 'img2webp' can turn a sequence of input images (PNG, JPEG, ...) -into an animated WebP file. It offers fine control over duration, encoding -modes, etc. - -Usage: - - img2webp [file-level options] [image files...] [per-frame options...] - -File-level options (only used at the start of compression): - -min_size ............ minimize size - -loop .......... loop count (default: 0, = infinite loop) - -kmax .......... maximum number of frame between key-frames - (0=only keyframes) - -kmin .......... minimum number of frame between key-frames - (0=disable key-frames altogether) - -mixed ............... use mixed lossy/lossless automatic mode - -v ................... verbose mode - -h ................... this help - -version ............. print version number and exit - -Per-frame options (only used for subsequent images input): - -d ............. frame duration in ms (default: 100) - -lossless ........... use lossless mode (default) - -lossy ... ........... use lossy mode - -q ........... quality - -m ............. method to use - -example: img2webp -loop 2 in0.png -lossy in1.jpg - -d 80 in2.tiff -o out.webp - -Note: if a single file name is passed as the argument, the arguments will be -tokenized from this file. The file name must not start with the character '-'. - -Animated GIF conversion: -======================== -Animated GIF files can be converted to WebP files with animation using the -gif2webp utility available under examples/. The files can then be viewed using -vwebp. - -Usage: - gif2webp [options] gif_file -o webp_file -Options: - -h / -help ............. this help - -lossy ................. encode image using lossy compression - -mixed ................. for each frame in the image, pick lossy - or lossless compression heuristically - -q ............. quality factor (0:small..100:big) - -m ............... compression method (0=fast, 6=slowest) - -min_size .............. minimize output size (default:off) - lossless compression by default; can be - combined with -q, -m, -lossy or -mixed - options - -kmin ............ min distance between key frames - -kmax ............ max distance between key frames - -f ............... filter strength (0=off..100) - -metadata ..... comma separated list of metadata to - copy from the input to the output if present - Valid values: all, none, icc, xmp (default) - -loop_compatibility .... use compatibility mode for Chrome - version prior to M62 (inclusive) - -mt .................... use multi-threading if available - - -version ............... print version number and exit - -v ..................... verbose - -quiet ................. don't print anything - -Building: ---------- -With the libgif development files installed, gif2webp can be built using -makefile.unix: -$ make -f makefile.unix examples/gif2webp - -or using autoconf: -$ ./configure --enable-everything -$ make - -Comparison of animated images: -============================== -Test utility anim_diff under examples/ can be used to compare two animated -images (each can be GIF or WebP). - -Usage: anim_diff [options] - -Options: - -dump_frames dump decoded frames in PAM format - -min_psnr ... minimum per-frame PSNR - -raw_comparison ..... if this flag is not used, RGB is - premultiplied before comparison - -max_diff ..... maximum allowed difference per channel - between corresponding pixels in subsequent - frames - -h .................. this help - -version ............ print version number and exit - -Building: ---------- -With the libgif development files and a C++ compiler installed, anim_diff can -be built using makefile.unix: -$ make -f makefile.unix examples/anim_diff - -or using autoconf: -$ ./configure --enable-everything -$ make - -Encoding API: -============= - -The main encoding functions are available in the header src/webp/encode.h -The ready-to-use ones are: -size_t WebPEncodeRGB(const uint8_t* rgb, int width, int height, int stride, - float quality_factor, uint8_t** output); -size_t WebPEncodeBGR(const uint8_t* bgr, int width, int height, int stride, - float quality_factor, uint8_t** output); -size_t WebPEncodeRGBA(const uint8_t* rgba, int width, int height, int stride, - float quality_factor, uint8_t** output); -size_t WebPEncodeBGRA(const uint8_t* bgra, int width, int height, int stride, - float quality_factor, uint8_t** output); - -They will convert raw RGB samples to a WebP data. The only control supplied -is the quality factor. - -There are some variants for using the lossless format: - -size_t WebPEncodeLosslessRGB(const uint8_t* rgb, int width, int height, - int stride, uint8_t** output); -size_t WebPEncodeLosslessBGR(const uint8_t* bgr, int width, int height, - int stride, uint8_t** output); -size_t WebPEncodeLosslessRGBA(const uint8_t* rgba, int width, int height, - int stride, uint8_t** output); -size_t WebPEncodeLosslessBGRA(const uint8_t* bgra, int width, int height, - int stride, uint8_t** output); - -Of course in this case, no quality factor is needed since the compression -occurs without loss of the input values, at the expense of larger output sizes. - -Advanced encoding API: ----------------------- - -A more advanced API is based on the WebPConfig and WebPPicture structures. - -WebPConfig contains the encoding settings and is not tied to a particular -picture. -WebPPicture contains input data, on which some WebPConfig will be used for -compression. -The encoding flow looks like: - --------------------------------------- BEGIN PSEUDO EXAMPLE - -#include - - // Setup a config, starting form a preset and tuning some additional - // parameters - WebPConfig config; - if (!WebPConfigPreset(&config, WEBP_PRESET_PHOTO, quality_factor)) { - return 0; // version error - } - // ... additional tuning - config.sns_strength = 90; - config.filter_sharpness = 6; - config_error = WebPValidateConfig(&config); // not mandatory, but useful - - // Setup the input data - WebPPicture pic; - if (!WebPPictureInit(&pic)) { - return 0; // version error - } - pic.width = width; - pic.height = height; - // allocated picture of dimension width x height - if (!WebPPictureAllocate(&pic)) { - return 0; // memory error - } - // at this point, 'pic' has been initialized as a container, - // and can receive the Y/U/V samples. - // Alternatively, one could use ready-made import functions like - // WebPPictureImportRGB(), which will take care of memory allocation. - // In any case, past this point, one will have to call - // WebPPictureFree(&pic) to reclaim memory. - - // Set up a byte-output write method. WebPMemoryWriter, for instance. - WebPMemoryWriter wrt; - WebPMemoryWriterInit(&wrt); // initialize 'wrt' - - pic.writer = MyFileWriter; - pic.custom_ptr = my_opaque_structure_to_make_MyFileWriter_work; - - // Compress! - int ok = WebPEncode(&config, &pic); // ok = 0 => error occurred! - WebPPictureFree(&pic); // must be called independently of the 'ok' result. - - // output data should have been handled by the writer at that point. - // -> compressed data is the memory buffer described by wrt.mem / wrt.size - - // deallocate the memory used by compressed data - WebPMemoryWriterClear(&wrt); - --------------------------------------- END PSEUDO EXAMPLE - -Decoding API: -============= - -This is mainly just one function to call: - -#include "webp/decode.h" -uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -Please have a look at the file src/webp/decode.h for the details. -There are variants for decoding in BGR/RGBA/ARGB/BGRA order, along with -decoding to raw Y'CbCr samples. One can also decode the image directly into a -pre-allocated buffer. - -To detect a WebP file and gather the picture's dimensions, the function: - int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); -is supplied. No decoding is involved when using it. - -Incremental decoding API: -========================= - -In the case when data is being progressively transmitted, pictures can still -be incrementally decoded using a slightly more complicated API. Decoder state -is stored into an instance of the WebPIDecoder object. This object can be -created with the purpose of decoding either RGB or Y'CbCr samples. -For instance: - - WebPDecBuffer buffer; - WebPInitDecBuffer(&buffer); - buffer.colorspace = MODE_BGR; - ... - WebPIDecoder* idec = WebPINewDecoder(&buffer); - -As data is made progressively available, this incremental-decoder object -can be used to decode the picture further. There are two (mutually exclusive) -ways to pass freshly arrived data: - -either by appending the fresh bytes: - - WebPIAppend(idec, fresh_data, size_of_fresh_data); - -or by just mentioning the new size of the transmitted data: - - WebPIUpdate(idec, buffer, size_of_transmitted_buffer); - -Note that 'buffer' can be modified between each call to WebPIUpdate, in -particular when the buffer is resized to accommodate larger data. - -These functions will return the decoding status: either VP8_STATUS_SUSPENDED if -decoding is not finished yet or VP8_STATUS_OK when decoding is done. Any other -status is an error condition. - -The 'idec' object must always be released (even upon an error condition) by -calling: WebPDelete(idec). - -To retrieve partially decoded picture samples, one must use the corresponding -method: WebPIDecGetRGB or WebPIDecGetYUVA. -It will return the last displayable pixel row. - -Lastly, note that decoding can also be performed into a pre-allocated pixel -buffer. This buffer must be passed when creating a WebPIDecoder, calling -WebPINewRGB() or WebPINewYUVA(). - -Please have a look at the src/webp/decode.h header for further details. - -Advanced Decoding API: -====================== - -WebP decoding supports an advanced API which provides on-the-fly cropping and -rescaling, something of great usefulness on memory-constrained environments like -mobile phones. Basically, the memory usage will scale with the output's size, -not the input's, when one only needs a quick preview or a zoomed in portion of -an otherwise too-large picture. Some CPU can be saved too, incidentally. - --------------------------------------- BEGIN PSEUDO EXAMPLE - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config' options, if needed - config.options.no_fancy_upsampling = 1; - config.options.use_scaling = 1; - config.options.scaled_width = scaledWidth(); - config.options.scaled_height = scaledHeight(); - // etc. - - // D) Specify 'config' output options for specifying output colorspace. - // Optionally the external image decode buffer can also be specified. - config.output.colorspace = MODE_BGRA; - // Optionally, the config.output can be pointed to an external buffer as - // well for decoding the image. This externally supplied memory buffer - // should be big enough to store the decoded picture. - config.output.u.RGBA.rgba = (uint8_t*) memory_buffer; - config.output.u.RGBA.stride = scanline_stride; - config.output.u.RGBA.size = total_size_of_the_memory_buffer; - config.output.is_external_memory = 1; - - // E) Decode the WebP image. There are two variants w.r.t decoding image. - // The first one (E.1) decodes the full image and the second one (E.2) is - // used to incrementally decode the image using small input buffers. - // Any one of these steps can be used to decode the WebP image. - - // E.1) Decode full image. - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E.2) Decode image incrementally. - WebPIDecoder* const idec = WebPIDecode(NULL, NULL, &config); - CHECK(idec != NULL); - while (bytes_remaining > 0) { - VP8StatusCode status = WebPIAppend(idec, input, bytes_read); - if (status == VP8_STATUS_OK || status == VP8_STATUS_SUSPENDED) { - bytes_remaining -= bytes_read; - } else { - break; - } - } - WebPIDelete(idec); - - // F) Decoded image is now in config.output (and config.output.u.RGBA). - // It can be saved, displayed or otherwise processed. - - // G) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); - --------------------------------------- END PSEUDO EXAMPLE - -Bugs: -===== - -Please report all bugs to the issue tracker: - https://bugs.chromium.org/p/webp -Patches welcome! See this page to get started: - http://www.webmproject.org/code/contribute/submitting-patches/ - -Discuss: -======== - -Email: webp-discuss@webmproject.org -Web: http://groups.google.com/a/webmproject.org/group/webp-discuss diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/README.mux b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/README.mux deleted file mode 100644 index 22560fe8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/README.mux +++ /dev/null @@ -1,256 +0,0 @@ - __ __ ____ ____ ____ __ __ _ __ __ - / \\/ \/ _ \/ _ \/ _ \/ \ \/ \___/_ / _\ - \ / __/ _ \ __/ / / (_/ /__ - \__\__/\_____/_____/__/ \__//_/\_____/__/___/v1.1.0 - - -Description: -============ - -WebPMux: set of two libraries 'Mux' and 'Demux' for creation, extraction and -manipulation of an extended format WebP file, which can have features like -color profile, metadata and animation. Reference command-line tools 'webpmux' -and 'vwebp' as well as the WebP container specification -'doc/webp-container-spec.txt' are also provided in this package. - -WebP Mux tool: -============== - -The examples/ directory contains a tool (webpmux) for manipulating WebP -files. The webpmux tool can be used to create an extended format WebP file and -also to extract or strip relevant data from such a file. - -A list of options is available using the -help command line flag: - -> webpmux -help -Usage: webpmux -get GET_OPTIONS INPUT -o OUTPUT - webpmux -set SET_OPTIONS INPUT -o OUTPUT - webpmux -duration DURATION_OPTIONS [-duration ...] - INPUT -o OUTPUT - webpmux -strip STRIP_OPTIONS INPUT -o OUTPUT - webpmux -frame FRAME_OPTIONS [-frame...] [-loop LOOP_COUNT] - [-bgcolor BACKGROUND_COLOR] -o OUTPUT - webpmux -info INPUT - webpmux [-h|-help] - webpmux -version - webpmux argument_file_name - -GET_OPTIONS: - Extract relevant data: - icc get ICC profile - exif get EXIF metadata - xmp get XMP metadata - frame n get nth frame - -SET_OPTIONS: - Set color profile/metadata: - icc file.icc set ICC profile - exif file.exif set EXIF metadata - xmp file.xmp set XMP metadata - where: 'file.icc' contains the ICC profile to be set, - 'file.exif' contains the EXIF metadata to be set - 'file.xmp' contains the XMP metadata to be set - -DURATION_OPTIONS: - Set duration of selected frames: - duration set duration for each frames - duration,frame set duration of a particular frame - duration,start,end set duration of frames in the - interval [start,end]) - where: 'duration' is the duration in milliseconds - 'start' is the start frame index - 'end' is the inclusive end frame index - The special 'end' value '0' means: last frame. - -STRIP_OPTIONS: - Strip color profile/metadata: - icc strip ICC profile - exif strip EXIF metadata - xmp strip XMP metadata - -FRAME_OPTIONS(i): - Create animation: - file_i +di+[xi+yi[+mi[bi]]] - where: 'file_i' is the i'th animation frame (WebP format), - 'di' is the pause duration before next frame, - 'xi','yi' specify the image offset for this frame, - 'mi' is the dispose method for this frame (0 or 1), - 'bi' is the blending method for this frame (+b or -b) - -LOOP_COUNT: - Number of times to repeat the animation. - Valid range is 0 to 65535 [Default: 0 (infinite)]. - -BACKGROUND_COLOR: - Background color of the canvas. - A,R,G,B - where: 'A', 'R', 'G' and 'B' are integers in the range 0 to 255 specifying - the Alpha, Red, Green and Blue component values respectively - [Default: 255,255,255,255] - -INPUT & OUTPUT are in WebP format. - -Note: The nature of EXIF, XMP and ICC data is not checked and is assumed to be -valid. - -Note: if a single file name is passed as the argument, the arguments will be -tokenized from this file. The file name must not start with the character '-'. - -Visualization tool: -=================== - -The examples/ directory also contains a tool (vwebp) for viewing WebP files. -It decodes the image and visualizes it using OpenGL. See the libwebp README -for details on building and running this program. - -Mux API: -======== -The Mux API contains methods for adding data to and reading data from WebP -files. This API currently supports XMP/EXIF metadata, ICC profile and animation. -Other features may be added in subsequent releases. - -Example#1 (pseudo code): Creating a WebPMux object with image data, color -profile and XMP metadata. - - int copy_data = 0; - WebPMux* mux = WebPMuxNew(); - // ... (Prepare image data). - WebPMuxSetImage(mux, &image, copy_data); - // ... (Prepare ICC profile data). - WebPMuxSetChunk(mux, "ICCP", &icc_profile, copy_data); - // ... (Prepare XMP metadata). - WebPMuxSetChunk(mux, "XMP ", &xmp, copy_data); - // Get data from mux in WebP RIFF format. - WebPMuxAssemble(mux, &output_data); - WebPMuxDelete(mux); - // ... (Consume output_data; e.g. write output_data.bytes to file). - WebPDataClear(&output_data); - - -Example#2 (pseudo code): Get image and color profile data from a WebP file. - - int copy_data = 0; - // ... (Read data from file). - WebPMux* mux = WebPMuxCreate(&data, copy_data); - WebPMuxGetFrame(mux, 1, &image); - // ... (Consume image; e.g. call WebPDecode() to decode the data). - WebPMuxGetChunk(mux, "ICCP", &icc_profile); - // ... (Consume icc_profile). - WebPMuxDelete(mux); - free(data); - - -For a detailed Mux API reference, please refer to the header file -(src/webp/mux.h). - -Demux API: -========== -The Demux API enables extraction of images and extended format data from -WebP files. This API currently supports reading of XMP/EXIF metadata, ICC -profile and animated images. Other features may be added in subsequent -releases. - -Code example: Demuxing WebP data to extract all the frames, ICC profile -and EXIF/XMP metadata. - - WebPDemuxer* demux = WebPDemux(&webp_data); - uint32_t width = WebPDemuxGetI(demux, WEBP_FF_CANVAS_WIDTH); - uint32_t height = WebPDemuxGetI(demux, WEBP_FF_CANVAS_HEIGHT); - // ... (Get information about the features present in the WebP file). - uint32_t flags = WebPDemuxGetI(demux, WEBP_FF_FORMAT_FLAGS); - - // ... (Iterate over all frames). - WebPIterator iter; - if (WebPDemuxGetFrame(demux, 1, &iter)) { - do { - // ... (Consume 'iter'; e.g. Decode 'iter.fragment' with WebPDecode(), - // ... and get other frame properties like width, height, offsets etc. - // ... see 'struct WebPIterator' below for more info). - } while (WebPDemuxNextFrame(&iter)); - WebPDemuxReleaseIterator(&iter); - } - - // ... (Extract metadata). - WebPChunkIterator chunk_iter; - if (flags & ICCP_FLAG) WebPDemuxGetChunk(demux, "ICCP", 1, &chunk_iter); - // ... (Consume the ICC profile in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & EXIF_FLAG) WebPDemuxGetChunk(demux, "EXIF", 1, &chunk_iter); - // ... (Consume the EXIF metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & XMP_FLAG) WebPDemuxGetChunk(demux, "XMP ", 1, &chunk_iter); - // ... (Consume the XMP metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - WebPDemuxDelete(demux); - - -For a detailed Demux API reference, please refer to the header file -(src/webp/demux.h). - -AnimEncoder API: -================ -The AnimEncoder API can be used to create animated WebP images. - -Code example: - - WebPAnimEncoderOptions enc_options; - WebPAnimEncoderOptionsInit(&enc_options); - // ... (Tune 'enc_options' as needed). - WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, &enc_options); - while() { - WebPConfig config; - WebPConfigInit(&config); - // ... (Tune 'config' as needed). - WebPAnimEncoderAdd(enc, frame, duration, &config); - } - WebPAnimEncoderAssemble(enc, webp_data); - WebPAnimEncoderDelete(enc); - // ... (Write the 'webp_data' to a file, or re-mux it further). - - -For a detailed AnimEncoder API reference, please refer to the header file -(src/webp/mux.h). - -AnimDecoder API: -================ -This AnimDecoder API allows decoding (possibly) animated WebP images. - -Code Example: - - WebPAnimDecoderOptions dec_options; - WebPAnimDecoderOptionsInit(&dec_options); - // Tune 'dec_options' as needed. - WebPAnimDecoder* dec = WebPAnimDecoderNew(webp_data, &dec_options); - WebPAnimInfo anim_info; - WebPAnimDecoderGetInfo(dec, &anim_info); - for (uint32_t i = 0; i < anim_info.loop_count; ++i) { - while (WebPAnimDecoderHasMoreFrames(dec)) { - uint8_t* buf; - int timestamp; - WebPAnimDecoderGetNext(dec, &buf, ×tamp); - // ... (Render 'buf' based on 'timestamp'). - // ... (Do NOT free 'buf', as it is owned by 'dec'). - } - WebPAnimDecoderReset(dec); - } - const WebPDemuxer* demuxer = WebPAnimDecoderGetDemuxer(dec); - // ... (Do something using 'demuxer'; e.g. get EXIF/XMP/ICC data). - WebPAnimDecoderDelete(dec); - -For a detailed AnimDecoder API reference, please refer to the header file -(src/webp/demux.h). - - -Bugs: -===== - -Please report all bugs to the issue tracker: - https://bugs.chromium.org/p/webp -Patches welcome! See this page to get started: - http://www.webmproject.org/code/contribute/submitting-patches/ - -Discuss: -======== - -Email: webp-discuss@webmproject.org -Web: http://groups.google.com/a/webmproject.org/group/webp-discuss diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/README.webp_js b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/README.webp_js deleted file mode 100644 index e78360c1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/README.webp_js +++ /dev/null @@ -1,80 +0,0 @@ - __ __ ____ ____ ____ __ ____ - / \\/ \ _ \ _ \ _ \ (__)/ __\ - \ / __/ _ \ __/ _) \_ \ - \__\__/_____/____/_/ /____/____/ - -Description: -============ - -This file describes the compilation of libwebp into a JavaScript decoder -using Emscripten and CMake. - - - install the Emscripten SDK following the procedure described at: - https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html - After installation, you should have some global variable positioned to the - location of the SDK. In particular, $EMSCRIPTEN should point to the - top-level directory containing Emscripten tools. - - - make sure the file $EMSCRIPTEN/cmake/Modules/Platform/Emscripten.cmake is - accessible. This is the toolchain file used by CMake to invoke Emscripten. - If $EMSCRIPTEN is unset search for Emscripten.cmake under $EMSDK and set - $EMSCRIPTEN accordingly, for example: - unix-like environments: export EMSCRIPTEN=$EMSDK/fastcomp/emscripten - windows: set EMSCRIPTEN=%EMSDK%\fastcomp\emscripten - - - configure the project 'WEBP_JS' with CMake using: - - cd webp_js && \ - cmake -DWEBP_BUILD_WEBP_JS=ON \ - -DEMSCRIPTEN_GENERATE_BITCODE_STATIC_LIBRARIES=1 \ - -DCMAKE_TOOLCHAIN_FILE=$EMSCRIPTEN/cmake/Modules/Platform/Emscripten.cmake \ - ../ - - - compile webp.js using 'make'. - - - that's it! Upon completion, you should have the webp.js and - webp.js.mem files generated. - -The callable JavaScript function is WebPToSDL(), which decodes a raw WebP -bitstream into a canvas. See webp_js/index.html for a simple usage sample -(see below for instructions). - -Demo HTML page: -=============== - - The HTML page webp_js/index.html requires an HTTP server to serve the WebP - image example. It's easy to just use Python for that. - -cd webp_js && python -m SimpleHTTPServer 8080 - -and then navigate to http://localhost:8080 in your favorite browser. - - -Web-Assembly (WASM) version: -============================ - - CMakeLists.txt is configured to build the WASM version when using - the option WEBP_BUILD_WEBP_JS=ON. The compilation step will assemble - the files 'webp_wasm.js', 'webp_wasm.wasm' in the webp_js/ directory. - See webp_js/index_wasm.html for a simple demo page using the WASM version - of the library. - - You will need a fairly recent version of Emscripten (at least 1.37.8) and of - your WASM-enabled browser to run this version. Consider it very experimental! - -Caveat: -======= - - - First decoding using the library is usually slower, due to just-in-time - compilation. - - - Some versions of llvm produce the following compile error when SSE2 is - enabled. - -"Unsupported: %516 = bitcast <8 x i16> %481 to i128 - LLVM ERROR: BitCast Instruction not yet supported for integer types larger than 64 bits" - - The corresponding Emscripten bug is at: - https://github.com/kripken/emscripten/issues/3788 - - Therefore, SSE2 optimization is currently disabled in CMakeLists.txt. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/autogen.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/autogen.sh deleted file mode 100755 index 8ef9babb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/autogen.sh +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/sh -e -exec autoreconf -fi diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/build.gradle b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/build.gradle deleted file mode 100644 index bb91fac0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/build.gradle +++ /dev/null @@ -1,439 +0,0 @@ -// Define dependencies. -buildscript { - repositories { - maven { - url "https://jcenter.bintray.com" - } - } - dependencies { - classpath "com.android.tools.build:gradle:${ANDROID_GRADLE_PLUGIN_VERSION}" - } -} - -// Define versions in the project. -project.ext { - buildToolsVersion = "${BUILD_TOOLS_VERSION}" - compileSdkVersion = COMPILE_SDK_VERSION.toInteger() -} - -// Core libraries and executables. -apply plugin: "c" -def NEON -model { - buildTypes { - debug - release - } - platforms { - arm { - architecture "arm" - } - arm64 { - architecture "arm64" - } - x86 { - architecture "x86" - } - x64 { - architecture "x86_64" - } - mips32r2 - mips32r5 - mips64r6 - } - toolChains { - gcc(Gcc) { - target("mips32r2") { - cCompiler.args "-mips32r2" - } - target("mips32r5") { - cCompiler.args "-mips32r5" - } - target("mips64r6") { - cCompiler.args "-mips64r6" - } - } - } - binaries { - all { - if (toolChain in Gcc) { - cCompiler.args "-fPIC" - cCompiler.args "-Wall" - cCompiler.define "ANDROID" - cCompiler.define "HAVE_MALLOC_H" - } - // Optimizations. - if (buildType == buildTypes.release) { - if (toolChain in Gcc) { - cCompiler.args "-finline-functions" - cCompiler.args "-ffast-math" - cCompiler.args "-ffunction-sections" - cCompiler.args "-fdata-sections" - } - if (toolChain in Clang) { - cCompiler.args "-frename-registers -s" - } - } - // mips32 fails to build with clang from r14b - // https://bugs.chromium.org/p/webp/issues/detail?id=343 - if (toolChain in Clang) { - if (getTargetPlatform() == "mips") { - cCompiler.args "-no-integrated-as" - } - } - // Check for NEON usage. - if (getTargetPlatform() == "arm") { - NEON = "c.neon" - cCompiler.define "HAVE_CPU_FEATURES_H" - } else { - NEON = "c" - } - - cCompiler.args "-I" + file(".").absolutePath - } - // Link to pthread for shared libraries. - withType(SharedLibraryBinarySpec) { - if (toolChain in Gcc) { - cCompiler.define "HAVE_PTHREAD" - cCompiler.define "WEBP_USE_THREAD" - linker.args "-pthread" - } - } - } - components { - webp(NativeLibrarySpec) { - sources { - c { - source { - srcDir "src/dec" - include "alpha_dec.c" - include "buffer_dec.c" - include "frame_dec.c" - include "idec_dec.c" - include "io_dec.c" - include "quant_dec.c" - include "tree_dec.c" - include "vp8_dec.c" - include "vp8l_dec.c" - include "webp_dec.c" - srcDir "src/dsp" - include "alpha_processing.c" - include "alpha_processing_mips_dsp_r2.c" - include "alpha_processing_neon.$NEON" - include "alpha_processing_sse2.c" - include "alpha_processing_sse41.c" - include "cpu.c" - include "dec.c" - include "dec_clip_tables.c" - include "dec_mips32.c" - include "dec_mips_dsp_r2.c" - include "dec_msa.c" - include "dec_neon.$NEON" - include "dec_sse2.c" - include "dec_sse41.c" - include "filters.c" - include "filters_mips_dsp_r2.c" - include "filters_msa.c" - include "filters_neon.$NEON" - include "filters_sse2.c" - include "lossless.c" - include "lossless_mips_dsp_r2.c" - include "lossless_msa.c" - include "lossless_neon.$NEON" - include "lossless_sse2.c" - include "rescaler.c" - include "rescaler_mips32.c" - include "rescaler_mips_dsp_r2.c" - include "rescaler_msa.c" - include "rescaler_neon.$NEON" - include "rescaler_sse2.c" - include "upsampling.c" - include "upsampling_mips_dsp_r2.c" - include "upsampling_msa.c" - include "upsampling_neon.$NEON" - include "upsampling_sse2.c" - include "upsampling_sse41.c" - include "yuv.c" - include "yuv_mips32.c" - include "yuv_mips_dsp_r2.c" - include "yuv_neon.$NEON" - include "yuv_sse2.c" - include "yuv_sse41.c" - srcDir "src/utils" - include "bit_reader_utils.c" - include "color_cache_utils.c" - include "filters_utils.c" - include "huffman_utils.c" - include "quant_levels_dec_utils.c" - include "random_utils.c" - include "rescaler_utils.c" - include "thread_utils.c" - include "utils.c" - srcDir "src/dsp" - include "cost.c" - include "cost_mips32.c" - include "cost_mips_dsp_r2.c" - include "cost_neon.$NEON" - include "cost_sse2.c" - include "enc.c" - include "enc_mips32.c" - include "enc_mips_dsp_r2.c" - include "enc_msa.c" - include "enc_neon.$NEON" - include "enc_sse2.c" - include "enc_sse41.c" - include "lossless_enc.c" - include "lossless_enc_mips32.c" - include "lossless_enc_mips_dsp_r2.c" - include "lossless_enc_msa.c" - include "lossless_enc_neon.$NEON" - include "lossless_enc_sse2.c" - include "lossless_enc_sse41.c" - include "ssim.c" - include "ssim_sse2.c" - srcDir "src/enc" - include "alpha_enc.c" - include "analysis_enc.c" - include "backward_references_cost_enc.c" - include "backward_references_enc.c" - include "config_enc.c" - include "cost_enc.c" - include "filter_enc.c" - include "frame_enc.c" - include "histogram_enc.c" - include "iterator_enc.c" - include "near_lossless_enc.c" - include "picture_enc.c" - include "picture_csp_enc.c" - include "picture_psnr_enc.c" - include "picture_rescale_enc.c" - include "picture_tools_enc.c" - include "predictor_enc.c" - include "quant_enc.c" - include "syntax_enc.c" - include "token_enc.c" - include "tree_enc.c" - include "vp8l_enc.c" - include "webp_enc.c" - srcDir "src/utils" - include "bit_writer_utils.c" - include "huffman_encode_utils.c" - include "quant_levels_utils.c" - } - exportedHeaders { - srcDir "src" - } - } - } - } - - webpdemux(NativeLibrarySpec) { - sources { - c { - source { - srcDir "src/demux" - include "anim_decode.c" - include "demux.c" - } - } - } - } - - webpmux(NativeLibrarySpec) { - sources { - c { - source { - srcDir "src/mux/" - include "anim_encode.c" - include "muxedit.c" - include "muxinternal.c" - include "muxread.c" - } - } - } - } - - // Executables from examples. - example_util(NativeLibrarySpec) { - binaries { - all { - lib library: "webp", linkage: "static" - } - } - sources { - c { - source { - srcDir "./examples" - include "example_util.c" - } - } - } - } - - imageio_util(NativeLibrarySpec) { - binaries { - all { - lib library: "webp", linkage: "static" - } - } - sources { - c { - source { - srcDir "./imageio" - include "imageio_util.c" - } - } - } - } - - imagedec(NativeLibrarySpec) { - binaries { - all { - lib library: "webpdemux", linkage: "static" - lib library: "webp", linkage: "static" - } - } - sources { - c { - source { - srcDir "./imageio" - include "image_dec.c" - include "jpegdec.c" - include "metadata.c" - include "pngdec.c" - include "pnmdec.c" - include "tiffdec.c" - include "webpdec.c" - } - } - } - } - - imageenc(NativeLibrarySpec) { - binaries { - all { - lib library: "webp", linkage: "static" - lib library: "imageio_util", linkage: "static" - } - } - sources { - c { - source { - srcDir "./imageio" - include "image_enc.c" - } - } - } - } - - cwebp(NativeExecutableSpec) { - binaries { - all { - lib library: "example_util", linkage: "static" - lib library: "imagedec", linkage: "static" - lib library: "imageio_util", linkage: "static" - lib library: "webpdemux", linkage: "static" - lib library: "webp", linkage: "static" - } - } - sources { - c { - source { - srcDir "./examples" - include "cwebp.c" - } - } - } - } - - dwebp(NativeExecutableSpec) { - binaries { - all { - lib library: "example_util", linkage: "static" - lib library: "imagedec", linkage: "static" - lib library: "imageenc", linkage: "static" - lib library: "imageio_util", linkage: "static" - lib library: "webpdemux", linkage: "static" - lib library: "webp" - } - } - sources { - c { - source { - srcDir "./examples" - include "dwebp.c" - } - } - } - } - - webpmux_example(NativeExecutableSpec) { - binaries { - all { - lib library: "example_util", linkage: "static" - lib library: "imageio_util", linkage: "static" - lib library: "webpmux", linkage: "static" - lib library: "webp" - } - } - sources { - c { - source { - srcDir "./examples" - include "webpmux.c" - } - } - } - } - - img2webp_example(NativeExecutableSpec) { - binaries { - all { - lib library: "example_util", linkage: "static" - lib library: "imagedec", linkage: "static" - lib library: "imageio_util", linkage: "static" - lib library: "webpmux", linkage: "static" - lib library: "webpdemux", linkage: "static" - lib library: "webp" - } - } - sources { - c { - source { - srcDir "./examples" - include "img2webp.c" - } - } - } - } - - webpinfo_example(NativeExecutableSpec) { - binaries { - all { - lib library: "example_util", linkage: "static" - lib library: "imageio_util", linkage: "static" - lib library: "webp" - } - } - sources { - c { - source { - srcDir "./examples" - include "webpinfo.c" - } - } - } - } - } - tasks { - // Task to test all possible configurations. - buildAllExecutables(Task) { - dependsOn $.binaries.findAll { it.buildable } - } - } -} - -// Task to generate the wrapper. -task wrapper(type: Wrapper) { - gradleVersion = '2.13' -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/WebPConfig.cmake.in b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/WebPConfig.cmake.in deleted file mode 100644 index bb221644..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/WebPConfig.cmake.in +++ /dev/null @@ -1,11 +0,0 @@ -set(WebP_VERSION @PROJECT_VERSION@) -set(WEBP_VERSION ${WebP_VERSION}) - -@PACKAGE_INIT@ - -include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") - -set(WebP_INCLUDE_DIRS "webp") -set(WEBP_INCLUDE_DIRS ${WebP_INCLUDE_DIRS}) -set(WebP_LIBRARIES "@INSTALLED_LIBRARIES@") -set(WEBP_LIBRARIES "${WebP_LIBRARIES}") diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/config.h.cmake b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/config.h.cmake deleted file mode 100644 index 0aade0c0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/config.h.cmake +++ /dev/null @@ -1,141 +0,0 @@ -# Generate the config.h to compile with specific intrinsics / libs. - -## Check for compiler options. -include(CheckCSourceCompiles) -check_c_source_compiles(" - int main(void) { - (void)__builtin_bswap16(0); - return 0; - } - " - HAVE_BUILTIN_BSWAP16 -) -check_c_source_compiles(" - int main(void) { - (void)__builtin_bswap32(0); - return 0; - } - " - HAVE_BUILTIN_BSWAP32 -) -check_c_source_compiles(" - int main(void) { - (void)__builtin_bswap64(0); - return 0; - } - " - HAVE_BUILTIN_BSWAP64 -) - -## Check for libraries. -find_package(Threads) -if(Threads_FOUND) - if(CMAKE_USE_PTHREADS_INIT) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread") - endif() - foreach(PTHREAD_TEST HAVE_PTHREAD_PRIO_INHERIT PTHREAD_CREATE_UNDETACHED) - check_c_source_compiles(" - #include - int main (void) { - int attr = ${PTHREAD_TEST}; - return attr; - } - " ${PTHREAD_TEST} - ) - endforeach() - list(APPEND WEBP_DEP_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) -endif() -set(WEBP_USE_THREAD ${Threads_FOUND}) - -# TODO: this seems unused, check with autotools. -set(LT_OBJDIR ".libs/") - -# Only useful for vwebp, so useless for now. -# find_package(OpenGL) -# set(WEBP_HAVE_GL ${OPENGL_FOUND}) -# set(WEBP_DEP_INCLUDE_DIRS ${WEBP_DEP_INCLUDE_DIRS} ${OPENGL_INCLUDE_DIRS}) -# set(WEBP_DEP_LIBRARIES ${WEBP_DEP_LIBRARIES} ${OPENGL_LIBRARIES}) - -# Find the standard C math library. -find_library(MATH_LIBRARY NAMES m) -if(MATH_LIBRARY) - list(APPEND WEBP_DEP_LIBRARIES ${MATH_LIBRARY}) -endif() - -# Find the standard image libraries. -set(WEBP_DEP_IMG_LIBRARIES) -set(WEBP_DEP_IMG_INCLUDE_DIRS) -foreach(I_LIB PNG JPEG TIFF GIF) - find_package(${I_LIB}) - set(WEBP_HAVE_${I_LIB} ${${I_LIB}_FOUND}) - if(${I_LIB}_FOUND) - list(APPEND WEBP_DEP_IMG_LIBRARIES ${${I_LIB}_LIBRARIES}) - list(APPEND WEBP_DEP_IMG_INCLUDE_DIRS ${${I_LIB}_INCLUDE_DIRS}) - endif() -endforeach() - -## Check for specific headers. -include(CheckIncludeFiles) -check_include_files("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS) -check_include_files(dlfcn.h HAVE_DLFCN_H) -check_include_files(GLUT/glut.h HAVE_GLUT_GLUT_H) -check_include_files(GL/glut.h HAVE_GL_GLUT_H) -check_include_files(inttypes.h HAVE_INTTYPES_H) -check_include_files(memory.h HAVE_MEMORY_H) -check_include_files(OpenGL/glut.h HAVE_OPENGL_GLUT_H) -check_include_files(shlwapi.h HAVE_SHLWAPI_H) -check_include_files(stdint.h HAVE_STDINT_H) -check_include_files(stdlib.h HAVE_STDLIB_H) -check_include_files(strings.h HAVE_STRINGS_H) -check_include_files(string.h HAVE_STRING_H) -check_include_files(sys/stat.h HAVE_SYS_STAT_H) -check_include_files(sys/types.h HAVE_SYS_TYPES_H) -check_include_files(unistd.h HAVE_UNISTD_H) -check_include_files(wincodec.h HAVE_WINCODEC_H) -check_include_files(windows.h HAVE_WINDOWS_H) - -# Windows specifics -if(HAVE_WINCODEC_H) - list(APPEND WEBP_DEP_LIBRARIES shlwapi ole32 windowscodecs) -endif() - -## Check for SIMD extensions. -include(${CMAKE_CURRENT_LIST_DIR}/cpu.cmake) - -## Define extra info. -set(PACKAGE ${PROJECT_NAME}) -set(PACKAGE_NAME ${PROJECT_NAME}) - -# Read from configure.ac. -file(READ ${CMAKE_CURRENT_SOURCE_DIR}/configure.ac CONFIGURE_AC) -string(REGEX MATCHALL "\\[([0-9a-z\\.:/]*)\\]" - CONFIGURE_AC_PACKAGE_INFO ${CONFIGURE_AC} -) -function(strip_bracket VAR) - string(LENGTH ${${VAR}} TMP_LEN) - math(EXPR TMP_LEN ${TMP_LEN}-2) - string(SUBSTRING ${${VAR}} 1 ${TMP_LEN} TMP_SUB) - set(${VAR} ${TMP_SUB} PARENT_SCOPE) -endfunction() - -list(GET CONFIGURE_AC_PACKAGE_INFO 1 PACKAGE_VERSION) -strip_bracket(PACKAGE_VERSION) -list(GET CONFIGURE_AC_PACKAGE_INFO 2 PACKAGE_BUGREPORT) -strip_bracket(PACKAGE_BUGREPORT) -list(GET CONFIGURE_AC_PACKAGE_INFO 3 PACKAGE_URL) -strip_bracket(PACKAGE_URL) - -# Build more info. -set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") -set(PACKAGE_TARNAME ${PACKAGE_NAME}) -set(VERSION ${PACKAGE_VERSION}) - -## Generate the config.h header. -configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.in - ${CMAKE_CURRENT_BINARY_DIR}/include/webp/config.h) -add_definitions(-DHAVE_CONFIG_H) -# The webp folder is included as we reference config.h as -# ../webp/config.h or webp/config.h -include_directories(${CMAKE_CURRENT_BINARY_DIR}/include - ${CMAKE_CURRENT_BINARY_DIR}/include/webp -) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/config.h.in b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/config.h.in deleted file mode 100644 index 547aa4c8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/config.h.in +++ /dev/null @@ -1,153 +0,0 @@ -/* Adapted from the autotools src/webp/config.h.in. */ - -/* Define if building universal (internal helper macro) */ -/* TODO: handle properly in CMake */ -#cmakedefine AC_APPLE_UNIVERSAL_BUILD 1 - -/* Set to 1 if __builtin_bswap16 is available */ -#cmakedefine HAVE_BUILTIN_BSWAP16 1 - -/* Set to 1 if __builtin_bswap32 is available */ -#cmakedefine HAVE_BUILTIN_BSWAP32 1 - -/* Set to 1 if __builtin_bswap64 is available */ -#cmakedefine HAVE_BUILTIN_BSWAP64 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_CPU_FEATURES_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_DLFCN_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_GLUT_GLUT_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_GL_GLUT_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_MEMORY_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_OPENGL_GLUT_H 1 - -/* Have PTHREAD_PRIO_INHERIT. */ -#cmakedefine HAVE_PTHREAD_PRIO_INHERIT @HAVE_PTHREAD_PRIO_INHERIT@ - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SHLWAPI_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_UNISTD_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_WINCODEC_H 1 - -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_WINDOWS_H 1 - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -/* TODO: handle properly in CMake */ -#cmakedefine LT_OBJDIR "@LT_OBJDIR@" - -/* Name of package */ -#cmakedefine PACKAGE "@PROJECT_NAME@" - -/* Define to the address where bug reports for this package should be sent. */ -#cmakedefine PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" - -/* Define to the full name of this package. */ -#cmakedefine PACKAGE_NAME "@PACKAGE_NAME@" - -/* Define to the full name and version of this package. */ -#cmakedefine PACKAGE_STRING "@PACKAGE_STRING@" - -/* Define to the one symbol short name of this package. */ -#cmakedefine PACKAGE_TARNAME "@PACKAGE_TARNAME@" - -/* Define to the home page for this package. */ -#cmakedefine PACKAGE_URL "@PACKAGE_URL@" - -/* Define to the version of this package. */ -#cmakedefine PACKAGE_VERSION "@PACKAGE_VERSION@" - -/* Define to necessary symbol if this constant uses a non-standard name on - your system. */ -#cmakedefine PTHREAD_CREATE_JOINABLE 1 - -/* Define to 1 if you have the ANSI C header files. */ -#cmakedefine STDC_HEADERS 1 - -/* Version number of package */ -#cmakedefine VERSION "@VERSION@" - -/* Set to 1 if GIF library is installed */ -#cmakedefine WEBP_HAVE_GIF 1 - -/* Set to 1 if OpenGL is supported */ -#cmakedefine WEBP_HAVE_GL 1 - -/* Set to 1 if JPEG library is installed */ -#cmakedefine WEBP_HAVE_JPEG 1 - -/* Set to 1 if NEON is supported */ -#cmakedefine WEBP_HAVE_NEON - -/* Set to 1 if runtime detection of NEON is enabled */ -/* TODO: handle properly in CMake */ -#cmakedefine WEBP_HAVE_NEON_RTCD - -/* Set to 1 if PNG library is installed */ -#cmakedefine WEBP_HAVE_PNG 1 - -/* Set to 1 if SDL library is installed */ -#cmakedefine WEBP_HAVE_SDL 1 - -/* Set to 1 if SSE2 is supported */ -#cmakedefine WEBP_HAVE_SSE2 1 - -/* Set to 1 if SSE4.1 is supported */ -#cmakedefine WEBP_HAVE_SSE41 1 - -/* Set to 1 if TIFF library is installed */ -#cmakedefine WEBP_HAVE_TIFF 1 - -/* Enable near lossless encoding */ -#cmakedefine WEBP_NEAR_LOSSLESS 1 - -/* Undefine this to disable thread support. */ -#cmakedefine WEBP_USE_THREAD 1 - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/cpu.cmake b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/cpu.cmake deleted file mode 100644 index da9a42a4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/cpu.cmake +++ /dev/null @@ -1,136 +0,0 @@ -# Check for SIMD extensions. -include(CMakePushCheckState) - -function(webp_check_compiler_flag WEBP_SIMD_FLAG ENABLE_SIMD) - if(NOT ENABLE_SIMD) - message(STATUS "Disabling ${WEBP_SIMD_FLAG} optimization.") - set(WEBP_HAVE_${WEBP_SIMD_FLAG} 0 PARENT_SCOPE) - return() - endif() - unset(WEBP_HAVE_FLAG_${WEBP_SIMD_FLAG} CACHE) - cmake_push_check_state() - set(CMAKE_REQUIRED_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}) - check_c_source_compiles(" - #include \"${CMAKE_CURRENT_LIST_DIR}/../src/dsp/dsp.h\" - int main(void) { - #if !defined(WEBP_USE_${WEBP_SIMD_FLAG}) - this is not valid code - #endif - return 0; - } - " WEBP_HAVE_FLAG_${WEBP_SIMD_FLAG}) - cmake_pop_check_state() - if(WEBP_HAVE_FLAG_${WEBP_SIMD_FLAG}) - set(WEBP_HAVE_${WEBP_SIMD_FLAG} 1 PARENT_SCOPE) - else() - set(WEBP_HAVE_${WEBP_SIMD_FLAG} 0 PARENT_SCOPE) - endif() -endfunction() - -# those are included in the names of WEBP_USE_* in c++ code. -set(WEBP_SIMD_FLAGS "SSE41;SSE2;MIPS32;MIPS_DSP_R2;NEON;MSA") -set(WEBP_SIMD_FILE_EXTENSIONS - "_sse41.c;_sse2.c;_mips32.c;_mips_dsp_r2.c;_neon.c;_msa.c") -if(MSVC) - # MSVC does not have a SSE4 flag but AVX support implies SSE4 support. - set(SIMD_ENABLE_FLAGS "/arch:AVX;/arch:SSE2;;;;") - set(SIMD_DISABLE_FLAGS) -else() - set(SIMD_ENABLE_FLAGS - "-msse4.1;-msse2;-mips32;-mdspr2;-mfpu=neon;-mmsa") - set(SIMD_DISABLE_FLAGS - "-mno-sse4.1;-mno-sse2;;-mno-dspr2;;-mno-msa") -endif() - -set(WEBP_SIMD_FILES_TO_NOT_INCLUDE) -set(WEBP_SIMD_FILES_TO_INCLUDE) -set(WEBP_SIMD_FLAGS_TO_INCLUDE) - -if(${ANDROID}) - if(${ANDROID_ABI} STREQUAL "armeabi-v7a") - # This is because Android studio uses the configuration "-march=armv7-a - # -mfloat-abi=softfp -mfpu=vfpv3-d16" that does not trigger neon - # optimizations but should (as this configuration does not exist anymore). - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=neon ") - endif() -endif() - -list(LENGTH WEBP_SIMD_FLAGS WEBP_SIMD_FLAGS_LENGTH) -math(EXPR WEBP_SIMD_FLAGS_RANGE "${WEBP_SIMD_FLAGS_LENGTH} - 1") -unset(HIGHEST_SSE_FLAG) - -foreach(I_SIMD RANGE ${WEBP_SIMD_FLAGS_RANGE}) - list(GET WEBP_SIMD_FLAGS ${I_SIMD} WEBP_SIMD_FLAG) - - # First try with no extra flag added as the compiler might have default flags - # (especially on Android). - unset(WEBP_HAVE_${WEBP_SIMD_FLAG} CACHE) - cmake_push_check_state() - set(CMAKE_REQUIRED_FLAGS) - webp_check_compiler_flag(${WEBP_SIMD_FLAG} ${WEBP_ENABLE_SIMD}) - if(NOT WEBP_HAVE_${WEBP_SIMD_FLAG}) - list(GET SIMD_ENABLE_FLAGS ${I_SIMD} SIMD_COMPILE_FLAG) - set(CMAKE_REQUIRED_FLAGS ${SIMD_COMPILE_FLAG}) - webp_check_compiler_flag(${WEBP_SIMD_FLAG} ${WEBP_ENABLE_SIMD}) - else() - if(MSVC) - list(GET SIMD_ENABLE_FLAGS ${I_SIMD} SIMD_COMPILE_FLAG) - else() - set(SIMD_COMPILE_FLAG " ") - endif() - endif() - # Check which files we should include or not. - list(GET WEBP_SIMD_FILE_EXTENSIONS ${I_SIMD} WEBP_SIMD_FILE_EXTENSION) - file(GLOB SIMD_FILES "${CMAKE_CURRENT_LIST_DIR}/../" - "src/dsp/*${WEBP_SIMD_FILE_EXTENSION}") - if(WEBP_HAVE_${WEBP_SIMD_FLAG}) - if(${I_SIMD} LESS 2 AND NOT HIGHEST_SSE_FLAG) - set(HIGHEST_SSE_FLAG ${SIMD_COMPILE_FLAG}) - endif() - # Memorize the file and flags. - foreach(FILE ${SIMD_FILES}) - list(APPEND WEBP_SIMD_FILES_TO_INCLUDE ${FILE}) - if(${I_SIMD} LESS 2) - list(APPEND WEBP_SIMD_FLAGS_TO_INCLUDE ${HIGHEST_SSE_FLAG}) - else() - list(APPEND WEBP_SIMD_FLAGS_TO_INCLUDE ${SIMD_COMPILE_FLAG}) - endif() - endforeach() - else() - # Remove the file from the list. - foreach(FILE ${SIMD_FILES}) - list(APPEND WEBP_SIMD_FILES_NOT_TO_INCLUDE ${FILE}) - endforeach() - # Explicitly disable SIMD. - if(SIMD_DISABLE_FLAGS) - list(GET SIMD_DISABLE_FLAGS ${I_SIMD} SIMD_COMPILE_FLAG) - include(CheckCCompilerFlag) - if(SIMD_COMPILE_FLAG) - unset(HAS_COMPILE_FLAG CACHE) - check_c_compiler_flag(${SIMD_COMPILE_FLAG} HAS_COMPILE_FLAG) - if(HAS_COMPILE_FLAG) - # Do one more check for Clang to circumvent CMake issue 13194. - if(COMMAND check_compiler_flag_common_patterns) - # Only in CMake 3.0 and above. - check_compiler_flag_common_patterns(COMMON_PATTERNS) - else() - set(COMMON_PATTERNS) - endif() - set(CMAKE_REQUIRED_DEFINITIONS ${SIMD_COMPILE_FLAG}) - check_c_source_compiles("int main(void) {return 0;}" - FLAG_${SIMD_COMPILE_FLAG} - FAIL_REGEX - "warning: argument unused during compilation:" - ${COMMON_PATTERNS}) - if(NOT FLAG_${SIMD_COMPILE_FLAG}) - unset(HAS_COMPILE_FLAG CACHE) - endif() - endif() - if(HAS_COMPILE_FLAG) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SIMD_COMPILE_FLAG}") - endif() - endif() - endif() - endif() - cmake_pop_check_state() -endforeach() diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/deps.cmake b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/deps.cmake deleted file mode 100644 index f19c0378..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/cmake/deps.cmake +++ /dev/null @@ -1,170 +0,0 @@ -# Generate the config.h to compile with specific intrinsics / libs. - -# Check for compiler options. -include(CheckCSourceCompiles) -check_c_source_compiles(" - int main(void) { - (void)__builtin_bswap16(0); - return 0; - } - " HAVE_BUILTIN_BSWAP16) -check_c_source_compiles(" - int main(void) { - (void)__builtin_bswap32(0); - return 0; - } - " HAVE_BUILTIN_BSWAP32) -check_c_source_compiles(" - int main(void) { - (void)__builtin_bswap64(0); - return 0; - } - " HAVE_BUILTIN_BSWAP64) - -# Check for libraries. -find_package(Threads) -if(Threads_FOUND) - if(CMAKE_USE_PTHREADS_INIT) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread") - endif() - foreach(PTHREAD_TEST HAVE_PTHREAD_PRIO_INHERIT PTHREAD_CREATE_UNDETACHED) - check_c_source_compiles(" - #include - int main (void) { - int attr = ${PTHREAD_TEST}; - return attr; - } - " ${PTHREAD_TEST}) - endforeach() - list(APPEND WEBP_DEP_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) -endif() -set(WEBP_USE_THREAD ${Threads_FOUND}) - -# TODO: this seems unused, check with autotools. -set(LT_OBJDIR ".libs/") - -# Only useful for vwebp, so useless for now. -find_package(OpenGL) -set(WEBP_HAVE_GL ${OPENGL_FOUND}) - -# Check if we need to link to the C math library. We do not look for it as it is -# not found when cross-compiling, while it is here. -check_c_source_compiles(" - #include - int main(int argc, char** argv) { - return (int)pow(argc, 2.5); - } - " HAVE_MATH_LIBRARY) -if(NOT HAVE_MATH_LIBRARY) - message(STATUS "Adding -lm flag.") - list(APPEND WEBP_DEP_LIBRARIES m) -endif() - -# Find the standard image libraries. -set(WEBP_DEP_IMG_LIBRARIES) -set(WEBP_DEP_IMG_INCLUDE_DIRS) -foreach(I_LIB PNG JPEG TIFF) - find_package(${I_LIB}) - set(WEBP_HAVE_${I_LIB} ${${I_LIB}_FOUND}) - if(${I_LIB}_FOUND) - list(APPEND WEBP_DEP_IMG_LIBRARIES ${${I_LIB}_LIBRARIES}) - list(APPEND WEBP_DEP_IMG_INCLUDE_DIRS ${${I_LIB}_INCLUDE_DIR} - ${${I_LIB}_INCLUDE_DIRS}) - endif() -endforeach() -if(WEBP_DEP_IMG_INCLUDE_DIRS) - list(REMOVE_DUPLICATES WEBP_DEP_IMG_INCLUDE_DIRS) -endif() - -# GIF detection, gifdec isn't part of the imageio lib. -include(CMakePushCheckState) -set(WEBP_DEP_GIF_LIBRARIES) -set(WEBP_DEP_GIF_INCLUDE_DIRS) -find_package(GIF) -set(WEBP_HAVE_GIF ${GIF_FOUND}) -if(GIF_FOUND) - # GIF find_package only locates the header and library, it doesn't fail - # compile tests when detecting the version, but falls back to 3 (as of at - # least cmake 3.7.2). Make sure the library links to avoid incorrect detection - # when cross compiling. - cmake_push_check_state() - set(CMAKE_REQUIRED_LIBRARIES ${GIF_LIBRARIES}) - set(CMAKE_REQUIRED_INCLUDES ${GIF_INCLUDE_DIR}) - check_c_source_compiles(" - #include - int main(void) { - (void)DGifOpenFileHandle; - return 0; - } - " GIF_COMPILES) - cmake_pop_check_state() - if(GIF_COMPILES) - list(APPEND WEBP_DEP_GIF_LIBRARIES ${GIF_LIBRARIES}) - list(APPEND WEBP_DEP_GIF_INCLUDE_DIRS ${GIF_INCLUDE_DIR}) - else() - unset(GIF_FOUND) - endif() -endif() - -# Check for specific headers. -include(CheckIncludeFiles) -check_include_files("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS) -check_include_files(dlfcn.h HAVE_DLFCN_H) -check_include_files(GLUT/glut.h HAVE_GLUT_GLUT_H) -check_include_files(GL/glut.h HAVE_GL_GLUT_H) -check_include_files(inttypes.h HAVE_INTTYPES_H) -check_include_files(memory.h HAVE_MEMORY_H) -check_include_files(OpenGL/glut.h HAVE_OPENGL_GLUT_H) -check_include_files(shlwapi.h HAVE_SHLWAPI_H) -check_include_files(stdint.h HAVE_STDINT_H) -check_include_files(stdlib.h HAVE_STDLIB_H) -check_include_files(strings.h HAVE_STRINGS_H) -check_include_files(string.h HAVE_STRING_H) -check_include_files(sys/stat.h HAVE_SYS_STAT_H) -check_include_files(sys/types.h HAVE_SYS_TYPES_H) -check_include_files(unistd.h HAVE_UNISTD_H) -check_include_files(wincodec.h HAVE_WINCODEC_H) -check_include_files(windows.h HAVE_WINDOWS_H) - -# Windows specifics -if(HAVE_WINCODEC_H) - list(APPEND WEBP_DEP_LIBRARIES - shlwapi - ole32 - windowscodecs) -endif() - -# Check for SIMD extensions. -include(${CMAKE_CURRENT_LIST_DIR}/cpu.cmake) - -# Define extra info. -set(PACKAGE ${PROJECT_NAME}) -set(PACKAGE_NAME ${PROJECT_NAME}) - -# Read from configure.ac. -file(READ ${CMAKE_CURRENT_SOURCE_DIR}/configure.ac CONFIGURE_AC) -string(REGEX MATCHALL - "\\[([0-9a-z\\.:/]*)\\]" - CONFIGURE_AC_PACKAGE_INFO - ${CONFIGURE_AC}) -function(strip_bracket VAR) - string(LENGTH ${${VAR}} TMP_LEN) - math(EXPR TMP_LEN ${TMP_LEN}-2) - string(SUBSTRING ${${VAR}} - 1 - ${TMP_LEN} - TMP_SUB) - set(${VAR} ${TMP_SUB} PARENT_SCOPE) -endfunction() - -list(GET CONFIGURE_AC_PACKAGE_INFO 1 PACKAGE_VERSION) -strip_bracket(PACKAGE_VERSION) -list(GET CONFIGURE_AC_PACKAGE_INFO 2 PACKAGE_BUGREPORT) -strip_bracket(PACKAGE_BUGREPORT) -list(GET CONFIGURE_AC_PACKAGE_INFO 3 PACKAGE_URL) -strip_bracket(PACKAGE_URL) - -# Build more info. -set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") -set(PACKAGE_TARNAME ${PACKAGE_NAME}) -set(VERSION ${PACKAGE_VERSION}) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/codereview.settings b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/codereview.settings deleted file mode 100644 index ccba2eee..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/codereview.settings +++ /dev/null @@ -1,4 +0,0 @@ -# This file is used by git cl to get repository specific information. -GERRIT_HOST: True -CODE_REVIEW_SERVER: chromium-review.googlesource.com -GERRIT_SQUASH_UPLOADS: False diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/configure.ac b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/configure.ac deleted file mode 100644 index 5481760a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/configure.ac +++ /dev/null @@ -1,777 +0,0 @@ -AC_INIT([libwebp], [1.1.0], - [https://bugs.chromium.org/p/webp],, - [http://developers.google.com/speed/webp]) -AC_CANONICAL_HOST -AC_PREREQ([2.60]) -AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) - -dnl === automake >= 1.12 requires this for 'unusual archivers' support. -dnl === it must occur before LT_INIT (AC_PROG_LIBTOOL). -m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) - -AC_PROG_LIBTOOL -AC_PROG_SED -AM_PROG_CC_C_O - -dnl === Enable less verbose output when building. -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -dnl == test endianness -AC_C_BIGENDIAN - -dnl === SET_IF_UNSET(shell_var, value) -dnl === Set the shell variable 'shell_var' to 'value' if it is unset. -AC_DEFUN([SET_IF_UNSET], [test "${$1+set}" = "set" || $1=$2]) - -AC_ARG_ENABLE([everything], - AS_HELP_STRING([--enable-everything], - [Enable all optional targets. These can still be - disabled with --disable-target]), - [SET_IF_UNSET([enable_libwebpdecoder], [$enableval]) - SET_IF_UNSET([enable_libwebpdemux], [$enableval]) - SET_IF_UNSET([enable_libwebpextras], [$enableval]) - SET_IF_UNSET([enable_libwebpmux], [$enableval])]) - -dnl === If --enable-asserts is not defined, define NDEBUG - -AC_MSG_CHECKING(whether asserts are enabled) -AC_ARG_ENABLE([asserts], - AS_HELP_STRING([--enable-asserts], - [Enable assert checks])) -if test "x${enable_asserts-no}" = "xno"; then - AM_CPPFLAGS="${AM_CPPFLAGS} -DNDEBUG" -fi -AC_MSG_RESULT(${enable_asserts-no}) -AC_SUBST([AM_CPPFLAGS]) - -AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=DIR], - [Path to the pkgconfig directory @<:@LIBDIR/pkgconfig@:>@]), - [pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig']) -AC_SUBST([pkgconfigdir]) - -dnl === TEST_AND_ADD_CFLAGS(var, flag) -dnl === Checks whether $CC supports 'flag' and adds it to 'var' -dnl === on success. -AC_DEFUN([TEST_AND_ADD_CFLAGS], - [SAVED_CFLAGS="$CFLAGS" - CFLAGS="-Werror $2" - AC_MSG_CHECKING([whether $CC supports $2]) - dnl Note AC_LANG_PROGRAM([]) uses an old-style main definition. - AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(void) { return 0; }])], - [AC_MSG_RESULT([yes])] - dnl Simply append the variable avoiding a - dnl compatibility ifdef for AS_VAR_APPEND as this - dnl variable shouldn't grow all that large. - [$1="${$1} $2"], - [AC_MSG_RESULT([no])]) - CFLAGS="$SAVED_CFLAGS"]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-fvisibility=hidden]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wall]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wconstant-conversion]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wdeclaration-after-statement]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wextra]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wfloat-conversion]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wformat -Wformat-nonliteral]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wformat -Wformat-security]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wmissing-declarations]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wmissing-prototypes]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wold-style-definition]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wparentheses-equality]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wshadow]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wshorten-64-to-32]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wundef]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunreachable-code]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunused-but-set-variable]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wunused]) -TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wvla]) -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62040 -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61622 -AS_IF([test "$GCC" = "yes" ], [ - gcc_version=`$CC -dumpversion` - gcc_wht_bug="" - case "$host_cpu" in - aarch64|arm64) - case "$gcc_version" in - 4.9|4.9.0|4.9.1) gcc_wht_bug=yes ;; - esac - esac - AS_IF([test "$gcc_wht_bug" = "yes"], [ - TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-frename-registers])])]) -# Use -flax-vector-conversions, if available, when building intrinsics with -# older versions of gcc. The flag appeared in 4.3.x, but if backported, and -# -fno-lax-vector-conversions is set, errors may occur with the intrinsics -# files along with the older system includes, e.g., emmintrin.h. -# Originally observed with cc (GCC) 4.2.1 20070831 patched [FreeBSD] (9.3). -# https://bugs.chromium.org/p/webp/issues/detail?id=274 -AS_IF([test "$GCC" = "yes" ], [ - case "$host_cpu" in - amd64|i?86|x86_64) - AC_COMPILE_IFELSE( - dnl only check for -flax-vector-conversions with older gcc, skip - dnl clang as it reports itself as 4.2.1, but the flag isn't needed. - [AC_LANG_SOURCE([#if !defined(__clang__) && defined(__GNUC__) && \ - ((__GNUC__ << 8) | __GNUC_MINOR__) < 0x403 - #error old gcc - #endif - int main(void) { return 0; } - ])],, - [TEST_AND_ADD_CFLAGS([INTRINSICS_CFLAGS], - [-flax-vector-conversions])]) - ;; - esac]) -AC_SUBST([AM_CFLAGS]) - -dnl === Check for machine specific flags -AC_ARG_ENABLE([sse4.1], - AS_HELP_STRING([--disable-sse4.1], - [Disable detection of SSE4.1 support - @<:@default=auto@:>@])) - -AS_IF([test "x$enable_sse4_1" != "xno" -a "x$enable_sse2" != "xno"], [ - SSE41_FLAGS="$INTRINSICS_CFLAGS $SSE41_FLAGS" - TEST_AND_ADD_CFLAGS([SSE41_FLAGS], [-msse4.1]) - AS_IF([test -n "$SSE41_FLAGS"], [ - SAVED_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS $SSE41_FLAGS" - AC_CHECK_HEADER([smmintrin.h], - [AC_DEFINE(WEBP_HAVE_SSE41, [1], - [Set to 1 if SSE4.1 is supported])], - [SSE41_FLAGS=""]) - CFLAGS=$SAVED_CFLAGS]) - AC_SUBST([SSE41_FLAGS])]) - -AC_ARG_ENABLE([sse2], - AS_HELP_STRING([--disable-sse2], - [Disable detection of SSE2 support - @<:@default=auto@:>@])) - -AS_IF([test "x$enable_sse2" != "xno"], [ - SSE2_FLAGS="$INTRINSICS_CFLAGS $SSE2_FLAGS" - TEST_AND_ADD_CFLAGS([SSE2_FLAGS], [-msse2]) - AS_IF([test -n "$SSE2_FLAGS"], [ - SAVED_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS $SSE2_FLAGS" - AC_CHECK_HEADER([emmintrin.h], - [AC_DEFINE(WEBP_HAVE_SSE2, [1], - [Set to 1 if SSE2 is supported])], - [SSE2_FLAGS=""]) - CFLAGS=$SAVED_CFLAGS]) - AC_SUBST([SSE2_FLAGS])]) - -AC_ARG_ENABLE([neon], - AS_HELP_STRING([--disable-neon], - [Disable detection of NEON support - @<:@default=auto@:>@])) - -AC_ARG_ENABLE([neon_rtcd], - AS_HELP_STRING([--disable-neon-rtcd], - [Disable runtime detection of NEON support via - /proc/cpuinfo on Linux hosts - @<:@default=auto@:>@])) -# For ARM(7) hosts: -# Both NEON flags unset and NEON support detected = build all modules with NEON -# NEON detected with the use of -mfpu=neon = build only NEON modules with NEON -AS_IF([test "x$enable_neon" != "xno"], [ - case "$host_cpu" in - arm|armv7*) - # Test for NEON support without flags before falling back to -mfpu=neon - for flag in '' '-mfpu=neon'; do - LOCAL_NEON_FLAGS="$INTRINSICS_CFLAGS $NEON_FLAGS" - TEST_AND_ADD_CFLAGS([LOCAL_NEON_FLAGS], [$flag]) - SAVED_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS $LOCAL_NEON_FLAGS" - - dnl Note AC_LANG_PROGRAM([]) uses an old-style main definition. - AC_COMPILE_IFELSE([AC_LANG_SOURCE([ - #include - int main(void) { - int8x8_t v = vdup_n_s8(0); - (void)v; - return 0; - }])], - [NEON_FLAGS="$(echo $LOCAL_NEON_FLAGS | $SED 's/^ *//')" - AS_IF([test -n "$NEON_FLAGS"], [ - AS_IF([test "${host_os%%-*}" = "linux" -o \ - "x$enable_neon_rtcd" = "xno"], [ - CFLAGS=$SAVED_CFLAGS - AC_DEFINE(WEBP_HAVE_NEON, [1], [Set to 1 if NEON is supported]) - break - ],[ - AC_MSG_WARN(m4_normalize([NEON runtime cpu-detection is - unavailable for ${host_os%%-*}. Force - with CFLAGS=-mfpu=neon or - --disable-neon-rtcd.])) - enable_neon_rtcd=no - NEON_FLAGS="" - ]) - ],[ - CFLAGS=$SAVED_CFLAGS - AC_DEFINE(WEBP_HAVE_NEON, [1], [Set to 1 if NEON is supported]) - break - ])]) - CFLAGS=$SAVED_CFLAGS - done - - AS_IF([test -n "$NEON_FLAGS"], [ - # If NEON is available and rtcd is disabled apply NEON_FLAGS globally. - AS_IF([test "x$enable_neon_rtcd" = "xno"], [ - AM_CFLAGS="$AM_CFLAGS $NEON_FLAGS" - NEON_FLAGS=""], - [AC_DEFINE(WEBP_HAVE_NEON_RTCD, [1], - [Set to 1 if runtime detection of NEON is enabled])])]) - - case "$host_os" in - *android*) AC_CHECK_HEADERS([cpu-features.h]) ;; - esac - ;; - esac - AC_SUBST([NEON_FLAGS])]) - -dnl === CLEAR_LIBVARS([var_pfx]) -dnl === Clears _{INCLUDES,LIBS}. -AC_DEFUN([CLEAR_LIBVARS], [$1_INCLUDES=""; $1_LIBS=""]) - -dnl === WITHLIB_OPTION([opt_pfx], [outvar_pfx]) -dnl === Defines --with-{include,lib}dir options which set -dnl === the variables _{INCLUDES,LIBS}. -AC_DEFUN([WITHLIB_OPTION], - [AC_ARG_WITH([$1includedir], - AS_HELP_STRING([--with-$1includedir=DIR], - [use $2 includes from DIR]), - $2_INCLUDES="-I$withval") - AC_ARG_WITH([$1libdir], - AS_HELP_STRING([--with-$1libdir=DIR], - [use $2 libraries from DIR]), - [$2_LIBS="-L$withval"])]) - -dnl === LIBCHECK_PROLOGUE([var_pfx]) -dnl === Caches the current values of CPPFLAGS/LIBS in SAVED_* then -dnl === prepends the current values with _{INCLUDES,LIBS}. -AC_DEFUN([LIBCHECK_PROLOGUE], - [SAVED_CPPFLAGS=$CPPFLAGS - SAVED_LIBS=$LIBS - CPPFLAGS="$$1_INCLUDES $CPPFLAGS" - LIBS="$$1_LIBS $LIBS"]) - -dnl === LIBCHECK_EPILOGUE([var_pfx]) -dnl === Restores the values of CPPFLAGS/LIBS from SAVED_* and exports -dnl === _{INCLUDES,LIBS} with AC_SUBST. -AC_DEFUN([LIBCHECK_EPILOGUE], - [AC_SUBST($1_LIBS) - AC_SUBST($1_INCLUDES) - CPPFLAGS=$SAVED_CPPFLAGS - LIBS=$SAVED_LIBS]) - -dnl === Check for gcc builtins - -dnl === CHECK_FOR_BUILTIN([builtin], [param], [define]) -dnl === links a C AC_LANG_PROGRAM, with () -dnl === AC_DEFINE'ing if successful. -AC_DEFUN([CHECK_FOR_BUILTIN], - [AC_LANG_PUSH([C]) - AC_MSG_CHECKING([for $1]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([], [(void)$1($2)])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([$3], [1], - [Set to 1 if $1 is available])], - [AC_MSG_RESULT([no])]), - AC_LANG_POP]) - -dnl AC_CHECK_FUNC doesn't work with builtin's. -CHECK_FOR_BUILTIN([__builtin_bswap16], [1u << 15], [HAVE_BUILTIN_BSWAP16]) -CHECK_FOR_BUILTIN([__builtin_bswap32], [1u << 31], [HAVE_BUILTIN_BSWAP32]) -CHECK_FOR_BUILTIN([__builtin_bswap64], [1ull << 63], [HAVE_BUILTIN_BSWAP64]) - -dnl === Check for pthread support -AC_ARG_ENABLE([threading], - AS_HELP_STRING([--disable-threading], - [Disable detection of thread support]),, - [enable_threading=yes]) -if test "$enable_threading" = "yes"; then - AC_MSG_NOTICE([checking for threading support...]) - AX_PTHREAD([AC_DEFINE([WEBP_USE_THREAD], [1], - [Undefine this to disable thread support.]) - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - CC="$PTHREAD_CC" - ], - [AC_CHECK_FUNC([_beginthreadex], - [AC_DEFINE([WEBP_USE_THREAD], [1], - [Undefine this to disable thread - support.])], - [enable_threading=no])]) -fi -AC_MSG_NOTICE([checking if threading is enabled... ${enable_threading-no}]) - -dnl === check for OpenGL/GLUT support === - -AC_ARG_ENABLE([gl], AS_HELP_STRING([--disable-gl], - [Disable detection of OpenGL support - @<:@default=auto@:>@])) -AS_IF([test "x$enable_gl" != "xno"], [ - CLEAR_LIBVARS([GL]) - WITHLIB_OPTION([gl], [GL]) - - LIBCHECK_PROLOGUE([GL]) - - glut_cflags="none" - glut_ldflags="none" - case $host_os in - darwin*) - # Special case for OSX builds. Append these to give the user a chance to - # override with --with-gl* - glut_cflags="$glut_cflags|-framework GLUT -framework OpenGL" - glut_ldflags="$glut_ldflags|-framework GLUT -framework OpenGL" - # quiet deprecation warnings for glut - TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-Wno-deprecated-declarations]) - ;; - esac - - GLUT_SAVED_CPPFLAGS="$CPPFLAGS" - SAVED_IFS="$IFS" - IFS="|" - for flag in $glut_cflags; do - # restore IFS immediately as the autoconf macros may need the default. - IFS="$SAVED_IFS" - unset ac_cv_header_GL_glut_h - unset ac_cv_header_OpenGL_glut_h - - case $flag in - none) ;; - *) CPPFLAGS="$flag $CPPFLAGS";; - esac - AC_CHECK_HEADERS([GL/glut.h GLUT/glut.h OpenGL/glut.h], - [glut_headers=yes; - test "$flag" = "none" || GL_INCLUDES="$CPPFLAGS"; - break]) - CPPFLAGS="$GLUT_SAVED_CPPFLAGS" - test "$glut_headers" = "yes" && break - done - IFS="$SAVED_IFS" - - if test "$glut_headers" = "yes"; then - AC_LANG_PUSH([C]) - GLUT_SAVED_LDFLAGS="$LDFLAGS" - SAVED_IFS="$IFS" - IFS="|" - for flag in $glut_ldflags; do - # restore IFS immediately as the autoconf macros may need the default. - IFS="$SAVED_IFS" - unset ac_cv_search_glBegin - - case $flag in - none) ;; - *) LDFLAGS="$flag $LDFLAGS";; - esac - - # find libGL - GL_SAVED_LIBS="$LIBS" - AC_SEARCH_LIBS([glBegin], [GL OpenGL opengl32]) - LIBS="$GL_SAVED_LIBS" - - # A direct link to libGL may not be necessary on e.g., linux. - GLUT_SAVED_LIBS="$LIBS" - for lib in "" "-lglut" "-lglut $ac_cv_search_glBegin"; do - LIBS="$lib" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([ - #ifdef __cplusplus - # define EXTERN_C extern "C" - #else - # define EXTERN_C - #endif - EXTERN_C char glOrtho(); - EXTERN_C char glutMainLoop(); - ],[ - glOrtho(); - glutMainLoop(); - ]) - ], - AC_DEFINE(WEBP_HAVE_GL, [1], - [Set to 1 if OpenGL is supported]) - [glut_support=yes], [] - ) - if test "$glut_support" = "yes"; then - GL_LIBS="$LDFLAGS $lib" - break - fi - done - LIBS="$GLUT_SAVED_LIBS" - LDFLAGS="$GLUT_SAVED_LDFLAGS" - test "$glut_support" = "yes" && break - done - IFS="$SAVED_IFS" - AC_LANG_POP - fi - - LIBCHECK_EPILOGUE([GL]) - - if test "$glut_support" = "yes" -a "$enable_libwebpdemux" = "yes"; then - build_vwebp=yes - fi -]) -AM_CONDITIONAL([BUILD_VWEBP], [test "$build_vwebp" = "yes"]) - -dnl === check for SDL support === - -AC_ARG_ENABLE([sdl], - AS_HELP_STRING([--disable-sdl], - [Disable detection of SDL support - @<:@default=auto@:>@])) -AS_IF([test "x$enable_sdl" != "xno"], [ - CLEAR_LIBVARS([SDL]) - AC_PATH_PROGS([LIBSDL_CONFIG], [sdl-config]) - if test -n "$LIBSDL_CONFIG"; then - SDL_INCLUDES=`$LIBSDL_CONFIG --cflags` - SDL_LIBS="`$LIBSDL_CONFIG --libs`" - fi - - WITHLIB_OPTION([sdl], [SDL]) - - sdl_header="no" - LIBCHECK_PROLOGUE([SDL]) - AC_CHECK_HEADER([SDL/SDL.h], [sdl_header="SDL/SDL.h"], - [AC_CHECK_HEADER([SDL.h], [sdl_header="SDL.h"], - [AC_MSG_WARN(SDL library not available - no sdl.h)])]) - if test x"$sdl_header" != "xno"; then - AC_LANG_PUSH(C) - SDL_SAVED_LIBS="$LIBS" - for lib in "" "-lSDL" "-lSDLmain -lSDL"; do - LIBS="$SDL_SAVED_LIBS $lib" - # Perform a full link to ensure SDL_main is resolved if needed. - AC_LINK_IFELSE( - [AC_LANG_SOURCE([ - #include <$sdl_header> - int main(int argc, char** argv) { - SDL_Init(0); - return 0; - }])], - [SDL_LIBS="$LDFLAGS $LIBS" - SDL_INCLUDES="$SDL_INCLUDES -DWEBP_HAVE_SDL" - AC_DEFINE(WEBP_HAVE_SDL, [1], - [Set to 1 if SDL library is installed]) - sdl_support=yes] - ) - if test x"$sdl_support" = "xyes"; then - break - fi - done - # LIBS is restored by LIBCHECK_EPILOGUE - AC_LANG_POP - if test x"$sdl_header" = "xSDL.h"; then - SDL_INCLUDES="$SDL_INCLUDES -DWEBP_HAVE_JUST_SDL_H" - fi - fi - LIBCHECK_EPILOGUE([SDL]) - - if test x"$sdl_support" = "xyes"; then - build_vwebp_sdl=yes - else - AC_MSG_WARN(Optional SDL library not found) - fi -]) - -AM_CONDITIONAL([BUILD_VWEBP_SDL], [test "$build_vwebp_sdl" = "yes"]) - -dnl === check for PNG support === - -AC_ARG_ENABLE([png], AS_HELP_STRING([--disable-png], - [Disable detection of PNG format support - @<:@default=auto@:>@])) -AS_IF([test "x$enable_png" != "xno"], [ - CLEAR_LIBVARS([PNG]) - AC_PATH_PROGS([LIBPNG_CONFIG], - [libpng-config libpng16-config libpng15-config libpng14-config \ - libpng12-config]) - if test -n "$LIBPNG_CONFIG"; then - PNG_INCLUDES=`$LIBPNG_CONFIG --cflags` - PNG_LIBS="`$LIBPNG_CONFIG --ldflags`" - fi - - WITHLIB_OPTION([png], [PNG]) - - LIBCHECK_PROLOGUE([PNG]) - AC_CHECK_HEADER(png.h, - AC_SEARCH_LIBS(png_get_libpng_ver, [png], - [test "$ac_cv_search_png_get_libpng_ver" = "none required" \ - || PNG_LIBS="$PNG_LIBS $ac_cv_search_png_get_libpng_ver" - PNG_INCLUDES="$PNG_INCLUDES -DWEBP_HAVE_PNG" - AC_DEFINE(WEBP_HAVE_PNG, [1], - [Set to 1 if PNG library is installed]) - png_support=yes - ], - [AC_MSG_WARN(Optional png library not found) - PNG_LIBS="" - PNG_INCLUDES="" - ], - [$MATH_LIBS]), - [AC_MSG_WARN(png library not available - no png.h) - PNG_LIBS="" - PNG_INCLUDES="" - ], - ) - LIBCHECK_EPILOGUE([PNG]) -]) - -dnl === check for JPEG support === - -AC_ARG_ENABLE([jpeg], - AS_HELP_STRING([--disable-jpeg], - [Disable detection of JPEG format support - @<:@default=auto@:>@])) -AS_IF([test "x$enable_jpeg" != "xno"], [ - CLEAR_LIBVARS([JPEG]) - WITHLIB_OPTION([jpeg], [JPEG]) - - LIBCHECK_PROLOGUE([JPEG]) - AC_CHECK_HEADER(jpeglib.h, - AC_CHECK_LIB(jpeg, jpeg_set_defaults, - [JPEG_LIBS="$JPEG_LIBS -ljpeg" - JPEG_INCLUDES="$JPEG_INCLUDES -DWEBP_HAVE_JPEG" - AC_DEFINE(WEBP_HAVE_JPEG, [1], - [Set to 1 if JPEG library is installed]) - jpeg_support=yes - ], - AC_MSG_WARN(Optional jpeg library not found), - [$MATH_LIBS]), - AC_MSG_WARN(jpeg library not available - no jpeglib.h) - ) - LIBCHECK_EPILOGUE([JPEG]) -]) - -dnl === check for TIFF support === - -AC_ARG_ENABLE([tiff], - AS_HELP_STRING([--disable-tiff], - [Disable detection of TIFF format support - @<:@default=auto@:>@])) -AS_IF([test "x$enable_tiff" != "xno"], [ - CLEAR_LIBVARS([TIFF]) - WITHLIB_OPTION([tiff], [TIFF]) - - LIBCHECK_PROLOGUE([TIFF]) - AC_CHECK_HEADER(tiffio.h, - AC_CHECK_LIB(tiff, TIFFGetVersion, - [TIFF_LIBS="$TIFF_LIBS -ltiff" - TIFF_INCLUDES="$TIFF_INCLUDES -DWEBP_HAVE_TIFF" - AC_DEFINE(WEBP_HAVE_TIFF, [1], - [Set to 1 if TIFF library is installed]) - tiff_support=yes - ], - AC_MSG_WARN(Optional tiff library not found), - [$MATH_LIBS]), - AC_MSG_WARN(tiff library not available - no tiffio.h) - ) - LIBCHECK_EPILOGUE([TIFF]) -]) - -dnl === check for GIF support === - -AC_ARG_ENABLE([gif], AS_HELP_STRING([--disable-gif], - [Disable detection of GIF format support - @<:@default=auto@:>@])) -AS_IF([test "x$enable_gif" != "xno"], [ - CLEAR_LIBVARS([GIF]) - WITHLIB_OPTION([gif], [GIF]) - - LIBCHECK_PROLOGUE([GIF]) - AC_CHECK_HEADER(gif_lib.h, - AC_CHECK_LIB([gif], [DGifOpenFileHandle], - [GIF_LIBS="$GIF_LIBS -lgif" - AC_DEFINE(WEBP_HAVE_GIF, [1], - [Set to 1 if GIF library is installed]) - gif_support=yes - ], - AC_MSG_WARN(Optional gif library not found), - [$MATH_LIBS]), - AC_MSG_WARN(gif library not available - no gif_lib.h) - ) - LIBCHECK_EPILOGUE([GIF]) - - if test "$gif_support" = "yes" -a \ - "$enable_libwebpdemux" = "yes"; then - build_anim_diff=yes - fi - - if test "$gif_support" = "yes" -a \ - "$enable_libwebpmux" = "yes"; then - build_gif2webp=yes - fi -]) -AM_CONDITIONAL([BUILD_ANIMDIFF], [test "${build_anim_diff}" = "yes"]) -AM_CONDITIONAL([BUILD_GIF2WEBP], [test "${build_gif2webp}" = "yes"]) - -if test "$enable_libwebpdemux" = "yes" -a "$enable_libwebpmux" = "yes"; then - build_img2webp=yes -fi -AM_CONDITIONAL([BUILD_IMG2WEBP], [test "${build_img2webp}" = "yes"]) - -if test "$enable_libwebpmux" = "yes"; then - build_webpinfo=yes -fi -AM_CONDITIONAL([BUILD_WEBPINFO], [test "${build_webpinfo}" = "yes"]) - -dnl === check for WIC support === - -AC_ARG_ENABLE([wic], - AS_HELP_STRING([--disable-wic], - [Disable Windows Imaging Component (WIC) detection. - @<:@default=auto@:>@]),, - [enable_wic=yes]) - -case $host_os in -mingw*) -if test "$enable_wic" = "yes"; then - AC_CHECK_HEADERS([wincodec.h shlwapi.h windows.h]) - if test "$ac_cv_header_wincodec_h" = "yes"; then - AC_MSG_CHECKING(for Windows Imaging Component support) - SAVED_LIBS=$LIBS - LIBS="-lshlwapi -lole32 $LIBS" - # match include structure from [cd]webp.c - wic_headers=" - #define INITGUID - #define CINTERFACE - #define COBJMACROS - #define _WIN32_IE 0x500 - - #include - #include - #include - " - # test for functions from each lib and the GUID is created properly - wic_main=" - int main(void) { - CLSID_WICImagingFactory; - CoInitialize(NULL); - SHCreateStreamOnFile(NULL, 0, NULL); - return 0; - } - " - AC_LANG_PUSH(C) - AC_LINK_IFELSE( - [AC_LANG_SOURCE([ - $wic_headers - $wic_main])], - [wic_support=yes], - [wic_support=no] - ) - AC_LANG_POP - - test "$wic_support" = "yes" || LIBS=$SAVED_LIBS - AC_MSG_RESULT(${wic_support-no}) - fi -fi -esac - -dnl === If --enable-swap-16bit-csp is defined, add -DWEBP_SWAP_16BIT_CSP=1 - -USE_SWAP_16BIT_CSP="" -AC_MSG_CHECKING(if --enable-swap-16bit-csp option is specified) -AC_ARG_ENABLE([swap-16bit-csp], - AS_HELP_STRING([--enable-swap-16bit-csp], - [Enable byte swap for 16 bit colorspaces])) -if test "$enable_swap_16bit_csp" = "yes"; then - USE_SWAP_16BIT_CSP="-DWEBP_SWAP_16BIT_CSP=1" -fi -AC_MSG_RESULT(${enable_swap_16bit_csp-no}) -AC_SUBST(USE_SWAP_16BIT_CSP) - -dnl === If --disable-near-lossless is defined, add -DWEBP_NEAR_LOSSLESS=0 - -AC_DEFINE(WEBP_NEAR_LOSSLESS, [1], [Enable near lossless encoding]) -AC_MSG_CHECKING(if --disable-near-lossless option is specified) -AC_ARG_ENABLE([near_lossless], - AS_HELP_STRING([--disable-near-lossless], - [Disable near lossless encoding]), - [], [enable_near_lossless=yes]) -if test "$enable_near_lossless" = "no"; then - AC_DEFINE(WEBP_NEAR_LOSSLESS, [0], [Enable near lossless encoding]) - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - -dnl === Check whether libwebpmux should be built -AC_MSG_CHECKING(whether libwebpmux is to be built) -AC_ARG_ENABLE([libwebpmux], - AS_HELP_STRING([--enable-libwebpmux], - [Build libwebpmux @<:@default=no@:>@])) -AC_MSG_RESULT(${enable_libwebpmux-no}) -AM_CONDITIONAL([BUILD_MUX], [test "$enable_libwebpmux" = "yes"]) - -dnl === Check whether libwebpdemux should be built -AC_MSG_CHECKING(whether libwebpdemux is to be built) -AC_ARG_ENABLE([libwebpdemux], - AS_HELP_STRING([--disable-libwebpdemux], - [Disable libwebpdemux @<:@default=no@:>@]), - [], [enable_libwebpdemux=yes]) -AC_MSG_RESULT(${enable_libwebpdemux-no}) -AM_CONDITIONAL([BUILD_DEMUX], [test "$enable_libwebpdemux" = "yes"]) - -dnl === Check whether decoder library should be built. -AC_MSG_CHECKING(whether decoder library is to be built) -AC_ARG_ENABLE([libwebpdecoder], - AS_HELP_STRING([--enable-libwebpdecoder], - [Build libwebpdecoder @<:@default=no@:>@])) -AC_MSG_RESULT(${enable_libwebpdecoder-no}) -AM_CONDITIONAL([BUILD_LIBWEBPDECODER], [test "$enable_libwebpdecoder" = "yes"]) - -dnl === Check whether libwebpextras should be built -AC_MSG_CHECKING(whether libwebpextras is to be built) -AC_ARG_ENABLE([libwebpextras], - AS_HELP_STRING([--enable-libwebpextras], - [Build libwebpextras @<:@default=no@:>@])) -AC_MSG_RESULT(${enable_libwebpextras-no}) -AM_CONDITIONAL([BUILD_EXTRAS], [test "$enable_libwebpextras" = "yes"]) - -dnl ========================= - -AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_HEADERS([src/webp/config.h]) -AC_CONFIG_FILES([Makefile src/Makefile man/Makefile \ - examples/Makefile extras/Makefile imageio/Makefile \ - src/dec/Makefile src/enc/Makefile src/dsp/Makefile \ - src/demux/Makefile src/mux/Makefile \ - src/utils/Makefile \ - src/libwebp.pc src/libwebpdecoder.pc \ - src/demux/libwebpdemux.pc src/mux/libwebpmux.pc]) - - -AC_OUTPUT - -AC_MSG_NOTICE([ -WebP Configuration Summary --------------------------- - -Shared libraries: ${enable_shared} -Static libraries: ${enable_static} -Threading support: ${enable_threading-no} -libwebp: yes -libwebpdecoder: ${enable_libwebpdecoder-no} -libwebpdemux: ${enable_libwebpdemux-no} -libwebpmux: ${enable_libwebpmux-no} -libwebpextras: ${enable_libwebpextras-no} - -Tools: -cwebp : ${enable_libwebpdemux-no} - Input format support - ==================== - JPEG : ${jpeg_support-no} - PNG : ${png_support-no} - TIFF : ${tiff_support-no} - WIC : ${wic_support-no} -dwebp : ${enable_libwebpdemux-no} - Output format support - ===================== - PNG : ${png_support-no} - WIC : ${wic_support-no} -GIF support : ${gif_support-no} -anim_diff : ${build_anim_diff-no} -gif2webp : ${build_gif2webp-no} -img2webp : ${build_img2webp-no} -webpmux : ${enable_libwebpmux-no} -vwebp : ${build_vwebp-no} -webpinfo : ${build_webpinfo-no} -SDL support : ${sdl_support-no} -vwebp_sdl : ${build_vwebp_sdl-no} -]) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/README b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/README deleted file mode 100644 index 7f23e0c4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/README +++ /dev/null @@ -1,29 +0,0 @@ - -Generate libwebp Container Spec Docs from Text Source -===================================================== - -HTML generation requires kramdown [1], easily installed as a -rubygem [2]. Rubygems installation should satisfy dependencies -automatically. - -[1]: http://kramdown.rubyforge.org/ -[2]: http://rubygems.org/ - -HTML generation can then be done from the project root: - -$ kramdown doc/webp-container-spec.txt --template doc/template.html > \ - doc/output/webp-container-spec.html - -kramdown can optionally syntax highlight code blocks, using CodeRay [3], -a dependency of kramdown that rubygems will install automatically. The -following will apply inline CSS styling; an external stylesheet is not -needed. - -$ kramdown doc/webp-lossless-bitstream-spec.txt --template \ - doc/template.html --coderay-css style --coderay-line-numbers ' ' \ - --coderay-default-lang c > \ - doc/output/webp-lossless-bitstream-spec.html - -Optimally, use kramdown 0.13.7 or newer if syntax highlighting desired. - -[3]: http://coderay.rubychan.de/ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/TODO b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/TODO deleted file mode 100644 index b0a9382d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/TODO +++ /dev/null @@ -1,13 +0,0 @@ -, 20111004 - -* Determine that normative RFC 2119 terms (MUST, SHOULD, MAY, etc.) are - truly intended in all cases where capitalized. - -* Several passages could be made clearer. - - * Overall edit for scope. Portions are phrased as an introduction to - the 0.1.3 RIFF container additions, rather than a holistic guide to - WebP. - - * To wit, suggest s/[spec|specification]/guide/g . "Spec" can imply a - standards track; in any case it's too formal for a work in progress. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/template.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/template.html deleted file mode 100644 index 5dbc2894..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/template.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - WebP Container Specification - - - - -<%= @body %> - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/webp-container-spec.txt b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/webp-container-spec.txt deleted file mode 100644 index 94a7ca29..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/webp-container-spec.txt +++ /dev/null @@ -1,823 +0,0 @@ - - - -WebP Container Specification -============================ - -* TOC placeholder -{:toc} - - -Introduction ------------- - -WebP is an image format that uses either (i) the VP8 key frame encoding -to compress image data in a lossy way, or (ii) the WebP lossless encoding -(and possibly other encodings in the future). These encoding schemes should -make it more efficient than currently used formats. It is optimized for fast -image transfer over the network (e.g., for websites). The WebP format has -feature parity (color profile, metadata, animation etc) with other formats as -well. This document describes the structure of a WebP file. - -The WebP container (i.e., RIFF container for WebP) allows feature support over -and above the basic use case of WebP (i.e., a file containing a single image -encoded as a VP8 key frame). The WebP container provides additional support -for: - - * **Lossless compression.** An image can be losslessly compressed, using the - WebP Lossless Format. - - * **Metadata.** An image may have metadata stored in EXIF or XMP formats. - - * **Transparency.** An image may have transparency, i.e., an alpha channel. - - * **Color Profile.** An image may have an embedded ICC profile as described - by the [International Color Consortium][iccspec]. - - * **Animation.** An image may have multiple frames with pauses between them, - making it an animation. - -The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", -"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this -document are to be interpreted as described in [RFC 2119][]. - -Bit numbering in chunk diagrams starts at `0` for the most significant bit -('MSB 0') as described in [RFC 1166][]. - -**Note:** Out of the features mentioned above, lossy compression, lossless -compression, transparency, metadata, color profile and animation are finalized -and are to be considered stable. - -Terminology & Basics ------------------------- - -A WebP file contains either a still image (i.e., an encoded matrix of pixels) -or an [animation](#animation). Optionally, it can also contain transparency -information, color profile and metadata. In case we need to refer only to the -matrix of pixels, we will call it the _canvas_ of the image. - -Below are additional terms used throughout this document: - -_Reader/Writer_ - -: Code that reads WebP files is referred to as a _reader_, while code that - writes them is referred to as a _writer_. - -_uint16_ - -: A 16-bit, little-endian, unsigned integer. - -_uint24_ - -: A 24-bit, little-endian, unsigned integer. - -_uint32_ - -: A 32-bit, little-endian, unsigned integer. - -_FourCC_ - -: A _FourCC_ (four-character code) is a _uint32_ created by concatenating four - ASCII characters in little-endian order. - -_1-based_ - -: An unsigned integer field storing values offset by `-1`. e.g., Such a field - would store value _25_ as _24_. - - -RIFF File Format ----------------- - -The WebP file format is based on the RIFF (resource interchange file format) -document format. - -The basic element of a RIFF file is a _chunk_. It consists of: - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Chunk FourCC | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Chunk Size | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Chunk Payload | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -Chunk FourCC: 32 bits - -: ASCII four-character code used for chunk identification. - -Chunk Size: 32 bits (_uint32_) - -: The size of the chunk not including this field, the chunk identifier or - padding. - -Chunk Payload: _Chunk Size_ bytes - -: The data payload. If _Chunk Size_ is odd, a single padding byte -- that - SHOULD be `0` -- is added. - -_ChunkHeader('ABCD')_ - -: This is used to describe the _FourCC_ and _Chunk Size_ header of individual - chunks, where 'ABCD' is the FourCC for the chunk. This element's - size is 8 bytes. - -**Note:** RIFF has a convention that all-uppercase chunk FourCCs are standard -chunks that apply to any RIFF file format, while FourCCs specific to a file -format are all lowercase. WebP does not follow this convention. - - -WebP File Header ----------------- - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | 'R' | 'I' | 'F' | 'F' | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | File Size | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | 'W' | 'E' | 'B' | 'P' | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -'RIFF': 32 bits - -: The ASCII characters 'R' 'I' 'F' 'F'. - -File Size: 32 bits (_uint32_) - -: The size of the file in bytes starting at offset 8. The maximum value of - this field is 2^32 minus 10 bytes and thus the size of the whole file is at - most 4GiB minus 2 bytes. - -'WEBP': 32 bits - -: The ASCII characters 'W' 'E' 'B' 'P'. - -A WebP file MUST begin with a RIFF header with the FourCC 'WEBP'. The file size -in the header is the total size of the chunks that follow plus `4` bytes for -the 'WEBP' FourCC. The file SHOULD NOT contain anything after it. As the size -of any chunk is even, the size given by the RIFF header is also even. The -contents of individual chunks will be described in the following sections. - - -Simple File Format (Lossy) --------------------------- - -This layout SHOULD be used if the image requires _lossy_ encoding and does not -require transparency or other advanced features provided by the extended format. -Files with this layout are smaller and supported by older software. - -Simple WebP (lossy) file format: - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | WebP file header (12 bytes) | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | VP8 chunk | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -VP8 chunk: - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | ChunkHeader('VP8 ') | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | VP8 data | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -VP8 data: _Chunk Size_ bytes - -: VP8 bitstream data. - -The VP8 bitstream format specification can be found at [VP8 Data Format and -Decoding Guide][vp8spec]. Note that the VP8 frame header contains the VP8 frame -width and height. That is assumed to be the width and height of the canvas. - -The VP8 specification describes how to decode the image into Y'CbCr -format. To convert to RGB, Rec. 601 SHOULD be used. - - -Simple File Format (Lossless) ------------------------------ - -**Note:** Older readers may not support files using the lossless format. - -This layout SHOULD be used if the image requires _lossless_ encoding (with an -optional transparency channel) and does not require advanced features provided -by the extended format. - -Simple WebP (lossless) file format: - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | WebP file header (12 bytes) | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | VP8L chunk | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -VP8L chunk: - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | ChunkHeader('VP8L') | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | VP8L data | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -VP8L data: _Chunk Size_ bytes - -: VP8L bitstream data. - -The current specification of the VP8L bitstream can be found at -[WebP Lossless Bitstream Format][webpllspec]. Note that the VP8L header -contains the VP8L image width and height. That is assumed to be the width -and height of the canvas. - - -Extended File Format --------------------- - -**Note:** Older readers may not support files using the extended format. - -An extended format file consists of: - - * A 'VP8X' chunk with information about features used in the file. - - * An optional 'ICCP' chunk with color profile. - - * An optional 'ANIM' chunk with animation control data. - - * Image data. - - * An optional 'EXIF' chunk with EXIF metadata. - - * An optional 'XMP ' chunk with XMP metadata. - - * An optional list of [unknown chunks](#unknown-chunks). _\[status: experimental\]_ - -For a _still image_, the _image data_ consists of a single frame, which is made -up of: - - * An optional [alpha subchunk](#alpha). - - * A [bitstream subchunk](#bitstream-vp8vp8l). - -For an _animated image_, the _image data_ consists of multiple frames. More -details about frames can be found in the [Animation](#animation) section. - -All chunks SHOULD be placed in the same order as listed above. If a chunk -appears in the wrong place, the file is invalid, but readers MAY parse the -file, ignoring the chunks that come too late. - -**Rationale:** Setting the order of chunks should allow quicker file -parsing. For example, if an 'ALPH' chunk does not appear in its required -position, a decoder can choose to stop searching for it. The rule of -ignoring late chunks should make programs that need to do a full search -give the same results as the ones stopping early. - -Extended WebP file header: -{:#extended_header} - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | WebP file header (12 bytes) | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | ChunkHeader('VP8X') | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - |Rsv|I|L|E|X|A|R| Reserved | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Canvas Width Minus One | ... - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - ... Canvas Height Minus One | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -Reserved (Rsv): 2 bits - -: SHOULD be `0`. - -ICC profile (I): 1 bit - -: Set if the file contains an ICC profile. - -Alpha (L): 1 bit - -: Set if any of the frames of the image contain transparency information - ("alpha"). - -EXIF metadata (E): 1 bit - -: Set if the file contains EXIF metadata. - -XMP metadata (X): 1 bit - -: Set if the file contains XMP metadata. - -Animation (A): 1 bit - -: Set if this is an animated image. Data in 'ANIM' and 'ANMF' chunks should be - used to control the animation. - -Reserved (R): 1 bit - -: SHOULD be `0`. - -Reserved: 24 bits - -: SHOULD be `0`. - -Canvas Width Minus One: 24 bits - -: _1-based_ width of the canvas in pixels. - The actual canvas width is '1 + Canvas Width Minus One' - -Canvas Height Minus One: 24 bits - -: _1-based_ height of the canvas in pixels. - The actual canvas height is '1 + Canvas Height Minus One' - -The product of _Canvas Width_ and _Canvas Height_ MUST be at most `2^32 - 1`. - -Future specifications MAY add more fields. - -### Chunks - -#### Animation - -An animation is controlled by ANIM and ANMF chunks. - -ANIM Chunk: -{:#anim_chunk} - -For an animated image, this chunk contains the _global parameters_ of the -animation. - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | ChunkHeader('ANIM') | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Background Color | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Loop Count | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -Background Color: 32 bits (_uint32_) - -: The default background color of the canvas in \[Blue, Green, Red, Alpha\] - byte order. This color MAY be used to fill the unused space on the canvas - around the frames, as well as the transparent pixels of the first frame. - Background color is also used when disposal method is `1`. - -**Note**: - - * Background color MAY contain a transparency value (alpha), even if the - _Alpha_ flag in [VP8X chunk](#extended_header) is unset. - - * Viewer applications SHOULD treat the background color value as a hint, and - are not required to use it. - - * The canvas is cleared at the start of each loop. The background color MAY be - used to achieve this. - -Loop Count: 16 bits (_uint16_) - -: The number of times to loop the animation. `0` means infinitely. - -This chunk MUST appear if the _Animation_ flag in the VP8X chunk is set. -If the _Animation_ flag is not set and this chunk is present, it -SHOULD be ignored. - -ANMF chunk: - -For animated images, this chunk contains information about a _single_ frame. -If the _Animation flag_ is not set, then this chunk SHOULD NOT be present. - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | ChunkHeader('ANMF') | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Frame X | ... - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - ... Frame Y | Frame Width Minus One ... - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - ... | Frame Height Minus One | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Frame Duration | Reserved |B|D| - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Frame Data | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -Frame X: 24 bits (_uint24_) - -: The X coordinate of the upper left corner of the frame is `Frame X * 2` - -Frame Y: 24 bits (_uint24_) - -: The Y coordinate of the upper left corner of the frame is `Frame Y * 2` - -Frame Width Minus One: 24 bits (_uint24_) - -: The _1-based_ width of the frame. - The frame width is `1 + Frame Width Minus One` - -Frame Height Minus One: 24 bits (_uint24_) - -: The _1-based_ height of the frame. - The frame height is `1 + Frame Height Minus One` - -Frame Duration: 24 bits (_uint24_) - -: The time to wait before displaying the next frame, in 1 millisecond units. - Note the interpretation of frame duration of 0 (and often <= 10) is - implementation defined. Many tools and browsers assign a minimum duration - similar to GIF. - -Reserved: 6 bits - -: SHOULD be 0. - -Blending method (B): 1 bit - -: Indicates how transparent pixels of _the current frame_ are to be blended - with corresponding pixels of the previous canvas: - - * `0`: Use alpha blending. After disposing of the previous frame, render the - current frame on the canvas using [alpha-blending](#alpha-blending). If - the current frame does not have an alpha channel, assume alpha value of - 255, effectively replacing the rectangle. - - * `1`: Do not blend. After disposing of the previous frame, render the - current frame on the canvas by overwriting the rectangle covered by the - current frame. - -Disposal method (D): 1 bit - -: Indicates how _the current frame_ is to be treated after it has been - displayed (before rendering the next frame) on the canvas: - - * `0`: Do not dispose. Leave the canvas as is. - - * `1`: Dispose to background color. Fill the _rectangle_ on the canvas - covered by the _current frame_ with background color specified in the - [ANIM chunk](#anim_chunk). - -**Notes**: - - * The frame disposal only applies to the _frame rectangle_, that is, the - rectangle defined by _Frame X_, _Frame Y_, _frame width_ and _frame height_. - It may or may not cover the whole canvas. - -{:#alpha-blending} - * **Alpha-blending**: - - Given that each of the R, G, B and A channels is 8-bit, and the RGB - channels are _not premultiplied_ by alpha, the formula for blending - 'dst' onto 'src' is: - -~~~~~ - blend.A = src.A + dst.A * (1 - src.A / 255) - if blend.A = 0 then - blend.RGB = 0 - else - blend.RGB = (src.RGB * src.A + - dst.RGB * dst.A * (1 - src.A / 255)) / blend.A -~~~~~ - - * Alpha-blending SHOULD be done in linear color space, by taking into account - the [color profile](#color-profile) of the image. If the color profile is - not present, sRGB is to be assumed. (Note that sRGB also needs to be - linearized due to a gamma of ~2.2). - -Frame Data: _Chunk Size_ - `16` bytes - -: Consists of: - - * An optional [alpha subchunk](#alpha) for the frame. - - * A [bitstream subchunk](#bitstream-vp8vp8l) for the frame. - - * An optional list of [unknown chunks](#unknown-chunks). - -**Note**: The 'ANMF' payload, _Frame Data_ above, consists of individual -_padded_ chunks as described by the [RIFF file format](#riff-file-format). - -#### Alpha - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | ChunkHeader('ALPH') | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - |Rsv| P | F | C | Alpha Bitstream... | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -Reserved (Rsv): 2 bits - -: SHOULD be `0`. - -Pre-processing (P): 2 bits - -: These INFORMATIVE bits are used to signal the pre-processing that has - been performed during compression. The decoder can use this information to - e.g. dither the values or smooth the gradients prior to display. - - * `0`: no pre-processing - * `1`: level reduction - -Filtering method (F): 2 bits - -: The filtering method used: - - * `0`: None. - * `1`: Horizontal filter. - * `2`: Vertical filter. - * `3`: Gradient filter. - -For each pixel, filtering is performed using the following calculations. -Assume the alpha values surrounding the current `X` position are labeled as: - - C | B | - ---+---+ - A | X | - -We seek to compute the alpha value at position `X`. First, a prediction is -made depending on the filtering method: - - * Method `0`: predictor = 0 - * Method `1`: predictor = A - * Method `2`: predictor = B - * Method `3`: predictor = clip(A + B - C) - -where `clip(v)` is equal to: - - * 0 if v < 0 - * 255 if v > 255 - * v otherwise - -The final value is derived by adding the decompressed value `X` to the -predictor and using modulo-256 arithmetic to wrap the \[256-511\] range -into the \[0-255\] one: - -`alpha = (predictor + X) % 256` - -There are special cases for left-most and top-most pixel positions: - - * Top-left value at location (0,0) uses 0 as predictor value. Otherwise, - * For horizontal or gradient filtering methods, the left-most pixels at - location (0, y) are predicted using the location (0, y-1) just above. - * For vertical or gradient filtering methods, the top-most pixels at - location (x, 0) are predicted using the location (x-1, 0) on the left. - - -Decoders are not required to use this information in any specified way. - -Compression method (C): 2 bits - -: The compression method used: - - * `0`: No compression. - * `1`: Compressed using the WebP lossless format. - -Alpha bitstream: _Chunk Size_ - `1` bytes - -: Encoded alpha bitstream. - -This optional chunk contains encoded alpha data for this frame. A frame -containing a 'VP8L' chunk SHOULD NOT contain this chunk. - -**Rationale**: The transparency information is already part of the 'VP8L' -chunk. - -The alpha channel data is stored as uncompressed raw data (when -compression method is '0') or compressed using the lossless format -(when the compression method is '1'). - - * Raw data: consists of a byte sequence of length width * height, - containing all the 8-bit transparency values in scan order. - - * Lossless format compression: the byte sequence is a compressed - image-stream (as described in the [WebP Lossless Bitstream Format] - [webpllspec]) of implicit dimension width x height. That is, this - image-stream does NOT contain any headers describing the image dimension. - - **Rationale**: the dimension is already known from other sources, - so storing it again would be redundant and error-prone. - - Once the image-stream is decoded into ARGB color values, following - the process described in the lossless format specification, the - transparency information must be extracted from the *green* channel - of the ARGB quadruplet. - - **Rationale**: the green channel is allowed extra transformation - steps in the specification -- unlike the other channels -- that can - improve compression. - -#### Bitstream (VP8/VP8L) - -This chunk contains compressed bitstream data for a single frame. - -A bitstream chunk may be either (i) a VP8 chunk, using "VP8 " (note the -significant fourth-character space) as its tag _or_ (ii) a VP8L chunk, using -"VP8L" as its tag. - -The formats of VP8 and VP8L chunks are as described in sections -[Simple File Format (Lossy)](#simple-file-format-lossy) -and [Simple File Format (Lossless)](#simple-file-format-lossless) respectively. - -#### Color profile - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | ChunkHeader('ICCP') | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | Color Profile | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -Color Profile: _Chunk Size_ bytes - -: ICC profile. - -This chunk MUST appear before the image data. - -There SHOULD be at most one such chunk. If there are more such chunks, readers -MAY ignore all except the first one. -See the [ICC Specification][iccspec] for details. - -If this chunk is not present, sRGB SHOULD be assumed. - -#### Metadata - -Metadata can be stored in 'EXIF' or 'XMP ' chunks. - -There SHOULD be at most one chunk of each type ('EXIF' and 'XMP '). If there -are more such chunks, readers MAY ignore all except the first one. Also, a file -may possibly contain both 'EXIF' and 'XMP ' chunks. - -The chunks are defined as follows: - -EXIF chunk: - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | ChunkHeader('EXIF') | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | EXIF Metadata | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -EXIF Metadata: _Chunk Size_ bytes - -: image metadata in EXIF format. - -XMP chunk: - - 0 1 2 3 - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | ChunkHeader('XMP ') | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - | XMP Metadata | - +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -XMP Metadata: _Chunk Size_ bytes - -: image metadata in XMP format. - -Additional guidance about handling metadata can be found in the -Metadata Working Group's [Guidelines for Handling Metadata][metadata]. - -#### Unknown Chunks _\[status: experimental\]_ - -A RIFF chunk (described in [this](#terminology-amp-basics) section) whose _chunk -tag_ is different from any of the chunks described in this document, is -considered an _unknown chunk_. - -**Rationale**: Allowing unknown chunks gives a provision for future extension -of the format, and also allows storage of any application-specific data. - -A file MAY contain unknown chunks: - - * At the end of the file as described in [Extended WebP file - header](#extended_header) section. - * At the end of ANMF chunks as described in the - [Animation](#animation) section. - -Readers SHOULD ignore these chunks. Writers SHOULD preserve them in their -original order (unless they specifically intend to modify these chunks). - -### Assembling the Canvas from frames - -Here we provide an overview of how a reader should assemble a canvas in the -case of an animated image. The notation _VP8X.field_ means the field in the -'VP8X' chunk with the same description. - -Displaying an _animated image_ canvas MUST be equivalent to the following -pseudocode: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -assert VP8X.flags.hasAnimation -canvas ← new image of size VP8X.canvasWidth x VP8X.canvasHeight with - background color ANIM.background_color. -loop_count ← ANIM.loopCount -dispose_method ← ANIM.disposeMethod -if loop_count == 0: - loop_count = ∞ -frame_params ← nil -assert next chunk in image_data is ANMF -for loop = 0..loop_count - 1 - clear canvas to ANIM.background_color or application defined color - until eof or non-ANMF chunk - frame_params.frameX = Frame X - frame_params.frameY = Frame Y - frame_params.frameWidth = Frame Width Minus One + 1 - frame_params.frameHeight = Frame Height Minus One + 1 - frame_params.frameDuration = Frame Duration - frame_right = frame_params.frameX + frame_params.frameWidth - frame_bottom = frame_params.frameY + frame_params.frameHeight - assert VP8X.canvasWidth >= frame_right - assert VP8X.canvasHeight >= frame_bottom - for subchunk in 'Frame Data': - if subchunk.tag == "ALPH": - assert alpha subchunks not found in 'Frame Data' earlier - frame_params.alpha = alpha_data - else if subchunk.tag == "VP8 " OR subchunk.tag == "VP8L": - assert bitstream subchunks not found in 'Frame Data' earlier - frame_params.bitstream = bitstream_data - render frame with frame_params.alpha and frame_params.bitstream on - canvas with top-left corner at (frame_params.frameX, - frame_params.frameY), using dispose method dispose_method. - canvas contains the decoded image. - Show the contents of the canvas for frame_params.frameDuration * 1ms. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -Example File Layouts --------------------- - -A lossy encoded image with alpha may look as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -RIFF/WEBP -+- VP8X (descriptions of features used) -+- ALPH (alpha bitstream) -+- VP8 (bitstream) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A losslessly encoded image may look as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -RIFF/WEBP -+- VP8X (descriptions of features used) -+- XYZW (unknown chunk) -+- VP8L (lossless bitstream) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A lossless image with ICC profile and XMP metadata may -look as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -RIFF/WEBP -+- VP8X (descriptions of features used) -+- ICCP (color profile) -+- VP8L (lossless bitstream) -+- XMP (metadata) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -An animated image with EXIF metadata may look as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -RIFF/WEBP -+- VP8X (descriptions of features used) -+- ANIM (global animation parameters) -+- ANMF (frame1 parameters + data) -+- ANMF (frame2 parameters + data) -+- ANMF (frame3 parameters + data) -+- ANMF (frame4 parameters + data) -+- EXIF (metadata) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -[vp8spec]: http://tools.ietf.org/html/rfc6386 -[webpllspec]: https://chromium.googlesource.com/webm/libwebp/+/master/doc/webp-lossless-bitstream-spec.txt -[iccspec]: http://www.color.org/icc_specs2.xalter -[metadata]: http://www.metadataworkinggroup.org/pdf/mwg_guidance.pdf -[rfc 1166]: http://tools.ietf.org/html/rfc1166 -[rfc 2119]: http://tools.ietf.org/html/rfc2119 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/webp-lossless-bitstream-spec.txt b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/webp-lossless-bitstream-spec.txt deleted file mode 100644 index 2d2dde15..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/doc/webp-lossless-bitstream-spec.txt +++ /dev/null @@ -1,1090 +0,0 @@ - - -Specification for WebP Lossless Bitstream -========================================= - -_Jyrki Alakuijala, Ph.D., Google, Inc., 2012-06-19_ - -Paragraphs marked as \[AMENDED\] were amended on 2014-09-16. - -Abstract --------- - -WebP lossless is an image format for lossless compression of ARGB -images. The lossless format stores and restores the pixel values -exactly, including the color values for zero alpha pixels. The -format uses subresolution images, recursively embedded into the format -itself, for storing statistical data about the images, such as the used -entropy codes, spatial predictors, color space conversion, and color -table. LZ77, Huffman coding, and a color cache are used for compression -of the bulk data. Decoding speeds faster than PNG have been -demonstrated, as well as 25% denser compression than can be achieved -using today's PNG format. - - -* TOC placeholder -{:toc} - - -Nomenclature ------------- - -ARGB -: A pixel value consisting of alpha, red, green, and blue values. - -ARGB image -: A two-dimensional array containing ARGB pixels. - -color cache -: A small hash-addressed array to store recently used colors, to be able - to recall them with shorter codes. - -color indexing image -: A one-dimensional image of colors that can be indexed using a small - integer (up to 256 within WebP lossless). - -color transform image -: A two-dimensional subresolution image containing data about - correlations of color components. - -distance mapping -: Changes LZ77 distances to have the smallest values for pixels in 2D - proximity. - -entropy image -: A two-dimensional subresolution image indicating which entropy coding - should be used in a respective square in the image, i.e., each pixel - is a meta Huffman code. - -Huffman code -: A classic way to do entropy coding where a smaller number of bits are - used for more frequent codes. - -LZ77 -: Dictionary-based sliding window compression algorithm that either - emits symbols or describes them as sequences of past symbols. - -meta Huffman code -: A small integer (up to 16 bits) that indexes an element in the meta - Huffman table. - -predictor image -: A two-dimensional subresolution image indicating which spatial - predictor is used for a particular square in the image. - -prefix coding -: A way to entropy code larger integers that codes a few bits of the - integer using an entropy code and codifies the remaining bits raw. - This allows for the descriptions of the entropy codes to remain - relatively small even when the range of symbols is large. - -scan-line order -: A processing order of pixels, left-to-right, top-to-bottom, starting - from the left-hand-top pixel, proceeding to the right. Once a row is - completed, continue from the left-hand column of the next row. - - -1 Introduction --------------- - -This document describes the compressed data representation of a WebP -lossless image. It is intended as a detailed reference for WebP lossless -encoder and decoder implementation. - -In this document, we extensively use C programming language syntax to -describe the bitstream, and assume the existence of a function for -reading bits, `ReadBits(n)`. The bytes are read in the natural order of -the stream containing them, and bits of each byte are read in -least-significant-bit-first order. When multiple bits are read at the -same time, the integer is constructed from the original data in the -original order. The most significant bits of the returned integer are -also the most significant bits of the original data. Thus the statement - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -b = ReadBits(2); -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -is equivalent with the two statements below: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -b = ReadBits(1); -b |= ReadBits(1) << 1; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -We assume that each color component (e.g. alpha, red, blue and green) is -represented using an 8-bit byte. We define the corresponding type as -uint8. A whole ARGB pixel is represented by a type called uint32, an -unsigned integer consisting of 32 bits. In the code showing the behavior -of the transformations, alpha value is codified in bits 31..24, red in -bits 23..16, green in bits 15..8 and blue in bits 7..0, but -implementations of the format are free to use another representation -internally. - -Broadly, a WebP lossless image contains header data, transform -information and actual image data. Headers contain width and height of -the image. A WebP lossless image can go through four different types of -transformation before being entropy encoded. The transform information -in the bitstream contains the data required to apply the respective -inverse transforms. - - -2 RIFF Header -------------- - -The beginning of the header has the RIFF container. This consists of the -following 21 bytes: - - 1. String "RIFF" - 2. A little-endian 32 bit value of the block length, the whole size - of the block controlled by the RIFF header. Normally this equals - the payload size (file size minus 8 bytes: 4 bytes for the 'RIFF' - identifier and 4 bytes for storing the value itself). - 3. String "WEBP" (RIFF container name). - 4. String "VP8L" (chunk tag for lossless encoded image data). - 5. A little-endian 32-bit value of the number of bytes in the - lossless stream. - 6. One byte signature 0x2f. - -The first 28 bits of the bitstream specify the width and height of the -image. Width and height are decoded as 14-bit integers as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int image_width = ReadBits(14) + 1; -int image_height = ReadBits(14) + 1; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The 14-bit dynamics for image size limit the maximum size of a WebP -lossless image to 16384✕16384 pixels. - -The alpha_is_used bit is a hint only, and should not impact decoding. -It should be set to 0 when all alpha values are 255 in the picture, and -1 otherwise. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int alpha_is_used = ReadBits(1); -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The version_number is a 3 bit code that must be set to 0. Any other value -should be treated as an error. \[AMENDED\] - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int version_number = ReadBits(3); -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -3 Transformations ------------------ - -Transformations are reversible manipulations of the image data that can -reduce the remaining symbolic entropy by modeling spatial and color -correlations. Transformations can make the final compression more dense. - -An image can go through four types of transformation. A 1 bit indicates -the presence of a transform. Each transform is allowed to be used only -once. The transformations are used only for the main level ARGB image: -the subresolution images have no transforms, not even the 0 bit -indicating the end-of-transforms. - -Typically an encoder would use these transforms to reduce the Shannon -entropy in the residual image. Also, the transform data can be decided -based on entropy minimization. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -while (ReadBits(1)) { // Transform present. - // Decode transform type. - enum TransformType transform_type = ReadBits(2); - // Decode transform data. - ... -} - -// Decode actual image data (Section 4). -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If a transform is present then the next two bits specify the transform -type. There are four types of transforms. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -enum TransformType { - PREDICTOR_TRANSFORM = 0, - COLOR_TRANSFORM = 1, - SUBTRACT_GREEN = 2, - COLOR_INDEXING_TRANSFORM = 3, -}; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The transform type is followed by the transform data. Transform data -contains the information required to apply the inverse transform and -depends on the transform type. Next we describe the transform data for -different types. - - -### Predictor Transform - -The predictor transform can be used to reduce entropy by exploiting the -fact that neighboring pixels are often correlated. In the predictor -transform, the current pixel value is predicted from the pixels already -decoded (in scan-line order) and only the residual value (actual - -predicted) is encoded. The _prediction mode_ determines the type of -prediction to use. We divide the image into squares and all the pixels -in a square use same prediction mode. - -The first 3 bits of prediction data define the block width and height in -number of bits. The number of block columns, `block_xsize`, is used in -indexing two-dimensionally. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int size_bits = ReadBits(3) + 2; -int block_width = (1 << size_bits); -int block_height = (1 << size_bits); -#define DIV_ROUND_UP(num, den) ((num) + (den) - 1) / (den)) -int block_xsize = DIV_ROUND_UP(image_width, 1 << size_bits); -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The transform data contains the prediction mode for each block of the -image. All the `block_width * block_height` pixels of a block use same -prediction mode. The prediction modes are treated as pixels of an image -and encoded using the same techniques described in -[Chapter 4](#image-data). - -For a pixel _x, y_, one can compute the respective filter block address -by: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int block_index = (y >> size_bits) * block_xsize + - (x >> size_bits); -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -There are 14 different prediction modes. In each prediction mode, the -current pixel value is predicted from one or more neighboring pixels -whose values are already known. - -We choose the neighboring pixels (TL, T, TR, and L) of the current pixel -(P) as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -O O O O O O O O O O O -O O O O O O O O O O O -O O O O TL T TR O O O O -O O O O L P X X X X X -X X X X X X X X X X X -X X X X X X X X X X X -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -where TL means top-left, T top, TR top-right, L left pixel. -At the time of predicting a value for P, all pixels O, TL, T, TR and L -have been already processed, and pixel P and all pixels X are unknown. - -Given the above neighboring pixels, the different prediction modes are -defined as follows. - -| Mode | Predicted value of each channel of the current pixel | -| ------ | ------------------------------------------------------- | -| 0 | 0xff000000 (represents solid black color in ARGB) | -| 1 | L | -| 2 | T | -| 3 | TR | -| 4 | TL | -| 5 | Average2(Average2(L, TR), T) | -| 6 | Average2(L, TL) | -| 7 | Average2(L, T) | -| 8 | Average2(TL, T) | -| 9 | Average2(T, TR) | -| 10 | Average2(Average2(L, TL), Average2(T, TR)) | -| 11 | Select(L, T, TL) | -| 12 | ClampAddSubtractFull(L, T, TL) | -| 13 | ClampAddSubtractHalf(Average2(L, T), TL) | - - -`Average2` is defined as follows for each ARGB component: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -uint8 Average2(uint8 a, uint8 b) { - return (a + b) / 2; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The Select predictor is defined as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -uint32 Select(uint32 L, uint32 T, uint32 TL) { - // L = left pixel, T = top pixel, TL = top left pixel. - - // ARGB component estimates for prediction. - int pAlpha = ALPHA(L) + ALPHA(T) - ALPHA(TL); - int pRed = RED(L) + RED(T) - RED(TL); - int pGreen = GREEN(L) + GREEN(T) - GREEN(TL); - int pBlue = BLUE(L) + BLUE(T) - BLUE(TL); - - // Manhattan distances to estimates for left and top pixels. - int pL = abs(pAlpha - ALPHA(L)) + abs(pRed - RED(L)) + - abs(pGreen - GREEN(L)) + abs(pBlue - BLUE(L)); - int pT = abs(pAlpha - ALPHA(T)) + abs(pRed - RED(T)) + - abs(pGreen - GREEN(T)) + abs(pBlue - BLUE(T)); - - // Return either left or top, the one closer to the prediction. - if (pL < pT) { // \[AMENDED\] - return L; - } else { - return T; - } -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The functions `ClampAddSubtractFull` and `ClampAddSubtractHalf` are -performed for each ARGB component as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Clamp the input value between 0 and 255. -int Clamp(int a) { - return (a < 0) ? 0 : (a > 255) ? 255 : a; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int ClampAddSubtractFull(int a, int b, int c) { - return Clamp(a + b - c); -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int ClampAddSubtractHalf(int a, int b) { - return Clamp(a + (a - b) / 2); -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -There are special handling rules for some border pixels. If there is a -prediction transform, regardless of the mode \[0..13\] for these pixels, -the predicted value for the left-topmost pixel of the image is -0xff000000, L-pixel for all pixels on the top row, and T-pixel for all -pixels on the leftmost column. - -Addressing the TR-pixel for pixels on the rightmost column is -exceptional. The pixels on the rightmost column are predicted by using -the modes \[0..13\] just like pixels not on border, but by using the -leftmost pixel on the same row as the current TR-pixel. The TR-pixel -offset in memory is the same for border and non-border pixels. - - -### Color Transform - -The goal of the color transform is to decorrelate the R, G and B values -of each pixel. Color transform keeps the green (G) value as it is, -transforms red (R) based on green and transforms blue (B) based on green -and then based on red. - -As is the case for the predictor transform, first the image is divided -into blocks and the same transform mode is used for all the pixels in a -block. For each block there are three types of color transform elements. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -typedef struct { - uint8 green_to_red; - uint8 green_to_blue; - uint8 red_to_blue; -} ColorTransformElement; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The actual color transformation is done by defining a color transform -delta. The color transform delta depends on the `ColorTransformElement`, -which is the same for all the pixels in a particular block. The delta is -added during color transform. The inverse color transform then is just -subtracting those deltas. - -The color transform function is defined as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -void ColorTransform(uint8 red, uint8 blue, uint8 green, - ColorTransformElement *trans, - uint8 *new_red, uint8 *new_blue) { - // Transformed values of red and blue components - uint32 tmp_red = red; - uint32 tmp_blue = blue; - - // Applying transform is just adding the transform deltas - tmp_red += ColorTransformDelta(trans->green_to_red, green); - tmp_blue += ColorTransformDelta(trans->green_to_blue, green); - tmp_blue += ColorTransformDelta(trans->red_to_blue, red); - - *new_red = tmp_red & 0xff; - *new_blue = tmp_blue & 0xff; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -`ColorTransformDelta` is computed using a signed 8-bit integer -representing a 3.5-fixed-point number, and a signed 8-bit RGB color -channel (c) \[-128..127\] and is defined as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int8 ColorTransformDelta(int8 t, int8 c) { - return (t * c) >> 5; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A conversion from the 8-bit unsigned representation (uint8) to the 8-bit -signed one (int8) is required before calling ColorTransformDelta(). -It should be performed using 8-bit two's complement (that is: uint8 range -\[128-255\] is mapped to the \[-128, -1\] range of its converted int8 value). - -The multiplication is to be done using more precision (with at least -16-bit dynamics). The sign extension property of the shift operation -does not matter here: only the lowest 8 bits are used from the result, -and there the sign extension shifting and unsigned shifting are -consistent with each other. - -Now we describe the contents of color transform data so that decoding -can apply the inverse color transform and recover the original red and -blue values. The first 3 bits of the color transform data contain the -width and height of the image block in number of bits, just like the -predictor transform: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int size_bits = ReadBits(3) + 2; -int block_width = 1 << size_bits; -int block_height = 1 << size_bits; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The remaining part of the color transform data contains -`ColorTransformElement` instances corresponding to each block of the -image. `ColorTransformElement` instances are treated as pixels of an -image and encoded using the methods described in -[Chapter 4](#image-data). - -During decoding, `ColorTransformElement` instances of the blocks are -decoded and the inverse color transform is applied on the ARGB values of -the pixels. As mentioned earlier, that inverse color transform is just -subtracting `ColorTransformElement` values from the red and blue -channels. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -void InverseTransform(uint8 red, uint8 green, uint8 blue, - ColorTransformElement *p, - uint8 *new_red, uint8 *new_blue) { - // Applying inverse transform is just subtracting the - // color transform deltas - red -= ColorTransformDelta(p->green_to_red_, green); - blue -= ColorTransformDelta(p->green_to_blue_, green); - blue -= ColorTransformDelta(p->red_to_blue_, red & 0xff); - - *new_red = red & 0xff; - *new_blue = blue & 0xff; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -### Subtract Green Transform - -The subtract green transform subtracts green values from red and blue -values of each pixel. When this transform is present, the decoder needs -to add the green value to both red and blue. There is no data associated -with this transform. The decoder applies the inverse transform as -follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -void AddGreenToBlueAndRed(uint8 green, uint8 *red, uint8 *blue) { - *red = (*red + green) & 0xff; - *blue = (*blue + green) & 0xff; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This transform is redundant as it can be modeled using the color -transform, but it is still often useful. Since it can extend the -dynamics of the color transform and there is no additional data here, -the subtract green transform can be coded using fewer bits than a -full-blown color transform. - - -### Color Indexing Transform - -If there are not many unique pixel values, it may be more efficient to -create a color index array and replace the pixel values by the array's -indices. The color indexing transform achieves this. (In the context of -WebP lossless, we specifically do not call this a palette transform -because a similar but more dynamic concept exists in WebP lossless -encoding: color cache.) - -The color indexing transform checks for the number of unique ARGB values -in the image. If that number is below a threshold (256), it creates an -array of those ARGB values, which is then used to replace the pixel -values with the corresponding index: the green channel of the pixels are -replaced with the index; all alpha values are set to 255; all red and -blue values to 0. - -The transform data contains color table size and the entries in the -color table. The decoder reads the color indexing transform data as -follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// 8 bit value for color table size -int color_table_size = ReadBits(8) + 1; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The color table is stored using the image storage format itself. The -color table can be obtained by reading an image, without the RIFF -header, image size, and transforms, assuming a height of one pixel and -a width of `color_table_size`. The color table is always -subtraction-coded to reduce image entropy. The deltas of palette colors -contain typically much less entropy than the colors themselves, leading -to significant savings for smaller images. In decoding, every final -color in the color table can be obtained by adding the previous color -component values by each ARGB component separately, and storing the -least significant 8 bits of the result. - -The inverse transform for the image is simply replacing the pixel values -(which are indices to the color table) with the actual color table -values. The indexing is done based on the green component of the ARGB -color. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Inverse transform -argb = color_table[GREEN(argb)]; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If the index is equal or larger than color_table_size, the argb color value -should be set to 0x00000000 (transparent black). \[AMENDED\] - -When the color table is small (equal to or less than 16 colors), several -pixels are bundled into a single pixel. The pixel bundling packs several -(2, 4, or 8) pixels into a single pixel, reducing the image width -respectively. Pixel bundling allows for a more efficient joint -distribution entropy coding of neighboring pixels, and gives some -arithmetic coding-like benefits to the entropy code, but it can only be -used when there are a small number of unique values. - -`color_table_size` specifies how many pixels are combined together: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int width_bits; -if (color_table_size <= 2) { - width_bits = 3; -} else if (color_table_size <= 4) { - width_bits = 2; -} else if (color_table_size <= 16) { - width_bits = 1; -} else { - width_bits = 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -`width_bits` has a value of 0, 1, 2 or 3. A value of 0 indicates no -pixel bundling to be done for the image. A value of 1 indicates that two -pixels are combined together, and each pixel has a range of \[0..15\]. A -value of 2 indicates that four pixels are combined together, and each -pixel has a range of \[0..3\]. A value of 3 indicates that eight pixels -are combined together and each pixel has a range of \[0..1\], i.e., a -binary value. - -The values are packed into the green component as follows: - - * `width_bits` = 1: for every x value where x ≡ 0 (mod 2), a green - value at x is positioned into the 4 least-significant bits of the - green value at x / 2, a green value at x + 1 is positioned into the - 4 most-significant bits of the green value at x / 2. - * `width_bits` = 2: for every x value where x ≡ 0 (mod 4), a green - value at x is positioned into the 2 least-significant bits of the - green value at x / 4, green values at x + 1 to x + 3 in order to the - more significant bits of the green value at x / 4. - * `width_bits` = 3: for every x value where x ≡ 0 (mod 8), a green - value at x is positioned into the least-significant bit of the green - value at x / 8, green values at x + 1 to x + 7 in order to the more - significant bits of the green value at x / 8. - - -4 Image Data ------------- - -Image data is an array of pixel values in scan-line order. - -### 4.1 Roles of Image Data - -We use image data in five different roles: - - 1. ARGB image: Stores the actual pixels of the image. - 1. Entropy image: Stores the - [meta Huffman codes](#decoding-of-meta-huffman-codes). The red and green - components of a pixel define the meta Huffman code used in a particular - block of the ARGB image. - 1. Predictor image: Stores the metadata for [Predictor - Transform](#predictor-transform). The green component of a pixel defines - which of the 14 predictors is used within a particular block of the - ARGB image. - 1. Color transform image. It is created by `ColorTransformElement` values - (defined in [Color Transform](#color-transform)) for different blocks of - the image. Each `ColorTransformElement` `'cte'` is treated as a pixel whose - alpha component is `255`, red component is `cte.red_to_blue`, green - component is `cte.green_to_blue` and blue component is `cte.green_to_red`. - 1. Color indexing image: An array of of size `color_table_size` (up to 256 - ARGB values) storing the metadata for the - [Color Indexing Transform](#color-indexing-transform). This is stored as an - image of width `color_table_size` and height `1`. - -### 4.2 Encoding of Image data - -The encoding of image data is independent of its role. - -The image is first divided into a set of fixed-size blocks (typically 16x16 -blocks). Each of these blocks are modeled using their own entropy codes. Also, -several blocks may share the same entropy codes. - -**Rationale:** Storing an entropy code incurs a cost. This cost can be minimized -if statistically similar blocks share an entropy code, thereby storing that code -only once. For example, an encoder can find similar blocks by clustering them -using their statistical properties, or by repeatedly joining a pair of randomly -selected clusters when it reduces the overall amount of bits needed to encode -the image. - -Each pixel is encoded using one of the three possible methods: - - 1. Huffman coded literal: each channel (green, red, blue and alpha) is - entropy-coded independently; - 2. LZ77 backward reference: a sequence of pixels are copied from elsewhere - in the image; or - 3. Color cache code: using a short multiplicative hash code (color cache - index) of a recently seen color. - -The following sub-sections describe each of these in detail. - -#### 4.2.1 Huffman Coded Literals - -The pixel is stored as Huffman coded values of green, red, blue and alpha (in -that order). See [this section](#decoding-entropy-coded-image-data) for details. - -#### 4.2.2 LZ77 Backward Reference - -Backward references are tuples of _length_ and _distance code_: - - * Length indicates how many pixels in scan-line order are to be copied. - * Distance code is a number indicating the position of a previously seen - pixel, from which the pixels are to be copied. The exact mapping is - described [below](#distance-mapping). - -The length and distance values are stored using **LZ77 prefix coding**. - -LZ77 prefix coding divides large integer values into two parts: the _prefix -code_ and the _extra bits_: the prefix code is stored using an entropy code, -while the extra bits are stored as they are (without an entropy code). - -**Rationale**: This approach reduces the storage requirement for the entropy -code. Also, large values are usually rare, and so extra bits would be used for -very few values in the image. Thus, this approach results in a better -compression overall. - -The following table denotes the prefix codes and extra bits used for storing -different range of values. - -Note: The maximum backward reference length is limited to 4096. Hence, only the -first 24 prefix codes (with the respective extra bits) are meaningful for length -values. For distance values, however, all the 40 prefix codes are valid. - -| Value range | Prefix code | Extra bits | -| --------------- | ----------- | ---------- | -| 1 | 0 | 0 | -| 2 | 1 | 0 | -| 3 | 2 | 0 | -| 4 | 3 | 0 | -| 5..6 | 4 | 1 | -| 7..8 | 5 | 1 | -| 9..12 | 6 | 2 | -| 13..16 | 7 | 2 | -| ... | ... | ... | -| 3072..4096 | 23 | 10 | -| ... | ... | ... | -| 524289..786432 | 38 | 18 | -| 786433..1048576 | 39 | 18 | - -The pseudocode to obtain a (length or distance) value from the prefix code is -as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -if (prefix_code < 4) { - return prefix_code + 1; -} -int extra_bits = (prefix_code - 2) >> 1; -int offset = (2 + (prefix_code & 1)) << extra_bits; -return offset + ReadBits(extra_bits) + 1; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Distance Mapping:** -{:#distance-mapping} - -As noted previously, distance code is a number indicating the position of a -previously seen pixel, from which the pixels are to be copied. This sub-section -defines the mapping between a distance code and the position of a previous -pixel. - -The distance codes larger than 120 denote the pixel-distance in scan-line -order, offset by 120. - -The smallest distance codes \[1..120\] are special, and are reserved for a close -neighborhood of the current pixel. This neighborhood consists of 120 pixels: - - * Pixels that are 1 to 7 rows above the current pixel, and are up to 8 columns - to the left or up to 7 columns to the right of the current pixel. \[Total - such pixels = `7 * (8 + 1 + 7) = 112`\]. - * Pixels that are in same row as the current pixel, and are up to 8 columns to - the left of the current pixel. \[`8` such pixels\]. - -The mapping between distance code `i` and the neighboring pixel offset -`(xi, yi)` is as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -(0, 1), (1, 0), (1, 1), (-1, 1), (0, 2), (2, 0), (1, 2), (-1, 2), -(2, 1), (-2, 1), (2, 2), (-2, 2), (0, 3), (3, 0), (1, 3), (-1, 3), -(3, 1), (-3, 1), (2, 3), (-2, 3), (3, 2), (-3, 2), (0, 4), (4, 0), -(1, 4), (-1, 4), (4, 1), (-4, 1), (3, 3), (-3, 3), (2, 4), (-2, 4), -(4, 2), (-4, 2), (0, 5), (3, 4), (-3, 4), (4, 3), (-4, 3), (5, 0), -(1, 5), (-1, 5), (5, 1), (-5, 1), (2, 5), (-2, 5), (5, 2), (-5, 2), -(4, 4), (-4, 4), (3, 5), (-3, 5), (5, 3), (-5, 3), (0, 6), (6, 0), -(1, 6), (-1, 6), (6, 1), (-6, 1), (2, 6), (-2, 6), (6, 2), (-6, 2), -(4, 5), (-4, 5), (5, 4), (-5, 4), (3, 6), (-3, 6), (6, 3), (-6, 3), -(0, 7), (7, 0), (1, 7), (-1, 7), (5, 5), (-5, 5), (7, 1), (-7, 1), -(4, 6), (-4, 6), (6, 4), (-6, 4), (2, 7), (-2, 7), (7, 2), (-7, 2), -(3, 7), (-3, 7), (7, 3), (-7, 3), (5, 6), (-5, 6), (6, 5), (-6, 5), -(8, 0), (4, 7), (-4, 7), (7, 4), (-7, 4), (8, 1), (8, 2), (6, 6), -(-6, 6), (8, 3), (5, 7), (-5, 7), (7, 5), (-7, 5), (8, 4), (6, 7), -(-6, 7), (7, 6), (-7, 6), (8, 5), (7, 7), (-7, 7), (8, 6), (8, 7) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -For example, distance code `1` indicates offset of `(0, 1)` for the neighboring -pixel, that is, the pixel above the current pixel (0-pixel difference in -X-direction and 1 pixel difference in Y-direction). Similarly, distance code -`3` indicates left-top pixel. - -The decoder can convert a distances code 'i' to a scan-line order distance -'dist' as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -(xi, yi) = distance_map[i] -dist = x + y * xsize -if (dist < 1) { - dist = 1 -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -where 'distance_map' is the mapping noted above and `xsize` is the width of the -image in pixels. - - -#### 4.2.3 Color Cache Coding - -Color cache stores a set of colors that have been recently used in the image. - -**Rationale:** This way, the recently used colors can sometimes be referred to -more efficiently than emitting them using other two methods (described in -[4.2.1](#huffman-coded-literals) and [4.2.2](#lz77-backward-reference)). - -Color cache codes are stored as follows. First, there is a 1-bit value that -indicates if the color cache is used. If this bit is 0, no color cache codes -exist, and they are not transmitted in the Huffman code that decodes the green -symbols and the length prefix codes. However, if this bit is 1, the color cache -size is read next: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int color_cache_code_bits = ReadBits(4); -int color_cache_size = 1 << color_cache_code_bits; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -`color_cache_code_bits` defines the size of the color_cache by (1 << -`color_cache_code_bits`). The range of allowed values for -`color_cache_code_bits` is \[1..11\]. Compliant decoders must indicate a -corrupted bitstream for other values. - -A color cache is an array of size `color_cache_size`. Each entry -stores one ARGB color. Colors are looked up by indexing them by -(0x1e35a7bd * `color`) >> (32 - `color_cache_code_bits`). Only one -lookup is done in a color cache; there is no conflict resolution. - -In the beginning of decoding or encoding of an image, all entries in all -color cache values are set to zero. The color cache code is converted to -this color at decoding time. The state of the color cache is maintained -by inserting every pixel, be it produced by backward referencing or as -literals, into the cache in the order they appear in the stream. - - -5 Entropy Code --------------- - -### 5.1 Overview - -Most of the data is coded using [canonical Huffman code][canonical_huff]. Hence, -the codes are transmitted by sending the _Huffman code lengths_, as opposed to -the actual _Huffman codes_. - -In particular, the format uses **spatially-variant Huffman coding**. In other -words, different blocks of the image can potentially use different entropy -codes. - -**Rationale**: Different areas of the image may have different characteristics. So, allowing them to use different entropy codes provides more flexibility and -potentially a better compression. - -### 5.2 Details - -The encoded image data consists of two parts: - - 1. Meta Huffman codes - 1. Entropy-coded image data - -#### 5.2.1 Decoding of Meta Huffman Codes - -As noted earlier, the format allows the use of different Huffman codes for -different blocks of the image. _Meta Huffman codes_ are indexes identifying -which Huffman codes to use in different parts of the image. - -Meta Huffman codes may be used _only_ when the image is being used in the -[role](#roles-of-image-data) of an _ARGB image_. - -There are two possibilities for the meta Huffman codes, indicated by a 1-bit -value: - - * If this bit is zero, there is only one meta Huffman code used everywhere in - the image. No more data is stored. - * If this bit is one, the image uses multiple meta Huffman codes. These meta - Huffman codes are stored as an _entropy image_ (described below). - -**Entropy image:** - -The entropy image defines which Huffman codes are used in different parts of the -image, as described below. - -The first 3-bits contain the `huffman_bits` value. The dimensions of the entropy -image are derived from 'huffman_bits'. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int huffman_bits = ReadBits(3) + 2; -int huffman_xsize = DIV_ROUND_UP(xsize, 1 << huffman_bits); -int huffman_ysize = DIV_ROUND_UP(ysize, 1 << huffman_bits); -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -where `DIV_ROUND_UP` is as defined [earlier](#predictor-transform). - -Next bits contain an entropy image of width `huffman_xsize` and height -`huffman_ysize`. - -**Interpretation of Meta Huffman Codes:** - -For any given pixel (x, y), there is a set of five Huffman codes associated with -it. These codes are (in bitstream order): - - * **Huffman code #1**: used for green channel, backward-reference length and - color cache - * **Huffman code #2, #3 and #4**: used for red, blue and alpha channels - respectively. - * **Huffman code #5**: used for backward-reference distance. - -From here on, we refer to this set as a **Huffman code group**. - -The number of Huffman code groups in the ARGB image can be obtained by finding -the _largest meta Huffman code_ from the entropy image: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int num_huff_groups = max(entropy image) + 1; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -where `max(entropy image)` indicates the largest Huffman code stored in the -entropy image. - -As each Huffman code groups contains five Huffman codes, the total number of -Huffman codes is: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int num_huff_codes = 5 * num_huff_groups; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Given a pixel (x, y) in the ARGB image, we can obtain the corresponding Huffman -codes to be used as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int position = (y >> huffman_bits) * huffman_xsize + (x >> huffman_bits); -int meta_huff_code = (entropy_image[pos] >> 8) & 0xffff; -HuffmanCodeGroup huff_group = huffman_code_groups[meta_huff_code]; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -where, we have assumed the existence of `HuffmanCodeGroup` structure, which -represents a set of five Huffman codes. Also, `huffman_code_groups` is an array -of `HuffmanCodeGroup` (of size `num_huff_groups`). - -The decoder then uses Huffman code group `huff_group` to decode the pixel -(x, y) as explained in the [next section](#decoding-entropy-coded-image-data). - -#### 5.2.2 Decoding Entropy-coded Image Data - -For the current position (x, y) in the image, the decoder first identifies the -corresponding Huffman code group (as explained in the last section). Given the -Huffman code group, the pixel is read and decoded as follows: - -Read next symbol S from the bitstream using Huffman code #1. \[See -[next section](#decoding-the-code-lengths) for details on decoding the Huffman -code lengths\]. Note that S is any integer in the range `0` to -`(256 + 24 + ` [`color_cache_size`](#color-cache-code)`- 1)`. - -The interpretation of S depends on its value: - - 1. if S < 256 - 1. Use S as the green component - 1. Read red from the bitstream using Huffman code #2 - 1. Read blue from the bitstream using Huffman code #3 - 1. Read alpha from the bitstream using Huffman code #4 - 1. if S < 256 + 24 - 1. Use S - 256 as a length prefix code - 1. Read extra bits for length from the bitstream - 1. Determine backward-reference length L from length prefix code and the - extra bits read. - 1. Read distance prefix code from the bitstream using Huffman code #5 - 1. Read extra bits for distance from the bitstream - 1. Determine backward-reference distance D from distance prefix code and - the extra bits read. - 1. Copy the L pixels (in scan-line order) from the sequence of pixels - prior to them by D pixels. - 1. if S >= 256 + 24 - 1. Use S - (256 + 24) as the index into the color cache. - 1. Get ARGB color from the color cache at that index. - - -**Decoding the Code Lengths:** -{:#decoding-the-code-lengths} - -This section describes the details about reading a symbol from the bitstream by -decoding the Huffman code length. - -The Huffman code lengths can be coded in two ways. The method used is specified -by a 1-bit value. - - * If this bit is 1, it is a _simple code length code_, and - * If this bit is 0, it is a _normal code length code_. - -**(i) Simple Code Length Code:** - -This variant is used in the special case when only 1 or 2 Huffman code lengths -are non-zero, and are in the range of \[0, 255\]. All other Huffman code lengths -are implicitly zeros. - -The first bit indicates the number of non-zero code lengths: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int num_code_lengths = ReadBits(1) + 1; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The first code length is stored either using a 1-bit code for values of 0 and 1, -or using an 8-bit code for values in range \[0, 255\]. The second code length, -when present, is coded as an 8-bit code. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int is_first_8bits = ReadBits(1); -code_lengths[0] = ReadBits(1 + 7 * is_first_8bits); -if (num_code_lengths == 2) { - code_lengths[1] = ReadBits(8); -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Note:** Another special case is when _all_ Huffman code lengths are _zeros_ -(an empty Huffman code). For example, a Huffman code for distance can be empty -if there are no backward references. Similarly, Huffman codes for alpha, red, -and blue can be empty if all pixels within the same meta Huffman code are -produced using the color cache. However, this case doesn't need a special -handling, as empty Huffman codes can be coded as those containing a single -symbol `0`. - -**(ii) Normal Code Length Code:** - -The code lengths of a Huffman code are read as follows: `num_code_lengths` -specifies the number of code lengths; the rest of the code lengths -(according to the order in `kCodeLengthCodeOrder`) are zeros. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int kCodeLengthCodes = 19; -int kCodeLengthCodeOrder[kCodeLengthCodes] = { - 17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 -}; -int code_lengths[kCodeLengthCodes] = { 0 }; // All zeros. -int num_code_lengths = 4 + ReadBits(4); -for (i = 0; i < num_code_lengths; ++i) { - code_lengths[kCodeLengthCodeOrder[i]] = ReadBits(3); -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - * Code length code \[0..15\] indicates literal code lengths. - * Value 0 means no symbols have been coded. - * Values \[1..15\] indicate the bit length of the respective code. - * Code 16 repeats the previous non-zero value \[3..6\] times, i.e., - 3 + `ReadBits(2)` times. If code 16 is used before a non-zero - value has been emitted, a value of 8 is repeated. - * Code 17 emits a streak of zeros \[3..10\], i.e., 3 + `ReadBits(3)` - times. - * Code 18 emits a streak of zeros of length \[11..138\], i.e., - 11 + `ReadBits(7)` times. - - -6 Overall Structure of the Format ---------------------------------- - -Below is a view into the format in Backus-Naur form. It does not cover -all details. End-of-image (EOI) is only implicitly coded into the number -of pixels (xsize * ysize). - - -#### Basic Structure - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ::= - ::= -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -#### Structure of Transforms - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ::= (1-bit value 1; ) | - 1-bit value 0 - ::= | | | - - ::= 2-bit value 0; - ::= 3-bit sub-pixel code ; - ::= 2-bit value 1; - ::= 3-bit sub-pixel code ; - ::= 2-bit value 2 - ::= 2-bit value 3; - ::= 8-bit color count; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -#### Structure of the Image Data - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ::= - ::= - ::= 1-bit value 0 | - (1-bit value 1; ) - ::= 3-bit subsample value; - ::= 1 bit value 0 | - (1-bit value 1; 4-bit value for color cache size) - ::= | - ::= - - See "Interpretation of Meta Huffman codes" to - understand what each of these five Huffman codes are - for. - ::= | - ::= see "Simple code length code" for details - ::= ; encoded code lengths - ::= see section "Normal code length code" - ::= (( | | ) - ) | "" -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A possible example sequence: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1-bit value 1 -1-bit value 11-bit value 0 - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -[canonical_huff]: http://en.wikipedia.org/wiki/Canonical_Huffman_code diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/Android.mk b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/Android.mk deleted file mode 100644 index 13fb3b46..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/Android.mk +++ /dev/null @@ -1,93 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -################################################################################ -# libexample_util - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - example_util.c \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../src - -LOCAL_MODULE := example_util - -include $(BUILD_STATIC_LIBRARY) - -################################################################################ -# cwebp - -include $(CLEAR_VARS) - -# Note: to enable jpeg/png encoding the sources from AOSP can be used with -# minor modification to their Android.mk files. -LOCAL_SRC_FILES := \ - cwebp.c \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_STATIC_LIBRARIES := example_util imageio_util imagedec webpdemux webp - -LOCAL_MODULE := cwebp - -include $(BUILD_EXECUTABLE) - -################################################################################ -# dwebp - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - dwebp.c \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_STATIC_LIBRARIES := example_util imagedec imageenc webpdemux webp -LOCAL_MODULE := dwebp - -include $(BUILD_EXECUTABLE) - -################################################################################ -# webpmux - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - webpmux.c \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_STATIC_LIBRARIES := example_util imageio_util webpmux webp - -LOCAL_MODULE := webpmux_example - -include $(BUILD_EXECUTABLE) - -################################################################################ -# img2webp - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - img2webp.c \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_STATIC_LIBRARIES := example_util imageio_util imagedec webpmux webpdemux \ - webp - -LOCAL_MODULE := img2webp_example - -include $(BUILD_EXECUTABLE) - -################################################################################ -# webpinfo - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - webpinfo.c \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_STATIC_LIBRARIES := example_util imageio_util webp - -LOCAL_MODULE := webpinfo_example - -include $(BUILD_EXECUTABLE) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/Makefile.am deleted file mode 100644 index 8d52589f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/Makefile.am +++ /dev/null @@ -1,119 +0,0 @@ -AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_srcdir)/src - -bin_PROGRAMS = -if BUILD_DEMUX - bin_PROGRAMS += dwebp cwebp -endif -if BUILD_ANIMDIFF - noinst_PROGRAMS = anim_diff anim_dump -endif -if BUILD_GIF2WEBP - bin_PROGRAMS += gif2webp -endif -if BUILD_IMG2WEBP - bin_PROGRAMS += img2webp -endif -if BUILD_MUX - bin_PROGRAMS += webpmux -endif -if BUILD_VWEBP - bin_PROGRAMS += vwebp -endif -if BUILD_WEBPINFO - bin_PROGRAMS += webpinfo -endif - -noinst_LTLIBRARIES = libexample_util.la - -libexample_util_la_SOURCES = example_util.c example_util.h -libexample_util_la_LIBADD = ../src/libwebp.la - -anim_diff_SOURCES = anim_diff.c anim_util.c anim_util.h gifdec.c gifdec.h -anim_diff_CPPFLAGS = $(AM_CPPFLAGS) $(GIF_INCLUDES) -anim_diff_LDADD = -anim_diff_LDADD += ../src/demux/libwebpdemux.la -anim_diff_LDADD += libexample_util.la -anim_diff_LDADD += ../imageio/libimageio_util.la -anim_diff_LDADD += $(GIF_LIBS) -lm - -anim_dump_SOURCES = anim_dump.c anim_util.c anim_util.h gifdec.c gifdec.h -anim_dump_CPPFLAGS = $(AM_CPPFLAGS) $(PNG_INCLUDES) -anim_dump_CPPFLAGS += $(GIF_INCLUDES) -anim_dump_LDADD = -anim_dump_LDADD += ../src/demux/libwebpdemux.la -anim_dump_LDADD += libexample_util.la -anim_dump_LDADD += ../imageio/libimageio_util.la -anim_dump_LDADD += ../imageio/libimageenc.la -anim_dump_LDADD += $(PNG_LIBS) $(GIF_LIBS) $(TIFF_LIBS) -lm - -cwebp_SOURCES = cwebp.c stopwatch.h -cwebp_CPPFLAGS = $(AM_CPPFLAGS) -cwebp_LDADD = -cwebp_LDADD += libexample_util.la -cwebp_LDADD += ../imageio/libimageio_util.la -cwebp_LDADD += ../imageio/libimagedec.la -cwebp_LDADD += ../src/libwebp.la -cwebp_LDADD += $(JPEG_LIBS) $(PNG_LIBS) $(TIFF_LIBS) - -dwebp_SOURCES = dwebp.c stopwatch.h -dwebp_CPPFLAGS = $(AM_CPPFLAGS) -dwebp_CPPFLAGS += $(JPEG_INCLUDES) $(PNG_INCLUDES) -dwebp_LDADD = -dwebp_LDADD += libexample_util.la -dwebp_LDADD += ../imageio/libimagedec.la -dwebp_LDADD += ../imageio/libimageenc.la -dwebp_LDADD += ../imageio/libimageio_util.la -dwebp_LDADD += ../src/libwebp.la -dwebp_LDADD +=$(PNG_LIBS) $(JPEG_LIBS) - -gif2webp_SOURCES = gif2webp.c gifdec.c gifdec.h -gif2webp_CPPFLAGS = $(AM_CPPFLAGS) $(GIF_INCLUDES) -gif2webp_LDADD = -gif2webp_LDADD += libexample_util.la -gif2webp_LDADD += ../imageio/libimageio_util.la -gif2webp_LDADD += ../src/mux/libwebpmux.la -gif2webp_LDADD += ../src/libwebp.la -gif2webp_LDADD += $(GIF_LIBS) - -vwebp_SOURCES = vwebp.c -vwebp_CPPFLAGS = $(AM_CPPFLAGS) $(GL_INCLUDES) -vwebp_LDADD = -vwebp_LDADD += libexample_util.la -vwebp_LDADD += ../imageio/libimageio_util.la -vwebp_LDADD += ../src/demux/libwebpdemux.la -vwebp_LDADD += $(GL_LIBS) - -webpmux_SOURCES = webpmux.c -webpmux_CPPFLAGS = $(AM_CPPFLAGS) -webpmux_LDADD = -webpmux_LDADD += libexample_util.la -webpmux_LDADD += ../imageio/libimageio_util.la -webpmux_LDADD += ../src/mux/libwebpmux.la -webpmux_LDADD += ../src/libwebp.la - -img2webp_SOURCES = img2webp.c -img2webp_CPPFLAGS = $(AM_CPPFLAGS) -img2webp_LDADD = -img2webp_LDADD += libexample_util.la -img2webp_LDADD += ../imageio/libimageio_util.la -img2webp_LDADD += ../imageio/libimagedec.la -img2webp_LDADD += ../src/mux/libwebpmux.la -img2webp_LDADD += ../src/libwebp.la -img2webp_LDADD += $(PNG_LIBS) $(JPEG_LIBS) $(TIFF_LIBS) - -webpinfo_SOURCES = webpinfo.c -webpinfo_CPPFLAGS = $(AM_CPPFLAGS) -webpinfo_LDADD = -webpinfo_LDADD += libexample_util.la -webpinfo_LDADD += ../imageio/libimageio_util.la -webpinfo_LDADD += ../src/libwebp.la - -if BUILD_LIBWEBPDECODER - anim_diff_LDADD += ../src/libwebpdecoder.la - anim_dump_LDADD += ../src/libwebpdecoder.la - vwebp_LDADD += ../src/libwebpdecoder.la -else - anim_diff_LDADD += ../src/libwebp.la - anim_dump_LDADD += ../src/libwebp.la - vwebp_LDADD += ../src/libwebp.la -endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_diff.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_diff.c deleted file mode 100644 index 7ffabc8f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_diff.c +++ /dev/null @@ -1,317 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Checks if given pair of animated GIF/WebP images are identical: -// That is: their reconstructed canvases match pixel-by-pixel and their other -// animation properties (loop count etc) also match. -// -// example: anim_diff foo.gif bar.webp - -#include -#include -#include -#include // for 'strtod'. -#include // for 'strcmp'. - -#include "./anim_util.h" -#include "./example_util.h" -#include "./unicode.h" - -#if defined(_MSC_VER) && _MSC_VER < 1900 -#define snprintf _snprintf -#endif - -// Returns true if 'a + b' will overflow. -static int AdditionWillOverflow(int a, int b) { - return (b > 0) && (a > INT_MAX - b); -} - -static int FramesAreEqual(const uint8_t* const rgba1, - const uint8_t* const rgba2, int width, int height) { - const int stride = width * 4; // Always true for 'DecodedFrame.rgba'. - return !memcmp(rgba1, rgba2, stride * height); -} - -static WEBP_INLINE int PixelsAreSimilar(uint32_t src, uint32_t dst, - int max_allowed_diff) { - const int src_a = (src >> 24) & 0xff; - const int src_r = (src >> 16) & 0xff; - const int src_g = (src >> 8) & 0xff; - const int src_b = (src >> 0) & 0xff; - const int dst_a = (dst >> 24) & 0xff; - const int dst_r = (dst >> 16) & 0xff; - const int dst_g = (dst >> 8) & 0xff; - const int dst_b = (dst >> 0) & 0xff; - - return (abs(src_r * src_a - dst_r * dst_a) <= (max_allowed_diff * 255)) && - (abs(src_g * src_a - dst_g * dst_a) <= (max_allowed_diff * 255)) && - (abs(src_b * src_a - dst_b * dst_a) <= (max_allowed_diff * 255)) && - (abs(src_a - dst_a) <= max_allowed_diff); -} - -static int FramesAreSimilar(const uint8_t* const rgba1, - const uint8_t* const rgba2, - int width, int height, int max_allowed_diff) { - int i, j; - assert(max_allowed_diff > 0); - for (j = 0; j < height; ++j) { - for (i = 0; i < width; ++i) { - const int stride = width * 4; - const size_t offset = j * stride + i; - if (!PixelsAreSimilar(rgba1[offset], rgba2[offset], max_allowed_diff)) { - return 0; - } - } - } - return 1; -} - -// Minimize number of frames by combining successive frames that have at max -// 'max_diff' difference per channel between corresponding pixels. -static void MinimizeAnimationFrames(AnimatedImage* const img, int max_diff) { - uint32_t i; - for (i = 1; i < img->num_frames; ++i) { - DecodedFrame* const frame1 = &img->frames[i - 1]; - DecodedFrame* const frame2 = &img->frames[i]; - const uint8_t* const rgba1 = frame1->rgba; - const uint8_t* const rgba2 = frame2->rgba; - int should_merge_frames = 0; - // If merging frames will result in integer overflow for 'duration', - // skip merging. - if (AdditionWillOverflow(frame1->duration, frame2->duration)) continue; - if (max_diff > 0) { - should_merge_frames = FramesAreSimilar(rgba1, rgba2, img->canvas_width, - img->canvas_height, max_diff); - } else { - should_merge_frames = - FramesAreEqual(rgba1, rgba2, img->canvas_width, img->canvas_height); - } - if (should_merge_frames) { // Merge 'i+1'th frame into 'i'th frame. - frame1->duration += frame2->duration; - if (i + 1 < img->num_frames) { - memmove(&img->frames[i], &img->frames[i + 1], - (img->num_frames - i - 1) * sizeof(*img->frames)); - } - --img->num_frames; - --i; - } - } -} - -static int CompareValues(uint32_t a, uint32_t b, const char* output_str) { - if (a != b) { - fprintf(stderr, "%s: %d vs %d\n", output_str, a, b); - return 0; - } - return 1; -} - -static int CompareBackgroundColor(uint32_t bg1, uint32_t bg2, int premultiply) { - if (premultiply) { - const int alpha1 = (bg1 >> 24) & 0xff; - const int alpha2 = (bg2 >> 24) & 0xff; - if (alpha1 == 0 && alpha2 == 0) return 1; - } - if (bg1 != bg2) { - fprintf(stderr, "Background color mismatch: 0x%08x vs 0x%08x\n", - bg1, bg2); - return 0; - } - return 1; -} - -// Note: As long as frame durations and reconstructed frames are identical, it -// is OK for other aspects like offsets, dispose/blend method to vary. -static int CompareAnimatedImagePair(const AnimatedImage* const img1, - const AnimatedImage* const img2, - int premultiply, - double min_psnr) { - int ok = 1; - const int is_multi_frame_image = (img1->num_frames > 1); - uint32_t i; - - ok = CompareValues(img1->canvas_width, img2->canvas_width, - "Canvas width mismatch") && ok; - ok = CompareValues(img1->canvas_height, img2->canvas_height, - "Canvas height mismatch") && ok; - ok = CompareValues(img1->num_frames, img2->num_frames, - "Frame count mismatch") && ok; - if (!ok) return 0; // These are fatal failures, can't proceed. - - if (is_multi_frame_image) { // Checks relevant for multi-frame images only. - int max_loop_count_workaround = 0; - // Transcodes to webp increase the gif loop count by 1 for compatibility. - // When the gif has the maximum value the webp value will be off by one. - if ((img1->format == ANIM_GIF && img1->loop_count == 65536 && - img2->format == ANIM_WEBP && img2->loop_count == 65535) || - (img1->format == ANIM_WEBP && img1->loop_count == 65535 && - img2->format == ANIM_GIF && img2->loop_count == 65536)) { - max_loop_count_workaround = 1; - } - ok = (max_loop_count_workaround || - CompareValues(img1->loop_count, img2->loop_count, - "Loop count mismatch")) && ok; - ok = CompareBackgroundColor(img1->bgcolor, img2->bgcolor, - premultiply) && ok; - } - - for (i = 0; i < img1->num_frames; ++i) { - // Pixel-by-pixel comparison. - const uint8_t* const rgba1 = img1->frames[i].rgba; - const uint8_t* const rgba2 = img2->frames[i].rgba; - int max_diff; - double psnr; - if (is_multi_frame_image) { // Check relevant for multi-frame images only. - const char format[] = "Frame #%d, duration mismatch"; - char tmp[sizeof(format) + 8]; - ok = ok && (snprintf(tmp, sizeof(tmp), format, i) >= 0); - ok = ok && CompareValues(img1->frames[i].duration, - img2->frames[i].duration, tmp); - } - GetDiffAndPSNR(rgba1, rgba2, img1->canvas_width, img1->canvas_height, - premultiply, &max_diff, &psnr); - if (min_psnr > 0.) { - if (psnr < min_psnr) { - fprintf(stderr, "Frame #%d, psnr = %.2lf (min_psnr = %f)\n", i, - psnr, min_psnr); - ok = 0; - } - } else { - if (max_diff != 0) { - fprintf(stderr, "Frame #%d, max pixel diff: %d\n", i, max_diff); - ok = 0; - } - } - } - return ok; -} - -static void Help(void) { - printf("Usage: anim_diff [options]\n"); - printf("\nOptions:\n"); - printf(" -dump_frames dump decoded frames in PAM format\n"); - printf(" -min_psnr ... minimum per-frame PSNR\n"); - printf(" -raw_comparison ..... if this flag is not used, RGB is\n"); - printf(" premultiplied before comparison\n"); - printf(" -max_diff ..... maximum allowed difference per channel\n" - " between corresponding pixels in subsequent\n" - " frames\n"); - printf(" -h .................. this help\n"); - printf(" -version ............ print version number and exit\n"); -} - -int main(int argc, const char* argv[]) { - int return_code = -1; - int dump_frames = 0; - const char* dump_folder = NULL; - double min_psnr = 0.; - int got_input1 = 0; - int got_input2 = 0; - int premultiply = 1; - int max_diff = 0; - int i, c; - const char* files[2] = { NULL, NULL }; - AnimatedImage images[2]; - - INIT_WARGV(argc, argv); - - for (c = 1; c < argc; ++c) { - int parse_error = 0; - if (!strcmp(argv[c], "-dump_frames")) { - if (c < argc - 1) { - dump_frames = 1; - dump_folder = (const char*)GET_WARGV(argv, ++c); - } else { - parse_error = 1; - } - } else if (!strcmp(argv[c], "-min_psnr")) { - if (c < argc - 1) { - min_psnr = ExUtilGetFloat(argv[++c], &parse_error); - } else { - parse_error = 1; - } - } else if (!strcmp(argv[c], "-raw_comparison")) { - premultiply = 0; - } else if (!strcmp(argv[c], "-max_diff")) { - if (c < argc - 1) { - max_diff = ExUtilGetInt(argv[++c], 0, &parse_error); - } else { - parse_error = 1; - } - } else if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) { - Help(); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-version")) { - int dec_version, demux_version; - GetAnimatedImageVersions(&dec_version, &demux_version); - printf("WebP Decoder version: %d.%d.%d\nWebP Demux version: %d.%d.%d\n", - (dec_version >> 16) & 0xff, (dec_version >> 8) & 0xff, - (dec_version >> 0) & 0xff, - (demux_version >> 16) & 0xff, (demux_version >> 8) & 0xff, - (demux_version >> 0) & 0xff); - FREE_WARGV_AND_RETURN(0); - } else { - if (!got_input1) { - files[0] = (const char*)GET_WARGV(argv, c); - got_input1 = 1; - } else if (!got_input2) { - files[1] = (const char*)GET_WARGV(argv, c); - got_input2 = 1; - } else { - parse_error = 1; - } - } - if (parse_error) { - Help(); - FREE_WARGV_AND_RETURN(-1); - } - } - if (argc < 3) { - Help(); - FREE_WARGV_AND_RETURN(-1); - } - - - if (!got_input2) { - Help(); - FREE_WARGV_AND_RETURN(-1); - } - - if (dump_frames) { - WPRINTF("Dumping decoded frames in: %s\n", (const W_CHAR*)dump_folder); - } - - memset(images, 0, sizeof(images)); - for (i = 0; i < 2; ++i) { - WPRINTF("Decoding file: %s\n", (const W_CHAR*)files[i]); - if (!ReadAnimatedImage(files[i], &images[i], dump_frames, dump_folder)) { - WFPRINTF(stderr, "Error decoding file: %s\n Aborting.\n", - (const W_CHAR*)files[i]); - return_code = -2; - goto End; - } else { - MinimizeAnimationFrames(&images[i], max_diff); - } - } - - if (!CompareAnimatedImagePair(&images[0], &images[1], - premultiply, min_psnr)) { - WFPRINTF(stderr, "\nFiles %s and %s differ.\n", (const W_CHAR*)files[0], - (const W_CHAR*)files[1]); - return_code = -3; - } else { - WPRINTF("\nFiles %s and %s are identical.\n", (const W_CHAR*)files[0], - (const W_CHAR*)files[1]); - return_code = 0; - } - End: - ClearAnimatedImage(&images[0]); - ClearAnimatedImage(&images[1]); - FREE_WARGV_AND_RETURN(return_code); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_dump.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_dump.c deleted file mode 100644 index e4473386..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_dump.c +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Decodes an animated WebP file and dumps the decoded frames as PNG or TIFF. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include // for 'strcmp'. - -#include "./anim_util.h" -#include "webp/decode.h" -#include "../imageio/image_enc.h" -#include "./unicode.h" - -#if defined(_MSC_VER) && _MSC_VER < 1900 -#define snprintf _snprintf -#endif - -static void Help(void) { - printf("Usage: anim_dump [options] files...\n"); - printf("\nOptions:\n"); - printf(" -folder .... dump folder (default: '.')\n"); - printf(" -prefix .... prefix for dumped frames " - "(default: 'dump_')\n"); - printf(" -tiff ............... save frames as TIFF\n"); - printf(" -pam ................ save frames as PAM\n"); - printf(" -h .................. this help\n"); - printf(" -version ............ print version number and exit\n"); -} - -int main(int argc, const char* argv[]) { - int error = 0; - const W_CHAR* dump_folder = TO_W_CHAR("."); - const W_CHAR* prefix = TO_W_CHAR("dump_"); - const W_CHAR* suffix = TO_W_CHAR("png"); - WebPOutputFileFormat format = PNG; - int c; - - INIT_WARGV(argc, argv); - - if (argc < 2) { - Help(); - FREE_WARGV_AND_RETURN(-1); - } - - for (c = 1; !error && c < argc; ++c) { - if (!strcmp(argv[c], "-folder")) { - if (c + 1 == argc) { - fprintf(stderr, "missing argument after option '%s'\n", argv[c]); - error = 1; - break; - } - dump_folder = GET_WARGV(argv, ++c); - } else if (!strcmp(argv[c], "-prefix")) { - if (c + 1 == argc) { - fprintf(stderr, "missing argument after option '%s'\n", argv[c]); - error = 1; - break; - } - prefix = GET_WARGV(argv, ++c); - } else if (!strcmp(argv[c], "-tiff")) { - format = TIFF; - suffix = TO_W_CHAR("tiff"); - } else if (!strcmp(argv[c], "-pam")) { - format = PAM; - suffix = TO_W_CHAR("pam"); - } else if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) { - Help(); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-version")) { - int dec_version, demux_version; - GetAnimatedImageVersions(&dec_version, &demux_version); - printf("WebP Decoder version: %d.%d.%d\nWebP Demux version: %d.%d.%d\n", - (dec_version >> 16) & 0xff, (dec_version >> 8) & 0xff, - (dec_version >> 0) & 0xff, - (demux_version >> 16) & 0xff, (demux_version >> 8) & 0xff, - (demux_version >> 0) & 0xff); - FREE_WARGV_AND_RETURN(0); - } else { - uint32_t i; - AnimatedImage image; - const W_CHAR* const file = GET_WARGV(argv, c); - memset(&image, 0, sizeof(image)); - WPRINTF("Decoding file: %s as %s/%sxxxx.%s\n", - file, dump_folder, prefix, suffix); - if (!ReadAnimatedImage((const char*)file, &image, 0, NULL)) { - WFPRINTF(stderr, "Error decoding file: %s\n Aborting.\n", file); - error = 1; - break; - } - for (i = 0; !error && i < image.num_frames; ++i) { - W_CHAR out_file[1024]; - WebPDecBuffer buffer; - WebPInitDecBuffer(&buffer); - buffer.colorspace = MODE_RGBA; - buffer.is_external_memory = 1; - buffer.width = image.canvas_width; - buffer.height = image.canvas_height; - buffer.u.RGBA.rgba = image.frames[i].rgba; - buffer.u.RGBA.stride = buffer.width * sizeof(uint32_t); - buffer.u.RGBA.size = buffer.u.RGBA.stride * buffer.height; - WSNPRINTF(out_file, sizeof(out_file), "%s/%s%.4d.%s", - dump_folder, prefix, i, suffix); - if (!WebPSaveImage(&buffer, format, (const char*)out_file)) { - WFPRINTF(stderr, "Error while saving image '%s'\n", out_file); - error = 1; - } - WebPFreeDecBuffer(&buffer); - } - ClearAnimatedImage(&image); - } - } - FREE_WARGV_AND_RETURN(error ? 1 : 0); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_util.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_util.c deleted file mode 100644 index b6ee97b2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_util.c +++ /dev/null @@ -1,779 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utilities for animated images - -#include "./anim_util.h" - -#include -#include -#include -#include - -#if defined(WEBP_HAVE_GIF) -#include -#endif -#include "webp/format_constants.h" -#include "webp/decode.h" -#include "webp/demux.h" -#include "../imageio/imageio_util.h" -#include "./gifdec.h" -#include "./unicode.h" -#include "./unicode_gif.h" - -#if defined(_MSC_VER) && _MSC_VER < 1900 -#define snprintf _snprintf -#endif - -static const int kNumChannels = 4; - -// ----------------------------------------------------------------------------- -// Common utilities. - -#if defined(WEBP_HAVE_GIF) -// Returns true if the frame covers the full canvas. -static int IsFullFrame(int width, int height, - int canvas_width, int canvas_height) { - return (width == canvas_width && height == canvas_height); -} -#endif // WEBP_HAVE_GIF - -static int CheckSizeForOverflow(uint64_t size) { - return (size == (size_t)size); -} - -static int AllocateFrames(AnimatedImage* const image, uint32_t num_frames) { - uint32_t i; - uint8_t* mem = NULL; - DecodedFrame* frames = NULL; - const uint64_t rgba_size = - (uint64_t)image->canvas_width * kNumChannels * image->canvas_height; - const uint64_t total_size = (uint64_t)num_frames * rgba_size * sizeof(*mem); - const uint64_t total_frame_size = (uint64_t)num_frames * sizeof(*frames); - if (!CheckSizeForOverflow(total_size) || - !CheckSizeForOverflow(total_frame_size)) { - return 0; - } - mem = (uint8_t*)WebPMalloc((size_t)total_size); - frames = (DecodedFrame*)WebPMalloc((size_t)total_frame_size); - - if (mem == NULL || frames == NULL) { - WebPFree(mem); - WebPFree(frames); - return 0; - } - WebPFree(image->raw_mem); - image->num_frames = num_frames; - image->frames = frames; - for (i = 0; i < num_frames; ++i) { - frames[i].rgba = mem + i * rgba_size; - frames[i].duration = 0; - frames[i].is_key_frame = 0; - } - image->raw_mem = mem; - return 1; -} - -void ClearAnimatedImage(AnimatedImage* const image) { - if (image != NULL) { - WebPFree(image->raw_mem); - WebPFree(image->frames); - image->num_frames = 0; - image->frames = NULL; - image->raw_mem = NULL; - } -} - -#if defined(WEBP_HAVE_GIF) -// Clear the canvas to transparent. -static void ZeroFillCanvas(uint8_t* rgba, - uint32_t canvas_width, uint32_t canvas_height) { - memset(rgba, 0, canvas_width * kNumChannels * canvas_height); -} - -// Clear given frame rectangle to transparent. -static void ZeroFillFrameRect(uint8_t* rgba, int rgba_stride, int x_offset, - int y_offset, int width, int height) { - int j; - assert(width * kNumChannels <= rgba_stride); - rgba += y_offset * rgba_stride + x_offset * kNumChannels; - for (j = 0; j < height; ++j) { - memset(rgba, 0, width * kNumChannels); - rgba += rgba_stride; - } -} - -// Copy width * height pixels from 'src' to 'dst'. -static void CopyCanvas(const uint8_t* src, uint8_t* dst, - uint32_t width, uint32_t height) { - assert(src != NULL && dst != NULL); - memcpy(dst, src, width * kNumChannels * height); -} - -// Copy pixels in the given rectangle from 'src' to 'dst' honoring the 'stride'. -static void CopyFrameRectangle(const uint8_t* src, uint8_t* dst, int stride, - int x_offset, int y_offset, - int width, int height) { - int j; - const int width_in_bytes = width * kNumChannels; - const size_t offset = y_offset * stride + x_offset * kNumChannels; - assert(width_in_bytes <= stride); - src += offset; - dst += offset; - for (j = 0; j < height; ++j) { - memcpy(dst, src, width_in_bytes); - src += stride; - dst += stride; - } -} -#endif // WEBP_HAVE_GIF - -// Canonicalize all transparent pixels to transparent black to aid comparison. -static void CleanupTransparentPixels(uint32_t* rgba, - uint32_t width, uint32_t height) { - const uint32_t* const rgba_end = rgba + width * height; - while (rgba < rgba_end) { - const uint8_t alpha = (*rgba >> 24) & 0xff; - if (alpha == 0) { - *rgba = 0; - } - ++rgba; - } -} - -// Dump frame to a PAM file. Returns true on success. -static int DumpFrame(const char filename[], const char dump_folder[], - uint32_t frame_num, const uint8_t rgba[], - int canvas_width, int canvas_height) { - int ok = 0; - size_t max_len; - int y; - const W_CHAR* base_name = NULL; - W_CHAR* file_name = NULL; - FILE* f = NULL; - const char* row; - - if (dump_folder == NULL) dump_folder = (const char*)TO_W_CHAR("."); - - base_name = WSTRRCHR(filename, '/'); - base_name = (base_name == NULL) ? (const W_CHAR*)filename : base_name + 1; - max_len = WSTRLEN(dump_folder) + 1 + WSTRLEN(base_name) - + strlen("_frame_") + strlen(".pam") + 8; - file_name = (W_CHAR*)WebPMalloc(max_len * sizeof(*file_name)); - if (file_name == NULL) goto End; - - if (WSNPRINTF(file_name, max_len, "%s/%s_frame_%d.pam", - (const W_CHAR*)dump_folder, base_name, frame_num) < 0) { - fprintf(stderr, "Error while generating file name\n"); - goto End; - } - - f = WFOPEN(file_name, "wb"); - if (f == NULL) { - WFPRINTF(stderr, "Error opening file for writing: %s\n", file_name); - ok = 0; - goto End; - } - if (fprintf(f, "P7\nWIDTH %d\nHEIGHT %d\n" - "DEPTH 4\nMAXVAL 255\nTUPLTYPE RGB_ALPHA\nENDHDR\n", - canvas_width, canvas_height) < 0) { - WFPRINTF(stderr, "Write error for file %s\n", file_name); - goto End; - } - row = (const char*)rgba; - for (y = 0; y < canvas_height; ++y) { - if (fwrite(row, canvas_width * kNumChannels, 1, f) != 1) { - WFPRINTF(stderr, "Error writing to file: %s\n", file_name); - goto End; - } - row += canvas_width * kNumChannels; - } - ok = 1; - End: - if (f != NULL) fclose(f); - WebPFree(file_name); - return ok; -} - -// ----------------------------------------------------------------------------- -// WebP Decoding. - -// Returns true if this is a valid WebP bitstream. -static int IsWebP(const WebPData* const webp_data) { - return (WebPGetInfo(webp_data->bytes, webp_data->size, NULL, NULL) != 0); -} - -// Read animated WebP bitstream 'webp_data' into 'AnimatedImage' struct. -static int ReadAnimatedWebP(const char filename[], - const WebPData* const webp_data, - AnimatedImage* const image, int dump_frames, - const char dump_folder[]) { - int ok = 0; - int dump_ok = 1; - uint32_t frame_index = 0; - int prev_frame_timestamp = 0; - WebPAnimDecoder* dec; - WebPAnimInfo anim_info; - - memset(image, 0, sizeof(*image)); - - dec = WebPAnimDecoderNew(webp_data, NULL); - if (dec == NULL) { - WFPRINTF(stderr, "Error parsing image: %s\n", (const W_CHAR*)filename); - goto End; - } - - if (!WebPAnimDecoderGetInfo(dec, &anim_info)) { - fprintf(stderr, "Error getting global info about the animation\n"); - goto End; - } - - // Animation properties. - image->canvas_width = anim_info.canvas_width; - image->canvas_height = anim_info.canvas_height; - image->loop_count = anim_info.loop_count; - image->bgcolor = anim_info.bgcolor; - - // Allocate frames. - if (!AllocateFrames(image, anim_info.frame_count)) return 0; - - // Decode frames. - while (WebPAnimDecoderHasMoreFrames(dec)) { - DecodedFrame* curr_frame; - uint8_t* curr_rgba; - uint8_t* frame_rgba; - int timestamp; - - if (!WebPAnimDecoderGetNext(dec, &frame_rgba, ×tamp)) { - fprintf(stderr, "Error decoding frame #%u\n", frame_index); - goto End; - } - assert(frame_index < anim_info.frame_count); - curr_frame = &image->frames[frame_index]; - curr_rgba = curr_frame->rgba; - curr_frame->duration = timestamp - prev_frame_timestamp; - curr_frame->is_key_frame = 0; // Unused. - memcpy(curr_rgba, frame_rgba, - image->canvas_width * kNumChannels * image->canvas_height); - - // Needed only because we may want to compare with GIF later. - CleanupTransparentPixels((uint32_t*)curr_rgba, - image->canvas_width, image->canvas_height); - - if (dump_frames && dump_ok) { - dump_ok = DumpFrame(filename, dump_folder, frame_index, curr_rgba, - image->canvas_width, image->canvas_height); - if (!dump_ok) { // Print error once, but continue decode loop. - fprintf(stderr, "Error dumping frames to %s\n", dump_folder); - } - } - - ++frame_index; - prev_frame_timestamp = timestamp; - } - ok = dump_ok; - if (ok) image->format = ANIM_WEBP; - - End: - WebPAnimDecoderDelete(dec); - return ok; -} - -// ----------------------------------------------------------------------------- -// GIF Decoding. - -#if defined(WEBP_HAVE_GIF) - -// Returns true if this is a valid GIF bitstream. -static int IsGIF(const WebPData* const data) { - return data->size > GIF_STAMP_LEN && - (!memcmp(GIF_STAMP, data->bytes, GIF_STAMP_LEN) || - !memcmp(GIF87_STAMP, data->bytes, GIF_STAMP_LEN) || - !memcmp(GIF89_STAMP, data->bytes, GIF_STAMP_LEN)); -} - -// GIFLIB_MAJOR is only defined in libgif >= 4.2.0. -#if defined(GIFLIB_MAJOR) && defined(GIFLIB_MINOR) -# define LOCAL_GIF_VERSION ((GIFLIB_MAJOR << 8) | GIFLIB_MINOR) -# define LOCAL_GIF_PREREQ(maj, min) \ - (LOCAL_GIF_VERSION >= (((maj) << 8) | (min))) -#else -# define LOCAL_GIF_VERSION 0 -# define LOCAL_GIF_PREREQ(maj, min) 0 -#endif - -#if !LOCAL_GIF_PREREQ(5, 0) - -// Added in v5.0 -typedef struct { - int DisposalMode; -#define DISPOSAL_UNSPECIFIED 0 // No disposal specified -#define DISPOSE_DO_NOT 1 // Leave image in place -#define DISPOSE_BACKGROUND 2 // Set area to background color -#define DISPOSE_PREVIOUS 3 // Restore to previous content - int UserInputFlag; // User confirmation required before disposal - int DelayTime; // Pre-display delay in 0.01sec units - int TransparentColor; // Palette index for transparency, -1 if none -#define NO_TRANSPARENT_COLOR -1 -} GraphicsControlBlock; - -static int DGifExtensionToGCB(const size_t GifExtensionLength, - const GifByteType* GifExtension, - GraphicsControlBlock* gcb) { - if (GifExtensionLength != 4) { - return GIF_ERROR; - } - gcb->DisposalMode = (GifExtension[0] >> 2) & 0x07; - gcb->UserInputFlag = (GifExtension[0] & 0x02) != 0; - gcb->DelayTime = GifExtension[1] | (GifExtension[2] << 8); - if (GifExtension[0] & 0x01) { - gcb->TransparentColor = (int)GifExtension[3]; - } else { - gcb->TransparentColor = NO_TRANSPARENT_COLOR; - } - return GIF_OK; -} - -static int DGifSavedExtensionToGCB(GifFileType* GifFile, int ImageIndex, - GraphicsControlBlock* gcb) { - int i; - if (ImageIndex < 0 || ImageIndex > GifFile->ImageCount - 1) { - return GIF_ERROR; - } - gcb->DisposalMode = DISPOSAL_UNSPECIFIED; - gcb->UserInputFlag = 0; - gcb->DelayTime = 0; - gcb->TransparentColor = NO_TRANSPARENT_COLOR; - - for (i = 0; i < GifFile->SavedImages[ImageIndex].ExtensionBlockCount; i++) { - ExtensionBlock* ep = &GifFile->SavedImages[ImageIndex].ExtensionBlocks[i]; - if (ep->Function == GRAPHICS_EXT_FUNC_CODE) { - return DGifExtensionToGCB( - ep->ByteCount, (const GifByteType*)ep->Bytes, gcb); - } - } - return GIF_ERROR; -} - -#define CONTINUE_EXT_FUNC_CODE 0x00 - -// Signature was changed in v5.0 -#define DGifOpenFileName(a, b) DGifOpenFileName(a) - -#endif // !LOCAL_GIF_PREREQ(5, 0) - -// Signature changed in v5.1 -#if !LOCAL_GIF_PREREQ(5, 1) -#define DGifCloseFile(a, b) DGifCloseFile(a) -#endif - -static int IsKeyFrameGIF(const GifImageDesc* prev_desc, int prev_dispose, - const DecodedFrame* const prev_frame, - int canvas_width, int canvas_height) { - if (prev_frame == NULL) return 1; - if (prev_dispose == DISPOSE_BACKGROUND) { - if (IsFullFrame(prev_desc->Width, prev_desc->Height, - canvas_width, canvas_height)) { - return 1; - } - if (prev_frame->is_key_frame) return 1; - } - return 0; -} - -static int GetTransparentIndexGIF(GifFileType* gif) { - GraphicsControlBlock first_gcb; - memset(&first_gcb, 0, sizeof(first_gcb)); - DGifSavedExtensionToGCB(gif, 0, &first_gcb); - return first_gcb.TransparentColor; -} - -static uint32_t GetBackgroundColorGIF(GifFileType* gif) { - const int transparent_index = GetTransparentIndexGIF(gif); - const ColorMapObject* const color_map = gif->SColorMap; - if (transparent_index != NO_TRANSPARENT_COLOR && - gif->SBackGroundColor == transparent_index) { - return 0x00000000; // Special case: transparent black. - } else if (color_map == NULL || color_map->Colors == NULL - || gif->SBackGroundColor >= color_map->ColorCount) { - return 0xffffffff; // Invalid: assume white. - } else { - const GifColorType color = color_map->Colors[gif->SBackGroundColor]; - return (0xff << 24) | - (color.Red << 16) | - (color.Green << 8) | - (color.Blue << 0); - } -} - -// Find appropriate app extension and get loop count from the next extension. -// We use Chrome's interpretation of the 'loop_count' semantics: -// if not present -> loop once -// if present and loop_count == 0, return 0 ('infinite'). -// if present and loop_count != 0, it's the number of *extra* loops -// so we need to return loop_count + 1 as total loop number. -static uint32_t GetLoopCountGIF(const GifFileType* const gif) { - int i; - for (i = 0; i < gif->ImageCount; ++i) { - const SavedImage* const image = &gif->SavedImages[i]; - int j; - for (j = 0; (j + 1) < image->ExtensionBlockCount; ++j) { - const ExtensionBlock* const eb1 = image->ExtensionBlocks + j; - const ExtensionBlock* const eb2 = image->ExtensionBlocks + j + 1; - const char* const signature = (const char*)eb1->Bytes; - const int signature_is_ok = - (eb1->Function == APPLICATION_EXT_FUNC_CODE) && - (eb1->ByteCount == 11) && - (!memcmp(signature, "NETSCAPE2.0", 11) || - !memcmp(signature, "ANIMEXTS1.0", 11)); - if (signature_is_ok && - eb2->Function == CONTINUE_EXT_FUNC_CODE && eb2->ByteCount >= 3 && - eb2->Bytes[0] == 1) { - const uint32_t extra_loop = ((uint32_t)(eb2->Bytes[2]) << 8) + - ((uint32_t)(eb2->Bytes[1]) << 0); - return (extra_loop > 0) ? extra_loop + 1 : 0; - } - } - } - return 1; // Default. -} - -// Get duration of 'n'th frame in milliseconds. -static int GetFrameDurationGIF(GifFileType* gif, int n) { - GraphicsControlBlock gcb; - memset(&gcb, 0, sizeof(gcb)); - DGifSavedExtensionToGCB(gif, n, &gcb); - return gcb.DelayTime * 10; -} - -// Returns true if frame 'target' completely covers 'covered'. -static int CoversFrameGIF(const GifImageDesc* const target, - const GifImageDesc* const covered) { - return target->Left <= covered->Left && - covered->Left + covered->Width <= target->Left + target->Width && - target->Top <= covered->Top && - covered->Top + covered->Height <= target->Top + target->Height; -} - -static void RemapPixelsGIF(const uint8_t* const src, - const ColorMapObject* const cmap, - int transparent_color, int len, uint8_t* dst) { - int i; - for (i = 0; i < len; ++i) { - if (src[i] != transparent_color) { - // If a pixel in the current frame is transparent, we don't modify it, so - // that we can see-through the corresponding pixel from an earlier frame. - const GifColorType c = cmap->Colors[src[i]]; - dst[4 * i + 0] = c.Red; - dst[4 * i + 1] = c.Green; - dst[4 * i + 2] = c.Blue; - dst[4 * i + 3] = 0xff; - } - } -} - -static int ReadFrameGIF(const SavedImage* const gif_image, - const ColorMapObject* cmap, int transparent_color, - int out_stride, uint8_t* const dst) { - const GifImageDesc* image_desc = &gif_image->ImageDesc; - const uint8_t* in; - uint8_t* out; - int j; - - if (image_desc->ColorMap) cmap = image_desc->ColorMap; - - if (cmap == NULL || cmap->ColorCount != (1 << cmap->BitsPerPixel)) { - fprintf(stderr, "Potentially corrupt color map.\n"); - return 0; - } - - in = (const uint8_t*)gif_image->RasterBits; - out = dst + image_desc->Top * out_stride + image_desc->Left * kNumChannels; - - for (j = 0; j < image_desc->Height; ++j) { - RemapPixelsGIF(in, cmap, transparent_color, image_desc->Width, out); - in += image_desc->Width; - out += out_stride; - } - return 1; -} - -// Read animated GIF bitstream from 'filename' into 'AnimatedImage' struct. -static int ReadAnimatedGIF(const char filename[], AnimatedImage* const image, - int dump_frames, const char dump_folder[]) { - uint32_t frame_count; - uint32_t canvas_width, canvas_height; - uint32_t i; - int gif_error; - GifFileType* gif; - - gif = DGifOpenFileUnicode((const W_CHAR*)filename, NULL); - if (gif == NULL) { - WFPRINTF(stderr, "Could not read file: %s.\n", (const W_CHAR*)filename); - return 0; - } - - gif_error = DGifSlurp(gif); - if (gif_error != GIF_OK) { - WFPRINTF(stderr, "Could not parse image: %s.\n", (const W_CHAR*)filename); - GIFDisplayError(gif, gif_error); - DGifCloseFile(gif, NULL); - return 0; - } - - // Animation properties. - image->canvas_width = (uint32_t)gif->SWidth; - image->canvas_height = (uint32_t)gif->SHeight; - if (image->canvas_width > MAX_CANVAS_SIZE || - image->canvas_height > MAX_CANVAS_SIZE) { - fprintf(stderr, "Invalid canvas dimension: %d x %d\n", - image->canvas_width, image->canvas_height); - DGifCloseFile(gif, NULL); - return 0; - } - image->loop_count = GetLoopCountGIF(gif); - image->bgcolor = GetBackgroundColorGIF(gif); - - frame_count = (uint32_t)gif->ImageCount; - if (frame_count == 0) { - DGifCloseFile(gif, NULL); - return 0; - } - - if (image->canvas_width == 0 || image->canvas_height == 0) { - image->canvas_width = gif->SavedImages[0].ImageDesc.Width; - image->canvas_height = gif->SavedImages[0].ImageDesc.Height; - gif->SavedImages[0].ImageDesc.Left = 0; - gif->SavedImages[0].ImageDesc.Top = 0; - if (image->canvas_width == 0 || image->canvas_height == 0) { - fprintf(stderr, "Invalid canvas size in GIF.\n"); - DGifCloseFile(gif, NULL); - return 0; - } - } - // Allocate frames. - AllocateFrames(image, frame_count); - - canvas_width = image->canvas_width; - canvas_height = image->canvas_height; - - // Decode and reconstruct frames. - for (i = 0; i < frame_count; ++i) { - const int canvas_width_in_bytes = canvas_width * kNumChannels; - const SavedImage* const curr_gif_image = &gif->SavedImages[i]; - GraphicsControlBlock curr_gcb; - DecodedFrame* curr_frame; - uint8_t* curr_rgba; - - memset(&curr_gcb, 0, sizeof(curr_gcb)); - DGifSavedExtensionToGCB(gif, i, &curr_gcb); - - curr_frame = &image->frames[i]; - curr_rgba = curr_frame->rgba; - curr_frame->duration = GetFrameDurationGIF(gif, i); - // Force frames with a small or no duration to 100ms to be consistent - // with web browsers and other transcoding tools (like gif2webp itself). - if (curr_frame->duration <= 10) curr_frame->duration = 100; - - if (i == 0) { // Initialize as transparent. - curr_frame->is_key_frame = 1; - ZeroFillCanvas(curr_rgba, canvas_width, canvas_height); - } else { - DecodedFrame* const prev_frame = &image->frames[i - 1]; - const GifImageDesc* const prev_desc = &gif->SavedImages[i - 1].ImageDesc; - GraphicsControlBlock prev_gcb; - memset(&prev_gcb, 0, sizeof(prev_gcb)); - DGifSavedExtensionToGCB(gif, i - 1, &prev_gcb); - - curr_frame->is_key_frame = - IsKeyFrameGIF(prev_desc, prev_gcb.DisposalMode, prev_frame, - canvas_width, canvas_height); - - if (curr_frame->is_key_frame) { // Initialize as transparent. - ZeroFillCanvas(curr_rgba, canvas_width, canvas_height); - } else { - int prev_frame_disposed, curr_frame_opaque; - int prev_frame_completely_covered; - // Initialize with previous canvas. - uint8_t* const prev_rgba = image->frames[i - 1].rgba; - CopyCanvas(prev_rgba, curr_rgba, canvas_width, canvas_height); - - // Dispose previous frame rectangle. - prev_frame_disposed = - (prev_gcb.DisposalMode == DISPOSE_BACKGROUND || - prev_gcb.DisposalMode == DISPOSE_PREVIOUS); - curr_frame_opaque = - (curr_gcb.TransparentColor == NO_TRANSPARENT_COLOR); - prev_frame_completely_covered = - curr_frame_opaque && - CoversFrameGIF(&curr_gif_image->ImageDesc, prev_desc); - - if (prev_frame_disposed && !prev_frame_completely_covered) { - switch (prev_gcb.DisposalMode) { - case DISPOSE_BACKGROUND: { - ZeroFillFrameRect(curr_rgba, canvas_width_in_bytes, - prev_desc->Left, prev_desc->Top, - prev_desc->Width, prev_desc->Height); - break; - } - case DISPOSE_PREVIOUS: { - int src_frame_num = i - 2; - while (src_frame_num >= 0) { - GraphicsControlBlock src_frame_gcb; - memset(&src_frame_gcb, 0, sizeof(src_frame_gcb)); - DGifSavedExtensionToGCB(gif, src_frame_num, &src_frame_gcb); - if (src_frame_gcb.DisposalMode != DISPOSE_PREVIOUS) break; - --src_frame_num; - } - if (src_frame_num >= 0) { - // Restore pixels inside previous frame rectangle to - // corresponding pixels in source canvas. - uint8_t* const src_frame_rgba = - image->frames[src_frame_num].rgba; - CopyFrameRectangle(src_frame_rgba, curr_rgba, - canvas_width_in_bytes, - prev_desc->Left, prev_desc->Top, - prev_desc->Width, prev_desc->Height); - } else { - // Source canvas doesn't exist. So clear previous frame - // rectangle to background. - ZeroFillFrameRect(curr_rgba, canvas_width_in_bytes, - prev_desc->Left, prev_desc->Top, - prev_desc->Width, prev_desc->Height); - } - break; - } - default: - break; // Nothing to do. - } - } - } - } - - // Decode current frame. - if (!ReadFrameGIF(curr_gif_image, gif->SColorMap, curr_gcb.TransparentColor, - canvas_width_in_bytes, curr_rgba)) { - DGifCloseFile(gif, NULL); - return 0; - } - - if (dump_frames) { - if (!DumpFrame(filename, dump_folder, i, curr_rgba, - canvas_width, canvas_height)) { - DGifCloseFile(gif, NULL); - return 0; - } - } - } - image->format = ANIM_GIF; - DGifCloseFile(gif, NULL); - return 1; -} - -#else - -static int IsGIF(const WebPData* const data) { - (void)data; - return 0; -} - -static int ReadAnimatedGIF(const char filename[], AnimatedImage* const image, - int dump_frames, const char dump_folder[]) { - (void)filename; - (void)image; - (void)dump_frames; - (void)dump_folder; - fprintf(stderr, "GIF support not compiled. Please install the libgif-dev " - "package before building.\n"); - return 0; -} - -#endif // WEBP_HAVE_GIF - -// ----------------------------------------------------------------------------- - -int ReadAnimatedImage(const char filename[], AnimatedImage* const image, - int dump_frames, const char dump_folder[]) { - int ok = 0; - WebPData webp_data; - - WebPDataInit(&webp_data); - memset(image, 0, sizeof(*image)); - - if (!ImgIoUtilReadFile(filename, &webp_data.bytes, &webp_data.size)) { - WFPRINTF(stderr, "Error reading file: %s\n", (const W_CHAR*)filename); - return 0; - } - - if (IsWebP(&webp_data)) { - ok = ReadAnimatedWebP(filename, &webp_data, image, dump_frames, - dump_folder); - } else if (IsGIF(&webp_data)) { - ok = ReadAnimatedGIF(filename, image, dump_frames, dump_folder); - } else { - WFPRINTF(stderr, - "Unknown file type: %s. Supported file types are WebP and GIF\n", - (const W_CHAR*)filename); - ok = 0; - } - if (!ok) ClearAnimatedImage(image); - WebPDataClear(&webp_data); - return ok; -} - -static void Accumulate(double v1, double v2, double* const max_diff, - double* const sse) { - const double diff = fabs(v1 - v2); - if (diff > *max_diff) *max_diff = diff; - *sse += diff * diff; -} - -void GetDiffAndPSNR(const uint8_t rgba1[], const uint8_t rgba2[], - uint32_t width, uint32_t height, int premultiply, - int* const max_diff, double* const psnr) { - const uint32_t stride = width * kNumChannels; - const int kAlphaChannel = kNumChannels - 1; - double f_max_diff = 0.; - double sse = 0.; - uint32_t x, y; - for (y = 0; y < height; ++y) { - for (x = 0; x < stride; x += kNumChannels) { - int k; - const size_t offset = (size_t)y * stride + x; - const int alpha1 = rgba1[offset + kAlphaChannel]; - const int alpha2 = rgba2[offset + kAlphaChannel]; - Accumulate(alpha1, alpha2, &f_max_diff, &sse); - if (!premultiply) { - for (k = 0; k < kAlphaChannel; ++k) { - Accumulate(rgba1[offset + k], rgba2[offset + k], &f_max_diff, &sse); - } - } else { - // premultiply R/G/B channels with alpha value - for (k = 0; k < kAlphaChannel; ++k) { - Accumulate(rgba1[offset + k] * alpha1 / 255., - rgba2[offset + k] * alpha2 / 255., - &f_max_diff, &sse); - } - } - } - } - *max_diff = (int)f_max_diff; - if (*max_diff == 0) { - *psnr = 99.; // PSNR when images are identical. - } else { - sse /= stride * height; - *psnr = 4.3429448 * log(255. * 255. / sse); - } -} - -void GetAnimatedImageVersions(int* const decoder_version, - int* const demux_version) { - *decoder_version = WebPGetDecoderVersion(); - *demux_version = WebPGetDemuxVersion(); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_util.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_util.h deleted file mode 100644 index 574e032d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/anim_util.h +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utilities for animated images - -#ifndef WEBP_EXAMPLES_ANIM_UTIL_H_ -#define WEBP_EXAMPLES_ANIM_UTIL_H_ - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include "webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - ANIM_GIF, - ANIM_WEBP -} AnimatedFileFormat; - -typedef struct { - uint8_t* rgba; // Decoded and reconstructed full frame. - int duration; // Frame duration in milliseconds. - int is_key_frame; // True if this frame is a key-frame. -} DecodedFrame; - -typedef struct { - AnimatedFileFormat format; - uint32_t canvas_width; - uint32_t canvas_height; - uint32_t bgcolor; - uint32_t loop_count; - DecodedFrame* frames; - uint32_t num_frames; - void* raw_mem; -} AnimatedImage; - -// Deallocate everything in 'image' (but not the object itself). -void ClearAnimatedImage(AnimatedImage* const image); - -// Read animated image file into 'AnimatedImage' struct. -// If 'dump_frames' is true, dump frames to 'dump_folder'. -// Previous content of 'image' is obliterated. -// Upon successful return, content of 'image' must be deleted by -// calling 'ClearAnimatedImage'. -int ReadAnimatedImage(const char filename[], AnimatedImage* const image, - int dump_frames, const char dump_folder[]); - -// Given two RGBA buffers, calculate max pixel difference and PSNR. -// If 'premultiply' is true, R/G/B values will be pre-multiplied by the -// transparency before comparison. -void GetDiffAndPSNR(const uint8_t rgba1[], const uint8_t rgba2[], - uint32_t width, uint32_t height, int premultiply, - int* const max_diff, double* const psnr); - -// Return library versions used by anim_util. -void GetAnimatedImageVersions(int* const decoder_version, - int* const demux_version); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_EXAMPLES_ANIM_UTIL_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/cwebp.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/cwebp.c deleted file mode 100644 index aa96caf5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/cwebp.c +++ /dev/null @@ -1,1183 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// simple command line calling the WebPEncode function. -// Encodes a raw .YUV into WebP bitstream -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include -#include - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include "../examples/example_util.h" -#include "../imageio/image_dec.h" -#include "../imageio/imageio_util.h" -#include "./stopwatch.h" -#include "./unicode.h" -#include "webp/encode.h" - -#ifndef WEBP_DLL -#ifdef __cplusplus -extern "C" { -#endif - -extern void* VP8GetCPUInfo; // opaque forward declaration. - -#ifdef __cplusplus -} // extern "C" -#endif -#endif // WEBP_DLL - -//------------------------------------------------------------------------------ - -static int verbose = 0; - -static int ReadYUV(const uint8_t* const data, size_t data_size, - WebPPicture* const pic) { - const int use_argb = pic->use_argb; - const int uv_width = (pic->width + 1) / 2; - const int uv_height = (pic->height + 1) / 2; - const int y_plane_size = pic->width * pic->height; - const int uv_plane_size = uv_width * uv_height; - const size_t expected_data_size = y_plane_size + 2 * uv_plane_size; - - if (data_size != expected_data_size) { - fprintf(stderr, - "input data doesn't have the expected size (%d instead of %d)\n", - (int)data_size, (int)expected_data_size); - return 0; - } - - pic->use_argb = 0; - if (!WebPPictureAlloc(pic)) return 0; - ImgIoUtilCopyPlane(data, pic->width, pic->y, pic->y_stride, - pic->width, pic->height); - ImgIoUtilCopyPlane(data + y_plane_size, uv_width, - pic->u, pic->uv_stride, uv_width, uv_height); - ImgIoUtilCopyPlane(data + y_plane_size + uv_plane_size, uv_width, - pic->v, pic->uv_stride, uv_width, uv_height); - return use_argb ? WebPPictureYUVAToARGB(pic) : 1; -} - -#ifdef HAVE_WINCODEC_H - -static int ReadPicture(const char* const filename, WebPPicture* const pic, - int keep_alpha, Metadata* const metadata) { - int ok = 0; - const uint8_t* data = NULL; - size_t data_size = 0; - if (pic->width != 0 && pic->height != 0) { - ok = ImgIoUtilReadFile(filename, &data, &data_size); - ok = ok && ReadYUV(data, data_size, pic); - } else { - // If no size specified, try to decode it using WIC. - ok = ReadPictureWithWIC(filename, pic, keep_alpha, metadata); - if (!ok) { - ok = ImgIoUtilReadFile(filename, &data, &data_size); - ok = ok && ReadWebP(data, data_size, pic, keep_alpha, metadata); - } - } - if (!ok) { - WFPRINTF(stderr, "Error! Could not process file %s\n", - (const W_CHAR*)filename); - } - free((void*)data); - return ok; -} - -#else // !HAVE_WINCODEC_H - -static int ReadPicture(const char* const filename, WebPPicture* const pic, - int keep_alpha, Metadata* const metadata) { - const uint8_t* data = NULL; - size_t data_size = 0; - int ok = 0; - - ok = ImgIoUtilReadFile(filename, &data, &data_size); - if (!ok) goto End; - - if (pic->width == 0 || pic->height == 0) { - WebPImageReader reader = WebPGuessImageReader(data, data_size); - ok = reader(data, data_size, pic, keep_alpha, metadata); - } else { - // If image size is specified, infer it as YUV format. - ok = ReadYUV(data, data_size, pic); - } - End: - if (!ok) { - WFPRINTF(stderr, "Error! Could not process file %s\n", - (const W_CHAR*)filename); - } - free((void*)data); - return ok; -} - -#endif // !HAVE_WINCODEC_H - -static void AllocExtraInfo(WebPPicture* const pic) { - const int mb_w = (pic->width + 15) / 16; - const int mb_h = (pic->height + 15) / 16; - pic->extra_info = - (uint8_t*)WebPMalloc(mb_w * mb_h * sizeof(*pic->extra_info)); -} - -static void PrintByteCount(const int bytes[4], int total_size, - int* const totals) { - int s; - int total = 0; - for (s = 0; s < 4; ++s) { - fprintf(stderr, "| %7d ", bytes[s]); - total += bytes[s]; - if (totals) totals[s] += bytes[s]; - } - fprintf(stderr, "| %7d (%.1f%%)\n", total, 100.f * total / total_size); -} - -static void PrintPercents(const int counts[4]) { - int s; - const int total = counts[0] + counts[1] + counts[2] + counts[3]; - for (s = 0; s < 4; ++s) { - fprintf(stderr, "| %2d%%", (int)(100. * counts[s] / total + .5)); - } - fprintf(stderr, "| %7d\n", total); -} - -static void PrintValues(const int values[4]) { - int s; - for (s = 0; s < 4; ++s) { - fprintf(stderr, "| %7d ", values[s]); - } - fprintf(stderr, "|\n"); -} - -static void PrintFullLosslessInfo(const WebPAuxStats* const stats, - const char* const description) { - fprintf(stderr, "Lossless-%s compressed size: %d bytes\n", - description, stats->lossless_size); - fprintf(stderr, " * Header size: %d bytes, image data size: %d\n", - stats->lossless_hdr_size, stats->lossless_data_size); - if (stats->lossless_features) { - fprintf(stderr, " * Lossless features used:"); - if (stats->lossless_features & 1) fprintf(stderr, " PREDICTION"); - if (stats->lossless_features & 2) fprintf(stderr, " CROSS-COLOR-TRANSFORM"); - if (stats->lossless_features & 4) fprintf(stderr, " SUBTRACT-GREEN"); - if (stats->lossless_features & 8) fprintf(stderr, " PALETTE"); - fprintf(stderr, "\n"); - } - fprintf(stderr, " * Precision Bits: histogram=%d transform=%d cache=%d\n", - stats->histogram_bits, stats->transform_bits, stats->cache_bits); - if (stats->palette_size > 0) { - fprintf(stderr, " * Palette size: %d\n", stats->palette_size); - } -} - -static void PrintExtraInfoLossless(const WebPPicture* const pic, - int short_output, - const char* const file_name) { - const WebPAuxStats* const stats = pic->stats; - if (short_output) { - fprintf(stderr, "%7d %2.2f\n", stats->coded_size, stats->PSNR[3]); - } else { - WFPRINTF(stderr, "File: %s\n", (const W_CHAR*)file_name); - fprintf(stderr, "Dimension: %d x %d\n", pic->width, pic->height); - fprintf(stderr, "Output: %d bytes (%.2f bpp)\n", stats->coded_size, - 8.f * stats->coded_size / pic->width / pic->height); - PrintFullLosslessInfo(stats, "ARGB"); - } -} - -static void PrintExtraInfoLossy(const WebPPicture* const pic, int short_output, - int full_details, - const char* const file_name) { - const WebPAuxStats* const stats = pic->stats; - if (short_output) { - fprintf(stderr, "%7d %2.2f\n", stats->coded_size, stats->PSNR[3]); - } else { - const int num_i4 = stats->block_count[0]; - const int num_i16 = stats->block_count[1]; - const int num_skip = stats->block_count[2]; - const int total = num_i4 + num_i16; - WFPRINTF(stderr, "File: %s\n", (const W_CHAR*)file_name); - fprintf(stderr, "Dimension: %d x %d%s\n", - pic->width, pic->height, - stats->alpha_data_size ? " (with alpha)" : ""); - fprintf(stderr, "Output: " - "%d bytes Y-U-V-All-PSNR %2.2f %2.2f %2.2f %2.2f dB\n" - " (%.2f bpp)\n", - stats->coded_size, - stats->PSNR[0], stats->PSNR[1], stats->PSNR[2], stats->PSNR[3], - 8.f * stats->coded_size / pic->width / pic->height); - if (total > 0) { - int totals[4] = { 0, 0, 0, 0 }; - fprintf(stderr, "block count: intra4: %6d (%.2f%%)\n" - " intra16: %6d (%.2f%%)\n" - " skipped: %6d (%.2f%%)\n", - num_i4, 100.f * num_i4 / total, - num_i16, 100.f * num_i16 / total, - num_skip, 100.f * num_skip / total); - fprintf(stderr, "bytes used: header: %6d (%.1f%%)\n" - " mode-partition: %6d (%.1f%%)\n", - stats->header_bytes[0], - 100.f * stats->header_bytes[0] / stats->coded_size, - stats->header_bytes[1], - 100.f * stats->header_bytes[1] / stats->coded_size); - if (stats->alpha_data_size > 0) { - fprintf(stderr, " transparency: %6d (%.1f dB)\n", - stats->alpha_data_size, stats->PSNR[4]); - } - fprintf(stderr, " Residuals bytes " - "|segment 1|segment 2|segment 3" - "|segment 4| total\n"); - if (full_details) { - fprintf(stderr, " intra4-coeffs: "); - PrintByteCount(stats->residual_bytes[0], stats->coded_size, totals); - fprintf(stderr, " intra16-coeffs: "); - PrintByteCount(stats->residual_bytes[1], stats->coded_size, totals); - fprintf(stderr, " chroma coeffs: "); - PrintByteCount(stats->residual_bytes[2], stats->coded_size, totals); - } - fprintf(stderr, " macroblocks: "); - PrintPercents(stats->segment_size); - fprintf(stderr, " quantizer: "); - PrintValues(stats->segment_quant); - fprintf(stderr, " filter level: "); - PrintValues(stats->segment_level); - if (full_details) { - fprintf(stderr, "------------------+---------"); - fprintf(stderr, "+---------+---------+---------+-----------------\n"); - fprintf(stderr, " segments total: "); - PrintByteCount(totals, stats->coded_size, NULL); - } - } - if (stats->lossless_size > 0) { - PrintFullLosslessInfo(stats, "alpha"); - } - } -} - -static void PrintMapInfo(const WebPPicture* const pic) { - if (pic->extra_info != NULL) { - const int mb_w = (pic->width + 15) / 16; - const int mb_h = (pic->height + 15) / 16; - const int type = pic->extra_info_type; - int x, y; - for (y = 0; y < mb_h; ++y) { - for (x = 0; x < mb_w; ++x) { - const int c = pic->extra_info[x + y * mb_w]; - if (type == 1) { // intra4/intra16 - fprintf(stderr, "%c", "+."[c]); - } else if (type == 2) { // segments - fprintf(stderr, "%c", ".-*X"[c]); - } else if (type == 3) { // quantizers - fprintf(stderr, "%.2d ", c); - } else if (type == 6 || type == 7) { - fprintf(stderr, "%3d ", c); - } else { - fprintf(stderr, "0x%.2x ", c); - } - } - fprintf(stderr, "\n"); - } - } -} - -//------------------------------------------------------------------------------ - -static int MyWriter(const uint8_t* data, size_t data_size, - const WebPPicture* const pic) { - FILE* const out = (FILE*)pic->custom_ptr; - return data_size ? (fwrite(data, data_size, 1, out) == 1) : 1; -} - -// Dumps a picture as a PGM file using the IMC4 layout. -static int DumpPicture(const WebPPicture* const picture, const char* PGM_name) { - int y; - const int uv_width = (picture->width + 1) / 2; - const int uv_height = (picture->height + 1) / 2; - const int stride = (picture->width + 1) & ~1; - const uint8_t* src_y = picture->y; - const uint8_t* src_u = picture->u; - const uint8_t* src_v = picture->v; - const uint8_t* src_a = picture->a; - const int alpha_height = - WebPPictureHasTransparency(picture) ? picture->height : 0; - const int height = picture->height + uv_height + alpha_height; - FILE* const f = WFOPEN(PGM_name, "wb"); - if (f == NULL) return 0; - fprintf(f, "P5\n%d %d\n255\n", stride, height); - for (y = 0; y < picture->height; ++y) { - if (fwrite(src_y, picture->width, 1, f) != 1) return 0; - if (picture->width & 1) fputc(0, f); // pad - src_y += picture->y_stride; - } - for (y = 0; y < uv_height; ++y) { - if (fwrite(src_u, uv_width, 1, f) != 1) return 0; - if (fwrite(src_v, uv_width, 1, f) != 1) return 0; - src_u += picture->uv_stride; - src_v += picture->uv_stride; - } - for (y = 0; y < alpha_height; ++y) { - if (fwrite(src_a, picture->width, 1, f) != 1) return 0; - if (picture->width & 1) fputc(0, f); // pad - src_a += picture->a_stride; - } - fclose(f); - return 1; -} - -// ----------------------------------------------------------------------------- -// Metadata writing. - -enum { - METADATA_EXIF = (1 << 0), - METADATA_ICC = (1 << 1), - METADATA_XMP = (1 << 2), - METADATA_ALL = METADATA_EXIF | METADATA_ICC | METADATA_XMP -}; - -static const int kChunkHeaderSize = 8; -static const int kTagSize = 4; - -static void PrintMetadataInfo(const Metadata* const metadata, - int metadata_written) { - if (metadata == NULL || metadata_written == 0) return; - - fprintf(stderr, "Metadata:\n"); - if (metadata_written & METADATA_ICC) { - fprintf(stderr, " * ICC profile: %6d bytes\n", (int)metadata->iccp.size); - } - if (metadata_written & METADATA_EXIF) { - fprintf(stderr, " * EXIF data: %6d bytes\n", (int)metadata->exif.size); - } - if (metadata_written & METADATA_XMP) { - fprintf(stderr, " * XMP data: %6d bytes\n", (int)metadata->xmp.size); - } -} - -// Outputs, in little endian, 'num' bytes from 'val' to 'out'. -static int WriteLE(FILE* const out, uint32_t val, int num) { - uint8_t buf[4]; - int i; - for (i = 0; i < num; ++i) { - buf[i] = (uint8_t)(val & 0xff); - val >>= 8; - } - return (fwrite(buf, num, 1, out) == 1); -} - -static int WriteLE24(FILE* const out, uint32_t val) { - return WriteLE(out, val, 3); -} - -static int WriteLE32(FILE* const out, uint32_t val) { - return WriteLE(out, val, 4); -} - -static int WriteMetadataChunk(FILE* const out, const char fourcc[4], - const MetadataPayload* const payload) { - const uint8_t zero = 0; - const size_t need_padding = payload->size & 1; - int ok = (fwrite(fourcc, kTagSize, 1, out) == 1); - ok = ok && WriteLE32(out, (uint32_t)payload->size); - ok = ok && (fwrite(payload->bytes, payload->size, 1, out) == 1); - return ok && (fwrite(&zero, need_padding, need_padding, out) == need_padding); -} - -// Sets 'flag' in 'vp8x_flags' and updates 'metadata_size' with the size of the -// chunk if there is metadata and 'keep' is true. -static int UpdateFlagsAndSize(const MetadataPayload* const payload, - int keep, int flag, - uint32_t* vp8x_flags, uint64_t* metadata_size) { - if (keep && payload->bytes != NULL && payload->size > 0) { - *vp8x_flags |= flag; - *metadata_size += kChunkHeaderSize + payload->size + (payload->size & 1); - return 1; - } - return 0; -} - -// Writes a WebP file using the image contained in 'memory_writer' and the -// metadata from 'metadata'. Metadata is controlled by 'keep_metadata' and the -// availability in 'metadata'. Returns true on success. -// For details see doc/webp-container-spec.txt#extended-file-format. -static int WriteWebPWithMetadata(FILE* const out, - const WebPPicture* const picture, - const WebPMemoryWriter* const memory_writer, - const Metadata* const metadata, - int keep_metadata, - int* const metadata_written) { - const char kVP8XHeader[] = "VP8X\x0a\x00\x00\x00"; - const int kAlphaFlag = 0x10; - const int kEXIFFlag = 0x08; - const int kICCPFlag = 0x20; - const int kXMPFlag = 0x04; - const size_t kRiffHeaderSize = 12; - const size_t kMaxChunkPayload = ~0 - kChunkHeaderSize - 1; - const size_t kMinSize = kRiffHeaderSize + kChunkHeaderSize; - uint32_t flags = 0; - uint64_t metadata_size = 0; - const int write_exif = UpdateFlagsAndSize(&metadata->exif, - !!(keep_metadata & METADATA_EXIF), - kEXIFFlag, &flags, &metadata_size); - const int write_iccp = UpdateFlagsAndSize(&metadata->iccp, - !!(keep_metadata & METADATA_ICC), - kICCPFlag, &flags, &metadata_size); - const int write_xmp = UpdateFlagsAndSize(&metadata->xmp, - !!(keep_metadata & METADATA_XMP), - kXMPFlag, &flags, &metadata_size); - uint8_t* webp = memory_writer->mem; - size_t webp_size = memory_writer->size; - - *metadata_written = 0; - - if (webp_size < kMinSize) return 0; - if (webp_size - kChunkHeaderSize + metadata_size > kMaxChunkPayload) { - fprintf(stderr, "Error! Addition of metadata would exceed " - "container size limit.\n"); - return 0; - } - - if (metadata_size > 0) { - const int kVP8XChunkSize = 18; - const int has_vp8x = !memcmp(webp + kRiffHeaderSize, "VP8X", kTagSize); - const uint32_t riff_size = (uint32_t)(webp_size - kChunkHeaderSize + - (has_vp8x ? 0 : kVP8XChunkSize) + - metadata_size); - // RIFF - int ok = (fwrite(webp, kTagSize, 1, out) == 1); - // RIFF size (file header size is not recorded) - ok = ok && WriteLE32(out, riff_size); - webp += kChunkHeaderSize; - webp_size -= kChunkHeaderSize; - // WEBP - ok = ok && (fwrite(webp, kTagSize, 1, out) == 1); - webp += kTagSize; - webp_size -= kTagSize; - if (has_vp8x) { // update the existing VP8X flags - webp[kChunkHeaderSize] |= (uint8_t)(flags & 0xff); - ok = ok && (fwrite(webp, kVP8XChunkSize, 1, out) == 1); - webp += kVP8XChunkSize; - webp_size -= kVP8XChunkSize; - } else { - const int is_lossless = !memcmp(webp, "VP8L", kTagSize); - if (is_lossless) { - // Presence of alpha is stored in the 37th bit (29th after the - // signature) of VP8L data. - if (webp[kChunkHeaderSize + 4] & (1 << 4)) flags |= kAlphaFlag; - } - ok = ok && (fwrite(kVP8XHeader, kChunkHeaderSize, 1, out) == 1); - ok = ok && WriteLE32(out, flags); - ok = ok && WriteLE24(out, picture->width - 1); - ok = ok && WriteLE24(out, picture->height - 1); - } - if (write_iccp) { - ok = ok && WriteMetadataChunk(out, "ICCP", &metadata->iccp); - *metadata_written |= METADATA_ICC; - } - // Image - ok = ok && (fwrite(webp, webp_size, 1, out) == 1); - if (write_exif) { - ok = ok && WriteMetadataChunk(out, "EXIF", &metadata->exif); - *metadata_written |= METADATA_EXIF; - } - if (write_xmp) { - ok = ok && WriteMetadataChunk(out, "XMP ", &metadata->xmp); - *metadata_written |= METADATA_XMP; - } - return ok; - } - - // No metadata, just write the original image file. - return (fwrite(webp, webp_size, 1, out) == 1); -} - -//------------------------------------------------------------------------------ - -static int ProgressReport(int percent, const WebPPicture* const picture) { - fprintf(stderr, "[%s]: %3d %% \r", - (char*)picture->user_data, percent); - return 1; // all ok -} - -//------------------------------------------------------------------------------ - -static void HelpShort(void) { - printf("Usage:\n\n"); - printf(" cwebp [options] -q quality input.png -o output.webp\n\n"); - printf("where quality is between 0 (poor) to 100 (very good).\n"); - printf("Typical value is around 80.\n\n"); - printf("Try -longhelp for an exhaustive list of advanced options.\n"); -} - -static void HelpLong(void) { - printf("Usage:\n"); - printf(" cwebp [-preset <...>] [options] in_file [-o out_file]\n\n"); - printf("If input size (-s) for an image is not specified, it is\n" - "assumed to be a PNG, JPEG, TIFF or WebP file.\n"); -#ifdef HAVE_WINCODEC_H - printf("Windows builds can take as input any of the files handled by WIC.\n"); -#endif - printf("\nOptions:\n"); - printf(" -h / -help ............. short help\n"); - printf(" -H / -longhelp ......... long help\n"); - printf(" -q ............. quality factor (0:small..100:big), " - "default=75\n"); - printf(" -alpha_q ......... transparency-compression quality (0..100)," - "\n default=100\n"); - printf(" -preset ....... preset setting, one of:\n"); - printf(" default, photo, picture,\n"); - printf(" drawing, icon, text\n"); - printf(" -preset must come first, as it overwrites other parameters\n"); - printf(" -z ............... activates lossless preset with given\n" - " level in [0:fast, ..., 9:slowest]\n"); - printf("\n"); - printf(" -m ............... compression method (0=fast, 6=slowest), " - "default=4\n"); - printf(" -segments ........ number of segments to use (1..4), " - "default=4\n"); - printf(" -size ............ target size (in bytes)\n"); - printf(" -psnr .......... target PSNR (in dB. typically: 42)\n"); - printf("\n"); - printf(" -s ......... input size (width x height) for YUV\n"); - printf(" -sns ............. spatial noise shaping (0:off, 100:max), " - "default=50\n"); - printf(" -f ............... filter strength (0=off..100), " - "default=60\n"); - printf(" -sharpness ....... " - "filter sharpness (0:most .. 7:least sharp), default=0\n"); - printf(" -strong ................ use strong filter instead " - "of simple (default)\n"); - printf(" -nostrong .............. use simple filter instead of strong\n"); - printf(" -sharp_yuv ............. use sharper (and slower) RGB->YUV " - "conversion\n"); - printf(" -partition_limit . limit quality to fit the 512k limit on\n"); - printf(" " - "the first partition (0=no degradation ... 100=full)\n"); - printf(" -pass ............ analysis pass number (1..10)\n"); - printf(" -crop .. crop picture with the given rectangle\n"); - printf(" -resize ........ resize picture (after any cropping)\n"); - printf(" -mt .................... use multi-threading if available\n"); - printf(" -low_memory ............ reduce memory usage (slower encoding)\n"); - printf(" -map ............. print map of extra info\n"); - printf(" -print_psnr ............ prints averaged PSNR distortion\n"); - printf(" -print_ssim ............ prints averaged SSIM distortion\n"); - printf(" -print_lsim ............ prints local-similarity distortion\n"); - printf(" -d .......... dump the compressed output (PGM file)\n"); - printf(" -alpha_method .... transparency-compression method (0..1), " - "default=1\n"); - printf(" -alpha_filter . predictive filtering for alpha plane,\n"); - printf(" one of: none, fast (default) or best\n"); - printf(" -exact ................. preserve RGB values in transparent area, " - "default=off\n"); - printf(" -blend_alpha ..... blend colors against background color\n" - " expressed as RGB values written in\n" - " hexadecimal, e.g. 0xc0e0d0 for red=0xc0\n" - " green=0xe0 and blue=0xd0\n"); - printf(" -noalpha ............... discard any transparency information\n"); - printf(" -lossless .............. encode image losslessly, default=off\n"); - printf(" -near_lossless ... use near-lossless image\n" - " preprocessing (0..100=off), " - "default=100\n"); - printf(" -hint ......... specify image characteristics hint,\n"); - printf(" one of: photo, picture or graph\n"); - - printf("\n"); - printf(" -metadata ..... comma separated list of metadata to\n"); - printf(" "); - printf("copy from the input to the output if present.\n"); - printf(" " - "Valid values: all, none (default), exif, icc, xmp\n"); - - printf("\n"); - printf(" -short ................. condense printed message\n"); - printf(" -quiet ................. don't print anything\n"); - printf(" -version ............... print version number and exit\n"); -#ifndef WEBP_DLL - printf(" -noasm ................. disable all assembly optimizations\n"); -#endif - printf(" -v ..................... verbose, e.g. print encoding/decoding " - "times\n"); - printf(" -progress .............. report encoding progress\n"); - printf("\n"); - printf("Experimental Options:\n"); - printf(" -jpeg_like ............. roughly match expected JPEG size\n"); - printf(" -af .................... auto-adjust filter strength\n"); - printf(" -pre ............. pre-processing filter\n"); - printf("\n"); -} - -//------------------------------------------------------------------------------ -// Error messages - -static const char* const kErrorMessages[VP8_ENC_ERROR_LAST] = { - "OK", - "OUT_OF_MEMORY: Out of memory allocating objects", - "BITSTREAM_OUT_OF_MEMORY: Out of memory re-allocating byte buffer", - "NULL_PARAMETER: NULL parameter passed to function", - "INVALID_CONFIGURATION: configuration is invalid", - "BAD_DIMENSION: Bad picture dimension. Maximum width and height " - "allowed is 16383 pixels.", - "PARTITION0_OVERFLOW: Partition #0 is too big to fit 512k.\n" - "To reduce the size of this partition, try using less segments " - "with the -segments option, and eventually reduce the number of " - "header bits using -partition_limit. More details are available " - "in the manual (`man cwebp`)", - "PARTITION_OVERFLOW: Partition is too big to fit 16M", - "BAD_WRITE: Picture writer returned an I/O error", - "FILE_TOO_BIG: File would be too big to fit in 4G", - "USER_ABORT: encoding abort requested by user" -}; - -//------------------------------------------------------------------------------ - -int main(int argc, const char* argv[]) { - int return_value = -1; - const char* in_file = NULL, *out_file = NULL, *dump_file = NULL; - FILE* out = NULL; - int c; - int short_output = 0; - int quiet = 0; - int keep_alpha = 1; - int blend_alpha = 0; - uint32_t background_color = 0xffffffu; - int crop = 0, crop_x = 0, crop_y = 0, crop_w = 0, crop_h = 0; - int resize_w = 0, resize_h = 0; - int lossless_preset = 6; - int use_lossless_preset = -1; // -1=unset, 0=don't use, 1=use it - int show_progress = 0; - int keep_metadata = 0; - int metadata_written = 0; - WebPPicture picture; - int print_distortion = -1; // -1=off, 0=PSNR, 1=SSIM, 2=LSIM - WebPPicture original_picture; // when PSNR or SSIM is requested - WebPConfig config; - WebPAuxStats stats; - WebPMemoryWriter memory_writer; - Metadata metadata; - Stopwatch stop_watch; - - INIT_WARGV(argc, argv); - - MetadataInit(&metadata); - WebPMemoryWriterInit(&memory_writer); - if (!WebPPictureInit(&picture) || - !WebPPictureInit(&original_picture) || - !WebPConfigInit(&config)) { - fprintf(stderr, "Error! Version mismatch!\n"); - FREE_WARGV_AND_RETURN(-1); - } - - if (argc == 1) { - HelpShort(); - FREE_WARGV_AND_RETURN(0); - } - - for (c = 1; c < argc; ++c) { - int parse_error = 0; - if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) { - HelpShort(); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-H") || !strcmp(argv[c], "-longhelp")) { - HelpLong(); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-o") && c < argc - 1) { - out_file = (const char*)GET_WARGV(argv, ++c); - } else if (!strcmp(argv[c], "-d") && c < argc - 1) { - dump_file = (const char*)GET_WARGV(argv, ++c); - config.show_compressed = 1; - } else if (!strcmp(argv[c], "-print_psnr")) { - config.show_compressed = 1; - print_distortion = 0; - } else if (!strcmp(argv[c], "-print_ssim")) { - config.show_compressed = 1; - print_distortion = 1; - } else if (!strcmp(argv[c], "-print_lsim")) { - config.show_compressed = 1; - print_distortion = 2; - } else if (!strcmp(argv[c], "-short")) { - ++short_output; - } else if (!strcmp(argv[c], "-s") && c < argc - 2) { - picture.width = ExUtilGetInt(argv[++c], 0, &parse_error); - picture.height = ExUtilGetInt(argv[++c], 0, &parse_error); - if (picture.width > WEBP_MAX_DIMENSION || picture.width < 0 || - picture.height > WEBP_MAX_DIMENSION || picture.height < 0) { - fprintf(stderr, - "Specified dimension (%d x %d) is out of range.\n", - picture.width, picture.height); - goto Error; - } - } else if (!strcmp(argv[c], "-m") && c < argc - 1) { - config.method = ExUtilGetInt(argv[++c], 0, &parse_error); - use_lossless_preset = 0; // disable -z option - } else if (!strcmp(argv[c], "-q") && c < argc - 1) { - config.quality = ExUtilGetFloat(argv[++c], &parse_error); - use_lossless_preset = 0; // disable -z option - } else if (!strcmp(argv[c], "-z") && c < argc - 1) { - lossless_preset = ExUtilGetInt(argv[++c], 0, &parse_error); - if (use_lossless_preset != 0) use_lossless_preset = 1; - } else if (!strcmp(argv[c], "-alpha_q") && c < argc - 1) { - config.alpha_quality = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-alpha_method") && c < argc - 1) { - config.alpha_compression = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-alpha_cleanup")) { - // This flag is obsolete, does opposite of -exact. - config.exact = 0; - } else if (!strcmp(argv[c], "-exact")) { - config.exact = 1; - } else if (!strcmp(argv[c], "-blend_alpha") && c < argc - 1) { - blend_alpha = 1; - // background color is given in hex with an optional '0x' prefix - background_color = ExUtilGetInt(argv[++c], 16, &parse_error); - background_color = background_color & 0x00ffffffu; - } else if (!strcmp(argv[c], "-alpha_filter") && c < argc - 1) { - ++c; - if (!strcmp(argv[c], "none")) { - config.alpha_filtering = 0; - } else if (!strcmp(argv[c], "fast")) { - config.alpha_filtering = 1; - } else if (!strcmp(argv[c], "best")) { - config.alpha_filtering = 2; - } else { - fprintf(stderr, "Error! Unrecognized alpha filter: %s\n", argv[c]); - goto Error; - } - } else if (!strcmp(argv[c], "-noalpha")) { - keep_alpha = 0; - } else if (!strcmp(argv[c], "-lossless")) { - config.lossless = 1; - } else if (!strcmp(argv[c], "-near_lossless") && c < argc - 1) { - config.near_lossless = ExUtilGetInt(argv[++c], 0, &parse_error); - config.lossless = 1; // use near-lossless only with lossless - } else if (!strcmp(argv[c], "-hint") && c < argc - 1) { - ++c; - if (!strcmp(argv[c], "photo")) { - config.image_hint = WEBP_HINT_PHOTO; - } else if (!strcmp(argv[c], "picture")) { - config.image_hint = WEBP_HINT_PICTURE; - } else if (!strcmp(argv[c], "graph")) { - config.image_hint = WEBP_HINT_GRAPH; - } else { - fprintf(stderr, "Error! Unrecognized image hint: %s\n", argv[c]); - goto Error; - } - } else if (!strcmp(argv[c], "-size") && c < argc - 1) { - config.target_size = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-psnr") && c < argc - 1) { - config.target_PSNR = ExUtilGetFloat(argv[++c], &parse_error); - } else if (!strcmp(argv[c], "-sns") && c < argc - 1) { - config.sns_strength = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-f") && c < argc - 1) { - config.filter_strength = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-af")) { - config.autofilter = 1; - } else if (!strcmp(argv[c], "-jpeg_like")) { - config.emulate_jpeg_size = 1; - } else if (!strcmp(argv[c], "-mt")) { - ++config.thread_level; // increase thread level - } else if (!strcmp(argv[c], "-low_memory")) { - config.low_memory = 1; - } else if (!strcmp(argv[c], "-strong")) { - config.filter_type = 1; - } else if (!strcmp(argv[c], "-nostrong")) { - config.filter_type = 0; - } else if (!strcmp(argv[c], "-sharpness") && c < argc - 1) { - config.filter_sharpness = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-sharp_yuv")) { - config.use_sharp_yuv = 1; - } else if (!strcmp(argv[c], "-pass") && c < argc - 1) { - config.pass = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-pre") && c < argc - 1) { - config.preprocessing = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-segments") && c < argc - 1) { - config.segments = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-partition_limit") && c < argc - 1) { - config.partition_limit = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-map") && c < argc - 1) { - picture.extra_info_type = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-crop") && c < argc - 4) { - crop = 1; - crop_x = ExUtilGetInt(argv[++c], 0, &parse_error); - crop_y = ExUtilGetInt(argv[++c], 0, &parse_error); - crop_w = ExUtilGetInt(argv[++c], 0, &parse_error); - crop_h = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-resize") && c < argc - 2) { - resize_w = ExUtilGetInt(argv[++c], 0, &parse_error); - resize_h = ExUtilGetInt(argv[++c], 0, &parse_error); -#ifndef WEBP_DLL - } else if (!strcmp(argv[c], "-noasm")) { - VP8GetCPUInfo = NULL; -#endif - } else if (!strcmp(argv[c], "-version")) { - const int version = WebPGetEncoderVersion(); - printf("%d.%d.%d\n", - (version >> 16) & 0xff, (version >> 8) & 0xff, version & 0xff); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-progress")) { - show_progress = 1; - } else if (!strcmp(argv[c], "-quiet")) { - quiet = 1; - } else if (!strcmp(argv[c], "-preset") && c < argc - 1) { - WebPPreset preset; - ++c; - if (!strcmp(argv[c], "default")) { - preset = WEBP_PRESET_DEFAULT; - } else if (!strcmp(argv[c], "photo")) { - preset = WEBP_PRESET_PHOTO; - } else if (!strcmp(argv[c], "picture")) { - preset = WEBP_PRESET_PICTURE; - } else if (!strcmp(argv[c], "drawing")) { - preset = WEBP_PRESET_DRAWING; - } else if (!strcmp(argv[c], "icon")) { - preset = WEBP_PRESET_ICON; - } else if (!strcmp(argv[c], "text")) { - preset = WEBP_PRESET_TEXT; - } else { - fprintf(stderr, "Error! Unrecognized preset: %s\n", argv[c]); - goto Error; - } - if (!WebPConfigPreset(&config, preset, config.quality)) { - fprintf(stderr, "Error! Could initialize configuration with preset.\n"); - goto Error; - } - } else if (!strcmp(argv[c], "-metadata") && c < argc - 1) { - static const struct { - const char* option; - int flag; - } kTokens[] = { - { "all", METADATA_ALL }, - { "none", 0 }, - { "exif", METADATA_EXIF }, - { "icc", METADATA_ICC }, - { "xmp", METADATA_XMP }, - }; - const size_t kNumTokens = sizeof(kTokens) / sizeof(kTokens[0]); - const char* start = argv[++c]; - const char* const end = start + strlen(start); - - while (start < end) { - size_t i; - const char* token = strchr(start, ','); - if (token == NULL) token = end; - - for (i = 0; i < kNumTokens; ++i) { - if ((size_t)(token - start) == strlen(kTokens[i].option) && - !strncmp(start, kTokens[i].option, strlen(kTokens[i].option))) { - if (kTokens[i].flag != 0) { - keep_metadata |= kTokens[i].flag; - } else { - keep_metadata = 0; - } - break; - } - } - if (i == kNumTokens) { - fprintf(stderr, "Error! Unknown metadata type '%.*s'\n", - (int)(token - start), start); - FREE_WARGV_AND_RETURN(-1); - } - start = token + 1; - } -#ifdef HAVE_WINCODEC_H - if (keep_metadata != 0 && keep_metadata != METADATA_ICC) { - // TODO(jzern): remove when -metadata is supported on all platforms. - fprintf(stderr, "Warning: only ICC profile extraction is currently" - " supported on this platform!\n"); - } -#endif - } else if (!strcmp(argv[c], "-v")) { - verbose = 1; - } else if (!strcmp(argv[c], "--")) { - if (c < argc - 1) in_file = (const char*)GET_WARGV(argv, ++c); - break; - } else if (argv[c][0] == '-') { - fprintf(stderr, "Error! Unknown option '%s'\n", argv[c]); - HelpLong(); - FREE_WARGV_AND_RETURN(-1); - } else { - in_file = (const char*)GET_WARGV(argv, c); - } - - if (parse_error) { - HelpLong(); - FREE_WARGV_AND_RETURN(-1); - } - } - if (in_file == NULL) { - fprintf(stderr, "No input file specified!\n"); - HelpShort(); - goto Error; - } - - if (use_lossless_preset == 1) { - if (!WebPConfigLosslessPreset(&config, lossless_preset)) { - fprintf(stderr, "Invalid lossless preset (-z %d)\n", lossless_preset); - goto Error; - } - } - - // Check for unsupported command line options for lossless mode and log - // warning for such options. - if (!quiet && config.lossless == 1) { - if (config.target_size > 0 || config.target_PSNR > 0) { - fprintf(stderr, "Encoding for specified size or PSNR is not supported" - " for lossless encoding. Ignoring such option(s)!\n"); - } - if (config.partition_limit > 0) { - fprintf(stderr, "Partition limit option is not required for lossless" - " encoding. Ignoring this option!\n"); - } - } - // If a target size or PSNR was given, but somehow the -pass option was - // omitted, force a reasonable value. - if (config.target_size > 0 || config.target_PSNR > 0) { - if (config.pass == 1) config.pass = 6; - } - - if (!WebPValidateConfig(&config)) { - fprintf(stderr, "Error! Invalid configuration.\n"); - goto Error; - } - - // Read the input. We need to decide if we prefer ARGB or YUVA - // samples, depending on the expected compression mode (this saves - // some conversion steps). - picture.use_argb = (config.lossless || config.use_sharp_yuv || - config.preprocessing > 0 || - crop || (resize_w | resize_h) > 0); - if (verbose) { - StopwatchReset(&stop_watch); - } - if (!ReadPicture(in_file, &picture, keep_alpha, - (keep_metadata == 0) ? NULL : &metadata)) { - WFPRINTF(stderr, "Error! Cannot read input picture file '%s'\n", - (const W_CHAR*)in_file); - goto Error; - } - picture.progress_hook = (show_progress && !quiet) ? ProgressReport : NULL; - - if (blend_alpha) { - WebPBlendAlpha(&picture, background_color); - } - - if (verbose) { - const double read_time = StopwatchReadAndReset(&stop_watch); - fprintf(stderr, "Time to read input: %.3fs\n", read_time); - } - - // Open the output - if (out_file != NULL) { - const int use_stdout = !WSTRCMP(out_file, "-"); - out = use_stdout ? ImgIoUtilSetBinaryMode(stdout) : WFOPEN(out_file, "wb"); - if (out == NULL) { - WFPRINTF(stderr, "Error! Cannot open output file '%s'\n", - (const W_CHAR*)out_file); - goto Error; - } else { - if (!short_output && !quiet) { - WFPRINTF(stderr, "Saving file '%s'\n", (const W_CHAR*)out_file); - } - } - if (keep_metadata == 0) { - picture.writer = MyWriter; - picture.custom_ptr = (void*)out; - } else { - picture.writer = WebPMemoryWrite; - picture.custom_ptr = (void*)&memory_writer; - } - } else { - out = NULL; - if (!quiet && !short_output) { - fprintf(stderr, "No output file specified (no -o flag). Encoding will\n"); - fprintf(stderr, "be performed, but its results discarded.\n\n"); - } - } - if (!quiet) { - picture.stats = &stats; - picture.user_data = (void*)in_file; - } - - // Crop & resize. - if (verbose) { - StopwatchReset(&stop_watch); - } - if (crop != 0) { - // We use self-cropping using a view. - if (!WebPPictureView(&picture, crop_x, crop_y, crop_w, crop_h, &picture)) { - fprintf(stderr, "Error! Cannot crop picture\n"); - goto Error; - } - } - if ((resize_w | resize_h) > 0) { - WebPPicture picture_no_alpha; - if (config.exact) { - // If -exact, we can't premultiply RGB by A otherwise RGB is lost if A=0. - // We rescale an opaque copy and assemble scaled A and non-premultiplied - // RGB channels. This is slower but it's a very uncommon use case. Color - // leak at sharp alpha edges is possible. - if (!WebPPictureCopy(&picture, &picture_no_alpha)) { - fprintf(stderr, "Error! Cannot copy temporary picture\n"); - goto Error; - } - - // We enforced picture.use_argb = 1 above. Now, remove the alpha values. - { - int x, y; - uint32_t* argb_no_alpha = picture_no_alpha.argb; - for (y = 0; y < picture_no_alpha.height; ++y) { - for (x = 0; x < picture_no_alpha.width; ++x) { - argb_no_alpha[x] |= 0xff000000; // Opaque copy. - } - argb_no_alpha += picture_no_alpha.argb_stride; - } - } - - if (!WebPPictureRescale(&picture_no_alpha, resize_w, resize_h)) { - fprintf(stderr, "Error! Cannot resize temporary picture\n"); - goto Error; - } - } - - if (!WebPPictureRescale(&picture, resize_w, resize_h)) { - fprintf(stderr, "Error! Cannot resize picture\n"); - goto Error; - } - - if (config.exact) { // Put back the alpha information. - int x, y; - uint32_t* argb_no_alpha = picture_no_alpha.argb; - uint32_t* argb = picture.argb; - for (y = 0; y < picture_no_alpha.height; ++y) { - for (x = 0; x < picture_no_alpha.width; ++x) { - argb[x] = (argb[x] & 0xff000000) | (argb_no_alpha[x] & 0x00ffffff); - } - argb_no_alpha += picture_no_alpha.argb_stride; - argb += picture.argb_stride; - } - WebPPictureFree(&picture_no_alpha); - } - } - if (verbose && (crop != 0 || (resize_w | resize_h) > 0)) { - const double preproc_time = StopwatchReadAndReset(&stop_watch); - fprintf(stderr, "Time to crop/resize picture: %.3fs\n", preproc_time); - } - - if (picture.extra_info_type > 0) { - AllocExtraInfo(&picture); - } - if (print_distortion >= 0) { // Save original picture for later comparison - WebPPictureCopy(&picture, &original_picture); - } - - // Compress. - if (verbose) { - StopwatchReset(&stop_watch); - } - if (!WebPEncode(&config, &picture)) { - fprintf(stderr, "Error! Cannot encode picture as WebP\n"); - fprintf(stderr, "Error code: %d (%s)\n", - picture.error_code, kErrorMessages[picture.error_code]); - goto Error; - } - if (verbose) { - const double encode_time = StopwatchReadAndReset(&stop_watch); - fprintf(stderr, "Time to encode picture: %.3fs\n", encode_time); - } - - // Write info - if (dump_file) { - if (picture.use_argb) { - fprintf(stderr, "Warning: can't dump file (-d option) " - "in lossless mode.\n"); - } else if (!DumpPicture(&picture, dump_file)) { - WFPRINTF(stderr, "Warning, couldn't dump picture %s\n", - (const W_CHAR*)dump_file); - } - } - - if (keep_metadata != 0) { - if (out != NULL) { - if (!WriteWebPWithMetadata(out, &picture, &memory_writer, - &metadata, keep_metadata, &metadata_written)) { - fprintf(stderr, "Error writing WebP file with metadata!\n"); - goto Error; - } - } else { // output is disabled, just display the metadata stats. - const struct { - const MetadataPayload* const payload; - int flag; - } *iter, info[] = { - { &metadata.exif, METADATA_EXIF }, - { &metadata.iccp, METADATA_ICC }, - { &metadata.xmp, METADATA_XMP }, - { NULL, 0 } - }; - uint32_t unused1 = 0; - uint64_t unused2 = 0; - - for (iter = info; iter->payload != NULL; ++iter) { - if (UpdateFlagsAndSize(iter->payload, !!(keep_metadata & iter->flag), - 0, &unused1, &unused2)) { - metadata_written |= iter->flag; - } - } - } - } - - if (!quiet) { - if (!short_output || print_distortion < 0) { - if (config.lossless) { - PrintExtraInfoLossless(&picture, short_output, in_file); - } else { - PrintExtraInfoLossy(&picture, short_output, config.low_memory, in_file); - } - } - if (!short_output && picture.extra_info_type > 0) { - PrintMapInfo(&picture); - } - if (print_distortion >= 0) { // print distortion - static const char* distortion_names[] = { "PSNR", "SSIM", "LSIM" }; - float values[5]; - if (!WebPPictureDistortion(&picture, &original_picture, - print_distortion, values)) { - fprintf(stderr, "Error while computing the distortion.\n"); - goto Error; - } - if (!short_output) { - fprintf(stderr, "%s: ", distortion_names[print_distortion]); - fprintf(stderr, "B:%.2f G:%.2f R:%.2f A:%.2f Total:%.2f\n", - values[0], values[1], values[2], values[3], values[4]); - } else { - fprintf(stderr, "%7d %.4f\n", picture.stats->coded_size, values[4]); - } - } - if (!short_output) { - PrintMetadataInfo(&metadata, metadata_written); - } - } - return_value = 0; - - Error: - WebPMemoryWriterClear(&memory_writer); - WebPFree(picture.extra_info); - MetadataFree(&metadata); - WebPPictureFree(&picture); - WebPPictureFree(&original_picture); - if (out != NULL && out != stdout) { - fclose(out); - } - - FREE_WARGV_AND_RETURN(return_value); -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/dwebp.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/dwebp.c deleted file mode 100644 index cc75cb77..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/dwebp.c +++ /dev/null @@ -1,420 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Command-line tool for decoding a WebP image. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include -#include -#include - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include "../examples/example_util.h" -#include "../imageio/image_enc.h" -#include "../imageio/webpdec.h" -#include "./stopwatch.h" -#include "./unicode.h" - -static int verbose = 0; -static int quiet = 0; -#ifndef WEBP_DLL -#ifdef __cplusplus -extern "C" { -#endif - -extern void* VP8GetCPUInfo; // opaque forward declaration. - -#ifdef __cplusplus -} // extern "C" -#endif -#endif // WEBP_DLL - - -static int SaveOutput(const WebPDecBuffer* const buffer, - WebPOutputFileFormat format, const char* const out_file) { - const int use_stdout = (out_file != NULL) && !WSTRCMP(out_file, "-"); - int ok = 1; - Stopwatch stop_watch; - - if (verbose) { - StopwatchReset(&stop_watch); - } - ok = WebPSaveImage(buffer, format, out_file); - - if (ok) { - if (!quiet) { - if (use_stdout) { - fprintf(stderr, "Saved to stdout\n"); - } else { - WFPRINTF(stderr, "Saved file %s\n", (const W_CHAR*)out_file); - } - } - if (verbose) { - const double write_time = StopwatchReadAndReset(&stop_watch); - fprintf(stderr, "Time to write output: %.3fs\n", write_time); - } - } else { - if (use_stdout) { - fprintf(stderr, "Error writing to stdout !!\n"); - } else { - WFPRINTF(stderr, "Error writing file %s !!\n", (const W_CHAR*)out_file); - } - } - return ok; -} - -static void Help(void) { - printf("Usage: dwebp in_file [options] [-o out_file]\n\n" - "Decodes the WebP image file to PNG format [Default]\n" - "Use following options to convert into alternate image formats:\n" - " -pam ......... save the raw RGBA samples as a color PAM\n" - " -ppm ......... save the raw RGB samples as a color PPM\n" - " -bmp ......... save as uncompressed BMP format\n" - " -tiff ........ save as uncompressed TIFF format\n" - " -pgm ......... save the raw YUV samples as a grayscale PGM\n" - " file with IMC4 layout\n" - " -yuv ......... save the raw YUV samples in flat layout\n" - "\n" - " Other options are:\n" - " -version ..... print version number and exit\n" - " -nofancy ..... don't use the fancy YUV420 upscaler\n" - " -nofilter .... disable in-loop filtering\n" - " -nodither .... disable dithering\n" - " -dither .. dithering strength (in 0..100)\n" - " -alpha_dither use alpha-plane dithering if needed\n" - " -mt .......... use multi-threading\n" - " -crop ... crop output with the given rectangle\n" - " -resize ......... scale the output (*after* any cropping)\n" - " -flip ........ flip the output vertically\n" - " -alpha ....... only save the alpha plane\n" - " -incremental . use incremental decoding (useful for tests)\n" - " -h ........... this help message\n" - " -v ........... verbose (e.g. print encoding/decoding times)\n" - " -quiet ....... quiet mode, don't print anything\n" -#ifndef WEBP_DLL - " -noasm ....... disable all assembly optimizations\n" -#endif - ); -} - -static const char* const kFormatType[] = { - "unspecified", "lossy", "lossless" -}; - -static uint8_t* AllocateExternalBuffer(WebPDecoderConfig* config, - WebPOutputFileFormat format, - int use_external_memory) { - uint8_t* external_buffer = NULL; - WebPDecBuffer* const output_buffer = &config->output; - int w = config->input.width; - int h = config->input.height; - if (config->options.use_scaling) { - w = config->options.scaled_width; - h = config->options.scaled_height; - } else if (config->options.use_cropping) { - w = config->options.crop_width; - h = config->options.crop_height; - } - if (format >= RGB && format <= rgbA_4444) { - const int bpp = (format == RGB || format == BGR) ? 3 - : (format == RGBA_4444 || format == rgbA_4444 || - format == RGB_565) ? 2 - : 4; - uint32_t stride = bpp * w + 7; // <- just for exercising - external_buffer = (uint8_t*)WebPMalloc(stride * h); - if (external_buffer == NULL) return NULL; - output_buffer->u.RGBA.stride = stride; - output_buffer->u.RGBA.size = stride * h; - output_buffer->u.RGBA.rgba = external_buffer; - } else { // YUV and YUVA - const int has_alpha = WebPIsAlphaMode(output_buffer->colorspace); - uint8_t* tmp; - uint32_t stride = w + 3; - uint32_t uv_stride = (w + 1) / 2 + 13; - uint32_t total_size = stride * h * (has_alpha ? 2 : 1) - + 2 * uv_stride * (h + 1) / 2; - assert(format >= YUV && format <= YUVA); - external_buffer = (uint8_t*)WebPMalloc(total_size); - if (external_buffer == NULL) return NULL; - tmp = external_buffer; - output_buffer->u.YUVA.y = tmp; - output_buffer->u.YUVA.y_stride = stride; - output_buffer->u.YUVA.y_size = stride * h; - tmp += output_buffer->u.YUVA.y_size; - if (has_alpha) { - output_buffer->u.YUVA.a = tmp; - output_buffer->u.YUVA.a_stride = stride; - output_buffer->u.YUVA.a_size = stride * h; - tmp += output_buffer->u.YUVA.a_size; - } else { - output_buffer->u.YUVA.a = NULL; - output_buffer->u.YUVA.a_stride = 0; - } - output_buffer->u.YUVA.u = tmp; - output_buffer->u.YUVA.u_stride = uv_stride; - output_buffer->u.YUVA.u_size = uv_stride * (h + 1) / 2; - tmp += output_buffer->u.YUVA.u_size; - - output_buffer->u.YUVA.v = tmp; - output_buffer->u.YUVA.v_stride = uv_stride; - output_buffer->u.YUVA.v_size = uv_stride * (h + 1) / 2; - tmp += output_buffer->u.YUVA.v_size; - assert(tmp <= external_buffer + total_size); - } - output_buffer->is_external_memory = use_external_memory; - return external_buffer; -} - -int main(int argc, const char* argv[]) { - int ok = 0; - const char* in_file = NULL; - const char* out_file = NULL; - - WebPDecoderConfig config; - WebPDecBuffer* const output_buffer = &config.output; - WebPBitstreamFeatures* const bitstream = &config.input; - WebPOutputFileFormat format = PNG; - uint8_t* external_buffer = NULL; - int use_external_memory = 0; - const uint8_t* data = NULL; - - int incremental = 0; - int c; - - INIT_WARGV(argc, argv); - - if (!WebPInitDecoderConfig(&config)) { - fprintf(stderr, "Library version mismatch!\n"); - FREE_WARGV_AND_RETURN(-1); - } - - for (c = 1; c < argc; ++c) { - int parse_error = 0; - if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) { - Help(); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-o") && c < argc - 1) { - out_file = (const char*)GET_WARGV(argv, ++c); - } else if (!strcmp(argv[c], "-alpha")) { - format = ALPHA_PLANE_ONLY; - } else if (!strcmp(argv[c], "-nofancy")) { - config.options.no_fancy_upsampling = 1; - } else if (!strcmp(argv[c], "-nofilter")) { - config.options.bypass_filtering = 1; - } else if (!strcmp(argv[c], "-pam")) { - format = PAM; - } else if (!strcmp(argv[c], "-ppm")) { - format = PPM; - } else if (!strcmp(argv[c], "-bmp")) { - format = BMP; - } else if (!strcmp(argv[c], "-tiff")) { - format = TIFF; - } else if (!strcmp(argv[c], "-quiet")) { - quiet = 1; - } else if (!strcmp(argv[c], "-version")) { - const int version = WebPGetDecoderVersion(); - printf("%d.%d.%d\n", - (version >> 16) & 0xff, (version >> 8) & 0xff, version & 0xff); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-pgm")) { - format = PGM; - } else if (!strcmp(argv[c], "-yuv")) { - format = RAW_YUV; - } else if (!strcmp(argv[c], "-pixel_format") && c < argc - 1) { - const char* const fmt = argv[++c]; - if (!strcmp(fmt, "RGB")) format = RGB; - else if (!strcmp(fmt, "RGBA")) format = RGBA; - else if (!strcmp(fmt, "BGR")) format = BGR; - else if (!strcmp(fmt, "BGRA")) format = BGRA; - else if (!strcmp(fmt, "ARGB")) format = ARGB; - else if (!strcmp(fmt, "RGBA_4444")) format = RGBA_4444; - else if (!strcmp(fmt, "RGB_565")) format = RGB_565; - else if (!strcmp(fmt, "rgbA")) format = rgbA; - else if (!strcmp(fmt, "bgrA")) format = bgrA; - else if (!strcmp(fmt, "Argb")) format = Argb; - else if (!strcmp(fmt, "rgbA_4444")) format = rgbA_4444; - else if (!strcmp(fmt, "YUV")) format = YUV; - else if (!strcmp(fmt, "YUVA")) format = YUVA; - else { - fprintf(stderr, "Can't parse pixel_format %s\n", fmt); - parse_error = 1; - } - } else if (!strcmp(argv[c], "-external_memory") && c < argc - 1) { - use_external_memory = ExUtilGetInt(argv[++c], 0, &parse_error); - parse_error |= (use_external_memory > 2 || use_external_memory < 0); - if (parse_error) { - fprintf(stderr, "Can't parse 'external_memory' value %s\n", argv[c]); - } - } else if (!strcmp(argv[c], "-mt")) { - config.options.use_threads = 1; - } else if (!strcmp(argv[c], "-alpha_dither")) { - config.options.alpha_dithering_strength = 100; - } else if (!strcmp(argv[c], "-nodither")) { - config.options.dithering_strength = 0; - } else if (!strcmp(argv[c], "-dither") && c < argc - 1) { - config.options.dithering_strength = - ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-crop") && c < argc - 4) { - config.options.use_cropping = 1; - config.options.crop_left = ExUtilGetInt(argv[++c], 0, &parse_error); - config.options.crop_top = ExUtilGetInt(argv[++c], 0, &parse_error); - config.options.crop_width = ExUtilGetInt(argv[++c], 0, &parse_error); - config.options.crop_height = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if ((!strcmp(argv[c], "-scale") || !strcmp(argv[c], "-resize")) && - c < argc - 2) { // '-scale' is left for compatibility - config.options.use_scaling = 1; - config.options.scaled_width = ExUtilGetInt(argv[++c], 0, &parse_error); - config.options.scaled_height = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-flip")) { - config.options.flip = 1; - } else if (!strcmp(argv[c], "-v")) { - verbose = 1; -#ifndef WEBP_DLL - } else if (!strcmp(argv[c], "-noasm")) { - VP8GetCPUInfo = NULL; -#endif - } else if (!strcmp(argv[c], "-incremental")) { - incremental = 1; - } else if (!strcmp(argv[c], "--")) { - if (c < argc - 1) in_file = (const char*)GET_WARGV(argv, ++c); - break; - } else if (argv[c][0] == '-') { - fprintf(stderr, "Unknown option '%s'\n", argv[c]); - Help(); - FREE_WARGV_AND_RETURN(-1); - } else { - in_file = (const char*)GET_WARGV(argv, c); - } - - if (parse_error) { - Help(); - FREE_WARGV_AND_RETURN(-1); - } - } - - if (in_file == NULL) { - fprintf(stderr, "missing input file!!\n"); - Help(); - FREE_WARGV_AND_RETURN(-1); - } - - if (quiet) verbose = 0; - - { - VP8StatusCode status = VP8_STATUS_OK; - size_t data_size = 0; - if (!LoadWebP(in_file, &data, &data_size, bitstream)) { - FREE_WARGV_AND_RETURN(-1); - } - - switch (format) { - case PNG: -#ifdef HAVE_WINCODEC_H - output_buffer->colorspace = bitstream->has_alpha ? MODE_BGRA : MODE_BGR; -#else - output_buffer->colorspace = bitstream->has_alpha ? MODE_RGBA : MODE_RGB; -#endif - break; - case PAM: - output_buffer->colorspace = MODE_RGBA; - break; - case PPM: - output_buffer->colorspace = MODE_RGB; // drops alpha for PPM - break; - case BMP: - output_buffer->colorspace = bitstream->has_alpha ? MODE_BGRA : MODE_BGR; - break; - case TIFF: - output_buffer->colorspace = bitstream->has_alpha ? MODE_RGBA : MODE_RGB; - break; - case PGM: - case RAW_YUV: - output_buffer->colorspace = bitstream->has_alpha ? MODE_YUVA : MODE_YUV; - break; - case ALPHA_PLANE_ONLY: - output_buffer->colorspace = MODE_YUVA; - break; - // forced modes: - case RGB: output_buffer->colorspace = MODE_RGB; break; - case RGBA: output_buffer->colorspace = MODE_RGBA; break; - case BGR: output_buffer->colorspace = MODE_BGR; break; - case BGRA: output_buffer->colorspace = MODE_BGRA; break; - case ARGB: output_buffer->colorspace = MODE_ARGB; break; - case RGBA_4444: output_buffer->colorspace = MODE_RGBA_4444; break; - case RGB_565: output_buffer->colorspace = MODE_RGB_565; break; - case rgbA: output_buffer->colorspace = MODE_rgbA; break; - case bgrA: output_buffer->colorspace = MODE_bgrA; break; - case Argb: output_buffer->colorspace = MODE_Argb; break; - case rgbA_4444: output_buffer->colorspace = MODE_rgbA_4444; break; - case YUV: output_buffer->colorspace = MODE_YUV; break; - case YUVA: output_buffer->colorspace = MODE_YUVA; break; - default: goto Exit; - } - - if (use_external_memory > 0 && format >= RGB) { - external_buffer = AllocateExternalBuffer(&config, format, - use_external_memory); - if (external_buffer == NULL) goto Exit; - } - - { - Stopwatch stop_watch; - if (verbose) StopwatchReset(&stop_watch); - - if (incremental) { - status = DecodeWebPIncremental(data, data_size, &config); - } else { - status = DecodeWebP(data, data_size, &config); - } - if (verbose) { - const double decode_time = StopwatchReadAndReset(&stop_watch); - fprintf(stderr, "Time to decode picture: %.3fs\n", decode_time); - } - } - - ok = (status == VP8_STATUS_OK); - if (!ok) { - PrintWebPError(in_file, status); - goto Exit; - } - } - - if (out_file != NULL) { - if (!quiet) { - WFPRINTF(stderr, "Decoded %s.", (const W_CHAR*)in_file); - fprintf(stderr, " Dimensions: %d x %d %s. Format: %s. Now saving...\n", - output_buffer->width, output_buffer->height, - bitstream->has_alpha ? " (with alpha)" : "", - kFormatType[bitstream->format]); - } - ok = SaveOutput(output_buffer, format, out_file); - } else { - if (!quiet) { - WFPRINTF(stderr, "File %s can be decoded ", (const W_CHAR*)in_file); - fprintf(stderr, "(dimensions: %d x %d %s. Format: %s).\n", - output_buffer->width, output_buffer->height, - bitstream->has_alpha ? " (with alpha)" : "", - kFormatType[bitstream->format]); - fprintf(stderr, "Nothing written; " - "use -o flag to save the result as e.g. PNG.\n"); - } - } - Exit: - WebPFreeDecBuffer(output_buffer); - WebPFree((void*)external_buffer); - WebPFree((void*)data); - FREE_WARGV_AND_RETURN(ok ? 0 : -1); -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/example_util.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/example_util.c deleted file mode 100644 index b0436541..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/example_util.c +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utility functions used by the example programs. -// - -#include "./example_util.h" - -#include -#include -#include -#include - -#include "webp/mux_types.h" -#include "../imageio/imageio_util.h" - -//------------------------------------------------------------------------------ -// String parsing - -uint32_t ExUtilGetUInt(const char* const v, int base, int* const error) { - char* end = NULL; - const uint32_t n = (v != NULL) ? (uint32_t)strtoul(v, &end, base) : 0u; - if (end == v && error != NULL && !*error) { - *error = 1; - fprintf(stderr, "Error! '%s' is not an integer.\n", - (v != NULL) ? v : "(null)"); - } - return n; -} - -int ExUtilGetInt(const char* const v, int base, int* const error) { - return (int)ExUtilGetUInt(v, base, error); -} - -int ExUtilGetInts(const char* v, int base, int max_output, int output[]) { - int n, error = 0; - for (n = 0; v != NULL && n < max_output; ++n) { - const int value = ExUtilGetInt(v, base, &error); - if (error) return -1; - output[n] = value; - v = strchr(v, ','); - if (v != NULL) ++v; // skip over the trailing ',' - } - return n; -} - -float ExUtilGetFloat(const char* const v, int* const error) { - char* end = NULL; - const float f = (v != NULL) ? (float)strtod(v, &end) : 0.f; - if (end == v && error != NULL && !*error) { - *error = 1; - fprintf(stderr, "Error! '%s' is not a floating point number.\n", - (v != NULL) ? v : "(null)"); - } - return f; -} - -//------------------------------------------------------------------------------ - -static void ResetCommandLineArguments(int argc, const char* argv[], - CommandLineArguments* const args) { - assert(args != NULL); - args->argc_ = argc; - args->argv_ = argv; - args->own_argv_ = 0; - WebPDataInit(&args->argv_data_); -} - -void ExUtilDeleteCommandLineArguments(CommandLineArguments* const args) { - if (args != NULL) { - if (args->own_argv_) { - WebPFree((void*)args->argv_); - WebPDataClear(&args->argv_data_); - } - ResetCommandLineArguments(0, NULL, args); - } -} - -#define MAX_ARGC 16384 -int ExUtilInitCommandLineArguments(int argc, const char* argv[], - CommandLineArguments* const args) { - if (args == NULL || argv == NULL) return 0; - ResetCommandLineArguments(argc, argv, args); - if (argc == 1 && argv[0][0] != '-') { - char* cur; - const char sep[] = " \t\r\n\f\v"; - -#if defined(_WIN32) && defined(_UNICODE) - fprintf(stderr, - "Error: Reading arguments from a file is a feature unavailable " - "with Unicode binaries.\n"); - return 0; -#endif - - if (!ExUtilReadFileToWebPData(argv[0], &args->argv_data_)) { - return 0; - } - args->own_argv_ = 1; - args->argv_ = (const char**)WebPMalloc(MAX_ARGC * sizeof(*args->argv_)); - if (args->argv_ == NULL) return 0; - - argc = 0; - for (cur = strtok((char*)args->argv_data_.bytes, sep); - cur != NULL; - cur = strtok(NULL, sep)) { - if (argc == MAX_ARGC) { - fprintf(stderr, "ERROR: Arguments limit %d reached\n", MAX_ARGC); - return 0; - } - assert(strlen(cur) != 0); - args->argv_[argc++] = cur; - } - args->argc_ = argc; - } - return 1; -} - -//------------------------------------------------------------------------------ - -int ExUtilReadFileToWebPData(const char* const filename, - WebPData* const webp_data) { - const uint8_t* data; - size_t size; - if (webp_data == NULL) return 0; - if (!ImgIoUtilReadFile(filename, &data, &size)) return 0; - webp_data->bytes = data; - webp_data->size = size; - return 1; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/example_util.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/example_util.h deleted file mode 100644 index fe762a4d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/example_util.h +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utility functions used by the example programs. -// - -#ifndef WEBP_EXAMPLES_EXAMPLE_UTIL_H_ -#define WEBP_EXAMPLES_EXAMPLE_UTIL_H_ - -#include "webp/types.h" -#include "webp/mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// String parsing - -// Parses 'v' using strto(ul|l|d)(). If error is non-NULL, '*error' is set to -// true on failure while on success it is left unmodified to allow chaining of -// calls. An error is only printed on the first occurrence. -uint32_t ExUtilGetUInt(const char* const v, int base, int* const error); -int ExUtilGetInt(const char* const v, int base, int* const error); -float ExUtilGetFloat(const char* const v, int* const error); - -// This variant of ExUtilGetInt() will parse multiple integers from a -// comma-separated list. Up to 'max_output' integers are parsed. -// The result is placed in the output[] array, and the number of integers -// actually parsed is returned, or -1 if an error occurred. -int ExUtilGetInts(const char* v, int base, int max_output, int output[]); - -// Reads a file named 'filename' into a WebPData structure. The content of -// webp_data is overwritten. Returns false in case of error. -int ExUtilReadFileToWebPData(const char* const filename, - WebPData* const webp_data); - -//------------------------------------------------------------------------------ -// Command-line arguments - -typedef struct { - int argc_; - const char** argv_; - WebPData argv_data_; - int own_argv_; -} CommandLineArguments; - -// Initializes the structure from the command-line parameters. If there is -// only one parameter and it does not start with a '-', then it is assumed to -// be a file name. This file will be read and tokenized into command-line -// arguments. The content of 'args' is overwritten. -// Returns false in case of error (memory allocation failure, non -// existing file, too many arguments, ...). -int ExUtilInitCommandLineArguments(int argc, const char* argv[], - CommandLineArguments* const args); - -// Deallocate all memory and reset 'args'. -void ExUtilDeleteCommandLineArguments(CommandLineArguments* const args); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_EXAMPLES_EXAMPLE_UTIL_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/gif2webp.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/gif2webp.c deleted file mode 100644 index a9f5936c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/gif2webp.c +++ /dev/null @@ -1,604 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// simple tool to convert animated GIFs to WebP -// -// Authors: Skal (pascal.massimino@gmail.com) -// Urvang (urvang@google.com) - -#include -#include -#include -#include - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#ifdef WEBP_HAVE_GIF - -#if defined(HAVE_UNISTD_H) && HAVE_UNISTD_H -#include -#endif - -#include -#include "webp/encode.h" -#include "webp/mux.h" -#include "../examples/example_util.h" -#include "../imageio/imageio_util.h" -#include "./gifdec.h" -#include "./unicode.h" -#include "./unicode_gif.h" - -#if !defined(STDIN_FILENO) -#define STDIN_FILENO 0 -#endif - -//------------------------------------------------------------------------------ - -static int transparent_index = GIF_INDEX_INVALID; // Opaque by default. - -static const char* const kErrorMessages[-WEBP_MUX_NOT_ENOUGH_DATA + 1] = { - "WEBP_MUX_NOT_FOUND", "WEBP_MUX_INVALID_ARGUMENT", "WEBP_MUX_BAD_DATA", - "WEBP_MUX_MEMORY_ERROR", "WEBP_MUX_NOT_ENOUGH_DATA" -}; - -static const char* ErrorString(WebPMuxError err) { - assert(err <= WEBP_MUX_NOT_FOUND && err >= WEBP_MUX_NOT_ENOUGH_DATA); - return kErrorMessages[-err]; -} - -enum { - METADATA_ICC = (1 << 0), - METADATA_XMP = (1 << 1), - METADATA_ALL = METADATA_ICC | METADATA_XMP -}; - -//------------------------------------------------------------------------------ - -static void Help(void) { - printf("Usage:\n"); - printf(" gif2webp [options] gif_file -o webp_file\n"); - printf("Options:\n"); - printf(" -h / -help ............. this help\n"); - printf(" -lossy ................. encode image using lossy compression\n"); - printf(" -mixed ................. for each frame in the image, pick lossy\n" - " or lossless compression heuristically\n"); - printf(" -q ............. quality factor (0:small..100:big)\n"); - printf(" -m ............... compression method (0=fast, 6=slowest)\n"); - printf(" -min_size .............. minimize output size (default:off)\n" - " lossless compression by default; can be\n" - " combined with -q, -m, -lossy or -mixed\n" - " options\n"); - printf(" -kmin ............ min distance between key frames\n"); - printf(" -kmax ............ max distance between key frames\n"); - printf(" -f ............... filter strength (0=off..100)\n"); - printf(" -metadata ..... comma separated list of metadata to\n"); - printf(" "); - printf("copy from the input to the output if present\n"); - printf(" "); - printf("Valid values: all, none, icc, xmp (default)\n"); - printf(" -loop_compatibility .... use compatibility mode for Chrome\n"); - printf(" version prior to M62 (inclusive)\n"); - printf(" -mt .................... use multi-threading if available\n"); - printf("\n"); - printf(" -version ............... print version number and exit\n"); - printf(" -v ..................... verbose\n"); - printf(" -quiet ................. don't print anything\n"); - printf("\n"); -} - -//------------------------------------------------------------------------------ - -int main(int argc, const char* argv[]) { - int verbose = 0; - int gif_error = GIF_ERROR; - WebPMuxError err = WEBP_MUX_OK; - int ok = 0; - const W_CHAR* in_file = NULL, *out_file = NULL; - GifFileType* gif = NULL; - int frame_duration = 0; - int frame_timestamp = 0; - GIFDisposeMethod orig_dispose = GIF_DISPOSE_NONE; - - WebPPicture frame; // Frame rectangle only (not disposed). - WebPPicture curr_canvas; // Not disposed. - WebPPicture prev_canvas; // Disposed. - - WebPAnimEncoder* enc = NULL; - WebPAnimEncoderOptions enc_options; - WebPConfig config; - - int frame_number = 0; // Whether we are processing the first frame. - int done; - int c; - int quiet = 0; - WebPData webp_data; - - int keep_metadata = METADATA_XMP; // ICC not output by default. - WebPData icc_data; - int stored_icc = 0; // Whether we have already stored an ICC profile. - WebPData xmp_data; - int stored_xmp = 0; // Whether we have already stored an XMP profile. - int loop_count = 0; // default: infinite - int stored_loop_count = 0; // Whether we have found an explicit loop count. - int loop_compatibility = 0; - WebPMux* mux = NULL; - - int default_kmin = 1; // Whether to use default kmin value. - int default_kmax = 1; - - INIT_WARGV(argc, argv); - - if (!WebPConfigInit(&config) || !WebPAnimEncoderOptionsInit(&enc_options) || - !WebPPictureInit(&frame) || !WebPPictureInit(&curr_canvas) || - !WebPPictureInit(&prev_canvas)) { - fprintf(stderr, "Error! Version mismatch!\n"); - FREE_WARGV_AND_RETURN(-1); - } - config.lossless = 1; // Use lossless compression by default. - - WebPDataInit(&webp_data); - WebPDataInit(&icc_data); - WebPDataInit(&xmp_data); - - if (argc == 1) { - Help(); - FREE_WARGV_AND_RETURN(0); - } - - for (c = 1; c < argc; ++c) { - int parse_error = 0; - if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) { - Help(); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-o") && c < argc - 1) { - out_file = GET_WARGV(argv, ++c); - } else if (!strcmp(argv[c], "-lossy")) { - config.lossless = 0; - } else if (!strcmp(argv[c], "-mixed")) { - enc_options.allow_mixed = 1; - config.lossless = 0; - } else if (!strcmp(argv[c], "-loop_compatibility")) { - loop_compatibility = 1; - } else if (!strcmp(argv[c], "-q") && c < argc - 1) { - config.quality = ExUtilGetFloat(argv[++c], &parse_error); - } else if (!strcmp(argv[c], "-m") && c < argc - 1) { - config.method = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-min_size")) { - enc_options.minimize_size = 1; - } else if (!strcmp(argv[c], "-kmax") && c < argc - 1) { - enc_options.kmax = ExUtilGetInt(argv[++c], 0, &parse_error); - default_kmax = 0; - } else if (!strcmp(argv[c], "-kmin") && c < argc - 1) { - enc_options.kmin = ExUtilGetInt(argv[++c], 0, &parse_error); - default_kmin = 0; - } else if (!strcmp(argv[c], "-f") && c < argc - 1) { - config.filter_strength = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-metadata") && c < argc - 1) { - static const struct { - const char* option; - int flag; - } kTokens[] = { - { "all", METADATA_ALL }, - { "none", 0 }, - { "icc", METADATA_ICC }, - { "xmp", METADATA_XMP }, - }; - const size_t kNumTokens = sizeof(kTokens) / sizeof(*kTokens); - const char* start = argv[++c]; - const char* const end = start + strlen(start); - - keep_metadata = 0; - while (start < end) { - size_t i; - const char* token = strchr(start, ','); - if (token == NULL) token = end; - - for (i = 0; i < kNumTokens; ++i) { - if ((size_t)(token - start) == strlen(kTokens[i].option) && - !strncmp(start, kTokens[i].option, strlen(kTokens[i].option))) { - if (kTokens[i].flag != 0) { - keep_metadata |= kTokens[i].flag; - } else { - keep_metadata = 0; - } - break; - } - } - if (i == kNumTokens) { - fprintf(stderr, "Error! Unknown metadata type '%.*s'\n", - (int)(token - start), start); - Help(); - FREE_WARGV_AND_RETURN(-1); - } - start = token + 1; - } - } else if (!strcmp(argv[c], "-mt")) { - ++config.thread_level; - } else if (!strcmp(argv[c], "-version")) { - const int enc_version = WebPGetEncoderVersion(); - const int mux_version = WebPGetMuxVersion(); - printf("WebP Encoder version: %d.%d.%d\nWebP Mux version: %d.%d.%d\n", - (enc_version >> 16) & 0xff, (enc_version >> 8) & 0xff, - enc_version & 0xff, (mux_version >> 16) & 0xff, - (mux_version >> 8) & 0xff, mux_version & 0xff); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-quiet")) { - quiet = 1; - enc_options.verbose = 0; - } else if (!strcmp(argv[c], "-v")) { - verbose = 1; - enc_options.verbose = 1; - } else if (!strcmp(argv[c], "--")) { - if (c < argc - 1) in_file = GET_WARGV(argv, ++c); - break; - } else if (argv[c][0] == '-') { - fprintf(stderr, "Error! Unknown option '%s'\n", argv[c]); - Help(); - FREE_WARGV_AND_RETURN(-1); - } else { - in_file = GET_WARGV(argv, c); - } - - if (parse_error) { - Help(); - FREE_WARGV_AND_RETURN(-1); - } - } - - // Appropriate default kmin, kmax values for lossy and lossless. - if (default_kmin) { - enc_options.kmin = config.lossless ? 9 : 3; - } - if (default_kmax) { - enc_options.kmax = config.lossless ? 17 : 5; - } - - if (!WebPValidateConfig(&config)) { - fprintf(stderr, "Error! Invalid configuration.\n"); - goto End; - } - - if (in_file == NULL) { - fprintf(stderr, "No input file specified!\n"); - Help(); - goto End; - } - - // Start the decoder object - gif = DGifOpenFileUnicode(in_file, &gif_error); - if (gif == NULL) goto End; - - // Loop over GIF images - done = 0; - do { - GifRecordType type; - if (DGifGetRecordType(gif, &type) == GIF_ERROR) goto End; - - switch (type) { - case IMAGE_DESC_RECORD_TYPE: { - GIFFrameRect gif_rect; - GifImageDesc* const image_desc = &gif->Image; - - if (!DGifGetImageDesc(gif)) goto End; - - if (frame_number == 0) { - if (verbose) { - printf("Canvas screen: %d x %d\n", gif->SWidth, gif->SHeight); - } - // Fix some broken GIF global headers that report - // 0 x 0 screen dimension. - if (gif->SWidth == 0 || gif->SHeight == 0) { - image_desc->Left = 0; - image_desc->Top = 0; - gif->SWidth = image_desc->Width; - gif->SHeight = image_desc->Height; - if (gif->SWidth <= 0 || gif->SHeight <= 0) { - goto End; - } - if (verbose) { - printf("Fixed canvas screen dimension to: %d x %d\n", - gif->SWidth, gif->SHeight); - } - } - // Allocate current buffer. - frame.width = gif->SWidth; - frame.height = gif->SHeight; - frame.use_argb = 1; - if (!WebPPictureAlloc(&frame)) goto End; - GIFClearPic(&frame, NULL); - WebPPictureCopy(&frame, &curr_canvas); - WebPPictureCopy(&frame, &prev_canvas); - - // Background color. - GIFGetBackgroundColor(gif->SColorMap, gif->SBackGroundColor, - transparent_index, - &enc_options.anim_params.bgcolor); - - // Initialize encoder. - enc = WebPAnimEncoderNew(curr_canvas.width, curr_canvas.height, - &enc_options); - if (enc == NULL) { - fprintf(stderr, - "Error! Could not create encoder object. Possibly due to " - "a memory error.\n"); - goto End; - } - } - - // Some even more broken GIF can have sub-rect with zero width/height. - if (image_desc->Width == 0 || image_desc->Height == 0) { - image_desc->Width = gif->SWidth; - image_desc->Height = gif->SHeight; - } - - if (!GIFReadFrame(gif, transparent_index, &gif_rect, &frame)) { - goto End; - } - // Blend frame rectangle with previous canvas to compose full canvas. - // Note that 'curr_canvas' is same as 'prev_canvas' at this point. - GIFBlendFrames(&frame, &gif_rect, &curr_canvas); - - if (!WebPAnimEncoderAdd(enc, &curr_canvas, frame_timestamp, &config)) { - fprintf(stderr, "Error while adding frame #%d: %s\n", frame_number, - WebPAnimEncoderGetError(enc)); - goto End; - } else { - ++frame_number; - } - - // Update canvases. - GIFDisposeFrame(orig_dispose, &gif_rect, &prev_canvas, &curr_canvas); - GIFCopyPixels(&curr_canvas, &prev_canvas); - - // Force frames with a small or no duration to 100ms to be consistent - // with web browsers and other transcoding tools. This also avoids - // incorrect durations between frames when padding frames are - // discarded. - if (frame_duration <= 10) { - frame_duration = 100; - } - - // Update timestamp (for next frame). - frame_timestamp += frame_duration; - - // In GIF, graphic control extensions are optional for a frame, so we - // may not get one before reading the next frame. To handle this case, - // we reset frame properties to reasonable defaults for the next frame. - orig_dispose = GIF_DISPOSE_NONE; - frame_duration = 0; - transparent_index = GIF_INDEX_INVALID; - break; - } - case EXTENSION_RECORD_TYPE: { - int extension; - GifByteType* data = NULL; - if (DGifGetExtension(gif, &extension, &data) == GIF_ERROR) { - goto End; - } - if (data == NULL) continue; - - switch (extension) { - case COMMENT_EXT_FUNC_CODE: { - break; // Do nothing for now. - } - case GRAPHICS_EXT_FUNC_CODE: { - if (!GIFReadGraphicsExtension(data, &frame_duration, &orig_dispose, - &transparent_index)) { - goto End; - } - break; - } - case PLAINTEXT_EXT_FUNC_CODE: { - break; - } - case APPLICATION_EXT_FUNC_CODE: { - if (data[0] != 11) break; // Chunk is too short - if (!memcmp(data + 1, "NETSCAPE2.0", 11) || - !memcmp(data + 1, "ANIMEXTS1.0", 11)) { - if (!GIFReadLoopCount(gif, &data, &loop_count)) { - goto End; - } - if (verbose) { - fprintf(stderr, "Loop count: %d\n", loop_count); - } - stored_loop_count = loop_compatibility ? (loop_count != 0) : 1; - } else { // An extension containing metadata. - // We only store the first encountered chunk of each type, and - // only if requested by the user. - const int is_xmp = (keep_metadata & METADATA_XMP) && - !stored_xmp && - !memcmp(data + 1, "XMP DataXMP", 11); - const int is_icc = (keep_metadata & METADATA_ICC) && - !stored_icc && - !memcmp(data + 1, "ICCRGBG1012", 11); - if (is_xmp || is_icc) { - if (!GIFReadMetadata(gif, &data, - is_xmp ? &xmp_data : &icc_data)) { - goto End; - } - if (is_icc) { - stored_icc = 1; - } else if (is_xmp) { - stored_xmp = 1; - } - } - } - break; - } - default: { - break; // skip - } - } - while (data != NULL) { - if (DGifGetExtensionNext(gif, &data) == GIF_ERROR) goto End; - } - break; - } - case TERMINATE_RECORD_TYPE: { - done = 1; - break; - } - default: { - if (verbose) { - fprintf(stderr, "Skipping over unknown record type %d\n", type); - } - break; - } - } - } while (!done); - - // Last NULL frame. - if (!WebPAnimEncoderAdd(enc, NULL, frame_timestamp, NULL)) { - fprintf(stderr, "Error flushing WebP muxer.\n"); - fprintf(stderr, "%s\n", WebPAnimEncoderGetError(enc)); - } - - if (!WebPAnimEncoderAssemble(enc, &webp_data)) { - fprintf(stderr, "%s\n", WebPAnimEncoderGetError(enc)); - goto End; - } - - if (!loop_compatibility) { - if (!stored_loop_count) { - // if no loop-count element is seen, the default is '1' (loop-once) - // and we need to signal it explicitly in WebP. Note however that - // in case there's a single frame, we still don't need to store it. - if (frame_number > 1) { - stored_loop_count = 1; - loop_count = 1; - } - } else if (loop_count > 0 && loop_count < 65535) { - // adapt GIF's semantic to WebP's (except in the infinite-loop case) - loop_count += 1; - } - } - // loop_count of 0 is the default (infinite), so no need to signal it - if (loop_count == 0) stored_loop_count = 0; - - if (stored_loop_count || stored_icc || stored_xmp) { - // Re-mux to add loop count and/or metadata as needed. - mux = WebPMuxCreate(&webp_data, 1); - if (mux == NULL) { - fprintf(stderr, "ERROR: Could not re-mux to add loop count/metadata.\n"); - goto End; - } - WebPDataClear(&webp_data); - - if (stored_loop_count) { // Update loop count. - WebPMuxAnimParams new_params; - err = WebPMuxGetAnimationParams(mux, &new_params); - if (err != WEBP_MUX_OK) { - fprintf(stderr, "ERROR (%s): Could not fetch loop count.\n", - ErrorString(err)); - goto End; - } - new_params.loop_count = loop_count; - err = WebPMuxSetAnimationParams(mux, &new_params); - if (err != WEBP_MUX_OK) { - fprintf(stderr, "ERROR (%s): Could not update loop count.\n", - ErrorString(err)); - goto End; - } - } - - if (stored_icc) { // Add ICCP chunk. - err = WebPMuxSetChunk(mux, "ICCP", &icc_data, 1); - if (verbose) { - fprintf(stderr, "ICC size: %d\n", (int)icc_data.size); - } - if (err != WEBP_MUX_OK) { - fprintf(stderr, "ERROR (%s): Could not set ICC chunk.\n", - ErrorString(err)); - goto End; - } - } - - if (stored_xmp) { // Add XMP chunk. - err = WebPMuxSetChunk(mux, "XMP ", &xmp_data, 1); - if (verbose) { - fprintf(stderr, "XMP size: %d\n", (int)xmp_data.size); - } - if (err != WEBP_MUX_OK) { - fprintf(stderr, "ERROR (%s): Could not set XMP chunk.\n", - ErrorString(err)); - goto End; - } - } - - err = WebPMuxAssemble(mux, &webp_data); - if (err != WEBP_MUX_OK) { - fprintf(stderr, "ERROR (%s): Could not assemble when re-muxing to add " - "loop count/metadata.\n", ErrorString(err)); - goto End; - } - } - - if (out_file != NULL) { - if (!ImgIoUtilWriteFile((const char*)out_file, webp_data.bytes, - webp_data.size)) { - WFPRINTF(stderr, "Error writing output file: %s\n", out_file); - goto End; - } - if (!quiet) { - if (!WSTRCMP(out_file, "-")) { - fprintf(stderr, "Saved %d bytes to STDIO\n", - (int)webp_data.size); - } else { - WFPRINTF(stderr, "Saved output file (%d bytes): %s\n", - (int)webp_data.size, out_file); - } - } - } else { - if (!quiet) { - fprintf(stderr, "Nothing written; use -o flag to save the result " - "(%d bytes).\n", (int)webp_data.size); - } - } - - // All OK. - ok = 1; - gif_error = GIF_OK; - - End: - WebPDataClear(&icc_data); - WebPDataClear(&xmp_data); - WebPMuxDelete(mux); - WebPDataClear(&webp_data); - WebPPictureFree(&frame); - WebPPictureFree(&curr_canvas); - WebPPictureFree(&prev_canvas); - WebPAnimEncoderDelete(enc); - - if (gif_error != GIF_OK) { - GIFDisplayError(gif, gif_error); - } - if (gif != NULL) { -#if LOCAL_GIF_PREREQ(5,1) - DGifCloseFile(gif, &gif_error); -#else - DGifCloseFile(gif); -#endif - } - - FREE_WARGV_AND_RETURN(!ok); -} - -#else // !WEBP_HAVE_GIF - -int main(int argc, const char* argv[]) { - fprintf(stderr, "GIF support not enabled in %s.\n", argv[0]); - (void)argc; - return 0; -} - -#endif - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/gifdec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/gifdec.c deleted file mode 100644 index 99ee9966..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/gifdec.c +++ /dev/null @@ -1,416 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// GIF decode. - -#include "./gifdec.h" - -#include - -#ifdef WEBP_HAVE_GIF -#include -#include -#include - -#include "webp/encode.h" -#include "webp/mux_types.h" - -#define GIF_TRANSPARENT_COLOR 0x00000000u -#define GIF_WHITE_COLOR 0xffffffffu -#define GIF_TRANSPARENT_MASK 0x01 -#define GIF_DISPOSE_MASK 0x07 -#define GIF_DISPOSE_SHIFT 2 - -// from utils/utils.h -#ifdef __cplusplus -extern "C" { -#endif -extern void WebPCopyPlane(const uint8_t* src, int src_stride, - uint8_t* dst, int dst_stride, - int width, int height); -extern void WebPCopyPixels(const WebPPicture* const src, - WebPPicture* const dst); -#ifdef __cplusplus -} -#endif - -void GIFGetBackgroundColor(const ColorMapObject* const color_map, - int bgcolor_index, int transparent_index, - uint32_t* const bgcolor) { - if (transparent_index != GIF_INDEX_INVALID && - bgcolor_index == transparent_index) { - *bgcolor = GIF_TRANSPARENT_COLOR; // Special case. - } else if (color_map == NULL || color_map->Colors == NULL - || bgcolor_index >= color_map->ColorCount) { - *bgcolor = GIF_WHITE_COLOR; - fprintf(stderr, - "GIF decode warning: invalid background color index. Assuming " - "white background.\n"); - } else { - const GifColorType color = color_map->Colors[bgcolor_index]; - *bgcolor = (0xffu << 24) - | (color.Red << 16) - | (color.Green << 8) - | (color.Blue << 0); - } -} - -int GIFReadGraphicsExtension(const GifByteType* const buf, int* const duration, - GIFDisposeMethod* const dispose, - int* const transparent_index) { - const int flags = buf[1]; - const int dispose_raw = (flags >> GIF_DISPOSE_SHIFT) & GIF_DISPOSE_MASK; - const int duration_raw = buf[2] | (buf[3] << 8); // In 10 ms units. - if (buf[0] != 4) return 0; - *duration = duration_raw * 10; // Duration is in 1 ms units. - switch (dispose_raw) { - case 3: - *dispose = GIF_DISPOSE_RESTORE_PREVIOUS; - break; - case 2: - *dispose = GIF_DISPOSE_BACKGROUND; - break; - case 1: - case 0: - default: - *dispose = GIF_DISPOSE_NONE; - break; - } - *transparent_index = - (flags & GIF_TRANSPARENT_MASK) ? buf[4] : GIF_INDEX_INVALID; - return 1; -} - -static int Remap(const GifFileType* const gif, const uint8_t* const src, - int len, int transparent_index, uint32_t* dst) { - int i; - const GifColorType* colors; - const ColorMapObject* const cmap = - gif->Image.ColorMap ? gif->Image.ColorMap : gif->SColorMap; - if (cmap == NULL) return 1; - if (cmap->Colors == NULL || cmap->ColorCount <= 0) return 0; - colors = cmap->Colors; - - for (i = 0; i < len; ++i) { - if (src[i] == transparent_index) { - dst[i] = GIF_TRANSPARENT_COLOR; - } else if (src[i] < cmap->ColorCount) { - const GifColorType c = colors[src[i]]; - dst[i] = c.Blue | (c.Green << 8) | (c.Red << 16) | (0xffu << 24); - } else { - return 0; - } - } - return 1; -} - -int GIFReadFrame(GifFileType* const gif, int transparent_index, - GIFFrameRect* const gif_rect, WebPPicture* const picture) { - WebPPicture sub_image; - const GifImageDesc* const image_desc = &gif->Image; - uint32_t* dst = NULL; - uint8_t* tmp = NULL; - const GIFFrameRect rect = { - image_desc->Left, image_desc->Top, image_desc->Width, image_desc->Height - }; - const uint64_t memory_needed = 4 * rect.width * (uint64_t)rect.height; - int ok = 0; - *gif_rect = rect; - - if (memory_needed != (size_t)memory_needed || memory_needed > (4ULL << 32)) { - fprintf(stderr, "Image is too large (%d x %d).", rect.width, rect.height); - return 0; - } - - // Use a view for the sub-picture: - if (!WebPPictureView(picture, rect.x_offset, rect.y_offset, - rect.width, rect.height, &sub_image)) { - fprintf(stderr, "Sub-image %dx%d at position %d,%d is invalid!\n", - rect.width, rect.height, rect.x_offset, rect.y_offset); - return 0; - } - dst = sub_image.argb; - - tmp = (uint8_t*)WebPMalloc(rect.width * sizeof(*tmp)); - if (tmp == NULL) goto End; - - if (image_desc->Interlace) { // Interlaced image. - // We need 4 passes, with the following offsets and jumps. - const int interlace_offsets[] = { 0, 4, 2, 1 }; - const int interlace_jumps[] = { 8, 8, 4, 2 }; - int pass; - for (pass = 0; pass < 4; ++pass) { - const size_t stride = (size_t)sub_image.argb_stride; - int y = interlace_offsets[pass]; - uint32_t* row = dst + y * stride; - const size_t jump = interlace_jumps[pass] * stride; - for (; y < rect.height; y += interlace_jumps[pass], row += jump) { - if (DGifGetLine(gif, tmp, rect.width) == GIF_ERROR) goto End; - if (!Remap(gif, tmp, rect.width, transparent_index, row)) goto End; - } - } - } else { // Non-interlaced image. - int y; - uint32_t* ptr = dst; - for (y = 0; y < rect.height; ++y, ptr += sub_image.argb_stride) { - if (DGifGetLine(gif, tmp, rect.width) == GIF_ERROR) goto End; - if (!Remap(gif, tmp, rect.width, transparent_index, ptr)) goto End; - } - } - ok = 1; - - End: - if (!ok) picture->error_code = sub_image.error_code; - WebPPictureFree(&sub_image); - WebPFree(tmp); - return ok; -} - -int GIFReadLoopCount(GifFileType* const gif, GifByteType** const buf, - int* const loop_count) { - assert(!memcmp(*buf + 1, "NETSCAPE2.0", 11) || - !memcmp(*buf + 1, "ANIMEXTS1.0", 11)); - if (DGifGetExtensionNext(gif, buf) == GIF_ERROR) { - return 0; - } - if (*buf == NULL) { - return 0; // Loop count sub-block missing. - } - if ((*buf)[0] < 3 || (*buf)[1] != 1) { - return 0; // wrong size/marker - } - *loop_count = (*buf)[2] | ((*buf)[3] << 8); - return 1; -} - -int GIFReadMetadata(GifFileType* const gif, GifByteType** const buf, - WebPData* const metadata) { - const int is_xmp = !memcmp(*buf + 1, "XMP DataXMP", 11); - const int is_icc = !memcmp(*buf + 1, "ICCRGBG1012", 11); - assert(is_xmp || is_icc); - (void)is_icc; // silence unused warning. - // Construct metadata from sub-blocks. - // Usual case (including ICC profile): In each sub-block, the - // first byte specifies its size in bytes (0 to 255) and the - // rest of the bytes contain the data. - // Special case for XMP data: In each sub-block, the first byte - // is also part of the XMP payload. XMP in GIF also has a 257 - // byte padding data. See the XMP specification for details. - while (1) { - WebPData subblock; - const uint8_t* tmp; - if (DGifGetExtensionNext(gif, buf) == GIF_ERROR) { - return 0; - } - if (*buf == NULL) break; // Finished. - subblock.size = is_xmp ? (*buf)[0] + 1 : (*buf)[0]; - assert(subblock.size > 0); - subblock.bytes = is_xmp ? *buf : *buf + 1; - // Note: We store returned value in 'tmp' first, to avoid - // leaking old memory in metadata->bytes on error. - tmp = (uint8_t*)realloc((void*)metadata->bytes, - metadata->size + subblock.size); - if (tmp == NULL) { - return 0; - } - memcpy((void*)(tmp + metadata->size), - subblock.bytes, subblock.size); - metadata->bytes = tmp; - metadata->size += subblock.size; - } - if (is_xmp) { - // XMP padding data is 0x01, 0xff, 0xfe ... 0x01, 0x00. - const size_t xmp_pading_size = 257; - if (metadata->size > xmp_pading_size) { - metadata->size -= xmp_pading_size; - } - } - return 1; -} - -static void ClearRectangle(WebPPicture* const picture, - int left, int top, int width, int height) { - int i, j; - const size_t stride = picture->argb_stride; - uint32_t* dst = picture->argb + top * stride + left; - for (j = 0; j < height; ++j, dst += stride) { - for (i = 0; i < width; ++i) dst[i] = GIF_TRANSPARENT_COLOR; - } -} - -void GIFClearPic(WebPPicture* const pic, const GIFFrameRect* const rect) { - if (rect != NULL) { - ClearRectangle(pic, rect->x_offset, rect->y_offset, - rect->width, rect->height); - } else { - ClearRectangle(pic, 0, 0, pic->width, pic->height); - } -} - -void GIFCopyPixels(const WebPPicture* const src, WebPPicture* const dst) { - WebPCopyPixels(src, dst); -} - -void GIFDisposeFrame(GIFDisposeMethod dispose, const GIFFrameRect* const rect, - const WebPPicture* const prev_canvas, - WebPPicture* const curr_canvas) { - assert(rect != NULL); - if (dispose == GIF_DISPOSE_BACKGROUND) { - GIFClearPic(curr_canvas, rect); - } else if (dispose == GIF_DISPOSE_RESTORE_PREVIOUS) { - const size_t src_stride = prev_canvas->argb_stride; - const uint32_t* const src = prev_canvas->argb + rect->x_offset - + rect->y_offset * src_stride; - const size_t dst_stride = curr_canvas->argb_stride; - uint32_t* const dst = curr_canvas->argb + rect->x_offset - + rect->y_offset * dst_stride; - assert(prev_canvas != NULL); - WebPCopyPlane((uint8_t*)src, (int)(4 * src_stride), - (uint8_t*)dst, (int)(4 * dst_stride), - 4 * rect->width, rect->height); - } -} - -void GIFBlendFrames(const WebPPicture* const src, - const GIFFrameRect* const rect, WebPPicture* const dst) { - int i, j; - const size_t src_stride = src->argb_stride; - const size_t dst_stride = dst->argb_stride; - assert(src->width == dst->width && src->height == dst->height); - for (j = rect->y_offset; j < rect->y_offset + rect->height; ++j) { - for (i = rect->x_offset; i < rect->x_offset + rect->width; ++i) { - const uint32_t src_pixel = src->argb[j * src_stride + i]; - const int src_alpha = src_pixel >> 24; - if (src_alpha != 0) { - dst->argb[j * dst_stride + i] = src_pixel; - } - } - } -} - -void GIFDisplayError(const GifFileType* const gif, int gif_error) { - // libgif 4.2.0 has retired PrintGifError() and added GifErrorString(). -#if LOCAL_GIF_PREREQ(4,2) -#if LOCAL_GIF_PREREQ(5,0) - // Static string actually, hence the const char* cast. - const char* error_str = (const char*)GifErrorString( - (gif == NULL) ? gif_error : gif->Error); -#else - const char* error_str = (const char*)GifErrorString(); - (void)gif; -#endif - if (error_str == NULL) error_str = "Unknown error"; - fprintf(stderr, "GIFLib Error %d: %s\n", gif_error, error_str); -#else - (void)gif; - fprintf(stderr, "GIFLib Error %d: ", gif_error); - PrintGifError(); - fprintf(stderr, "\n"); -#endif -} - -#else // !WEBP_HAVE_GIF - -static void ErrorGIFNotAvailable() { - fprintf(stderr, "GIF support not compiled. Please install the libgif-dev " - "package before building.\n"); -} - -void GIFGetBackgroundColor(const struct ColorMapObject* const color_map, - int bgcolor_index, int transparent_index, - uint32_t* const bgcolor) { - (void)color_map; - (void)bgcolor_index; - (void)transparent_index; - (void)bgcolor; - ErrorGIFNotAvailable(); -} - -int GIFReadGraphicsExtension(const GifByteType* const data, int* const duration, - GIFDisposeMethod* const dispose, - int* const transparent_index) { - (void)data; - (void)duration; - (void)dispose; - (void)transparent_index; - ErrorGIFNotAvailable(); - return 0; -} - -int GIFReadFrame(struct GifFileType* const gif, int transparent_index, - GIFFrameRect* const gif_rect, - struct WebPPicture* const picture) { - (void)gif; - (void)transparent_index; - (void)gif_rect; - (void)picture; - ErrorGIFNotAvailable(); - return 0; -} - -int GIFReadLoopCount(struct GifFileType* const gif, GifByteType** const buf, - int* const loop_count) { - (void)gif; - (void)buf; - (void)loop_count; - ErrorGIFNotAvailable(); - return 0; -} - -int GIFReadMetadata(struct GifFileType* const gif, GifByteType** const buf, - struct WebPData* const metadata) { - (void)gif; - (void)buf; - (void)metadata; - ErrorGIFNotAvailable(); - return 0; -} - -void GIFDisposeFrame(GIFDisposeMethod dispose, const GIFFrameRect* const rect, - const struct WebPPicture* const prev_canvas, - struct WebPPicture* const curr_canvas) { - (void)dispose; - (void)rect; - (void)prev_canvas; - (void)curr_canvas; - ErrorGIFNotAvailable(); -} - -void GIFBlendFrames(const struct WebPPicture* const src, - const GIFFrameRect* const rect, - struct WebPPicture* const dst) { - (void)src; - (void)rect; - (void)dst; - ErrorGIFNotAvailable(); -} - -void GIFDisplayError(const struct GifFileType* const gif, int gif_error) { - (void)gif; - (void)gif_error; - ErrorGIFNotAvailable(); -} - -void GIFClearPic(struct WebPPicture* const pic, - const GIFFrameRect* const rect) { - (void)pic; - (void)rect; - ErrorGIFNotAvailable(); -} - -void GIFCopyPixels(const struct WebPPicture* const src, - struct WebPPicture* const dst) { - (void)src; - (void)dst; - ErrorGIFNotAvailable(); -} - -#endif // WEBP_HAVE_GIF - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/gifdec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/gifdec.h deleted file mode 100644 index 5eba9dd3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/gifdec.h +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// GIF decode. - -#ifndef WEBP_EXAMPLES_GIFDEC_H_ -#define WEBP_EXAMPLES_GIFDEC_H_ - -#include -#include "webp/types.h" - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#ifdef WEBP_HAVE_GIF -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -// GIFLIB_MAJOR is only defined in libgif >= 4.2.0. -#if defined(GIFLIB_MAJOR) && defined(GIFLIB_MINOR) -# define LOCAL_GIF_VERSION ((GIFLIB_MAJOR << 8) | GIFLIB_MINOR) -# define LOCAL_GIF_PREREQ(maj, min) \ - (LOCAL_GIF_VERSION >= (((maj) << 8) | (min))) -#else -# define LOCAL_GIF_VERSION 0 -# define LOCAL_GIF_PREREQ(maj, min) 0 -#endif - -#define GIF_INDEX_INVALID (-1) - -typedef enum GIFDisposeMethod { - GIF_DISPOSE_NONE, - GIF_DISPOSE_BACKGROUND, - GIF_DISPOSE_RESTORE_PREVIOUS -} GIFDisposeMethod; - -typedef struct { - int x_offset, y_offset, width, height; -} GIFFrameRect; - -struct WebPData; -struct WebPPicture; - -#ifndef WEBP_HAVE_GIF -struct ColorMapObject; -struct GifFileType; -typedef unsigned char GifByteType; -#endif - -// Given the index of background color and transparent color, returns the -// corresponding background color (in BGRA format) in 'bgcolor'. -void GIFGetBackgroundColor(const struct ColorMapObject* const color_map, - int bgcolor_index, int transparent_index, - uint32_t* const bgcolor); - -// Parses the given graphics extension data to get frame duration (in 1ms -// units), dispose method and transparent color index. -// Returns true on success. -int GIFReadGraphicsExtension(const GifByteType* const buf, int* const duration, - GIFDisposeMethod* const dispose, - int* const transparent_index); - -// Reads the next GIF frame from 'gif' into 'picture'. Also, returns the GIF -// frame dimensions and offsets in 'rect'. -// Returns true on success. -int GIFReadFrame(struct GifFileType* const gif, int transparent_index, - GIFFrameRect* const gif_rect, - struct WebPPicture* const picture); - -// Parses loop count from the given Netscape extension data. -int GIFReadLoopCount(struct GifFileType* const gif, GifByteType** const buf, - int* const loop_count); - -// Parses the given ICC or XMP extension data and stores it into 'metadata'. -// Returns true on success. -int GIFReadMetadata(struct GifFileType* const gif, GifByteType** const buf, - struct WebPData* const metadata); - -// Dispose the pixels within 'rect' of 'curr_canvas' based on 'dispose' method -// and 'prev_canvas'. -void GIFDisposeFrame(GIFDisposeMethod dispose, const GIFFrameRect* const rect, - const struct WebPPicture* const prev_canvas, - struct WebPPicture* const curr_canvas); - -// Given 'src' picture and its frame rectangle 'rect', blend it into 'dst'. -void GIFBlendFrames(const struct WebPPicture* const src, - const GIFFrameRect* const rect, - struct WebPPicture* const dst); - -// Prints an error string based on 'gif_error'. -void GIFDisplayError(const struct GifFileType* const gif, int gif_error); - -// In the given 'pic', clear the pixels in 'rect' to transparent color. -void GIFClearPic(struct WebPPicture* const pic, const GIFFrameRect* const rect); - -// Copy pixels from 'src' to 'dst' honoring strides. 'src' and 'dst' are assumed -// to be already allocated. -void GIFCopyPixels(const struct WebPPicture* const src, - struct WebPPicture* const dst); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_EXAMPLES_GIFDEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/img2webp.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/img2webp.c deleted file mode 100644 index f7e5489e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/img2webp.c +++ /dev/null @@ -1,324 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// generate an animated WebP out of a sequence of images -// (PNG, JPEG, ...) -// -// Example usage: -// img2webp -o out.webp -q 40 -mixed -duration 40 input??.png -// -// Author: skal@google.com (Pascal Massimino) - -#include -#include -#include - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include "../examples/example_util.h" -#include "../imageio/image_dec.h" -#include "../imageio/imageio_util.h" -#include "./stopwatch.h" -#include "./unicode.h" -#include "webp/encode.h" -#include "webp/mux.h" - -//------------------------------------------------------------------------------ - -static void Help(void) { - printf("Usage:\n\n"); - printf(" img2webp [file-level options] [image files...] " - "[per-frame options...]\n"); - printf("\n"); - - printf("File-level options (only used at the start of compression):\n"); - printf(" -min_size ............ minimize size\n"); - printf(" -loop .......... loop count (default: 0, = infinite loop)\n"); - printf(" -kmax .......... maximum number of frame between key-frames\n" - " (0=only keyframes)\n"); - printf(" -kmin .......... minimum number of frame between key-frames\n" - " (0=disable key-frames altogether)\n"); - printf(" -mixed ............... use mixed lossy/lossless automatic mode\n"); - printf(" -v ................... verbose mode\n"); - printf(" -h ................... this help\n"); - printf(" -version ............. print version number and exit\n"); - printf("\n"); - - printf("Per-frame options (only used for subsequent images input):\n"); - printf(" -d ............. frame duration in ms (default: 100)\n"); - printf(" -lossless ........... use lossless mode (default)\n"); - printf(" -lossy ... ........... use lossy mode\n"); - printf(" -q ........... quality\n"); - printf(" -m ............. method to use\n"); - - printf("\n"); - printf("example: img2webp -loop 2 in0.png -lossy in1.jpg\n" - " -d 80 in2.tiff -o out.webp\n"); - printf("\nNote: if a single file name is passed as the argument, the " - "arguments will be\n"); - printf("tokenized from this file. The file name must not start with " - "the character '-'.\n"); -} - -//------------------------------------------------------------------------------ - -static int ReadImage(const char filename[], WebPPicture* const pic) { - const uint8_t* data = NULL; - size_t data_size = 0; - WebPImageReader reader; - int ok; -#ifdef HAVE_WINCODEC_H - // Try to decode the file using WIC falling back to the other readers for - // e.g., WebP. - ok = ReadPictureWithWIC(filename, pic, 1, NULL); - if (ok) return 1; -#endif - if (!ImgIoUtilReadFile(filename, &data, &data_size)) return 0; - reader = WebPGuessImageReader(data, data_size); - ok = reader(data, data_size, pic, 1, NULL); - free((void*)data); - return ok; -} - -static int SetLoopCount(int loop_count, WebPData* const webp_data) { - int ok = 1; - WebPMuxError err; - uint32_t features; - WebPMuxAnimParams new_params; - WebPMux* const mux = WebPMuxCreate(webp_data, 1); - if (mux == NULL) return 0; - - err = WebPMuxGetFeatures(mux, &features); - ok = (err == WEBP_MUX_OK); - if (!ok || !(features & ANIMATION_FLAG)) goto End; - - err = WebPMuxGetAnimationParams(mux, &new_params); - ok = (err == WEBP_MUX_OK); - if (ok) { - new_params.loop_count = loop_count; - err = WebPMuxSetAnimationParams(mux, &new_params); - ok = (err == WEBP_MUX_OK); - } - if (ok) { - WebPDataClear(webp_data); - err = WebPMuxAssemble(mux, webp_data); - ok = (err == WEBP_MUX_OK); - } - - End: - WebPMuxDelete(mux); - if (!ok) { - fprintf(stderr, "Error during loop-count setting\n"); - } - return ok; -} - -//------------------------------------------------------------------------------ - -int main(int argc, const char* argv[]) { - const char* output = NULL; - WebPAnimEncoder* enc = NULL; - int verbose = 0; - int pic_num = 0; - int duration = 100; - int timestamp_ms = 0; - int loop_count = 0; - int width = 0, height = 0; - WebPAnimEncoderOptions anim_config; - WebPConfig config; - WebPPicture pic; - WebPData webp_data; - int c; - int have_input = 0; - CommandLineArguments cmd_args; - int ok; - - INIT_WARGV(argc, argv); - - ok = ExUtilInitCommandLineArguments(argc - 1, argv + 1, &cmd_args); - if (!ok) FREE_WARGV_AND_RETURN(1); - - argc = cmd_args.argc_; - argv = cmd_args.argv_; - - WebPDataInit(&webp_data); - if (!WebPAnimEncoderOptionsInit(&anim_config) || - !WebPConfigInit(&config) || - !WebPPictureInit(&pic)) { - fprintf(stderr, "Library version mismatch!\n"); - ok = 0; - goto End; - } - - // 1st pass of option parsing - for (c = 0; ok && c < argc; ++c) { - if (argv[c][0] == '-') { - int parse_error = 0; - if (!strcmp(argv[c], "-o") && c + 1 < argc) { - argv[c] = NULL; - output = (const char*)GET_WARGV_SHIFTED(argv, ++c); - } else if (!strcmp(argv[c], "-kmin") && c + 1 < argc) { - argv[c] = NULL; - anim_config.kmin = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-kmax") && c + 1 < argc) { - argv[c] = NULL; - anim_config.kmax = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-loop") && c + 1 < argc) { - argv[c] = NULL; - loop_count = ExUtilGetInt(argv[++c], 0, &parse_error); - if (loop_count < 0) { - fprintf(stderr, "Invalid non-positive loop-count (%d)\n", loop_count); - parse_error = 1; - } - } else if (!strcmp(argv[c], "-min_size")) { - anim_config.minimize_size = 1; - } else if (!strcmp(argv[c], "-mixed")) { - anim_config.allow_mixed = 1; - config.lossless = 0; - } else if (!strcmp(argv[c], "-v")) { - verbose = 1; - } else if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) { - Help(); - goto End; - } else if (!strcmp(argv[c], "-version")) { - const int enc_version = WebPGetEncoderVersion(); - const int mux_version = WebPGetMuxVersion(); - printf("WebP Encoder version: %d.%d.%d\nWebP Mux version: %d.%d.%d\n", - (enc_version >> 16) & 0xff, (enc_version >> 8) & 0xff, - enc_version & 0xff, (mux_version >> 16) & 0xff, - (mux_version >> 8) & 0xff, mux_version & 0xff); - goto End; - } else { - continue; - } - ok = !parse_error; - if (!ok) goto End; - argv[c] = NULL; // mark option as 'parsed' during 1st pass - } else { - have_input |= 1; - } - } - if (!have_input) { - fprintf(stderr, "No input file(s) for generating animation!\n"); - goto End; - } - - // image-reading pass - pic_num = 0; - config.lossless = 1; - for (c = 0; ok && c < argc; ++c) { - if (argv[c] == NULL) continue; - if (argv[c][0] == '-') { // parse local options - int parse_error = 0; - if (!strcmp(argv[c], "-lossy")) { - if (!anim_config.allow_mixed) config.lossless = 0; - } else if (!strcmp(argv[c], "-lossless")) { - if (!anim_config.allow_mixed) config.lossless = 1; - } else if (!strcmp(argv[c], "-q") && c + 1 < argc) { - config.quality = ExUtilGetFloat(argv[++c], &parse_error); - } else if (!strcmp(argv[c], "-m") && c + 1 < argc) { - config.method = ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-d") && c + 1 < argc) { - duration = ExUtilGetInt(argv[++c], 0, &parse_error); - if (duration <= 0) { - fprintf(stderr, "Invalid negative duration (%d)\n", duration); - parse_error = 1; - } - } else { - parse_error = 1; // shouldn't be here. - fprintf(stderr, "Unknown option [%s]\n", argv[c]); - } - ok = !parse_error; - if (!ok) goto End; - continue; - } - - if (ok) { - ok = WebPValidateConfig(&config); - if (!ok) { - fprintf(stderr, "Invalid configuration.\n"); - goto End; - } - } - - // read next input image - pic.use_argb = 1; - ok = ReadImage((const char*)GET_WARGV_SHIFTED(argv, c), &pic); - if (!ok) goto End; - - if (enc == NULL) { - width = pic.width; - height = pic.height; - enc = WebPAnimEncoderNew(width, height, &anim_config); - ok = (enc != NULL); - if (!ok) { - fprintf(stderr, "Could not create WebPAnimEncoder object.\n"); - } - } - - if (ok) { - ok = (width == pic.width && height == pic.height); - if (!ok) { - fprintf(stderr, "Frame #%d dimension mismatched! " - "Got %d x %d. Was expecting %d x %d.\n", - pic_num, pic.width, pic.height, width, height); - } - } - - if (ok) { - ok = WebPAnimEncoderAdd(enc, &pic, timestamp_ms, &config); - if (!ok) { - fprintf(stderr, "Error while adding frame #%d\n", pic_num); - } - } - WebPPictureFree(&pic); - if (!ok) goto End; - - if (verbose) { - WFPRINTF(stderr, "Added frame #%3d at time %4d (file: %s)\n", - pic_num, timestamp_ms, GET_WARGV_SHIFTED(argv, c)); - } - timestamp_ms += duration; - ++pic_num; - } - - // add a last fake frame to signal the last duration - ok = ok && WebPAnimEncoderAdd(enc, NULL, timestamp_ms, NULL); - ok = ok && WebPAnimEncoderAssemble(enc, &webp_data); - if (!ok) { - fprintf(stderr, "Error during final animation assembly.\n"); - } - - End: - // free resources - WebPAnimEncoderDelete(enc); - - if (ok && loop_count > 0) { // Re-mux to add loop count. - ok = SetLoopCount(loop_count, &webp_data); - } - - if (ok) { - if (output != NULL) { - ok = ImgIoUtilWriteFile(output, webp_data.bytes, webp_data.size); - if (ok) WFPRINTF(stderr, "output file: %s ", (const W_CHAR*)output); - } else { - fprintf(stderr, "[no output file specified] "); - } - } - - if (ok) { - fprintf(stderr, "[%d frames, %u bytes].\n", - pic_num, (unsigned int)webp_data.size); - } - WebPDataClear(&webp_data); - ExUtilDeleteCommandLineArguments(&cmd_args); - FREE_WARGV_AND_RETURN(ok ? 0 : 1); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/stopwatch.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/stopwatch.h deleted file mode 100644 index f1b0faca..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/stopwatch.h +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Helper functions to measure elapsed time. -// -// Author: Mikolaj Zalewski (mikolajz@google.com) - -#ifndef WEBP_EXAMPLES_STOPWATCH_H_ -#define WEBP_EXAMPLES_STOPWATCH_H_ - -#include "webp/types.h" - -#if defined _WIN32 && !defined __GNUC__ -#include - -typedef LARGE_INTEGER Stopwatch; - -static WEBP_INLINE void StopwatchReset(Stopwatch* watch) { - QueryPerformanceCounter(watch); -} - -static WEBP_INLINE double StopwatchReadAndReset(Stopwatch* watch) { - const LARGE_INTEGER old_value = *watch; - LARGE_INTEGER freq; - if (!QueryPerformanceCounter(watch)) - return 0.0; - if (!QueryPerformanceFrequency(&freq)) - return 0.0; - if (freq.QuadPart == 0) - return 0.0; - return (watch->QuadPart - old_value.QuadPart) / (double)freq.QuadPart; -} - - -#else /* !_WIN32 */ -#include // memcpy -#include - -typedef struct timeval Stopwatch; - -static WEBP_INLINE void StopwatchReset(Stopwatch* watch) { - gettimeofday(watch, NULL); -} - -static WEBP_INLINE double StopwatchReadAndReset(Stopwatch* watch) { - struct timeval old_value; - double delta_sec, delta_usec; - memcpy(&old_value, watch, sizeof(old_value)); - gettimeofday(watch, NULL); - delta_sec = (double)watch->tv_sec - old_value.tv_sec; - delta_usec = (double)watch->tv_usec - old_value.tv_usec; - return delta_sec + delta_usec / 1000000.0; -} - -#endif /* _WIN32 */ - -#endif // WEBP_EXAMPLES_STOPWATCH_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/test.webp b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/test.webp deleted file mode 100644 index 3e4bca1d..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/test.webp and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/test_ref.ppm b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/test_ref.ppm deleted file mode 100644 index 97719f01..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/test_ref.ppm +++ /dev/null @@ -1,4 +0,0 @@ -P6 -128 128 -255 -܇Οm{dqhtlvs{yƽlz\jmzhqmwŸ˕ځrWd~\i~jqzyM[vXfVc}[deoipfjxz}}~{qoڽ՘fwM]wLZtMZsOXq_fjq~rvrsssvs}NjXkIZsL\vP^yN[tbisx~ˁ}}qq~{[mGWqLZtIWrFQmoxyzss½ٲ̉lmz{vxڏk~JXvLWvLTqFNkQXtlqڣﷷąţyyƈViIXvN\yHPpLSpHOleiۂٰyyŪSc{FVpIWtS^}MUtLSpHOllpjlywyikxjlysvׅxzTd}IWqIWrQ]{P\zOWwLTqFMjcfzil~x{y}z~]_o~kmzikxehw^artw~sviit̕}qIZrJXrIWrO[yJVtPXxT\{FNkV]zv}osX\pqvfkwfj{sxy}hkei}X]ktycewbboȱӷġƶ^oHXqM[vDQlP\xNZxIUsLTsMUtHPm]ekrSZsSWoW[pfj{qttxjm]arZ^lmq^bv[^sdh}fj{dhyilehy~~Ǫ׶TdzEUmM[tAOjWcMXwJSrS[zIQqJSr[c^fNWrLSoPTqINhW\simX]tae}V\oX^qU[m]bwW\s]bykqflV[pTWkqp̹N^tIZpIWqHVqQ_zJXvLWvNZxEPoLWvQZyV^{W_}U\yOVsQUsTWt{\azSWqPUoPUlOTiV[pmrTXrOTmmrx}_d{X\qz}z~{wwեZhN[tN[tO]xQ_zM[vLZtL\vJZwBQoP^{Q]{W_W]~W[{UXwQUs\_}hlTXrLOmIMkDGdDH_EI^lqTXr~TWtaeqv~qpг}O_yNZvNVsLWsQ]yLWsN\wN\wHXrIZsHWtSa~S^}[abehiWXxW[yVZwZ^xTWtPTrOSqNQoBGaINc{^c}[_yX\yQVpjo}wvrp}˄wM]wDQlLWsLTqS[xV^{O[wS^zLWsBPkLZtO]xUa}Zbls_cop^bUXv\azW\vGJiHLjMPmFJbIObX^qZ^vy~w{UZq[_ttytyvv~HXrHXrIWrIUqMUrQZwNVsQZwPXvNVsJVrS_yO\vU^y^eVZw^bsvy}UZs]byX]wPTqPTqMQkNSjPViLQdSWo~jp]bw[_trvUZhZ\kkm}̩ffsxxhvHVqHVqHVqGUpHTpOWtU]zLTqLTqOVsLSpS\wOXqV]wU\v]b{ptjokmz}kpX]wLPhNSjTWtOSpW\vLPhMQfPUjV[rae}U[mU[mkpX]r^bv^bvehybdseerkm}fixtwdrFToIWrESmFToMXtS^zU]zHPmLSpJQoU\y\csw[_w\ax^czdichchdf_bzSWoNSjX]r\ax\azOTmPUlae}QVmHMdLPjINhMQfdj}y~ejVZojmy{z}}{wHTpMXtO[wLWsNZvT_{P\xLTqIQoLSpOSq\_~ilmpSVkdh}W[p[^sUZoNShV[r_h~^fzwqxPWqPXockDJdGNjNUqFMiXawt}V[rSUmtwxz}{}DOkIUqMXtJVrMXtP\xS^zLWvHPpGNkELiNQodhě[^r{ilSVkQUjMQfGLaJSf_h{ltW_vT[t^eJSiGNhNUqLSoFMjFMiIPjrzV^tLPhOQlxzxwtsm{LWsJSpJSpNVsT\yZbXa~NVvGOqFLoGMmIPlQXrbj~͈fkim\axNSjJOfQVmLPeV[p^cxchFIfMTqHOlFOjNUqZa}FIfQUrMPmTWtejMQkMQkWZt}xz[\rbasfev]\oa_rлǤp~TazNVsLTsLTsNVvV^~V^~NVvEMlGMpNTwLSpFMi[cypx^cx_d{\axW\sTXpNSjNSj\avioZ^sdiFIfGNkIOpGOlSZvfk^c}}[_yPTqeiOTmNSlbd]_x]^t{zzy]Zm[Zlkj}¾ĬIVpW_}PXxMUwMUwPXzU]NVxGOqDLmNTwIOpBIfJQmLTjmvpxW\schZ^vMQiSWoOTkPUjaez\btioae}AEbLSpLSpGOlJQkW\sswtwX[vikJMjQToprMOh\]syxsproa_r^]pɝPZtS\wLTqQZyNVxNVxQZ{OWyHPrFNpIQqQWxW^{LSoMTmHOiS[qz[cwX]wV[tHMf@E\INebf~PUjrxiodjzPUjHMfOVrHOlMUrFMiHMdX\qjmei~PSkikwyloTWl_av{zrqZXkmpԛ򕤯ȽzS\rV]wQXtV]zS[zT\{PXxLTsFNmIQqOWwT\{W^zQXtJQkELeELeNUoU]sGNhGLePTqNSlUZqMQipt[_tzjq{}X^oHMdT[wOVsNVvSZwUWrHI_TUkrswxhi~stUXmMPeUXmstqpmpeqzit~NZeOXhPXlX]tX]w[^{QXvS[xS[xPXvNVsQZwT\yT\yMTmMTmBIcAHbMTmELeBIc@GcIMjOSpOTmjorwhldj}MScPWaahrMScV[pT[tQXvOWtT[wVXqVWlijqsactqsvxSVjTWlW[ohj{Φ󀉔ybkxNTdV\oX\qW[p^aySZsU^yU^yQ[vS\wU^yS\wNWpFNdAI_BJa>E^GNhGNj7>Z;B_?Ba?B_BGaX]wINech}GM]DIWOUeafy_dyJSiMTmWawdl[]ofevsrhfwfevml}qt_cxadx[]o}yzw{zɲƴĜ󅌖t{ptlqhlzehyTVh_avZ^sXatU]sPXoQXrT[tNUoELeAHbDH_AF_@GaELh=Da=Da@Gd>A_>A^JNkHMfAF]PUjOTiOUhX^qsyejOTiS[qFNdLViT\pX\pZ\m^arihzdcvjiyrsy}~xzwy~{žǿ˽ȶ󏓝ԱsvhjypsVZmUZqPUoLOlFIhFIhGHhEFeAEc@Db@Dd>Dd>Eb>Eb?FbHOkFMiAHbAHbBIcNVlXatS[m]eydlU]sLSlJQkLSlTWtHJhOQj]^tcdyxzmp}~vvss¾ƤƲ󏐖Ϭķ[]obc{bdMNmIMkJLkLMlIJjFGi@Dd@Dd>Dd>Eb?Fb>EaGNjDJfBIeAHd?FbFMfDLb@H\IQeckQZpIPjFMfOVrMPoLOmPSm]_x]^spr~}~vxprvxss~~ۤƤɿĴ{zcd}hhVWyLMoILiJMjHJhEFe@Db@Db>Eb>Eb?Fb>EaELhAHdAHdAHd>Ea@GcELh>E^ELe]e{JSiGOcNVjV^rPUoNSlOQjX\qQShbdvom{z{}mpQTc[]jddqbboyyĘʹݸЪzxdd__NOoDFaDFaAD^?A^@Da@Db>Eb>Eb@Gc>EaDJf?Fb=D_@Gc>Ea@GcFMi@GcJQkXawPXoJSfXasPXlGLcQVm\_tQUjSTi\^ptsvtik}UWfikxx{^^kzz󩫪mpoz}{˲Ėde~OOkHLaGJ_HJcFHa@E^=@]:A]=D_>Ea?Fb>Ea;B^>Ea?Fb@GcAHdMTmSZsHPfFNdS[qOWmQZpLTjJOi_d{JNc_cw]_qjl{llyy{VXjWZirtlpzww}}Σ黻ǔ~dehθװwvWXmOSdNQeNQeLOd@E\>B\:A]>Ea?Fb>Ea;B^=D_@Gc?Fb>Ea=D]=E[FNdDLbMUkS[qQZpT[tU\vV[rejTWlX\pcewjlyyyy{\^plo~y{vx~{}deḭeisV[fTXfQUfOSfAF]>B\;B^?Fb>Ea;B^=D_=D_?Fb>Ea=D_;B\BJaEMa@H^MUkIQhJSiNUoV^tdi~{W[odhysvz}qpVXjxzrtvxfixdfvww˗ɥԽƞ{}efjmor_^c֗^blV[fSWePTeBF[?D[?B_>Ea;B^=D_=D_>Ea:A];B^=D_>EaFNdAI_;DZJQkHOiBIc;B\AHbV[pafy]arhlzy{jiywybdvjl{}fiv~oq~zz~~ǯ~}zy~tsxqptɍVU^WV_ljwyylpzTWbSVaUWfGJ^GIb@Da>Eb?Fc>Gb=Fa;E];E];E_;E_;E_?Ha?Ha?Ha?Hc@Id>Gb>GbAHdMQiNSh_ctqvvtsrzykjzvt~yy֪rqv{zwvz˜a^k_]jb_mdbpss\_hNQ\\^kNQeGIbDGd>A_?Fc>Fc=Fa;E];E];E_;Da;Da>Gb>G_>Gb>Gb=Fa=Fa?GdELhUZsOTi]arsvyxkjzom~dcs~~~}}ֽŤ͞}{wvzrqvvtya^lZWe^^j[^iZ]h]_lPTeJNcGLe@Db?Fc>Fc=Fa;E_;E_;E_;Da;Da=Fa=F^=Fa=Fa=Fa=Fa?GdELh\azOTicfxjly\^k{z_^oVUebaqqp~}}ssΨȱɾůȓ‰\[_edi[Zcɓcao]]iVZdkoy_boNQcNQfGLeGJh?Fb>Fc=Fa;E_;E_;E_;Da;E_=F^=F^=Fa=Fa@Id>Gb>FcAHdGLeX]rcfxdiw]_leht~baq\[ksrxw{zyyŽ͹¾ɾɍ򩨬edi~~}WUbhesbbmps~Z]ecfq_drMPdINeJOiAHd=Fa=Eb;Da;Da;Da;E_;E_;E];E];E_;E_>Gb;E_AIfJQmJOiW\qZ]olq_boz}ml}ihxrq~}vtttttǦƿڲžɟ򻺿ơ[Xe^\j]]iX\f_ck\_jlq}fj{DH]GLcDJd>Gb=Eb;Da;Da;Da;E_;E_;E];E];E_;E_=Fa;E_?GdGNjPUoQVkSVhlqvxy{edtedtxwxwsrqq~̽Ÿ{yƻĿ̰}ԯ^\ib_mqo}SS^Z]h[^fadohlx}FL^=AVFMf@Id=Eb=Eb;Da;Da;E_;E];E];E];E_;E_:D^:D^=EbAHdFJdNShMPb]bpxwyxttֻŦy̪{zljwVTbVVcNP]Z]hilwbepcfqimyrvFL^BJaDJd?Fb>Eb=Da;Da;E_;E];E];E_;E_;E_9B]:D^;Da=D_@Ga?D[FI]psxw~vvŲĭι˾̢¥rsyhhtNM]NP_SUdacrllxffrllxrt}fizAEZHJcJNkDGd>A_9@];B^@Ga?Fb?Fc>Eb>Eb=D_;B^;B^=D_;B\AF_DHb@B[LOcmpzzrr~xxttŲɾƴ˽ɫ[^fTVcPSbX[lVXjbdsoo{~~hhtkjz^_tHI_HJeMOlFIf?B_9@\;B^>Eb>Eb>Eb>Eb>Ea=D_;B^;B^;B\@Ga>A^@E^QUjNQcUWdiitffrllxŹ͹ǥԚz~jlyNP_QTewyhjyzz\\hllytsy{PQfEG_HJeGJhAEb=D_>Ea>Eb>Eb=Da=Da>Ea>Ea=D_;B^=D]9@Z@Da?D]PTi^bsdfswz]]immy{{jjvzz˺ϰƚxڳWZiTVhpr\^m~ffsZZetwEH]FHaLPjGJh?Fb;B^=Da=Da=Da=Da=D_>Ea>Ea=D_>E^:A[;?\@E^NQfcfxww{{Ͻ»ɘ϶yҸŬLN]IL]qslo~kjzNM]FFSOO\eeq~~y{_cw>@XOTmFIfAHd>Ea>Eb>Eb>Eb>Eb9@\:A]>Ea>Ea=D]=D];?\HMfHLa\_q˽Ȥۖ·;ɲGIXIL]SUdehwXWhML\^^k]]ipp{ILdINhHLiAHdAHd?Fc>Eb>Eb>Eb:A]:A]=D_>Ea>E^@Ga>A^AF_AEZ]arrt{}}ƫǺԏĺǾžLN]OQc\^macrji{TScbboZZejjs_ctVZo@E^>A^FMiBIeBIf?Fc>Eb>Eb:A];B^=D_=D_?F_>E^@Da@E^GJ_\_q{~z~ssԻ³ӭƿ³̽䚜ƽDzNM_IL]UWiik}PObqpedt^^kaaljjs}{}SUmFHcHLiGJhDJfAJe>Gb>Ea:A];B^>Ea=D_?F_9@Z@DaFJd=?WLOc~wzoozƌƦҴIJ˶Ƭ̴𑑑˾ЭPMaNMbHF]qo\[pzy\\illv}~NLeNLhJMjJTlGTkANe=F^=D]:A[;?\=@]?D]?D]?B_?B_AF_?DXfmx~swvv~~wwȱ̭͑xxxҶ̜OL_LH^VTkWUlMLahfyddpss}ihoډXToTTpDMeN[rDPh>G_:A[:A[>A^>A^?D]?D]?B_?B_BFc=AXZ_my~txppyzzĚĸɬȾշƿūlljͿ~~{HFTOM]XWjXWjSQb\\ittww{{fhmomtȽ˲[WmVWpBIcQ[vISmBIe=D_>A^?B_>A^?D]?D]?D]?D]?B_BG^MSasxxzzz{{zxͰȳĹ˽ɸŹϹaa^yywƅwwtVTaLIVNN[UUbPP\EEPaalMMVMNThiokjo£ϻwsQPeFJdMTpNUqHLiEHeAEb>A^=A[?D[?D[?D]?D]?B_DHbBHXqvsvqq~wvqo}ƻ𸸺ǽǺОVWSopkvwr}kjqddmTT]TT]OOXZ[aTU[NOSdeiomr˦qo}edtSVk?D]OTmOTmHLiBFc;?\>B\?DX?DX>BZ>B\AEb>B\?EWzsvoo{ml}rp}ƺθº߿½¸҇yTUPbc^}~ybc^stpklh~ijm]^bXZ]deiZ[^\]aTUXefjooqwwycewLOdPTiPSkOQlIMj?B_>B\?DX@EZ?D[?D]?B_?D]BH[jo}{{ddqxxxw̾ϸŻͨΟ{UVOef_lmfWXQ~mohde^stpjkfddbaa^eeeijljkm^_b]^aefiLMOijlrrtkkkjimfel}}fivUWiPQfPSkOTmDGd;B\@EZAGZ@E\?D]?B_@E^BH[SWey}yymmwww⻻ˬ׾{UVQ[\Wfhclmffha^_Xef_cd][\U^_[^_[Z[Viifccattrceddfe]_^TVUehf{}bcekmlsssiiilll}}}vvxxxz{zddpVXhTUjTVoINh@E^AGZAGZ@EZ?D[?B_@E^>BWBFWkmzllvxxjiyttzyƾĴ݌~OOM[[Xiifklhefbcd]cd]NOJTTQUUSQQOppmppmXXVddbjjhbb_[[XWWUffdjjjjjjffdhheddbaa^^^\iifxxxqqqttrmmmomr__iPO_LMbGIbAD\AEVLOaNQf?AZAD\?AZ?BWBFZacr}}kkxddqϾĭڷSSSNNNkkissqqrm]^Zbc\ijeQQOLLIZZWMMJbb_^^\ZZWiifbb_\\Z[[Xbb_hheaa^ddbeecVVTddbaa^__]eeceecmmksrojieiii__kTScTVhQUfLP\UZeUXjEH\AEZ?AZ?BWBDXIHXlly}}__kppyΝޜJJJMMM]][hhefhcbc^_aZfhcTTQOOM__]TTQUUS~~{SSPbc^]^Z[\W\]Xbc^efb^_[efbiifPPN]][eechhemmkjjhddbppmbb____{}^^hZZeX\dU[_\biZ^jFI[@DW@DXBF[HI^TSeiivzzww̉bboZZf˥Ϳ˛ԾǎAAALLLUUSccabc^Z[V^_Xab]WWUXXVUUSNNLXXVeecLLI[\WWXTWXTZ[V_a\\]X\]X_a\^^\ZZW]][eeceecmmkjjhZZWffd[]\^a_vxwklo]^bZ[]X]\]bcX\dDFS@BTDEZLMbTVhLJ[aam~~҅XWhbbo¶̎yy{Ŀ۫ݕHHHNNNVVTffd]^ZNOJQSL_a\WWU\\ZPPNPPN^^\cca}}zVVTXZU_aZWXQ_aZab[\]VZ[T_a\bb_]][ZZW^^\eeceecddbUUSX[ZX[Z^a_ceddddiiihheTVSTVQ[]Z^_cQQ[IIVEDTML\^]m]]jaaliir}~ۇQQ^qqz~}Ǭžȸί͸֓OOOGGGQQO]][VWSMNIUVOab]]][__]__][[XVVTaa^aa^]][TUPhibUVObc\bc\]^WWXQ^_[[[X]][VVT]][eecddbddbVXWSWXX]^[\^bdcbbbccalljWXTZ[Vbd_abdTU[JJTFFQJJVWWcaajijp\]cz{~}~ss^^jdzԪ뷷вȯZZZPPPQQOOOMPQMNOJWXQ^_[[[X^^\__]\\ZVVTcca^^\ZZW_a\de^XZSde^ab[_aZbc\TUPZZW]][\\Z__]cca__]aa^VXWUZ[PUWNSUcdfiik]]]cab[ZWVWSccaddd\[_WV]TSZSQVTSW]^bvwycdfqrttwvwyxι[[hxxߢԦۿտΣXXXaa^XXVTTQOPLOPLWXQZ[V[\Weec__]bb_[[X__]XXVUVQbc\de^STMXZSde^cd]]^WUVOWXTSSP]][XXV]][XXV[[XTVSNSTGLMEIJ_acaac]]]b_a_^\VVTcca^^^VVXTTVWWZZZ\WWWZ\[fih_ba_bafihqsr٥vveeq囚ǽUUS\]X_a\UVQQSNIJFOPL\]XZ[V]^Z^_[]^Z]^ZWXTZ[VXZUab[de^[\UMNG^_XWXQZ[TZ[TVWSWXT_a\XZUab]QSNXZU\\ZNPMVXWGIHXXXeee^^\aa^ccaUUSeecddbZZZSSS___[[[OOO[[[hhhXXVddbjjhyyw˶~}^]fvs·OPLUVQ]^ZZ[VHIEEFAMNIXZUTUP]^Z^_[WXT^_[XZUTUP]^Z\]V]^WXZSEF?WXQUVOZ[TZ[TXZU]^Z[\WZ[V^_[STOQSN]^ZSSP\\ZPPNVVTZZWQQOWWU\\ZPPNXXViif^^\LLIUUSWWUSSP^^^cca_a\cd_rsowxsttrqqs{zdbp}zٺǰIJFQSN^_[^_[JLGBD?GHDTUPSTO\]X]^ZVWS^_[XZUTUP]^ZZ[T[\U]^WGHAVWPVWP[\UXZSXZS^_XZ[TXZS\]VNOHOPI^_[]^ZZ[VQSNSTO^_[QSNSTOXZUQSNWXTjkfXZUMNIQSNZ[V[[X__]eec_a\de^fhadeappmlllihl~}rrp~ecpb_lljwƾHIETUPbc^^_[MNI>?:EFA[\WXZU\]X]^Z\]X]^ZWXTZ[VXZU^_X^_Xbc\STM[\U[\U]^WVWPZ[T]^WZ[TUVO[\UHIBQSL_aZUVQWXTWXTQSN\]XOPLSTO]^ZPQM\]XijeXZUVWSUVQbc^^_[ccaab]fhacd]bc\de^efb___aacqqsmmmhheqqo{{~{z\[d[Zcdcjjim̹̜IJFIJFZ[V\]XLMH9:6BD?]^ZVWSUVQXZU\]X[\WZ[V^_[WXTab[\]V]^WXZSNOHTUNXZSXZSZ[Q]^UbcZ\]T\]TTULWXOZ[TSTMXZS]^WLMFZ[T[\U_aZbc\OPI]^Wde^bc\^_XWXQab[]^Z[\W^_[hibde\abX_aZ]^Zbb_VVXjjljjh_a\jkfccahhjώzy~~bbdȝ̗Ӱ˺LMHLMH\]X^_[QSN?@;EFA[\WOPLQSNZ[VVWSZ[VZ[VZ[VUVQ\]V[\U]^W\]VJLEPQJUVOUVOWXO\]TabXZ[QQSITULXZP[\SOPIWXQbc\UVOTUNWXQ[\U[\UNOHde^ab[[\U\]VUVO]^WXZS\]Xcd]Z[Q]^Ucd[]^UZ[T__]ZZZfffbb_Z[V_a\bb____~~kkm̸ҿ¡׭ƝVWSQSN[\WZ[V[\WGHDHIEXZUNOJSTOZ[VXZUZ[VVWSXZUOPLWXQXZSWXQXZSGHAMNGPQJQSLSTJ[\S_aWUVMMNEQSIUVMZ[Q\]VQSLXZSXZSVWPZ[TXZSUVOOPIde^^_XWXQ\]VTUN[\UUVOZ[VZ[T]^U_bU^aTbcZUVOaa^\\\bbb\\ZXZUbc^iif^^^iiikkkjjlƔԚָ΍~z}WXTTUP]^Z\]Xab]MNIJLGWXTIJFPQMNOJ[\W[\WPQMZ[VIJFUVOVWPOPIPQMDE@IJFNOJNOJPQJZ[Q^_VSTJOPGOPGNOFXZP[\UNOHUVOVWPIJDSTMWXQUVOPQJ\]V_aZZ[T^_XUVO[\UTUP\]XZ[V_aWcd[WXO\]Tab]^^\]][aa^\]X^_[dealmieecbbbTTQddb}}}SSUyy{pprpppƎڻǽ͸Ϝ}{{yx}STOVWSWXTUVQUVQVWSPQMXZUGHDJLGOPLab]LMH[\WPQMIJFQSNMNISTOTTQIIGNNLLLLMMJSTOSTMUVOUVOQSLWXQSTMVWPVWPPQJOPISTMGHAQSLPQJSTMUVMUVM\]V^_XXZUUVQUVQMMJTTQZ[V]^W_aZab[[\UXZU^^\[[X\\Zdeade^ab[lmiffd__]UVQZ[Tjkf}~yooliifXXXlll~~~hhhddbԯǺӱt{JLGPQMVWSVWS[\WXZUNOJSTOGHDIJFUVQ_a\LMHWXTNOJEFAQSNLMHNNLUUSLLLLLLGGIJJJOPLPQJTUNTUNSTMMNGZ[T[\UVWPPQJOPISTMNOHLMFSTMOPIUVMUVMXZS]^WVWSTUPOOMHHFPPNXXV]^Zab[cd]^_[XXV]][^^\__]^_[^_XUVO^_[XXVTUPQSLVWNcd]mohbc^xytffd\\Z___qqqvvvmmm\\\^^\qrmԫ̷۽ھɬyFGBNOJTUPVWSVWSTUPJLGOPLPQMLMHZ[VTUPJLGVWSVWSNOJOPLMNIMMJSSPPPPGGG@@BGGGIJFQSLMNGUVONOHWXQ]^W^_XVWPPQJOPISTMUVOHIBOPINOHUVMUVMVWN[\UQSLUVQQSNPQMOOMVVTWXTZ[Tef_deaZZW^^\[[Xaa^XZU^_X[\U]^ZPPNJLGUVO\]Tab[bc\TUPefb[[XQQO\\Z__]eeeqqqxxxiiiqqsVVV\\Zffdlljyyw{{yrrpȬܖ{{wy~ɟ{@@>FFDJJHJJHVVTPPNBB@DE@QSNJLG[\WTUPJLGTUPUVQIJFIJFPQMNNLOOMSSSEEE::=EEEHIEHIEQSNQSNNOJQSNTUPZ[VVWSPQMOPLSTOXZUIJFJLGNOHJLBTULXZP]^WNOHSTOMNIJLGPPNPPNOPLPQJ]^Wbc^XXVVVT\\ZccaPQMVWPWXQWXTJJHGHDVWP]^U^_XXZSPQMcd_bb_]][TTQ\\Z___hhh[[[TTV^^aLLNNNNbb_ddbiifeecmmk]][{{{Ұٕwxxy}tw>>>AAAMMMFFFHHHJJJAAA@@>PQMPQMXZUMNI@A=HIENOJEFAGHDFGBFFDGGENNNAAA99;>>>DDA@@>LLIMMJLLIJJHNNLOOMUUSMMJIIGPPN]][SSPJJHMNISTJWXO^_X^_XPQMEFAHHFIIGLLIPPNVWSSTM^_X]^ZSSPTTQUUS]][UVQUVOZ[TUVQHHFMNIWXQ_aWab[]^WUVQ\]XZZWPPNUVQXXVQQO[[[UUUMMOONSGGIPPPZZZZZZ\\\TTT[[[\\\iii–sssŕ昚{}xyxz}r}s666;;;GGG>>>DDDAAA>>>AAAMMJJLGPQMNOJBD?HIELMHDE@DE@EFAEEBDDASSSFFF88:::=;;;@@>??=IIGGGELLIGGEFFDOOMLLIFFDQQOXXVSSPNNLHIELMFSTJ\]V^_XWXTGHDFFDDDAGGEJJHQSNMNG[\U]^ZSSPOOMVVTXXVUVQPQJVWPLMHIIGSTO^_Xfh^fhabc\VWSQSNSSPXXVNOJTUPWWUPPPQQTGGIHGLA@ENNP[[[UUU___WWWSSS]]]ZZZbbb~~~jjjllloooĪxy}xyrty{{~wzrzlwr}>>@::=FFHFFHJJMHHJBBE999MMJIJFGHDDE@BD?FGBLMHGHDBD?FGBFFDBB@TTTJJJ88:99;888777>>>BBBLLLEEEGGGGGGJJJFFFGGGQQQQQQUUUOOODDAMNGPQHVWPVWPWXTIJFLLILLINNLLLIMNIHIB^_Xfhc\\ZTTQWWU[[XZ[VUVOWXQOPLHHFTUPbc\ijahibab[XZUFGBJJHXXVOPLXZUUUSNNNSSUPPSQPUDBGJJMUUWPPS^^aJJMHHJPPSbbd^^acceXX[VVX[[]ddf~~motz~oq~qsps{{rvtxiqfos~???>>>IIIGGI??A;;>AADAAAEEBHIEEFA?@;?@;BD?LMHMNIDE@IJFIIGDDAQQQNNN:::;;;777666===AAAJJJNNNMMMNNNGGG>>>JJJPPPMMMVVVLLLFFDGHDMNGUVOVWP]^ZOPLQQOQQOJJHEEBHIEFGBUVQbc^VVTJJHOOMZ[VVWSXZUQSNXZULLI]][^_Xde\cd]\]Vab]NOJNNLSSP\]XXZUXXVJJHQQQPPSUTXLJOFEIIHMNMQZZ\PPSMMOOOQ[[][[]]]___bWWZTTViikooqyy{fhkz~kotfjrilwoq~vxrtfizwx~vzqypy480794BEALNM>?A236687FHE@@>FFDFFD>>;GGEAA?FFDHHFDDALLIJJHJJHVVT]][TTQFFD442997;;9@@>DDALLIJJHBB@BEAEGFILJEFHFGINPO@BAGIFDDAIIGUVQ[\WOPLLMH997???GGEBB@FFDEEB]][[[XQQONNLLMHSTONOJWWUSSPMMMIIIUUSef_de\ab[ef_cd_TUPMMJNNLWWU\\Z[[XTUPMMJNNLUUUSSUDEJEFLFGMVW[MNQIJNIJMUVX[[[QQQUUUVVVOOO]]]eeeeeeefi^_bijlabdcdhopshilefjdekqqzssjjwrqoqcfzw}{s{t{~AE:AE=EGBDFE9:=013687ILHEEBLLIGGE886663@@>GGEEEB??=MMJPPNQQOaa^bb_XXVTTQ??=@@>;;9DDAFFDLLIJJHAA?JMIEGFGHJFGIDEGIJMJMLFHEFFFGGGVVTXZUQSNTTQ???;;;FFD@@>FFDNNLiif__]SSPSSPMNIOPLOOMJJHQQQFFFDDFBBBVWPab[ab[TUP\]XVVTMMJMMJSSSWWWPPNXZUIJFNNLNNNOOQFGMDDMGHNTU[NOSEFIEFHVWZSSSMMMTTTXXXQQQVVV[[[WWW^_bUVX^_b]^a]^abcebce]^abcfdei{}ffpvvijadvsx{txt{BF;=@8>@;>@?78:-/1243BEAMMJOOMFFD220220??=EEBGGE@@>IIGJJHLLIUUSbb_ccaaa^OOMEEB997BB@DDALLIJJHBB@DFB>@??@B?@B:;>@ADNPOILHLLLNNNZZW\]XUVQOOMPPP@@@LLIMMJIIGJJHbb___]TTQLLIUVQMNIOOMNNLNNN===::=???PQMXZS[\WGHD\\ZLLIFFFIIIQQQWWWLLIXZUJLGOOMOOOJJMGHL@AGEFLNOSOPTFGIFGIWZXMMMHHHNNNTTTVVVUUUSSSWWWTUWUVX\]_VWZbce]^a]^abcebcfdeibci^^hhhsllyzyqrikzqsrwr{vTWMNQI?A=@BA@AD347243?A>NNLIIG??=774>>;;;9==:JJHGGEHHFHHFQQOJJHQQOSSPXXV]][HHF774AA???=IIGMMJGGE:=9;>=@AD=>@;=?;=?EGFDFBGGGOOOOOMXZUWXTJJHJJJ???LLIHHFAA?GGEZZWTTQJJHJJHHIEHIEHHFGGE@@@;;;88:AAA\]XXZUXZUUUSLLI???IIIGGGJJJQQQQQO_a\QSNQQOSSSFFH@AE;=BBDGGHLPQTMNPMONX[ZJJJEEEIIINNNIIITTTTTTVVVOPSNOQTUWVWZXZ\_acXZ\[\^^_cefjfhmQSXeeoddpxxz}_bomq{~txqww[^TOSJ8:68:9@AD124364>@=LLIJJHAA?::8HHF;;9??=QQOBB@??=QQOSSPNNLOOMOOMNNLZZWEEB::8EEBEEBFFDLLIPPN9;80219:=46801389;>@?@B?FFFQQQSSPNOJXZUSSP>>>BBBOOMLLIGGEFFDOOMHHFBB@BB@EFA?@;AA?DDADDD???::=EEEPPNPQM[[XAA?>>>:::FFHPPSFFFMMMNNLXZUSTOMMJSSSIIL?@D:;?GHLSTVIJMMONNPOUWTOOONNNFFFMMMHHHQQQOOOQQQLMONOQOPSMNPXZ\]^aVWZPQTVWZVW[^_c]^b[\b_afffpmmyz}acp[^feiqmp}{zoqlq{ipwTWMLOGDFA;>=@AD679132@B?LLIQQOGGE774MMJEEBAA?NNLEEBAA?PPNLLIWWULLIFFDIIGVVTAA?442??=BB@IIGJJHTTQ>@=79889;/02124>?A?A@GIFGGGEEEHHFQSN[\W^^\LLLLLLLLIIIGJJHEEBIIGIIGAA?GGE@A=DE@HHF@@>BBBHHHEEGBBBJJHMMJZZWBBB@@@NNPGGIMMODDDAAA>>;NOJXZUMMJPPPIIIBDFBDGNOQZ[]LNMLNMJMIQTPVVVQQQEEELLLHHHNNNSSSVVVPQTOPSPQTFGITUW[\^UVXTUWQSUTUW\]_^_cOPTVW[cdhklrdhpSV^W\^efjss}vtoo{eiqekpv~MPFMPHNPL=?>=>@78:8:9LNJGGENNLHHF>>;PPNNNL>>;JJHBB@@@>MMJFFDUUSTTQNNLHHFWWU@@>331;;9DDAQQOIIGUUSFHE;>=89;34789;@AD:=;>@=HHH>>>HHF]^Zab]\\ZZZZLLLLLIMMJHHF@@>DDAEEB774IIG@A=;=8FFDBB@DDDJJJNNPGGGGGELLI[[[EEENNPQQT@?DBBE;;;>>>??=QSN^_[LLIJJJIIIGHJHILMNPUWVNPOHJGEGDMOLSSSVVVLLLOOOMMMJJJWWWWWWVWZMNPIJMIJMPQTPQTZ[]WX[LMONOQ[\^_acUVXUVX^_bbceX]_TX[dehdehdcjvt~wtjirbfibhjjptЍIMBSVNPSN=?>=>@1249;:HJGMMJFFD??=@@>AA?UUS>>;TTQFFDGGEUUSMMJLLIOOMOOMLLI\\ZEEB663>>;FFD[[XFFDNNLBEA8:92364682369;:HJGILHDDDFFDIJFJLG[\WPQMJJH??=GGETTQJJH886>>;MMJ;;9HHFFGB?@;NNLIIGFFFSSSUUU???GGGMMM^^^JJMIILEDHDBG;:?88:>>>==:HIE^_[GGEFFFHHJBDFFGIGHJSUTOQPGIF@B?ILHGGEXXXWWWVVVSSSHHHXXXUUUQTSQSUGHJMNPMNPNOQXZ\\]_QSUPQTVXWX[Z[]\UWV^a_abd^cdPUVacbbdcbaehfmmlsbah^cdejkilrv{}GH?PQJWXTMMM@@B//1BBBBB@JMH:=8362798>@?TVSFHDTVQDE@MNIVWSOPLNOJJLGMNIHIEQQOOOM9:6FGBVWSab]GHDLMHJJJ>>@224224DDDIII??=DDALLIHHFMNINOJVWP^_XSTMHIEJJHMMJDDA442::8886886EEBNNL@@>EEBTTQAA?LLIXXVIIIOOOEEETTVPPSVUZFEIBAH:9>88:???@@>JJH]][AA????JJMABFFGJHIMFGIXZ\MONILJMOLIIGTTQ^^\MMJTTQPPNNNLTTQSUTQTSNPOLNMILJILJQTS\^][\^UVXUVXVWZ^_b[\^[\^]^a\]__ac\]_^_babd^_c^_c_ac^_bijlhioeiq_dp^co@A8MNGOPLIIIDDF113:::;;9PSNAD?3644768:9NPO@B>OSJNOJLMHOPLLMHPQMFGBLMHAB>UUS[[XGHD?@;HIBZ[THIBJLGFFH327224BBELLLPPPAA???=??=??=HHFNOJPQM\]VUVONOHJLGPPNNNL;;9442663774GGEPPNBB@AA?QQOIIGEEBPPNSSPWWWIIIGGI??AFEI@?D=;B98=779??ADDDZZWaa^LLL@@BJJM9:>?@DDEHFGJOPSGHJGIHJMLJJHOPLZ[VUVQXZUVWSQSNVVTPSQX[ZWZXLNMHJIFHGJMLUWV\]_TUWQSUTUWZ[]WX[STVXZ\[\^XZ\[\^Z[]^_bQSUVWZ\]_bbbcce_afadlX\fX]hsy}GH?LMFTUPFFFQQT113111;;9MOJAD@/10/02468JML=?;JMHNOJIJFOPLMNIGHD?@;IJFEFAFFDUUSWXTPQMNOHWXQJLEQSNLLL99;,,/;;;UUUUUSNNL@@>@@>>>>EEBGGELMHVWSNOHGHABD?MMJPPNHHF886220997@@>SSPDDA==:NNLJJHFFDPPNTTQWWUJJJNNNHHJ@@B;:??>BIHM@@B??AMMMZZWZZWQQQ;;>GGI:;?;=@?@DBDGMNPHILGIHHJIMMJNNLUUSZZWVVTUUSPPNTTQQTSWZXVXWOQPHJIGIHGIHOQPXZ\QSUNOQVWZXZ\Z[]PQTWX[XZ\VWZXZ\WX[]^aPQTQSU]^a_acWX[TU[[^fSV^LOW_ej_ejLMDQSLNOJ@@@SSU>>@777;;9LNJFHE236347679LMO>@=MOLPPNIIGOOMEEBBB@AA?FFDDDAMMJVVTVWSFGBFG@VWPQSLVWSFFF447;;;777LLITTQHIEEFADDDAAAGGGIIGFFDTUPQSNMNIMMJUUSMMJPPN==:++)997??=TTQDDA>>;LLILLIIIGNNLPPN\\ZIIGUUULLLWWZMMOFEI87;668==?HHHQQO\\ZJJJMMOHHJ89=9:>@AEHIMIJMEFHADB?A@OOOQQQSSSVVVNNNQQQNNNPPPSUTLNMMONSUTNPOILJHJIMONWX[TUWJLNMNPTUWTUWIJMTUWTUWWX[TUWVWZUVXSTVJLNXZ\WX[OTVIMSPTZQU]OSXZ^aW\^VWNUVOMNIDDDOOQTTVHHH::8>@==?>*+-&(+67:@AD@BAEGFFFF>>>FFFFFFMMMPPPPPPMMJAA?QQOWXTHIEIJDNOHTUNPQMJJHGGGTTTFFDIIGVWSSTO>?:888668>>>AAA>>;HHFPPNSSPSSPMMJNNLQQOIIG774442??=VVTOOMEEBFFDUUSMMJIIGMMJXZUXXVWWULLLTTTLLN--0336113>>@HHHUUS\\ZOOOLLN??A67::;?=>AGHLDEGFGI=?>EGFLLLTTVLLNOOQLLNNNPGGIQQQSUTOQPQTSOQPWZXPSQOQPZ\[VWZUVXGHJLMOPQTXZ\FGIHILPQTQSUTUWWX[STVZ[]MNPPQTMQSPUWJNTBFLLOUVZ_TXZTUWWXOLMFHIE???DDFGGI>>>11/79878:)*-*+/237469468:=;DDD======AAADDD@@@@@@DDDEEBUUSVWS?@;@A:FG@VWP[\WQQO[[[SSPEEBNOJQSNOPI894AAA>>@>>@======JJHPPNJJHIIGMMJHHFNNLOOM@@>AA?BB@UUSVVTNNLHHFSSPIIGMMJJJHUVQSTOLLIQQONNNOOO;;>IIL88:;;>QQQOOM[[X\\\BBEDDF?@D?@D;=@>?BDEGDEG9;:;>=EEGPPSJJMGGIGGIJJMFFHLLNJMLMONQTSPSQSUTSUTUWVTVUOPSNOQEFHIJMIJMPQTBDFFGILMOPQTSTVTUWMNPVWZTUWOTUFMMPVXPTZEHNIMSTUXQTSQTSUVMPQJEFABBB??AEEGBBB886243236(),/0634:67:78:=?>FFH::=::=??AAAD::=::=AAATTQVVTWXTMNIJLEFG@NOHOPLTTQ^^\]][GHDMNIQSLEF?9:6IILGFJ??A::=999HHHMMJGGEGGEJJHGGENNLSSPGGE??=;;9OOMWWUTTQGGEIIGJJHNNLFFDQSNLMHMNILLINNLNNNFFF@@@GGIMMOUUUGGEXXVNNNAAD88:78;9:>?@D@AE:;>>?A?A@@BAEEGNNPLLNFFHEEGGGIEEGEEGFHGMONOQPSUTTVUQTSVXWOQPTUWNOQEFHEFHBDFMNPHILNOQHILJLNPQTQSUHILPQTWX[MQSAGIMSUQW\IMSMQTTUWTTQVVTJLEIJDHIE??=BBBQQQIII444-/1236+,0/03-/29:>;=??A@JJM447@@B@@B>>@::=::=>>@@@@UUS[\WGHD?@;BD?OPLWXTPPN\\Z\\ZLMHGHDLMHDE@==:LLNMMOAAD==?777AAAJJHLLIHHFBB@>>;@@>@@>BB@>>>999HHHPPPMMJFFDJJHFFDFFDLLIMNINOJJJHIIGMMJ[[[XXXUUULLNPPSQQQDDAUUSPPP99;44778;=>AIJNIJM9:=?@BDEGBDFBBEEEGFFHBBBBBBEEGFFHAADEGFNPONPOSUTPSQILJVXWVXWUVXOPSJLNJLNEFHJLNFGIFGIFGIHILLMOPQTHILMNPWX[GLM=BEJPSOUWJOQLPQPSQNPMTTQNOJOPLPQMGHDDE@GGEBBE87;:;A01778;013124468:;>>?AEEG779779AADIIL99;336::=HHHZZWUUSEEB>>;FFDLLI[[XPPNZZZ\\\PPNBB@MMJBB@BBBDFEILJ;>=FHG=?>8:9MONFHGLNM@B?9;8=?;?A>;>=78:348=>AGHJHJIILHLNIJMIHJGFHGHJINPOFHGFHGFHGLMO?@B:;>ABEIJMEGF?A>TVSOQP@AD89;/039:>FGIUWV=?>;=?:;>?@D=>AEFHSUTOQNEGD=?>@AD?@BLNMNPOPSQQTSQTSJMLNPOX[ZTUWPQTIJMNOQJLNGHJGHJIJMDFEGIHGIHMONFHGLNMVXWMNPINOHMNMQSLPQHMNINOMQPQTSPPNMMJLMHDE>;=8AA?>>@32911:/06;=@6796879;:9:=:;>>>@224779??A==?224//1668===IIGVVTNNL>>;EEBPPNTTQZZZXXX\\\IIIAAAGGGFFF@@@?A@BEDDFEBED:=;8:9JMLEGFILJ>@?362362:=;89;46923967=@AEDFEEGDGIEFHEEGFDFEJLNNOQDEGABEFGIQSUDEG9:=BDFABEDFE@B?OQNTVUIJMABE2379:>EFHVXWEGF;=?78;:;?>?BIJMTVSTVQJMHBEADEG?@DGHJHJILNMQTSMONHJILNMTVUWX[OPSIJMMNPPQTJLNEFHABEGIHHJINPOLNMJMLSUTTVUMONFJLEIJINOHMNEIJGLMINOLPQIIGQQOTUPFG@9:6??===?329,,6-/4?@D?@B243=?>;=?>?A?@D12667:78;-/2+,0126;=?>>>HHFUUSQQOAA?AA?JJHUUSUUUZZZWWWPPP@@@JJJEEEEEEADB@BAHJIADB9;:9;:HJIEGFMONDFE9;8796=?>9:=46912889??@D=?>;>:?A=BEAFHGILJGHJJLN?@B?@B?@BQSUNOQLMO>?AEFHILJ?A>NPMSUTHIL@AD:;?ABFGHJVXWSUT>?A78;89=469GHJQTPWZUOQMILHEFH>?BJLNHILFGIGHJEFHBDFFGILMONOQIJMGHJEFHJLNJLNHILEFHEGFFHGJMLEGFBEDMONQTSNPOHMNGLMLPQJOPBGHDHIGLMINOQQOUUSUVQGHA=>9BB@AAD98?//8+,2>?BEFH687ADB:;>:;>>?B126:;?:;?237014348:;>???MMJLLIDDA>>;FFDHHFQQOWWWUUUZZZPPPEEEIIINNNGGG@BA8:9=?>:=;7989;:FHGDFEHJIDFE=?;9;8DFE>?A469/0667=>?B>@?=?;FHDFHEFHGFHG>?AFGI?@BBDF;=?EFH;=?9:=78:?@B=?>=?>PSQLNM=>@67:67:ABFDEGJML\^]GHJ>?B89=:;?MNPPSOTVQOQMILHGHJABFHILGHJEFHEFH?@B?@BBDFFGIHILMNPNOQ?@BIJMJLNIJMEFHFHGNPOJMLFHGILJMONVXWLNMEIJDHIHMNGLM?DEAFGDHIFJLSSPWWUWXTPQJ=>9??=DDFA@GEEN12878;347798@BA@AD4687;>&*037=14:-17*-3*-3-/2:::NNLQQOIIG??=AA?GGELLINNNUUUWWWNNNAAAHHHQQQGGGEGF?A@9;:ADB8:99;:DFE@BAEGFBED@B?=?;GIH9:=126-/478>;=@ADB>@=BE@?A>:=;798>?A;=?67978:67989;78:3479:>:;?9:=>?AGHJPQTFGJ46989=?@DEFHEGF\^]LMO=>A12667:FGIQTPX[V^a\JMIHIL;=@?@D>?B?@D?@D;=@:;?@AEHIMGHJ?@BJLN9:=ABELMODEG=>@HJIOQPJMLFHGFHGEGFNPOHJIAFG@EFDHIAFG>BD;@ABGHGLMOOMUUSUVQOPI894886==?>=D88A/0689=6799;:ADB>?A12637=$(-,06(+1*-3(+1*-3014;;;LLINNLHHF@@>==:??=HHFJJJUUUTTTQQQ===GGGMMMIII@BA=?>9;:HJI?A@>@?DFEBEDADBBEDEGDGIFILJ;=?46912834:78;>@?>@=GIEEGDBEDADB>?A9:=12434767989;89;67:78>;=B89=89;DEGNOSDEJ12878;=>AABEDFE[]\PQTBDG9:>FGJMNPSUQWZU]_[PSOLMO?@D;=@:;??@D>?B78;9:>ABFIJNMNPGHJPQT@ADGHJIJMGHJGHJPSQOQPNPOEGFGIHEGFMONMONFJLDHIFJLDHI;@A;@ABGHEIJSSPUUSPQMGHA340997;;>218++4,-378;679364>@?>?A469-17&*2/2:,08%)1%)1*-6239PPPQQOBB@442==:??=;;9==:IIIOOOUUUSSS;;;AAAIIIDDD@BA=?>>@?JMLEGF?A@?A@?A@9;:?A@GIFLNJILJ;=?469128/060149;::=9FHDBEA=?>8:99:=67901334746878:78:46934:89?46967:HIMIJN?@F67=34889=?@BDFESUTPQTDEH>?BGHLIJMOQNSUPZ\WUWTOPS?@D9:@9:@>?E:;A78>89?=>D@AEABEABENOQEFHEFHFGIJLNLMOGIHGIHMONJMLGIHADBFHGHJIBGH?DE@EF=AB9>?;@ABGHBGHNNLQSNOPIFG@:;7::8779,+2%&,,-3469124687>?A;=?014),4#&/&*2"%-"%-#&,*-3348DFELLIFFD??=886DDALLIGGEBBBNNNPPNTTQ;;9IIG@@@>>>9;:@BAGIHPSQOQPEGFDFE?A@=?>BEDLNJQTPGIH9:=126-/467=237:=;=?;@B?=?;9;:78:89=67:01434812634834812622;33=12878;IJNNOSDEJ78>12889==>@ABESTVVWZJLNFGJNOSHILILHJMHQTOTVSMON;=?9:>67=:;A9:@12878>>?EABH>?B?@BHILABE89;?@BJLNIJMFHGJMLLNMQTSNPOADBFHGIJMDHI?DE?DE;@A7;=;@ABGH@EFPQMMNGOPISTMMNIBBB=;@43:)*0()/78;3474689:=78;/06**6%%1$$-%%/()/126236013>@?BED@BA9;:;>=ADBFHGLNMPPPHHFQSNQSNHIELMHHHFBBB78:@ADFHEMOLLNJJMIIJM@AD>?ADFEOQNNPMADB78:34:,,612812689;9;::=;89;78;78>14:14=03;/2=-1;69A26>03;009009/0678;GHJJLO@AG34:1289:@?@D=>AFGJVWZEFHEFH@@BLLNFFFIIGUUSUUSNNLGGGEFH89=34:67=11:88A66?88A?@DEFHHILBDF=>@=>@GHJEFHEFHBDFIJMNOQGHJGHJEFHHIL:;?=>A>?B:;?9:>9:>=>A:;?PQJIJDZ[TMNIDDA===76:218*+1,-3:;?236-/1348128((1))4%%2%%1&&0&(--/2468687?A@:=;798798?A@?A@BEDADB???GGGJLGOPI892>?:???;;>89=ABEFHENPLQTOGIFFGIFGJBDFABEGIHNPMJML=>@239,,634:67=9:>236?@B?@D;=B46;37?,0:+-:02?13@79F14?,08--922;017237:;>QSVFGM67=34:78>EFL=>DBDGNOSGHJ>?A??ALLNHHHFFFSSPWWUPQMEEBNOQ?@D34:239//866?11=>>G?@DDEGGHJ@AD:;>=>@DEGDEG>?A=>@HILNOQMNPFGIABEGHJDEH@AE;=@78;=>A=>A>?B=>AQSLGHAWXQOPLBB@III649107+,2128>?B013+,/126/06%%/&&2$$1%%1))2%&,*+/9:=>@?>@?9;:364243:=;BED>@?>@?GGIGGGNNLLMHAB>IIG;;;==?9:>>?A>@=DFASUP@B?;=?@AE@AD9:=:=;GIFNPO?@B017//834:89?=>A89;>?A89=34:34:26>+/9*,9/1>13@79F14?,0822>//8,-3348?@BOPT@AG23923967=DEJ;=BABFMNQHIL;=?JJMIILFFFHHHVVTTTQMNIHHFX[ZWX\89=67=34:66?11:88A=>A@AEABF:;?78;;=@?@DABF?@B>?AHILNOQMNPFGIABEGHJ?@D9:>67:469BDGEFIBDGDEHLMFQSLTUNNOJMMJ@@@327/-4()/128=>A)*,*+-/03,-3$$-%%1$$1&&2**3#$*&(+;=?BEDEGF679/02679679:;>ABE@ADDDFDDFNNLPPNOOMMMJJJMAAD>?BDEG>@=>@;NPL:=9124014@AD>?A:=;BEALNM=>@-/400967=23934812478:78;67=34:/2:-1;,/;+-:-0=68E26@03;11=11:,-3014FGISTWIJP67=-/467==>D9:@ABFQSVIJM=>@>>@@@BEEEFFFTTQVVTOPLFFDZ\[abdABF237/0612899B67=BDIEFIEFI=>A469:;?;=@@AE?@B=>@DEGHILGHJGHJEFHHILGHL=>A469126>?BBDG@AE?@DSTMIJDQSLVWSEEB@@@98=/-4()/128;=@+,/*+-)*-#$*$$-%%1##0$$0&&0&(-)*-BDFILJ236/03,-1348;=@67:78;34898===?GGGLLLAAA???336-,1+,0236AD@HJFTVQGIF124/03=>@>?AADBEGDBED89;,-3++412846;78;01378:89=89?78>,08(+6-0=02?+-:+-:+/9+/7--9,,6,-3469LMOLMPNOU:;A/0646;89?9:@@AEIJN@AD9:=AAD==?:::AAATTQ[[XLMHLLIZ\[TUWMNP=>A126/06*+19:@;=B;=B>?E46;67==>D?@F>?B;=?;=?BDFEFHIJMIJMHILFGIDEGEFH679124?@BHILHILDEG?@9@A:PQJUVQTTQFFF438(&-()/78>BDG/02)*,)*-#$*%%/##/""/$$0**3()/014GHJTUW89=/03+,0-/2/03014:;?237,+0;:?BBEHHHEEE@@B76:0/34699:=:=9?A=OQMLNJ:;>78;89;;=?>@?=?;>@?78:-/4,,646;46;469,-089;67:128-/4+/7),7,/;,/;*,9*,9*-8*-6--9,,6&(-9:>JLNJLOQSXLMS0172399:@46;BDGDEH>?A;=?HHJ99;888>>>MMJOOMIJFMNIPSOTVUUVXNOQ:;?014/0646;89?67=78>34:01789?;=B:;A9:>468=>@EFHGHJGHJEFHBDFDEGABE9:=89;=>@DEGEFH>?A:;4>?8PQJWXTMMJBBB327%$+*+1?@FJLO347,-0,-1)*0++4((3$$1**666?$%+126BDFSTV:;?-/4,-3+,2239-/4017)*00/698=HHJHHHEEE??A98=/-4:;?;=?8:79;7NPLJMI9:=67:89;@AD@BA9;88:9679/06--746;128126,-078:4699:@ABH+/7),7,/;(*7)+8)+8),7),4))4009+,278;BDFFGJFGM:;A9:@01723934:>?B@AE;=?:;>>>@::=>>>===IIGOOMSTOQSNLNJQTSNPOIJM469-/2126;=B:;A66?33=22;11:77@;;E;=B@AE9:=;=?@AD?@BDEGGHJIJMHJI=?>687798=?>ADBFHGADB>?8:;4IJDTUPIIGHHH:9>&%,+,2DEJQSV78:124237/0622;%%1""/**699B()/78;?@BQSU9:>+,2/06,-3,-39:@89?67=43::9>AADHHHBBB::=76:+*189=78:;>::=8QTOEGD-/1+,0236>?A>@?241364468017--7017,-3014/0223678;78>34:*-6*-8+-:$&3(*7(*7(+6(+3++7))2,-39:>GHJIJNOPVQSX@AG017*+146;;=@?@D89;89;??A==?777;;;FFDOOMTUPPQMLNJSUQLNMGHJ/03-/2+,0;=B??H66?22;33=33=22;33=67=78;4689:=9:=@ADEFHHILIJMDFE4763648:9@BA@BAFHGHJI \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/unicode.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/unicode.h deleted file mode 100644 index 61199ce7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/unicode.h +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2018 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Unicode support for Windows. The main idea is to maintain an array of Unicode -// arguments (wargv) and use it only for file paths. The regular argv is used -// for everything else. -// -// Author: Yannis Guyon (yguyon@google.com) - -#ifndef WEBP_EXAMPLES_UNICODE_H_ -#define WEBP_EXAMPLES_UNICODE_H_ - -#if defined(_WIN32) && defined(_UNICODE) - -// wchar_t is used instead of TCHAR because we only perform additional work when -// Unicode is enabled and because the output of CommandLineToArgvW() is wchar_t. - -#include -#include -#include - -// Create a wchar_t array containing Unicode parameters. -#define INIT_WARGV(ARGC, ARGV) \ - int wargc; \ - const W_CHAR** const wargv = \ - (const W_CHAR**)CommandLineToArgvW(GetCommandLineW(), &wargc); \ - do { \ - if (wargv == NULL || wargc != (ARGC)) { \ - fprintf(stderr, "Error: Unable to get Unicode arguments.\n"); \ - FREE_WARGV_AND_RETURN(-1); \ - } \ - } while (0) - -// Use this to get a Unicode argument (e.g. file path). -#define GET_WARGV(UNUSED, C) wargv[C] -// For cases where argv is shifted by one compared to wargv. -#define GET_WARGV_SHIFTED(UNUSED, C) wargv[(C) + 1] -#define GET_WARGV_OR_NULL() wargv - -// Release resources. LocalFree() is needed after CommandLineToArgvW(). -#define FREE_WARGV() LOCAL_FREE((W_CHAR** const)wargv) -#define LOCAL_FREE(WARGV) \ - do { \ - if ((WARGV) != NULL) LocalFree(WARGV); \ - } while (0) - -#define W_CHAR wchar_t // WCHAR without underscore might already be defined. -#define TO_W_CHAR(STR) (L##STR) - -#define WFOPEN(ARG, OPT) _wfopen((const W_CHAR*)ARG, TO_W_CHAR(OPT)) - -#define WPRINTF(STR, ...) wprintf(TO_W_CHAR(STR), __VA_ARGS__) -#define WFPRINTF(STDERR, STR, ...) fwprintf(STDERR, TO_W_CHAR(STR), __VA_ARGS__) - -#define WSTRLEN(FILENAME) wcslen((const W_CHAR*)FILENAME) -#define WSTRCMP(FILENAME, STR) wcscmp((const W_CHAR*)FILENAME, TO_W_CHAR(STR)) -#define WSTRRCHR(FILENAME, STR) wcsrchr((const W_CHAR*)FILENAME, TO_W_CHAR(STR)) -#define WSNPRINTF(A, B, STR, ...) _snwprintf(A, B, TO_W_CHAR(STR), __VA_ARGS__) - -#else - -// Unicode file paths work as is on Unix platforms, and no extra work is done on -// Windows either if Unicode is disabled. - -#define INIT_WARGV(ARGC, ARGV) - -#define GET_WARGV(ARGV, C) (ARGV)[C] -#define GET_WARGV_SHIFTED(ARGV, C) (ARGV)[C] -#define GET_WARGV_OR_NULL() NULL - -#define FREE_WARGV() -#define LOCAL_FREE(WARGV) - -#define W_CHAR char -#define TO_W_CHAR(STR) (STR) - -#define WFOPEN(ARG, OPT) fopen(ARG, OPT) - -#define WPRINTF(STR, ...) printf(STR, __VA_ARGS__) -#define WFPRINTF(STDERR, STR, ...) fprintf(STDERR, STR, __VA_ARGS__) - -#define WSTRLEN(FILENAME) strlen(FILENAME) -#define WSTRCMP(FILENAME, STR) strcmp(FILENAME, STR) -#define WSTRRCHR(FILENAME, STR) strrchr(FILENAME, STR) -#define WSNPRINTF(A, B, STR, ...) snprintf(A, B, STR, __VA_ARGS__) - -#endif // defined(_WIN32) && defined(_UNICODE) - -// Don't forget to free wargv before returning (e.g. from main). -#define FREE_WARGV_AND_RETURN(VALUE) \ - do { \ - FREE_WARGV(); \ - return (VALUE); \ - } while (0) - -#endif // WEBP_EXAMPLES_UNICODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/unicode_gif.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/unicode_gif.h deleted file mode 100644 index afcd46bd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/unicode_gif.h +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2018 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// giflib doesn't have a Unicode DGifOpenFileName(). Let's make one. -// -// Author: Yannis Guyon (yguyon@google.com) - -#ifndef WEBP_EXAMPLES_UNICODE_GIF_H_ -#define WEBP_EXAMPLES_UNICODE_GIF_H_ - -#include "./unicode.h" -#ifdef HAVE_CONFIG_H -#include "webp/config.h" // For WEBP_HAVE_GIF -#endif - -#if defined(WEBP_HAVE_GIF) - -#ifdef _WIN32 -#include // Not standard, needed for _topen and flags. -#include -#endif - -#include -#include -#include "./gifdec.h" - -#if !defined(STDIN_FILENO) -#define STDIN_FILENO 0 -#endif - -static GifFileType* DGifOpenFileUnicode(const W_CHAR* file_name, int* error) { - if (!WSTRCMP(file_name, "-")) { -#if LOCAL_GIF_PREREQ(5, 0) - return DGifOpenFileHandle(STDIN_FILENO, error); -#else - (void)error; - return DGifOpenFileHandle(STDIN_FILENO); -#endif - } - -#if defined(_WIN32) && defined(_UNICODE) - - int file_handle = _wopen(file_name, _O_RDONLY | _O_BINARY); - if (file_handle == -1) { - if (error != NULL) *error = D_GIF_ERR_OPEN_FAILED; - return NULL; - } - -#if LOCAL_GIF_PREREQ(5, 0) - return DGifOpenFileHandle(file_handle, error); -#else - return DGifOpenFileHandle(file_handle); -#endif - -#else - -#if LOCAL_GIF_PREREQ(5, 0) - return DGifOpenFileName(file_name, error); -#else - return DGifOpenFileName(file_name); -#endif - -#endif // defined(_WIN32) && defined(_UNICODE) - // DGifCloseFile() is called later. -} - -#endif // defined(WEBP_HAVE_GIF) - -#endif // WEBP_EXAMPLES_UNICODE_GIF_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/vwebp.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/vwebp.c deleted file mode 100644 index ef26e1ba..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/vwebp.c +++ /dev/null @@ -1,641 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Simple OpenGL-based WebP file viewer. -// -// Author: Skal (pascal.massimino@gmail.com) -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#if defined(__unix__) || defined(__CYGWIN__) -#define _POSIX_C_SOURCE 200112L // for setenv -#endif - -#include -#include -#include - -#if defined(WEBP_HAVE_GL) - -#if defined(HAVE_GLUT_GLUT_H) -#include -#else -#include -#ifdef FREEGLUT -#include -#endif -#endif - -#ifdef WEBP_HAVE_QCMS -#include -#endif - -#include "webp/decode.h" -#include "webp/demux.h" - -#include "../examples/example_util.h" -#include "../imageio/imageio_util.h" -#include "./unicode.h" - -#if defined(_MSC_VER) && _MSC_VER < 1900 -#define snprintf _snprintf -#endif - -// Unfortunate global variables. Gathered into a struct for comfort. -static struct { - int has_animation; - int has_color_profile; - int done; - int decoding_error; - int print_info; - int only_deltas; - int use_color_profile; - int draw_anim_background_color; - - int canvas_width, canvas_height; - int loop_count; - uint32_t bg_color; - - const char* file_name; - WebPData data; - WebPDecoderConfig config; - const WebPDecBuffer* pic; - WebPDemuxer* dmux; - WebPIterator curr_frame; - WebPIterator prev_frame; - WebPChunkIterator iccp; - int viewport_width, viewport_height; -} kParams; - -static void ClearPreviousPic(void) { - WebPFreeDecBuffer((WebPDecBuffer*)kParams.pic); - kParams.pic = NULL; -} - -static void ClearParams(void) { - ClearPreviousPic(); - WebPDataClear(&kParams.data); - WebPDemuxReleaseIterator(&kParams.curr_frame); - WebPDemuxReleaseIterator(&kParams.prev_frame); - WebPDemuxReleaseChunkIterator(&kParams.iccp); - WebPDemuxDelete(kParams.dmux); - kParams.dmux = NULL; -} - -// Sets the previous frame to the dimensions of the canvas and has it dispose -// to background to cause the canvas to be cleared. -static void ClearPreviousFrame(void) { - WebPIterator* const prev = &kParams.prev_frame; - prev->width = kParams.canvas_width; - prev->height = kParams.canvas_height; - prev->x_offset = prev->y_offset = 0; - prev->dispose_method = WEBP_MUX_DISPOSE_BACKGROUND; -} - -// ----------------------------------------------------------------------------- -// Color profile handling -static int ApplyColorProfile(const WebPData* const profile, - WebPDecBuffer* const rgba) { -#ifdef WEBP_HAVE_QCMS - int i, ok = 0; - uint8_t* line; - uint8_t major_revision; - qcms_profile* input_profile = NULL; - qcms_profile* output_profile = NULL; - qcms_transform* transform = NULL; - const qcms_data_type input_type = QCMS_DATA_RGBA_8; - const qcms_data_type output_type = QCMS_DATA_RGBA_8; - const qcms_intent intent = QCMS_INTENT_DEFAULT; - - if (profile == NULL || rgba == NULL) return 0; - if (profile->bytes == NULL || profile->size < 10) return 1; - major_revision = profile->bytes[8]; - - qcms_enable_iccv4(); - input_profile = qcms_profile_from_memory(profile->bytes, profile->size); - // qcms_profile_is_bogus() is broken with ICCv4. - if (input_profile == NULL || - (major_revision < 4 && qcms_profile_is_bogus(input_profile))) { - fprintf(stderr, "Color profile is bogus!\n"); - goto Error; - } - - output_profile = qcms_profile_sRGB(); - if (output_profile == NULL) { - fprintf(stderr, "Error creating output color profile!\n"); - goto Error; - } - - qcms_profile_precache_output_transform(output_profile); - transform = qcms_transform_create(input_profile, input_type, - output_profile, output_type, - intent); - if (transform == NULL) { - fprintf(stderr, "Error creating color transform!\n"); - goto Error; - } - - line = rgba->u.RGBA.rgba; - for (i = 0; i < rgba->height; ++i, line += rgba->u.RGBA.stride) { - qcms_transform_data(transform, line, line, rgba->width); - } - ok = 1; - - Error: - if (input_profile != NULL) qcms_profile_release(input_profile); - if (output_profile != NULL) qcms_profile_release(output_profile); - if (transform != NULL) qcms_transform_release(transform); - return ok; -#else - (void)profile; - (void)rgba; - return 1; -#endif // WEBP_HAVE_QCMS -} - -//------------------------------------------------------------------------------ -// File decoding - -static int Decode(void) { // Fills kParams.curr_frame - const WebPIterator* const curr = &kParams.curr_frame; - WebPDecoderConfig* const config = &kParams.config; - WebPDecBuffer* const output_buffer = &config->output; - int ok = 0; - - ClearPreviousPic(); - output_buffer->colorspace = MODE_RGBA; - ok = (WebPDecode(curr->fragment.bytes, curr->fragment.size, - config) == VP8_STATUS_OK); - if (!ok) { - fprintf(stderr, "Decoding of frame #%d failed!\n", curr->frame_num); - } else { - kParams.pic = output_buffer; - if (kParams.use_color_profile) { - ok = ApplyColorProfile(&kParams.iccp.chunk, output_buffer); - if (!ok) { - fprintf(stderr, "Applying color profile to frame #%d failed!\n", - curr->frame_num); - } - } - } - return ok; -} - -static void decode_callback(int what) { - if (what == 0 && !kParams.done) { - int duration = 0; - if (kParams.dmux != NULL) { - WebPIterator* const curr = &kParams.curr_frame; - if (!WebPDemuxNextFrame(curr)) { - WebPDemuxReleaseIterator(curr); - if (WebPDemuxGetFrame(kParams.dmux, 1, curr)) { - --kParams.loop_count; - kParams.done = (kParams.loop_count == 0); - if (kParams.done) return; - ClearPreviousFrame(); - } else { - kParams.decoding_error = 1; - kParams.done = 1; - return; - } - } - duration = curr->duration; - // Behavior copied from Chrome, cf: - // https://cs.chromium.org/chromium/src/third_party/WebKit/Source/ - // platform/graphics/DeferredImageDecoder.cpp? - // rcl=b4c33049f096cd283f32be9a58b9a9e768227c26&l=246 - if (duration <= 10) duration = 100; - } - if (!Decode()) { - kParams.decoding_error = 1; - kParams.done = 1; - } else { - glutPostRedisplay(); - glutTimerFunc(duration, decode_callback, what); - } - } -} - -//------------------------------------------------------------------------------ -// Callbacks - -static void HandleKey(unsigned char key, int pos_x, int pos_y) { - // Note: rescaling the window or toggling some features during an animation - // generates visual artifacts. This is not fixed because refreshing the frame - // may require rendering the whole animation from start till current frame. - (void)pos_x; - (void)pos_y; - if (key == 'q' || key == 'Q' || key == 27 /* Esc */) { -#ifdef FREEGLUT - glutLeaveMainLoop(); -#else - ClearParams(); - exit(0); -#endif - } else if (key == 'c') { - if (kParams.has_color_profile && !kParams.decoding_error) { - kParams.use_color_profile = 1 - kParams.use_color_profile; - - if (kParams.has_animation) { - // Restart the completed animation to pickup the color profile change. - if (kParams.done && kParams.loop_count == 0) { - kParams.loop_count = - (int)WebPDemuxGetI(kParams.dmux, WEBP_FF_LOOP_COUNT) + 1; - kParams.done = 0; - // Start the decode loop immediately. - glutTimerFunc(0, decode_callback, 0); - } - } else { - Decode(); - glutPostRedisplay(); - } - } - } else if (key == 'b') { - kParams.draw_anim_background_color = 1 - kParams.draw_anim_background_color; - if (!kParams.has_animation) ClearPreviousFrame(); - glutPostRedisplay(); - } else if (key == 'i') { - kParams.print_info = 1 - kParams.print_info; - if (!kParams.has_animation) ClearPreviousFrame(); - glutPostRedisplay(); - } else if (key == 'd') { - kParams.only_deltas = 1 - kParams.only_deltas; - glutPostRedisplay(); - } -} - -static void HandleReshape(int width, int height) { - // Note: reshape doesn't preserve aspect ratio, and might - // be handling larger-than-screen pictures incorrectly. - glViewport(0, 0, width, height); - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - kParams.viewport_width = width; - kParams.viewport_height = height; - if (!kParams.has_animation) ClearPreviousFrame(); -} - -static void PrintString(const char* const text) { - void* const font = GLUT_BITMAP_9_BY_15; - int i; - for (i = 0; text[i]; ++i) { - glutBitmapCharacter(font, text[i]); - } -} - -static float GetColorf(uint32_t color, int shift) { - return ((color >> shift) & 0xff) / 255.f; -} - -static void DrawCheckerBoard(void) { - const int square_size = 8; // must be a power of 2 - int x, y; - GLint viewport[4]; // x, y, width, height - - glPushMatrix(); - - glGetIntegerv(GL_VIEWPORT, viewport); - // shift to integer coordinates with (0,0) being top-left. - glOrtho(0, viewport[2], viewport[3], 0, -1, 1); - for (y = 0; y < viewport[3]; y += square_size) { - for (x = 0; x < viewport[2]; x += square_size) { - const GLubyte color = 128 + 64 * (!((x + y) & square_size)); - glColor3ub(color, color, color); - glRecti(x, y, x + square_size, y + square_size); - } - } - glPopMatrix(); -} - -static void DrawBackground(void) { - // Whole window cleared with clear color, checkerboard rendered on top of it. - glClear(GL_COLOR_BUFFER_BIT); - DrawCheckerBoard(); - - // ANIM background color rendered (blend) on top. Default is white for still - // images (without ANIM chunk). glClear() can't be used for that (no blend). - if (kParams.draw_anim_background_color) { - glPushMatrix(); - glLoadIdentity(); - glColor4f(GetColorf(kParams.bg_color, 16), // BGRA from spec - GetColorf(kParams.bg_color, 8), - GetColorf(kParams.bg_color, 0), - GetColorf(kParams.bg_color, 24)); - glRecti(-1, -1, +1, +1); - glPopMatrix(); - } -} - -// Draw background in a scissored rectangle. -static void DrawBackgroundScissored(int window_x, int window_y, int frame_w, - int frame_h) { - // Only update the requested area, not the whole canvas. - window_x = window_x * kParams.viewport_width / kParams.canvas_width; - window_y = window_y * kParams.viewport_height / kParams.canvas_height; - frame_w = frame_w * kParams.viewport_width / kParams.canvas_width; - frame_h = frame_h * kParams.viewport_height / kParams.canvas_height; - - // glScissor() takes window coordinates (0,0 at bottom left). - window_y = kParams.viewport_height - window_y - frame_h; - - glEnable(GL_SCISSOR_TEST); - glScissor(window_x, window_y, frame_w, frame_h); - DrawBackground(); - glDisable(GL_SCISSOR_TEST); -} - -static void HandleDisplay(void) { - const WebPDecBuffer* const pic = kParams.pic; - const WebPIterator* const curr = &kParams.curr_frame; - WebPIterator* const prev = &kParams.prev_frame; - GLfloat xoff, yoff; - if (pic == NULL) return; - glPushMatrix(); - glPixelZoom((GLfloat)(+1. / kParams.canvas_width * kParams.viewport_width), - (GLfloat)(-1. / kParams.canvas_height * kParams.viewport_height)); - xoff = (GLfloat)(2. * curr->x_offset / kParams.canvas_width); - yoff = (GLfloat)(2. * curr->y_offset / kParams.canvas_height); - glRasterPos2f(-1.f + xoff, 1.f - yoff); - glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - glPixelStorei(GL_UNPACK_ROW_LENGTH, pic->u.RGBA.stride / 4); - - if (kParams.only_deltas) { - DrawBackground(); - } else { - // The rectangle of the previous frame might be different than the current - // frame, so we may need to DrawBackgroundScissored for both. - if (prev->dispose_method == WEBP_MUX_DISPOSE_BACKGROUND) { - // Clear the previous frame rectangle. - DrawBackgroundScissored(prev->x_offset, prev->y_offset, prev->width, - prev->height); - } - if (curr->blend_method == WEBP_MUX_NO_BLEND) { - // We simulate no-blending behavior by first clearing the current frame - // rectangle and then alpha-blending against it. - DrawBackgroundScissored(curr->x_offset, curr->y_offset, curr->width, - curr->height); - } - } - - *prev = *curr; - - glDrawPixels(pic->width, pic->height, - GL_RGBA, GL_UNSIGNED_BYTE, - (GLvoid*)pic->u.RGBA.rgba); - if (kParams.print_info) { - char tmp[32]; - - glColor4f(0.90f, 0.0f, 0.90f, 1.0f); - glRasterPos2f(-0.95f, 0.90f); - PrintString(kParams.file_name); - - snprintf(tmp, sizeof(tmp), "Dimension:%d x %d", pic->width, pic->height); - glColor4f(0.90f, 0.0f, 0.90f, 1.0f); - glRasterPos2f(-0.95f, 0.80f); - PrintString(tmp); - if (curr->x_offset != 0 || curr->y_offset != 0) { - snprintf(tmp, sizeof(tmp), " (offset:%d,%d)", - curr->x_offset, curr->y_offset); - glRasterPos2f(-0.95f, 0.70f); - PrintString(tmp); - } - } - glPopMatrix(); -#if defined(__APPLE__) || defined(_WIN32) - glFlush(); -#else - glutSwapBuffers(); -#endif -} - -static void StartDisplay(void) { - int width = kParams.canvas_width; - int height = kParams.canvas_height; - int screen_width, screen_height; - // TODO(webp:365) GLUT_DOUBLE results in flickering / old frames to be - // partially displayed with animated webp + alpha. -#if defined(__APPLE__) || defined(_WIN32) - glutInitDisplayMode(GLUT_RGBA); -#else - glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA); -#endif - screen_width = glutGet(GLUT_SCREEN_WIDTH); - screen_height = glutGet(GLUT_SCREEN_HEIGHT); - if (width > screen_width || height > screen_height) { - if (width > screen_width) { - height = (height * screen_width + width - 1) / width; - width = screen_width; - } - if (height > screen_height) { - width = (width * screen_height + height - 1) / height; - height = screen_height; - } - } - glutInitWindowSize(width, height); - glutCreateWindow("WebP viewer"); - glutDisplayFunc(HandleDisplay); - glutReshapeFunc(HandleReshape); - glutIdleFunc(NULL); - glutKeyboardFunc(HandleKey); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glEnable(GL_BLEND); - glClearColor(0, 0, 0, 0); // window will be cleared to black (no blend) - DrawBackground(); -} - -//------------------------------------------------------------------------------ -// Main - -static void Help(void) { - printf( - "Usage: vwebp in_file [options]\n\n" - "Decodes the WebP image file and visualize it using OpenGL\n" - "Options are:\n" - " -version ..... print version number and exit\n" - " -noicc ....... don't use the icc profile if present\n" - " -nofancy ..... don't use the fancy YUV420 upscaler\n" - " -nofilter .... disable in-loop filtering\n" - " -dither dithering strength (0..100), default=50\n" - " -noalphadither disable alpha plane dithering\n" - " -usebgcolor .. display background color\n" - " -mt .......... use multi-threading\n" - " -info ........ print info\n" - " -h ........... this help message\n" - "\n" - "Keyboard shortcuts:\n" - " 'c' ................ toggle use of color profile\n" - " 'b' ................ toggle background color display\n" - " 'i' ................ overlay file information\n" - " 'd' ................ disable blending & disposal (debug)\n" - " 'q' / 'Q' / ESC .... quit\n"); -} - -int main(int argc, char* argv[]) { - int c; - WebPDecoderConfig* const config = &kParams.config; - WebPIterator* const curr = &kParams.curr_frame; - - INIT_WARGV(argc, argv); - - if (!WebPInitDecoderConfig(config)) { - fprintf(stderr, "Library version mismatch!\n"); - FREE_WARGV_AND_RETURN(-1); - } - config->options.dithering_strength = 50; - config->options.alpha_dithering_strength = 100; - kParams.use_color_profile = 1; - // Background color hidden by default to see transparent areas. - kParams.draw_anim_background_color = 0; - - for (c = 1; c < argc; ++c) { - int parse_error = 0; - if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) { - Help(); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-noicc")) { - kParams.use_color_profile = 0; - } else if (!strcmp(argv[c], "-nofancy")) { - config->options.no_fancy_upsampling = 1; - } else if (!strcmp(argv[c], "-nofilter")) { - config->options.bypass_filtering = 1; - } else if (!strcmp(argv[c], "-noalphadither")) { - config->options.alpha_dithering_strength = 0; - } else if (!strcmp(argv[c], "-usebgcolor")) { - kParams.draw_anim_background_color = 1; - } else if (!strcmp(argv[c], "-dither") && c + 1 < argc) { - config->options.dithering_strength = - ExUtilGetInt(argv[++c], 0, &parse_error); - } else if (!strcmp(argv[c], "-info")) { - kParams.print_info = 1; - } else if (!strcmp(argv[c], "-version")) { - const int dec_version = WebPGetDecoderVersion(); - const int dmux_version = WebPGetDemuxVersion(); - printf("WebP Decoder version: %d.%d.%d\nWebP Demux version: %d.%d.%d\n", - (dec_version >> 16) & 0xff, (dec_version >> 8) & 0xff, - dec_version & 0xff, (dmux_version >> 16) & 0xff, - (dmux_version >> 8) & 0xff, dmux_version & 0xff); - FREE_WARGV_AND_RETURN(0); - } else if (!strcmp(argv[c], "-mt")) { - config->options.use_threads = 1; - } else if (!strcmp(argv[c], "--")) { - if (c < argc - 1) kParams.file_name = (const char*)GET_WARGV(argv, ++c); - break; - } else if (argv[c][0] == '-') { - printf("Unknown option '%s'\n", argv[c]); - Help(); - FREE_WARGV_AND_RETURN(-1); - } else { - kParams.file_name = (const char*)GET_WARGV(argv, c); - } - - if (parse_error) { - Help(); - FREE_WARGV_AND_RETURN(-1); - } - } - - if (kParams.file_name == NULL) { - printf("missing input file!!\n"); - Help(); - FREE_WARGV_AND_RETURN(0); - } - - if (!ImgIoUtilReadFile(kParams.file_name, - &kParams.data.bytes, &kParams.data.size)) { - goto Error; - } - - if (!WebPGetInfo(kParams.data.bytes, kParams.data.size, NULL, NULL)) { - fprintf(stderr, "Input file doesn't appear to be WebP format.\n"); - goto Error; - } - - kParams.dmux = WebPDemux(&kParams.data); - if (kParams.dmux == NULL) { - fprintf(stderr, "Could not create demuxing object!\n"); - goto Error; - } - - kParams.canvas_width = WebPDemuxGetI(kParams.dmux, WEBP_FF_CANVAS_WIDTH); - kParams.canvas_height = WebPDemuxGetI(kParams.dmux, WEBP_FF_CANVAS_HEIGHT); - if (kParams.print_info) { - printf("Canvas: %d x %d\n", kParams.canvas_width, kParams.canvas_height); - } - - ClearPreviousFrame(); - - memset(&kParams.iccp, 0, sizeof(kParams.iccp)); - kParams.has_color_profile = - !!(WebPDemuxGetI(kParams.dmux, WEBP_FF_FORMAT_FLAGS) & ICCP_FLAG); - if (kParams.has_color_profile) { -#ifdef WEBP_HAVE_QCMS - if (!WebPDemuxGetChunk(kParams.dmux, "ICCP", 1, &kParams.iccp)) goto Error; - printf("VP8X: Found color profile\n"); -#else - fprintf(stderr, "Warning: color profile present, but qcms is unavailable!\n" - "Build libqcms from Mozilla or Chromium and define WEBP_HAVE_QCMS " - "before building.\n"); -#endif - } - - if (!WebPDemuxGetFrame(kParams.dmux, 1, curr)) goto Error; - - kParams.has_animation = (curr->num_frames > 1); - kParams.loop_count = (int)WebPDemuxGetI(kParams.dmux, WEBP_FF_LOOP_COUNT); - kParams.bg_color = WebPDemuxGetI(kParams.dmux, WEBP_FF_BACKGROUND_COLOR); - printf("VP8X: Found %d images in file (loop count = %d)\n", - curr->num_frames, kParams.loop_count); - - // Decode first frame - if (!Decode()) goto Error; - - // Position iterator to last frame. Next call to HandleDisplay will wrap over. - // We take this into account by bumping up loop_count. - WebPDemuxGetFrame(kParams.dmux, 0, curr); - if (kParams.loop_count) ++kParams.loop_count; - -#if defined(__unix__) || defined(__CYGWIN__) - // Work around GLUT compositor bug. - // https://bugs.launchpad.net/ubuntu/+source/freeglut/+bug/369891 - setenv("XLIB_SKIP_ARGB_VISUALS", "1", 1); -#endif - - // Start display (and timer) - glutInit(&argc, argv); -#ifdef FREEGLUT - glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_CONTINUE_EXECUTION); -#endif - StartDisplay(); - - if (kParams.has_animation) glutTimerFunc(0, decode_callback, 0); - glutMainLoop(); - - // Should only be reached when using FREEGLUT: - ClearParams(); - FREE_WARGV_AND_RETURN(0); - - Error: - ClearParams(); - FREE_WARGV_AND_RETURN(-1); -} - -#else // !WEBP_HAVE_GL - -int main(int argc, const char* argv[]) { - fprintf(stderr, "OpenGL support not enabled in %s.\n", argv[0]); - (void)argc; - return 0; -} - -#endif - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/webpinfo.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/webpinfo.c deleted file mode 100644 index eec47845..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/webpinfo.c +++ /dev/null @@ -1,1182 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Command-line tool to print out the chunk level structure of WebP files -// along with basic integrity checks. -// -// Author: Hui Su (huisu@google.com) - -#include -#include - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include "../imageio/imageio_util.h" -#include "./unicode.h" -#include "webp/decode.h" -#include "webp/format_constants.h" -#include "webp/mux_types.h" - -#if defined(_MSC_VER) && _MSC_VER < 1900 -#define snprintf _snprintf -#endif - -#define LOG_ERROR(MESSAGE) \ - do { \ - if (webp_info->show_diagnosis_) { \ - fprintf(stderr, "Error: %s\n", MESSAGE); \ - } \ - } while (0) - -#define LOG_WARN(MESSAGE) \ - do { \ - if (webp_info->show_diagnosis_) { \ - fprintf(stderr, "Warning: %s\n", MESSAGE); \ - } \ - } while (0) - -static const char* const kFormats[3] = { - "Unknown", - "Lossy", - "Lossless" -}; - -static const char* const kLosslessTransforms[4] = { - "Predictor", - "Cross Color", - "Subtract Green", - "Color Indexing" -}; - -static const char* const kAlphaFilterMethods[4] = { - "None", - "Horizontal", - "Vertical", - "Gradient" -}; - -typedef enum { - WEBP_INFO_OK = 0, - WEBP_INFO_TRUNCATED_DATA, - WEBP_INFO_PARSE_ERROR, - WEBP_INFO_INVALID_PARAM, - WEBP_INFO_BITSTREAM_ERROR, - WEBP_INFO_MISSING_DATA, - WEBP_INFO_INVALID_COMMAND -} WebPInfoStatus; - -typedef enum ChunkID { - CHUNK_VP8, - CHUNK_VP8L, - CHUNK_VP8X, - CHUNK_ALPHA, - CHUNK_ANIM, - CHUNK_ANMF, - CHUNK_ICCP, - CHUNK_EXIF, - CHUNK_XMP, - CHUNK_UNKNOWN, - CHUNK_TYPES = CHUNK_UNKNOWN -} ChunkID; - -typedef struct { - size_t start_; - size_t end_; - const uint8_t* buf_; -} MemBuffer; - -typedef struct { - size_t offset_; - size_t size_; - const uint8_t* payload_; - ChunkID id_; -} ChunkData; - -typedef struct WebPInfo { - int canvas_width_; - int canvas_height_; - int loop_count_; - int num_frames_; - int chunk_counts_[CHUNK_TYPES]; - int anmf_subchunk_counts_[3]; // 0 VP8; 1 VP8L; 2 ALPH. - uint32_t bgcolor_; - int feature_flags_; - int has_alpha_; - // Used for parsing ANMF chunks. - int frame_width_, frame_height_; - size_t anim_frame_data_size_; - int is_processing_anim_frame_, seen_alpha_subchunk_, seen_image_subchunk_; - // Print output control. - int quiet_, show_diagnosis_, show_summary_; - int parse_bitstream_; -} WebPInfo; - -static void WebPInfoInit(WebPInfo* const webp_info) { - memset(webp_info, 0, sizeof(*webp_info)); -} - -static const char kWebPChunkTags[CHUNK_TYPES][4] = { - { 'V', 'P', '8', ' ' }, - { 'V', 'P', '8', 'L' }, - { 'V', 'P', '8', 'X' }, - { 'A', 'L', 'P', 'H' }, - { 'A', 'N', 'I', 'M' }, - { 'A', 'N', 'M', 'F' }, - { 'I', 'C', 'C', 'P' }, - { 'E', 'X', 'I', 'F' }, - { 'X', 'M', 'P', ' ' }, -}; - -// ----------------------------------------------------------------------------- -// Data reading. - -static int GetLE16(const uint8_t* const data) { - return (data[0] << 0) | (data[1] << 8); -} - -static int GetLE24(const uint8_t* const data) { - return GetLE16(data) | (data[2] << 16); -} - -static uint32_t GetLE32(const uint8_t* const data) { - return GetLE16(data) | ((uint32_t)GetLE16(data + 2) << 16); -} - -static int ReadLE16(const uint8_t** data) { - const int val = GetLE16(*data); - *data += 2; - return val; -} - -static int ReadLE24(const uint8_t** data) { - const int val = GetLE24(*data); - *data += 3; - return val; -} - -static uint32_t ReadLE32(const uint8_t** data) { - const uint32_t val = GetLE32(*data); - *data += 4; - return val; -} - -static int ReadFileToWebPData(const char* const filename, - WebPData* const webp_data) { - const uint8_t* data; - size_t size; - if (!ImgIoUtilReadFile(filename, &data, &size)) return 0; - webp_data->bytes = data; - webp_data->size = size; - return 1; -} - -// ----------------------------------------------------------------------------- -// MemBuffer object. - -static void InitMemBuffer(MemBuffer* const mem, const WebPData* webp_data) { - mem->buf_ = webp_data->bytes; - mem->start_ = 0; - mem->end_ = webp_data->size; -} - -static size_t MemDataSize(const MemBuffer* const mem) { - return (mem->end_ - mem->start_); -} - -static const uint8_t* GetBuffer(MemBuffer* const mem) { - return mem->buf_ + mem->start_; -} - -static void Skip(MemBuffer* const mem, size_t size) { - mem->start_ += size; -} - -static uint32_t ReadMemBufLE32(MemBuffer* const mem) { - const uint8_t* const data = mem->buf_ + mem->start_; - const uint32_t val = GetLE32(data); - assert(MemDataSize(mem) >= 4); - Skip(mem, 4); - return val; -} - -// ----------------------------------------------------------------------------- -// Lossy bitstream analysis. - -static int GetBits(const uint8_t* const data, size_t data_size, size_t nb, - int* val, uint64_t* const bit_pos) { - *val = 0; - while (nb-- > 0) { - const uint64_t p = (*bit_pos)++; - if ((p >> 3) >= data_size) { - return 0; - } else { - const int bit = !!(data[p >> 3] & (128 >> ((p & 7)))); - *val = (*val << 1) | bit; - } - } - return 1; -} - -static int GetSignedBits(const uint8_t* const data, size_t data_size, size_t nb, - int* val, uint64_t* const bit_pos) { - int sign; - if (!GetBits(data, data_size, nb, val, bit_pos)) return 0; - if (!GetBits(data, data_size, 1, &sign, bit_pos)) return 0; - if (sign) *val = -(*val); - return 1; -} - -#define GET_BITS(v, n) \ - do { \ - if (!GetBits(data, data_size, n, &(v), bit_pos)) { \ - LOG_ERROR("Truncated lossy bitstream."); \ - return WEBP_INFO_TRUNCATED_DATA; \ - } \ - } while (0) - -#define GET_SIGNED_BITS(v, n) \ - do { \ - if (!GetSignedBits(data, data_size, n, &(v), bit_pos)) { \ - LOG_ERROR("Truncated lossy bitstream."); \ - return WEBP_INFO_TRUNCATED_DATA; \ - } \ - } while (0) - -static WebPInfoStatus ParseLossySegmentHeader(const WebPInfo* const webp_info, - const uint8_t* const data, - size_t data_size, - uint64_t* const bit_pos) { - int use_segment; - GET_BITS(use_segment, 1); - printf(" Use segment: %d\n", use_segment); - if (use_segment) { - int update_map, update_data; - GET_BITS(update_map, 1); - GET_BITS(update_data, 1); - printf(" Update map: %d\n" - " Update data: %d\n", - update_map, update_data); - if (update_data) { - int i, a_delta; - int quantizer[4] = {0, 0, 0, 0}; - int filter_strength[4] = {0, 0, 0, 0}; - GET_BITS(a_delta, 1); - printf(" Absolute delta: %d\n", a_delta); - for (i = 0; i < 4; ++i) { - int bit; - GET_BITS(bit, 1); - if (bit) GET_SIGNED_BITS(quantizer[i], 7); - } - for (i = 0; i < 4; ++i) { - int bit; - GET_BITS(bit, 1); - if (bit) GET_SIGNED_BITS(filter_strength[i], 6); - } - printf(" Quantizer: %d %d %d %d\n", quantizer[0], quantizer[1], - quantizer[2], quantizer[3]); - printf(" Filter strength: %d %d %d %d\n", filter_strength[0], - filter_strength[1], filter_strength[2], filter_strength[3]); - } - if (update_map) { - int i; - int prob_segment[3] = {255, 255, 255}; - for (i = 0; i < 3; ++i) { - int bit; - GET_BITS(bit, 1); - if (bit) GET_BITS(prob_segment[i], 8); - } - printf(" Prob segment: %d %d %d\n", - prob_segment[0], prob_segment[1], prob_segment[2]); - } - } - return WEBP_INFO_OK; -} - -static WebPInfoStatus ParseLossyFilterHeader(const WebPInfo* const webp_info, - const uint8_t* const data, - size_t data_size, - uint64_t* const bit_pos) { - int simple_filter, level, sharpness, use_lf_delta; - GET_BITS(simple_filter, 1); - GET_BITS(level, 6); - GET_BITS(sharpness, 3); - GET_BITS(use_lf_delta, 1); - printf(" Simple filter: %d\n", simple_filter); - printf(" Level: %d\n", level); - printf(" Sharpness: %d\n", sharpness); - printf(" Use lf delta: %d\n", use_lf_delta); - if (use_lf_delta) { - int update; - GET_BITS(update, 1); - printf(" Update lf delta: %d\n", update); - if (update) { - int i; - for (i = 0; i < 4 + 4; ++i) { - int temp; - GET_BITS(temp, 1); - if (temp) GET_BITS(temp, 7); - } - } - } - return WEBP_INFO_OK; -} - -static WebPInfoStatus ParseLossyHeader(const ChunkData* const chunk_data, - const WebPInfo* const webp_info) { - const uint8_t* data = chunk_data->payload_; - size_t data_size = chunk_data->size_ - CHUNK_HEADER_SIZE; - const uint32_t bits = (uint32_t)data[0] | (data[1] << 8) | (data[2] << 16); - const int key_frame = !(bits & 1); - const int profile = (bits >> 1) & 7; - const int display = (bits >> 4) & 1; - const uint32_t partition0_length = (bits >> 5); - WebPInfoStatus status = WEBP_INFO_OK; - uint64_t bit_position = 0; - uint64_t* const bit_pos = &bit_position; - int colorspace, clamp_type; - printf(" Parsing lossy bitstream...\n"); - // Calling WebPGetFeatures() in ProcessImageChunk() should ensure this. - assert(chunk_data->size_ >= CHUNK_HEADER_SIZE + 10); - if (profile > 3) { - LOG_ERROR("Unknown profile."); - return WEBP_INFO_BITSTREAM_ERROR; - } - if (!display) { - LOG_ERROR("Frame is not displayable."); - return WEBP_INFO_BITSTREAM_ERROR; - } - data += 3; - data_size -= 3; - printf(" Key frame: %s\n" - " Profile: %d\n" - " Display: %s\n" - " Part. 0 length: %d\n", - key_frame ? "Yes" : "No", profile, - display ? "Yes" : "No", partition0_length); - if (key_frame) { - if (!(data[0] == 0x9d && data[1] == 0x01 && data[2] == 0x2a)) { - LOG_ERROR("Invalid lossy bitstream signature."); - return WEBP_INFO_BITSTREAM_ERROR; - } - printf(" Width: %d\n" - " X scale: %d\n" - " Height: %d\n" - " Y scale: %d\n", - ((data[4] << 8) | data[3]) & 0x3fff, data[4] >> 6, - ((data[6] << 8) | data[5]) & 0x3fff, data[6] >> 6); - data += 7; - data_size -= 7; - } else { - LOG_ERROR("Non-keyframe detected in lossy bitstream."); - return WEBP_INFO_BITSTREAM_ERROR; - } - if (partition0_length >= data_size) { - LOG_ERROR("Bad partition length."); - return WEBP_INFO_BITSTREAM_ERROR; - } - GET_BITS(colorspace, 1); - GET_BITS(clamp_type, 1); - printf(" Color space: %d\n", colorspace); - printf(" Clamp type: %d\n", clamp_type); - status = ParseLossySegmentHeader(webp_info, data, data_size, bit_pos); - if (status != WEBP_INFO_OK) return status; - status = ParseLossyFilterHeader(webp_info, data, data_size, bit_pos); - if (status != WEBP_INFO_OK) return status; - { // Partition number and size. - const uint8_t* part_size = data + partition0_length; - int num_parts, i; - size_t part_data_size; - GET_BITS(num_parts, 2); - num_parts = 1 << num_parts; - if ((int)(data_size - partition0_length) < (num_parts - 1) * 3) { - LOG_ERROR("Truncated lossy bitstream."); - return WEBP_INFO_TRUNCATED_DATA; - } - part_data_size = data_size - partition0_length - (num_parts - 1) * 3; - printf(" Total partitions: %d\n", num_parts); - for (i = 1; i < num_parts; ++i) { - const size_t psize = - part_size[0] | (part_size[1] << 8) | (part_size[2] << 16); - if (psize > part_data_size) { - LOG_ERROR("Truncated partition."); - return WEBP_INFO_TRUNCATED_DATA; - } - printf(" Part. %d length: %d\n", i, (int)psize); - part_data_size -= psize; - part_size += 3; - } - } - // Quantizer. - { - int base_q, bit; - int dq_y1_dc = 0, dq_y2_dc = 0, dq_y2_ac = 0, dq_uv_dc = 0, dq_uv_ac = 0; - GET_BITS(base_q, 7); - GET_BITS(bit, 1); - if (bit) GET_SIGNED_BITS(dq_y1_dc, 4); - GET_BITS(bit, 1); - if (bit) GET_SIGNED_BITS(dq_y2_dc, 4); - GET_BITS(bit, 1); - if (bit) GET_SIGNED_BITS(dq_y2_ac, 4); - GET_BITS(bit, 1); - if (bit) GET_SIGNED_BITS(dq_uv_dc, 4); - GET_BITS(bit, 1); - if (bit) GET_SIGNED_BITS(dq_uv_ac, 4); - printf(" Base Q: %d\n", base_q); - printf(" DQ Y1 DC: %d\n", dq_y1_dc); - printf(" DQ Y2 DC: %d\n", dq_y2_dc); - printf(" DQ Y2 AC: %d\n", dq_y2_ac); - printf(" DQ UV DC: %d\n", dq_uv_dc); - printf(" DQ UV AC: %d\n", dq_uv_ac); - } - if ((*bit_pos >> 3) >= partition0_length) { - LOG_ERROR("Truncated lossy bitstream."); - return WEBP_INFO_TRUNCATED_DATA; - } - return WEBP_INFO_OK; -} - -// ----------------------------------------------------------------------------- -// Lossless bitstream analysis. - -static int LLGetBits(const uint8_t* const data, size_t data_size, size_t nb, - int* val, uint64_t* const bit_pos) { - uint32_t i = 0; - *val = 0; - while (i < nb) { - const uint64_t p = (*bit_pos)++; - if ((p >> 3) >= data_size) { - return 0; - } else { - const int bit = !!(data[p >> 3] & (1 << ((p & 7)))); - *val = *val | (bit << i); - ++i; - } - } - return 1; -} - -#define LL_GET_BITS(v, n) \ - do { \ - if (!LLGetBits(data, data_size, n, &(v), bit_pos)) { \ - LOG_ERROR("Truncated lossless bitstream."); \ - return WEBP_INFO_TRUNCATED_DATA; \ - } \ - } while (0) - -static WebPInfoStatus ParseLosslessTransform(WebPInfo* const webp_info, - const uint8_t* const data, - size_t data_size, - uint64_t* const bit_pos) { - int use_transform, block_size, n_colors; - LL_GET_BITS(use_transform, 1); - printf(" Use transform: %s\n", use_transform ? "Yes" : "No"); - if (use_transform) { - int type; - LL_GET_BITS(type, 2); - printf(" 1st transform: %s (%d)\n", kLosslessTransforms[type], type); - switch (type) { - case PREDICTOR_TRANSFORM: - case CROSS_COLOR_TRANSFORM: - LL_GET_BITS(block_size, 3); - block_size = 1 << (block_size + 2); - printf(" Tran. block size: %d\n", block_size); - break; - case COLOR_INDEXING_TRANSFORM: - LL_GET_BITS(n_colors, 8); - n_colors += 1; - printf(" No. of colors: %d\n", n_colors); - break; - default: break; - } - } - return WEBP_INFO_OK; -} - -static WebPInfoStatus ParseLosslessHeader(const ChunkData* const chunk_data, - WebPInfo* const webp_info) { - const uint8_t* data = chunk_data->payload_; - size_t data_size = chunk_data->size_ - CHUNK_HEADER_SIZE; - uint64_t bit_position = 0; - uint64_t* const bit_pos = &bit_position; - WebPInfoStatus status; - printf(" Parsing lossless bitstream...\n"); - if (data_size < VP8L_FRAME_HEADER_SIZE) { - LOG_ERROR("Truncated lossless bitstream."); - return WEBP_INFO_TRUNCATED_DATA; - } - if (data[0] != VP8L_MAGIC_BYTE) { - LOG_ERROR("Invalid lossless bitstream signature."); - return WEBP_INFO_BITSTREAM_ERROR; - } - data += 1; - data_size -= 1; - { - int width, height, has_alpha, version; - LL_GET_BITS(width, 14); - LL_GET_BITS(height, 14); - LL_GET_BITS(has_alpha, 1); - LL_GET_BITS(version, 3); - width += 1; - height += 1; - printf(" Width: %d\n", width); - printf(" Height: %d\n", height); - printf(" Alpha: %d\n", has_alpha); - printf(" Version: %d\n", version); - } - status = ParseLosslessTransform(webp_info, data, data_size, bit_pos); - if (status != WEBP_INFO_OK) return status; - return WEBP_INFO_OK; -} - -static WebPInfoStatus ParseAlphaHeader(const ChunkData* const chunk_data, - WebPInfo* const webp_info) { - const uint8_t* data = chunk_data->payload_; - size_t data_size = chunk_data->size_ - CHUNK_HEADER_SIZE; - if (data_size <= ALPHA_HEADER_LEN) { - LOG_ERROR("Truncated ALPH chunk."); - return WEBP_INFO_TRUNCATED_DATA; - } - printf(" Parsing ALPH chunk...\n"); - { - const int compression_method = (data[0] >> 0) & 0x03; - const int filter = (data[0] >> 2) & 0x03; - const int pre_processing = (data[0] >> 4) & 0x03; - const int reserved_bits = (data[0] >> 6) & 0x03; - printf(" Compression: %d\n", compression_method); - printf(" Filter: %s (%d)\n", - kAlphaFilterMethods[filter], filter); - printf(" Pre-processing: %d\n", pre_processing); - if (compression_method > ALPHA_LOSSLESS_COMPRESSION) { - LOG_ERROR("Invalid Alpha compression method."); - return WEBP_INFO_BITSTREAM_ERROR; - } - if (pre_processing > ALPHA_PREPROCESSED_LEVELS) { - LOG_ERROR("Invalid Alpha pre-processing method."); - return WEBP_INFO_BITSTREAM_ERROR; - } - if (reserved_bits != 0) { - LOG_WARN("Reserved bits in ALPH chunk header are not all 0."); - } - data += ALPHA_HEADER_LEN; - data_size -= ALPHA_HEADER_LEN; - if (compression_method == ALPHA_LOSSLESS_COMPRESSION) { - uint64_t bit_pos = 0; - WebPInfoStatus status = - ParseLosslessTransform(webp_info, data, data_size, &bit_pos); - if (status != WEBP_INFO_OK) return status; - } - } - return WEBP_INFO_OK; -} - -// ----------------------------------------------------------------------------- -// Chunk parsing. - -static WebPInfoStatus ParseRIFFHeader(const WebPInfo* const webp_info, - MemBuffer* const mem) { - const size_t min_size = RIFF_HEADER_SIZE + CHUNK_HEADER_SIZE; - size_t riff_size; - - if (MemDataSize(mem) < min_size) { - LOG_ERROR("Truncated data detected when parsing RIFF header."); - return WEBP_INFO_TRUNCATED_DATA; - } - if (memcmp(GetBuffer(mem), "RIFF", CHUNK_SIZE_BYTES) || - memcmp(GetBuffer(mem) + CHUNK_HEADER_SIZE, "WEBP", CHUNK_SIZE_BYTES)) { - LOG_ERROR("Corrupted RIFF header."); - return WEBP_INFO_PARSE_ERROR; - } - riff_size = GetLE32(GetBuffer(mem) + TAG_SIZE); - if (riff_size < CHUNK_HEADER_SIZE) { - LOG_ERROR("RIFF size is too small."); - return WEBP_INFO_PARSE_ERROR; - } - if (riff_size > MAX_CHUNK_PAYLOAD) { - LOG_ERROR("RIFF size is over limit."); - return WEBP_INFO_PARSE_ERROR; - } - riff_size += CHUNK_HEADER_SIZE; - if (!webp_info->quiet_) { - printf("RIFF HEADER:\n"); - printf(" File size: %6d\n", (int)riff_size); - } - if (riff_size < mem->end_) { - LOG_WARN("RIFF size is smaller than the file size."); - mem->end_ = riff_size; - } else if (riff_size > mem->end_) { - LOG_ERROR("Truncated data detected when parsing RIFF payload."); - return WEBP_INFO_TRUNCATED_DATA; - } - Skip(mem, RIFF_HEADER_SIZE); - return WEBP_INFO_OK; -} - -static WebPInfoStatus ParseChunk(const WebPInfo* const webp_info, - MemBuffer* const mem, - ChunkData* const chunk_data) { - memset(chunk_data, 0, sizeof(*chunk_data)); - if (MemDataSize(mem) < CHUNK_HEADER_SIZE) { - LOG_ERROR("Truncated data detected when parsing chunk header."); - return WEBP_INFO_TRUNCATED_DATA; - } else { - const size_t chunk_start_offset = mem->start_; - const uint32_t fourcc = ReadMemBufLE32(mem); - const uint32_t payload_size = ReadMemBufLE32(mem); - const uint32_t payload_size_padded = payload_size + (payload_size & 1); - const size_t chunk_size = CHUNK_HEADER_SIZE + payload_size_padded; - int i; - if (payload_size > MAX_CHUNK_PAYLOAD) { - LOG_ERROR("Size of chunk payload is over limit."); - return WEBP_INFO_INVALID_PARAM; - } - if (payload_size_padded > MemDataSize(mem)){ - LOG_ERROR("Truncated data detected when parsing chunk payload."); - return WEBP_INFO_TRUNCATED_DATA; - } - for (i = 0; i < CHUNK_TYPES; ++i) { - if (!memcmp(kWebPChunkTags[i], &fourcc, TAG_SIZE)) break; - } - chunk_data->offset_ = chunk_start_offset; - chunk_data->size_ = chunk_size; - chunk_data->id_ = (ChunkID)i; - chunk_data->payload_ = GetBuffer(mem); - if (chunk_data->id_ == CHUNK_ANMF) { - if (payload_size != payload_size_padded) { - LOG_ERROR("ANMF chunk size should always be even."); - return WEBP_INFO_PARSE_ERROR; - } - // There are sub-chunks to be parsed in an ANMF chunk. - Skip(mem, ANMF_CHUNK_SIZE); - } else { - Skip(mem, payload_size_padded); - } - return WEBP_INFO_OK; - } -} - -// ----------------------------------------------------------------------------- -// Chunk analysis. - -static WebPInfoStatus ProcessVP8XChunk(const ChunkData* const chunk_data, - WebPInfo* const webp_info) { - const uint8_t* data = chunk_data->payload_; - if (webp_info->chunk_counts_[CHUNK_VP8] || - webp_info->chunk_counts_[CHUNK_VP8L] || - webp_info->chunk_counts_[CHUNK_VP8X]) { - LOG_ERROR("Already seen a VP8/VP8L/VP8X chunk when parsing VP8X chunk."); - return WEBP_INFO_PARSE_ERROR; - } - if (chunk_data->size_ != VP8X_CHUNK_SIZE + CHUNK_HEADER_SIZE) { - LOG_ERROR("Corrupted VP8X chunk."); - return WEBP_INFO_PARSE_ERROR; - } - ++webp_info->chunk_counts_[CHUNK_VP8X]; - webp_info->feature_flags_ = *data; - data += 4; - webp_info->canvas_width_ = 1 + ReadLE24(&data); - webp_info->canvas_height_ = 1 + ReadLE24(&data); - if (!webp_info->quiet_) { - printf(" ICCP: %d\n Alpha: %d\n EXIF: %d\n XMP: %d\n Animation: %d\n", - (webp_info->feature_flags_ & ICCP_FLAG) != 0, - (webp_info->feature_flags_ & ALPHA_FLAG) != 0, - (webp_info->feature_flags_ & EXIF_FLAG) != 0, - (webp_info->feature_flags_ & XMP_FLAG) != 0, - (webp_info->feature_flags_ & ANIMATION_FLAG) != 0); - printf(" Canvas size %d x %d\n", - webp_info->canvas_width_, webp_info->canvas_height_); - } - if (webp_info->canvas_width_ > MAX_CANVAS_SIZE) { - LOG_WARN("Canvas width is out of range in VP8X chunk."); - } - if (webp_info->canvas_height_ > MAX_CANVAS_SIZE) { - LOG_WARN("Canvas height is out of range in VP8X chunk."); - } - if ((uint64_t)webp_info->canvas_width_ * webp_info->canvas_height_ > - MAX_IMAGE_AREA) { - LOG_WARN("Canvas area is out of range in VP8X chunk."); - } - return WEBP_INFO_OK; -} - -static WebPInfoStatus ProcessANIMChunk(const ChunkData* const chunk_data, - WebPInfo* const webp_info) { - const uint8_t* data = chunk_data->payload_; - if (!webp_info->chunk_counts_[CHUNK_VP8X]) { - LOG_ERROR("ANIM chunk detected before VP8X chunk."); - return WEBP_INFO_PARSE_ERROR; - } - if (chunk_data->size_ != ANIM_CHUNK_SIZE + CHUNK_HEADER_SIZE) { - LOG_ERROR("Corrupted ANIM chunk."); - return WEBP_INFO_PARSE_ERROR; - } - webp_info->bgcolor_ = ReadLE32(&data); - webp_info->loop_count_ = ReadLE16(&data); - ++webp_info->chunk_counts_[CHUNK_ANIM]; - if (!webp_info->quiet_) { - printf(" Background color:(ARGB) %02x %02x %02x %02x\n", - (webp_info->bgcolor_ >> 24) & 0xff, - (webp_info->bgcolor_ >> 16) & 0xff, - (webp_info->bgcolor_ >> 8) & 0xff, - webp_info->bgcolor_ & 0xff); - printf(" Loop count : %d\n", webp_info->loop_count_); - } - if (webp_info->loop_count_ > MAX_LOOP_COUNT) { - LOG_WARN("Loop count is out of range in ANIM chunk."); - } - return WEBP_INFO_OK; -} - -static WebPInfoStatus ProcessANMFChunk(const ChunkData* const chunk_data, - WebPInfo* const webp_info) { - const uint8_t* data = chunk_data->payload_; - int offset_x, offset_y, width, height, duration, blend, dispose, temp; - if (webp_info->is_processing_anim_frame_) { - LOG_ERROR("ANMF chunk detected within another ANMF chunk."); - return WEBP_INFO_PARSE_ERROR; - } - if (!webp_info->chunk_counts_[CHUNK_ANIM]) { - LOG_ERROR("ANMF chunk detected before ANIM chunk."); - return WEBP_INFO_PARSE_ERROR; - } - if (chunk_data->size_ <= CHUNK_HEADER_SIZE + ANMF_CHUNK_SIZE) { - LOG_ERROR("Truncated data detected when parsing ANMF chunk."); - return WEBP_INFO_TRUNCATED_DATA; - } - offset_x = 2 * ReadLE24(&data); - offset_y = 2 * ReadLE24(&data); - width = 1 + ReadLE24(&data); - height = 1 + ReadLE24(&data); - duration = ReadLE24(&data); - temp = *data; - dispose = temp & 1; - blend = (temp >> 1) & 1; - ++webp_info->chunk_counts_[CHUNK_ANMF]; - if (!webp_info->quiet_) { - printf(" Offset_X: %d\n Offset_Y: %d\n Width: %d\n Height: %d\n" - " Duration: %d\n Dispose: %d\n Blend: %d\n", - offset_x, offset_y, width, height, duration, dispose, blend); - } - if (duration > MAX_DURATION) { - LOG_ERROR("Invalid duration parameter in ANMF chunk."); - return WEBP_INFO_INVALID_PARAM; - } - if (offset_x > MAX_POSITION_OFFSET || offset_y > MAX_POSITION_OFFSET) { - LOG_ERROR("Invalid offset parameters in ANMF chunk."); - return WEBP_INFO_INVALID_PARAM; - } - if ((uint64_t)offset_x + width > (uint64_t)webp_info->canvas_width_ || - (uint64_t)offset_y + height > (uint64_t)webp_info->canvas_height_) { - LOG_ERROR("Frame exceeds canvas in ANMF chunk."); - return WEBP_INFO_INVALID_PARAM; - } - webp_info->is_processing_anim_frame_ = 1; - webp_info->seen_alpha_subchunk_ = 0; - webp_info->seen_image_subchunk_ = 0; - webp_info->frame_width_ = width; - webp_info->frame_height_ = height; - webp_info->anim_frame_data_size_ = - chunk_data->size_ - CHUNK_HEADER_SIZE - ANMF_CHUNK_SIZE; - return WEBP_INFO_OK; -} - -static WebPInfoStatus ProcessImageChunk(const ChunkData* const chunk_data, - WebPInfo* const webp_info) { - const uint8_t* data = chunk_data->payload_ - CHUNK_HEADER_SIZE; - WebPBitstreamFeatures features; - const VP8StatusCode vp8_status = - WebPGetFeatures(data, chunk_data->size_, &features); - if (vp8_status != VP8_STATUS_OK) { - LOG_ERROR("VP8/VP8L bitstream error."); - return WEBP_INFO_BITSTREAM_ERROR; - } - if (!webp_info->quiet_) { - assert(features.format >= 0 && features.format <= 2); - printf(" Width: %d\n Height: %d\n Alpha: %d\n Animation: %d\n" - " Format: %s (%d)\n", - features.width, features.height, features.has_alpha, - features.has_animation, kFormats[features.format], features.format); - } - if (webp_info->is_processing_anim_frame_) { - ++webp_info->anmf_subchunk_counts_[chunk_data->id_ == CHUNK_VP8 ? 0 : 1]; - if (chunk_data->id_ == CHUNK_VP8L && webp_info->seen_alpha_subchunk_) { - LOG_ERROR("Both VP8L and ALPH sub-chunks are present in an ANMF chunk."); - return WEBP_INFO_PARSE_ERROR; - } - if (webp_info->frame_width_ != features.width || - webp_info->frame_height_ != features.height) { - LOG_ERROR("Frame size in VP8/VP8L sub-chunk differs from ANMF header."); - return WEBP_INFO_PARSE_ERROR; - } - if (webp_info->seen_image_subchunk_) { - LOG_ERROR("Consecutive VP8/VP8L sub-chunks in an ANMF chunk."); - return WEBP_INFO_PARSE_ERROR; - } - webp_info->seen_image_subchunk_ = 1; - } else { - if (webp_info->chunk_counts_[CHUNK_VP8] || - webp_info->chunk_counts_[CHUNK_VP8L]) { - LOG_ERROR("Multiple VP8/VP8L chunks detected."); - return WEBP_INFO_PARSE_ERROR; - } - if (chunk_data->id_ == CHUNK_VP8L && - webp_info->chunk_counts_[CHUNK_ALPHA]) { - LOG_WARN("Both VP8L and ALPH chunks are detected."); - } - if (webp_info->chunk_counts_[CHUNK_ANIM] || - webp_info->chunk_counts_[CHUNK_ANMF]) { - LOG_ERROR("VP8/VP8L chunk and ANIM/ANMF chunk are both detected."); - return WEBP_INFO_PARSE_ERROR; - } - if (webp_info->chunk_counts_[CHUNK_VP8X]) { - if (webp_info->canvas_width_ != features.width || - webp_info->canvas_height_ != features.height) { - LOG_ERROR("Image size in VP8/VP8L chunk differs from VP8X chunk."); - return WEBP_INFO_PARSE_ERROR; - } - } else { - webp_info->canvas_width_ = features.width; - webp_info->canvas_height_ = features.height; - if (webp_info->canvas_width_ < 1 || webp_info->canvas_height_ < 1 || - webp_info->canvas_width_ > MAX_CANVAS_SIZE || - webp_info->canvas_height_ > MAX_CANVAS_SIZE || - (uint64_t)webp_info->canvas_width_ * webp_info->canvas_height_ > - MAX_IMAGE_AREA) { - LOG_WARN("Invalid parameters in VP8/VP8L chunk."); - } - } - ++webp_info->chunk_counts_[chunk_data->id_]; - } - ++webp_info->num_frames_; - webp_info->has_alpha_ |= features.has_alpha; - if (webp_info->parse_bitstream_) { - const int is_lossy = (chunk_data->id_ == CHUNK_VP8); - const WebPInfoStatus status = - is_lossy ? ParseLossyHeader(chunk_data, webp_info) - : ParseLosslessHeader(chunk_data, webp_info); - if (status != WEBP_INFO_OK) return status; - } - return WEBP_INFO_OK; -} - -static WebPInfoStatus ProcessALPHChunk(const ChunkData* const chunk_data, - WebPInfo* const webp_info) { - if (webp_info->is_processing_anim_frame_) { - ++webp_info->anmf_subchunk_counts_[2]; - if (webp_info->seen_alpha_subchunk_) { - LOG_ERROR("Consecutive ALPH sub-chunks in an ANMF chunk."); - return WEBP_INFO_PARSE_ERROR; - } - webp_info->seen_alpha_subchunk_ = 1; - - if (webp_info->seen_image_subchunk_) { - LOG_ERROR("ALPHA sub-chunk detected after VP8 sub-chunk " - "in an ANMF chunk."); - return WEBP_INFO_PARSE_ERROR; - } - } else { - if (webp_info->chunk_counts_[CHUNK_ANIM] || - webp_info->chunk_counts_[CHUNK_ANMF]) { - LOG_ERROR("ALPHA chunk and ANIM/ANMF chunk are both detected."); - return WEBP_INFO_PARSE_ERROR; - } - if (!webp_info->chunk_counts_[CHUNK_VP8X]) { - LOG_ERROR("ALPHA chunk detected before VP8X chunk."); - return WEBP_INFO_PARSE_ERROR; - } - if (webp_info->chunk_counts_[CHUNK_VP8]) { - LOG_ERROR("ALPHA chunk detected after VP8 chunk."); - return WEBP_INFO_PARSE_ERROR; - } - if (webp_info->chunk_counts_[CHUNK_ALPHA]) { - LOG_ERROR("Multiple ALPHA chunks detected."); - return WEBP_INFO_PARSE_ERROR; - } - ++webp_info->chunk_counts_[CHUNK_ALPHA]; - } - webp_info->has_alpha_ = 1; - if (webp_info->parse_bitstream_) { - const WebPInfoStatus status = ParseAlphaHeader(chunk_data, webp_info); - if (status != WEBP_INFO_OK) return status; - } - return WEBP_INFO_OK; -} - -static WebPInfoStatus ProcessICCPChunk(const ChunkData* const chunk_data, - WebPInfo* const webp_info) { - (void)chunk_data; - if (!webp_info->chunk_counts_[CHUNK_VP8X]) { - LOG_ERROR("ICCP chunk detected before VP8X chunk."); - return WEBP_INFO_PARSE_ERROR; - } - if (webp_info->chunk_counts_[CHUNK_VP8] || - webp_info->chunk_counts_[CHUNK_VP8L] || - webp_info->chunk_counts_[CHUNK_ANIM]) { - LOG_ERROR("ICCP chunk detected after image data."); - return WEBP_INFO_PARSE_ERROR; - } - ++webp_info->chunk_counts_[CHUNK_ICCP]; - return WEBP_INFO_OK; -} - -static WebPInfoStatus ProcessChunk(const ChunkData* const chunk_data, - WebPInfo* const webp_info) { - WebPInfoStatus status = WEBP_INFO_OK; - ChunkID id = chunk_data->id_; - if (chunk_data->id_ == CHUNK_UNKNOWN) { - char error_message[50]; - snprintf(error_message, 50, "Unknown chunk at offset %6d, length %6d", - (int)chunk_data->offset_, (int)chunk_data->size_); - LOG_WARN(error_message); - } else { - if (!webp_info->quiet_) { - const char* tag = kWebPChunkTags[chunk_data->id_]; - printf("Chunk %c%c%c%c at offset %6d, length %6d\n", - tag[0], tag[1], tag[2], tag[3], (int)chunk_data->offset_, - (int)chunk_data->size_); - } - } - switch (id) { - case CHUNK_VP8: - case CHUNK_VP8L: - status = ProcessImageChunk(chunk_data, webp_info); - break; - case CHUNK_VP8X: - status = ProcessVP8XChunk(chunk_data, webp_info); - break; - case CHUNK_ALPHA: - status = ProcessALPHChunk(chunk_data, webp_info); - break; - case CHUNK_ANIM: - status = ProcessANIMChunk(chunk_data, webp_info); - break; - case CHUNK_ANMF: - status = ProcessANMFChunk(chunk_data, webp_info); - break; - case CHUNK_ICCP: - status = ProcessICCPChunk(chunk_data, webp_info); - break; - case CHUNK_EXIF: - case CHUNK_XMP: - ++webp_info->chunk_counts_[id]; - break; - case CHUNK_UNKNOWN: - default: - break; - } - if (webp_info->is_processing_anim_frame_ && id != CHUNK_ANMF) { - if (webp_info->anim_frame_data_size_ == chunk_data->size_) { - if (!webp_info->seen_image_subchunk_) { - LOG_ERROR("No VP8/VP8L chunk detected in an ANMF chunk."); - return WEBP_INFO_PARSE_ERROR; - } - webp_info->is_processing_anim_frame_ = 0; - } else if (webp_info->anim_frame_data_size_ > chunk_data->size_) { - webp_info->anim_frame_data_size_ -= chunk_data->size_; - } else { - LOG_ERROR("Truncated data detected when parsing ANMF chunk."); - return WEBP_INFO_TRUNCATED_DATA; - } - } - return status; -} - -static WebPInfoStatus Validate(const WebPInfo* const webp_info) { - if (webp_info->num_frames_ < 1) { - LOG_ERROR("No image/frame detected."); - return WEBP_INFO_MISSING_DATA; - } - if (webp_info->chunk_counts_[CHUNK_VP8X]) { - const int iccp = !!(webp_info->feature_flags_ & ICCP_FLAG); - const int exif = !!(webp_info->feature_flags_ & EXIF_FLAG); - const int xmp = !!(webp_info->feature_flags_ & XMP_FLAG); - const int animation = !!(webp_info->feature_flags_ & ANIMATION_FLAG); - const int alpha = !!(webp_info->feature_flags_ & ALPHA_FLAG); - if (!alpha && webp_info->has_alpha_) { - LOG_ERROR("Unexpected alpha data detected."); - return WEBP_INFO_PARSE_ERROR; - } - if (alpha && !webp_info->has_alpha_) { - LOG_WARN("Alpha flag is set with no alpha data present."); - } - if (iccp && !webp_info->chunk_counts_[CHUNK_ICCP]) { - LOG_ERROR("Missing ICCP chunk."); - return WEBP_INFO_MISSING_DATA; - } - if (exif && !webp_info->chunk_counts_[CHUNK_EXIF]) { - LOG_ERROR("Missing EXIF chunk."); - return WEBP_INFO_MISSING_DATA; - } - if (xmp && !webp_info->chunk_counts_[CHUNK_XMP]) { - LOG_ERROR("Missing XMP chunk."); - return WEBP_INFO_MISSING_DATA; - } - if (!iccp && webp_info->chunk_counts_[CHUNK_ICCP]) { - LOG_ERROR("Unexpected ICCP chunk detected."); - return WEBP_INFO_PARSE_ERROR; - } - if (!exif && webp_info->chunk_counts_[CHUNK_EXIF]) { - LOG_ERROR("Unexpected EXIF chunk detected."); - return WEBP_INFO_PARSE_ERROR; - } - if (!xmp && webp_info->chunk_counts_[CHUNK_XMP]) { - LOG_ERROR("Unexpected XMP chunk detected."); - return WEBP_INFO_PARSE_ERROR; - } - // Incomplete animation frame. - if (webp_info->is_processing_anim_frame_) return WEBP_INFO_MISSING_DATA; - if (!animation && webp_info->num_frames_ > 1) { - LOG_ERROR("More than 1 frame detected in non-animation file."); - return WEBP_INFO_PARSE_ERROR; - } - if (animation && (!webp_info->chunk_counts_[CHUNK_ANIM] || - !webp_info->chunk_counts_[CHUNK_ANMF])) { - LOG_ERROR("No ANIM/ANMF chunk detected in animation file."); - return WEBP_INFO_PARSE_ERROR; - } - } - return WEBP_INFO_OK; -} - -static void ShowSummary(const WebPInfo* const webp_info) { - int i; - printf("Summary:\n"); - printf("Number of frames: %d\n", webp_info->num_frames_); - printf("Chunk type : VP8 VP8L VP8X ALPH ANIM ANMF(VP8 /VP8L/ALPH) ICCP " - "EXIF XMP\n"); - printf("Chunk counts: "); - for (i = 0; i < CHUNK_TYPES; ++i) { - printf("%4d ", webp_info->chunk_counts_[i]); - if (i == CHUNK_ANMF) { - printf("%4d %4d %4d ", - webp_info->anmf_subchunk_counts_[0], - webp_info->anmf_subchunk_counts_[1], - webp_info->anmf_subchunk_counts_[2]); - } - } - printf("\n"); -} - -static WebPInfoStatus AnalyzeWebP(WebPInfo* const webp_info, - const WebPData* webp_data) { - ChunkData chunk_data; - MemBuffer mem_buffer; - WebPInfoStatus webp_info_status = WEBP_INFO_OK; - - InitMemBuffer(&mem_buffer, webp_data); - webp_info_status = ParseRIFFHeader(webp_info, &mem_buffer); - if (webp_info_status != WEBP_INFO_OK) goto Error; - - // Loop through all the chunks. Terminate immediately in case of error. - while (webp_info_status == WEBP_INFO_OK && MemDataSize(&mem_buffer) > 0) { - webp_info_status = ParseChunk(webp_info, &mem_buffer, &chunk_data); - if (webp_info_status != WEBP_INFO_OK) goto Error; - webp_info_status = ProcessChunk(&chunk_data, webp_info); - } - if (webp_info_status != WEBP_INFO_OK) goto Error; - if (webp_info->show_summary_) ShowSummary(webp_info); - - // Final check. - webp_info_status = Validate(webp_info); - - Error: - if (!webp_info->quiet_) { - if (webp_info_status == WEBP_INFO_OK) { - printf("No error detected.\n"); - } else { - printf("Errors detected.\n"); - } - } - return webp_info_status; -} - -static void HelpShort(void) { - printf("Usage: webpinfo [options] in_files\n" - "Try -longhelp for an exhaustive list of options.\n"); -} - -static void HelpLong(void) { - printf("Usage: webpinfo [options] in_files\n" - "Note: there could be multiple input files;\n" - " options must come before input files.\n" - "Options:\n" - " -version ........... Print version number and exit.\n" - " -quiet ............. Do not show chunk parsing information.\n" - " -diag .............. Show parsing error diagnosis.\n" - " -summary ........... Show chunk stats summary.\n" - " -bitstream_info .... Parse bitstream header.\n"); -} - -int main(int argc, const char* argv[]) { - int c, quiet = 0, show_diag = 0, show_summary = 0; - int parse_bitstream = 0; - WebPInfoStatus webp_info_status = WEBP_INFO_OK; - WebPInfo webp_info; - - INIT_WARGV(argc, argv); - - if (argc == 1) { - HelpShort(); - FREE_WARGV_AND_RETURN(WEBP_INFO_OK); - } - - // Parse command-line input. - for (c = 1; c < argc; ++c) { - if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) { - HelpShort(); - FREE_WARGV_AND_RETURN(WEBP_INFO_OK); - } else if (!strcmp(argv[c], "-H") || !strcmp(argv[c], "-longhelp")) { - HelpLong(); - FREE_WARGV_AND_RETURN(WEBP_INFO_OK); - } else if (!strcmp(argv[c], "-quiet")) { - quiet = 1; - } else if (!strcmp(argv[c], "-diag")) { - show_diag = 1; - } else if (!strcmp(argv[c], "-summary")) { - show_summary = 1; - } else if (!strcmp(argv[c], "-bitstream_info")) { - parse_bitstream = 1; - } else if (!strcmp(argv[c], "-version")) { - const int version = WebPGetDecoderVersion(); - printf("WebP Decoder version: %d.%d.%d\n", - (version >> 16) & 0xff, (version >> 8) & 0xff, version & 0xff); - FREE_WARGV_AND_RETURN(0); - } else { // Assume the remaining are all input files. - break; - } - } - - if (c == argc) { - HelpShort(); - FREE_WARGV_AND_RETURN(WEBP_INFO_INVALID_COMMAND); - } - - // Process input files one by one. - for (; c < argc; ++c) { - WebPData webp_data; - const W_CHAR* in_file = NULL; - WebPInfoInit(&webp_info); - webp_info.quiet_ = quiet; - webp_info.show_diagnosis_ = show_diag; - webp_info.show_summary_ = show_summary; - webp_info.parse_bitstream_ = parse_bitstream; - in_file = GET_WARGV(argv, c); - if (in_file == NULL || - !ReadFileToWebPData((const char*)in_file, &webp_data)) { - webp_info_status = WEBP_INFO_INVALID_COMMAND; - WFPRINTF(stderr, "Failed to open input file %s.\n", in_file); - continue; - } - if (!webp_info.quiet_) WPRINTF("File: %s\n", in_file); - webp_info_status = AnalyzeWebP(&webp_info, &webp_data); - WebPDataClear(&webp_data); - } - FREE_WARGV_AND_RETURN(webp_info_status); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/webpmux.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/webpmux.c deleted file mode 100644 index 49eff514..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/examples/webpmux.c +++ /dev/null @@ -1,1165 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Simple command-line to create a WebP container file and to extract or strip -// relevant data from the container file. -// -// Authors: Vikas (vikaas.arora@gmail.com), -// Urvang (urvang@google.com) - -/* Usage examples: - - Create container WebP file: - webpmux -frame anim_1.webp +100+10+10 \ - -frame anim_2.webp +100+25+25+1 \ - -frame anim_3.webp +100+50+50+1 \ - -frame anim_4.webp +100 \ - -loop 10 -bgcolor 128,255,255,255 \ - -o out_animation_container.webp - - webpmux -set icc image_profile.icc in.webp -o out_icc_container.webp - webpmux -set exif image_metadata.exif in.webp -o out_exif_container.webp - webpmux -set xmp image_metadata.xmp in.webp -o out_xmp_container.webp - - Extract relevant data from WebP container file: - webpmux -get frame n in.webp -o out_frame.webp - webpmux -get icc in.webp -o image_profile.icc - webpmux -get exif in.webp -o image_metadata.exif - webpmux -get xmp in.webp -o image_metadata.xmp - - Strip data from WebP Container file: - webpmux -strip icc in.webp -o out.webp - webpmux -strip exif in.webp -o out.webp - webpmux -strip xmp in.webp -o out.webp - - Change duration of frame intervals: - webpmux -duration 150 in.webp -o out.webp - webpmux -duration 33,2 in.webp -o out.webp - webpmux -duration 200,10,0 -duration 150,6,50 in.webp -o out.webp - - Misc: - webpmux -info in.webp - webpmux [ -h | -help ] - webpmux -version - webpmux argument_file_name -*/ - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include -#include -#include -#include -#include "webp/decode.h" -#include "webp/mux.h" -#include "../examples/example_util.h" -#include "../imageio/imageio_util.h" -#include "./unicode.h" - -//------------------------------------------------------------------------------ -// Config object to parse command-line arguments. - -typedef enum { - NIL_ACTION = 0, - ACTION_GET, - ACTION_SET, - ACTION_STRIP, - ACTION_INFO, - ACTION_HELP, - ACTION_DURATION -} ActionType; - -typedef enum { - NIL_SUBTYPE = 0, - SUBTYPE_ANMF, - SUBTYPE_LOOP, - SUBTYPE_BGCOLOR -} FeatureSubType; - -typedef struct { - FeatureSubType subtype_; - const char* filename_; - const char* params_; -} FeatureArg; - -typedef enum { - NIL_FEATURE = 0, - FEATURE_EXIF, - FEATURE_XMP, - FEATURE_ICCP, - FEATURE_ANMF, - FEATURE_DURATION, - LAST_FEATURE -} FeatureType; - -static const char* const kFourccList[LAST_FEATURE] = { - NULL, "EXIF", "XMP ", "ICCP", "ANMF" -}; - -static const char* const kDescriptions[LAST_FEATURE] = { - NULL, "EXIF metadata", "XMP metadata", "ICC profile", - "Animation frame" -}; - -typedef struct { - CommandLineArguments cmd_args_; - - ActionType action_type_; - const char* input_; - const char* output_; - FeatureType type_; - FeatureArg* args_; - int arg_count_; -} Config; - -//------------------------------------------------------------------------------ -// Helper functions. - -static int CountOccurrences(const CommandLineArguments* const args, - const char* const arg) { - int i; - int num_occurences = 0; - - for (i = 0; i < args->argc_; ++i) { - if (!strcmp(args->argv_[i], arg)) { - ++num_occurences; - } - } - return num_occurences; -} - -static const char* const kErrorMessages[-WEBP_MUX_NOT_ENOUGH_DATA + 1] = { - "WEBP_MUX_NOT_FOUND", "WEBP_MUX_INVALID_ARGUMENT", "WEBP_MUX_BAD_DATA", - "WEBP_MUX_MEMORY_ERROR", "WEBP_MUX_NOT_ENOUGH_DATA" -}; - -static const char* ErrorString(WebPMuxError err) { - assert(err <= WEBP_MUX_NOT_FOUND && err >= WEBP_MUX_NOT_ENOUGH_DATA); - return kErrorMessages[-err]; -} - -#define RETURN_IF_ERROR(ERR_MSG) \ - if (err != WEBP_MUX_OK) { \ - fprintf(stderr, ERR_MSG); \ - return err; \ - } - -#define RETURN_IF_ERROR3(ERR_MSG, FORMAT_STR1, FORMAT_STR2) \ - if (err != WEBP_MUX_OK) { \ - fprintf(stderr, ERR_MSG, FORMAT_STR1, FORMAT_STR2); \ - return err; \ - } - -#define ERROR_GOTO1(ERR_MSG, LABEL) \ - do { \ - fprintf(stderr, ERR_MSG); \ - ok = 0; \ - goto LABEL; \ - } while (0) - -#define ERROR_GOTO2(ERR_MSG, FORMAT_STR, LABEL) \ - do { \ - fprintf(stderr, ERR_MSG, FORMAT_STR); \ - ok = 0; \ - goto LABEL; \ - } while (0) - -#define ERROR_GOTO3(ERR_MSG, FORMAT_STR1, FORMAT_STR2, LABEL) \ - do { \ - fprintf(stderr, ERR_MSG, FORMAT_STR1, FORMAT_STR2); \ - ok = 0; \ - goto LABEL; \ - } while (0) - -static WebPMuxError DisplayInfo(const WebPMux* mux) { - int width, height; - uint32_t flag; - - WebPMuxError err = WebPMuxGetCanvasSize(mux, &width, &height); - assert(err == WEBP_MUX_OK); // As WebPMuxCreate() was successful earlier. - printf("Canvas size: %d x %d\n", width, height); - - err = WebPMuxGetFeatures(mux, &flag); - RETURN_IF_ERROR("Failed to retrieve features\n"); - - if (flag == 0) { - printf("No features present.\n"); - return err; - } - - // Print the features present. - printf("Features present:"); - if (flag & ANIMATION_FLAG) printf(" animation"); - if (flag & ICCP_FLAG) printf(" ICC profile"); - if (flag & EXIF_FLAG) printf(" EXIF metadata"); - if (flag & XMP_FLAG) printf(" XMP metadata"); - if (flag & ALPHA_FLAG) printf(" transparency"); - printf("\n"); - - if (flag & ANIMATION_FLAG) { - const WebPChunkId id = WEBP_CHUNK_ANMF; - const char* const type_str = "frame"; - int nFrames; - - WebPMuxAnimParams params; - err = WebPMuxGetAnimationParams(mux, ¶ms); - assert(err == WEBP_MUX_OK); - printf("Background color : 0x%.8X Loop Count : %d\n", - params.bgcolor, params.loop_count); - - err = WebPMuxNumChunks(mux, id, &nFrames); - assert(err == WEBP_MUX_OK); - - printf("Number of %ss: %d\n", type_str, nFrames); - if (nFrames > 0) { - int i; - printf("No.: width height alpha x_offset y_offset "); - printf("duration dispose blend "); - printf("image_size compression\n"); - for (i = 1; i <= nFrames; i++) { - WebPMuxFrameInfo frame; - err = WebPMuxGetFrame(mux, i, &frame); - if (err == WEBP_MUX_OK) { - WebPBitstreamFeatures features; - const VP8StatusCode status = WebPGetFeatures( - frame.bitstream.bytes, frame.bitstream.size, &features); - assert(status == VP8_STATUS_OK); // Checked by WebPMuxCreate(). - (void)status; - printf("%3d: %5d %5d %5s %8d %8d ", i, features.width, - features.height, features.has_alpha ? "yes" : "no", - frame.x_offset, frame.y_offset); - { - const char* const dispose = - (frame.dispose_method == WEBP_MUX_DISPOSE_NONE) ? "none" - : "background"; - const char* const blend = - (frame.blend_method == WEBP_MUX_BLEND) ? "yes" : "no"; - printf("%8d %10s %5s ", frame.duration, dispose, blend); - } - printf("%10d %11s\n", (int)frame.bitstream.size, - (features.format == 1) ? "lossy" : - (features.format == 2) ? "lossless" : - "undefined"); - } - WebPDataClear(&frame.bitstream); - RETURN_IF_ERROR3("Failed to retrieve %s#%d\n", type_str, i); - } - } - } - - if (flag & ICCP_FLAG) { - WebPData icc_profile; - err = WebPMuxGetChunk(mux, "ICCP", &icc_profile); - assert(err == WEBP_MUX_OK); - printf("Size of the ICC profile data: %d\n", (int)icc_profile.size); - } - - if (flag & EXIF_FLAG) { - WebPData exif; - err = WebPMuxGetChunk(mux, "EXIF", &exif); - assert(err == WEBP_MUX_OK); - printf("Size of the EXIF metadata: %d\n", (int)exif.size); - } - - if (flag & XMP_FLAG) { - WebPData xmp; - err = WebPMuxGetChunk(mux, "XMP ", &xmp); - assert(err == WEBP_MUX_OK); - printf("Size of the XMP metadata: %d\n", (int)xmp.size); - } - - if ((flag & ALPHA_FLAG) && !(flag & ANIMATION_FLAG)) { - WebPMuxFrameInfo image; - err = WebPMuxGetFrame(mux, 1, &image); - if (err == WEBP_MUX_OK) { - printf("Size of the image (with alpha): %d\n", (int)image.bitstream.size); - } - WebPDataClear(&image.bitstream); - RETURN_IF_ERROR("Failed to retrieve the image\n"); - } - - return WEBP_MUX_OK; -} - -static void PrintHelp(void) { - printf("Usage: webpmux -get GET_OPTIONS INPUT -o OUTPUT\n"); - printf(" webpmux -set SET_OPTIONS INPUT -o OUTPUT\n"); - printf(" webpmux -duration DURATION_OPTIONS [-duration ...]\n"); - printf(" INPUT -o OUTPUT\n"); - printf(" webpmux -strip STRIP_OPTIONS INPUT -o OUTPUT\n"); - printf(" webpmux -frame FRAME_OPTIONS [-frame...] [-loop LOOP_COUNT]" - "\n"); - printf(" [-bgcolor BACKGROUND_COLOR] -o OUTPUT\n"); - printf(" webpmux -info INPUT\n"); - printf(" webpmux [-h|-help]\n"); - printf(" webpmux -version\n"); - printf(" webpmux argument_file_name\n"); - - printf("\n"); - printf("GET_OPTIONS:\n"); - printf(" Extract relevant data:\n"); - printf(" icc get ICC profile\n"); - printf(" exif get EXIF metadata\n"); - printf(" xmp get XMP metadata\n"); - printf(" frame n get nth frame\n"); - - printf("\n"); - printf("SET_OPTIONS:\n"); - printf(" Set color profile/metadata:\n"); - printf(" icc file.icc set ICC profile\n"); - printf(" exif file.exif set EXIF metadata\n"); - printf(" xmp file.xmp set XMP metadata\n"); - printf(" where: 'file.icc' contains the ICC profile to be set,\n"); - printf(" 'file.exif' contains the EXIF metadata to be set\n"); - printf(" 'file.xmp' contains the XMP metadata to be set\n"); - - printf("\n"); - printf("DURATION_OPTIONS:\n"); - printf(" Set duration of selected frames:\n"); - printf(" duration set duration for each frames\n"); - printf(" duration,frame set duration of a particular frame\n"); - printf(" duration,start,end set duration of frames in the\n"); - printf(" interval [start,end])\n"); - printf(" where: 'duration' is the duration in milliseconds\n"); - printf(" 'start' is the start frame index\n"); - printf(" 'end' is the inclusive end frame index\n"); - printf(" The special 'end' value '0' means: last frame.\n"); - - printf("\n"); - printf("STRIP_OPTIONS:\n"); - printf(" Strip color profile/metadata:\n"); - printf(" icc strip ICC profile\n"); - printf(" exif strip EXIF metadata\n"); - printf(" xmp strip XMP metadata\n"); - - printf("\n"); - printf("FRAME_OPTIONS(i):\n"); - printf(" Create animation:\n"); - printf(" file_i +di+[xi+yi[+mi[bi]]]\n"); - printf(" where: 'file_i' is the i'th animation frame (WebP format),\n"); - printf(" 'di' is the pause duration before next frame,\n"); - printf(" 'xi','yi' specify the image offset for this frame,\n"); - printf(" 'mi' is the dispose method for this frame (0 or 1),\n"); - printf(" 'bi' is the blending method for this frame (+b or -b)" - "\n"); - - printf("\n"); - printf("LOOP_COUNT:\n"); - printf(" Number of times to repeat the animation.\n"); - printf(" Valid range is 0 to 65535 [Default: 0 (infinite)].\n"); - - printf("\n"); - printf("BACKGROUND_COLOR:\n"); - printf(" Background color of the canvas.\n"); - printf(" A,R,G,B\n"); - printf(" where: 'A', 'R', 'G' and 'B' are integers in the range 0 to 255 " - "specifying\n"); - printf(" the Alpha, Red, Green and Blue component values " - "respectively\n"); - printf(" [Default: 255,255,255,255]\n"); - - printf("\nINPUT & OUTPUT are in WebP format.\n"); - - printf("\nNote: The nature of EXIF, XMP and ICC data is not checked"); - printf(" and is assumed to be\nvalid.\n"); - printf("\nNote: if a single file name is passed as the argument, the " - "arguments will be\n"); - printf("tokenized from this file. The file name must not start with " - "the character '-'.\n"); -} - -static void WarnAboutOddOffset(const WebPMuxFrameInfo* const info) { - if ((info->x_offset | info->y_offset) & 1) { - fprintf(stderr, "Warning: odd offsets will be snapped to even values" - " (%d, %d) -> (%d, %d)\n", info->x_offset, info->y_offset, - info->x_offset & ~1, info->y_offset & ~1); - } -} - -static int CreateMux(const char* const filename, WebPMux** mux) { - WebPData bitstream; - assert(mux != NULL); - if (!ExUtilReadFileToWebPData(filename, &bitstream)) return 0; - *mux = WebPMuxCreate(&bitstream, 1); - WebPDataClear(&bitstream); - if (*mux != NULL) return 1; - WFPRINTF(stderr, "Failed to create mux object from file %s.\n", - (const W_CHAR*)filename); - return 0; -} - -static int WriteData(const char* filename, const WebPData* const webpdata) { - int ok = 0; - FILE* fout = WSTRCMP(filename, "-") ? WFOPEN(filename, "wb") - : ImgIoUtilSetBinaryMode(stdout); - if (fout == NULL) { - WFPRINTF(stderr, "Error opening output WebP file %s!\n", - (const W_CHAR*)filename); - return 0; - } - if (fwrite(webpdata->bytes, webpdata->size, 1, fout) != 1) { - WFPRINTF(stderr, "Error writing file %s!\n", (const W_CHAR*)filename); - } else { - WFPRINTF(stderr, "Saved file %s (%d bytes)\n", - (const W_CHAR*)filename, (int)webpdata->size); - ok = 1; - } - if (fout != stdout) fclose(fout); - return ok; -} - -static int WriteWebP(WebPMux* const mux, const char* filename) { - int ok; - WebPData webp_data; - const WebPMuxError err = WebPMuxAssemble(mux, &webp_data); - if (err != WEBP_MUX_OK) { - fprintf(stderr, "Error (%s) assembling the WebP file.\n", ErrorString(err)); - return 0; - } - ok = WriteData(filename, &webp_data); - WebPDataClear(&webp_data); - return ok; -} - -static WebPMux* DuplicateMuxHeader(const WebPMux* const mux) { - WebPMux* new_mux = WebPMuxNew(); - WebPMuxAnimParams p; - WebPMuxError err; - int i; - int ok = 1; - - if (new_mux == NULL) return NULL; - - err = WebPMuxGetAnimationParams(mux, &p); - if (err == WEBP_MUX_OK) { - err = WebPMuxSetAnimationParams(new_mux, &p); - if (err != WEBP_MUX_OK) { - ERROR_GOTO2("Error (%s) handling animation params.\n", - ErrorString(err), End); - } - } else { - /* it might not be an animation. Just keep moving. */ - } - - for (i = 1; i <= 3; ++i) { - WebPData metadata; - err = WebPMuxGetChunk(mux, kFourccList[i], &metadata); - if (err == WEBP_MUX_OK && metadata.size > 0) { - err = WebPMuxSetChunk(new_mux, kFourccList[i], &metadata, 1); - if (err != WEBP_MUX_OK) { - ERROR_GOTO1("Error transferring metadata in DuplicateMux().", End); - } - } - } - - End: - if (!ok) { - WebPMuxDelete(new_mux); - new_mux = NULL; - } - return new_mux; -} - -static int ParseFrameArgs(const char* args, WebPMuxFrameInfo* const info) { - int dispose_method, dummy; - char plus_minus, blend_method; - const int num_args = sscanf(args, "+%d+%d+%d+%d%c%c+%d", &info->duration, - &info->x_offset, &info->y_offset, &dispose_method, - &plus_minus, &blend_method, &dummy); - switch (num_args) { - case 1: - info->x_offset = info->y_offset = 0; // fall through - case 3: - dispose_method = 0; // fall through - case 4: - plus_minus = '+'; - blend_method = 'b'; // fall through - case 6: - break; - case 2: - case 5: - default: - return 0; - } - - WarnAboutOddOffset(info); - - // Note: The sanity of the following conversion is checked by - // WebPMuxPushFrame(). - info->dispose_method = (WebPMuxAnimDispose)dispose_method; - - if (blend_method != 'b') return 0; - if (plus_minus != '-' && plus_minus != '+') return 0; - info->blend_method = - (plus_minus == '+') ? WEBP_MUX_BLEND : WEBP_MUX_NO_BLEND; - return 1; -} - -static int ParseBgcolorArgs(const char* args, uint32_t* const bgcolor) { - uint32_t a, r, g, b; - if (sscanf(args, "%u,%u,%u,%u", &a, &r, &g, &b) != 4) return 0; - if (a >= 256 || r >= 256 || g >= 256 || b >= 256) return 0; - *bgcolor = (a << 24) | (r << 16) | (g << 8) | (b << 0); - return 1; -} - -//------------------------------------------------------------------------------ -// Clean-up. - -static void DeleteConfig(Config* const config) { - if (config != NULL) { - free(config->args_); - ExUtilDeleteCommandLineArguments(&config->cmd_args_); - memset(config, 0, sizeof(*config)); - } -} - -//------------------------------------------------------------------------------ -// Parsing. - -// Basic syntactic checks on the command-line arguments. -// Returns 1 on valid, 0 otherwise. -// Also fills up num_feature_args to be number of feature arguments given. -// (e.g. if there are 4 '-frame's and 1 '-loop', then num_feature_args = 5). -static int ValidateCommandLine(const CommandLineArguments* const cmd_args, - int* num_feature_args) { - int num_frame_args; - int num_loop_args; - int num_bgcolor_args; - int num_durations_args; - int ok = 1; - - assert(num_feature_args != NULL); - *num_feature_args = 0; - - // Simple checks. - if (CountOccurrences(cmd_args, "-get") > 1) { - ERROR_GOTO1("ERROR: Multiple '-get' arguments specified.\n", ErrValidate); - } - if (CountOccurrences(cmd_args, "-set") > 1) { - ERROR_GOTO1("ERROR: Multiple '-set' arguments specified.\n", ErrValidate); - } - if (CountOccurrences(cmd_args, "-strip") > 1) { - ERROR_GOTO1("ERROR: Multiple '-strip' arguments specified.\n", ErrValidate); - } - if (CountOccurrences(cmd_args, "-info") > 1) { - ERROR_GOTO1("ERROR: Multiple '-info' arguments specified.\n", ErrValidate); - } - if (CountOccurrences(cmd_args, "-o") > 1) { - ERROR_GOTO1("ERROR: Multiple output files specified.\n", ErrValidate); - } - - // Compound checks. - num_frame_args = CountOccurrences(cmd_args, "-frame"); - num_loop_args = CountOccurrences(cmd_args, "-loop"); - num_bgcolor_args = CountOccurrences(cmd_args, "-bgcolor"); - num_durations_args = CountOccurrences(cmd_args, "-duration"); - - if (num_loop_args > 1) { - ERROR_GOTO1("ERROR: Multiple loop counts specified.\n", ErrValidate); - } - if (num_bgcolor_args > 1) { - ERROR_GOTO1("ERROR: Multiple background colors specified.\n", ErrValidate); - } - - if ((num_frame_args == 0) && (num_loop_args + num_bgcolor_args > 0)) { - ERROR_GOTO1("ERROR: Loop count and background color are relevant only in " - "case of animation.\n", ErrValidate); - } - if (num_durations_args > 0 && num_frame_args != 0) { - ERROR_GOTO1("ERROR: Can not combine -duration and -frame commands.\n", - ErrValidate); - } - - assert(ok == 1); - if (num_durations_args > 0) { - *num_feature_args = num_durations_args; - } else if (num_frame_args == 0) { - // Single argument ('set' action for ICCP/EXIF/XMP, OR a 'get' action). - *num_feature_args = 1; - } else { - // Multiple arguments ('set' action for animation) - *num_feature_args = num_frame_args + num_loop_args + num_bgcolor_args; - } - - ErrValidate: - return ok; -} - -#define ACTION_IS_NIL (config->action_type_ == NIL_ACTION) - -#define FEATURETYPE_IS_NIL (config->type_ == NIL_FEATURE) - -#define CHECK_NUM_ARGS_AT_LEAST(NUM, LABEL) \ - if (argc < i + (NUM)) { \ - fprintf(stderr, "ERROR: Too few arguments for '%s'.\n", argv[i]); \ - goto LABEL; \ - } - -#define CHECK_NUM_ARGS_AT_MOST(NUM, LABEL) \ - if (argc > i + (NUM)) { \ - fprintf(stderr, "ERROR: Too many arguments for '%s'.\n", argv[i]); \ - goto LABEL; \ - } - -#define CHECK_NUM_ARGS_EXACTLY(NUM, LABEL) \ - CHECK_NUM_ARGS_AT_LEAST(NUM, LABEL); \ - CHECK_NUM_ARGS_AT_MOST(NUM, LABEL); - -// Parses command-line arguments to fill up config object. Also performs some -// semantic checks. unicode_argv contains wchar_t arguments or is null. -static int ParseCommandLine(Config* config, const W_CHAR** const unicode_argv) { - int i = 0; - int feature_arg_index = 0; - int ok = 1; - int argc = config->cmd_args_.argc_; - const char* const* argv = config->cmd_args_.argv_; - // Unicode file paths will be used if available. - const char* const* wargv = - (unicode_argv != NULL) ? (const char**)(unicode_argv + 1) : argv; - - while (i < argc) { - FeatureArg* const arg = &config->args_[feature_arg_index]; - if (argv[i][0] == '-') { // One of the action types or output. - if (!strcmp(argv[i], "-set")) { - if (ACTION_IS_NIL) { - config->action_type_ = ACTION_SET; - } else { - ERROR_GOTO1("ERROR: Multiple actions specified.\n", ErrParse); - } - ++i; - } else if (!strcmp(argv[i], "-duration")) { - CHECK_NUM_ARGS_AT_LEAST(2, ErrParse); - if (ACTION_IS_NIL || config->action_type_ == ACTION_DURATION) { - config->action_type_ = ACTION_DURATION; - } else { - ERROR_GOTO1("ERROR: Multiple actions specified.\n", ErrParse); - } - if (FEATURETYPE_IS_NIL || config->type_ == FEATURE_DURATION) { - config->type_ = FEATURE_DURATION; - } else { - ERROR_GOTO1("ERROR: Multiple features specified.\n", ErrParse); - } - arg->params_ = argv[i + 1]; - ++feature_arg_index; - i += 2; - } else if (!strcmp(argv[i], "-get")) { - if (ACTION_IS_NIL) { - config->action_type_ = ACTION_GET; - } else { - ERROR_GOTO1("ERROR: Multiple actions specified.\n", ErrParse); - } - ++i; - } else if (!strcmp(argv[i], "-strip")) { - if (ACTION_IS_NIL) { - config->action_type_ = ACTION_STRIP; - config->arg_count_ = 0; - } else { - ERROR_GOTO1("ERROR: Multiple actions specified.\n", ErrParse); - } - ++i; - } else if (!strcmp(argv[i], "-frame")) { - CHECK_NUM_ARGS_AT_LEAST(3, ErrParse); - if (ACTION_IS_NIL || config->action_type_ == ACTION_SET) { - config->action_type_ = ACTION_SET; - } else { - ERROR_GOTO1("ERROR: Multiple actions specified.\n", ErrParse); - } - if (FEATURETYPE_IS_NIL || config->type_ == FEATURE_ANMF) { - config->type_ = FEATURE_ANMF; - } else { - ERROR_GOTO1("ERROR: Multiple features specified.\n", ErrParse); - } - arg->subtype_ = SUBTYPE_ANMF; - arg->filename_ = argv[i + 1]; - arg->params_ = argv[i + 2]; - ++feature_arg_index; - i += 3; - } else if (!strcmp(argv[i], "-loop") || !strcmp(argv[i], "-bgcolor")) { - CHECK_NUM_ARGS_AT_LEAST(2, ErrParse); - if (ACTION_IS_NIL || config->action_type_ == ACTION_SET) { - config->action_type_ = ACTION_SET; - } else { - ERROR_GOTO1("ERROR: Multiple actions specified.\n", ErrParse); - } - if (FEATURETYPE_IS_NIL || config->type_ == FEATURE_ANMF) { - config->type_ = FEATURE_ANMF; - } else { - ERROR_GOTO1("ERROR: Multiple features specified.\n", ErrParse); - } - arg->subtype_ = - !strcmp(argv[i], "-loop") ? SUBTYPE_LOOP : SUBTYPE_BGCOLOR; - arg->params_ = argv[i + 1]; - ++feature_arg_index; - i += 2; - } else if (!strcmp(argv[i], "-o")) { - CHECK_NUM_ARGS_AT_LEAST(2, ErrParse); - config->output_ = wargv[i + 1]; - i += 2; - } else if (!strcmp(argv[i], "-info")) { - CHECK_NUM_ARGS_EXACTLY(2, ErrParse); - if (config->action_type_ != NIL_ACTION) { - ERROR_GOTO1("ERROR: Multiple actions specified.\n", ErrParse); - } else { - config->action_type_ = ACTION_INFO; - config->arg_count_ = 0; - config->input_ = wargv[i + 1]; - } - i += 2; - } else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "-help")) { - PrintHelp(); - DeleteConfig(config); - LOCAL_FREE((W_CHAR** const)unicode_argv); - exit(0); - } else if (!strcmp(argv[i], "-version")) { - const int version = WebPGetMuxVersion(); - printf("%d.%d.%d\n", - (version >> 16) & 0xff, (version >> 8) & 0xff, version & 0xff); - DeleteConfig(config); - LOCAL_FREE((W_CHAR** const)unicode_argv); - exit(0); - } else if (!strcmp(argv[i], "--")) { - if (i < argc - 1) { - ++i; - if (config->input_ == NULL) { - config->input_ = wargv[i]; - } else { - ERROR_GOTO2("ERROR at '%s': Multiple input files specified.\n", - argv[i], ErrParse); - } - } - break; - } else { - ERROR_GOTO2("ERROR: Unknown option: '%s'.\n", argv[i], ErrParse); - } - } else { // One of the feature types or input. - if (ACTION_IS_NIL) { - ERROR_GOTO1("ERROR: Action must be specified before other arguments.\n", - ErrParse); - } - if (!strcmp(argv[i], "icc") || !strcmp(argv[i], "exif") || - !strcmp(argv[i], "xmp")) { - if (FEATURETYPE_IS_NIL) { - config->type_ = (!strcmp(argv[i], "icc")) ? FEATURE_ICCP : - (!strcmp(argv[i], "exif")) ? FEATURE_EXIF : FEATURE_XMP; - } else { - ERROR_GOTO1("ERROR: Multiple features specified.\n", ErrParse); - } - if (config->action_type_ == ACTION_SET) { - CHECK_NUM_ARGS_AT_LEAST(2, ErrParse); - arg->filename_ = wargv[i + 1]; - ++feature_arg_index; - i += 2; - } else { - ++i; - } - } else if (!strcmp(argv[i], "frame") && - (config->action_type_ == ACTION_GET)) { - CHECK_NUM_ARGS_AT_LEAST(2, ErrParse); - config->type_ = FEATURE_ANMF; - arg->params_ = argv[i + 1]; - ++feature_arg_index; - i += 2; - } else { // Assume input file. - if (config->input_ == NULL) { - config->input_ = wargv[i]; - } else { - ERROR_GOTO2("ERROR at '%s': Multiple input files specified.\n", - argv[i], ErrParse); - } - ++i; - } - } - } - ErrParse: - return ok; -} - -// Additional checks after config is filled. -static int ValidateConfig(Config* const config) { - int ok = 1; - - // Action. - if (ACTION_IS_NIL) { - ERROR_GOTO1("ERROR: No action specified.\n", ErrValidate2); - } - - // Feature type. - if (FEATURETYPE_IS_NIL && config->action_type_ != ACTION_INFO) { - ERROR_GOTO1("ERROR: No feature specified.\n", ErrValidate2); - } - - // Input file. - if (config->input_ == NULL) { - if (config->action_type_ != ACTION_SET) { - ERROR_GOTO1("ERROR: No input file specified.\n", ErrValidate2); - } else if (config->type_ != FEATURE_ANMF) { - ERROR_GOTO1("ERROR: No input file specified.\n", ErrValidate2); - } - } - - // Output file. - if (config->output_ == NULL && config->action_type_ != ACTION_INFO) { - ERROR_GOTO1("ERROR: No output file specified.\n", ErrValidate2); - } - - ErrValidate2: - return ok; -} - -// Create config object from command-line arguments. -static int InitializeConfig(int argc, const char* argv[], Config* const config, - const W_CHAR** const unicode_argv) { - int num_feature_args = 0; - int ok; - - memset(config, 0, sizeof(*config)); - - ok = ExUtilInitCommandLineArguments(argc, argv, &config->cmd_args_); - if (!ok) return 0; - - // Validate command-line arguments. - if (!ValidateCommandLine(&config->cmd_args_, &num_feature_args)) { - ERROR_GOTO1("Exiting due to command-line parsing error.\n", Err1); - } - - config->arg_count_ = num_feature_args; - config->args_ = (FeatureArg*)calloc(num_feature_args, sizeof(*config->args_)); - if (config->args_ == NULL) { - ERROR_GOTO1("ERROR: Memory allocation error.\n", Err1); - } - - // Parse command-line. - if (!ParseCommandLine(config, unicode_argv) || !ValidateConfig(config)) { - ERROR_GOTO1("Exiting due to command-line parsing error.\n", Err1); - } - - Err1: - return ok; -} - -#undef ACTION_IS_NIL -#undef FEATURETYPE_IS_NIL -#undef CHECK_NUM_ARGS_AT_LEAST -#undef CHECK_NUM_ARGS_AT_MOST -#undef CHECK_NUM_ARGS_EXACTLY - -//------------------------------------------------------------------------------ -// Processing. - -static int GetFrame(const WebPMux* mux, const Config* config) { - WebPMuxError err = WEBP_MUX_OK; - WebPMux* mux_single = NULL; - int num = 0; - int ok = 1; - int parse_error = 0; - const WebPChunkId id = WEBP_CHUNK_ANMF; - WebPMuxFrameInfo info; - WebPDataInit(&info.bitstream); - - num = ExUtilGetInt(config->args_[0].params_, 10, &parse_error); - if (num < 0) { - ERROR_GOTO1("ERROR: Frame/Fragment index must be non-negative.\n", ErrGet); - } - if (parse_error) goto ErrGet; - - err = WebPMuxGetFrame(mux, num, &info); - if (err == WEBP_MUX_OK && info.id != id) err = WEBP_MUX_NOT_FOUND; - if (err != WEBP_MUX_OK) { - ERROR_GOTO3("ERROR (%s): Could not get frame %d.\n", - ErrorString(err), num, ErrGet); - } - - mux_single = WebPMuxNew(); - if (mux_single == NULL) { - err = WEBP_MUX_MEMORY_ERROR; - ERROR_GOTO2("ERROR (%s): Could not allocate a mux object.\n", - ErrorString(err), ErrGet); - } - err = WebPMuxSetImage(mux_single, &info.bitstream, 1); - if (err != WEBP_MUX_OK) { - ERROR_GOTO2("ERROR (%s): Could not create single image mux object.\n", - ErrorString(err), ErrGet); - } - - ok = WriteWebP(mux_single, config->output_); - - ErrGet: - WebPDataClear(&info.bitstream); - WebPMuxDelete(mux_single); - return ok && !parse_error; -} - -// Read and process config. -static int Process(const Config* config) { - WebPMux* mux = NULL; - WebPData chunk; - WebPMuxError err = WEBP_MUX_OK; - int ok = 1; - - switch (config->action_type_) { - case ACTION_GET: { - ok = CreateMux(config->input_, &mux); - if (!ok) goto Err2; - switch (config->type_) { - case FEATURE_ANMF: - ok = GetFrame(mux, config); - break; - - case FEATURE_ICCP: - case FEATURE_EXIF: - case FEATURE_XMP: - err = WebPMuxGetChunk(mux, kFourccList[config->type_], &chunk); - if (err != WEBP_MUX_OK) { - ERROR_GOTO3("ERROR (%s): Could not get the %s.\n", - ErrorString(err), kDescriptions[config->type_], Err2); - } - ok = WriteData(config->output_, &chunk); - break; - - default: - ERROR_GOTO1("ERROR: Invalid feature for action 'get'.\n", Err2); - break; - } - break; - } - case ACTION_SET: { - switch (config->type_) { - case FEATURE_ANMF: { - int i; - WebPMuxAnimParams params = { 0xFFFFFFFF, 0 }; - mux = WebPMuxNew(); - if (mux == NULL) { - ERROR_GOTO2("ERROR (%s): Could not allocate a mux object.\n", - ErrorString(WEBP_MUX_MEMORY_ERROR), Err2); - } - for (i = 0; i < config->arg_count_; ++i) { - switch (config->args_[i].subtype_) { - case SUBTYPE_BGCOLOR: { - uint32_t bgcolor; - ok = ParseBgcolorArgs(config->args_[i].params_, &bgcolor); - if (!ok) { - ERROR_GOTO1("ERROR: Could not parse the background color \n", - Err2); - } - params.bgcolor = bgcolor; - break; - } - case SUBTYPE_LOOP: { - int parse_error = 0; - const int loop_count = - ExUtilGetInt(config->args_[i].params_, 10, &parse_error); - if (loop_count < 0 || loop_count > 65535) { - // Note: This is only a 'necessary' condition for loop_count - // to be valid. The 'sufficient' conditioned in checked in - // WebPMuxSetAnimationParams() method called later. - ERROR_GOTO1("ERROR: Loop count must be in the range 0 to " - "65535.\n", Err2); - } - ok = !parse_error; - if (!ok) goto Err2; - params.loop_count = loop_count; - break; - } - case SUBTYPE_ANMF: { - WebPMuxFrameInfo frame; - frame.id = WEBP_CHUNK_ANMF; - ok = ExUtilReadFileToWebPData(config->args_[i].filename_, - &frame.bitstream); - if (!ok) goto Err2; - ok = ParseFrameArgs(config->args_[i].params_, &frame); - if (!ok) { - WebPDataClear(&frame.bitstream); - ERROR_GOTO1("ERROR: Could not parse frame properties.\n", - Err2); - } - err = WebPMuxPushFrame(mux, &frame, 1); - WebPDataClear(&frame.bitstream); - if (err != WEBP_MUX_OK) { - ERROR_GOTO3("ERROR (%s): Could not add a frame at index %d." - "\n", ErrorString(err), i, Err2); - } - break; - } - default: { - ERROR_GOTO1("ERROR: Invalid subtype for 'frame'", Err2); - break; - } - } - } - err = WebPMuxSetAnimationParams(mux, ¶ms); - if (err != WEBP_MUX_OK) { - ERROR_GOTO2("ERROR (%s): Could not set animation parameters.\n", - ErrorString(err), Err2); - } - break; - } - - case FEATURE_ICCP: - case FEATURE_EXIF: - case FEATURE_XMP: { - ok = CreateMux(config->input_, &mux); - if (!ok) goto Err2; - ok = ExUtilReadFileToWebPData(config->args_[0].filename_, &chunk); - if (!ok) goto Err2; - err = WebPMuxSetChunk(mux, kFourccList[config->type_], &chunk, 1); - free((void*)chunk.bytes); - if (err != WEBP_MUX_OK) { - ERROR_GOTO3("ERROR (%s): Could not set the %s.\n", - ErrorString(err), kDescriptions[config->type_], Err2); - } - break; - } - default: { - ERROR_GOTO1("ERROR: Invalid feature for action 'set'.\n", Err2); - break; - } - } - ok = WriteWebP(mux, config->output_); - break; - } - case ACTION_DURATION: { - int num_frames; - ok = CreateMux(config->input_, &mux); - if (!ok) goto Err2; - err = WebPMuxNumChunks(mux, WEBP_CHUNK_ANMF, &num_frames); - ok = (err == WEBP_MUX_OK); - if (!ok) { - ERROR_GOTO1("ERROR: can not parse the number of frames.\n", Err2); - } - if (num_frames == 0) { - fprintf(stderr, "Doesn't look like the source is animated. " - "Skipping duration setting.\n"); - ok = WriteWebP(mux, config->output_); - if (!ok) goto Err2; - } else { - int i; - int* durations = NULL; - WebPMux* new_mux = DuplicateMuxHeader(mux); - if (new_mux == NULL) goto Err2; - durations = (int*)WebPMalloc((size_t)num_frames * sizeof(*durations)); - if (durations == NULL) goto Err2; - for (i = 0; i < num_frames; ++i) durations[i] = -1; - - // Parse intervals to process. - for (i = 0; i < config->arg_count_; ++i) { - int k; - int args[3]; - int duration, start, end; - const int nb_args = ExUtilGetInts(config->args_[i].params_, - 10, 3, args); - ok = (nb_args >= 1); - if (!ok) goto Err3; - duration = args[0]; - if (duration < 0) { - ERROR_GOTO1("ERROR: duration must be strictly positive.\n", Err3); - } - - if (nb_args == 1) { // only duration is present -> use full interval - start = 1; - end = num_frames; - } else { - start = args[1]; - if (start <= 0) { - start = 1; - } else if (start > num_frames) { - start = num_frames; - } - end = (nb_args >= 3) ? args[2] : start; - if (end == 0 || end > num_frames) end = num_frames; - } - - for (k = start; k <= end; ++k) { - assert(k >= 1 && k <= num_frames); - durations[k - 1] = duration; - } - } - - // Apply non-negative durations to their destination frames. - for (i = 1; i <= num_frames; ++i) { - WebPMuxFrameInfo frame; - err = WebPMuxGetFrame(mux, i, &frame); - if (err != WEBP_MUX_OK || frame.id != WEBP_CHUNK_ANMF) { - ERROR_GOTO2("ERROR: can not retrieve frame #%d.\n", i, Err3); - } - if (durations[i - 1] >= 0) frame.duration = durations[i - 1]; - err = WebPMuxPushFrame(new_mux, &frame, 1); - if (err != WEBP_MUX_OK) { - ERROR_GOTO2("ERROR: error push frame data #%d\n", i, Err3); - } - WebPDataClear(&frame.bitstream); - } - WebPMuxDelete(mux); - ok = WriteWebP(new_mux, config->output_); - mux = new_mux; // transfer for the WebPMuxDelete() call - new_mux = NULL; - - Err3: - WebPFree(durations); - WebPMuxDelete(new_mux); - if (!ok) goto Err2; - } - break; - } - case ACTION_STRIP: { - ok = CreateMux(config->input_, &mux); - if (!ok) goto Err2; - if (config->type_ == FEATURE_ICCP || config->type_ == FEATURE_EXIF || - config->type_ == FEATURE_XMP) { - err = WebPMuxDeleteChunk(mux, kFourccList[config->type_]); - if (err != WEBP_MUX_OK) { - ERROR_GOTO3("ERROR (%s): Could not strip the %s.\n", - ErrorString(err), kDescriptions[config->type_], Err2); - } - } else { - ERROR_GOTO1("ERROR: Invalid feature for action 'strip'.\n", Err2); - break; - } - ok = WriteWebP(mux, config->output_); - break; - } - case ACTION_INFO: { - ok = CreateMux(config->input_, &mux); - if (!ok) goto Err2; - ok = (DisplayInfo(mux) == WEBP_MUX_OK); - break; - } - default: { - assert(0); // Invalid action. - break; - } - } - - Err2: - WebPMuxDelete(mux); - return ok; -} - -//------------------------------------------------------------------------------ -// Main. - -int main(int argc, const char* argv[]) { - Config config; - int ok; - - INIT_WARGV(argc, argv); - - ok = InitializeConfig(argc - 1, argv + 1, &config, GET_WARGV_OR_NULL()); - if (ok) { - ok = Process(&config); - } else { - PrintHelp(); - } - DeleteConfig(&config); - FREE_WARGV_AND_RETURN(!ok); -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/Makefile.am deleted file mode 100644 index 7e29888b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/Makefile.am +++ /dev/null @@ -1,44 +0,0 @@ -AM_CPPFLAGS += -I$(top_builddir) -I$(top_srcdir) -AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_srcdir)/src -noinst_LTLIBRARIES = libwebpextras.la - -noinst_HEADERS = -noinst_HEADERS += ../src/webp/types.h - -libwebpextras_la_SOURCES = -libwebpextras_la_SOURCES += extras.c extras.h quality_estimate.c - -libwebpextras_la_CPPFLAGS = $(AM_CPPFLAGS) -libwebpextras_la_LDFLAGS = -lm -libwebpextras_la_LIBADD = ../src/libwebp.la - -noinst_PROGRAMS = -noinst_PROGRAMS += webp_quality -if BUILD_DEMUX - noinst_PROGRAMS += get_disto -endif -if BUILD_VWEBP_SDL - noinst_PROGRAMS += vwebp_sdl -endif - -get_disto_SOURCES = get_disto.c -get_disto_CPPFLAGS = $(AM_CPPFLAGS) -get_disto_LDADD = -get_disto_LDADD += ../imageio/libimageio_util.la -get_disto_LDADD += ../imageio/libimagedec.la -get_disto_LDADD += ../src/libwebp.la -get_disto_LDADD += $(PNG_LIBS) $(JPEG_LIBS) $(TIFF_LIBS) - -webp_quality_SOURCES = webp_quality.c -webp_quality_CPPFLAGS = $(AM_CPPFLAGS) -webp_quality_LDADD = -webp_quality_LDADD += ../imageio/libimageio_util.la -webp_quality_LDADD += libwebpextras.la -webp_quality_LDADD += ../src/libwebp.la - -vwebp_sdl_SOURCES = vwebp_sdl.c webp_to_sdl.c webp_to_sdl.h -vwebp_sdl_CPPFLAGS = $(AM_CPPFLAGS) $(SDL_INCLUDES) -vwebp_sdl_LDADD = -vwebp_sdl_LDADD += ../imageio/libimageio_util.la -vwebp_sdl_LDADD += ../src/libwebp.la -vwebp_sdl_LDADD += $(SDL_LIBS) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/extras.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/extras.c deleted file mode 100644 index cf867f36..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/extras.c +++ /dev/null @@ -1,162 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Additional WebP utilities. -// - -#include "extras/extras.h" -#include "webp/format_constants.h" -#include "src/dsp/dsp.h" - -#include -#include - -#define XTRA_MAJ_VERSION 1 -#define XTRA_MIN_VERSION 1 -#define XTRA_REV_VERSION 0 - -//------------------------------------------------------------------------------ - -int WebPGetExtrasVersion(void) { - return (XTRA_MAJ_VERSION << 16) | (XTRA_MIN_VERSION << 8) | XTRA_REV_VERSION; -} - -//------------------------------------------------------------------------------ - -int WebPImportGray(const uint8_t* gray_data, WebPPicture* pic) { - int y, width, uv_width; - if (pic == NULL || gray_data == NULL) return 0; - pic->colorspace = WEBP_YUV420; - if (!WebPPictureAlloc(pic)) return 0; - width = pic->width; - uv_width = (width + 1) >> 1; - for (y = 0; y < pic->height; ++y) { - memcpy(pic->y + y * pic->y_stride, gray_data, width); - gray_data += width; // <- we could use some 'data_stride' here if needed - if ((y & 1) == 0) { - memset(pic->u + (y >> 1) * pic->uv_stride, 128, uv_width); - memset(pic->v + (y >> 1) * pic->uv_stride, 128, uv_width); - } - } - return 1; -} - -int WebPImportRGB565(const uint8_t* rgb565, WebPPicture* pic) { - int x, y; - uint32_t* dst; - if (pic == NULL || rgb565 == NULL) return 0; - pic->colorspace = WEBP_YUV420; - pic->use_argb = 1; - if (!WebPPictureAlloc(pic)) return 0; - dst = pic->argb; - for (y = 0; y < pic->height; ++y) { - const int width = pic->width; - for (x = 0; x < width; ++x) { -#if defined(WEBP_SWAP_16BIT_CSP) && (WEBP_SWAP_16BIT_CSP == 1) - const uint32_t rg = rgb565[2 * x + 1]; - const uint32_t gb = rgb565[2 * x + 0]; -#else - const uint32_t rg = rgb565[2 * x + 0]; - const uint32_t gb = rgb565[2 * x + 1]; -#endif - uint32_t r = rg & 0xf8; - uint32_t g = ((rg << 5) | (gb >> 3)) & 0xfc; - uint32_t b = (gb << 5); - // dithering - r = r | (r >> 5); - g = g | (g >> 6); - b = b | (b >> 5); - dst[x] = (0xffu << 24) | (r << 16) | (g << 8) | b; - } - rgb565 += 2 * width; - dst += pic->argb_stride; - } - return 1; -} - -int WebPImportRGB4444(const uint8_t* rgb4444, WebPPicture* pic) { - int x, y; - uint32_t* dst; - if (pic == NULL || rgb4444 == NULL) return 0; - pic->colorspace = WEBP_YUV420; - pic->use_argb = 1; - if (!WebPPictureAlloc(pic)) return 0; - dst = pic->argb; - for (y = 0; y < pic->height; ++y) { - const int width = pic->width; - for (x = 0; x < width; ++x) { -#if defined(WEBP_SWAP_16BIT_CSP) && (WEBP_SWAP_16BIT_CSP == 1) - const uint32_t rg = rgb4444[2 * x + 1]; - const uint32_t ba = rgb4444[2 * x + 0]; -#else - const uint32_t rg = rgb4444[2 * x + 0]; - const uint32_t ba = rgb4444[2 * x + 1]; -#endif - uint32_t r = rg & 0xf0; - uint32_t g = (rg << 4); - uint32_t b = (ba & 0xf0); - uint32_t a = (ba << 4); - // dithering - r = r | (r >> 4); - g = g | (g >> 4); - b = b | (b >> 4); - a = a | (a >> 4); - dst[x] = (a << 24) | (r << 16) | (g << 8) | b; - } - rgb4444 += 2 * width; - dst += pic->argb_stride; - } - return 1; -} - -int WebPImportColorMappedARGB(const uint8_t* indexed, int indexed_stride, - const uint32_t palette[], int palette_size, - WebPPicture* pic) { - int x, y; - uint32_t* dst; - // 256 as the input buffer is uint8_t. - assert(MAX_PALETTE_SIZE <= 256); - if (pic == NULL || indexed == NULL || indexed_stride < pic->width || - palette == NULL || palette_size > MAX_PALETTE_SIZE || palette_size <= 0) { - return 0; - } - pic->use_argb = 1; - if (!WebPPictureAlloc(pic)) return 0; - dst = pic->argb; - for (y = 0; y < pic->height; ++y) { - for (x = 0; x < pic->width; ++x) { - // Make sure we are within the palette. - if (indexed[x] >= palette_size) { - WebPPictureFree(pic); - return 0; - } - dst[x] = palette[indexed[x]]; - } - indexed += indexed_stride; - dst += pic->argb_stride; - } - return 1; -} - -//------------------------------------------------------------------------------ - -int WebPUnmultiplyARGB(WebPPicture* pic) { - int y; - uint32_t* dst; - if (pic == NULL || pic->use_argb != 1 || pic->argb == NULL) return 0; - WebPInitAlphaProcessing(); - dst = pic->argb; - for (y = 0; y < pic->height; ++y) { - WebPMultARGBRow(dst, pic->width, /*inverse=*/1); - dst += pic->argb_stride; - } - return 1; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/extras.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/extras.h deleted file mode 100644 index c084682f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/extras.h +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// - -#ifndef WEBP_EXTRAS_EXTRAS_H_ -#define WEBP_EXTRAS_EXTRAS_H_ - -#include "webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#include "webp/encode.h" - -#define WEBP_EXTRAS_ABI_VERSION 0x0002 // MAJOR(8b) + MINOR(8b) - -//------------------------------------------------------------------------------ - -// Returns the version number of the extras library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetExtrasVersion(void); - -//------------------------------------------------------------------------------ -// Ad-hoc colorspace importers. - -// Import luma sample (gray scale image) into 'picture'. The 'picture' -// width and height must be set prior to calling this function. -WEBP_EXTERN int WebPImportGray(const uint8_t* gray, WebPPicture* picture); - -// Import rgb sample in RGB565 packed format into 'picture'. The 'picture' -// width and height must be set prior to calling this function. -WEBP_EXTERN int WebPImportRGB565(const uint8_t* rgb565, WebPPicture* pic); - -// Import rgb sample in RGB4444 packed format into 'picture'. The 'picture' -// width and height must be set prior to calling this function. -WEBP_EXTERN int WebPImportRGB4444(const uint8_t* rgb4444, WebPPicture* pic); - -// Import a color mapped image. The number of colors is less or equal to -// MAX_PALETTE_SIZE. 'pic' must have been initialized. Its content, if any, -// will be discarded. Returns 'false' in case of error, or if indexed[] contains -// invalid indices. -WEBP_EXTERN int -WebPImportColorMappedARGB(const uint8_t* indexed, int indexed_stride, - const uint32_t palette[], int palette_size, - WebPPicture* pic); - -// Convert the ARGB content of 'pic' from associated to unassociated. -// 'pic' can be for instance the result of calling of some WebPPictureImportXXX -// functions, with pic->use_argb set to 'true'. It is assumed (and not checked) -// that the pre-multiplied r/g/b values as less or equal than the alpha value. -// Return false in case of error (invalid parameter, ...). -WEBP_EXTERN int WebPUnmultiplyARGB(WebPPicture* pic); - -//------------------------------------------------------------------------------ - -// Parse a bitstream, search for VP8 (lossy) header and report a -// rough estimation of the quality factor used for compressing the bitstream. -// If the bitstream is in lossless format, the special value '101' is returned. -// Otherwise (lossy bitstream), the returned value is in the range [0..100]. -// Any error (invalid bitstream, animated WebP, incomplete header, etc.) -// will return a value of -1. -WEBP_EXTERN int VP8EstimateQuality(const uint8_t* const data, size_t size); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_EXTRAS_EXTRAS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/get_disto.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/get_disto.c deleted file mode 100644 index 151beada..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/get_disto.c +++ /dev/null @@ -1,355 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Simple tool to load two webp/png/jpg/tiff files and compute PSNR/SSIM. -// This is mostly a wrapper around WebPPictureDistortion(). -// -/* - gcc -o get_disto get_disto.c -O3 -I../ -L../examples -L../imageio \ - -lexample_util -limageio_util -limagedec -lwebp -L/opt/local/lib \ - -lpng -lz -ljpeg -ltiff -lm -lpthread -*/ -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include -#include -#include - -#include "webp/encode.h" -#include "imageio/image_dec.h" -#include "imageio/imageio_util.h" -#include "../examples/unicode.h" - -static size_t ReadPicture(const char* const filename, WebPPicture* const pic, - int keep_alpha) { - const uint8_t* data = NULL; - size_t data_size = 0; - WebPImageReader reader = NULL; - int ok = ImgIoUtilReadFile(filename, &data, &data_size); - if (!ok) goto End; - - pic->use_argb = 1; // force ARGB - -#ifdef HAVE_WINCODEC_H - // Try to decode the file using WIC falling back to the other readers for - // e.g., WebP. - ok = ReadPictureWithWIC(filename, pic, keep_alpha, NULL); - if (ok) goto End; -#endif - reader = WebPGuessImageReader(data, data_size); - ok = reader(data, data_size, pic, keep_alpha, NULL); - - End: - if (!ok) { - WFPRINTF(stderr, "Error! Could not process file %s\n", - (const W_CHAR*)filename); - } - free((void*)data); - return ok ? data_size : 0; -} - -static void RescalePlane(uint8_t* plane, int width, int height, - int x_stride, int y_stride, int max) { - const uint32_t factor = (max > 0) ? (255u << 16) / max : 0; - int x, y; - for (y = 0; y < height; ++y) { - uint8_t* const ptr = plane + y * y_stride; - for (x = 0; x < width * x_stride; x += x_stride) { - const uint32_t diff = (ptr[x] * factor + (1 << 15)) >> 16; - ptr[x] = diff; - } - } -} - -// Return the max absolute difference. -static int DiffScaleChannel(uint8_t* src1, int stride1, - const uint8_t* src2, int stride2, - int x_stride, int w, int h, int do_scaling) { - int x, y; - int max = 0; - for (y = 0; y < h; ++y) { - uint8_t* const ptr1 = src1 + y * stride1; - const uint8_t* const ptr2 = src2 + y * stride2; - for (x = 0; x < w * x_stride; x += x_stride) { - const int diff = abs(ptr1[x] - ptr2[x]); - if (diff > max) max = diff; - ptr1[x] = diff; - } - } - - if (do_scaling) RescalePlane(src1, w, h, x_stride, stride1, max); - return max; -} - -//------------------------------------------------------------------------------ -// SSIM calculation. We re-implement these functions here, out of dsp/, to avoid -// breaking the library's hidden visibility. This code duplication avoids the -// bigger annoyance of having to open up internal details of libdsp... - -#define SSIM_KERNEL 3 // total size of the kernel: 2 * SSIM_KERNEL + 1 - -// struct for accumulating statistical moments -typedef struct { - uint32_t w; // sum(w_i) : sum of weights - uint32_t xm, ym; // sum(w_i * x_i), sum(w_i * y_i) - uint32_t xxm, xym, yym; // sum(w_i * x_i * x_i), etc. -} DistoStats; - -// hat-shaped filter. Sum of coefficients is equal to 16. -static const uint32_t kWeight[2 * SSIM_KERNEL + 1] = { 1, 2, 3, 4, 3, 2, 1 }; - -static WEBP_INLINE double SSIMCalculation(const DistoStats* const stats) { - const uint32_t N = stats->w; - const uint32_t w2 = N * N; - const uint32_t C1 = 20 * w2; - const uint32_t C2 = 60 * w2; - const uint32_t C3 = 8 * 8 * w2; // 'dark' limit ~= 6 - const uint64_t xmxm = (uint64_t)stats->xm * stats->xm; - const uint64_t ymym = (uint64_t)stats->ym * stats->ym; - if (xmxm + ymym >= C3) { - const int64_t xmym = (int64_t)stats->xm * stats->ym; - const int64_t sxy = (int64_t)stats->xym * N - xmym; // can be negative - const uint64_t sxx = (uint64_t)stats->xxm * N - xmxm; - const uint64_t syy = (uint64_t)stats->yym * N - ymym; - // we descale by 8 to prevent overflow during the fnum/fden multiply. - const uint64_t num_S = (2 * (uint64_t)(sxy < 0 ? 0 : sxy) + C2) >> 8; - const uint64_t den_S = (sxx + syy + C2) >> 8; - const uint64_t fnum = (2 * xmym + C1) * num_S; - const uint64_t fden = (xmxm + ymym + C1) * den_S; - const double r = (double)fnum / fden; - assert(r >= 0. && r <= 1.0); - return r; - } - return 1.; // area is too dark to contribute meaningfully -} - -static double SSIMGetClipped(const uint8_t* src1, int stride1, - const uint8_t* src2, int stride2, - int xo, int yo, int W, int H) { - DistoStats stats = { 0, 0, 0, 0, 0, 0 }; - const int ymin = (yo - SSIM_KERNEL < 0) ? 0 : yo - SSIM_KERNEL; - const int ymax = (yo + SSIM_KERNEL > H - 1) ? H - 1 : yo + SSIM_KERNEL; - const int xmin = (xo - SSIM_KERNEL < 0) ? 0 : xo - SSIM_KERNEL; - const int xmax = (xo + SSIM_KERNEL > W - 1) ? W - 1 : xo + SSIM_KERNEL; - int x, y; - src1 += ymin * stride1; - src2 += ymin * stride2; - for (y = ymin; y <= ymax; ++y, src1 += stride1, src2 += stride2) { - for (x = xmin; x <= xmax; ++x) { - const uint32_t w = kWeight[SSIM_KERNEL + x - xo] - * kWeight[SSIM_KERNEL + y - yo]; - const uint32_t s1 = src1[x]; - const uint32_t s2 = src2[x]; - stats.w += w; - stats.xm += w * s1; - stats.ym += w * s2; - stats.xxm += w * s1 * s1; - stats.xym += w * s1 * s2; - stats.yym += w * s2 * s2; - } - } - return SSIMCalculation(&stats); -} - -// Compute SSIM-score map. Return -1 in case of error, max diff otherwise. -static int SSIMScaleChannel(uint8_t* src1, int stride1, - const uint8_t* src2, int stride2, - int x_stride, int w, int h, int do_scaling) { - int x, y; - int max = 0; - uint8_t* const plane1 = (uint8_t*)malloc(2 * w * h * sizeof(*plane1)); - uint8_t* const plane2 = plane1 + w * h; - if (plane1 == NULL) return -1; - - // extract plane - for (y = 0; y < h; ++y) { - for (x = 0; x < w; ++x) { - plane1[x + y * w] = src1[x * x_stride + y * stride1]; - plane2[x + y * w] = src2[x * x_stride + y * stride2]; - } - } - for (y = 0; y < h; ++y) { - for (x = 0; x < w; ++x) { - const double ssim = SSIMGetClipped(plane1, w, plane2, w, x, y, w, h); - int diff = (int)(255 * (1. - ssim)); - if (diff < 0) { - diff = 0; - } else if (diff > max) { - max = diff; - } - src1[x * x_stride + y * stride1] = (diff > 255) ? 255u : (uint8_t)diff; - } - } - free(plane1); - - if (do_scaling) RescalePlane(src1, w, h, x_stride, stride1, max); - return max; -} - -// Convert an argb picture to luminance. -static void ConvertToGray(WebPPicture* const pic) { - int x, y; - assert(pic != NULL); - assert(pic->use_argb); - for (y = 0; y < pic->height; ++y) { - uint32_t* const row = &pic->argb[y * pic->argb_stride]; - for (x = 0; x < pic->width; ++x) { - const uint32_t argb = row[x]; - const uint32_t r = (argb >> 16) & 0xff; - const uint32_t g = (argb >> 8) & 0xff; - const uint32_t b = (argb >> 0) & 0xff; - // We use BT.709 for converting to luminance. - const uint32_t Y = (uint32_t)(0.2126 * r + 0.7152 * g + 0.0722 * b + .5); - row[x] = (argb & 0xff000000u) | (Y * 0x010101u); - } - } -} - -static void Help(void) { - fprintf(stderr, - "Usage: get_disto [-ssim][-psnr][-alpha] compressed.webp orig.webp\n" - " -ssim ..... print SSIM distortion\n" - " -psnr ..... print PSNR distortion (default)\n" - " -alpha .... preserve alpha plane\n" - " -h ........ this message\n" - " -o . save the diff map as a WebP lossless file\n" - " -scale .... scale the difference map to fit [0..255] range\n" - " -gray ..... use grayscale for difference map (-scale)\n" - " Also handles PNG, JPG and TIFF files, in addition to WebP.\n"); -} - -int main(int argc, const char* argv[]) { - WebPPicture pic1, pic2; - size_t size1 = 0, size2 = 0; - int ret = 1; - float disto[5]; - int type = 0; - int c; - int help = 0; - int keep_alpha = 0; - int scale = 0; - int use_gray = 0; - const char* name1 = NULL; - const char* name2 = NULL; - const char* output = NULL; - - INIT_WARGV(argc, argv); - - if (!WebPPictureInit(&pic1) || !WebPPictureInit(&pic2)) { - fprintf(stderr, "Can't init pictures\n"); - FREE_WARGV_AND_RETURN(1); - } - - for (c = 1; c < argc; ++c) { - if (!strcmp(argv[c], "-ssim")) { - type = 1; - } else if (!strcmp(argv[c], "-psnr")) { - type = 0; - } else if (!strcmp(argv[c], "-alpha")) { - keep_alpha = 1; - } else if (!strcmp(argv[c], "-scale")) { - scale = 1; - } else if (!strcmp(argv[c], "-gray")) { - use_gray = 1; - } else if (!strcmp(argv[c], "-h")) { - help = 1; - ret = 0; - } else if (!strcmp(argv[c], "-o")) { - if (++c == argc) { - fprintf(stderr, "missing file name after %s option.\n", argv[c - 1]); - goto End; - } - output = (const char*)GET_WARGV(argv, c); - } else if (name1 == NULL) { - name1 = (const char*)GET_WARGV(argv, c); - } else { - name2 = (const char*)GET_WARGV(argv, c); - } - } - if (help || name1 == NULL || name2 == NULL) { - if (!help) { - fprintf(stderr, "Error: missing arguments.\n"); - } - Help(); - goto End; - } - size1 = ReadPicture(name1, &pic1, 1); - size2 = ReadPicture(name2, &pic2, 1); - if (size1 == 0 || size2 == 0) goto End; - - if (!keep_alpha) { - WebPBlendAlpha(&pic1, 0x00000000); - WebPBlendAlpha(&pic2, 0x00000000); - } - - if (!WebPPictureDistortion(&pic1, &pic2, type, disto)) { - fprintf(stderr, "Error while computing the distortion.\n"); - goto End; - } - printf("%u %.2f %.2f %.2f %.2f %.2f [ %.2f bpp ]\n", - (unsigned int)size1, - disto[4], disto[0], disto[1], disto[2], disto[3], - 8.f * size1 / pic1.width / pic1.height); - - if (output != NULL) { - uint8_t* data = NULL; - size_t data_size = 0; - if (pic1.use_argb != pic2.use_argb) { - fprintf(stderr, "Pictures are not in the same argb format. " - "Can't save the difference map.\n"); - goto End; - } - if (pic1.use_argb) { - int n; - fprintf(stderr, "max differences per channel: "); - for (n = 0; n < 3; ++n) { // skip the alpha channel - const int range = (type == 1) ? - SSIMScaleChannel((uint8_t*)pic1.argb + n, pic1.argb_stride * 4, - (const uint8_t*)pic2.argb + n, pic2.argb_stride * 4, - 4, pic1.width, pic1.height, scale) : - DiffScaleChannel((uint8_t*)pic1.argb + n, pic1.argb_stride * 4, - (const uint8_t*)pic2.argb + n, pic2.argb_stride * 4, - 4, pic1.width, pic1.height, scale); - if (range < 0) fprintf(stderr, "\nError computing diff map\n"); - fprintf(stderr, "[%d]", range); - } - fprintf(stderr, "\n"); - if (use_gray) ConvertToGray(&pic1); - } else { - fprintf(stderr, "Can only compute the difference map in ARGB format.\n"); - goto End; - } -#if !defined(WEBP_REDUCE_CSP) - data_size = WebPEncodeLosslessBGRA((const uint8_t*)pic1.argb, - pic1.width, pic1.height, - pic1.argb_stride * 4, - &data); - if (data_size == 0) { - fprintf(stderr, "Error during lossless encoding.\n"); - goto End; - } - ret = ImgIoUtilWriteFile(output, data, data_size) ? 0 : 1; - WebPFree(data); - if (ret) goto End; -#else - (void)data; - (void)data_size; - fprintf(stderr, "Cannot save the difference map. Please recompile " - "without the WEBP_REDUCE_CSP flag.\n"); -#endif // WEBP_REDUCE_CSP - } - ret = 0; - - End: - WebPPictureFree(&pic1); - WebPPictureFree(&pic2); - FREE_WARGV_AND_RETURN(ret); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/quality_estimate.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/quality_estimate.c deleted file mode 100644 index 17e98d96..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/quality_estimate.c +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// VP8EstimateQuality(): rough encoding quality estimate -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "extras/extras.h" -#include "webp/decode.h" - -#include - -//------------------------------------------------------------------------------ - -#define INVALID_BIT_POS (1ull << 63) - -// In most cases, we don't need to use a full arithmetic decoder, since -// all the header's bits are written using a uniform probability of 128. -// We can just parse the header as if it was bits (works in 99.999% cases). -static WEBP_INLINE uint32_t GetBit(const uint8_t* const data, size_t nb, - uint64_t max_size, uint64_t* const bit_pos) { - uint32_t val = 0; - if (*bit_pos + nb <= 8 * max_size) { - while (nb-- > 0) { - const uint64_t p = (*bit_pos)++; - const int bit = !!(data[p >> 3] & (128 >> ((p & 7)))); - val = (val << 1) | bit; - } - } else { - *bit_pos = INVALID_BIT_POS; - } - return val; -} - -#define GET_BIT(n) GetBit(data, (n), size, &bit_pos) -#define CONDITIONAL_SKIP(n) (GET_BIT(1) ? GET_BIT((n)) : 0) - -int VP8EstimateQuality(const uint8_t* const data, size_t size) { - size_t pos = 0; - uint64_t bit_pos; - uint64_t sig = 0x00; - int ok = 0; - int Q = -1; - WebPBitstreamFeatures features; - - if (data == NULL) return -1; - - if (WebPGetFeatures(data, size, &features) != VP8_STATUS_OK) { - return -1; // invalid file - } - if (features.format == 2) return 101; // lossless - if (features.format == 0 || features.has_animation) return -1; // mixed - - while (pos < size) { - sig = (sig >> 8) | ((uint64_t)data[pos++] << 40); - if ((sig >> 24) == 0x2a019dull) { - ok = 1; - break; - } - } - if (!ok) return -1; - if (pos + 4 > size) return -1; - - // Skip main Header - // width = (data[pos + 0] | (data[pos + 1] << 8)) & 0x3fff; - // height = (data[pos + 2] | (data[pos + 3] << 8)) & 0x3fff; - pos += 4; - bit_pos = pos * 8; - - GET_BIT(2); // colorspace + clamp type - - // Segment header - if (GET_BIT(1)) { // use_segment_ - int s; - const int update_map = GET_BIT(1); - if (GET_BIT(1)) { // update data - const int absolute_delta = GET_BIT(1); - int q[4] = { 0, 0, 0, 0 }; - for (s = 0; s < 4; ++s) { - if (GET_BIT(1)) { - q[s] = GET_BIT(7); - if (GET_BIT(1)) q[s] = -q[s]; // sign - } - } - if (absolute_delta) Q = q[0]; // just use the first segment's quantizer - for (s = 0; s < 4; ++s) CONDITIONAL_SKIP(7); // filter strength - } - if (update_map) { - for (s = 0; s < 3; ++s) CONDITIONAL_SKIP(8); - } - } - // Filter header - GET_BIT(1 + 6 + 3); // simple + level + sharpness - if (GET_BIT(1)) { // use_lf_delta - if (GET_BIT(1)) { // update lf_delta? - int n; - for (n = 0; n < 4 + 4; ++n) CONDITIONAL_SKIP(6); - } - } - // num partitions - GET_BIT(2); - - // ParseQuant - { - const int base_q = GET_BIT(7); - /* dqy1_dc = */ CONDITIONAL_SKIP(5); - /* dqy2_dc = */ CONDITIONAL_SKIP(5); - /* dqy2_ac = */ CONDITIONAL_SKIP(5); - /* dquv_dc = */ CONDITIONAL_SKIP(5); - /* dquv_ac = */ CONDITIONAL_SKIP(5); - - if (Q < 0) Q = base_q; - } - if (bit_pos == INVALID_BIT_POS) return -1; - - // base mapping - Q = (127 - Q) * 100 / 127; - // correction for power-law behavior in low range - if (Q < 80) { - Q = (int)(pow(Q / 80., 1. / 0.38) * 80); - } - return Q; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/vwebp_sdl.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/vwebp_sdl.c deleted file mode 100644 index 3cf44666..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/vwebp_sdl.c +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Simple SDL-based WebP file viewer. -// Does not support animation, just static images. -// -// Press 'q' to exit. -// -// Author: James Zern (jzern@google.com) - -#include - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#if defined(WEBP_HAVE_SDL) - -#include "webp_to_sdl.h" -#include "webp/decode.h" -#include "imageio/imageio_util.h" -#include "../examples/unicode.h" - -#if defined(WEBP_HAVE_JUST_SDL_H) -#include -#else -#include -#endif - -static void ProcessEvents(void) { - int done = 0; - SDL_Event event; - while (!done && SDL_WaitEvent(&event)) { - switch (event.type) { - case SDL_KEYUP: - switch (event.key.keysym.sym) { - case SDLK_q: done = 1; break; - default: break; - } - break; - default: break; - } - } -} - -int main(int argc, char* argv[]) { - int c; - int ok = 0; - - INIT_WARGV(argc, argv); - - for (c = 1; c < argc; ++c) { - const char* file = NULL; - const uint8_t* webp = NULL; - size_t webp_size = 0; - if (!strcmp(argv[c], "-h")) { - printf("Usage: %s [-h] image.webp [more_files.webp...]\n", argv[0]); - FREE_WARGV_AND_RETURN(0); - } else { - file = (const char*)GET_WARGV(argv, c); - } - if (file == NULL) continue; - if (!ImgIoUtilReadFile(file, &webp, &webp_size)) { - WFPRINTF(stderr, "Error opening file: %s\n", (const W_CHAR*)file); - goto Error; - } - if (webp_size != (size_t)(int)webp_size) { - free((void*)webp); - fprintf(stderr, "File too large.\n"); - goto Error; - } - ok = WebpToSDL((const char*)webp, (int)webp_size); - free((void*)webp); - if (!ok) { - WFPRINTF(stderr, "Error decoding file %s\n", (const W_CHAR*)file); - goto Error; - } - ProcessEvents(); - } - ok = 1; - - Error: - SDL_Quit(); - FREE_WARGV_AND_RETURN(ok ? 0 : 1); -} - -#else // !WEBP_HAVE_SDL - -int main(int argc, const char* argv[]) { - fprintf(stderr, "SDL support not enabled in %s.\n", argv[0]); - (void)argc; - return 0; -} - -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/webp_quality.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/webp_quality.c deleted file mode 100644 index 0a3b25f1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/webp_quality.c +++ /dev/null @@ -1,54 +0,0 @@ -// Simple tool to roughly evaluate the quality encoding of a webp bitstream -// -// Result is a *rough* estimation of the quality. You should just consider -// the bucket it's in (q > 80? > 50? > 20?) and not take it for face value. -/* - gcc -o webp_quality webp_quality.c -O3 -I../ -L. -L../imageio \ - -limageio_util -lwebpextras -lwebp -lm -lpthread -*/ - -#include -#include -#include - -#include "extras/extras.h" -#include "imageio/imageio_util.h" -#include "../examples/unicode.h" - -int main(int argc, const char* argv[]) { - int c; - int quiet = 0; - int ok = 1; - - INIT_WARGV(argc, argv); - - for (c = 1; ok && c < argc; ++c) { - if (!strcmp(argv[c], "-quiet")) { - quiet = 1; - } else if (!strcmp(argv[c], "-help") || !strcmp(argv[c], "-h")) { - printf("webp_quality [-h][-quiet] webp_files...\n"); - FREE_WARGV_AND_RETURN(0); - } else { - const char* const filename = (const char*)GET_WARGV(argv, c); - const uint8_t* data = NULL; - size_t data_size = 0; - int q; - ok = ImgIoUtilReadFile(filename, &data, &data_size); - if (!ok) break; - q = VP8EstimateQuality(data, data_size); - if (!quiet) WPRINTF("[%s] ", (const W_CHAR*)filename); - if (q < 0) { - fprintf(stderr, "Not a WebP file, or not a lossy WebP file.\n"); - ok = 0; - } else { - if (!quiet) { - printf("Estimated quality factor: %d\n", q); - } else { - printf("%d\n", q); // just print the number - } - } - free((void*)data); - } - } - FREE_WARGV_AND_RETURN(ok ? 0 : 1); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/webp_to_sdl.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/webp_to_sdl.c deleted file mode 100644 index b13fc928..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/webp_to_sdl.c +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Simple WebP-to-SDL wrapper. Useful for emscripten. -// -// Author: James Zern (jzern@google.com) - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#if defined(WEBP_HAVE_SDL) - -#include "webp_to_sdl.h" - -#include -#include "src/webp/decode.h" - -#if defined(WEBP_HAVE_JUST_SDL_H) -#include -#else -#include -#endif - -static int init_ok = 0; -int WebpToSDL(const char* data, unsigned int data_size) { - int ok = 0; - VP8StatusCode status; - WebPDecoderConfig config; - WebPBitstreamFeatures* const input = &config.input; - WebPDecBuffer* const output = &config.output; - SDL_Surface* screen = NULL; - SDL_Surface* surface = NULL; - - if (!WebPInitDecoderConfig(&config)) { - fprintf(stderr, "Library version mismatch!\n"); - return 0; - } - - if (!init_ok) { - SDL_Init(SDL_INIT_VIDEO); - init_ok = 1; - } - - status = WebPGetFeatures((uint8_t*)data, (size_t)data_size, &config.input); - if (status != VP8_STATUS_OK) goto Error; - - screen = SDL_SetVideoMode(input->width, input->height, 32, SDL_SWSURFACE); - if (screen == NULL) { - fprintf(stderr, "Unable to set video mode (32bpp %dx%d)!\n", - input->width, input->height); - goto Error; - } - - surface = SDL_CreateRGBSurface(SDL_SWSURFACE, - input->width, input->height, 32, - 0x000000ffu, // R mask - 0x0000ff00u, // G mask - 0x00ff0000u, // B mask - 0xff000000u); // A mask - - if (surface == NULL) { - fprintf(stderr, "Unable to create %dx%d RGBA surface!\n", - input->width, input->height); - goto Error; - } - if (SDL_MUSTLOCK(surface)) SDL_LockSurface(surface); - -#if SDL_BYTEORDER == SDL_BIG_ENDIAN - output->colorspace = MODE_BGRA; -#else - output->colorspace = MODE_RGBA; -#endif - output->width = surface->w; - output->height = surface->h; - output->u.RGBA.rgba = surface->pixels; - output->u.RGBA.stride = surface->pitch; - output->u.RGBA.size = surface->pitch * surface->h; - output->is_external_memory = 1; - - status = WebPDecode((const uint8_t*)data, (size_t)data_size, &config); - if (status != VP8_STATUS_OK) { - fprintf(stderr, "Error decoding image (%d)\n", status); - goto Error; - } - - if (SDL_MUSTLOCK(surface)) SDL_UnlockSurface(surface); - if (SDL_BlitSurface(surface, NULL, screen, NULL) || - SDL_Flip(screen)) { - goto Error; - } - - ok = 1; - - Error: - SDL_FreeSurface(surface); - SDL_FreeSurface(screen); - WebPFreeDecBuffer(output); - return ok; -} - -//------------------------------------------------------------------------------ - -#endif // WEBP_HAVE_SDL diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/webp_to_sdl.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/webp_to_sdl.h deleted file mode 100644 index 1b5ea980..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/extras/webp_to_sdl.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Simple WebP-to-SDL wrapper. Useful for emscripten. -// -// Author: James Zern (jzern@google.com) - -#ifndef WEBP_EXTRAS_WEBP_TO_SDL_H_ -#define WEBP_EXTRAS_WEBP_TO_SDL_H_ - -// Exports the method WebpToSDL(const char* data, int data_size) which decodes -// a WebP bitstream into an RGBA SDL surface. -// Return false on failure. -extern int WebpToSDL(const char* data, unsigned int data_size); - -#endif // WEBP_EXTRAS_WEBP_TO_SDL_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradle.properties b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradle.properties deleted file mode 100644 index 28d39f5d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradle.properties +++ /dev/null @@ -1,14 +0,0 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html - -# Versions for gradle -BUILD_TOOLS_VERSION=23.0.3 -COMPILE_SDK_VERSION=23 -ANDROID_GRADLE_PLUGIN_VERSION=1.5.0 -GRADLE_DOWNLOAD_TASK_VERSION=2.1.0 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradle/wrapper/gradle-wrapper.jar b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index ca78035e..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradle/wrapper/gradle-wrapper.properties b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index d556104b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Thu May 12 17:06:25 CEST 2016 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zip diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradlew b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradlew deleted file mode 100755 index 27309d92..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradlew +++ /dev/null @@ -1,164 +0,0 @@ -#!/usr/bin/env bash - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradlew.bat b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradlew.bat deleted file mode 100644 index f6d5974e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/gradlew.bat +++ /dev/null @@ -1,90 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/Android.mk b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/Android.mk deleted file mode 100644 index e779f71e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/Android.mk +++ /dev/null @@ -1,54 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -################################################################################ -# libimageio_util - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - imageio_util.c \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../src - -LOCAL_MODULE := imageio_util - -include $(BUILD_STATIC_LIBRARY) - -################################################################################ -# libimagedec - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - image_dec.c \ - jpegdec.c \ - metadata.c \ - pngdec.c \ - pnmdec.c \ - tiffdec.c \ - webpdec.c \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../src -LOCAL_STATIC_LIBRARIES := imageio_util - -LOCAL_MODULE := imagedec - -include $(BUILD_STATIC_LIBRARY) - -################################################################################ -# libimageenc - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - image_enc.c \ - -LOCAL_CFLAGS := $(WEBP_CFLAGS) -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../src -LOCAL_STATIC_LIBRARIES := imageio_util - -LOCAL_MODULE := imageenc - -include $(BUILD_STATIC_LIBRARY) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/Makefile.am deleted file mode 100644 index 500ec7e3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ -AM_CPPFLAGS += -I$(top_builddir)/src -I$(top_srcdir)/src -noinst_LTLIBRARIES = -noinst_LTLIBRARIES += libimageio_util.la -if BUILD_DEMUX - noinst_LTLIBRARIES += libimagedec.la -endif -noinst_LTLIBRARIES += libimageenc.la - -noinst_HEADERS = -noinst_HEADERS += ../src/webp/decode.h -noinst_HEADERS += ../src/webp/types.h - -libimageio_util_la_SOURCES = -libimageio_util_la_SOURCES += imageio_util.c imageio_util.h - -libimagedec_la_SOURCES = -libimagedec_la_SOURCES += image_dec.c image_dec.h -libimagedec_la_SOURCES += jpegdec.c jpegdec.h -libimagedec_la_SOURCES += metadata.c metadata.h -libimagedec_la_SOURCES += pngdec.c pngdec.h -libimagedec_la_SOURCES += pnmdec.c pnmdec.h -libimagedec_la_SOURCES += tiffdec.c tiffdec.h -libimagedec_la_SOURCES += webpdec.c webpdec.h -libimagedec_la_SOURCES += wicdec.c wicdec.h -libimagedec_la_CPPFLAGS = $(JPEG_INCLUDES) $(PNG_INCLUDES) $(TIFF_INCLUDES) -libimagedec_la_CPPFLAGS += $(AM_CPPFLAGS) -libimagedec_la_LIBADD = ../src/demux/libwebpdemux.la - -libimageenc_la_SOURCES = -libimageenc_la_SOURCES += image_enc.c image_enc.h -libimageenc_la_CPPFLAGS = $(JPEG_INCLUDES) $(PNG_INCLUDES) $(TIFF_INCLUDES) -libimageenc_la_CPPFLAGS += $(AM_CPPFLAGS) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_dec.c deleted file mode 100644 index 08a1b183..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_dec.c +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Generic image-type guessing. - -#include "./image_dec.h" - -static WEBP_INLINE uint32_t GetBE32(const uint8_t buf[]) { - return ((uint32_t)buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; -} - -WebPInputFileFormat WebPGuessImageType(const uint8_t* const data, - size_t data_size) { - WebPInputFileFormat format = WEBP_UNSUPPORTED_FORMAT; - if (data != NULL && data_size >= 12) { - const uint32_t magic1 = GetBE32(data + 0); - const uint32_t magic2 = GetBE32(data + 8); - if (magic1 == 0x89504E47U) { - format = WEBP_PNG_FORMAT; - } else if (magic1 >= 0xFFD8FF00U && magic1 <= 0xFFD8FFFFU) { - format = WEBP_JPEG_FORMAT; - } else if (magic1 == 0x49492A00 || magic1 == 0x4D4D002A) { - format = WEBP_TIFF_FORMAT; - } else if (magic1 == 0x52494646 && magic2 == 0x57454250) { - format = WEBP_WEBP_FORMAT; - } else if (((magic1 >> 24) & 0xff) == 'P') { - const int type = (magic1 >> 16) & 0xff; - // we only support 'P5 -> P7' for now. - if (type >= '5' && type <= '7') format = WEBP_PNM_FORMAT; - } - } - return format; -} - -static int FailReader(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, - int keep_alpha, struct Metadata* const metadata) { - (void)data; - (void)data_size; - (void)pic; - (void)keep_alpha; - (void)metadata; - return 0; -} - -WebPImageReader WebPGetImageReader(WebPInputFileFormat format) { - switch (format) { - case WEBP_PNG_FORMAT: return ReadPNG; - case WEBP_JPEG_FORMAT: return ReadJPEG; - case WEBP_TIFF_FORMAT: return ReadTIFF; - case WEBP_WEBP_FORMAT: return ReadWebP; - case WEBP_PNM_FORMAT: return ReadPNM; - default: return FailReader; - } -} - -WebPImageReader WebPGuessImageReader(const uint8_t* const data, - size_t data_size) { - return WebPGetImageReader(WebPGuessImageType(data, data_size)); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_dec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_dec.h deleted file mode 100644 index df411e19..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_dec.h +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// All-in-one library to decode PNG/JPEG/WebP/TIFF/WIC input images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_IMAGEIO_IMAGE_DEC_H_ -#define WEBP_IMAGEIO_IMAGE_DEC_H_ - -#include "webp/types.h" - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include "./metadata.h" -#include "./jpegdec.h" -#include "./pngdec.h" -#include "./pnmdec.h" -#include "./tiffdec.h" -#include "./webpdec.h" -#include "./wicdec.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - WEBP_PNG_FORMAT = 0, - WEBP_JPEG_FORMAT, - WEBP_TIFF_FORMAT, - WEBP_WEBP_FORMAT, - WEBP_PNM_FORMAT, - WEBP_UNSUPPORTED_FORMAT -} WebPInputFileFormat; - -// Try to infer the image format. 'data_size' should be larger than 12. -// Returns WEBP_UNSUPPORTED_FORMAT if format can't be guess safely. -WebPInputFileFormat WebPGuessImageType(const uint8_t* const data, - size_t data_size); - -// Signature for common image-reading functions (ReadPNG, ReadJPEG, ...) -typedef int (*WebPImageReader)(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, - int keep_alpha, struct Metadata* const metadata); - -// Return the reader associated to a given file format. -WebPImageReader WebPGetImageReader(WebPInputFileFormat format); - -// This function is similar to WebPGuessImageType(), but returns a -// suitable reader function. The returned reader is never NULL, but -// unknown formats will return an always-failing valid reader. -WebPImageReader WebPGuessImageReader(const uint8_t* const data, - size_t data_size); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_IMAGEIO_IMAGE_DEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_enc.c deleted file mode 100644 index fccb92bf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_enc.c +++ /dev/null @@ -1,604 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Save image - -#include "./image_enc.h" - -#include -#include - -#ifdef WEBP_HAVE_PNG -#include -#include // note: this must be included *after* png.h -#endif - -#ifdef HAVE_WINCODEC_H -#ifdef __MINGW32__ -#define INITGUID // Without this GUIDs are declared extern and fail to link -#endif -#define CINTERFACE -#define COBJMACROS -#define _WIN32_IE 0x500 // Workaround bug in shlwapi.h when compiling C++ - // code with COBJMACROS. -#include // CreateStreamOnHGlobal() -#include -#include -#include -#include -#endif - -#include "./imageio_util.h" -#include "../examples/unicode.h" - -//------------------------------------------------------------------------------ -// PNG - -#ifdef HAVE_WINCODEC_H - -#define IFS(fn) \ - do { \ - if (SUCCEEDED(hr)) { \ - hr = (fn); \ - if (FAILED(hr)) fprintf(stderr, #fn " failed %08lx\n", hr); \ - } \ - } while (0) - -#ifdef __cplusplus -#define MAKE_REFGUID(x) (x) -#else -#define MAKE_REFGUID(x) &(x) -#endif - -static HRESULT CreateOutputStream(const char* out_file_name, - int write_to_mem, IStream** stream) { - HRESULT hr = S_OK; - if (write_to_mem) { - // Output to a memory buffer. This is freed when 'stream' is released. - IFS(CreateStreamOnHGlobal(NULL, TRUE, stream)); - } else { - IFS(SHCreateStreamOnFile((const LPTSTR)out_file_name, - STGM_WRITE | STGM_CREATE, stream)); - } - if (FAILED(hr)) { - _ftprintf(stderr, _T("Error opening output file %s (%08lx)\n"), - (const LPTSTR)out_file_name, hr); - } - return hr; -} - -static HRESULT WriteUsingWIC(const char* out_file_name, int use_stdout, - REFGUID container_guid, - uint8_t* rgb, int stride, - uint32_t width, uint32_t height, int has_alpha) { - HRESULT hr = S_OK; - IWICImagingFactory* factory = NULL; - IWICBitmapFrameEncode* frame = NULL; - IWICBitmapEncoder* encoder = NULL; - IStream* stream = NULL; - WICPixelFormatGUID pixel_format = has_alpha ? GUID_WICPixelFormat32bppBGRA - : GUID_WICPixelFormat24bppBGR; - - if (out_file_name == NULL || rgb == NULL) return E_INVALIDARG; - - IFS(CoInitialize(NULL)); - IFS(CoCreateInstance(MAKE_REFGUID(CLSID_WICImagingFactory), NULL, - CLSCTX_INPROC_SERVER, - MAKE_REFGUID(IID_IWICImagingFactory), - (LPVOID*)&factory)); - if (hr == REGDB_E_CLASSNOTREG) { - fprintf(stderr, - "Couldn't access Windows Imaging Component (are you running " - "Windows XP SP3 or newer?). PNG support not available. " - "Use -ppm or -pgm for available PPM and PGM formats.\n"); - } - IFS(CreateOutputStream(out_file_name, use_stdout, &stream)); - IFS(IWICImagingFactory_CreateEncoder(factory, container_guid, NULL, - &encoder)); - IFS(IWICBitmapEncoder_Initialize(encoder, stream, - WICBitmapEncoderNoCache)); - IFS(IWICBitmapEncoder_CreateNewFrame(encoder, &frame, NULL)); - IFS(IWICBitmapFrameEncode_Initialize(frame, NULL)); - IFS(IWICBitmapFrameEncode_SetSize(frame, width, height)); - IFS(IWICBitmapFrameEncode_SetPixelFormat(frame, &pixel_format)); - IFS(IWICBitmapFrameEncode_WritePixels(frame, height, stride, - height * stride, rgb)); - IFS(IWICBitmapFrameEncode_Commit(frame)); - IFS(IWICBitmapEncoder_Commit(encoder)); - - if (SUCCEEDED(hr) && use_stdout) { - HGLOBAL image; - IFS(GetHGlobalFromStream(stream, &image)); - if (SUCCEEDED(hr)) { - HANDLE std_output = GetStdHandle(STD_OUTPUT_HANDLE); - DWORD mode; - const BOOL update_mode = GetConsoleMode(std_output, &mode); - const void* const image_mem = GlobalLock(image); - DWORD bytes_written = 0; - - // Clear output processing if necessary, then output the image. - if (update_mode) SetConsoleMode(std_output, 0); - if (!WriteFile(std_output, image_mem, (DWORD)GlobalSize(image), - &bytes_written, NULL) || - bytes_written != GlobalSize(image)) { - hr = E_FAIL; - } - if (update_mode) SetConsoleMode(std_output, mode); - GlobalUnlock(image); - } - } - - if (frame != NULL) IUnknown_Release(frame); - if (encoder != NULL) IUnknown_Release(encoder); - if (factory != NULL) IUnknown_Release(factory); - if (stream != NULL) IUnknown_Release(stream); - return hr; -} - -int WebPWritePNG(const char* out_file_name, int use_stdout, - const WebPDecBuffer* const buffer) { - const uint32_t width = buffer->width; - const uint32_t height = buffer->height; - uint8_t* const rgb = buffer->u.RGBA.rgba; - const int stride = buffer->u.RGBA.stride; - const int has_alpha = WebPIsAlphaMode(buffer->colorspace); - - return SUCCEEDED(WriteUsingWIC(out_file_name, use_stdout, - MAKE_REFGUID(GUID_ContainerFormatPng), - rgb, stride, width, height, has_alpha)); -} - -#elif defined(WEBP_HAVE_PNG) // !HAVE_WINCODEC_H -static void PNGAPI PNGErrorFunction(png_structp png, png_const_charp dummy) { - (void)dummy; // remove variable-unused warning - longjmp(png_jmpbuf(png), 1); -} - -int WebPWritePNG(FILE* out_file, const WebPDecBuffer* const buffer) { - volatile png_structp png; - volatile png_infop info; - - if (out_file == NULL || buffer == NULL) return 0; - - png = png_create_write_struct(PNG_LIBPNG_VER_STRING, - NULL, PNGErrorFunction, NULL); - if (png == NULL) { - return 0; - } - info = png_create_info_struct(png); - if (info == NULL) { - png_destroy_write_struct((png_structpp)&png, NULL); - return 0; - } - if (setjmp(png_jmpbuf(png))) { - png_destroy_write_struct((png_structpp)&png, (png_infopp)&info); - return 0; - } - png_init_io(png, out_file); - { - const uint32_t width = buffer->width; - const uint32_t height = buffer->height; - png_bytep row = buffer->u.RGBA.rgba; - const int stride = buffer->u.RGBA.stride; - const int has_alpha = WebPIsAlphaMode(buffer->colorspace); - uint32_t y; - - png_set_IHDR(png, info, width, height, 8, - has_alpha ? PNG_COLOR_TYPE_RGBA : PNG_COLOR_TYPE_RGB, - PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, - PNG_FILTER_TYPE_DEFAULT); - png_write_info(png, info); - for (y = 0; y < height; ++y) { - png_write_rows(png, &row, 1); - row += stride; - } - } - png_write_end(png, info); - png_destroy_write_struct((png_structpp)&png, (png_infopp)&info); - return 1; -} -#else // !HAVE_WINCODEC_H && !WEBP_HAVE_PNG -int WebPWritePNG(FILE* fout, const WebPDecBuffer* const buffer) { - if (fout == NULL || buffer == NULL) return 0; - - fprintf(stderr, "PNG support not compiled. Please install the libpng " - "development package before building.\n"); - fprintf(stderr, "You can run with -ppm flag to decode in PPM format.\n"); - return 0; -} -#endif - -//------------------------------------------------------------------------------ -// PPM / PAM - -static int WritePPMPAM(FILE* fout, const WebPDecBuffer* const buffer, - int alpha) { - if (fout == NULL || buffer == NULL) { - return 0; - } else { - const uint32_t width = buffer->width; - const uint32_t height = buffer->height; - const uint8_t* row = buffer->u.RGBA.rgba; - const int stride = buffer->u.RGBA.stride; - const size_t bytes_per_px = alpha ? 4 : 3; - uint32_t y; - - if (row == NULL) return 0; - - if (alpha) { - fprintf(fout, "P7\nWIDTH %u\nHEIGHT %u\nDEPTH 4\nMAXVAL 255\n" - "TUPLTYPE RGB_ALPHA\nENDHDR\n", width, height); - } else { - fprintf(fout, "P6\n%u %u\n255\n", width, height); - } - for (y = 0; y < height; ++y) { - if (fwrite(row, width, bytes_per_px, fout) != bytes_per_px) { - return 0; - } - row += stride; - } - } - return 1; -} - -int WebPWritePPM(FILE* fout, const WebPDecBuffer* const buffer) { - return WritePPMPAM(fout, buffer, 0); -} - -int WebPWritePAM(FILE* fout, const WebPDecBuffer* const buffer) { - return WritePPMPAM(fout, buffer, 1); -} - -//------------------------------------------------------------------------------ -// Raw PGM - -// Save 16b mode (RGBA4444, RGB565, ...) for debugging purpose. -int WebPWrite16bAsPGM(FILE* fout, const WebPDecBuffer* const buffer) { - const uint32_t width = buffer->width; - const uint32_t height = buffer->height; - const uint8_t* rgba = buffer->u.RGBA.rgba; - const int stride = buffer->u.RGBA.stride; - const uint32_t bytes_per_px = 2; - uint32_t y; - - if (fout == NULL || buffer == NULL || rgba == NULL) return 0; - - fprintf(fout, "P5\n%u %u\n255\n", width * bytes_per_px, height); - for (y = 0; y < height; ++y) { - if (fwrite(rgba, width, bytes_per_px, fout) != bytes_per_px) { - return 0; - } - rgba += stride; - } - return 1; -} - -//------------------------------------------------------------------------------ -// BMP - -static void PutLE16(uint8_t* const dst, uint32_t value) { - dst[0] = (value >> 0) & 0xff; - dst[1] = (value >> 8) & 0xff; -} - -static void PutLE32(uint8_t* const dst, uint32_t value) { - PutLE16(dst + 0, (value >> 0) & 0xffff); - PutLE16(dst + 2, (value >> 16) & 0xffff); -} - -#define BMP_HEADER_SIZE 54 -int WebPWriteBMP(FILE* fout, const WebPDecBuffer* const buffer) { - const int has_alpha = WebPIsAlphaMode(buffer->colorspace); - const uint32_t width = buffer->width; - const uint32_t height = buffer->height; - const uint8_t* rgba = buffer->u.RGBA.rgba; - const int stride = buffer->u.RGBA.stride; - const uint32_t bytes_per_px = has_alpha ? 4 : 3; - uint32_t y; - const uint32_t line_size = bytes_per_px * width; - const uint32_t bmp_stride = (line_size + 3) & ~3; // pad to 4 - const uint32_t total_size = bmp_stride * height + BMP_HEADER_SIZE; - uint8_t bmp_header[BMP_HEADER_SIZE] = { 0 }; - - if (fout == NULL || buffer == NULL || rgba == NULL) return 0; - - // bitmap file header - PutLE16(bmp_header + 0, 0x4d42); // signature 'BM' - PutLE32(bmp_header + 2, total_size); // size including header - PutLE32(bmp_header + 6, 0); // reserved - PutLE32(bmp_header + 10, BMP_HEADER_SIZE); // offset to pixel array - // bitmap info header - PutLE32(bmp_header + 14, 40); // DIB header size - PutLE32(bmp_header + 18, width); // dimensions - PutLE32(bmp_header + 22, -(int)height); // vertical flip! - PutLE16(bmp_header + 26, 1); // number of planes - PutLE16(bmp_header + 28, bytes_per_px * 8); // bits per pixel - PutLE32(bmp_header + 30, 0); // no compression (BI_RGB) - PutLE32(bmp_header + 34, 0); // image size (dummy) - PutLE32(bmp_header + 38, 2400); // x pixels/meter - PutLE32(bmp_header + 42, 2400); // y pixels/meter - PutLE32(bmp_header + 46, 0); // number of palette colors - PutLE32(bmp_header + 50, 0); // important color count - - // TODO(skal): color profile - - // write header - if (fwrite(bmp_header, sizeof(bmp_header), 1, fout) != 1) { - return 0; - } - - // write pixel array - for (y = 0; y < height; ++y) { - if (fwrite(rgba, line_size, 1, fout) != 1) { - return 0; - } - // write padding zeroes - if (bmp_stride != line_size) { - const uint8_t zeroes[3] = { 0 }; - if (fwrite(zeroes, bmp_stride - line_size, 1, fout) != 1) { - return 0; - } - } - rgba += stride; - } - return 1; -} -#undef BMP_HEADER_SIZE - -//------------------------------------------------------------------------------ -// TIFF - -#define NUM_IFD_ENTRIES 15 -#define EXTRA_DATA_SIZE 16 -// 10b for signature/header + n * 12b entries + 4b for IFD terminator: -#define EXTRA_DATA_OFFSET (10 + 12 * NUM_IFD_ENTRIES + 4) -#define TIFF_HEADER_SIZE (EXTRA_DATA_OFFSET + EXTRA_DATA_SIZE) - -int WebPWriteTIFF(FILE* fout, const WebPDecBuffer* const buffer) { - const int has_alpha = WebPIsAlphaMode(buffer->colorspace); - const uint32_t width = buffer->width; - const uint32_t height = buffer->height; - const uint8_t* rgba = buffer->u.RGBA.rgba; - const int stride = buffer->u.RGBA.stride; - const uint8_t bytes_per_px = has_alpha ? 4 : 3; - const uint8_t assoc_alpha = - WebPIsPremultipliedMode(buffer->colorspace) ? 1 : 2; - // For non-alpha case, we omit tag 0x152 (ExtraSamples). - const uint8_t num_ifd_entries = has_alpha ? NUM_IFD_ENTRIES - : NUM_IFD_ENTRIES - 1; - uint8_t tiff_header[TIFF_HEADER_SIZE] = { - 0x49, 0x49, 0x2a, 0x00, // little endian signature - 8, 0, 0, 0, // offset to the unique IFD that follows - // IFD (offset = 8). Entries must be written in increasing tag order. - num_ifd_entries, 0, // Number of entries in the IFD (12 bytes each). - 0x00, 0x01, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, // 10: Width (TBD) - 0x01, 0x01, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, // 22: Height (TBD) - 0x02, 0x01, 3, 0, bytes_per_px, 0, 0, 0, // 34: BitsPerSample: 8888 - EXTRA_DATA_OFFSET + 0, 0, 0, 0, - 0x03, 0x01, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, // 46: Compression: none - 0x06, 0x01, 3, 0, 1, 0, 0, 0, 2, 0, 0, 0, // 58: Photometric: RGB - 0x11, 0x01, 4, 0, 1, 0, 0, 0, // 70: Strips offset: - TIFF_HEADER_SIZE, 0, 0, 0, // data follows header - 0x12, 0x01, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, // 82: Orientation: topleft - 0x15, 0x01, 3, 0, 1, 0, 0, 0, // 94: SamplesPerPixels - bytes_per_px, 0, 0, 0, - 0x16, 0x01, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, // 106: Rows per strip (TBD) - 0x17, 0x01, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, // 118: StripByteCount (TBD) - 0x1a, 0x01, 5, 0, 1, 0, 0, 0, // 130: X-resolution - EXTRA_DATA_OFFSET + 8, 0, 0, 0, - 0x1b, 0x01, 5, 0, 1, 0, 0, 0, // 142: Y-resolution - EXTRA_DATA_OFFSET + 8, 0, 0, 0, - 0x1c, 0x01, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, // 154: PlanarConfiguration - 0x28, 0x01, 3, 0, 1, 0, 0, 0, 2, 0, 0, 0, // 166: ResolutionUnit (inch) - 0x52, 0x01, 3, 0, 1, 0, 0, 0, - assoc_alpha, 0, 0, 0, // 178: ExtraSamples: rgbA/RGBA - 0, 0, 0, 0, // 190: IFD terminator - // EXTRA_DATA_OFFSET: - 8, 0, 8, 0, 8, 0, 8, 0, // BitsPerSample - 72, 0, 0, 0, 1, 0, 0, 0 // 72 pixels/inch, for X/Y-resolution - }; - uint32_t y; - - if (fout == NULL || buffer == NULL || rgba == NULL) return 0; - - // Fill placeholders in IFD: - PutLE32(tiff_header + 10 + 8, width); - PutLE32(tiff_header + 22 + 8, height); - PutLE32(tiff_header + 106 + 8, height); - PutLE32(tiff_header + 118 + 8, width * bytes_per_px * height); - if (!has_alpha) PutLE32(tiff_header + 178, 0); // IFD terminator - - // write header - if (fwrite(tiff_header, sizeof(tiff_header), 1, fout) != 1) { - return 0; - } - // write pixel values - for (y = 0; y < height; ++y) { - if (fwrite(rgba, bytes_per_px, width, fout) != width) { - return 0; - } - rgba += stride; - } - - return 1; -} - -#undef TIFF_HEADER_SIZE -#undef EXTRA_DATA_OFFSET -#undef EXTRA_DATA_SIZE -#undef NUM_IFD_ENTRIES - -//------------------------------------------------------------------------------ -// Raw Alpha - -int WebPWriteAlphaPlane(FILE* fout, const WebPDecBuffer* const buffer) { - if (fout == NULL || buffer == NULL) { - return 0; - } else { - const uint32_t width = buffer->width; - const uint32_t height = buffer->height; - const uint8_t* a = buffer->u.YUVA.a; - const int a_stride = buffer->u.YUVA.a_stride; - uint32_t y; - - if (a == NULL) return 0; - - fprintf(fout, "P5\n%u %u\n255\n", width, height); - for (y = 0; y < height; ++y) { - if (fwrite(a, width, 1, fout) != 1) return 0; - a += a_stride; - } - return 1; - } -} - -//------------------------------------------------------------------------------ -// PGM with IMC4 layout - -int WebPWritePGM(FILE* fout, const WebPDecBuffer* const buffer) { - if (fout == NULL || buffer == NULL) { - return 0; - } else { - const int width = buffer->width; - const int height = buffer->height; - const WebPYUVABuffer* const yuv = &buffer->u.YUVA; - const uint8_t* src_y = yuv->y; - const uint8_t* src_u = yuv->u; - const uint8_t* src_v = yuv->v; - const uint8_t* src_a = yuv->a; - const int uv_width = (width + 1) / 2; - const int uv_height = (height + 1) / 2; - const int a_height = (src_a != NULL) ? height : 0; - int ok = 1; - int y; - - if (src_y == NULL || src_u == NULL || src_v == NULL) return 0; - - fprintf(fout, "P5\n%d %d\n255\n", - (width + 1) & ~1, height + uv_height + a_height); - for (y = 0; ok && y < height; ++y) { - ok &= (fwrite(src_y, width, 1, fout) == 1); - if (width & 1) fputc(0, fout); // padding byte - src_y += yuv->y_stride; - } - for (y = 0; ok && y < uv_height; ++y) { - ok &= (fwrite(src_u, uv_width, 1, fout) == 1); - ok &= (fwrite(src_v, uv_width, 1, fout) == 1); - src_u += yuv->u_stride; - src_v += yuv->v_stride; - } - for (y = 0; ok && y < a_height; ++y) { - ok &= (fwrite(src_a, width, 1, fout) == 1); - if (width & 1) fputc(0, fout); // padding byte - src_a += yuv->a_stride; - } - return ok; - } -} - -//------------------------------------------------------------------------------ -// Raw YUV(A) planes - -int WebPWriteYUV(FILE* fout, const WebPDecBuffer* const buffer) { - if (fout == NULL || buffer == NULL) { - return 0; - } else { - const int width = buffer->width; - const int height = buffer->height; - const WebPYUVABuffer* const yuv = &buffer->u.YUVA; - const uint8_t* src_y = yuv->y; - const uint8_t* src_u = yuv->u; - const uint8_t* src_v = yuv->v; - const uint8_t* src_a = yuv->a; - const int uv_width = (width + 1) / 2; - const int uv_height = (height + 1) / 2; - const int a_height = (src_a != NULL) ? height : 0; - int ok = 1; - int y; - - if (src_y == NULL || src_u == NULL || src_v == NULL) return 0; - - for (y = 0; ok && y < height; ++y) { - ok &= (fwrite(src_y, width, 1, fout) == 1); - src_y += yuv->y_stride; - } - for (y = 0; ok && y < uv_height; ++y) { - ok &= (fwrite(src_u, uv_width, 1, fout) == 1); - src_u += yuv->u_stride; - } - for (y = 0; ok && y < uv_height; ++y) { - ok &= (fwrite(src_v, uv_width, 1, fout) == 1); - src_v += yuv->v_stride; - } - for (y = 0; ok && y < a_height; ++y) { - ok &= (fwrite(src_a, width, 1, fout) == 1); - src_a += yuv->a_stride; - } - return ok; - } -} - -//------------------------------------------------------------------------------ -// Generic top-level call - -int WebPSaveImage(const WebPDecBuffer* const buffer, - WebPOutputFileFormat format, - const char* const out_file_name) { - FILE* fout = NULL; - int needs_open_file = 1; - const int use_stdout = - (out_file_name != NULL) && !WSTRCMP(out_file_name, "-"); - int ok = 1; - - if (buffer == NULL || out_file_name == NULL) return 0; - -#ifdef HAVE_WINCODEC_H - needs_open_file = (format != PNG); -#endif - - if (needs_open_file) { - fout = use_stdout ? ImgIoUtilSetBinaryMode(stdout) - : WFOPEN(out_file_name, "wb"); - if (fout == NULL) { - WFPRINTF(stderr, "Error opening output file %s\n", - (const W_CHAR*)out_file_name); - return 0; - } - } - - if (format == PNG || - format == RGBA || format == BGRA || format == ARGB || - format == rgbA || format == bgrA || format == Argb) { -#ifdef HAVE_WINCODEC_H - ok &= WebPWritePNG(out_file_name, use_stdout, buffer); -#else - ok &= WebPWritePNG(fout, buffer); -#endif - } else if (format == PAM) { - ok &= WebPWritePAM(fout, buffer); - } else if (format == PPM || format == RGB || format == BGR) { - ok &= WebPWritePPM(fout, buffer); - } else if (format == RGBA_4444 || format == RGB_565 || format == rgbA_4444) { - ok &= WebPWrite16bAsPGM(fout, buffer); - } else if (format == BMP) { - ok &= WebPWriteBMP(fout, buffer); - } else if (format == TIFF) { - ok &= WebPWriteTIFF(fout, buffer); - } else if (format == RAW_YUV) { - ok &= WebPWriteYUV(fout, buffer); - } else if (format == PGM || format == YUV || format == YUVA) { - ok &= WebPWritePGM(fout, buffer); - } else if (format == ALPHA_PLANE_ONLY) { - ok &= WebPWriteAlphaPlane(fout, buffer); - } - if (fout != NULL && fout != stdout) { - fclose(fout); - } - return ok; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_enc.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_enc.h deleted file mode 100644 index f8abdaca..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/image_enc.h +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// All-in-one library to save PNG/JPEG/WebP/TIFF/WIC images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_IMAGEIO_IMAGE_ENC_H_ -#define WEBP_IMAGEIO_IMAGE_ENC_H_ - -#include - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include "webp/types.h" -#include "webp/decode.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Output types -typedef enum { - PNG = 0, - PAM, - PPM, - PGM, - BMP, - TIFF, - RAW_YUV, - ALPHA_PLANE_ONLY, // this is for experimenting only - // forced colorspace output (for testing, mostly) - RGB, RGBA, BGR, BGRA, ARGB, - RGBA_4444, RGB_565, - rgbA, bgrA, Argb, rgbA_4444, - YUV, YUVA -} WebPOutputFileFormat; - -// General all-purpose call. -// Most formats expect a 'buffer' containing RGBA-like samples, except -// RAW_YUV, YUV and YUVA formats. -// If 'out_file_name' is "-", data is saved to stdout. -// Returns false if an error occurred, true otherwise. -int WebPSaveImage(const WebPDecBuffer* const buffer, - WebPOutputFileFormat format, const char* const out_file_name); - -// Save to PNG. -#ifdef HAVE_WINCODEC_H -int WebPWritePNG(const char* out_file_name, int use_stdout, - const struct WebPDecBuffer* const buffer); -#else -int WebPWritePNG(FILE* out_file, const WebPDecBuffer* const buffer); -#endif - -// Save to PPM format (RGB, no alpha) -int WebPWritePPM(FILE* fout, const struct WebPDecBuffer* const buffer); - -// Save to PAM format (= PPM + alpha) -int WebPWritePAM(FILE* fout, const struct WebPDecBuffer* const buffer); - -// Save 16b mode (RGBA4444, RGB565, ...) for debugging purposes. -int WebPWrite16bAsPGM(FILE* fout, const struct WebPDecBuffer* const buffer); - -// Save as BMP -int WebPWriteBMP(FILE* fout, const struct WebPDecBuffer* const buffer); - -// Save as TIFF -int WebPWriteTIFF(FILE* fout, const struct WebPDecBuffer* const buffer); - -// Save the ALPHA plane (only) as a PGM -int WebPWriteAlphaPlane(FILE* fout, const struct WebPDecBuffer* const buffer); - -// Save as YUV samples as PGM format (using IMC4 layout). -// See: http://www.fourcc.org/yuv.php#IMC4. -// (very convenient format for viewing the samples, esp. for odd dimensions). -int WebPWritePGM(FILE* fout, const struct WebPDecBuffer* const buffer); - -// Save YUV(A) planes sequentially (raw dump) -int WebPWriteYUV(FILE* fout, const struct WebPDecBuffer* const buffer); - -// Save 16b mode (RGBA4444, RGB565, ...) as PGM format, for debugging purposes. -int WebPWrite16bAsPGM(FILE* fout, const struct WebPDecBuffer* const buffer); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_IMAGEIO_IMAGE_ENC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/imageio_util.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/imageio_util.c deleted file mode 100644 index 9833dcbd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/imageio_util.c +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utility functions used by the image decoders. -// - -#include "./imageio_util.h" - -#if defined(_WIN32) -#include // for _O_BINARY -#include // for _setmode() -#endif -#include -#include -#include "../examples/unicode.h" - -// ----------------------------------------------------------------------------- -// File I/O - -FILE* ImgIoUtilSetBinaryMode(FILE* file) { -#if defined(_WIN32) - if (_setmode(_fileno(file), _O_BINARY) == -1) { - fprintf(stderr, "Failed to reopen file in O_BINARY mode.\n"); - return NULL; - } -#endif - return file; -} - -int ImgIoUtilReadFromStdin(const uint8_t** data, size_t* data_size) { - static const size_t kBlockSize = 16384; // default initial size - size_t max_size = 0; - size_t size = 0; - uint8_t* input = NULL; - - if (data == NULL || data_size == NULL) return 0; - *data = NULL; - *data_size = 0; - - if (!ImgIoUtilSetBinaryMode(stdin)) return 0; - - while (!feof(stdin)) { - // We double the buffer size each time and read as much as possible. - const size_t extra_size = (max_size == 0) ? kBlockSize : max_size; - // we allocate one extra byte for the \0 terminator - void* const new_data = realloc(input, max_size + extra_size + 1); - if (new_data == NULL) goto Error; - input = (uint8_t*)new_data; - max_size += extra_size; - size += fread(input + size, 1, extra_size, stdin); - if (size < max_size) break; - } - if (ferror(stdin)) goto Error; - if (input != NULL) input[size] = '\0'; // convenient 0-terminator - *data = input; - *data_size = size; - return 1; - - Error: - free(input); - fprintf(stderr, "Could not read from stdin\n"); - return 0; -} - -int ImgIoUtilReadFile(const char* const file_name, - const uint8_t** data, size_t* data_size) { - int ok; - uint8_t* file_data; - size_t file_size; - FILE* in; - const int from_stdin = (file_name == NULL) || !WSTRCMP(file_name, "-"); - - if (from_stdin) return ImgIoUtilReadFromStdin(data, data_size); - - if (data == NULL || data_size == NULL) return 0; - *data = NULL; - *data_size = 0; - - in = WFOPEN(file_name, "rb"); - if (in == NULL) { - WFPRINTF(stderr, "cannot open input file '%s'\n", (const W_CHAR*)file_name); - return 0; - } - fseek(in, 0, SEEK_END); - file_size = ftell(in); - fseek(in, 0, SEEK_SET); - // we allocate one extra byte for the \0 terminator - file_data = (uint8_t*)malloc(file_size + 1); - if (file_data == NULL) { - fclose(in); - WFPRINTF(stderr, "memory allocation failure when reading file %s\n", - (const W_CHAR*)file_name); - return 0; - } - ok = (fread(file_data, file_size, 1, in) == 1); - fclose(in); - - if (!ok) { - WFPRINTF(stderr, "Could not read %d bytes of data from file %s\n", - (int)file_size, (const W_CHAR*)file_name); - free(file_data); - return 0; - } - file_data[file_size] = '\0'; // convenient 0-terminator - *data = file_data; - *data_size = file_size; - return 1; -} - -// ----------------------------------------------------------------------------- - -int ImgIoUtilWriteFile(const char* const file_name, - const uint8_t* data, size_t data_size) { - int ok; - FILE* out; - const int to_stdout = (file_name == NULL) || !WSTRCMP(file_name, "-"); - - if (data == NULL) { - return 0; - } - out = to_stdout ? ImgIoUtilSetBinaryMode(stdout) : WFOPEN(file_name, "wb"); - if (out == NULL) { - WFPRINTF(stderr, "Error! Cannot open output file '%s'\n", - (const W_CHAR*)file_name); - return 0; - } - ok = (fwrite(data, data_size, 1, out) == 1); - if (out != stdout) fclose(out); - return ok; -} - -// ----------------------------------------------------------------------------- - -void ImgIoUtilCopyPlane(const uint8_t* src, int src_stride, - uint8_t* dst, int dst_stride, int width, int height) { - while (height-- > 0) { - memcpy(dst, src, width * sizeof(*dst)); - src += src_stride; - dst += dst_stride; - } -} - -// ----------------------------------------------------------------------------- - -int ImgIoUtilCheckSizeArgumentsOverflow(uint64_t nmemb, size_t size) { - const uint64_t total_size = nmemb * size; - int ok = (total_size == (size_t)total_size); -#if defined(WEBP_MAX_IMAGE_SIZE) - ok = ok && (total_size <= (uint64_t)WEBP_MAX_IMAGE_SIZE); -#endif - return ok; -} - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/imageio_util.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/imageio_util.h deleted file mode 100644 index 72db159b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/imageio_util.h +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utility functions used by the image decoders. -// - -#ifndef WEBP_IMAGEIO_IMAGEIO_UTIL_H_ -#define WEBP_IMAGEIO_IMAGEIO_UTIL_H_ - -#include -#include "webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// File I/O - -// Reopen file in binary (O_BINARY) mode. -// Returns 'file' on success, NULL otherwise. -FILE* ImgIoUtilSetBinaryMode(FILE* file); - -// Allocates storage for entire file 'file_name' and returns contents and size -// in 'data' and 'data_size'. Returns 1 on success, 0 otherwise. '*data' should -// be deleted using free(). -// Note: for convenience, the data will be null-terminated with an extra byte -// (not accounted for in *data_size), in case the file is text and intended -// to be used as a C-string. -// If 'file_name' is NULL or equal to "-", input is read from stdin by calling -// the function ImgIoUtilReadFromStdin(). -int ImgIoUtilReadFile(const char* const file_name, - const uint8_t** data, size_t* data_size); - -// Same as ImgIoUtilReadFile(), but reads until EOF from stdin instead. -int ImgIoUtilReadFromStdin(const uint8_t** data, size_t* data_size); - -// Write a data segment into a file named 'file_name'. Returns true if ok. -// If 'file_name' is NULL or equal to "-", output is written to stdout. -int ImgIoUtilWriteFile(const char* const file_name, - const uint8_t* data, size_t data_size); - -//------------------------------------------------------------------------------ - -// Copy width x height pixels from 'src' to 'dst' honoring the strides. -void ImgIoUtilCopyPlane(const uint8_t* src, int src_stride, - uint8_t* dst, int dst_stride, int width, int height); - -//------------------------------------------------------------------------------ - -// Returns 0 in case of overflow of nmemb * size. -int ImgIoUtilCheckSizeArgumentsOverflow(uint64_t nmemb, size_t size); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_IMAGEIO_IMAGEIO_UTIL_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/jpegdec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/jpegdec.c deleted file mode 100644 index 176c239c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/jpegdec.c +++ /dev/null @@ -1,360 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// JPEG decode. - -#include "./jpegdec.h" - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include - -#ifdef WEBP_HAVE_JPEG -#include -#include -#include -#include -#include - -#include "webp/encode.h" -#include "./imageio_util.h" -#include "./metadata.h" - -// ----------------------------------------------------------------------------- -// Metadata processing - -#ifndef JPEG_APP1 -# define JPEG_APP1 (JPEG_APP0 + 1) -#endif -#ifndef JPEG_APP2 -# define JPEG_APP2 (JPEG_APP0 + 2) -#endif - -typedef struct { - const uint8_t* data; - size_t data_length; - int seq; // this segment's sequence number [1, 255] for use in reassembly. -} ICCPSegment; - -static void SaveMetadataMarkers(j_decompress_ptr dinfo) { - const unsigned int max_marker_length = 0xffff; - jpeg_save_markers(dinfo, JPEG_APP1, max_marker_length); // Exif/XMP - jpeg_save_markers(dinfo, JPEG_APP2, max_marker_length); // ICC profile -} - -static int CompareICCPSegments(const void* a, const void* b) { - const ICCPSegment* s1 = (const ICCPSegment*)a; - const ICCPSegment* s2 = (const ICCPSegment*)b; - return s1->seq - s2->seq; -} - -// Extract ICC profile segments from the marker list in 'dinfo', reassembling -// and storing them in 'iccp'. -// Returns true on success and false for memory errors and corrupt profiles. -static int StoreICCP(j_decompress_ptr dinfo, MetadataPayload* const iccp) { - // ICC.1:2010-12 (4.3.0.0) Annex B.4 Embedding ICC Profiles in JPEG files - static const char kICCPSignature[] = "ICC_PROFILE"; - static const size_t kICCPSignatureLength = 12; // signature includes '\0' - static const size_t kICCPSkipLength = 14; // signature + seq & count - int expected_count = 0; - int actual_count = 0; - int seq_max = 0; - size_t total_size = 0; - ICCPSegment iccp_segments[255]; - jpeg_saved_marker_ptr marker; - - memset(iccp_segments, 0, sizeof(iccp_segments)); - for (marker = dinfo->marker_list; marker != NULL; marker = marker->next) { - if (marker->marker == JPEG_APP2 && - marker->data_length > kICCPSkipLength && - !memcmp(marker->data, kICCPSignature, kICCPSignatureLength)) { - // ICC_PROFILE\0; 'seq' starts at 1. - const int seq = marker->data[kICCPSignatureLength]; - const int count = marker->data[kICCPSignatureLength + 1]; - const size_t segment_size = marker->data_length - kICCPSkipLength; - ICCPSegment* segment; - - if (segment_size == 0 || count == 0 || seq == 0) { - fprintf(stderr, "[ICCP] size (%d) / count (%d) / sequence number (%d)" - " cannot be 0!\n", - (int)segment_size, seq, count); - return 0; - } - - if (expected_count == 0) { - expected_count = count; - } else if (expected_count != count) { - fprintf(stderr, "[ICCP] Inconsistent segment count (%d / %d)!\n", - expected_count, count); - return 0; - } - - segment = iccp_segments + seq - 1; - if (segment->data_length != 0) { - fprintf(stderr, "[ICCP] Duplicate segment number (%d)!\n" , seq); - return 0; - } - - segment->data = marker->data + kICCPSkipLength; - segment->data_length = segment_size; - segment->seq = seq; - total_size += segment_size; - if (seq > seq_max) seq_max = seq; - ++actual_count; - } - } - - if (actual_count == 0) return 1; - if (seq_max != actual_count) { - fprintf(stderr, "[ICCP] Discontinuous segments, expected: %d actual: %d!\n", - actual_count, seq_max); - return 0; - } - if (expected_count != actual_count) { - fprintf(stderr, "[ICCP] Segment count: %d does not match expected: %d!\n", - actual_count, expected_count); - return 0; - } - - // The segments may appear out of order in the file, sort them based on - // sequence number before assembling the payload. - qsort(iccp_segments, actual_count, sizeof(*iccp_segments), - CompareICCPSegments); - - iccp->bytes = (uint8_t*)malloc(total_size); - if (iccp->bytes == NULL) return 0; - iccp->size = total_size; - - { - int i; - size_t offset = 0; - for (i = 0; i < seq_max; ++i) { - memcpy(iccp->bytes + offset, - iccp_segments[i].data, iccp_segments[i].data_length); - offset += iccp_segments[i].data_length; - } - } - return 1; -} - -// Returns true on success and false for memory errors and corrupt profiles. -// The caller must use MetadataFree() on 'metadata' in all cases. -static int ExtractMetadataFromJPEG(j_decompress_ptr dinfo, - Metadata* const metadata) { - static const struct { - int marker; - const char* signature; - size_t signature_length; - size_t storage_offset; - } kJPEGMetadataMap[] = { - // Exif 2.2 Section 4.7.2 Interoperability Structure of APP1 ... - { JPEG_APP1, "Exif\0", 6, METADATA_OFFSET(exif) }, - // XMP Specification Part 3 Section 3 Embedding XMP Metadata ... #JPEG - // TODO(jzern) Add support for 'ExtendedXMP' - { JPEG_APP1, "http://ns.adobe.com/xap/1.0/", 29, METADATA_OFFSET(xmp) }, - { 0, NULL, 0, 0 }, - }; - jpeg_saved_marker_ptr marker; - // Treat ICC profiles separately as they may be segmented and out of order. - if (!StoreICCP(dinfo, &metadata->iccp)) return 0; - - for (marker = dinfo->marker_list; marker != NULL; marker = marker->next) { - int i; - for (i = 0; kJPEGMetadataMap[i].marker != 0; ++i) { - if (marker->marker == kJPEGMetadataMap[i].marker && - marker->data_length > kJPEGMetadataMap[i].signature_length && - !memcmp(marker->data, kJPEGMetadataMap[i].signature, - kJPEGMetadataMap[i].signature_length)) { - MetadataPayload* const payload = - (MetadataPayload*)((uint8_t*)metadata + - kJPEGMetadataMap[i].storage_offset); - - if (payload->bytes == NULL) { - const char* marker_data = (const char*)marker->data + - kJPEGMetadataMap[i].signature_length; - const size_t marker_data_length = - marker->data_length - kJPEGMetadataMap[i].signature_length; - if (!MetadataCopy(marker_data, marker_data_length, payload)) return 0; - } else { - fprintf(stderr, "Ignoring additional '%s' marker\n", - kJPEGMetadataMap[i].signature); - } - } - } - } - return 1; -} - -#undef JPEG_APP1 -#undef JPEG_APP2 - -// ----------------------------------------------------------------------------- -// JPEG decoding - -struct my_error_mgr { - struct jpeg_error_mgr pub; - jmp_buf setjmp_buffer; -}; - -static void my_error_exit(j_common_ptr dinfo) { - struct my_error_mgr* myerr = (struct my_error_mgr*)dinfo->err; - fprintf(stderr, "libjpeg error: "); - dinfo->err->output_message(dinfo); - longjmp(myerr->setjmp_buffer, 1); -} - -typedef struct { - struct jpeg_source_mgr pub; - const uint8_t* data; - size_t data_size; -} JPEGReadContext; - -static void ContextInit(j_decompress_ptr cinfo) { - JPEGReadContext* const ctx = (JPEGReadContext*)cinfo->src; - ctx->pub.next_input_byte = ctx->data; - ctx->pub.bytes_in_buffer = ctx->data_size; -} - -static boolean ContextFill(j_decompress_ptr cinfo) { - // we shouldn't get here. - ERREXIT(cinfo, JERR_FILE_READ); - return FALSE; -} - -static void ContextSkip(j_decompress_ptr cinfo, long jump_size) { - JPEGReadContext* const ctx = (JPEGReadContext*)cinfo->src; - size_t jump = (size_t)jump_size; - if (jump > ctx->pub.bytes_in_buffer) { // Don't overflow the buffer. - jump = ctx->pub.bytes_in_buffer; - } - ctx->pub.bytes_in_buffer -= jump; - ctx->pub.next_input_byte += jump; -} - -static void ContextTerm(j_decompress_ptr cinfo) { - (void)cinfo; -} - -static void ContextSetup(volatile struct jpeg_decompress_struct* const cinfo, - JPEGReadContext* const ctx) { - cinfo->src = (struct jpeg_source_mgr*)ctx; - ctx->pub.init_source = ContextInit; - ctx->pub.fill_input_buffer = ContextFill; - ctx->pub.skip_input_data = ContextSkip; - ctx->pub.resync_to_restart = jpeg_resync_to_restart; - ctx->pub.term_source = ContextTerm; - ctx->pub.bytes_in_buffer = 0; - ctx->pub.next_input_byte = NULL; -} - -int ReadJPEG(const uint8_t* const data, size_t data_size, - WebPPicture* const pic, int keep_alpha, - Metadata* const metadata) { - volatile int ok = 0; - int width, height; - int64_t stride; - volatile struct jpeg_decompress_struct dinfo; - struct my_error_mgr jerr; - uint8_t* volatile rgb = NULL; - JSAMPROW buffer[1]; - JPEGReadContext ctx; - - if (data == NULL || data_size == 0 || pic == NULL) return 0; - - (void)keep_alpha; - memset(&ctx, 0, sizeof(ctx)); - ctx.data = data; - ctx.data_size = data_size; - - memset((j_decompress_ptr)&dinfo, 0, sizeof(dinfo)); // for setjmp sanity - dinfo.err = jpeg_std_error(&jerr.pub); - jerr.pub.error_exit = my_error_exit; - - if (setjmp(jerr.setjmp_buffer)) { - Error: - MetadataFree(metadata); - jpeg_destroy_decompress((j_decompress_ptr)&dinfo); - goto End; - } - - jpeg_create_decompress((j_decompress_ptr)&dinfo); - ContextSetup(&dinfo, &ctx); - if (metadata != NULL) SaveMetadataMarkers((j_decompress_ptr)&dinfo); - jpeg_read_header((j_decompress_ptr)&dinfo, TRUE); - - dinfo.out_color_space = JCS_RGB; - dinfo.do_fancy_upsampling = TRUE; - - jpeg_start_decompress((j_decompress_ptr)&dinfo); - - if (dinfo.output_components != 3) { - goto Error; - } - - width = dinfo.output_width; - height = dinfo.output_height; - stride = (int64_t)dinfo.output_width * dinfo.output_components * sizeof(*rgb); - - if (stride != (int)stride || - !ImgIoUtilCheckSizeArgumentsOverflow(stride, height)) { - goto Error; - } - - rgb = (uint8_t*)malloc((size_t)stride * height); - if (rgb == NULL) { - goto Error; - } - buffer[0] = (JSAMPLE*)rgb; - - while (dinfo.output_scanline < dinfo.output_height) { - if (jpeg_read_scanlines((j_decompress_ptr)&dinfo, buffer, 1) != 1) { - goto Error; - } - buffer[0] += stride; - } - - if (metadata != NULL) { - ok = ExtractMetadataFromJPEG((j_decompress_ptr)&dinfo, metadata); - if (!ok) { - fprintf(stderr, "Error extracting JPEG metadata!\n"); - goto Error; - } - } - - jpeg_finish_decompress((j_decompress_ptr)&dinfo); - jpeg_destroy_decompress((j_decompress_ptr)&dinfo); - - // WebP conversion. - pic->width = width; - pic->height = height; - ok = WebPPictureImportRGB(pic, rgb, (int)stride); - if (!ok) goto Error; - - End: - free(rgb); - return ok; -} -#else // !WEBP_HAVE_JPEG -int ReadJPEG(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, int keep_alpha, - struct Metadata* const metadata) { - (void)data; - (void)data_size; - (void)pic; - (void)keep_alpha; - (void)metadata; - fprintf(stderr, "JPEG support not compiled. Please install the libjpeg " - "development package before building.\n"); - return 0; -} -#endif // WEBP_HAVE_JPEG - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/jpegdec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/jpegdec.h deleted file mode 100644 index effc14f8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/jpegdec.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// JPEG decode. - -#ifndef WEBP_IMAGEIO_JPEGDEC_H_ -#define WEBP_IMAGEIO_JPEGDEC_H_ - -#include "webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct Metadata; -struct WebPPicture; - -// Reads a JPEG from 'data', returning the decoded output in 'pic'. -// The output is RGB or YUV depending on pic->use_argb value. -// Returns true on success. -// 'keep_alpha' has no effect, but is kept for coherence with other signatures -// for image readers. -int ReadJPEG(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, int keep_alpha, - struct Metadata* const metadata); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_IMAGEIO_JPEGDEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/metadata.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/metadata.c deleted file mode 100644 index 936f2f4e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/metadata.c +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Metadata types and functions. -// - -#include "./metadata.h" - -#include -#include - -#include "webp/types.h" - -void MetadataInit(Metadata* const metadata) { - if (metadata == NULL) return; - memset(metadata, 0, sizeof(*metadata)); -} - -void MetadataPayloadDelete(MetadataPayload* const payload) { - if (payload == NULL) return; - free(payload->bytes); - payload->bytes = NULL; - payload->size = 0; -} - -void MetadataFree(Metadata* const metadata) { - if (metadata == NULL) return; - MetadataPayloadDelete(&metadata->exif); - MetadataPayloadDelete(&metadata->iccp); - MetadataPayloadDelete(&metadata->xmp); -} - -int MetadataCopy(const char* metadata, size_t metadata_len, - MetadataPayload* const payload) { - if (metadata == NULL || metadata_len == 0 || payload == NULL) return 0; - payload->bytes = (uint8_t*)malloc(metadata_len); - if (payload->bytes == NULL) return 0; - payload->size = metadata_len; - memcpy(payload->bytes, metadata, metadata_len); - return 1; -} - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/metadata.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/metadata.h deleted file mode 100644 index 1d5be91a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/metadata.h +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Metadata types and functions. -// - -#ifndef WEBP_IMAGEIO_METADATA_H_ -#define WEBP_IMAGEIO_METADATA_H_ - -#include "webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct MetadataPayload { - uint8_t* bytes; - size_t size; -} MetadataPayload; - -typedef struct Metadata { - MetadataPayload exif; - MetadataPayload iccp; - MetadataPayload xmp; -} Metadata; - -#define METADATA_OFFSET(x) offsetof(Metadata, x) - -void MetadataInit(Metadata* const metadata); -void MetadataPayloadDelete(MetadataPayload* const payload); -void MetadataFree(Metadata* const metadata); - -// Stores 'metadata' to 'payload->bytes', returns false on allocation error. -int MetadataCopy(const char* metadata, size_t metadata_len, - MetadataPayload* const payload); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_IMAGEIO_METADATA_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pngdec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pngdec.c deleted file mode 100644 index 054c999e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pngdec.c +++ /dev/null @@ -1,365 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// PNG decode. - -#include "./pngdec.h" - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include - -#ifdef WEBP_HAVE_PNG -#ifndef PNG_USER_MEM_SUPPORTED -#define PNG_USER_MEM_SUPPORTED // for png_create_read_struct_2 -#endif -#include -#include // note: this must be included *after* png.h -#include -#include - -#include "webp/encode.h" -#include "./imageio_util.h" -#include "./metadata.h" - -#define LOCAL_PNG_VERSION ((PNG_LIBPNG_VER_MAJOR << 8) | PNG_LIBPNG_VER_MINOR) -#define LOCAL_PNG_PREREQ(maj, min) \ - (LOCAL_PNG_VERSION >= (((maj) << 8) | (min))) - -static void PNGAPI error_function(png_structp png, png_const_charp error) { - if (error != NULL) fprintf(stderr, "libpng error: %s\n", error); - longjmp(png_jmpbuf(png), 1); -} - -#if LOCAL_PNG_PREREQ(1,4) -typedef png_alloc_size_t LocalPngAllocSize; -#else -typedef png_size_t LocalPngAllocSize; -#endif - -static png_voidp MallocFunc(png_structp png_ptr, LocalPngAllocSize size) { - (void)png_ptr; - if (size != (size_t)size) return NULL; - if (!ImgIoUtilCheckSizeArgumentsOverflow(size, 1)) return NULL; - return (png_voidp)malloc((size_t)size); -} - -static void FreeFunc(png_structp png_ptr, png_voidp ptr) { - (void)png_ptr; - free(ptr); -} - -// Converts the NULL terminated 'hexstring' which contains 2-byte character -// representations of hex values to raw data. -// 'hexstring' may contain values consisting of [A-F][a-f][0-9] in pairs, -// e.g., 7af2..., separated by any number of newlines. -// 'expected_length' is the anticipated processed size. -// On success the raw buffer is returned with its length equivalent to -// 'expected_length'. NULL is returned if the processed length is less than -// 'expected_length' or any character aside from those above is encountered. -// The returned buffer must be freed by the caller. -static uint8_t* HexStringToBytes(const char* hexstring, - size_t expected_length) { - const char* src = hexstring; - size_t actual_length = 0; - uint8_t* const raw_data = (uint8_t*)malloc(expected_length); - uint8_t* dst; - - if (raw_data == NULL) return NULL; - - for (dst = raw_data; actual_length < expected_length && *src != '\0'; ++src) { - char* end; - char val[3]; - if (*src == '\n') continue; - val[0] = *src++; - val[1] = *src; - val[2] = '\0'; - *dst++ = (uint8_t)strtol(val, &end, 16); - if (end != val + 2) break; - ++actual_length; - } - - if (actual_length != expected_length) { - free(raw_data); - return NULL; - } - return raw_data; -} - -static int ProcessRawProfile(const char* profile, size_t profile_len, - MetadataPayload* const payload) { - const char* src = profile; - char* end; - int expected_length; - - if (profile == NULL || profile_len == 0) return 0; - - // ImageMagick formats 'raw profiles' as - // '\n\n(%8lu)\n\n'. - if (*src != '\n') { - fprintf(stderr, "Malformed raw profile, expected '\\n' got '\\x%.2X'\n", - *src); - return 0; - } - ++src; - // skip the profile name and extract the length. - while (*src != '\0' && *src++ != '\n') {} - expected_length = (int)strtol(src, &end, 10); - if (*end != '\n') { - fprintf(stderr, "Malformed raw profile, expected '\\n' got '\\x%.2X'\n", - *end); - return 0; - } - ++end; - - // 'end' now points to the profile payload. - payload->bytes = HexStringToBytes(end, expected_length); - if (payload->bytes == NULL) return 0; - payload->size = expected_length; - return 1; -} - -static const struct { - const char* name; - int (*process)(const char* profile, size_t profile_len, - MetadataPayload* const payload); - size_t storage_offset; -} kPNGMetadataMap[] = { - // http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PNG.html#TextualData - // See also: ExifTool on CPAN. - { "Raw profile type exif", ProcessRawProfile, METADATA_OFFSET(exif) }, - { "Raw profile type xmp", ProcessRawProfile, METADATA_OFFSET(xmp) }, - // Exiftool puts exif data in APP1 chunk, too. - { "Raw profile type APP1", ProcessRawProfile, METADATA_OFFSET(exif) }, - // XMP Specification Part 3, Section 3 #PNG - { "XML:com.adobe.xmp", MetadataCopy, METADATA_OFFSET(xmp) }, - { NULL, NULL, 0 }, -}; - -// Looks for metadata at both the beginning and end of the PNG file, giving -// preference to the head. -// Returns true on success. The caller must use MetadataFree() on 'metadata' in -// all cases. -static int ExtractMetadataFromPNG(png_structp png, - png_infop const head_info, - png_infop const end_info, - Metadata* const metadata) { - int p; - - for (p = 0; p < 2; ++p) { - png_infop const info = (p == 0) ? head_info : end_info; - png_textp text = NULL; - const png_uint_32 num = png_get_text(png, info, &text, NULL); - png_uint_32 i; - // Look for EXIF / XMP metadata. - for (i = 0; i < num; ++i, ++text) { - int j; - for (j = 0; kPNGMetadataMap[j].name != NULL; ++j) { - if (!strcmp(text->key, kPNGMetadataMap[j].name)) { - MetadataPayload* const payload = - (MetadataPayload*)((uint8_t*)metadata + - kPNGMetadataMap[j].storage_offset); - png_size_t text_length; - switch (text->compression) { -#ifdef PNG_iTXt_SUPPORTED - case PNG_ITXT_COMPRESSION_NONE: - case PNG_ITXT_COMPRESSION_zTXt: - text_length = text->itxt_length; - break; -#endif - case PNG_TEXT_COMPRESSION_NONE: - case PNG_TEXT_COMPRESSION_zTXt: - default: - text_length = text->text_length; - break; - } - if (payload->bytes != NULL) { - fprintf(stderr, "Ignoring additional '%s'\n", text->key); - } else if (!kPNGMetadataMap[j].process(text->text, text_length, - payload)) { - fprintf(stderr, "Failed to process: '%s'\n", text->key); - return 0; - } - break; - } - } - } - // Look for an ICC profile. - { - png_charp name; - int comp_type; -#if LOCAL_PNG_PREREQ(1,5) - png_bytep profile; -#else - png_charp profile; -#endif - png_uint_32 len; - - if (png_get_iCCP(png, info, - &name, &comp_type, &profile, &len) == PNG_INFO_iCCP) { - if (!MetadataCopy((const char*)profile, len, &metadata->iccp)) return 0; - } - } - } - return 1; -} - -typedef struct { - const uint8_t* data; - size_t data_size; - png_size_t offset; -} PNGReadContext; - -static void ReadFunc(png_structp png_ptr, png_bytep data, png_size_t length) { - PNGReadContext* const ctx = (PNGReadContext*)png_get_io_ptr(png_ptr); - if (ctx->data_size - ctx->offset < length) { - png_error(png_ptr, "ReadFunc: invalid read length (overflow)!"); - } - memcpy(data, ctx->data + ctx->offset, length); - ctx->offset += length; -} - -int ReadPNG(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, - int keep_alpha, struct Metadata* const metadata) { - volatile png_structp png = NULL; - volatile png_infop info = NULL; - volatile png_infop end_info = NULL; - PNGReadContext context = { NULL, 0, 0 }; - int color_type, bit_depth, interlaced; - int has_alpha; - int num_passes; - int p; - volatile int ok = 0; - png_uint_32 width, height, y; - int64_t stride; - uint8_t* volatile rgb = NULL; - - if (data == NULL || data_size == 0 || pic == NULL) return 0; - - context.data = data; - context.data_size = data_size; - - png = png_create_read_struct_2(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL, - NULL, MallocFunc, FreeFunc); - if (png == NULL) goto End; - - png_set_error_fn(png, 0, error_function, NULL); - if (setjmp(png_jmpbuf(png))) { - Error: - MetadataFree(metadata); - goto End; - } - - info = png_create_info_struct(png); - if (info == NULL) goto Error; - end_info = png_create_info_struct(png); - if (end_info == NULL) goto Error; - - png_set_read_fn(png, &context, ReadFunc); - png_read_info(png, info); - if (!png_get_IHDR(png, info, - &width, &height, &bit_depth, &color_type, &interlaced, - NULL, NULL)) goto Error; - - png_set_strip_16(png); - png_set_packing(png); - if (color_type == PNG_COLOR_TYPE_PALETTE) { - png_set_palette_to_rgb(png); - } - if (color_type == PNG_COLOR_TYPE_GRAY || - color_type == PNG_COLOR_TYPE_GRAY_ALPHA) { - if (bit_depth < 8) { - png_set_expand_gray_1_2_4_to_8(png); - } - png_set_gray_to_rgb(png); - } - if (png_get_valid(png, info, PNG_INFO_tRNS)) { - png_set_tRNS_to_alpha(png); - has_alpha = 1; - } else { - has_alpha = !!(color_type & PNG_COLOR_MASK_ALPHA); - } - - // Apply gamma correction if needed. - { - double image_gamma = 1 / 2.2, screen_gamma = 2.2; - int srgb_intent; - if (png_get_sRGB(png, info, &srgb_intent) || - png_get_gAMA(png, info, &image_gamma)) { - png_set_gamma(png, screen_gamma, image_gamma); - } - } - - if (!keep_alpha) { - png_set_strip_alpha(png); - has_alpha = 0; - } - - num_passes = png_set_interlace_handling(png); - png_read_update_info(png, info); - - stride = (int64_t)(has_alpha ? 4 : 3) * width * sizeof(*rgb); - if (stride != (int)stride || - !ImgIoUtilCheckSizeArgumentsOverflow(stride, height)) { - goto Error; - } - - rgb = (uint8_t*)malloc((size_t)stride * height); - if (rgb == NULL) goto Error; - for (p = 0; p < num_passes; ++p) { - png_bytep row = rgb; - for (y = 0; y < height; ++y) { - png_read_rows(png, &row, NULL, 1); - row += stride; - } - } - png_read_end(png, end_info); - - if (metadata != NULL && - !ExtractMetadataFromPNG(png, info, end_info, metadata)) { - fprintf(stderr, "Error extracting PNG metadata!\n"); - goto Error; - } - - pic->width = (int)width; - pic->height = (int)height; - ok = has_alpha ? WebPPictureImportRGBA(pic, rgb, (int)stride) - : WebPPictureImportRGB(pic, rgb, (int)stride); - - if (!ok) { - goto Error; - } - - End: - if (png != NULL) { - png_destroy_read_struct((png_structpp)&png, - (png_infopp)&info, (png_infopp)&end_info); - } - free(rgb); - return ok; -} -#else // !WEBP_HAVE_PNG -int ReadPNG(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, - int keep_alpha, struct Metadata* const metadata) { - (void)data; - (void)data_size; - (void)pic; - (void)keep_alpha; - (void)metadata; - fprintf(stderr, "PNG support not compiled. Please install the libpng " - "development package before building.\n"); - return 0; -} -#endif // WEBP_HAVE_PNG - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pngdec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pngdec.h deleted file mode 100644 index e0a6122d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pngdec.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// PNG decode. - -#ifndef WEBP_IMAGEIO_PNGDEC_H_ -#define WEBP_IMAGEIO_PNGDEC_H_ - -#include "webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct Metadata; -struct WebPPicture; - -// Reads a PNG from 'data', returning the decoded output in 'pic'. -// Output is RGBA or YUVA, depending on pic->use_argb value. -// If 'keep_alpha' is true and the PNG has an alpha channel, the output is RGBA -// or YUVA. Otherwise, alpha channel is dropped and output is RGB or YUV. -// Returns true on success. -int ReadPNG(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, - int keep_alpha, struct Metadata* const metadata); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_IMAGEIO_PNGDEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pnmdec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pnmdec.c deleted file mode 100644 index 208c2cfe..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pnmdec.c +++ /dev/null @@ -1,258 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// (limited) PNM decoder - -#include "./pnmdec.h" - -#include -#include -#include -#include -#include - -#include "webp/encode.h" -#include "./imageio_util.h" - -typedef enum { - WIDTH_FLAG = 1 << 0, - HEIGHT_FLAG = 1 << 1, - DEPTH_FLAG = 1 << 2, - MAXVAL_FLAG = 1 << 3, - TUPLE_FLAG = 1 << 4, - ALL_NEEDED_FLAGS = WIDTH_FLAG | HEIGHT_FLAG | DEPTH_FLAG | MAXVAL_FLAG -} PNMFlags; - -typedef struct { - const uint8_t* data; - size_t data_size; - int width, height; - int bytes_per_px; // 1, 3, 4 - int depth; - int max_value; - int type; // 5, 6 or 7 - int seen_flags; -} PNMInfo; - -// ----------------------------------------------------------------------------- -// PNM decoding - -#define MAX_LINE_SIZE 1024 -static const size_t kMinPNMHeaderSize = 3; - -static size_t ReadLine(const uint8_t* const data, size_t off, size_t data_size, - char out[MAX_LINE_SIZE + 1], size_t* const out_size) { - size_t i = 0; - *out_size = 0; - redo: - for (i = 0; i < MAX_LINE_SIZE && off < data_size; ++i) { - out[i] = data[off++]; - if (out[i] == '\n') break; - } - if (off < data_size) { - if (i == 0) goto redo; // empty line - if (out[0] == '#') goto redo; // skip comment - } - out[i] = 0; // safety sentinel - *out_size = i; - return off; -} - -static size_t FlagError(const char flag[]) { - fprintf(stderr, "PAM header error: flags '%s' already seen.\n", flag); - return 0; -} - -// inspired from http://netpbm.sourceforge.net/doc/pam.html -static size_t ReadPAMFields(PNMInfo* const info, size_t off) { - char out[MAX_LINE_SIZE + 1]; - size_t out_size; - int tmp; - int expected_depth = -1; - assert(info != NULL); - while (1) { - off = ReadLine(info->data, off, info->data_size, out, &out_size); - if (off == 0) return 0; - if (sscanf(out, "WIDTH %d", &tmp) == 1) { - if (info->seen_flags & WIDTH_FLAG) return FlagError("WIDTH"); - info->seen_flags |= WIDTH_FLAG; - info->width = tmp; - } else if (sscanf(out, "HEIGHT %d", &tmp) == 1) { - if (info->seen_flags & HEIGHT_FLAG) return FlagError("HEIGHT"); - info->seen_flags |= HEIGHT_FLAG; - info->height = tmp; - } else if (sscanf(out, "DEPTH %d", &tmp) == 1) { - if (info->seen_flags & DEPTH_FLAG) return FlagError("DEPTH"); - info->seen_flags |= DEPTH_FLAG; - info->depth = tmp; - } else if (sscanf(out, "MAXVAL %d", &tmp) == 1) { - if (info->seen_flags & MAXVAL_FLAG) return FlagError("MAXVAL"); - info->seen_flags |= MAXVAL_FLAG; - info->max_value = tmp; - } else if (!strcmp(out, "TUPLTYPE RGB_ALPHA")) { - expected_depth = 4; - info->seen_flags |= TUPLE_FLAG; - } else if (!strcmp(out, "TUPLTYPE RGB")) { - expected_depth = 3; - info->seen_flags |= TUPLE_FLAG; - } else if (!strcmp(out, "TUPLTYPE GRAYSCALE")) { - expected_depth = 1; - info->seen_flags |= TUPLE_FLAG; - } else if (!strcmp(out, "ENDHDR")) { - break; - } else { - static const char kEllipsis[] = " ..."; - int i; - if (out_size > 20) sprintf(out + 20 - strlen(kEllipsis), kEllipsis); - for (i = 0; i < (int)strlen(out); ++i) { - // isprint() might trigger a "char-subscripts" warning if given a char. - if (!isprint((int)out[i])) out[i] = ' '; - } - fprintf(stderr, "PAM header error: unrecognized entry [%s]\n", out); - return 0; - } - } - if (!(info->seen_flags & ALL_NEEDED_FLAGS)) { - fprintf(stderr, "PAM header error: missing tags%s%s%s%s\n", - (info->seen_flags & WIDTH_FLAG) ? "" : " WIDTH", - (info->seen_flags & HEIGHT_FLAG) ? "" : " HEIGHT", - (info->seen_flags & DEPTH_FLAG) ? "" : " DEPTH", - (info->seen_flags & MAXVAL_FLAG) ? "" : " MAXVAL"); - return 0; - } - if (expected_depth != -1 && info->depth != expected_depth) { - fprintf(stderr, "PAM header error: expected DEPTH %d but got DEPTH %d\n", - expected_depth, info->depth); - return 0; - } - return off; -} - -static size_t ReadHeader(PNMInfo* const info) { - size_t off = 0; - char out[MAX_LINE_SIZE + 1]; - size_t out_size; - if (info == NULL) return 0; - if (info->data == NULL || info->data_size < kMinPNMHeaderSize) return 0; - - info->width = info->height = 0; - info->type = -1; - info->seen_flags = 0; - info->bytes_per_px = 0; - info->depth = 0; - info->max_value = 0; - - off = ReadLine(info->data, off, info->data_size, out, &out_size); - if (off == 0 || sscanf(out, "P%d", &info->type) != 1) return 0; - if (info->type == 7) { - off = ReadPAMFields(info, off); - } else { - off = ReadLine(info->data, off, info->data_size, out, &out_size); - if (off == 0 || sscanf(out, "%d %d", &info->width, &info->height) != 2) { - return 0; - } - off = ReadLine(info->data, off, info->data_size, out, &out_size); - if (off == 0 || sscanf(out, "%d", &info->max_value) != 1) return 0; - - // finish initializing missing fields - info->depth = (info->type == 5) ? 1 : 3; - } - // perform some basic numerical validation - if (info->width <= 0 || info->height <= 0 || - info->type <= 0 || info->type >= 9 || - info->depth <= 0 || info->depth == 2 || info->depth > 4 || - info->max_value <= 0 || info->max_value >= 65536) { - return 0; - } - info->bytes_per_px = info->depth * (info->max_value > 255 ? 2 : 1); - return off; -} - -int ReadPNM(const uint8_t* const data, size_t data_size, - WebPPicture* const pic, int keep_alpha, - struct Metadata* const metadata) { - int ok = 0; - int i, j; - uint64_t stride, pixel_bytes; - uint8_t* rgb = NULL, *tmp_rgb; - size_t offset; - PNMInfo info; - - info.data = data; - info.data_size = data_size; - offset = ReadHeader(&info); - if (offset == 0) { - fprintf(stderr, "Error parsing PNM header.\n"); - goto End; - } - - if (info.type < 5 || info.type > 7) { - fprintf(stderr, "Unsupported P%d PNM format.\n", info.type); - goto End; - } - - // Some basic validations. - if (pic == NULL) goto End; - if (info.width > WEBP_MAX_DIMENSION || info.height > WEBP_MAX_DIMENSION) { - fprintf(stderr, "Invalid %dx%d dimension for PNM\n", - info.width, info.height); - goto End; - } - - pixel_bytes = (uint64_t)info.width * info.height * info.bytes_per_px; - if (data_size < offset + pixel_bytes) { - fprintf(stderr, "Truncated PNM file (P%d).\n", info.type); - goto End; - } - stride = - (uint64_t)(info.bytes_per_px < 3 ? 3 : info.bytes_per_px) * info.width; - if (stride != (size_t)stride || - !ImgIoUtilCheckSizeArgumentsOverflow(stride, info.height)) { - goto End; - } - - rgb = (uint8_t*)malloc((size_t)stride * info.height); - if (rgb == NULL) goto End; - - // Convert input - tmp_rgb = rgb; - for (j = 0; j < info.height; ++j) { - assert(offset + info.bytes_per_px * info.width <= data_size); - if (info.depth == 1) { - // convert grayscale -> RGB - for (i = 0; i < info.width; ++i) { - const uint8_t v = data[offset + i]; - tmp_rgb[3 * i + 0] = tmp_rgb[3 * i + 1] = tmp_rgb[3 * i + 2] = v; - } - } else if (info.depth == 3) { // RGB - memcpy(tmp_rgb, data + offset, 3 * info.width * sizeof(*data)); - } else if (info.depth == 4) { // RGBA - memcpy(tmp_rgb, data + offset, 4 * info.width * sizeof(*data)); - } - offset += info.bytes_per_px * info.width; - tmp_rgb += stride; - } - - // WebP conversion. - pic->width = info.width; - pic->height = info.height; - ok = (info.depth == 4) ? WebPPictureImportRGBA(pic, rgb, (int)stride) - : WebPPictureImportRGB(pic, rgb, (int)stride); - if (!ok) goto End; - - ok = 1; - End: - free((void*)rgb); - - (void)metadata; - (void)keep_alpha; - return ok; -} - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pnmdec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pnmdec.h deleted file mode 100644 index c4d5823e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/pnmdec.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// partial PNM format decoder (ppm/pgm) - -#ifndef WEBP_IMAGEIO_PNMDEC_H_ -#define WEBP_IMAGEIO_PNMDEC_H_ - -#include "webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct Metadata; -struct WebPPicture; - -// Reads a PNM file from 'data', returning the decoded output in 'pic'. -// The output is RGB or YUV depending on pic->use_argb value. -// Returns true on success. -// 'metadata' has no effect, but is kept for coherence with other signatures -// for image readers. -int ReadPNM(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, int keep_alpha, - struct Metadata* const metadata); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_IMAGEIO_PNMDEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/tiffdec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/tiffdec.c deleted file mode 100644 index 89819d4f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/tiffdec.c +++ /dev/null @@ -1,281 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// TIFF decode. - -#include "./tiffdec.h" - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include -#include -#include - -#ifdef WEBP_HAVE_TIFF -#include - -#include "webp/encode.h" -#include "./imageio_util.h" -#include "./metadata.h" - -static const struct { - ttag_t tag; - size_t storage_offset; -} kTIFFMetadataMap[] = { - { TIFFTAG_ICCPROFILE, METADATA_OFFSET(iccp) }, - { TIFFTAG_XMLPACKET, METADATA_OFFSET(xmp) }, - { 0, 0 }, -}; - -// Returns true on success. The caller must use MetadataFree() on 'metadata' in -// all cases. -static int ExtractMetadataFromTIFF(TIFF* const tif, Metadata* const metadata) { - int i; - toff_t exif_ifd_offset; - - for (i = 0; kTIFFMetadataMap[i].tag != 0; ++i) { - MetadataPayload* const payload = - (MetadataPayload*)((uint8_t*)metadata + - kTIFFMetadataMap[i].storage_offset); - void* tag_data; - uint32 tag_data_len; - - if (TIFFGetField(tif, kTIFFMetadataMap[i].tag, &tag_data_len, &tag_data) && - !MetadataCopy((const char*)tag_data, tag_data_len, payload)) { - return 0; - } - } - - // TODO(jzern): To extract the raw EXIF directory some parsing of it would be - // necessary to determine the overall size. In addition, value offsets in - // individual directory entries may need to be updated as, depending on the - // type, they are file based. - // Exif 2.2 Section 4.6.2 Tag Structure - // TIFF Revision 6.0 Part 1 Section 2 TIFF Structure #Image File Directory - if (TIFFGetField(tif, TIFFTAG_EXIFIFD, &exif_ifd_offset)) { - fprintf(stderr, "Warning: EXIF extraction from TIFF is unsupported.\n"); - } - return 1; -} - -// Ad-hoc structure to supply read-from-memory functionalities. -typedef struct { - const uint8_t* data; - toff_t size; - toff_t pos; -} MyData; - -static int MyClose(thandle_t opaque) { - (void)opaque; - return 0; -} - -static toff_t MySize(thandle_t opaque) { - const MyData* const my_data = (MyData*)opaque; - return my_data->size; -} - -static toff_t MySeek(thandle_t opaque, toff_t offset, int whence) { - MyData* const my_data = (MyData*)opaque; - offset += (whence == SEEK_CUR) ? my_data->pos - : (whence == SEEK_SET) ? 0 - : my_data->size; - if (offset > my_data->size) return (toff_t)-1; - my_data->pos = offset; - return offset; -} - -static int MyMapFile(thandle_t opaque, void** base, toff_t* size) { - (void)opaque; - (void)base; - (void)size; - return 0; -} -static void MyUnmapFile(thandle_t opaque, void* base, toff_t size) { - (void)opaque; - (void)base; - (void)size; -} - -static tsize_t MyRead(thandle_t opaque, void* dst, tsize_t size) { - MyData* const my_data = (MyData*)opaque; - if (my_data->pos + size > my_data->size) { - size = (tsize_t)(my_data->size - my_data->pos); - } - if (size > 0) { - memcpy(dst, my_data->data + my_data->pos, size); - my_data->pos += size; - } - return size; -} - -// Unmultiply Argb data. Taken from dsp/alpha_processing -// (we don't want to force a dependency to a libdspdec library). -#define MFIX 24 // 24bit fixed-point arithmetic -#define HALF ((1u << MFIX) >> 1) - -static uint32_t Unmult(uint8_t x, uint32_t mult) { - const uint32_t v = (x * mult + HALF) >> MFIX; - return (v > 255u) ? 255u : v; -} - -static WEBP_INLINE uint32_t GetScale(uint32_t a) { - return (255u << MFIX) / a; -} - -#undef MFIX -#undef HALF - -static void MultARGBRow(uint8_t* ptr, int width) { - int x; - for (x = 0; x < width; ++x, ptr += 4) { - const uint32_t alpha = ptr[3]; - if (alpha < 255) { - if (alpha == 0) { // alpha == 0 - ptr[0] = ptr[1] = ptr[2] = 0; - } else { - const uint32_t scale = GetScale(alpha); - ptr[0] = Unmult(ptr[0], scale); - ptr[1] = Unmult(ptr[1], scale); - ptr[2] = Unmult(ptr[2], scale); - } - } - } -} - -int ReadTIFF(const uint8_t* const data, size_t data_size, - WebPPicture* const pic, int keep_alpha, - Metadata* const metadata) { - MyData my_data = { data, (toff_t)data_size, 0 }; - TIFF* tif; - uint32_t image_width, image_height, tile_width, tile_height; - uint16_t samples_per_px = 0; - uint16_t extra_samples = 0; - uint16_t* extra_samples_ptr = NULL; - uint32_t* raster; - int64_t alloc_size; - int ok = 0; - tdir_t dircount; - - if (data == NULL || data_size == 0 || data_size > INT_MAX || pic == NULL) { - return 0; - } - - tif = TIFFClientOpen("Memory", "r", &my_data, - MyRead, MyRead, MySeek, MyClose, - MySize, MyMapFile, MyUnmapFile); - if (tif == NULL) { - fprintf(stderr, "Error! Cannot parse TIFF file\n"); - return 0; - } - - dircount = TIFFNumberOfDirectories(tif); - if (dircount > 1) { - fprintf(stderr, "Warning: multi-directory TIFF files are not supported.\n" - "Only the first will be used, %d will be ignored.\n", - dircount - 1); - } - if (!TIFFGetFieldDefaulted(tif, TIFFTAG_SAMPLESPERPIXEL, &samples_per_px)) { - fprintf(stderr, "Error! Cannot retrieve TIFF samples-per-pixel info.\n"); - goto End; - } - if (samples_per_px < 3 || samples_per_px > 4) goto End; // not supported - - if (!(TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &image_width) && - TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &image_height))) { - fprintf(stderr, "Error! Cannot retrieve TIFF image dimensions.\n"); - goto End; - } - if (!ImgIoUtilCheckSizeArgumentsOverflow((uint64_t)image_width * image_height, - sizeof(*raster))) { - goto End; - } - // According to spec, a tile can be bigger than the image. However it should - // be a multiple of 16 and not way too large, so check that it's not more than - // twice the image size, for dimensions above some arbitrary minimum 32. - if ((TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tile_width) && - tile_width > 32 && tile_width / 2 > image_width) || - (TIFFGetField(tif, TIFFTAG_TILELENGTH, &tile_height) && - tile_height > 32 && tile_height / 2 > image_height)) { - fprintf(stderr, "Error! TIFF tile dimensions are too big.\n"); - goto End; - } - if (samples_per_px > 3 && !TIFFGetField(tif, TIFFTAG_EXTRASAMPLES, - &extra_samples, &extra_samples_ptr)) { - fprintf(stderr, "Error! Cannot retrieve TIFF ExtraSamples info.\n"); - goto End; - } - - // _Tiffmalloc uses a signed type for size. - alloc_size = - (int64_t)((uint64_t)image_width * image_height * sizeof(*raster)); - if (alloc_size < 0 || alloc_size != (tsize_t)alloc_size) goto End; - - raster = (uint32*)_TIFFmalloc((tsize_t)alloc_size); - if (raster != NULL) { - if (TIFFReadRGBAImageOriented(tif, image_width, image_height, raster, - ORIENTATION_TOPLEFT, 1)) { - const int stride = image_width * sizeof(*raster); - pic->width = image_width; - pic->height = image_height; - // TIFF data is ABGR -#ifdef WORDS_BIGENDIAN - TIFFSwabArrayOfLong(raster, image_width * image_height); -#endif - // if we have an alpha channel, we must un-multiply from rgbA to RGBA - if (extra_samples == 1 && extra_samples_ptr != NULL && - extra_samples_ptr[0] == EXTRASAMPLE_ASSOCALPHA) { - uint32_t y; - uint8_t* tmp = (uint8_t*)raster; - for (y = 0; y < image_height; ++y) { - MultARGBRow(tmp, image_width); - tmp += stride; - } - } - ok = keep_alpha - ? WebPPictureImportRGBA(pic, (const uint8_t*)raster, stride) - : WebPPictureImportRGBX(pic, (const uint8_t*)raster, stride); - } - _TIFFfree(raster); - } else { - fprintf(stderr, "Error allocating TIFF RGBA memory!\n"); - } - - if (ok) { - if (metadata != NULL) { - ok = ExtractMetadataFromTIFF(tif, metadata); - if (!ok) { - fprintf(stderr, "Error extracting TIFF metadata!\n"); - MetadataFree(metadata); - WebPPictureFree(pic); - } - } - } - End: - TIFFClose(tif); - return ok; -} -#else // !WEBP_HAVE_TIFF -int ReadTIFF(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, int keep_alpha, - struct Metadata* const metadata) { - (void)data; - (void)data_size; - (void)pic; - (void)keep_alpha; - (void)metadata; - fprintf(stderr, "TIFF support not compiled. Please install the libtiff " - "development package before building.\n"); - return 0; -} -#endif // WEBP_HAVE_TIFF - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/tiffdec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/tiffdec.h deleted file mode 100644 index 0c8beccd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/tiffdec.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// TIFF decode. - -#ifndef WEBP_IMAGEIO_TIFFDEC_H_ -#define WEBP_IMAGEIO_TIFFDEC_H_ - -#include "webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct Metadata; -struct WebPPicture; - -// Reads a TIFF from 'data', returning the decoded output in 'pic'. -// Output is RGBA or YUVA, depending on pic->use_argb value. -// If 'keep_alpha' is true and the TIFF has an alpha channel, the output is RGBA -// or YUVA. Otherwise, alpha channel is dropped and output is RGB or YUV. -// Returns true on success. -int ReadTIFF(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, int keep_alpha, - struct Metadata* const metadata); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_IMAGEIO_TIFFDEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/webpdec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/webpdec.c deleted file mode 100644 index 785eef39..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/webpdec.c +++ /dev/null @@ -1,244 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP decode. - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include "./webpdec.h" - -#include -#include -#include - -#include "webp/decode.h" -#include "webp/demux.h" -#include "webp/encode.h" -#include "../examples/unicode.h" -#include "./imageio_util.h" -#include "./metadata.h" - -//------------------------------------------------------------------------------ -// WebP decoding - -static const char* const kStatusMessages[VP8_STATUS_NOT_ENOUGH_DATA + 1] = { - "OK", "OUT_OF_MEMORY", "INVALID_PARAM", "BITSTREAM_ERROR", - "UNSUPPORTED_FEATURE", "SUSPENDED", "USER_ABORT", "NOT_ENOUGH_DATA" -}; - -static void PrintAnimationWarning(const WebPDecoderConfig* const config) { - if (config->input.has_animation) { - fprintf(stderr, - "Error! Decoding of an animated WebP file is not supported.\n" - " Use webpmux to extract the individual frames or\n" - " vwebp to view this image.\n"); - } -} - -void PrintWebPError(const char* const in_file, int status) { - WFPRINTF(stderr, "Decoding of %s failed.\n", (const W_CHAR*)in_file); - fprintf(stderr, "Status: %d", status); - if (status >= VP8_STATUS_OK && status <= VP8_STATUS_NOT_ENOUGH_DATA) { - fprintf(stderr, "(%s)", kStatusMessages[status]); - } - fprintf(stderr, "\n"); -} - -int LoadWebP(const char* const in_file, - const uint8_t** data, size_t* data_size, - WebPBitstreamFeatures* bitstream) { - VP8StatusCode status; - WebPBitstreamFeatures local_features; - if (!ImgIoUtilReadFile(in_file, data, data_size)) return 0; - - if (bitstream == NULL) { - bitstream = &local_features; - } - - status = WebPGetFeatures(*data, *data_size, bitstream); - if (status != VP8_STATUS_OK) { - free((void*)*data); - *data = NULL; - *data_size = 0; - PrintWebPError(in_file, status); - return 0; - } - return 1; -} - -//------------------------------------------------------------------------------ - -VP8StatusCode DecodeWebP(const uint8_t* const data, size_t data_size, - WebPDecoderConfig* const config) { - if (config == NULL) return VP8_STATUS_INVALID_PARAM; - PrintAnimationWarning(config); - return WebPDecode(data, data_size, config); -} - -VP8StatusCode DecodeWebPIncremental( - const uint8_t* const data, size_t data_size, - WebPDecoderConfig* const config) { - VP8StatusCode status = VP8_STATUS_OK; - if (config == NULL) return VP8_STATUS_INVALID_PARAM; - - PrintAnimationWarning(config); - - // Decoding call. - { - WebPIDecoder* const idec = WebPIDecode(data, data_size, config); - if (idec == NULL) { - fprintf(stderr, "Failed during WebPINewDecoder().\n"); - return VP8_STATUS_OUT_OF_MEMORY; - } else { - status = WebPIUpdate(idec, data, data_size); - WebPIDelete(idec); - } - } - return status; -} - -// ----------------------------------------------------------------------------- -// Metadata - -static int ExtractMetadata(const uint8_t* const data, size_t data_size, - Metadata* const metadata) { - WebPData webp_data = { data, data_size }; - WebPDemuxer* const demux = WebPDemux(&webp_data); - WebPChunkIterator chunk_iter; - uint32_t flags; - - if (demux == NULL) return 0; - assert(metadata != NULL); - - flags = WebPDemuxGetI(demux, WEBP_FF_FORMAT_FLAGS); - - if ((flags & ICCP_FLAG) && WebPDemuxGetChunk(demux, "ICCP", 1, &chunk_iter)) { - MetadataCopy((const char*)chunk_iter.chunk.bytes, chunk_iter.chunk.size, - &metadata->iccp); - WebPDemuxReleaseChunkIterator(&chunk_iter); - } - if ((flags & EXIF_FLAG) && WebPDemuxGetChunk(demux, "EXIF", 1, &chunk_iter)) { - MetadataCopy((const char*)chunk_iter.chunk.bytes, chunk_iter.chunk.size, - &metadata->exif); - WebPDemuxReleaseChunkIterator(&chunk_iter); - } - if ((flags & XMP_FLAG) && WebPDemuxGetChunk(demux, "XMP ", 1, &chunk_iter)) { - MetadataCopy((const char*)chunk_iter.chunk.bytes, chunk_iter.chunk.size, - &metadata->xmp); - WebPDemuxReleaseChunkIterator(&chunk_iter); - } - WebPDemuxDelete(demux); - return 1; -} - -// ----------------------------------------------------------------------------- - -int ReadWebP(const uint8_t* const data, size_t data_size, - WebPPicture* const pic, - int keep_alpha, Metadata* const metadata) { - int ok = 0; - VP8StatusCode status = VP8_STATUS_OK; - WebPDecoderConfig config; - WebPDecBuffer* const output_buffer = &config.output; - WebPBitstreamFeatures* const bitstream = &config.input; - - if (data == NULL || data_size == 0 || pic == NULL) return 0; - - if (!WebPInitDecoderConfig(&config)) { - fprintf(stderr, "Library version mismatch!\n"); - return 0; - } - - status = WebPGetFeatures(data, data_size, bitstream); - if (status != VP8_STATUS_OK) { - PrintWebPError("input data", status); - return 0; - } - - do { - const int has_alpha = keep_alpha && bitstream->has_alpha; - uint64_t stride; - pic->width = bitstream->width; - pic->height = bitstream->height; - if (pic->use_argb) { - stride = (uint64_t)bitstream->width * 4; - } else { - stride = (uint64_t)bitstream->width * (has_alpha ? 5 : 3) / 2; - pic->colorspace = has_alpha ? WEBP_YUV420A : WEBP_YUV420; - } - - if (!ImgIoUtilCheckSizeArgumentsOverflow(stride, bitstream->height)) { - status = VP8_STATUS_OUT_OF_MEMORY; - break; - } - - ok = WebPPictureAlloc(pic); - if (!ok) { - status = VP8_STATUS_OUT_OF_MEMORY; - break; - } - if (pic->use_argb) { -#ifdef WORDS_BIGENDIAN - output_buffer->colorspace = MODE_ARGB; -#else - output_buffer->colorspace = MODE_BGRA; -#endif - output_buffer->u.RGBA.rgba = (uint8_t*)pic->argb; - output_buffer->u.RGBA.stride = pic->argb_stride * sizeof(uint32_t); - output_buffer->u.RGBA.size = output_buffer->u.RGBA.stride * pic->height; - } else { - output_buffer->colorspace = has_alpha ? MODE_YUVA : MODE_YUV; - output_buffer->u.YUVA.y = pic->y; - output_buffer->u.YUVA.u = pic->u; - output_buffer->u.YUVA.v = pic->v; - output_buffer->u.YUVA.a = has_alpha ? pic->a : NULL; - output_buffer->u.YUVA.y_stride = pic->y_stride; - output_buffer->u.YUVA.u_stride = pic->uv_stride; - output_buffer->u.YUVA.v_stride = pic->uv_stride; - output_buffer->u.YUVA.a_stride = has_alpha ? pic->a_stride : 0; - output_buffer->u.YUVA.y_size = pic->height * pic->y_stride; - output_buffer->u.YUVA.u_size = (pic->height + 1) / 2 * pic->uv_stride; - output_buffer->u.YUVA.v_size = (pic->height + 1) / 2 * pic->uv_stride; - output_buffer->u.YUVA.a_size = pic->height * pic->a_stride; - } - output_buffer->is_external_memory = 1; - - status = DecodeWebP(data, data_size, &config); - ok = (status == VP8_STATUS_OK); - if (ok && !keep_alpha && pic->use_argb) { - // Need to wipe out the alpha value, as requested. - int x, y; - uint32_t* argb = pic->argb; - for (y = 0; y < pic->height; ++y) { - for (x = 0; x < pic->width; ++x) argb[x] |= 0xff000000u; - argb += pic->argb_stride; - } - } - } while (0); // <- so we can 'break' out of the loop - - if (status != VP8_STATUS_OK) { - PrintWebPError("input data", status); - ok = 0; - } - - WebPFreeDecBuffer(output_buffer); - - if (ok && metadata != NULL) { - ok = ExtractMetadata(data, data_size, metadata); - if (!ok) { - PrintWebPError("metadata", VP8_STATUS_BITSTREAM_ERROR); - } - } - if (!ok) WebPPictureFree(pic); - return ok; -} - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/webpdec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/webpdec.h deleted file mode 100644 index d329d41f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/webpdec.h +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP decode. - -#ifndef WEBP_IMAGEIO_WEBPDEC_H_ -#define WEBP_IMAGEIO_WEBPDEC_H_ - -#include "webp/decode.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct Metadata; -struct WebPPicture; - -//------------------------------------------------------------------------------ -// WebP decoding - -// Prints an informative error message regarding decode failure of 'in_file'. -// 'status' is treated as a VP8StatusCode and if valid will be printed as a -// text string. -void PrintWebPError(const char* const in_file, int status); - -// Reads a WebP from 'in_file', returning the contents and size in 'data' and -// 'data_size'. If not NULL, 'bitstream' is populated using WebPGetFeatures(). -// Returns true on success. -int LoadWebP(const char* const in_file, - const uint8_t** data, size_t* data_size, - WebPBitstreamFeatures* bitstream); - -// Decodes the WebP contained in 'data'. -// 'config' is a structure previously initialized by WebPInitDecoderConfig(). -// 'config->output' should have the desired colorspace selected. -// Returns the decoder status. On success 'config->output' will contain the -// decoded picture. -VP8StatusCode DecodeWebP(const uint8_t* const data, size_t data_size, - WebPDecoderConfig* const config); - -// Same as DecodeWebP(), but using the incremental decoder. -VP8StatusCode DecodeWebPIncremental( - const uint8_t* const data, size_t data_size, - WebPDecoderConfig* const config); - -//------------------------------------------------------------------------------ - -// Decodes a WebP contained in 'data', returning the decoded output in 'pic'. -// Output is RGBA or YUVA, depending on pic->use_argb value. -// If 'keep_alpha' is true and the WebP has an alpha channel, the output is RGBA -// or YUVA. Otherwise, alpha channel is dropped and output is RGB or YUV. -// Returns true on success. -int ReadWebP(const uint8_t* const data, size_t data_size, - struct WebPPicture* const pic, - int keep_alpha, struct Metadata* const metadata); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_IMAGEIO_WEBPDEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/wicdec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/wicdec.c deleted file mode 100644 index 249d1c21..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/wicdec.c +++ /dev/null @@ -1,399 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Windows Imaging Component (WIC) decode. - -#include "./wicdec.h" - -#ifdef HAVE_CONFIG_H -#include "webp/config.h" -#endif - -#include -#include -#include - -#ifdef HAVE_WINCODEC_H -#ifdef __MINGW32__ -#define INITGUID // Without this GUIDs are declared extern and fail to link -#endif -#define CINTERFACE -#define COBJMACROS -#define _WIN32_IE 0x500 // Workaround bug in shlwapi.h when compiling C++ - // code with COBJMACROS. -#include // CreateStreamOnHGlobal() -#include -#include -#include -#include - -#include "../examples/unicode.h" -#include "./imageio_util.h" -#include "./metadata.h" -#include "webp/encode.h" - -#define IFS(fn) \ - do { \ - if (SUCCEEDED(hr)) { \ - hr = (fn); \ - if (FAILED(hr)) fprintf(stderr, #fn " failed %08lx\n", hr); \ - } \ - } while (0) - -// modified version of DEFINE_GUID from guiddef.h. -#define WEBP_DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \ - static const GUID name = \ - { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } } - -#ifdef __cplusplus -#define MAKE_REFGUID(x) (x) -#else -#define MAKE_REFGUID(x) &(x) -#endif - -typedef struct WICFormatImporter { - const GUID* pixel_format; - int bytes_per_pixel; - int (*import)(WebPPicture* const, const uint8_t* const, int); -} WICFormatImporter; - -// From Microsoft SDK 7.0a -- wincodec.h -// Create local copies for compatibility when building against earlier -// versions of the SDK. -WEBP_DEFINE_GUID(GUID_WICPixelFormat24bppBGR_, - 0x6fddc324, 0x4e03, 0x4bfe, - 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x0c); -WEBP_DEFINE_GUID(GUID_WICPixelFormat24bppRGB_, - 0x6fddc324, 0x4e03, 0x4bfe, - 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x0d); -WEBP_DEFINE_GUID(GUID_WICPixelFormat32bppBGRA_, - 0x6fddc324, 0x4e03, 0x4bfe, - 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x0f); -WEBP_DEFINE_GUID(GUID_WICPixelFormat32bppRGBA_, - 0xf5c7ad2d, 0x6a8d, 0x43dd, - 0xa7, 0xa8, 0xa2, 0x99, 0x35, 0x26, 0x1a, 0xe9); -WEBP_DEFINE_GUID(GUID_WICPixelFormat64bppBGRA_, - 0x1562ff7c, 0xd352, 0x46f9, - 0x97, 0x9e, 0x42, 0x97, 0x6b, 0x79, 0x22, 0x46); -WEBP_DEFINE_GUID(GUID_WICPixelFormat64bppRGBA_, - 0x6fddc324, 0x4e03, 0x4bfe, - 0xb1, 0x85, 0x3d, 0x77, 0x76, 0x8d, 0xc9, 0x16); - -static HRESULT OpenInputStream(const char* filename, IStream** stream) { - HRESULT hr = S_OK; - if (!WSTRCMP(filename, "-")) { - const uint8_t* data = NULL; - size_t data_size = 0; - const int ok = ImgIoUtilReadFile(filename, &data, &data_size); - if (ok) { - HGLOBAL image = GlobalAlloc(GMEM_MOVEABLE, data_size); - if (image != NULL) { - void* const image_mem = GlobalLock(image); - if (image_mem != NULL) { - memcpy(image_mem, data, data_size); - GlobalUnlock(image); - IFS(CreateStreamOnHGlobal(image, TRUE, stream)); - } else { - hr = E_FAIL; - } - } else { - hr = E_OUTOFMEMORY; - } - free((void*)data); - } else { - hr = E_FAIL; - } - } else { - IFS(SHCreateStreamOnFile((const LPTSTR)filename, STGM_READ, stream)); - } - - if (FAILED(hr)) { - _ftprintf(stderr, _T("Error opening input file %s (%08lx)\n"), - (const LPTSTR)filename, hr); - } - return hr; -} - -// ----------------------------------------------------------------------------- -// Metadata processing - -// Stores the first non-zero sized color profile from 'frame' to 'iccp'. -// Returns an HRESULT to indicate success or failure. The caller is responsible -// for freeing 'iccp->bytes' in either case. -static HRESULT ExtractICCP(IWICImagingFactory* const factory, - IWICBitmapFrameDecode* const frame, - MetadataPayload* const iccp) { - HRESULT hr = S_OK; - UINT i, count; - IWICColorContext** color_contexts; - - IFS(IWICBitmapFrameDecode_GetColorContexts(frame, 0, NULL, &count)); - if (FAILED(hr) || count == 0) return hr; - - color_contexts = (IWICColorContext**)calloc(count, sizeof(*color_contexts)); - if (color_contexts == NULL) return E_OUTOFMEMORY; - for (i = 0; SUCCEEDED(hr) && i < count; ++i) { - IFS(IWICImagingFactory_CreateColorContext(factory, &color_contexts[i])); - } - - if (SUCCEEDED(hr)) { - UINT num_color_contexts; - IFS(IWICBitmapFrameDecode_GetColorContexts(frame, - count, color_contexts, - &num_color_contexts)); - assert(FAILED(hr) || num_color_contexts <= count); - for (i = 0; SUCCEEDED(hr) && i < num_color_contexts; ++i) { - WICColorContextType type; - IFS(IWICColorContext_GetType(color_contexts[i], &type)); - if (SUCCEEDED(hr) && type == WICColorContextProfile) { - UINT size; - IFS(IWICColorContext_GetProfileBytes(color_contexts[i], - 0, NULL, &size)); - if (SUCCEEDED(hr) && size > 0) { - iccp->bytes = (uint8_t*)malloc(size); - if (iccp->bytes == NULL) { - hr = E_OUTOFMEMORY; - break; - } - iccp->size = size; - IFS(IWICColorContext_GetProfileBytes(color_contexts[i], - (UINT)iccp->size, iccp->bytes, - &size)); - if (SUCCEEDED(hr) && size != iccp->size) { - fprintf(stderr, "Warning! ICC profile size (%u) != expected (%u)\n", - size, (uint32_t)iccp->size); - iccp->size = size; - } - break; - } - } - } - } - for (i = 0; i < count; ++i) { - if (color_contexts[i] != NULL) IUnknown_Release(color_contexts[i]); - } - free(color_contexts); - return hr; -} - -static HRESULT ExtractMetadata(IWICImagingFactory* const factory, - IWICBitmapFrameDecode* const frame, - Metadata* const metadata) { - // TODO(jzern): add XMP/EXIF extraction. - const HRESULT hr = ExtractICCP(factory, frame, &metadata->iccp); - if (FAILED(hr)) MetadataFree(metadata); - return hr; -} - -// ----------------------------------------------------------------------------- - -static int HasPalette(GUID pixel_format) { - return (IsEqualGUID(MAKE_REFGUID(pixel_format), - MAKE_REFGUID(GUID_WICPixelFormat1bppIndexed)) || - IsEqualGUID(MAKE_REFGUID(pixel_format), - MAKE_REFGUID(GUID_WICPixelFormat2bppIndexed)) || - IsEqualGUID(MAKE_REFGUID(pixel_format), - MAKE_REFGUID(GUID_WICPixelFormat4bppIndexed)) || - IsEqualGUID(MAKE_REFGUID(pixel_format), - MAKE_REFGUID(GUID_WICPixelFormat8bppIndexed))); -} - -static int HasAlpha(IWICImagingFactory* const factory, - IWICBitmapDecoder* const decoder, - IWICBitmapFrameDecode* const frame, - GUID pixel_format) { - int has_alpha; - if (HasPalette(pixel_format)) { - IWICPalette* frame_palette = NULL; - IWICPalette* global_palette = NULL; - BOOL frame_palette_has_alpha = FALSE; - BOOL global_palette_has_alpha = FALSE; - - // A palette may exist at the frame or container level, - // check IWICPalette::HasAlpha() for both if present. - if (SUCCEEDED(IWICImagingFactory_CreatePalette(factory, &frame_palette)) && - SUCCEEDED(IWICBitmapFrameDecode_CopyPalette(frame, frame_palette))) { - IWICPalette_HasAlpha(frame_palette, &frame_palette_has_alpha); - } - if (SUCCEEDED(IWICImagingFactory_CreatePalette(factory, &global_palette)) && - SUCCEEDED(IWICBitmapDecoder_CopyPalette(decoder, global_palette))) { - IWICPalette_HasAlpha(global_palette, &global_palette_has_alpha); - } - has_alpha = frame_palette_has_alpha || global_palette_has_alpha; - - if (frame_palette != NULL) IUnknown_Release(frame_palette); - if (global_palette != NULL) IUnknown_Release(global_palette); - } else { - has_alpha = IsEqualGUID(MAKE_REFGUID(pixel_format), - MAKE_REFGUID(GUID_WICPixelFormat32bppRGBA_)) || - IsEqualGUID(MAKE_REFGUID(pixel_format), - MAKE_REFGUID(GUID_WICPixelFormat32bppBGRA_)) || - IsEqualGUID(MAKE_REFGUID(pixel_format), - MAKE_REFGUID(GUID_WICPixelFormat64bppRGBA_)) || - IsEqualGUID(MAKE_REFGUID(pixel_format), - MAKE_REFGUID(GUID_WICPixelFormat64bppBGRA_)); - } - return has_alpha; -} - -int ReadPictureWithWIC(const char* const filename, - WebPPicture* const pic, int keep_alpha, - Metadata* const metadata) { - // From Microsoft SDK 6.0a -- ks.h - // Define a local copy to avoid link errors under mingw. - WEBP_DEFINE_GUID(GUID_NULL_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - static const WICFormatImporter kAlphaFormatImporters[] = { - { &GUID_WICPixelFormat32bppBGRA_, 4, WebPPictureImportBGRA }, - { &GUID_WICPixelFormat32bppRGBA_, 4, WebPPictureImportRGBA }, - { NULL, 0, NULL }, - }; - static const WICFormatImporter kNonAlphaFormatImporters[] = { - { &GUID_WICPixelFormat24bppBGR_, 3, WebPPictureImportBGR }, - { &GUID_WICPixelFormat24bppRGB_, 3, WebPPictureImportRGB }, - { NULL, 0, NULL }, - }; - HRESULT hr = S_OK; - IWICBitmapFrameDecode* frame = NULL; - IWICFormatConverter* converter = NULL; - IWICImagingFactory* factory = NULL; - IWICBitmapDecoder* decoder = NULL; - IStream* stream = NULL; - UINT frame_count = 0; - UINT width = 0, height = 0; - BYTE* rgb = NULL; - WICPixelFormatGUID src_pixel_format = GUID_WICPixelFormatUndefined; - const WICFormatImporter* importer = NULL; - GUID src_container_format = GUID_NULL_; - static const GUID* kAlphaContainers[] = { - &GUID_ContainerFormatBmp, - &GUID_ContainerFormatPng, - &GUID_ContainerFormatTiff, - NULL - }; - int has_alpha = 0; - int64_t stride; - - if (filename == NULL || pic == NULL) return 0; - - IFS(CoInitialize(NULL)); - IFS(CoCreateInstance(MAKE_REFGUID(CLSID_WICImagingFactory), NULL, - CLSCTX_INPROC_SERVER, - MAKE_REFGUID(IID_IWICImagingFactory), - (LPVOID*)&factory)); - if (hr == REGDB_E_CLASSNOTREG) { - fprintf(stderr, - "Couldn't access Windows Imaging Component (are you running " - "Windows XP SP3 or newer?). Most formats not available. " - "Use -s for the available YUV input.\n"); - } - // Prepare for image decoding. - IFS(OpenInputStream(filename, &stream)); - IFS(IWICImagingFactory_CreateDecoderFromStream( - factory, stream, NULL, - WICDecodeMetadataCacheOnDemand, &decoder)); - IFS(IWICBitmapDecoder_GetFrameCount(decoder, &frame_count)); - if (SUCCEEDED(hr) && frame_count == 0) { - fprintf(stderr, "No frame found in input file.\n"); - hr = E_FAIL; - } - IFS(IWICBitmapDecoder_GetFrame(decoder, 0, &frame)); - IFS(IWICBitmapFrameDecode_GetPixelFormat(frame, &src_pixel_format)); - IFS(IWICBitmapDecoder_GetContainerFormat(decoder, &src_container_format)); - - if (SUCCEEDED(hr) && keep_alpha) { - const GUID** guid; - for (guid = kAlphaContainers; *guid != NULL; ++guid) { - if (IsEqualGUID(MAKE_REFGUID(src_container_format), - MAKE_REFGUID(**guid))) { - has_alpha = HasAlpha(factory, decoder, frame, src_pixel_format); - break; - } - } - } - - // Prepare for pixel format conversion (if necessary). - IFS(IWICImagingFactory_CreateFormatConverter(factory, &converter)); - - for (importer = has_alpha ? kAlphaFormatImporters : kNonAlphaFormatImporters; - hr == S_OK && importer->import != NULL; ++importer) { - BOOL can_convert; - const HRESULT cchr = IWICFormatConverter_CanConvert( - converter, - MAKE_REFGUID(src_pixel_format), - MAKE_REFGUID(*importer->pixel_format), - &can_convert); - if (SUCCEEDED(cchr) && can_convert) break; - } - if (importer->import == NULL) hr = E_FAIL; - - IFS(IWICFormatConverter_Initialize(converter, (IWICBitmapSource*)frame, - importer->pixel_format, - WICBitmapDitherTypeNone, - NULL, 0.0, WICBitmapPaletteTypeCustom)); - - // Decode. - IFS(IWICFormatConverter_GetSize(converter, &width, &height)); - stride = (int64_t)importer->bytes_per_pixel * width * sizeof(*rgb); - if (stride != (int)stride || - !ImgIoUtilCheckSizeArgumentsOverflow(stride, height)) { - hr = E_FAIL; - } - - if (SUCCEEDED(hr)) { - rgb = (BYTE*)malloc((size_t)stride * height); - if (rgb == NULL) - hr = E_OUTOFMEMORY; - } - IFS(IWICFormatConverter_CopyPixels(converter, NULL, - (UINT)stride, (UINT)stride * height, rgb)); - - // WebP conversion. - if (SUCCEEDED(hr)) { - int ok; - pic->width = width; - pic->height = height; - pic->use_argb = 1; // For WIC, we always force to argb - ok = importer->import(pic, rgb, (int)stride); - if (!ok) hr = E_FAIL; - } - if (SUCCEEDED(hr)) { - if (metadata != NULL) { - hr = ExtractMetadata(factory, frame, metadata); - if (FAILED(hr)) { - fprintf(stderr, "Error extracting image metadata using WIC!\n"); - } - } - } - - // Cleanup. - if (converter != NULL) IUnknown_Release(converter); - if (frame != NULL) IUnknown_Release(frame); - if (decoder != NULL) IUnknown_Release(decoder); - if (factory != NULL) IUnknown_Release(factory); - if (stream != NULL) IUnknown_Release(stream); - free(rgb); - return SUCCEEDED(hr); -} -#else // !HAVE_WINCODEC_H -int ReadPictureWithWIC(const char* const filename, - struct WebPPicture* const pic, int keep_alpha, - struct Metadata* const metadata) { - (void)filename; - (void)pic; - (void)keep_alpha; - (void)metadata; - fprintf(stderr, "Windows Imaging Component (WIC) support not compiled. " - "Visual Studio and mingw-w64 builds support WIC. Make sure " - "wincodec.h detection is working correctly if using autoconf " - "and HAVE_WINCODEC_H is defined before building.\n"); - return 0; -} -#endif // HAVE_WINCODEC_H - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/wicdec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/wicdec.h deleted file mode 100644 index d9eeca82..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/imageio/wicdec.h +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Windows Imaging Component (WIC) decode. - -#ifndef WEBP_IMAGEIO_WICDEC_H_ -#define WEBP_IMAGEIO_WICDEC_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -struct Metadata; -struct WebPPicture; - -// Reads an image from 'filename', returning the decoded output in 'pic'. -// If 'keep_alpha' is true and the image has an alpha channel, the output is -// RGBA otherwise it will be RGB. pic->use_argb is always forced to true. -// Returns true on success. -int ReadPictureWithWIC(const char* const filename, - struct WebPPicture* const pic, int keep_alpha, - struct Metadata* const metadata); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_IMAGEIO_WICDEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/iosbuild.sh b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/iosbuild.sh deleted file mode 100755 index e4031de0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/iosbuild.sh +++ /dev/null @@ -1,150 +0,0 @@ -#!/bin/bash -# -# This script generates 'WebP.framework' and 'WebPDecoder.framework'. An iOS -# app can decode WebP images by including 'WebPDecoder.framework' and both -# encode and decode WebP images by including 'WebP.framework'. -# -# Run ./iosbuild.sh to generate the frameworks under the current directory -# (the previous build will be erased if it exists). -# -# This script is inspired by the build script written by Carson McDonald. -# (http://www.ioncannon.net/programming/1483/using-webp-to-reduce-native-ios-app-size/). - -set -e - -# Extract the latest SDK version from the final field of the form: iphoneosX.Y -readonly SDK=$(xcodebuild -showsdks \ - | grep iphoneos | sort | tail -n 1 | awk '{print substr($NF, 9)}' -) -# Extract Xcode version. -readonly XCODE=$(xcodebuild -version | grep Xcode | cut -d " " -f2) -if [[ -z "${XCODE}" ]]; then - echo "Xcode not available" - exit 1 -fi - -readonly OLDPATH=${PATH} - -# Add iPhoneOS-V6 to the list of platforms below if you need armv6 support. -# Note that iPhoneOS-V6 support is not available with the iOS6 SDK. -PLATFORMS="iPhoneSimulator iPhoneSimulator64" -PLATFORMS+=" iPhoneOS-V7 iPhoneOS-V7s iPhoneOS-V7-arm64" -readonly PLATFORMS -readonly SRCDIR=$(dirname $0) -readonly TOPDIR=$(pwd) -readonly BUILDDIR="${TOPDIR}/iosbuild" -readonly TARGETDIR="${TOPDIR}/WebP.framework" -readonly DECTARGETDIR="${TOPDIR}/WebPDecoder.framework" -readonly MUXTARGETDIR="${TOPDIR}/WebPMux.framework" -readonly DEMUXTARGETDIR="${TOPDIR}/WebPDemux.framework" -readonly DEVELOPER=$(xcode-select --print-path) -readonly PLATFORMSROOT="${DEVELOPER}/Platforms" -readonly LIPO=$(xcrun -sdk iphoneos${SDK} -find lipo) -LIBLIST='' -DECLIBLIST='' -MUXLIBLIST='' -DEMUXLIBLIST='' - -if [[ -z "${SDK}" ]]; then - echo "iOS SDK not available" - exit 1 -elif [[ ${SDK%%.*} -gt 8 ]]; then - EXTRA_CFLAGS="-fembed-bitcode" -elif [[ ${SDK} < 6.0 ]]; then - echo "You need iOS SDK version 6.0 or above" - exit 1 -else - echo "iOS SDK Version ${SDK}" -fi - -rm -rf ${BUILDDIR} ${TARGETDIR} ${DECTARGETDIR} \ - ${MUXTARGETDIR} ${DEMUXTARGETDIR} -mkdir -p ${BUILDDIR} ${TARGETDIR}/Headers/ ${DECTARGETDIR}/Headers/ \ - ${MUXTARGETDIR}/Headers/ ${DEMUXTARGETDIR}/Headers/ - -if [[ ! -e ${SRCDIR}/configure ]]; then - if ! (cd ${SRCDIR} && sh autogen.sh); then - cat < -# Copyright (c) 2011 Daniel Richard G. -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 21 - -AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) -AC_DEFUN([AX_PTHREAD], [ -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_LANG_PUSH([C]) -ax_pthread_ok=no - -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. - -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) - AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes]) - AC_MSG_RESULT([$ax_pthread_ok]) - if test x"$ax_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" -fi - -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. - -ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC -# pthread: Linux, etcetera -# --thread-safe: KAI C++ -# pthread-config: use pthread-config program (for GNU Pth library) - -case ${host_os} in - solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" - ;; - - darwin*) - ax_pthread_flags="-pthread $ax_pthread_flags" - ;; -esac - -# Clang doesn't consider unrecognized options an error unless we specify -# -Werror. We throw in some extra Clang-specific options to ensure that -# this doesn't happen for GCC, which also accepts -Werror. - -AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags]) -save_CFLAGS="$CFLAGS" -ax_pthread_extra_flags="-Werror" -CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument" -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])], - [AC_MSG_RESULT([yes])], - [ax_pthread_extra_flags= - AC_MSG_RESULT([no])]) -CFLAGS="$save_CFLAGS" - -if test x"$ax_pthread_ok" = xno; then -for flag in $ax_pthread_flags; do - - case $flag in - none) - AC_MSG_CHECKING([whether pthreads work without any flags]) - ;; - - -*) - AC_MSG_CHECKING([whether pthreads work with $flag]) - PTHREAD_CFLAGS="$flag" - ;; - - pthread-config) - AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) - if test x"$ax_pthread_config" = xno; then continue; fi - PTHREAD_CFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; - - *) - AC_MSG_CHECKING([for the pthreads library -l$flag]) - PTHREAD_LIBS="-l$flag" - ;; - esac - - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include - static void routine(void *a) { a = 0; } - static void *start_routine(void *a) { return a; }], - [pthread_t th; pthread_attr_t attr; - pthread_create(&th, 0, start_routine, 0); - pthread_join(th, 0); - pthread_attr_init(&attr); - pthread_cleanup_push(routine, 0); - pthread_cleanup_pop(0) /* ; */])], - [ax_pthread_ok=yes], - []) - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - AC_MSG_RESULT([$ax_pthread_ok]) - if test "x$ax_pthread_ok" = xyes; then - break; - fi - - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done -fi - -# Various other checks: -if test "x$ax_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - AC_MSG_CHECKING([for joinable pthread attribute]) - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [int attr = $attr; return attr /* ; */])], - [attr_name=$attr; break], - []) - done - AC_MSG_RESULT([$attr_name]) - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name], - [Define to necessary symbol if this constant - uses a non-standard name on your system.]) - fi - - AC_MSG_CHECKING([if more special flags are required for pthreads]) - flag=no - case ${host_os} in - aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; - osf* | hpux*) flag="-D_REENTRANT";; - solaris*) - if test "$GCC" = "yes"; then - flag="-D_REENTRANT" - else - # TODO: What about Clang on Solaris? - flag="-mt -D_REENTRANT" - fi - ;; - esac - AC_MSG_RESULT([$flag]) - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi - - AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], - [ax_cv_PTHREAD_PRIO_INHERIT], [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[int i = PTHREAD_PRIO_INHERIT;]])], - [ax_cv_PTHREAD_PRIO_INHERIT=yes], - [ax_cv_PTHREAD_PRIO_INHERIT=no]) - ]) - AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], - [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])]) - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - # More AIX lossage: compile with *_r variant - if test "x$GCC" != xyes; then - case $host_os in - aix*) - AS_CASE(["x/$CC"], - [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], - [#handle absolute path differently from PATH based program lookup - AS_CASE(["x$CC"], - [x/*], - [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], - [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) - ;; - esac - fi -fi - -test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" - -AC_SUBST([PTHREAD_LIBS]) -AC_SUBST([PTHREAD_CFLAGS]) -AC_SUBST([PTHREAD_CC]) - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_pthread_ok" = xyes; then - ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) - : -else - ax_pthread_ok=no - $2 -fi -AC_LANG_POP -])dnl AX_PTHREAD diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/makefile.unix b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/makefile.unix deleted file mode 100644 index 769c5494..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/makefile.unix +++ /dev/null @@ -1,500 +0,0 @@ -# This makefile is a simpler alternative to the autoconf-based build -# system, for simple local building of the libraries and tools. -# It will not install the libraries system-wide, but just create the 'cwebp' -# and 'dwebp' tools in the examples/ directory, along with the static -# libraries 'src/libwebp.a', 'src/libwebpdecoder.a', 'src/mux/libwebpmux.a', -# 'src/demux/libwebpdemux.a' and 'extras/libwebpextras.a'. -# -# To build the library and examples, use: -# make -f makefile.unix -# from this top directory. - -#### Customizable part #### - -# These flags assume you have libpng, libjpeg, libtiff and libgif installed. If -# not, either follow the install instructions below or just comment out the next -# four lines. -EXTRA_FLAGS= -DWEBP_HAVE_PNG -DWEBP_HAVE_JPEG -DWEBP_HAVE_TIFF -DWEBP_LIBS= -lpng -lz -CWEBP_LIBS= $(DWEBP_LIBS) -ljpeg -ltiff -GIF_LIBS = -lgif - -ifeq ($(strip $(shell uname)), Darwin) - # Work around a problem linking tables marked as common symbols, - # cf., src/enc/yuv.[hc] - # Failure observed with: gcc 4.2.1 and 4.0.1. - EXTRA_FLAGS += -fno-common - EXTRA_FLAGS += -DHAVE_GLUT_GLUT_H - EXTRA_FLAGS += -Wno-deprecated-declarations - EXTRA_FLAGS += -I/opt/local/include - EXTRA_LIBS += -L/opt/local/lib - GL_LIBS = -framework GLUT -framework OpenGL -else - EXTRA_FLAGS += -I/usr/local/include - EXTRA_LIBS += -L/usr/local/lib - GL_LIBS = -lglut -lGL -endif - -# SDL flags: use sdl-config if it exists -SDL_CONFIG = $(shell sdl-config --version 2> /dev/null) -ifneq ($(SDL_CONFIG),) - SDL_LIBS = $(shell sdl-config --libs) - SDL_FLAGS = $(shell sdl-config --cflags) -else - # use best-guess - SDL_LIBS = -lSDL - SDL_FLAGS = -endif - -# To install libraries on Mac OS X: -# 1. Install MacPorts (http://www.macports.org/install.php) -# 2. Run "sudo port install jpeg" -# 3. Run "sudo port install libpng" -# 4. Run "sudo port install tiff" -# 5. Run "sudo port install giflib" - -# To install libraries on Linux: -# 1. Run "sudo apt-get install libjpeg62-dev" -# 2. Run "sudo apt-get install libpng12-dev" -# 3. Run "sudo apt-get install libtiff4-dev" -# 4. Run "sudo apt-get install libgif-dev" - -# Uncomment for build for 32bit platform -# Alternatively, you can just use the command -# 'make -f makefile.unix EXTRA_FLAGS=-m32' to that effect. -# EXTRA_FLAGS += -m32 - -# Extra flags to enable byte swap for 16 bit colorspaces. -# EXTRA_FLAGS += -DWEBP_SWAP_16BIT_CSP=1 - -# Extra flags to enable multi-threading -EXTRA_FLAGS += -DWEBP_USE_THREAD -EXTRA_LIBS += -lpthread - -# Control symbol visibility. Comment out if your compiler doesn't support it. -EXTRA_FLAGS += -fvisibility=hidden - -# Extra flags to emulate C89 strictness with the full ANSI -EXTRA_FLAGS += -Wextra -Wold-style-definition -EXTRA_FLAGS += -Wmissing-prototypes -EXTRA_FLAGS += -Wmissing-declarations -EXTRA_FLAGS += -Wdeclaration-after-statement -EXTRA_FLAGS += -Wshadow -EXTRA_FLAGS += -Wformat-security -Wformat-nonliteral -# EXTRA_FLAGS += -Wvla - -# SSE4.1-specific flags: -ifeq ($(HAVE_SSE41), 1) -EXTRA_FLAGS += -DWEBP_HAVE_SSE41 -src/dsp/%_sse41.o: EXTRA_FLAGS += -msse4.1 -endif - -# NEON-specific flags: -# EXTRA_FLAGS += -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 -# -> seems to make the overall lib slower: -fno-split-wide-types - -# MIPS (MSA) 32-bit build specific flags for mips32r5 (p5600): -# EXTRA_FLAGS += -mips32r5 -mabi=32 -mtune=p5600 -mmsa -mfp64 -# EXTRA_FLAGS += -msched-weight -mload-store-pairs - -# MIPS (MSA) 64-bit build specific flags for mips64r6 (i6400): -# EXTRA_FLAGS += -mips64r6 -mabi=64 -mtune=i6400 -mmsa -mfp64 -# EXTRA_FLAGS += -msched-weight -mload-store-pairs - -#### Nothing should normally be changed below this line #### - -AR = ar -ARFLAGS = r -CPPFLAGS = -I. -Isrc/ -Wall -ifeq ($(DEBUG), 1) - CFLAGS = -g -else - CFLAGS = -O3 -DNDEBUG -endif -CFLAGS += $(EXTRA_FLAGS) -CC = gcc -INSTALL = install -GROFF = /usr/bin/groff -COL = /usr/bin/col -LDFLAGS = $(EXTRA_LIBS) $(EXTRA_FLAGS) -lm - -ifdef BITTRACE -CFLAGS += -DBITTRACE=$(BITTRACE) -endif - -ANIM_UTIL_OBJS = \ - examples/anim_util.o \ - -DEC_OBJS = \ - src/dec/alpha_dec.o \ - src/dec/buffer_dec.o \ - src/dec/frame_dec.o \ - src/dec/idec_dec.o \ - src/dec/io_dec.o \ - src/dec/quant_dec.o \ - src/dec/tree_dec.o \ - src/dec/vp8_dec.o \ - src/dec/vp8l_dec.o \ - src/dec/webp_dec.o \ - -DEMUX_OBJS = \ - src/demux/anim_decode.o \ - src/demux/demux.o \ - -DSP_DEC_OBJS = \ - src/dsp/alpha_processing.o \ - src/dsp/alpha_processing_mips_dsp_r2.o \ - src/dsp/alpha_processing_neon.o \ - src/dsp/alpha_processing_sse2.o \ - src/dsp/alpha_processing_sse41.o \ - src/dsp/cpu.o \ - src/dsp/dec.o \ - src/dsp/dec_clip_tables.o \ - src/dsp/dec_mips32.o \ - src/dsp/dec_mips_dsp_r2.o \ - src/dsp/dec_msa.o \ - src/dsp/dec_neon.o \ - src/dsp/dec_sse2.o \ - src/dsp/dec_sse41.o \ - src/dsp/filters.o \ - src/dsp/filters_mips_dsp_r2.o \ - src/dsp/filters_msa.o \ - src/dsp/filters_neon.o \ - src/dsp/filters_sse2.o \ - src/dsp/lossless.o \ - src/dsp/lossless_mips_dsp_r2.o \ - src/dsp/lossless_msa.o \ - src/dsp/lossless_neon.o \ - src/dsp/lossless_sse2.o \ - src/dsp/rescaler.o \ - src/dsp/rescaler_mips32.o \ - src/dsp/rescaler_mips_dsp_r2.o \ - src/dsp/rescaler_msa.o \ - src/dsp/rescaler_neon.o \ - src/dsp/rescaler_sse2.o \ - src/dsp/upsampling.o \ - src/dsp/upsampling_mips_dsp_r2.o \ - src/dsp/upsampling_msa.o \ - src/dsp/upsampling_neon.o \ - src/dsp/upsampling_sse2.o \ - src/dsp/upsampling_sse41.o \ - src/dsp/yuv.o \ - src/dsp/yuv_mips32.o \ - src/dsp/yuv_mips_dsp_r2.o \ - src/dsp/yuv_neon.o \ - src/dsp/yuv_sse2.o \ - src/dsp/yuv_sse41.o \ - -DSP_ENC_OBJS = \ - src/dsp/cost.o \ - src/dsp/cost_mips32.o \ - src/dsp/cost_mips_dsp_r2.o \ - src/dsp/cost_neon.o \ - src/dsp/cost_sse2.o \ - src/dsp/enc.o \ - src/dsp/enc_mips32.o \ - src/dsp/enc_mips_dsp_r2.o \ - src/dsp/enc_msa.o \ - src/dsp/enc_neon.o \ - src/dsp/enc_sse2.o \ - src/dsp/enc_sse41.o \ - src/dsp/lossless_enc.o \ - src/dsp/lossless_enc_mips32.o \ - src/dsp/lossless_enc_mips_dsp_r2.o \ - src/dsp/lossless_enc_msa.o \ - src/dsp/lossless_enc_neon.o \ - src/dsp/lossless_enc_sse2.o \ - src/dsp/lossless_enc_sse41.o \ - src/dsp/ssim.o \ - src/dsp/ssim_sse2.o \ - -ENC_OBJS = \ - src/enc/alpha_enc.o \ - src/enc/analysis_enc.o \ - src/enc/backward_references_cost_enc.o \ - src/enc/backward_references_enc.o \ - src/enc/config_enc.o \ - src/enc/cost_enc.o \ - src/enc/filter_enc.o \ - src/enc/frame_enc.o \ - src/enc/histogram_enc.o \ - src/enc/iterator_enc.o \ - src/enc/near_lossless_enc.o \ - src/enc/picture_enc.o \ - src/enc/picture_csp_enc.o \ - src/enc/picture_psnr_enc.o \ - src/enc/picture_rescale_enc.o \ - src/enc/picture_tools_enc.o \ - src/enc/predictor_enc.o \ - src/enc/quant_enc.o \ - src/enc/syntax_enc.o \ - src/enc/token_enc.o \ - src/enc/tree_enc.o \ - src/enc/vp8l_enc.o \ - src/enc/webp_enc.o \ - -EX_FORMAT_DEC_OBJS = \ - imageio/image_dec.o \ - imageio/jpegdec.o \ - imageio/metadata.o \ - imageio/pngdec.o \ - imageio/pnmdec.o \ - imageio/tiffdec.o \ - imageio/webpdec.o \ - -EX_FORMAT_ENC_OBJS = \ - imageio/image_enc.o \ - -EX_UTIL_OBJS = \ - examples/example_util.o \ - -GIFDEC_OBJS = \ - examples/gifdec.o \ - -IMAGE_UTIL_OBJS = \ - imageio/imageio_util.o \ - -MUX_OBJS = \ - src/mux/anim_encode.o \ - src/mux/muxedit.o \ - src/mux/muxinternal.o \ - src/mux/muxread.o \ - -UTILS_DEC_OBJS = \ - src/utils/bit_reader_utils.o \ - src/utils/color_cache_utils.o \ - src/utils/filters_utils.o \ - src/utils/huffman_utils.o \ - src/utils/quant_levels_dec_utils.o \ - src/utils/random_utils.o \ - src/utils/rescaler_utils.o \ - src/utils/thread_utils.o \ - src/utils/utils.o \ - -UTILS_ENC_OBJS = \ - src/utils/bit_writer_utils.o \ - src/utils/huffman_encode_utils.o \ - src/utils/quant_levels_utils.o \ - -EXTRA_OBJS = \ - extras/extras.o \ - extras/quality_estimate.o \ - -LIBWEBPDECODER_OBJS = $(DEC_OBJS) $(DSP_DEC_OBJS) $(UTILS_DEC_OBJS) -LIBWEBP_OBJS = $(LIBWEBPDECODER_OBJS) $(ENC_OBJS) $(DSP_ENC_OBJS) \ - $(UTILS_ENC_OBJS) -LIBWEBPMUX_OBJS = $(MUX_OBJS) -LIBWEBPDEMUX_OBJS = $(DEMUX_OBJS) -LIBWEBPEXTRA_OBJS = $(EXTRA_OBJS) - -HDRS_INSTALLED = \ - src/webp/decode.h \ - src/webp/demux.h \ - src/webp/encode.h \ - src/webp/mux.h \ - src/webp/mux_types.h \ - src/webp/types.h \ - -HDRS = \ - src/dec/alphai_dec.h \ - src/dec/common_dec.h \ - src/dec/vp8_dec.h \ - src/dec/vp8i_dec.h \ - src/dec/vp8li_dec.h \ - src/dec/webpi_dec.h \ - src/dsp/common_sse2.h \ - src/dsp/dsp.h \ - src/dsp/lossless.h \ - src/dsp/lossless_common.h \ - src/dsp/mips_macro.h \ - src/dsp/msa_macro.h \ - src/dsp/neon.h \ - src/dsp/yuv.h \ - src/enc/backward_references_enc.h \ - src/enc/cost_enc.h \ - src/enc/histogram_enc.h \ - src/enc/vp8i_enc.h \ - src/enc/vp8li_enc.h \ - src/mux/animi.h \ - src/mux/muxi.h \ - src/utils/bit_reader_utils.h \ - src/utils/bit_reader_inl_utils.h \ - src/utils/bit_writer_utils.h \ - src/utils/color_cache_utils.h \ - src/utils/endian_inl_utils.h \ - src/utils/filters_utils.h \ - src/utils/huffman_utils.h \ - src/utils/huffman_encode_utils.h \ - src/utils/quant_levels_utils.h \ - src/utils/quant_levels_dec_utils.h \ - src/utils/random_utils.h \ - src/utils/rescaler_utils.h \ - src/utils/thread_utils.h \ - src/utils/utils.h \ - src/webp/format_constants.h \ - $(HDRS_INSTALLED) \ - -OUT_LIBS = examples/libexample_util.a -OUT_LIBS += imageio/libimageio_util.a -OUT_LIBS += imageio/libimagedec.a -OUT_LIBS += imageio/libimageenc.a -OUT_LIBS += src/libwebpdecoder.a -OUT_LIBS += src/libwebp.a -EXTRA_LIB = extras/libwebpextras.a -OUT_EXAMPLES = examples/cwebp examples/dwebp -EXTRA_EXAMPLES = examples/gif2webp examples/vwebp examples/webpmux \ - examples/anim_diff examples/anim_dump \ - examples/img2webp examples/webpinfo -OTHER_EXAMPLES = extras/get_disto extras/webp_quality extras/vwebp_sdl - -OUTPUT = $(OUT_LIBS) $(OUT_EXAMPLES) -ifeq ($(MAKECMDGOALS),clean) - OUTPUT += $(EXTRA_EXAMPLES) $(OTHER_EXAMPLES) - OUTPUT += src/demux/libwebpdemux.a src/mux/libwebpmux.a $(EXTRA_LIB) - OUTPUT += examples/libgifdec.a examples/libanim_util.a -endif - -ex: $(OUT_EXAMPLES) -all: ex $(EXTRA_EXAMPLES) $(OTHER_EXAMPLES) -extras: $(EXTRA_LIB) - -$(EX_FORMAT_DEC_OBJS): %.o: %.h - -# special dependencies: -# tree_dec.c/vp8_dec.c/bit_reader_utils.c <-> -# bit_reader_inl_utils.h, endian_inl_utils.h -# bit_writer_utils.c <-> endian_inl_utils.h -src/dec/tree_dec.o: src/utils/bit_reader_inl_utils.h -src/dec/tree_dec.o: src/utils/endian_inl_utils.h -src/dec/vp8_dec.o: src/utils/bit_reader_inl_utils.h src/utils/endian_inl_utils.h -src/utils/bit_reader_utils.o: src/utils/bit_reader_inl_utils.h -src/utils/bit_reader_utils.o: src/utils/endian_inl_utils.h -src/utils/bit_writer_utils.o: src/utils/endian_inl_utils.h - -%.o: %.c $(HDRS) - $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ - -examples/libanim_util.a: $(ANIM_UTIL_OBJS) -examples/libexample_util.a: $(EX_UTIL_OBJS) -examples/libgifdec.a: $(GIFDEC_OBJS) -extras/libwebpextras.a: $(LIBWEBPEXTRA_OBJS) -imageio/libimagedec.a: $(EX_FORMAT_DEC_OBJS) -imageio/libimageenc.a: $(EX_FORMAT_ENC_OBJS) -imageio/libimageio_util.a: $(IMAGE_UTIL_OBJS) -src/libwebpdecoder.a: $(LIBWEBPDECODER_OBJS) -src/libwebp.a: $(LIBWEBP_OBJS) -src/mux/libwebpmux.a: $(LIBWEBPMUX_OBJS) -src/demux/libwebpdemux.a: $(LIBWEBPDEMUX_OBJS) - -%.a: - $(AR) $(ARFLAGS) $@ $^ - -examples/anim_diff: examples/anim_diff.o $(ANIM_UTIL_OBJS) $(GIFDEC_OBJS) -examples/anim_dump: examples/anim_dump.o $(ANIM_UTIL_OBJS) $(GIFDEC_OBJS) -examples/cwebp: examples/cwebp.o -examples/dwebp: examples/dwebp.o -examples/gif2webp: examples/gif2webp.o $(GIFDEC_OBJS) -examples/vwebp: examples/vwebp.o -examples/webpmux: examples/webpmux.o -examples/img2webp: examples/img2webp.o -examples/webpinfo: examples/webpinfo.o - -examples/anim_diff: examples/libanim_util.a examples/libgifdec.a -examples/anim_diff: src/demux/libwebpdemux.a examples/libexample_util.a -examples/anim_diff: imageio/libimageio_util.a src/libwebp.a -examples/anim_diff: override EXTRA_LIBS += $(GIF_LIBS) -examples/anim_diff: EXTRA_FLAGS += -DWEBP_HAVE_GIF -examples/anim_dump: examples/libanim_util.a examples/libgifdec.a -examples/anim_dump: src/demux/libwebpdemux.a -examples/anim_dump: examples/libexample_util.a -examples/anim_dump: imageio/libimageio_util.a -examples/anim_dump: imageio/libimageenc.a -examples/anim_dump: src/libwebp.a -examples/anim_dump: override EXTRA_LIBS += $(GIF_LIBS) $(DWEBP_LIBS) -examples/cwebp: examples/libexample_util.a -examples/cwebp: imageio/libimagedec.a -examples/cwebp: src/demux/libwebpdemux.a -examples/cwebp: imageio/libimageio_util.a -examples/cwebp: src/libwebp.a -examples/cwebp: override EXTRA_LIBS += $(CWEBP_LIBS) -examples/dwebp: examples/libexample_util.a -examples/dwebp: imageio/libimagedec.a -examples/dwebp: src/demux/libwebpdemux.a -examples/dwebp: imageio/libimageenc.a -examples/dwebp: imageio/libimageio_util.a -examples/dwebp: src/libwebp.a -examples/dwebp: override EXTRA_LIBS += $(DWEBP_LIBS) -examples/gif2webp: examples/libexample_util.a imageio/libimageio_util.a -examples/gif2webp: examples/libgifdec.a src/mux/libwebpmux.a src/libwebp.a -examples/gif2webp: override EXTRA_LIBS += $(GIF_LIBS) -examples/gif2webp: EXTRA_FLAGS += -DWEBP_HAVE_GIF -examples/vwebp: examples/libexample_util.a src/demux/libwebpdemux.a -examples/vwebp: imageio/libimageio_util.a src/libwebp.a -examples/vwebp: override EXTRA_LIBS += $(GL_LIBS) -examples/vwebp: EXTRA_FLAGS += -DWEBP_HAVE_GL -examples/webpmux: examples/libexample_util.a imageio/libimageio_util.a -examples/webpmux: src/mux/libwebpmux.a src/libwebpdecoder.a -examples/img2webp: examples/libexample_util.a imageio/libimageio_util.a -examples/img2webp: imageio/libimagedec.a -examples/img2webp: src/demux/libwebpdemux.a -examples/img2webp: src/mux/libwebpmux.a src/libwebp.a -examples/img2webp: override EXTRA_LIBS += $(CWEBP_LIBS) -examples/webpinfo: examples/libexample_util.a imageio/libimageio_util.a -examples/webpinfo: src/libwebpdecoder.a - -extras/get_disto: extras/get_disto.o -extras/get_disto: imageio/libimagedec.a -extras/get_disto: src/demux/libwebpdemux.a -extras/get_disto: imageio/libimageio_util.a -extras/get_disto: src/libwebp.a -extras/get_disto: override EXTRA_LIBS += $(CWEBP_LIBS) - -extras/webp_quality: extras/webp_quality.o -extras/webp_quality: imageio/libimageio_util.a -extras/webp_quality: $(EXTRA_LIB) src/libwebp.a - -extras/vwebp_sdl: extras/vwebp_sdl.o -extras/vwebp_sdl: extras/webp_to_sdl.o -extras/vwebp_sdl: imageio/libimageio_util.a -extras/vwebp_sdl: src/libwebp.a -extras/vwebp_sdl: EXTRA_FLAGS += -DWEBP_HAVE_SDL $(SDL_FLAGS) -extras/vwebp_sdl: override EXTRA_LIBS += $(SDL_LIBS) - -$(OUT_EXAMPLES) $(EXTRA_EXAMPLES) $(OTHER_EXAMPLES): - $(CC) -o $@ $^ $(LDFLAGS) - -dist: DESTDIR := dist -dist: OUT_EXAMPLES += $(EXTRA_EXAMPLES) -dist: all - $(INSTALL) -m755 -d $(DESTDIR)/include/webp \ - $(DESTDIR)/bin $(DESTDIR)/doc $(DESTDIR)/lib - $(INSTALL) -m755 -s $(OUT_EXAMPLES) $(DESTDIR)/bin - $(INSTALL) -m644 $(HDRS_INSTALLED) $(DESTDIR)/include/webp - $(INSTALL) -m644 src/libwebp.a $(DESTDIR)/lib - $(INSTALL) -m644 src/demux/libwebpdemux.a $(DESTDIR)/lib - $(INSTALL) -m644 src/mux/libwebpmux.a $(DESTDIR)/lib - umask 022; \ - for m in man/[cdv]webp.1 man/gif2webp.1 man/webpmux.1 \ - man/img2webp.1 man/webpinfo.1; do \ - basenam=$$(basename $$m .1); \ - $(GROFF) -t -e -man -T ascii $$m \ - | $(COL) -bx >$(DESTDIR)/doc/$${basenam}.txt; \ - $(GROFF) -t -e -man -T html $$m \ - | $(COL) -bx >$(DESTDIR)/doc/$${basenam}.html; \ - done - -clean: - $(RM) $(OUTPUT) *~ \ - examples/*.o examples/*~ \ - extras/*.o extras/*~ \ - imageio/*.o imageio/*~ \ - src/dec/*.o src/dec/*~ \ - src/demux/*.o src/demux/*~ \ - src/dsp/*.o src/dsp/*~ \ - src/enc/*.o src/enc/*~ \ - src/mux/*.o src/mux/*~ \ - src/utils/*.o src/utils/*~ \ - src/webp/*~ man/*~ doc/*~ swig/*~ \ - -.PHONY: all clean dist ex -.SUFFIXES: diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/Makefile.am deleted file mode 100644 index 57e2483f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ -man_MANS = cwebp.1 dwebp.1 -if BUILD_MUX - man_MANS += webpmux.1 -endif -if BUILD_GIF2WEBP - man_MANS += gif2webp.1 -endif -if BUILD_IMG2WEBP - man_MANS += img2webp.1 -endif -if BUILD_VWEBP - man_MANS += vwebp.1 -endif -if BUILD_WEBPINFO - man_MANS += webpinfo.1 -endif -EXTRA_DIST = $(man_MANS) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/cwebp.1 b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/cwebp.1 deleted file mode 100644 index 58a03236..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/cwebp.1 +++ /dev/null @@ -1,318 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.TH CWEBP 1 "January 11, 2019" -.SH NAME -cwebp \- compress an image file to a WebP file -.SH SYNOPSIS -.B cwebp -.RI [ options ] " input_file \-o output_file.webp -.br -.SH DESCRIPTION -This manual page documents the -.B cwebp -command. -.PP -\fBcwebp\fP compresses an image using the WebP format. -Input format can be either PNG, JPEG, TIFF, WebP or raw Y'CbCr samples. -.SH OPTIONS -The basic options are: -.TP -.BI \-o " string -Specify the name of the output WebP file. If omitted, \fBcwebp\fP will -perform compression but only report statistics. -Using "\-" as output name will direct output to 'stdout'. -.TP -.BI \-\- " string -Explicitly specify the input file. This option is useful if the input -file starts with a '\-' for instance. This option must appear \fBlast\fP. -Any other options afterward will be ignored. -.TP -.B \-h, \-help -A short usage summary. -.TP -.B \-H, \-longhelp -A summary of all the possible options. -.TP -.B \-version -Print the version number (as major.minor.revision) and exit. -.TP -.B \-lossless -Encode the image without any loss. For images with fully transparent area, -the invisible pixel values (R/G/B or Y/U/V) will be preserved only if the -\-exact option is used. -.TP -.BI \-near_lossless " int -Specify the level of near\-lossless image preprocessing. This option adjusts -pixel values to help compressibility, but has minimal impact on the visual -quality. It triggers lossless compression mode automatically. The range is 0 -(maximum preprocessing) to 100 (no preprocessing, the default). The typical -value is around 60. Note that lossy with \fB\-q 100\fP can at times yield -better results. -.TP -.BI \-q " float -Specify the compression factor for RGB channels between 0 and 100. The default -is 75. -.br -In case of lossy compression (default), a small factor produces a smaller file -with lower quality. Best quality is achieved by using a value of 100. -.br -In case of lossless compression (specified by the \fB\-lossless\fP option), a -small factor enables faster compression speed, but produces a larger file. -Maximum compression is achieved by using a value of 100. -.TP -.BI \-z " int -Switch on \fBlossless\fP compression mode with the specified level between 0 -and 9, with level 0 being the fastest, 9 being the slowest. Fast mode -produces larger file size than slower ones. A good default is \fB\-z 6\fP. -This option is actually a shortcut for some predefined settings for quality -and method. If options \fB\-q\fP or \fB\-m\fP are subsequently used, they will -invalidate the effect of this option. -.TP -.BI \-alpha_q " int -Specify the compression factor for alpha compression between 0 and 100. -Lossless compression of alpha is achieved using a value of 100, while the lower -values result in a lossy compression. The default is 100. -.TP -.BI \-preset " string -Specify a set of pre\-defined parameters to suit a particular type of -source material. Possible values are: \fBdefault\fP, \fBphoto\fP, -\fBpicture\fP, \fBdrawing\fP, \fBicon\fP, \fBtext\fP. Since -\fB\-preset\fP overwrites the other parameters' values (except the -\fB\-q\fP one), this option should preferably appear first in the -order of the arguments. -.TP -.BI \-m " int -Specify the compression method to use. This parameter controls the -trade off between encoding speed and the compressed file size and quality. -Possible values range from 0 to 6. Default value is 4. -When higher values are used, the encoder will spend more time inspecting -additional encoding possibilities and decide on the quality gain. -Lower value can result in faster processing time at the expense of -larger file size and lower compression quality. -.TP -.BI \-resize " width height -Resize the source to a rectangle with size \fBwidth\fP x \fBheight\fP. -If either (but not both) of the \fBwidth\fP or \fBheight\fP parameters is 0, -the value will be calculated preserving the aspect\-ratio. -.TP -.BI \-crop " x_position y_position width height -Crop the source to a rectangle with top\-left corner at coordinates -(\fBx_position\fP, \fBy_position\fP) and size \fBwidth\fP x \fBheight\fP. -This cropping area must be fully contained within the source rectangle. -.TP -.B \-mt -Use multi\-threading for encoding, if possible. -.TP -.B \-low_memory -Reduce memory usage of lossy encoding by saving four times the compressed -size (typically). This will make the encoding slower and the output slightly -different in size and distortion. This flag is only effective for methods -3 and up, and is off by default. Note that leaving this flag off will have -some side effects on the bitstream: it forces certain bitstream features -like number of partitions (forced to 1). Note that a more detailed report -of bitstream size is printed by \fBcwebp\fP when using this option. - -.SS LOSSY OPTIONS -These options are only effective when doing lossy encoding (the default, with -or without alpha). - -.TP -.BI \-size " int -Specify a target size (in bytes) to try and reach for the compressed output. -The compressor will make several passes of partial encoding in order to get as -close as possible to this target. If both \fB\-size\fP and \fB\-psnr\fP -are used, \fB\-size\fP value will prevail. -.TP -.BI \-psnr " float -Specify a target PSNR (in dB) to try and reach for the compressed output. -The compressor will make several passes of partial encoding in order to get as -close as possible to this target. If both \fB\-size\fP and \fB\-psnr\fP -are used, \fB\-size\fP value will prevail. -.TP -.BI \-pass " int -Set a maximum number of passes to use during the dichotomy used by -options \fB\-size\fP or \fB\-psnr\fP. Maximum value is 10, default is 1. -If options \fB\-size\fP or \fB\-psnr\fP were used, but \fB\-pass\fP wasn't -specified, a default value of '6' passes will be used. -.TP -.B \-af -Turns auto\-filter on. This algorithm will spend additional time optimizing -the filtering strength to reach a well\-balanced quality. -.TP -.B \-jpeg_like -Change the internal parameter mapping to better match the expected size -of JPEG compression. This flag will generally produce an output file of -similar size to its JPEG equivalent (for the same \fB\-q\fP setting), but -with less visual distortion. - -.TP -Advanced options: - -.TP -.BI \-f " int -Specify the strength of the deblocking filter, between 0 (no filtering) -and 100 (maximum filtering). A value of 0 will turn off any filtering. -Higher value will increase the strength of the filtering process applied -after decoding the picture. The higher the value the smoother the picture will -appear. Typical values are usually in the range of 20 to 50. -.TP -.BI \-sharpness " int -Specify the sharpness of the filtering (if used). -Range is 0 (sharpest) to 7 (least sharp). Default is 0. -.TP -.B \-strong -Use strong filtering (if filtering is being used thanks to the -\fB\-f\fP option). Strong filtering is on by default. -.TP -.B \-nostrong -Disable strong filtering (if filtering is being used thanks to the -\fB\-f\fP option) and use simple filtering instead. -.TP -.B \-sharp_yuv -Use more accurate and sharper RGB->YUV conversion if needed. Note that this -process is slower than the default 'fast' RGB->YUV conversion. -.TP -.BI \-sns " int -Specify the amplitude of the spatial noise shaping. Spatial noise shaping -(or \fBsns\fP for short) refers to a general collection of built\-in algorithms -used to decide which area of the picture should use relatively less bits, -and where else to better transfer these bits. The possible range goes from -0 (algorithm is off) to 100 (the maximal effect). The default value is 50. -.TP -.BI \-segments " int -Change the number of partitions to use during the segmentation of the -sns algorithm. Segments should be in range 1 to 4. Default value is 4. -This option has no effect for methods 3 and up, unless \fB\-low_memory\fP -is used. -.TP -.BI \-partition_limit " int -Degrade quality by limiting the number of bits used by some macroblocks. -Range is 0 (no degradation, the default) to 100 (full degradation). -Useful values are usually around 30\-70 for moderately large images. -In the VP8 format, the so\-called control partition has a limit of 512k and -is used to store the following information: whether the macroblock is skipped, -which segment it belongs to, whether it is coded as intra 4x4 or intra 16x16 -mode, and finally the prediction modes to use for each of the sub\-blocks. -For a very large image, 512k only leaves room to few bits per 16x16 macroblock. -The absolute minimum is 4 bits per macroblock. Skip, segment, and mode -information can use up almost all these 4 bits (although the case is unlikely), -which is problematic for very large images. The partition_limit factor controls -how frequently the most bit\-costly mode (intra 4x4) will be used. This is -useful in case the 512k limit is reached and the following message is displayed: -\fIError code: 6 (PARTITION0_OVERFLOW: Partition #0 is too big to fit 512k)\fP. -If using \fB\-partition_limit\fP is not enough to meet the 512k constraint, one -should use less segments in order to save more header bits per macroblock. -See the \fB\-segments\fP option. - -.SS LOGGING OPTIONS -These options control the level of output: -.TP -.B \-v -Print extra information (encoding time in particular). -.TP -.B \-print_psnr -Compute and report average PSNR (Peak\-Signal\-To\-Noise ratio). -.TP -.B \-print_ssim -Compute and report average SSIM (structural similarity -metric, see http://en.wikipedia.org/wiki/SSIM for additional details). -.TP -.B \-print_lsim -Compute and report local similarity metric (sum of lowest error amongst the -collocated pixel neighbors). -.TP -.B \-progress -Report encoding progress in percent. -.TP -.B \-quiet -Do not print anything. -.TP -.B \-short -Only print brief information (output file size and PSNR) for testing purposes. -.TP -.BI \-map " int -Output additional ASCII\-map of encoding information. Possible map values -range from 1 to 6. This is only meant to help debugging. - -.SS ADDITIONAL OPTIONS -More advanced options are: -.TP -.BI \-s " width height -Specify that the input file actually consists of raw Y'CbCr samples following -the ITU\-R BT.601 recommendation, in 4:2:0 linear format. -The luma plane has size \fBwidth\fP x \fBheight\fP. -.TP -.BI \-pre " int -Specify some preprocessing steps. Using a value of '2' will trigger -quality\-dependent pseudo\-random dithering during RGBA\->YUVA conversion -(lossy compression only). -.TP -.BI \-alpha_filter " string -Specify the predictive filtering method for the alpha plane. One of 'none', -\&'fast' or 'best', in increasing complexity and slowness order. Default is -\&'fast'. Internally, alpha filtering is performed using four possible -predictions (none, horizontal, vertical, gradient). The 'best' mode will try -each mode in turn and pick the one which gives the smaller size. The 'fast' -mode will just try to form an a priori guess without testing all modes. -.TP -.BI \-alpha_method " int -Specify the algorithm used for alpha compression: 0 or 1. Algorithm 0 denotes -no compression, 1 uses WebP lossless format for compression. The default is 1. -.TP -.B \-exact -Preserve RGB values in transparent area. The default is off, to help -compressibility. -.TP -.BI \-blend_alpha " int -This option blends the alpha channel (if present) with the source using the -background color specified in hexadecimal as 0xrrggbb. The alpha channel is -afterward reset to the opaque value 255. -.TP -.B \-noalpha -Using this option will discard the alpha channel. -.TP -.BI \-hint " string -Specify the hint about input image type. Possible values are: -\fBphoto\fP, \fBpicture\fP or \fBgraph\fP. -.TP -.BI \-metadata " string -A comma separated list of metadata to copy from the input to the output if -present. -Valid values: \fBall\fP, \fBnone\fP, \fBexif\fP, \fBicc\fP, \fBxmp\fP. -The default is \fBnone\fP. - -Note: each input format may not support all combinations. -.TP -.B \-noasm -Disable all assembly optimizations. - -.SH BUGS -Please report all bugs to the issue tracker: -https://bugs.chromium.org/p/webp -.br -Patches welcome! See this page to get started: -http://www.webmproject.org/code/contribute/submitting\-patches/ - -.SH EXAMPLES -cwebp \-q 50 -lossless picture.png \-o picture_lossless.webp -.br -cwebp \-q 70 picture_with_alpha.png \-o picture_with_alpha.webp -.br -cwebp \-sns 70 \-f 50 \-size 60000 picture.png \-o picture.webp -.br -cwebp \-o picture.webp \-\- \-\-\-picture.png - -.SH AUTHORS -\fBcwebp\fP is a part of libwebp and was written by the WebP team. -.br -The latest source tree is available at -https://chromium.googlesource.com/webm/libwebp -.PP -This manual page was written by Pascal Massimino , -for the Debian project (and may be used by others). - -.SH SEE ALSO -.BR dwebp (1), -.BR gif2webp (1) -.br -Please refer to http://developers.google.com/speed/webp/ for additional -information. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/dwebp.1 b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/dwebp.1 deleted file mode 100644 index d4b60ed8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/dwebp.1 +++ /dev/null @@ -1,149 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.TH DWEBP 1 "June 23, 2016" -.SH NAME -dwebp \- decompress a WebP file to an image file -.SH SYNOPSIS -.B dwebp -.RI [ options ] " input_file.webp -.br -.SH DESCRIPTION -This manual page documents the -.B dwebp -command. -.PP -\fBdwebp\fP decompresses WebP files into PNG, PAM, PPM or PGM images. -.SH OPTIONS -The basic options are: -.TP -.B \-h -Print usage summary. -.TP -.B \-version -Print the version number (as major.minor.revision) and exit. -.TP -.BI \-o " string -Specify the name of the output file (as PNG format by default). -Using "-" as output name will direct output to 'stdout'. -.TP -.BI \-\- " string -Explicitly specify the input file. This option is useful if the input -file starts with an '\-' for instance. This option must appear \fBlast\fP. -Any other options afterward will be ignored. If the input file is "\-", -the data will be read from \fIstdin\fP instead of a file. -.TP -.B \-bmp -Change the output format to uncompressed BMP. -.TP -.B \-tiff -Change the output format to uncompressed TIFF. -.TP -.B \-pam -Change the output format to PAM (retains alpha). -.TP -.B \-ppm -Change the output format to PPM (discards alpha). -.TP -.B \-pgm -Change the output format to PGM. The output consists of luma/chroma -samples instead of RGB, using the IMC4 layout. This option is mainly -for verification and debugging purposes. -.TP -.B \-yuv -Change the output format to raw YUV. The output consists of -luma/chroma-U/chroma-V samples instead of RGB, saved sequentially as -individual planes. This option is mainly for verification and debugging -purposes. -.TP -.B \-nofancy -Don't use the fancy upscaler for YUV420. This may lead to jaggy -edges (especially the red ones), but should be faster. -.TP -.B \-nofilter -Don't use the in-loop filtering process even if it is required by -the bitstream. This may produce visible blocks on the non-compliant output, -but it will make the decoding faster. -.TP -.BI \-dither " strength -Specify a dithering \fBstrength\fP between 0 and 100. Dithering is a -post-processing effect applied to chroma components in lossy compression. -It helps by smoothing gradients and avoiding banding artifacts. -.TP -.BI \-alpha_dither -If the compressed file contains a transparency plane that was quantized -during compression, this flag will allow dithering the reconstructed plane -in order to generate smoother transparency gradients. -.TP -.B \-nodither -Disable all dithering (default). -.TP -.B \-mt -Use multi-threading for decoding, if possible. -.TP -.BI \-crop " x_position y_position width height -Crop the decoded picture to a rectangle with top-left corner at coordinates -(\fBx_position\fP, \fBy_position\fP) and size \fBwidth\fP x \fBheight\fP. -This cropping area must be fully contained within the source rectangle. -The top-left corner will be snapped to even coordinates if needed. -This option is meant to reduce the memory needed for cropping large images. -Note: the cropping is applied \fIbefore\fP any scaling. -.TP -.B \-flip -Flip decoded image vertically (can be useful for OpenGL textures for instance). -.TP -\fB\-resize\fR, \fB\-scale\fI width height\fR -Rescale the decoded picture to dimension \fBwidth\fP x \fBheight\fP. This -option is mostly intended to reducing the memory needed to decode large images, -when only a small version is needed (thumbnail, preview, etc.). Note: scaling -is applied \fIafter\fP cropping. -If either (but not both) of the \fBwidth\fP or \fBheight\fP parameters is 0, -the value will be calculated preserving the aspect-ratio. -.TP -.B \-quiet -Do not print anything. -.TP -.B \-v -Print extra information (decoding time in particular). -.TP -.B \-noasm -Disable all assembly optimizations. - -.SH BUGS -Please report all bugs to the issue tracker: -https://bugs.chromium.org/p/webp -.br -Patches welcome! See this page to get started: -http://www.webmproject.org/code/contribute/submitting-patches/ - -.SH EXAMPLES -dwebp picture.webp \-o output.png -.br -dwebp picture.webp \-ppm \-o output.ppm -.br -dwebp \-o output.ppm \-\- \-\-\-picture.webp -.br -cat picture.webp | dwebp \-o \- \-\- \- > output.ppm - -.SH AUTHORS -\fBdwebp\fP is a part of libwebp and was written by the WebP team. -.br -The latest source tree is available at -https://chromium.googlesource.com/webm/libwebp -.PP -This manual page was written by Pascal Massimino , -for the Debian project (and may be used by others). - -.SH SEE ALSO -.BR cwebp (1), -.BR gif2webp (1), -.BR webpmux (1) -.br -Please refer to http://developers.google.com/speed/webp/ for additional -information. -.SS Output file format details -PAM: http://netpbm.sourceforge.net/doc/pam.html -.br -PGM: http://netpbm.sourceforge.net/doc/pgm.html -.br -PPM: http://netpbm.sourceforge.net/doc/ppm.html -.br -PNG: http://www.libpng.org/pub/png/png-sitemap.html#info diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/gif2webp.1 b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/gif2webp.1 deleted file mode 100644 index a94f2ee5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/gif2webp.1 +++ /dev/null @@ -1,164 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.TH GIF2WEBP 1 "January 25, 2018" -.SH NAME -gif2webp \- Convert a GIF image to WebP -.SH SYNOPSIS -.B gif2webp -.RI [ options ] " input_file.gif \-o output_file.webp -.br -.SH DESCRIPTION -This manual page documents the -.B gif2webp -command. -.PP -\fBgif2webp\fP converts a GIF image to a WebP image. -.SH OPTIONS -The basic options are: -.TP -.BI \-o " string -Specify the name of the output WebP file. If omitted, \fBgif2webp\fP will -perform conversion but only report statistics. -Using "\-" as output name will direct output to 'stdout'. -.TP -.BI \-\- " string -Explicitly specify the input file. This option is useful if the input -file starts with an '\-' for instance. This option must appear \fBlast\fP. -Any other options afterward will be ignored. If the input file is "\-", -the data will be read from \fIstdin\fP instead of a file. -.TP -.B \-h, \-help -Usage information. -.TP -.B \-version -Print the version number (as major.minor.revision) and exit. -.TP -.B \-lossy -Encode the image using lossy compression. -.TP -.B \-mixed -Mixed compression mode: optimize compression of the image by picking either -lossy or lossless compression for each frame heuristically. -.TP -.BI \-q " float -Specify the compression factor for RGB channels between 0 and 100. The default -is 75. -.br -In case of lossless compression (default), a small factor enables faster -compression speed, but produces a larger file. Maximum compression is achieved -by using a value of 100. -.br -In case of lossy compression (specified by the \-lossy option), a small factor -produces a smaller file with lower quality. Best quality is achieved by using a -value of 100. -.TP -.BI \-m " int -Specify the compression method to use. This parameter controls the -trade off between encoding speed and the compressed file size and quality. -Possible values range from 0 to 6. Default value is 4. -When higher values are used, the encoder will spend more time inspecting -additional encoding possibilities and decide on the quality gain. -Lower value can result is faster processing time at the expense of -larger file size and lower compression quality. -.TP -.BI \-min_size -Encode image to achieve smallest size. This disables key frame insertion and -picks the dispose method resulting in smallest output for each frame. It uses -lossless compression by default, but can be combined with \-q, \-m, \-lossy or -\-mixed options. -.TP -.BI \-kmin " int -.TP -.BI \-kmax " int -Specify the minimum and maximum distance between consecutive key frames -(independently decodable frames) in the output animation. The tool will insert -some key frames into the output animation as needed so that this criteria is -satisfied. -.br -A 'kmax' value of 0 will turn off insertion of key frames. A 'kmax' value of 1 -will result in all frames being key frames. 'kmin' value is not taken into -account in both these special cases. -Typical values are in the range 3 to 30. Default values are kmin = 9, -kmax = 17 for lossless compression and kmin = 3, kmax = 5 for lossy compression. -.br -These two options are relevant only for animated images with large number of -frames (>50). -.br -When lower values are used, more frames will be converted to key frames. This -may lead to smaller number of frames required to decode a frame on average, -thereby improving the decoding performance. But this may lead to slightly bigger -file sizes. -Higher values may lead to worse decoding performance, but smaller file sizes. -.br -Some restrictions: -.br -(i) kmin < kmax, -.br -(ii) kmin >= kmax / 2 + 1 and -.br -(iii) kmax - kmin <= 30. -.br -If any of these restrictions are not met, they will be enforced automatically. -.TP -.BI \-metadata " string -A comma separated list of metadata to copy from the input to the output if -present. -Valid values: \fBall\fP, \fBnone\fP, \fBicc\fP, \fBxmp\fP. -The default is \fBxmp\fP. -.TP -.BI \-f " int -For lossy encoding only (specified by the \-lossy option). Specify the strength -of the deblocking filter, between 0 (no filtering) and 100 (maximum filtering). -A value of 0 will turn off any filtering. Higher value will increase the -strength of the filtering process applied after decoding the picture. The higher -the value the smoother the picture will appear. Typical values are usually in -the range of 20 to 50. -.TP -.B \-mt -Use multi-threading for encoding, if possible. -.TP -.B \-loop_compatibility -If enabled, handle the loop information in a compatible fashion for Chrome -version prior to M62 (inclusive) and Firefox. -.TP -.B \-v -Print extra information. -.TP -.B \-quiet -Do not print anything. - -.SH BUGS -Please report all bugs to the issue tracker: -https://bugs.chromium.org/p/webp -.br -Patches welcome! See this page to get started: -http://www.webmproject.org/code/contribute/submitting-patches/ - -.SH EXAMPLES -gif2webp picture.gif \-o picture.webp -.br -gif2webp \-q 70 picture.gif \-o picture.webp -.br -gif2webp \-lossy \-m 3 picture.gif \-o picture_lossy.webp -.br -gif2webp \-lossy \-f 50 picture.gif \-o picture.webp -.br -gif2webp \-q 70 \-o picture.webp \-\- \-\-\-picture.gif -.br -cat picture.gif | gif2webp \-o \- \-\- \- > output.webp - -.SH AUTHORS -\fBgif2webp\fP is a part of libwebp and was written by the WebP team. -.br -The latest source tree is available at -https://chromium.googlesource.com/webm/libwebp -.PP -This manual page was written by Urvang Joshi , for the -Debian project (and may be used by others). - -.SH SEE ALSO -.BR cwebp (1), -.BR dwebp (1), -.BR webpmux (1) -.br -Please refer to http://developers.google.com/speed/webp/ for additional -information. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/img2webp.1 b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/img2webp.1 deleted file mode 100644 index da1d91dc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/img2webp.1 +++ /dev/null @@ -1,105 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.TH IMG2WEBP 1 "April 3, 2018" -.SH NAME -img2webp \- create animated WebP file from a sequence of input images. -.SH SYNOPSIS -.B img2webp -[file_level_options] [files] [per_frame_options...] -.br -.B img2webp argument_file_name -.br -.SH DESCRIPTION -This manual page documents the -.B img2webp -command. -.PP -\fBimg2webp\fP compresses a sequence of images using the animated WebP format. -Input images can either be PNG, JPEG, TIFF or WebP. -If a single file name (not starting with the character '\-') is supplied as -the argument, the command line argument are actually tokenized from this file. -This allows for easy scripting or using large number of arguments. -.SH FILE-LEVEL OPTIONS -The file-level options are applied at the beginning of the compression process, -before the input frames are read. -.TP -.BI \-o " string -Specify the name of the output WebP file. -.TP -.BI \-min_size -Encode images to achieve smallest size. This disables key frame insertion and -picks the parameters resulting in smallest output for each frame. It uses -lossless compression by default, but can be combined with \-q, \-m, \-lossy or -\-mixed options. -.TP -.BI \-kmin " int -.TP -.BI \-kmax " int -Specify the minimum and maximum distance between consecutive key frames -(independently decodable frames) in the output animation. The tool will insert -some key frames into the output animation as needed so that this criteria is -satisfied. -.br -.B \-mixed -Mixed compression mode: optimize compression of the image by picking either -lossy or lossless compression for each frame heuristically. This global -option disables the local option \fB-lossy\fP and \fB-lossless\fP . -.TP -.BI \-loop " int -Specifies the number of times the animation should loop. Using '0' -means 'loop indefinitely'. -.TP -.BI \-v -Be more verbose. -.TP -.B \-h, \-help -A short usage summary. -.TP -.B \-version -Print the version numbers of the relevant libraries used. - -.SH PER-FRAME OPTIONS -The per-frame options are applied for the images following as arguments in the -command line. They can be modified any number of times preceding each particular -input image. -.TP -.BI \-d " int -Specify the image duration in milliseconds. -.TP -.B \-lossless, \-lossy -Compress the next image(s) using lossless or lossy compression mode. The -default mode is lossless. -.TP -.BI \-q " float -Specify the compression factor between 0 and 100. The default is 75. -.TP -.BI \-m " int -Specify the compression method to use. This parameter controls the -trade off between encoding speed and the compressed file size and quality. -Possible values range from 0 to 6. Default value is 4. - -.SH EXAMPLE -img2webp -loop 2 in0.png -lossy in1.jpg -d 80 in2.tiff -o out.webp -.br - -.SH BUGS -Please report all bugs to the issue tracker: -https://bugs.chromium.org/p/webp -.br -Patches welcome! See this page to get started: -http://www.webmproject.org/code/contribute/submitting\-patches/ - -.SH AUTHORS -\fBimg2webp\fP is a part of libwebp and was written by the WebP team. -.br -The latest source tree is available at -https://chromium.googlesource.com/webm/libwebp -.PP -This manual page was written by Pascal Massimino , -for the Debian project (and may be used by others). - -.SH SEE ALSO -.BR webpmux (1), -.BR gif2webp (1) -.br -Please refer to http://developers.google.com/speed/webp/ for additional -information. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/vwebp.1 b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/vwebp.1 deleted file mode 100644 index 1da2d935..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/vwebp.1 +++ /dev/null @@ -1,101 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.TH VWEBP 1 "June 5, 2019" -.SH NAME -vwebp \- decompress a WebP file and display it in a window -.SH SYNOPSIS -.B vwebp -.RI [ options ] " input_file.webp -.br -.SH DESCRIPTION -This manual page documents the -.B vwebp -command. -.PP -\fBvwebp\fP decompresses a WebP file and displays it in a window using OpenGL. -.SH OPTIONS -.TP -.B \-h -Print usage summary. -.TP -.B \-version -Print version number and exit. -.TP -.B \-noicc -Don't use the ICC profile if present. -.TP -.B \-nofancy -Don't use the fancy YUV420 upscaler. -.TP -.B \-nofilter -Disable in-loop filtering. -.TP -.BI \-dither " strength -Specify a dithering \fBstrength\fP between 0 and 100. Dithering is a -post-processing effect applied to chroma components in lossy compression. -It helps by smoothing gradients and avoiding banding artifacts. Default: 50. -.TP -.BI \-noalphadither -By default, quantized transparency planes are dithered during decompression, -to smooth the gradients. This flag will prevent this dithering. -.TP -.B \-usebgcolor -Fill transparent areas with the bitstream's own background color instead of -checkerboard only. Default is white for non-animated images. -.TP -.B \-mt -Use multi-threading for decoding, if possible. -.TP -.B \-info -Display image information on top of the decoded image. -.TP -.BI \-\- " string -Explicitly specify the input file. This option is useful if the input -file starts with an '\-' for instance. This option must appear \fBlast\fP. -Any other options afterward will be ignored. If the input file is "\-", -the data will be read from \fIstdin\fP instead of a file. -.TP - -.SH KEYBOARD SHORTCUTS -.TP -.B 'c' -Toggle use of color profile. -.TP -.B 'b' -Toggle display of background color. -.TP -.B 'i' -Overlay file information. -.TP -.B 'd' -Disable blending and disposal process, for debugging purposes. -.TP -.B 'q' / 'Q' / ESC -Quit. - -.SH BUGS -Please report all bugs to the issue tracker: -https://bugs.chromium.org/p/webp -.br -Patches welcome! See this page to get started: -http://www.webmproject.org/code/contribute/submitting-patches/ - -.SH EXAMPLES -vwebp picture.webp -.br -vwebp picture.webp -mt -dither 0 -.br -vwebp \-\- \-\-\-picture.webp - -.SH AUTHORS -\fBvwebp\fP is a part of libwebp and was written by the WebP team. -.br -The latest source tree is available at -https://chromium.googlesource.com/webm/libwebp -.PP -This manual page was written for the Debian project (and may be used by others). - -.SH SEE ALSO -.BR dwebp (1) -.br -Please refer to http://developers.google.com/speed/webp/ for additional -information. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/webpinfo.1 b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/webpinfo.1 deleted file mode 100644 index 902ba9e0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/webpinfo.1 +++ /dev/null @@ -1,80 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.TH WEBPINFO 1 "November 24, 2017" -.SH NAME -webpinfo \- print out the chunk level structure of WebP files -along with basic integrity checks. -.SH SYNOPSIS -.B webpinfo -.I OPTIONS -.I INPUT -.br -.B webpinfo [\-h|\-help|\-H|\-longhelp] -.br - -.SH DESCRIPTION -This manual page documents the -.B webpinfo -command. -.PP -\fBwebpinfo\fP can be used to print out the chunk level structure and bitstream -header information of WebP files. It can also check if the files are of valid -WebP format. - -.SH OPTIONS -.TP -.B \-version -Print the version number (as major.minor.revision) and exit. -.TP -.B \-quiet -Do not show chunk parsing information. -.TP -.B \-diag -Show parsing error diagnosis. -.TP -.B \-summary -Show chunk stats summary. -.TP -.BI \-bitstream_info -Parse bitstream header. -.TP -.B \-h, \-help -A short usage summary. -.TP -.B \-H, \-longhelp -Detailed usage instructions. - -.SH INPUT -Input files in WebP format. Input files must come last, following -options (if any). There can be multiple input files. - -.SH BUGS -Please report all bugs to the issue tracker: -https://bugs.chromium.org/p/webp -.br -Patches welcome! See this page to get started: -http://www.webmproject.org/code/contribute/submitting\-patches/ - -.SH EXAMPLES -.br -webpinfo \-h -.br -webpinfo \-diag \-summary input_file.webp -.br -webpinfo \-bitstream_info input_file_1.webp input_file_2.webp -.br -webpinfo *.webp - -.SH AUTHORS -\fBwebpinfo\fP is a part of libwebp and was written by the WebP team. -.br -The latest source tree is available at -https://chromium.googlesource.com/webm/libwebp -.PP -This manual page was written by Hui Su , -for the Debian project (and may be used by others). - -.SH SEE ALSO -.BR webpmux (1) -.br -Please refer to http://developers.google.com/speed/webp/ for additional -information. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/webpmux.1 b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/webpmux.1 deleted file mode 100644 index 3afa602a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/man/webpmux.1 +++ /dev/null @@ -1,260 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.TH WEBPMUX 1 "April 23, 2018" -.SH NAME -webpmux \- create animated WebP files from non\-animated WebP images, extract -frames from animated WebP images, and manage XMP/EXIF metadata and ICC profile. -.SH SYNOPSIS -.B webpmux \-get -.I GET_OPTIONS -.I INPUT -.B \-o -.I OUTPUT -.br -.B webpmux \-set -.I SET_OPTIONS -.I INPUT -.B \-o -.I OUTPUT -.br -.B webpmux \-strip -.I STRIP_OPTIONS -.I INPUT -.B \-o -.I OUTPUT -.br -.B webpmux \-frame -.I FRAME_OPTIONS -.B [ \-frame ... ] [ \-loop -.I LOOP_COUNT -.B ] -.br -.RS 8 -.B [ \-bgcolor -.I BACKGROUND_COLOR -.B ] \-o -.I OUTPUT -.RE -.br -.B webpmux \-duration -.I DURATION OPTIONS -.B [ \-duration ... ] -.I INPUT -.B \-o -.I OUTPUT -.br -.B webpmux \-info -.I INPUT -.br -.B webpmux [\-h|\-help] -.br -.B webpmux \-version -.br -.B webpmux argument_file_name -.SH DESCRIPTION -This manual page documents the -.B webpmux -command. -.PP -\fBwebpmux\fP can be used to create/extract from animated WebP files, as well as -to add/extract/strip XMP/EXIF metadata and ICC profile. -If a single file name (not starting with the character '\-') is supplied as -the argument, the command line arguments are actually tokenized from this file. -This allows for easy scripting or using large number of arguments. -.SH OPTIONS -.SS GET_OPTIONS (\-get): -.TP -.B icc -Get ICC profile. -.TP -.B exif -Get EXIF metadata. -.TP -.B xmp -Get XMP metadata. -.TP -.BI frame " n -Get nth frame from an animated image. (n = 0 has a special meaning: last frame). - -.SS SET_OPTIONS (\-set) -.TP -.BI icc " file.icc -Set ICC profile. -.P -Where: 'file.icc' contains the ICC profile to be set. -.TP -.BI exif " file.exif -Set EXIF metadata. -.P -Where: 'file.exif' contains the EXIF metadata to be set. -.TP -.BI xmp " file.xmp -Set XMP metadata. -.P -Where: 'file.xmp' contains the XMP metadata to be set. - -.SS STRIP_OPTIONS (\-strip) -.TP -.B icc -Strip ICC profile. -.TP -.B exif -Strip EXIF metadata. -.TP -.B xmp -Strip XMP metadata. - -.SS DURATION_OPTIONS (\-duration) -Amend the duration of a specific interval of frames. This option is only -effective on animated WebP and has no effect on a single-frame file. -.TP -.I duration[,start[,end]] -Where: -.br -.B duration -is the duration for the interval in milliseconds (mandatory). -Must be non-negative. -.br -.B start -is the starting frame index of the interval (optional). -.br -.B end -is the ending frame index (inclusive) of the interval (optional). -.TP -The three typical usages of this option are: -.br -.B -duration d - set the duration to 'd' for the whole animation. -.br -.B -duration d,f - set the duration of frame 'f' to 'd'. -.br -.B -duration d,start,end - set the duration to 'd' for the whole [start,end] interval. -.TP -.P -Note that the frames outside of the [start, end] interval will remain untouched. -The 'end' value '0' has the special meaning 'last frame of the animation'. -.TP -.I Reminder: -frame indexing starts at '1'. -.br - -.SS FRAME_OPTIONS (\-frame) -Create an animated WebP file from multiple (non\-animated) WebP images. -.TP -.I file_i +di[+xi+yi[+mi[bi]]] -Where: 'file_i' is the i'th frame (WebP format), 'xi','yi' specify the image -offset for this frame, 'di' is the pause duration before next frame, 'mi' is -the dispose method for this frame (0 for NONE or 1 for BACKGROUND) and 'bi' is -the blending method for this frame (+b for BLEND or \-b for NO_BLEND). -Argument 'bi' can be omitted and will default to +b (BLEND). -Also, 'mi' can be omitted if 'bi' is omitted and will default to 0 (NONE). -Finally, if 'mi' and 'bi' are omitted then 'xi' and 'yi' can be omitted and will -default to +0+0. -.TP -.BI \-loop " n -Loop the frames n number of times. 0 indicates the frames should loop forever. -Valid range is 0 to 65535 [Default: 0 (infinite)]. -.TP -.BI \-bgcolor " A,R,G,B -Background color of the canvas. -.br -where: 'A', 'R', 'G' and 'B' are integers in the range 0 to 255 specifying the -Alpha, Red, Green and Blue component values respectively -[Default: 255,255,255,255]. - -.SS INPUT -.TP -Input file in WebP format. - -.SS OUTPUT (\-o) -.TP -Output file in WebP format. - -.SS Note: -.TP -The nature of EXIF, XMP and ICC data is not checked and is assumed to be valid. - -.SH BUGS -Please report all bugs to the issue tracker: -https://bugs.chromium.org/p/webp -.br -Patches welcome! See this page to get started: -http://www.webmproject.org/code/contribute/submitting\-patches/ - -.SH EXAMPLES -.P -Add ICC profile: -.br -webpmux \-set icc image_profile.icc in.webp \-o icc_container.webp -.P -Extract ICC profile: -.br -webpmux \-get icc icc_container.webp \-o image_profile.icc -.P -Strip ICC profile: -.br -webpmux \-strip icc icc_container.webp \-o without_icc.webp -.P -Add XMP metadata: -.br -webpmux \-set xmp image_metadata.xmp in.webp \-o xmp_container.webp -.P -Extract XMP metadata: -.br -webpmux \-get xmp xmp_container.webp \-o image_metadata.xmp -.P -Strip XMP metadata: -.br -webpmux \-strip xmp xmp_container.webp \-o without_xmp.webp -.P -Add EXIF metadata: -.br -webpmux \-set exif image_metadata.exif in.webp \-o exif_container.webp -.P -Extract EXIF metadata: -.br -webpmux \-get exif exif_container.webp \-o image_metadata.exif -.P -Strip EXIF metadata: -.br -webpmux \-strip exif exif_container.webp \-o without_exif.webp -.P -Create an animated WebP file from 3 (non\-animated) WebP images: -.br -webpmux \-frame 1.webp +100 \-frame 2.webp +100+50+50 -.br -.RS 8 -\-frame 3.webp +100+50+50+1+b \-loop 10 \-bgcolor 255,255,255,255 -.br -\-o anim_container.webp -.RE -.P -Get the 2nd frame from an animated WebP file: -.br -webpmux \-get frame 2 anim_container.webp \-o frame_2.webp -.P -Using \-get/\-set/\-strip with input file name starting with '\-': -.br -webpmux \-set icc image_profile.icc \-o icc_container.webp \-\- \-\-\-in.webp -.br -webpmux \-get icc \-o image_profile.icc \-\- \-\-\-icc_container.webp -.br -webpmux \-strip icc \-o without_icc.webp \-\- \-\-\-icc_container.webp - -.SH AUTHORS -\fBwebpmux\fP is a part of libwebp and was written by the WebP team. -.br -The latest source tree is available at -https://chromium.googlesource.com/webm/libwebp -.PP -This manual page was written by Vikas Arora , -for the Debian project (and may be used by others). - -.SH SEE ALSO -.BR cwebp (1), -.BR dwebp (1), -.BR gif2webp (1) -.br -Please refer to http://developers.google.com/speed/webp/ for additional -information. diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/Makefile.am deleted file mode 100644 index bcebf739..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/Makefile.am +++ /dev/null @@ -1,55 +0,0 @@ -# The mux and demux libraries depend on libwebp, thus the '.' to force -# the build order so it's available to them. -SUBDIRS = dec enc dsp utils . -if BUILD_MUX - SUBDIRS += mux -endif -if BUILD_DEMUX - SUBDIRS += demux -endif - -lib_LTLIBRARIES = libwebp.la - -if BUILD_LIBWEBPDECODER - lib_LTLIBRARIES += libwebpdecoder.la -endif - -common_HEADERS = -common_HEADERS += webp/decode.h -common_HEADERS += webp/types.h -commondir = $(includedir)/webp - -libwebp_la_SOURCES = -libwebpinclude_HEADERS = -libwebpinclude_HEADERS += webp/encode.h - -noinst_HEADERS = -noinst_HEADERS += webp/format_constants.h - -libwebp_la_LIBADD = -libwebp_la_LIBADD += dec/libwebpdecode.la -libwebp_la_LIBADD += dsp/libwebpdsp.la -libwebp_la_LIBADD += enc/libwebpencode.la -libwebp_la_LIBADD += utils/libwebputils.la - -# Use '-no-undefined' to declare that libwebp does not depend on any libraries -# other than the ones listed on the command line, i.e., after linking, it will -# not have unresolved symbols. Some platforms (Windows among them) require all -# symbols in shared libraries to be resolved at library creation. -libwebp_la_LDFLAGS = -no-undefined -version-info 8:0:1 -libwebpincludedir = $(includedir)/webp -pkgconfig_DATA = libwebp.pc - -if BUILD_LIBWEBPDECODER - libwebpdecoder_la_SOURCES = - - libwebpdecoder_la_LIBADD = - libwebpdecoder_la_LIBADD += dec/libwebpdecode.la - libwebpdecoder_la_LIBADD += dsp/libwebpdspdecode.la - libwebpdecoder_la_LIBADD += utils/libwebputilsdecode.la - - libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 4:0:1 - pkgconfig_DATA += libwebpdecoder.pc -endif - -${pkgconfig_DATA}: ${top_builddir}/config.status diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/Makefile.am deleted file mode 100644 index f8c6398d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/Makefile.am +++ /dev/null @@ -1,29 +0,0 @@ -AM_CPPFLAGS += -I$(top_builddir) -I$(top_srcdir) -noinst_LTLIBRARIES = libwebpdecode.la - -libwebpdecode_la_SOURCES = -libwebpdecode_la_SOURCES += alpha_dec.c -libwebpdecode_la_SOURCES += alphai_dec.h -libwebpdecode_la_SOURCES += buffer_dec.c -libwebpdecode_la_SOURCES += common_dec.h -libwebpdecode_la_SOURCES += vp8_dec.h -libwebpdecode_la_SOURCES += frame_dec.c -libwebpdecode_la_SOURCES += idec_dec.c -libwebpdecode_la_SOURCES += io_dec.c -libwebpdecode_la_SOURCES += quant_dec.c -libwebpdecode_la_SOURCES += tree_dec.c -libwebpdecode_la_SOURCES += vp8_dec.c -libwebpdecode_la_SOURCES += vp8i_dec.h -libwebpdecode_la_SOURCES += vp8l_dec.c -libwebpdecode_la_SOURCES += vp8li_dec.h -libwebpdecode_la_SOURCES += webp_dec.c -libwebpdecode_la_SOURCES += webpi_dec.h - -libwebpdecodeinclude_HEADERS = -libwebpdecodeinclude_HEADERS += ../webp/decode.h -libwebpdecodeinclude_HEADERS += ../webp/types.h -noinst_HEADERS = -noinst_HEADERS += ../webp/format_constants.h - -libwebpdecode_la_CPPFLAGS = $(AM_CPPFLAGS) -libwebpdecodeincludedir = $(includedir)/webp diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/alpha_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/alpha_dec.c deleted file mode 100644 index bce735bf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/alpha_dec.c +++ /dev/null @@ -1,232 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Alpha-plane decompression. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include "src/dec/alphai_dec.h" -#include "src/dec/vp8i_dec.h" -#include "src/dec/vp8li_dec.h" -#include "src/dsp/dsp.h" -#include "src/utils/quant_levels_dec_utils.h" -#include "src/utils/utils.h" -#include "src/webp/format_constants.h" - -//------------------------------------------------------------------------------ -// ALPHDecoder object. - -// Allocates a new alpha decoder instance. -static ALPHDecoder* ALPHNew(void) { - ALPHDecoder* const dec = (ALPHDecoder*)WebPSafeCalloc(1ULL, sizeof(*dec)); - return dec; -} - -// Clears and deallocates an alpha decoder instance. -static void ALPHDelete(ALPHDecoder* const dec) { - if (dec != NULL) { - VP8LDelete(dec->vp8l_dec_); - dec->vp8l_dec_ = NULL; - WebPSafeFree(dec); - } -} - -//------------------------------------------------------------------------------ -// Decoding. - -// Initialize alpha decoding by parsing the alpha header and decoding the image -// header for alpha data stored using lossless compression. -// Returns false in case of error in alpha header (data too short, invalid -// compression method or filter, error in lossless header data etc). -static int ALPHInit(ALPHDecoder* const dec, const uint8_t* data, - size_t data_size, const VP8Io* const src_io, - uint8_t* output) { - int ok = 0; - const uint8_t* const alpha_data = data + ALPHA_HEADER_LEN; - const size_t alpha_data_size = data_size - ALPHA_HEADER_LEN; - int rsrv; - VP8Io* const io = &dec->io_; - - assert(data != NULL && output != NULL && src_io != NULL); - - VP8FiltersInit(); - dec->output_ = output; - dec->width_ = src_io->width; - dec->height_ = src_io->height; - assert(dec->width_ > 0 && dec->height_ > 0); - - if (data_size <= ALPHA_HEADER_LEN) { - return 0; - } - - dec->method_ = (data[0] >> 0) & 0x03; - dec->filter_ = (WEBP_FILTER_TYPE)((data[0] >> 2) & 0x03); - dec->pre_processing_ = (data[0] >> 4) & 0x03; - rsrv = (data[0] >> 6) & 0x03; - if (dec->method_ < ALPHA_NO_COMPRESSION || - dec->method_ > ALPHA_LOSSLESS_COMPRESSION || - dec->filter_ >= WEBP_FILTER_LAST || - dec->pre_processing_ > ALPHA_PREPROCESSED_LEVELS || - rsrv != 0) { - return 0; - } - - // Copy the necessary parameters from src_io to io - VP8InitIo(io); - WebPInitCustomIo(NULL, io); - io->opaque = dec; - io->width = src_io->width; - io->height = src_io->height; - - io->use_cropping = src_io->use_cropping; - io->crop_left = src_io->crop_left; - io->crop_right = src_io->crop_right; - io->crop_top = src_io->crop_top; - io->crop_bottom = src_io->crop_bottom; - // No need to copy the scaling parameters. - - if (dec->method_ == ALPHA_NO_COMPRESSION) { - const size_t alpha_decoded_size = dec->width_ * dec->height_; - ok = (alpha_data_size >= alpha_decoded_size); - } else { - assert(dec->method_ == ALPHA_LOSSLESS_COMPRESSION); - ok = VP8LDecodeAlphaHeader(dec, alpha_data, alpha_data_size); - } - - return ok; -} - -// Decodes, unfilters and dequantizes *at least* 'num_rows' rows of alpha -// starting from row number 'row'. It assumes that rows up to (row - 1) have -// already been decoded. -// Returns false in case of bitstream error. -static int ALPHDecode(VP8Decoder* const dec, int row, int num_rows) { - ALPHDecoder* const alph_dec = dec->alph_dec_; - const int width = alph_dec->width_; - const int height = alph_dec->io_.crop_bottom; - if (alph_dec->method_ == ALPHA_NO_COMPRESSION) { - int y; - const uint8_t* prev_line = dec->alpha_prev_line_; - const uint8_t* deltas = dec->alpha_data_ + ALPHA_HEADER_LEN + row * width; - uint8_t* dst = dec->alpha_plane_ + row * width; - assert(deltas <= &dec->alpha_data_[dec->alpha_data_size_]); - if (alph_dec->filter_ != WEBP_FILTER_NONE) { - assert(WebPUnfilters[alph_dec->filter_] != NULL); - for (y = 0; y < num_rows; ++y) { - WebPUnfilters[alph_dec->filter_](prev_line, deltas, dst, width); - prev_line = dst; - dst += width; - deltas += width; - } - } else { - for (y = 0; y < num_rows; ++y) { - memcpy(dst, deltas, width * sizeof(*dst)); - prev_line = dst; - dst += width; - deltas += width; - } - } - dec->alpha_prev_line_ = prev_line; - } else { // alph_dec->method_ == ALPHA_LOSSLESS_COMPRESSION - assert(alph_dec->vp8l_dec_ != NULL); - if (!VP8LDecodeAlphaImageStream(alph_dec, row + num_rows)) { - return 0; - } - } - - if (row + num_rows >= height) { - dec->is_alpha_decoded_ = 1; - } - return 1; -} - -static int AllocateAlphaPlane(VP8Decoder* const dec, const VP8Io* const io) { - const int stride = io->width; - const int height = io->crop_bottom; - const uint64_t alpha_size = (uint64_t)stride * height; - assert(dec->alpha_plane_mem_ == NULL); - dec->alpha_plane_mem_ = - (uint8_t*)WebPSafeMalloc(alpha_size, sizeof(*dec->alpha_plane_)); - if (dec->alpha_plane_mem_ == NULL) { - return 0; - } - dec->alpha_plane_ = dec->alpha_plane_mem_; - dec->alpha_prev_line_ = NULL; - return 1; -} - -void WebPDeallocateAlphaMemory(VP8Decoder* const dec) { - assert(dec != NULL); - WebPSafeFree(dec->alpha_plane_mem_); - dec->alpha_plane_mem_ = NULL; - dec->alpha_plane_ = NULL; - ALPHDelete(dec->alph_dec_); - dec->alph_dec_ = NULL; -} - -//------------------------------------------------------------------------------ -// Main entry point. - -const uint8_t* VP8DecompressAlphaRows(VP8Decoder* const dec, - const VP8Io* const io, - int row, int num_rows) { - const int width = io->width; - const int height = io->crop_bottom; - - assert(dec != NULL && io != NULL); - - if (row < 0 || num_rows <= 0 || row + num_rows > height) { - return NULL; // sanity check. - } - - if (!dec->is_alpha_decoded_) { - if (dec->alph_dec_ == NULL) { // Initialize decoder. - dec->alph_dec_ = ALPHNew(); - if (dec->alph_dec_ == NULL) return NULL; - if (!AllocateAlphaPlane(dec, io)) goto Error; - if (!ALPHInit(dec->alph_dec_, dec->alpha_data_, dec->alpha_data_size_, - io, dec->alpha_plane_)) { - goto Error; - } - // if we allowed use of alpha dithering, check whether it's needed at all - if (dec->alph_dec_->pre_processing_ != ALPHA_PREPROCESSED_LEVELS) { - dec->alpha_dithering_ = 0; // disable dithering - } else { - num_rows = height - row; // decode everything in one pass - } - } - - assert(dec->alph_dec_ != NULL); - assert(row + num_rows <= height); - if (!ALPHDecode(dec, row, num_rows)) goto Error; - - if (dec->is_alpha_decoded_) { // finished? - ALPHDelete(dec->alph_dec_); - dec->alph_dec_ = NULL; - if (dec->alpha_dithering_ > 0) { - uint8_t* const alpha = dec->alpha_plane_ + io->crop_top * width - + io->crop_left; - if (!WebPDequantizeLevels(alpha, - io->crop_right - io->crop_left, - io->crop_bottom - io->crop_top, - width, dec->alpha_dithering_)) { - goto Error; - } - } - } - } - - // Return a pointer to the current decoded row. - return dec->alpha_plane_ + row * width; - - Error: - WebPDeallocateAlphaMemory(dec); - return NULL; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/alphai_dec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/alphai_dec.h deleted file mode 100644 index a64104ab..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/alphai_dec.h +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Alpha decoder: internal header. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_DEC_ALPHAI_DEC_H_ -#define WEBP_DEC_ALPHAI_DEC_H_ - -#include "src/dec/webpi_dec.h" -#include "src/utils/filters_utils.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct VP8LDecoder; // Defined in dec/vp8li.h. - -typedef struct ALPHDecoder ALPHDecoder; -struct ALPHDecoder { - int width_; - int height_; - int method_; - WEBP_FILTER_TYPE filter_; - int pre_processing_; - struct VP8LDecoder* vp8l_dec_; - VP8Io io_; - int use_8b_decode_; // Although alpha channel requires only 1 byte per - // pixel, sometimes VP8LDecoder may need to allocate - // 4 bytes per pixel internally during decode. - uint8_t* output_; - const uint8_t* prev_line_; // last output row (or NULL) -}; - -//------------------------------------------------------------------------------ -// internal functions. Not public. - -// Deallocate memory associated to dec->alpha_plane_ decoding -void WebPDeallocateAlphaMemory(VP8Decoder* const dec); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DEC_ALPHAI_DEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/buffer_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/buffer_dec.c deleted file mode 100644 index 3cd94eb4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/buffer_dec.c +++ /dev/null @@ -1,312 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Everything about WebPDecBuffer -// -// Author: Skal (pascal.massimino@gmail.com) - -#include - -#include "src/dec/vp8i_dec.h" -#include "src/dec/webpi_dec.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// WebPDecBuffer - -// Number of bytes per pixel for the different color-spaces. -static const uint8_t kModeBpp[MODE_LAST] = { - 3, 4, 3, 4, 4, 2, 2, - 4, 4, 4, 2, // pre-multiplied modes - 1, 1 }; - -// Check that webp_csp_mode is within the bounds of WEBP_CSP_MODE. -// Convert to an integer to handle both the unsigned/signed enum cases -// without the need for casting to remove type limit warnings. -static int IsValidColorspace(int webp_csp_mode) { - return (webp_csp_mode >= MODE_RGB && webp_csp_mode < MODE_LAST); -} - -// strictly speaking, the very last (or first, if flipped) row -// doesn't require padding. -#define MIN_BUFFER_SIZE(WIDTH, HEIGHT, STRIDE) \ - ((uint64_t)(STRIDE) * ((HEIGHT) - 1) + (WIDTH)) - -static VP8StatusCode CheckDecBuffer(const WebPDecBuffer* const buffer) { - int ok = 1; - const WEBP_CSP_MODE mode = buffer->colorspace; - const int width = buffer->width; - const int height = buffer->height; - if (!IsValidColorspace(mode)) { - ok = 0; - } else if (!WebPIsRGBMode(mode)) { // YUV checks - const WebPYUVABuffer* const buf = &buffer->u.YUVA; - const int uv_width = (width + 1) / 2; - const int uv_height = (height + 1) / 2; - const int y_stride = abs(buf->y_stride); - const int u_stride = abs(buf->u_stride); - const int v_stride = abs(buf->v_stride); - const int a_stride = abs(buf->a_stride); - const uint64_t y_size = MIN_BUFFER_SIZE(width, height, y_stride); - const uint64_t u_size = MIN_BUFFER_SIZE(uv_width, uv_height, u_stride); - const uint64_t v_size = MIN_BUFFER_SIZE(uv_width, uv_height, v_stride); - const uint64_t a_size = MIN_BUFFER_SIZE(width, height, a_stride); - ok &= (y_size <= buf->y_size); - ok &= (u_size <= buf->u_size); - ok &= (v_size <= buf->v_size); - ok &= (y_stride >= width); - ok &= (u_stride >= uv_width); - ok &= (v_stride >= uv_width); - ok &= (buf->y != NULL); - ok &= (buf->u != NULL); - ok &= (buf->v != NULL); - if (mode == MODE_YUVA) { - ok &= (a_stride >= width); - ok &= (a_size <= buf->a_size); - ok &= (buf->a != NULL); - } - } else { // RGB checks - const WebPRGBABuffer* const buf = &buffer->u.RGBA; - const int stride = abs(buf->stride); - const uint64_t size = - MIN_BUFFER_SIZE(width * kModeBpp[mode], height, stride); - ok &= (size <= buf->size); - ok &= (stride >= width * kModeBpp[mode]); - ok &= (buf->rgba != NULL); - } - return ok ? VP8_STATUS_OK : VP8_STATUS_INVALID_PARAM; -} -#undef MIN_BUFFER_SIZE - -static VP8StatusCode AllocateBuffer(WebPDecBuffer* const buffer) { - const int w = buffer->width; - const int h = buffer->height; - const WEBP_CSP_MODE mode = buffer->colorspace; - - if (w <= 0 || h <= 0 || !IsValidColorspace(mode)) { - return VP8_STATUS_INVALID_PARAM; - } - - if (buffer->is_external_memory <= 0 && buffer->private_memory == NULL) { - uint8_t* output; - int uv_stride = 0, a_stride = 0; - uint64_t uv_size = 0, a_size = 0, total_size; - // We need memory and it hasn't been allocated yet. - // => initialize output buffer, now that dimensions are known. - int stride; - uint64_t size; - - if ((uint64_t)w * kModeBpp[mode] >= (1ull << 32)) { - return VP8_STATUS_INVALID_PARAM; - } - stride = w * kModeBpp[mode]; - size = (uint64_t)stride * h; - if (!WebPIsRGBMode(mode)) { - uv_stride = (w + 1) / 2; - uv_size = (uint64_t)uv_stride * ((h + 1) / 2); - if (mode == MODE_YUVA) { - a_stride = w; - a_size = (uint64_t)a_stride * h; - } - } - total_size = size + 2 * uv_size + a_size; - - // Security/sanity checks - output = (uint8_t*)WebPSafeMalloc(total_size, sizeof(*output)); - if (output == NULL) { - return VP8_STATUS_OUT_OF_MEMORY; - } - buffer->private_memory = output; - - if (!WebPIsRGBMode(mode)) { // YUVA initialization - WebPYUVABuffer* const buf = &buffer->u.YUVA; - buf->y = output; - buf->y_stride = stride; - buf->y_size = (size_t)size; - buf->u = output + size; - buf->u_stride = uv_stride; - buf->u_size = (size_t)uv_size; - buf->v = output + size + uv_size; - buf->v_stride = uv_stride; - buf->v_size = (size_t)uv_size; - if (mode == MODE_YUVA) { - buf->a = output + size + 2 * uv_size; - } - buf->a_size = (size_t)a_size; - buf->a_stride = a_stride; - } else { // RGBA initialization - WebPRGBABuffer* const buf = &buffer->u.RGBA; - buf->rgba = output; - buf->stride = stride; - buf->size = (size_t)size; - } - } - return CheckDecBuffer(buffer); -} - -VP8StatusCode WebPFlipBuffer(WebPDecBuffer* const buffer) { - if (buffer == NULL) { - return VP8_STATUS_INVALID_PARAM; - } - if (WebPIsRGBMode(buffer->colorspace)) { - WebPRGBABuffer* const buf = &buffer->u.RGBA; - buf->rgba += (buffer->height - 1) * buf->stride; - buf->stride = -buf->stride; - } else { - WebPYUVABuffer* const buf = &buffer->u.YUVA; - const int H = buffer->height; - buf->y += (H - 1) * buf->y_stride; - buf->y_stride = -buf->y_stride; - buf->u += ((H - 1) >> 1) * buf->u_stride; - buf->u_stride = -buf->u_stride; - buf->v += ((H - 1) >> 1) * buf->v_stride; - buf->v_stride = -buf->v_stride; - if (buf->a != NULL) { - buf->a += (H - 1) * buf->a_stride; - buf->a_stride = -buf->a_stride; - } - } - return VP8_STATUS_OK; -} - -VP8StatusCode WebPAllocateDecBuffer(int width, int height, - const WebPDecoderOptions* const options, - WebPDecBuffer* const buffer) { - VP8StatusCode status; - if (buffer == NULL || width <= 0 || height <= 0) { - return VP8_STATUS_INVALID_PARAM; - } - if (options != NULL) { // First, apply options if there is any. - if (options->use_cropping) { - const int cw = options->crop_width; - const int ch = options->crop_height; - const int x = options->crop_left & ~1; - const int y = options->crop_top & ~1; - if (x < 0 || y < 0 || cw <= 0 || ch <= 0 || - x + cw > width || y + ch > height) { - return VP8_STATUS_INVALID_PARAM; // out of frame boundary. - } - width = cw; - height = ch; - } - - if (options->use_scaling) { -#if !defined(WEBP_REDUCE_SIZE) - int scaled_width = options->scaled_width; - int scaled_height = options->scaled_height; - if (!WebPRescalerGetScaledDimensions( - width, height, &scaled_width, &scaled_height)) { - return VP8_STATUS_INVALID_PARAM; - } - width = scaled_width; - height = scaled_height; -#else - return VP8_STATUS_INVALID_PARAM; // rescaling not supported -#endif - } - } - buffer->width = width; - buffer->height = height; - - // Then, allocate buffer for real. - status = AllocateBuffer(buffer); - if (status != VP8_STATUS_OK) return status; - - // Use the stride trick if vertical flip is needed. - if (options != NULL && options->flip) { - status = WebPFlipBuffer(buffer); - } - return status; -} - -//------------------------------------------------------------------------------ -// constructors / destructors - -int WebPInitDecBufferInternal(WebPDecBuffer* buffer, int version) { - if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_DECODER_ABI_VERSION)) { - return 0; // version mismatch - } - if (buffer == NULL) return 0; - memset(buffer, 0, sizeof(*buffer)); - return 1; -} - -void WebPFreeDecBuffer(WebPDecBuffer* buffer) { - if (buffer != NULL) { - if (buffer->is_external_memory <= 0) { - WebPSafeFree(buffer->private_memory); - } - buffer->private_memory = NULL; - } -} - -void WebPCopyDecBuffer(const WebPDecBuffer* const src, - WebPDecBuffer* const dst) { - if (src != NULL && dst != NULL) { - *dst = *src; - if (src->private_memory != NULL) { - dst->is_external_memory = 1; // dst buffer doesn't own the memory. - dst->private_memory = NULL; - } - } -} - -// Copy and transfer ownership from src to dst (beware of parameter order!) -void WebPGrabDecBuffer(WebPDecBuffer* const src, WebPDecBuffer* const dst) { - if (src != NULL && dst != NULL) { - *dst = *src; - if (src->private_memory != NULL) { - src->is_external_memory = 1; // src relinquishes ownership - src->private_memory = NULL; - } - } -} - -VP8StatusCode WebPCopyDecBufferPixels(const WebPDecBuffer* const src_buf, - WebPDecBuffer* const dst_buf) { - assert(src_buf != NULL && dst_buf != NULL); - assert(src_buf->colorspace == dst_buf->colorspace); - - dst_buf->width = src_buf->width; - dst_buf->height = src_buf->height; - if (CheckDecBuffer(dst_buf) != VP8_STATUS_OK) { - return VP8_STATUS_INVALID_PARAM; - } - if (WebPIsRGBMode(src_buf->colorspace)) { - const WebPRGBABuffer* const src = &src_buf->u.RGBA; - const WebPRGBABuffer* const dst = &dst_buf->u.RGBA; - WebPCopyPlane(src->rgba, src->stride, dst->rgba, dst->stride, - src_buf->width * kModeBpp[src_buf->colorspace], - src_buf->height); - } else { - const WebPYUVABuffer* const src = &src_buf->u.YUVA; - const WebPYUVABuffer* const dst = &dst_buf->u.YUVA; - WebPCopyPlane(src->y, src->y_stride, dst->y, dst->y_stride, - src_buf->width, src_buf->height); - WebPCopyPlane(src->u, src->u_stride, dst->u, dst->u_stride, - (src_buf->width + 1) / 2, (src_buf->height + 1) / 2); - WebPCopyPlane(src->v, src->v_stride, dst->v, dst->v_stride, - (src_buf->width + 1) / 2, (src_buf->height + 1) / 2); - if (WebPIsAlphaMode(src_buf->colorspace)) { - WebPCopyPlane(src->a, src->a_stride, dst->a, dst->a_stride, - src_buf->width, src_buf->height); - } - } - return VP8_STATUS_OK; -} - -int WebPAvoidSlowMemory(const WebPDecBuffer* const output, - const WebPBitstreamFeatures* const features) { - assert(output != NULL); - return (output->is_external_memory >= 2) && - WebPIsPremultipliedMode(output->colorspace) && - (features != NULL && features->has_alpha); -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/common_dec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/common_dec.h deleted file mode 100644 index b158550a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/common_dec.h +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Definitions and macros common to encoding and decoding -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_DEC_COMMON_DEC_H_ -#define WEBP_DEC_COMMON_DEC_H_ - -// intra prediction modes -enum { B_DC_PRED = 0, // 4x4 modes - B_TM_PRED = 1, - B_VE_PRED = 2, - B_HE_PRED = 3, - B_RD_PRED = 4, - B_VR_PRED = 5, - B_LD_PRED = 6, - B_VL_PRED = 7, - B_HD_PRED = 8, - B_HU_PRED = 9, - NUM_BMODES = B_HU_PRED + 1 - B_DC_PRED, // = 10 - - // Luma16 or UV modes - DC_PRED = B_DC_PRED, V_PRED = B_VE_PRED, - H_PRED = B_HE_PRED, TM_PRED = B_TM_PRED, - B_PRED = NUM_BMODES, // refined I4x4 mode - NUM_PRED_MODES = 4, - - // special modes - B_DC_PRED_NOTOP = 4, - B_DC_PRED_NOLEFT = 5, - B_DC_PRED_NOTOPLEFT = 6, - NUM_B_DC_MODES = 7 }; - -enum { MB_FEATURE_TREE_PROBS = 3, - NUM_MB_SEGMENTS = 4, - NUM_REF_LF_DELTAS = 4, - NUM_MODE_LF_DELTAS = 4, // I4x4, ZERO, *, SPLIT - MAX_NUM_PARTITIONS = 8, - // Probabilities - NUM_TYPES = 4, // 0: i16-AC, 1: i16-DC, 2:chroma-AC, 3:i4-AC - NUM_BANDS = 8, - NUM_CTX = 3, - NUM_PROBAS = 11 - }; - -#endif // WEBP_DEC_COMMON_DEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/frame_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/frame_dec.c deleted file mode 100644 index 04609a8e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/frame_dec.c +++ /dev/null @@ -1,803 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Frame-reconstruction function. Memory allocation. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include "src/dec/vp8i_dec.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// Main reconstruction function. - -static const uint16_t kScan[16] = { - 0 + 0 * BPS, 4 + 0 * BPS, 8 + 0 * BPS, 12 + 0 * BPS, - 0 + 4 * BPS, 4 + 4 * BPS, 8 + 4 * BPS, 12 + 4 * BPS, - 0 + 8 * BPS, 4 + 8 * BPS, 8 + 8 * BPS, 12 + 8 * BPS, - 0 + 12 * BPS, 4 + 12 * BPS, 8 + 12 * BPS, 12 + 12 * BPS -}; - -static int CheckMode(int mb_x, int mb_y, int mode) { - if (mode == B_DC_PRED) { - if (mb_x == 0) { - return (mb_y == 0) ? B_DC_PRED_NOTOPLEFT : B_DC_PRED_NOLEFT; - } else { - return (mb_y == 0) ? B_DC_PRED_NOTOP : B_DC_PRED; - } - } - return mode; -} - -static void Copy32b(uint8_t* const dst, const uint8_t* const src) { - memcpy(dst, src, 4); -} - -static WEBP_INLINE void DoTransform(uint32_t bits, const int16_t* const src, - uint8_t* const dst) { - switch (bits >> 30) { - case 3: - VP8Transform(src, dst, 0); - break; - case 2: - VP8TransformAC3(src, dst); - break; - case 1: - VP8TransformDC(src, dst); - break; - default: - break; - } -} - -static void DoUVTransform(uint32_t bits, const int16_t* const src, - uint8_t* const dst) { - if (bits & 0xff) { // any non-zero coeff at all? - if (bits & 0xaa) { // any non-zero AC coefficient? - VP8TransformUV(src, dst); // note we don't use the AC3 variant for U/V - } else { - VP8TransformDCUV(src, dst); - } - } -} - -static void ReconstructRow(const VP8Decoder* const dec, - const VP8ThreadContext* ctx) { - int j; - int mb_x; - const int mb_y = ctx->mb_y_; - const int cache_id = ctx->id_; - uint8_t* const y_dst = dec->yuv_b_ + Y_OFF; - uint8_t* const u_dst = dec->yuv_b_ + U_OFF; - uint8_t* const v_dst = dec->yuv_b_ + V_OFF; - - // Initialize left-most block. - for (j = 0; j < 16; ++j) { - y_dst[j * BPS - 1] = 129; - } - for (j = 0; j < 8; ++j) { - u_dst[j * BPS - 1] = 129; - v_dst[j * BPS - 1] = 129; - } - - // Init top-left sample on left column too. - if (mb_y > 0) { - y_dst[-1 - BPS] = u_dst[-1 - BPS] = v_dst[-1 - BPS] = 129; - } else { - // we only need to do this init once at block (0,0). - // Afterward, it remains valid for the whole topmost row. - memset(y_dst - BPS - 1, 127, 16 + 4 + 1); - memset(u_dst - BPS - 1, 127, 8 + 1); - memset(v_dst - BPS - 1, 127, 8 + 1); - } - - // Reconstruct one row. - for (mb_x = 0; mb_x < dec->mb_w_; ++mb_x) { - const VP8MBData* const block = ctx->mb_data_ + mb_x; - - // Rotate in the left samples from previously decoded block. We move four - // pixels at a time for alignment reason, and because of in-loop filter. - if (mb_x > 0) { - for (j = -1; j < 16; ++j) { - Copy32b(&y_dst[j * BPS - 4], &y_dst[j * BPS + 12]); - } - for (j = -1; j < 8; ++j) { - Copy32b(&u_dst[j * BPS - 4], &u_dst[j * BPS + 4]); - Copy32b(&v_dst[j * BPS - 4], &v_dst[j * BPS + 4]); - } - } - { - // bring top samples into the cache - VP8TopSamples* const top_yuv = dec->yuv_t_ + mb_x; - const int16_t* const coeffs = block->coeffs_; - uint32_t bits = block->non_zero_y_; - int n; - - if (mb_y > 0) { - memcpy(y_dst - BPS, top_yuv[0].y, 16); - memcpy(u_dst - BPS, top_yuv[0].u, 8); - memcpy(v_dst - BPS, top_yuv[0].v, 8); - } - - // predict and add residuals - if (block->is_i4x4_) { // 4x4 - uint32_t* const top_right = (uint32_t*)(y_dst - BPS + 16); - - if (mb_y > 0) { - if (mb_x >= dec->mb_w_ - 1) { // on rightmost border - memset(top_right, top_yuv[0].y[15], sizeof(*top_right)); - } else { - memcpy(top_right, top_yuv[1].y, sizeof(*top_right)); - } - } - // replicate the top-right pixels below - top_right[BPS] = top_right[2 * BPS] = top_right[3 * BPS] = top_right[0]; - - // predict and add residuals for all 4x4 blocks in turn. - for (n = 0; n < 16; ++n, bits <<= 2) { - uint8_t* const dst = y_dst + kScan[n]; - VP8PredLuma4[block->imodes_[n]](dst); - DoTransform(bits, coeffs + n * 16, dst); - } - } else { // 16x16 - const int pred_func = CheckMode(mb_x, mb_y, block->imodes_[0]); - VP8PredLuma16[pred_func](y_dst); - if (bits != 0) { - for (n = 0; n < 16; ++n, bits <<= 2) { - DoTransform(bits, coeffs + n * 16, y_dst + kScan[n]); - } - } - } - { - // Chroma - const uint32_t bits_uv = block->non_zero_uv_; - const int pred_func = CheckMode(mb_x, mb_y, block->uvmode_); - VP8PredChroma8[pred_func](u_dst); - VP8PredChroma8[pred_func](v_dst); - DoUVTransform(bits_uv >> 0, coeffs + 16 * 16, u_dst); - DoUVTransform(bits_uv >> 8, coeffs + 20 * 16, v_dst); - } - - // stash away top samples for next block - if (mb_y < dec->mb_h_ - 1) { - memcpy(top_yuv[0].y, y_dst + 15 * BPS, 16); - memcpy(top_yuv[0].u, u_dst + 7 * BPS, 8); - memcpy(top_yuv[0].v, v_dst + 7 * BPS, 8); - } - } - // Transfer reconstructed samples from yuv_b_ cache to final destination. - { - const int y_offset = cache_id * 16 * dec->cache_y_stride_; - const int uv_offset = cache_id * 8 * dec->cache_uv_stride_; - uint8_t* const y_out = dec->cache_y_ + mb_x * 16 + y_offset; - uint8_t* const u_out = dec->cache_u_ + mb_x * 8 + uv_offset; - uint8_t* const v_out = dec->cache_v_ + mb_x * 8 + uv_offset; - for (j = 0; j < 16; ++j) { - memcpy(y_out + j * dec->cache_y_stride_, y_dst + j * BPS, 16); - } - for (j = 0; j < 8; ++j) { - memcpy(u_out + j * dec->cache_uv_stride_, u_dst + j * BPS, 8); - memcpy(v_out + j * dec->cache_uv_stride_, v_dst + j * BPS, 8); - } - } - } -} - -//------------------------------------------------------------------------------ -// Filtering - -// kFilterExtraRows[] = How many extra lines are needed on the MB boundary -// for caching, given a filtering level. -// Simple filter: up to 2 luma samples are read and 1 is written. -// Complex filter: up to 4 luma samples are read and 3 are written. Same for -// U/V, so it's 8 samples total (because of the 2x upsampling). -static const uint8_t kFilterExtraRows[3] = { 0, 2, 8 }; - -static void DoFilter(const VP8Decoder* const dec, int mb_x, int mb_y) { - const VP8ThreadContext* const ctx = &dec->thread_ctx_; - const int cache_id = ctx->id_; - const int y_bps = dec->cache_y_stride_; - const VP8FInfo* const f_info = ctx->f_info_ + mb_x; - uint8_t* const y_dst = dec->cache_y_ + cache_id * 16 * y_bps + mb_x * 16; - const int ilevel = f_info->f_ilevel_; - const int limit = f_info->f_limit_; - if (limit == 0) { - return; - } - assert(limit >= 3); - if (dec->filter_type_ == 1) { // simple - if (mb_x > 0) { - VP8SimpleHFilter16(y_dst, y_bps, limit + 4); - } - if (f_info->f_inner_) { - VP8SimpleHFilter16i(y_dst, y_bps, limit); - } - if (mb_y > 0) { - VP8SimpleVFilter16(y_dst, y_bps, limit + 4); - } - if (f_info->f_inner_) { - VP8SimpleVFilter16i(y_dst, y_bps, limit); - } - } else { // complex - const int uv_bps = dec->cache_uv_stride_; - uint8_t* const u_dst = dec->cache_u_ + cache_id * 8 * uv_bps + mb_x * 8; - uint8_t* const v_dst = dec->cache_v_ + cache_id * 8 * uv_bps + mb_x * 8; - const int hev_thresh = f_info->hev_thresh_; - if (mb_x > 0) { - VP8HFilter16(y_dst, y_bps, limit + 4, ilevel, hev_thresh); - VP8HFilter8(u_dst, v_dst, uv_bps, limit + 4, ilevel, hev_thresh); - } - if (f_info->f_inner_) { - VP8HFilter16i(y_dst, y_bps, limit, ilevel, hev_thresh); - VP8HFilter8i(u_dst, v_dst, uv_bps, limit, ilevel, hev_thresh); - } - if (mb_y > 0) { - VP8VFilter16(y_dst, y_bps, limit + 4, ilevel, hev_thresh); - VP8VFilter8(u_dst, v_dst, uv_bps, limit + 4, ilevel, hev_thresh); - } - if (f_info->f_inner_) { - VP8VFilter16i(y_dst, y_bps, limit, ilevel, hev_thresh); - VP8VFilter8i(u_dst, v_dst, uv_bps, limit, ilevel, hev_thresh); - } - } -} - -// Filter the decoded macroblock row (if needed) -static void FilterRow(const VP8Decoder* const dec) { - int mb_x; - const int mb_y = dec->thread_ctx_.mb_y_; - assert(dec->thread_ctx_.filter_row_); - for (mb_x = dec->tl_mb_x_; mb_x < dec->br_mb_x_; ++mb_x) { - DoFilter(dec, mb_x, mb_y); - } -} - -//------------------------------------------------------------------------------ -// Precompute the filtering strength for each segment and each i4x4/i16x16 mode. - -static void PrecomputeFilterStrengths(VP8Decoder* const dec) { - if (dec->filter_type_ > 0) { - int s; - const VP8FilterHeader* const hdr = &dec->filter_hdr_; - for (s = 0; s < NUM_MB_SEGMENTS; ++s) { - int i4x4; - // First, compute the initial level - int base_level; - if (dec->segment_hdr_.use_segment_) { - base_level = dec->segment_hdr_.filter_strength_[s]; - if (!dec->segment_hdr_.absolute_delta_) { - base_level += hdr->level_; - } - } else { - base_level = hdr->level_; - } - for (i4x4 = 0; i4x4 <= 1; ++i4x4) { - VP8FInfo* const info = &dec->fstrengths_[s][i4x4]; - int level = base_level; - if (hdr->use_lf_delta_) { - level += hdr->ref_lf_delta_[0]; - if (i4x4) { - level += hdr->mode_lf_delta_[0]; - } - } - level = (level < 0) ? 0 : (level > 63) ? 63 : level; - if (level > 0) { - int ilevel = level; - if (hdr->sharpness_ > 0) { - if (hdr->sharpness_ > 4) { - ilevel >>= 2; - } else { - ilevel >>= 1; - } - if (ilevel > 9 - hdr->sharpness_) { - ilevel = 9 - hdr->sharpness_; - } - } - if (ilevel < 1) ilevel = 1; - info->f_ilevel_ = ilevel; - info->f_limit_ = 2 * level + ilevel; - info->hev_thresh_ = (level >= 40) ? 2 : (level >= 15) ? 1 : 0; - } else { - info->f_limit_ = 0; // no filtering - } - info->f_inner_ = i4x4; - } - } - } -} - -//------------------------------------------------------------------------------ -// Dithering - -// minimal amp that will provide a non-zero dithering effect -#define MIN_DITHER_AMP 4 - -#define DITHER_AMP_TAB_SIZE 12 -static const uint8_t kQuantToDitherAmp[DITHER_AMP_TAB_SIZE] = { - // roughly, it's dqm->uv_mat_[1] - 8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1 -}; - -void VP8InitDithering(const WebPDecoderOptions* const options, - VP8Decoder* const dec) { - assert(dec != NULL); - if (options != NULL) { - const int d = options->dithering_strength; - const int max_amp = (1 << VP8_RANDOM_DITHER_FIX) - 1; - const int f = (d < 0) ? 0 : (d > 100) ? max_amp : (d * max_amp / 100); - if (f > 0) { - int s; - int all_amp = 0; - for (s = 0; s < NUM_MB_SEGMENTS; ++s) { - VP8QuantMatrix* const dqm = &dec->dqm_[s]; - if (dqm->uv_quant_ < DITHER_AMP_TAB_SIZE) { - const int idx = (dqm->uv_quant_ < 0) ? 0 : dqm->uv_quant_; - dqm->dither_ = (f * kQuantToDitherAmp[idx]) >> 3; - } - all_amp |= dqm->dither_; - } - if (all_amp != 0) { - VP8InitRandom(&dec->dithering_rg_, 1.0f); - dec->dither_ = 1; - } - } - // potentially allow alpha dithering - dec->alpha_dithering_ = options->alpha_dithering_strength; - if (dec->alpha_dithering_ > 100) { - dec->alpha_dithering_ = 100; - } else if (dec->alpha_dithering_ < 0) { - dec->alpha_dithering_ = 0; - } - } -} - -// Convert to range: [-2,2] for dither=50, [-4,4] for dither=100 -static void Dither8x8(VP8Random* const rg, uint8_t* dst, int bps, int amp) { - uint8_t dither[64]; - int i; - for (i = 0; i < 8 * 8; ++i) { - dither[i] = VP8RandomBits2(rg, VP8_DITHER_AMP_BITS + 1, amp); - } - VP8DitherCombine8x8(dither, dst, bps); -} - -static void DitherRow(VP8Decoder* const dec) { - int mb_x; - assert(dec->dither_); - for (mb_x = dec->tl_mb_x_; mb_x < dec->br_mb_x_; ++mb_x) { - const VP8ThreadContext* const ctx = &dec->thread_ctx_; - const VP8MBData* const data = ctx->mb_data_ + mb_x; - const int cache_id = ctx->id_; - const int uv_bps = dec->cache_uv_stride_; - if (data->dither_ >= MIN_DITHER_AMP) { - uint8_t* const u_dst = dec->cache_u_ + cache_id * 8 * uv_bps + mb_x * 8; - uint8_t* const v_dst = dec->cache_v_ + cache_id * 8 * uv_bps + mb_x * 8; - Dither8x8(&dec->dithering_rg_, u_dst, uv_bps, data->dither_); - Dither8x8(&dec->dithering_rg_, v_dst, uv_bps, data->dither_); - } - } -} - -//------------------------------------------------------------------------------ -// This function is called after a row of macroblocks is finished decoding. -// It also takes into account the following restrictions: -// * In case of in-loop filtering, we must hold off sending some of the bottom -// pixels as they are yet unfiltered. They will be when the next macroblock -// row is decoded. Meanwhile, we must preserve them by rotating them in the -// cache area. This doesn't hold for the very bottom row of the uncropped -// picture of course. -// * we must clip the remaining pixels against the cropping area. The VP8Io -// struct must have the following fields set correctly before calling put(): - -#define MACROBLOCK_VPOS(mb_y) ((mb_y) * 16) // vertical position of a MB - -// Finalize and transmit a complete row. Return false in case of user-abort. -static int FinishRow(void* arg1, void* arg2) { - VP8Decoder* const dec = (VP8Decoder*)arg1; - VP8Io* const io = (VP8Io*)arg2; - int ok = 1; - const VP8ThreadContext* const ctx = &dec->thread_ctx_; - const int cache_id = ctx->id_; - const int extra_y_rows = kFilterExtraRows[dec->filter_type_]; - const int ysize = extra_y_rows * dec->cache_y_stride_; - const int uvsize = (extra_y_rows / 2) * dec->cache_uv_stride_; - const int y_offset = cache_id * 16 * dec->cache_y_stride_; - const int uv_offset = cache_id * 8 * dec->cache_uv_stride_; - uint8_t* const ydst = dec->cache_y_ - ysize + y_offset; - uint8_t* const udst = dec->cache_u_ - uvsize + uv_offset; - uint8_t* const vdst = dec->cache_v_ - uvsize + uv_offset; - const int mb_y = ctx->mb_y_; - const int is_first_row = (mb_y == 0); - const int is_last_row = (mb_y >= dec->br_mb_y_ - 1); - - if (dec->mt_method_ == 2) { - ReconstructRow(dec, ctx); - } - - if (ctx->filter_row_) { - FilterRow(dec); - } - - if (dec->dither_) { - DitherRow(dec); - } - - if (io->put != NULL) { - int y_start = MACROBLOCK_VPOS(mb_y); - int y_end = MACROBLOCK_VPOS(mb_y + 1); - if (!is_first_row) { - y_start -= extra_y_rows; - io->y = ydst; - io->u = udst; - io->v = vdst; - } else { - io->y = dec->cache_y_ + y_offset; - io->u = dec->cache_u_ + uv_offset; - io->v = dec->cache_v_ + uv_offset; - } - - if (!is_last_row) { - y_end -= extra_y_rows; - } - if (y_end > io->crop_bottom) { - y_end = io->crop_bottom; // make sure we don't overflow on last row. - } - // If dec->alpha_data_ is not NULL, we have some alpha plane present. - io->a = NULL; - if (dec->alpha_data_ != NULL && y_start < y_end) { - io->a = VP8DecompressAlphaRows(dec, io, y_start, y_end - y_start); - if (io->a == NULL) { - return VP8SetError(dec, VP8_STATUS_BITSTREAM_ERROR, - "Could not decode alpha data."); - } - } - if (y_start < io->crop_top) { - const int delta_y = io->crop_top - y_start; - y_start = io->crop_top; - assert(!(delta_y & 1)); - io->y += dec->cache_y_stride_ * delta_y; - io->u += dec->cache_uv_stride_ * (delta_y >> 1); - io->v += dec->cache_uv_stride_ * (delta_y >> 1); - if (io->a != NULL) { - io->a += io->width * delta_y; - } - } - if (y_start < y_end) { - io->y += io->crop_left; - io->u += io->crop_left >> 1; - io->v += io->crop_left >> 1; - if (io->a != NULL) { - io->a += io->crop_left; - } - io->mb_y = y_start - io->crop_top; - io->mb_w = io->crop_right - io->crop_left; - io->mb_h = y_end - y_start; - ok = io->put(io); - } - } - // rotate top samples if needed - if (cache_id + 1 == dec->num_caches_) { - if (!is_last_row) { - memcpy(dec->cache_y_ - ysize, ydst + 16 * dec->cache_y_stride_, ysize); - memcpy(dec->cache_u_ - uvsize, udst + 8 * dec->cache_uv_stride_, uvsize); - memcpy(dec->cache_v_ - uvsize, vdst + 8 * dec->cache_uv_stride_, uvsize); - } - } - - return ok; -} - -#undef MACROBLOCK_VPOS - -//------------------------------------------------------------------------------ - -int VP8ProcessRow(VP8Decoder* const dec, VP8Io* const io) { - int ok = 1; - VP8ThreadContext* const ctx = &dec->thread_ctx_; - const int filter_row = - (dec->filter_type_ > 0) && - (dec->mb_y_ >= dec->tl_mb_y_) && (dec->mb_y_ <= dec->br_mb_y_); - if (dec->mt_method_ == 0) { - // ctx->id_ and ctx->f_info_ are already set - ctx->mb_y_ = dec->mb_y_; - ctx->filter_row_ = filter_row; - ReconstructRow(dec, ctx); - ok = FinishRow(dec, io); - } else { - WebPWorker* const worker = &dec->worker_; - // Finish previous job *before* updating context - ok &= WebPGetWorkerInterface()->Sync(worker); - assert(worker->status_ == OK); - if (ok) { // spawn a new deblocking/output job - ctx->io_ = *io; - ctx->id_ = dec->cache_id_; - ctx->mb_y_ = dec->mb_y_; - ctx->filter_row_ = filter_row; - if (dec->mt_method_ == 2) { // swap macroblock data - VP8MBData* const tmp = ctx->mb_data_; - ctx->mb_data_ = dec->mb_data_; - dec->mb_data_ = tmp; - } else { - // perform reconstruction directly in main thread - ReconstructRow(dec, ctx); - } - if (filter_row) { // swap filter info - VP8FInfo* const tmp = ctx->f_info_; - ctx->f_info_ = dec->f_info_; - dec->f_info_ = tmp; - } - // (reconstruct)+filter in parallel - WebPGetWorkerInterface()->Launch(worker); - if (++dec->cache_id_ == dec->num_caches_) { - dec->cache_id_ = 0; - } - } - } - return ok; -} - -//------------------------------------------------------------------------------ -// Finish setting up the decoding parameter once user's setup() is called. - -VP8StatusCode VP8EnterCritical(VP8Decoder* const dec, VP8Io* const io) { - // Call setup() first. This may trigger additional decoding features on 'io'. - // Note: Afterward, we must call teardown() no matter what. - if (io->setup != NULL && !io->setup(io)) { - VP8SetError(dec, VP8_STATUS_USER_ABORT, "Frame setup failed"); - return dec->status_; - } - - // Disable filtering per user request - if (io->bypass_filtering) { - dec->filter_type_ = 0; - } - - // Define the area where we can skip in-loop filtering, in case of cropping. - // - // 'Simple' filter reads two luma samples outside of the macroblock - // and filters one. It doesn't filter the chroma samples. Hence, we can - // avoid doing the in-loop filtering before crop_top/crop_left position. - // For the 'Complex' filter, 3 samples are read and up to 3 are filtered. - // Means: there's a dependency chain that goes all the way up to the - // top-left corner of the picture (MB #0). We must filter all the previous - // macroblocks. - { - const int extra_pixels = kFilterExtraRows[dec->filter_type_]; - if (dec->filter_type_ == 2) { - // For complex filter, we need to preserve the dependency chain. - dec->tl_mb_x_ = 0; - dec->tl_mb_y_ = 0; - } else { - // For simple filter, we can filter only the cropped region. - // We include 'extra_pixels' on the other side of the boundary, since - // vertical or horizontal filtering of the previous macroblock can - // modify some abutting pixels. - dec->tl_mb_x_ = (io->crop_left - extra_pixels) >> 4; - dec->tl_mb_y_ = (io->crop_top - extra_pixels) >> 4; - if (dec->tl_mb_x_ < 0) dec->tl_mb_x_ = 0; - if (dec->tl_mb_y_ < 0) dec->tl_mb_y_ = 0; - } - // We need some 'extra' pixels on the right/bottom. - dec->br_mb_y_ = (io->crop_bottom + 15 + extra_pixels) >> 4; - dec->br_mb_x_ = (io->crop_right + 15 + extra_pixels) >> 4; - if (dec->br_mb_x_ > dec->mb_w_) { - dec->br_mb_x_ = dec->mb_w_; - } - if (dec->br_mb_y_ > dec->mb_h_) { - dec->br_mb_y_ = dec->mb_h_; - } - } - PrecomputeFilterStrengths(dec); - return VP8_STATUS_OK; -} - -int VP8ExitCritical(VP8Decoder* const dec, VP8Io* const io) { - int ok = 1; - if (dec->mt_method_ > 0) { - ok = WebPGetWorkerInterface()->Sync(&dec->worker_); - } - - if (io->teardown != NULL) { - io->teardown(io); - } - return ok; -} - -//------------------------------------------------------------------------------ -// For multi-threaded decoding we need to use 3 rows of 16 pixels as delay line. -// -// Reason is: the deblocking filter cannot deblock the bottom horizontal edges -// immediately, and needs to wait for first few rows of the next macroblock to -// be decoded. Hence, deblocking is lagging behind by 4 or 8 pixels (depending -// on strength). -// With two threads, the vertical positions of the rows being decoded are: -// Decode: [ 0..15][16..31][32..47][48..63][64..79][... -// Deblock: [ 0..11][12..27][28..43][44..59][... -// If we use two threads and two caches of 16 pixels, the sequence would be: -// Decode: [ 0..15][16..31][ 0..15!!][16..31][ 0..15][... -// Deblock: [ 0..11][12..27!!][-4..11][12..27][... -// The problem occurs during row [12..15!!] that both the decoding and -// deblocking threads are writing simultaneously. -// With 3 cache lines, one get a safe write pattern: -// Decode: [ 0..15][16..31][32..47][ 0..15][16..31][32..47][0.. -// Deblock: [ 0..11][12..27][28..43][-4..11][12..27][28... -// Note that multi-threaded output _without_ deblocking can make use of two -// cache lines of 16 pixels only, since there's no lagging behind. The decoding -// and output process have non-concurrent writing: -// Decode: [ 0..15][16..31][ 0..15][16..31][... -// io->put: [ 0..15][16..31][ 0..15][... - -#define MT_CACHE_LINES 3 -#define ST_CACHE_LINES 1 // 1 cache row only for single-threaded case - -// Initialize multi/single-thread worker -static int InitThreadContext(VP8Decoder* const dec) { - dec->cache_id_ = 0; - if (dec->mt_method_ > 0) { - WebPWorker* const worker = &dec->worker_; - if (!WebPGetWorkerInterface()->Reset(worker)) { - return VP8SetError(dec, VP8_STATUS_OUT_OF_MEMORY, - "thread initialization failed."); - } - worker->data1 = dec; - worker->data2 = (void*)&dec->thread_ctx_.io_; - worker->hook = FinishRow; - dec->num_caches_ = - (dec->filter_type_ > 0) ? MT_CACHE_LINES : MT_CACHE_LINES - 1; - } else { - dec->num_caches_ = ST_CACHE_LINES; - } - return 1; -} - -int VP8GetThreadMethod(const WebPDecoderOptions* const options, - const WebPHeaderStructure* const headers, - int width, int height) { - if (options == NULL || options->use_threads == 0) { - return 0; - } - (void)headers; - (void)width; - (void)height; - assert(headers == NULL || !headers->is_lossless); -#if defined(WEBP_USE_THREAD) - if (width >= MIN_WIDTH_FOR_THREADS) return 2; -#endif - return 0; -} - -#undef MT_CACHE_LINES -#undef ST_CACHE_LINES - -//------------------------------------------------------------------------------ -// Memory setup - -static int AllocateMemory(VP8Decoder* const dec) { - const int num_caches = dec->num_caches_; - const int mb_w = dec->mb_w_; - // Note: we use 'size_t' when there's no overflow risk, uint64_t otherwise. - const size_t intra_pred_mode_size = 4 * mb_w * sizeof(uint8_t); - const size_t top_size = sizeof(VP8TopSamples) * mb_w; - const size_t mb_info_size = (mb_w + 1) * sizeof(VP8MB); - const size_t f_info_size = - (dec->filter_type_ > 0) ? - mb_w * (dec->mt_method_ > 0 ? 2 : 1) * sizeof(VP8FInfo) - : 0; - const size_t yuv_size = YUV_SIZE * sizeof(*dec->yuv_b_); - const size_t mb_data_size = - (dec->mt_method_ == 2 ? 2 : 1) * mb_w * sizeof(*dec->mb_data_); - const size_t cache_height = (16 * num_caches - + kFilterExtraRows[dec->filter_type_]) * 3 / 2; - const size_t cache_size = top_size * cache_height; - // alpha_size is the only one that scales as width x height. - const uint64_t alpha_size = (dec->alpha_data_ != NULL) ? - (uint64_t)dec->pic_hdr_.width_ * dec->pic_hdr_.height_ : 0ULL; - const uint64_t needed = (uint64_t)intra_pred_mode_size - + top_size + mb_info_size + f_info_size - + yuv_size + mb_data_size - + cache_size + alpha_size + WEBP_ALIGN_CST; - uint8_t* mem; - - if (needed != (size_t)needed) return 0; // check for overflow - if (needed > dec->mem_size_) { - WebPSafeFree(dec->mem_); - dec->mem_size_ = 0; - dec->mem_ = WebPSafeMalloc(needed, sizeof(uint8_t)); - if (dec->mem_ == NULL) { - return VP8SetError(dec, VP8_STATUS_OUT_OF_MEMORY, - "no memory during frame initialization."); - } - // down-cast is ok, thanks to WebPSafeMalloc() above. - dec->mem_size_ = (size_t)needed; - } - - mem = (uint8_t*)dec->mem_; - dec->intra_t_ = mem; - mem += intra_pred_mode_size; - - dec->yuv_t_ = (VP8TopSamples*)mem; - mem += top_size; - - dec->mb_info_ = ((VP8MB*)mem) + 1; - mem += mb_info_size; - - dec->f_info_ = f_info_size ? (VP8FInfo*)mem : NULL; - mem += f_info_size; - dec->thread_ctx_.id_ = 0; - dec->thread_ctx_.f_info_ = dec->f_info_; - if (dec->filter_type_ > 0 && dec->mt_method_ > 0) { - // secondary cache line. The deblocking process need to make use of the - // filtering strength from previous macroblock row, while the new ones - // are being decoded in parallel. We'll just swap the pointers. - dec->thread_ctx_.f_info_ += mb_w; - } - - mem = (uint8_t*)WEBP_ALIGN(mem); - assert((yuv_size & WEBP_ALIGN_CST) == 0); - dec->yuv_b_ = mem; - mem += yuv_size; - - dec->mb_data_ = (VP8MBData*)mem; - dec->thread_ctx_.mb_data_ = (VP8MBData*)mem; - if (dec->mt_method_ == 2) { - dec->thread_ctx_.mb_data_ += mb_w; - } - mem += mb_data_size; - - dec->cache_y_stride_ = 16 * mb_w; - dec->cache_uv_stride_ = 8 * mb_w; - { - const int extra_rows = kFilterExtraRows[dec->filter_type_]; - const int extra_y = extra_rows * dec->cache_y_stride_; - const int extra_uv = (extra_rows / 2) * dec->cache_uv_stride_; - dec->cache_y_ = mem + extra_y; - dec->cache_u_ = dec->cache_y_ - + 16 * num_caches * dec->cache_y_stride_ + extra_uv; - dec->cache_v_ = dec->cache_u_ - + 8 * num_caches * dec->cache_uv_stride_ + extra_uv; - dec->cache_id_ = 0; - } - mem += cache_size; - - // alpha plane - dec->alpha_plane_ = alpha_size ? mem : NULL; - mem += alpha_size; - assert(mem <= (uint8_t*)dec->mem_ + dec->mem_size_); - - // note: left/top-info is initialized once for all. - memset(dec->mb_info_ - 1, 0, mb_info_size); - VP8InitScanline(dec); // initialize left too. - - // initialize top - memset(dec->intra_t_, B_DC_PRED, intra_pred_mode_size); - - return 1; -} - -static void InitIo(VP8Decoder* const dec, VP8Io* io) { - // prepare 'io' - io->mb_y = 0; - io->y = dec->cache_y_; - io->u = dec->cache_u_; - io->v = dec->cache_v_; - io->y_stride = dec->cache_y_stride_; - io->uv_stride = dec->cache_uv_stride_; - io->a = NULL; -} - -int VP8InitFrame(VP8Decoder* const dec, VP8Io* const io) { - if (!InitThreadContext(dec)) return 0; // call first. Sets dec->num_caches_. - if (!AllocateMemory(dec)) return 0; - InitIo(dec, io); - VP8DspInit(); // Init critical function pointers and look-up tables. - return 1; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/idec_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/idec_dec.c deleted file mode 100644 index 9035df56..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/idec_dec.c +++ /dev/null @@ -1,908 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Incremental decoding -// -// Author: somnath@google.com (Somnath Banerjee) - -#include -#include -#include - -#include "src/dec/alphai_dec.h" -#include "src/dec/webpi_dec.h" -#include "src/dec/vp8i_dec.h" -#include "src/utils/utils.h" - -// In append mode, buffer allocations increase as multiples of this value. -// Needs to be a power of 2. -#define CHUNK_SIZE 4096 -#define MAX_MB_SIZE 4096 - -//------------------------------------------------------------------------------ -// Data structures for memory and states - -// Decoding states. State normally flows as: -// WEBP_HEADER->VP8_HEADER->VP8_PARTS0->VP8_DATA->DONE for a lossy image, and -// WEBP_HEADER->VP8L_HEADER->VP8L_DATA->DONE for a lossless image. -// If there is any error the decoder goes into state ERROR. -typedef enum { - STATE_WEBP_HEADER, // All the data before that of the VP8/VP8L chunk. - STATE_VP8_HEADER, // The VP8 Frame header (within the VP8 chunk). - STATE_VP8_PARTS0, - STATE_VP8_DATA, - STATE_VP8L_HEADER, - STATE_VP8L_DATA, - STATE_DONE, - STATE_ERROR -} DecState; - -// Operating state for the MemBuffer -typedef enum { - MEM_MODE_NONE = 0, - MEM_MODE_APPEND, - MEM_MODE_MAP -} MemBufferMode; - -// storage for partition #0 and partial data (in a rolling fashion) -typedef struct { - MemBufferMode mode_; // Operation mode - size_t start_; // start location of the data to be decoded - size_t end_; // end location - size_t buf_size_; // size of the allocated buffer - uint8_t* buf_; // We don't own this buffer in case WebPIUpdate() - - size_t part0_size_; // size of partition #0 - const uint8_t* part0_buf_; // buffer to store partition #0 -} MemBuffer; - -struct WebPIDecoder { - DecState state_; // current decoding state - WebPDecParams params_; // Params to store output info - int is_lossless_; // for down-casting 'dec_'. - void* dec_; // either a VP8Decoder or a VP8LDecoder instance - VP8Io io_; - - MemBuffer mem_; // input memory buffer. - WebPDecBuffer output_; // output buffer (when no external one is supplied, - // or if the external one has slow-memory) - WebPDecBuffer* final_output_; // Slow-memory output to copy to eventually. - size_t chunk_size_; // Compressed VP8/VP8L size extracted from Header. - - int last_mb_y_; // last row reached for intra-mode decoding -}; - -// MB context to restore in case VP8DecodeMB() fails -typedef struct { - VP8MB left_; - VP8MB info_; - VP8BitReader token_br_; -} MBContext; - -//------------------------------------------------------------------------------ -// MemBuffer: incoming data handling - -static WEBP_INLINE size_t MemDataSize(const MemBuffer* mem) { - return (mem->end_ - mem->start_); -} - -// Check if we need to preserve the compressed alpha data, as it may not have -// been decoded yet. -static int NeedCompressedAlpha(const WebPIDecoder* const idec) { - if (idec->state_ == STATE_WEBP_HEADER) { - // We haven't parsed the headers yet, so we don't know whether the image is - // lossy or lossless. This also means that we haven't parsed the ALPH chunk. - return 0; - } - if (idec->is_lossless_) { - return 0; // ALPH chunk is not present for lossless images. - } else { - const VP8Decoder* const dec = (VP8Decoder*)idec->dec_; - assert(dec != NULL); // Must be true as idec->state_ != STATE_WEBP_HEADER. - return (dec->alpha_data_ != NULL) && !dec->is_alpha_decoded_; - } -} - -static void DoRemap(WebPIDecoder* const idec, ptrdiff_t offset) { - MemBuffer* const mem = &idec->mem_; - const uint8_t* const new_base = mem->buf_ + mem->start_; - // note: for VP8, setting up idec->io_ is only really needed at the beginning - // of the decoding, till partition #0 is complete. - idec->io_.data = new_base; - idec->io_.data_size = MemDataSize(mem); - - if (idec->dec_ != NULL) { - if (!idec->is_lossless_) { - VP8Decoder* const dec = (VP8Decoder*)idec->dec_; - const uint32_t last_part = dec->num_parts_minus_one_; - if (offset != 0) { - uint32_t p; - for (p = 0; p <= last_part; ++p) { - VP8RemapBitReader(dec->parts_ + p, offset); - } - // Remap partition #0 data pointer to new offset, but only in MAP - // mode (in APPEND mode, partition #0 is copied into a fixed memory). - if (mem->mode_ == MEM_MODE_MAP) { - VP8RemapBitReader(&dec->br_, offset); - } - } - { - const uint8_t* const last_start = dec->parts_[last_part].buf_; - VP8BitReaderSetBuffer(&dec->parts_[last_part], last_start, - mem->buf_ + mem->end_ - last_start); - } - if (NeedCompressedAlpha(idec)) { - ALPHDecoder* const alph_dec = dec->alph_dec_; - dec->alpha_data_ += offset; - if (alph_dec != NULL && alph_dec->vp8l_dec_ != NULL) { - if (alph_dec->method_ == ALPHA_LOSSLESS_COMPRESSION) { - VP8LDecoder* const alph_vp8l_dec = alph_dec->vp8l_dec_; - assert(dec->alpha_data_size_ >= ALPHA_HEADER_LEN); - VP8LBitReaderSetBuffer(&alph_vp8l_dec->br_, - dec->alpha_data_ + ALPHA_HEADER_LEN, - dec->alpha_data_size_ - ALPHA_HEADER_LEN); - } else { // alph_dec->method_ == ALPHA_NO_COMPRESSION - // Nothing special to do in this case. - } - } - } - } else { // Resize lossless bitreader - VP8LDecoder* const dec = (VP8LDecoder*)idec->dec_; - VP8LBitReaderSetBuffer(&dec->br_, new_base, MemDataSize(mem)); - } - } -} - -// Appends data to the end of MemBuffer->buf_. It expands the allocated memory -// size if required and also updates VP8BitReader's if new memory is allocated. -static int AppendToMemBuffer(WebPIDecoder* const idec, - const uint8_t* const data, size_t data_size) { - VP8Decoder* const dec = (VP8Decoder*)idec->dec_; - MemBuffer* const mem = &idec->mem_; - const int need_compressed_alpha = NeedCompressedAlpha(idec); - const uint8_t* const old_start = - (mem->buf_ == NULL) ? NULL : mem->buf_ + mem->start_; - const uint8_t* const old_base = - need_compressed_alpha ? dec->alpha_data_ : old_start; - assert(mem->buf_ != NULL || mem->start_ == 0); - assert(mem->mode_ == MEM_MODE_APPEND); - if (data_size > MAX_CHUNK_PAYLOAD) { - // security safeguard: trying to allocate more than what the format - // allows for a chunk should be considered a smoke smell. - return 0; - } - - if (mem->end_ + data_size > mem->buf_size_) { // Need some free memory - const size_t new_mem_start = old_start - old_base; - const size_t current_size = MemDataSize(mem) + new_mem_start; - const uint64_t new_size = (uint64_t)current_size + data_size; - const uint64_t extra_size = (new_size + CHUNK_SIZE - 1) & ~(CHUNK_SIZE - 1); - uint8_t* const new_buf = - (uint8_t*)WebPSafeMalloc(extra_size, sizeof(*new_buf)); - if (new_buf == NULL) return 0; - if (old_base != NULL) memcpy(new_buf, old_base, current_size); - WebPSafeFree(mem->buf_); - mem->buf_ = new_buf; - mem->buf_size_ = (size_t)extra_size; - mem->start_ = new_mem_start; - mem->end_ = current_size; - } - - assert(mem->buf_ != NULL); - memcpy(mem->buf_ + mem->end_, data, data_size); - mem->end_ += data_size; - assert(mem->end_ <= mem->buf_size_); - - DoRemap(idec, mem->buf_ + mem->start_ - old_start); - return 1; -} - -static int RemapMemBuffer(WebPIDecoder* const idec, - const uint8_t* const data, size_t data_size) { - MemBuffer* const mem = &idec->mem_; - const uint8_t* const old_buf = mem->buf_; - const uint8_t* const old_start = - (old_buf == NULL) ? NULL : old_buf + mem->start_; - assert(old_buf != NULL || mem->start_ == 0); - assert(mem->mode_ == MEM_MODE_MAP); - - if (data_size < mem->buf_size_) return 0; // can't remap to a shorter buffer! - - mem->buf_ = (uint8_t*)data; - mem->end_ = mem->buf_size_ = data_size; - - DoRemap(idec, mem->buf_ + mem->start_ - old_start); - return 1; -} - -static void InitMemBuffer(MemBuffer* const mem) { - mem->mode_ = MEM_MODE_NONE; - mem->buf_ = NULL; - mem->buf_size_ = 0; - mem->part0_buf_ = NULL; - mem->part0_size_ = 0; -} - -static void ClearMemBuffer(MemBuffer* const mem) { - assert(mem); - if (mem->mode_ == MEM_MODE_APPEND) { - WebPSafeFree(mem->buf_); - WebPSafeFree((void*)mem->part0_buf_); - } -} - -static int CheckMemBufferMode(MemBuffer* const mem, MemBufferMode expected) { - if (mem->mode_ == MEM_MODE_NONE) { - mem->mode_ = expected; // switch to the expected mode - } else if (mem->mode_ != expected) { - return 0; // we mixed the modes => error - } - assert(mem->mode_ == expected); // mode is ok - return 1; -} - -// To be called last. -static VP8StatusCode FinishDecoding(WebPIDecoder* const idec) { - const WebPDecoderOptions* const options = idec->params_.options; - WebPDecBuffer* const output = idec->params_.output; - - idec->state_ = STATE_DONE; - if (options != NULL && options->flip) { - const VP8StatusCode status = WebPFlipBuffer(output); - if (status != VP8_STATUS_OK) return status; - } - if (idec->final_output_ != NULL) { - WebPCopyDecBufferPixels(output, idec->final_output_); // do the slow-copy - WebPFreeDecBuffer(&idec->output_); - *output = *idec->final_output_; - idec->final_output_ = NULL; - } - return VP8_STATUS_OK; -} - -//------------------------------------------------------------------------------ -// Macroblock-decoding contexts - -static void SaveContext(const VP8Decoder* dec, const VP8BitReader* token_br, - MBContext* const context) { - context->left_ = dec->mb_info_[-1]; - context->info_ = dec->mb_info_[dec->mb_x_]; - context->token_br_ = *token_br; -} - -static void RestoreContext(const MBContext* context, VP8Decoder* const dec, - VP8BitReader* const token_br) { - dec->mb_info_[-1] = context->left_; - dec->mb_info_[dec->mb_x_] = context->info_; - *token_br = context->token_br_; -} - -//------------------------------------------------------------------------------ - -static VP8StatusCode IDecError(WebPIDecoder* const idec, VP8StatusCode error) { - if (idec->state_ == STATE_VP8_DATA) { - // Synchronize the thread, clean-up and check for errors. - VP8ExitCritical((VP8Decoder*)idec->dec_, &idec->io_); - } - idec->state_ = STATE_ERROR; - return error; -} - -static void ChangeState(WebPIDecoder* const idec, DecState new_state, - size_t consumed_bytes) { - MemBuffer* const mem = &idec->mem_; - idec->state_ = new_state; - mem->start_ += consumed_bytes; - assert(mem->start_ <= mem->end_); - idec->io_.data = mem->buf_ + mem->start_; - idec->io_.data_size = MemDataSize(mem); -} - -// Headers -static VP8StatusCode DecodeWebPHeaders(WebPIDecoder* const idec) { - MemBuffer* const mem = &idec->mem_; - const uint8_t* data = mem->buf_ + mem->start_; - size_t curr_size = MemDataSize(mem); - VP8StatusCode status; - WebPHeaderStructure headers; - - headers.data = data; - headers.data_size = curr_size; - headers.have_all_data = 0; - status = WebPParseHeaders(&headers); - if (status == VP8_STATUS_NOT_ENOUGH_DATA) { - return VP8_STATUS_SUSPENDED; // We haven't found a VP8 chunk yet. - } else if (status != VP8_STATUS_OK) { - return IDecError(idec, status); - } - - idec->chunk_size_ = headers.compressed_size; - idec->is_lossless_ = headers.is_lossless; - if (!idec->is_lossless_) { - VP8Decoder* const dec = VP8New(); - if (dec == NULL) { - return VP8_STATUS_OUT_OF_MEMORY; - } - idec->dec_ = dec; - dec->alpha_data_ = headers.alpha_data; - dec->alpha_data_size_ = headers.alpha_data_size; - ChangeState(idec, STATE_VP8_HEADER, headers.offset); - } else { - VP8LDecoder* const dec = VP8LNew(); - if (dec == NULL) { - return VP8_STATUS_OUT_OF_MEMORY; - } - idec->dec_ = dec; - ChangeState(idec, STATE_VP8L_HEADER, headers.offset); - } - return VP8_STATUS_OK; -} - -static VP8StatusCode DecodeVP8FrameHeader(WebPIDecoder* const idec) { - const uint8_t* data = idec->mem_.buf_ + idec->mem_.start_; - const size_t curr_size = MemDataSize(&idec->mem_); - int width, height; - uint32_t bits; - - if (curr_size < VP8_FRAME_HEADER_SIZE) { - // Not enough data bytes to extract VP8 Frame Header. - return VP8_STATUS_SUSPENDED; - } - if (!VP8GetInfo(data, curr_size, idec->chunk_size_, &width, &height)) { - return IDecError(idec, VP8_STATUS_BITSTREAM_ERROR); - } - - bits = data[0] | (data[1] << 8) | (data[2] << 16); - idec->mem_.part0_size_ = (bits >> 5) + VP8_FRAME_HEADER_SIZE; - - idec->io_.data = data; - idec->io_.data_size = curr_size; - idec->state_ = STATE_VP8_PARTS0; - return VP8_STATUS_OK; -} - -// Partition #0 -static VP8StatusCode CopyParts0Data(WebPIDecoder* const idec) { - VP8Decoder* const dec = (VP8Decoder*)idec->dec_; - VP8BitReader* const br = &dec->br_; - const size_t part_size = br->buf_end_ - br->buf_; - MemBuffer* const mem = &idec->mem_; - assert(!idec->is_lossless_); - assert(mem->part0_buf_ == NULL); - // the following is a format limitation, no need for runtime check: - assert(part_size <= mem->part0_size_); - if (part_size == 0) { // can't have zero-size partition #0 - return VP8_STATUS_BITSTREAM_ERROR; - } - if (mem->mode_ == MEM_MODE_APPEND) { - // We copy and grab ownership of the partition #0 data. - uint8_t* const part0_buf = (uint8_t*)WebPSafeMalloc(1ULL, part_size); - if (part0_buf == NULL) { - return VP8_STATUS_OUT_OF_MEMORY; - } - memcpy(part0_buf, br->buf_, part_size); - mem->part0_buf_ = part0_buf; - VP8BitReaderSetBuffer(br, part0_buf, part_size); - } else { - // Else: just keep pointers to the partition #0's data in dec_->br_. - } - mem->start_ += part_size; - return VP8_STATUS_OK; -} - -static VP8StatusCode DecodePartition0(WebPIDecoder* const idec) { - VP8Decoder* const dec = (VP8Decoder*)idec->dec_; - VP8Io* const io = &idec->io_; - const WebPDecParams* const params = &idec->params_; - WebPDecBuffer* const output = params->output; - - // Wait till we have enough data for the whole partition #0 - if (MemDataSize(&idec->mem_) < idec->mem_.part0_size_) { - return VP8_STATUS_SUSPENDED; - } - - if (!VP8GetHeaders(dec, io)) { - const VP8StatusCode status = dec->status_; - if (status == VP8_STATUS_SUSPENDED || - status == VP8_STATUS_NOT_ENOUGH_DATA) { - // treating NOT_ENOUGH_DATA as SUSPENDED state - return VP8_STATUS_SUSPENDED; - } - return IDecError(idec, status); - } - - // Allocate/Verify output buffer now - dec->status_ = WebPAllocateDecBuffer(io->width, io->height, params->options, - output); - if (dec->status_ != VP8_STATUS_OK) { - return IDecError(idec, dec->status_); - } - // This change must be done before calling VP8InitFrame() - dec->mt_method_ = VP8GetThreadMethod(params->options, NULL, - io->width, io->height); - VP8InitDithering(params->options, dec); - - dec->status_ = CopyParts0Data(idec); - if (dec->status_ != VP8_STATUS_OK) { - return IDecError(idec, dec->status_); - } - - // Finish setting up the decoding parameters. Will call io->setup(). - if (VP8EnterCritical(dec, io) != VP8_STATUS_OK) { - return IDecError(idec, dec->status_); - } - - // Note: past this point, teardown() must always be called - // in case of error. - idec->state_ = STATE_VP8_DATA; - // Allocate memory and prepare everything. - if (!VP8InitFrame(dec, io)) { - return IDecError(idec, dec->status_); - } - return VP8_STATUS_OK; -} - -// Remaining partitions -static VP8StatusCode DecodeRemaining(WebPIDecoder* const idec) { - VP8Decoder* const dec = (VP8Decoder*)idec->dec_; - VP8Io* const io = &idec->io_; - - // Make sure partition #0 has been read before, to set dec to ready_. - if (!dec->ready_) { - return IDecError(idec, VP8_STATUS_BITSTREAM_ERROR); - } - for (; dec->mb_y_ < dec->mb_h_; ++dec->mb_y_) { - if (idec->last_mb_y_ != dec->mb_y_) { - if (!VP8ParseIntraModeRow(&dec->br_, dec)) { - // note: normally, error shouldn't occur since we already have the whole - // partition0 available here in DecodeRemaining(). Reaching EOF while - // reading intra modes really means a BITSTREAM_ERROR. - return IDecError(idec, VP8_STATUS_BITSTREAM_ERROR); - } - idec->last_mb_y_ = dec->mb_y_; - } - for (; dec->mb_x_ < dec->mb_w_; ++dec->mb_x_) { - VP8BitReader* const token_br = - &dec->parts_[dec->mb_y_ & dec->num_parts_minus_one_]; - MBContext context; - SaveContext(dec, token_br, &context); - if (!VP8DecodeMB(dec, token_br)) { - // We shouldn't fail when MAX_MB data was available - if (dec->num_parts_minus_one_ == 0 && - MemDataSize(&idec->mem_) > MAX_MB_SIZE) { - return IDecError(idec, VP8_STATUS_BITSTREAM_ERROR); - } - // Synchronize the threads. - if (dec->mt_method_ > 0) { - if (!WebPGetWorkerInterface()->Sync(&dec->worker_)) { - return IDecError(idec, VP8_STATUS_BITSTREAM_ERROR); - } - } - RestoreContext(&context, dec, token_br); - return VP8_STATUS_SUSPENDED; - } - // Release buffer only if there is only one partition - if (dec->num_parts_minus_one_ == 0) { - idec->mem_.start_ = token_br->buf_ - idec->mem_.buf_; - assert(idec->mem_.start_ <= idec->mem_.end_); - } - } - VP8InitScanline(dec); // Prepare for next scanline - - // Reconstruct, filter and emit the row. - if (!VP8ProcessRow(dec, io)) { - return IDecError(idec, VP8_STATUS_USER_ABORT); - } - } - // Synchronize the thread and check for errors. - if (!VP8ExitCritical(dec, io)) { - idec->state_ = STATE_ERROR; // prevent re-entry in IDecError - return IDecError(idec, VP8_STATUS_USER_ABORT); - } - dec->ready_ = 0; - return FinishDecoding(idec); -} - -static VP8StatusCode ErrorStatusLossless(WebPIDecoder* const idec, - VP8StatusCode status) { - if (status == VP8_STATUS_SUSPENDED || status == VP8_STATUS_NOT_ENOUGH_DATA) { - return VP8_STATUS_SUSPENDED; - } - return IDecError(idec, status); -} - -static VP8StatusCode DecodeVP8LHeader(WebPIDecoder* const idec) { - VP8Io* const io = &idec->io_; - VP8LDecoder* const dec = (VP8LDecoder*)idec->dec_; - const WebPDecParams* const params = &idec->params_; - WebPDecBuffer* const output = params->output; - size_t curr_size = MemDataSize(&idec->mem_); - assert(idec->is_lossless_); - - // Wait until there's enough data for decoding header. - if (curr_size < (idec->chunk_size_ >> 3)) { - dec->status_ = VP8_STATUS_SUSPENDED; - return ErrorStatusLossless(idec, dec->status_); - } - - if (!VP8LDecodeHeader(dec, io)) { - if (dec->status_ == VP8_STATUS_BITSTREAM_ERROR && - curr_size < idec->chunk_size_) { - dec->status_ = VP8_STATUS_SUSPENDED; - } - return ErrorStatusLossless(idec, dec->status_); - } - // Allocate/verify output buffer now. - dec->status_ = WebPAllocateDecBuffer(io->width, io->height, params->options, - output); - if (dec->status_ != VP8_STATUS_OK) { - return IDecError(idec, dec->status_); - } - - idec->state_ = STATE_VP8L_DATA; - return VP8_STATUS_OK; -} - -static VP8StatusCode DecodeVP8LData(WebPIDecoder* const idec) { - VP8LDecoder* const dec = (VP8LDecoder*)idec->dec_; - const size_t curr_size = MemDataSize(&idec->mem_); - assert(idec->is_lossless_); - - // Switch to incremental decoding if we don't have all the bytes available. - dec->incremental_ = (curr_size < idec->chunk_size_); - - if (!VP8LDecodeImage(dec)) { - return ErrorStatusLossless(idec, dec->status_); - } - assert(dec->status_ == VP8_STATUS_OK || dec->status_ == VP8_STATUS_SUSPENDED); - return (dec->status_ == VP8_STATUS_SUSPENDED) ? dec->status_ - : FinishDecoding(idec); -} - - // Main decoding loop -static VP8StatusCode IDecode(WebPIDecoder* idec) { - VP8StatusCode status = VP8_STATUS_SUSPENDED; - - if (idec->state_ == STATE_WEBP_HEADER) { - status = DecodeWebPHeaders(idec); - } else { - if (idec->dec_ == NULL) { - return VP8_STATUS_SUSPENDED; // can't continue if we have no decoder. - } - } - if (idec->state_ == STATE_VP8_HEADER) { - status = DecodeVP8FrameHeader(idec); - } - if (idec->state_ == STATE_VP8_PARTS0) { - status = DecodePartition0(idec); - } - if (idec->state_ == STATE_VP8_DATA) { - const VP8Decoder* const dec = (VP8Decoder*)idec->dec_; - if (dec == NULL) { - return VP8_STATUS_SUSPENDED; // can't continue if we have no decoder. - } - status = DecodeRemaining(idec); - } - if (idec->state_ == STATE_VP8L_HEADER) { - status = DecodeVP8LHeader(idec); - } - if (idec->state_ == STATE_VP8L_DATA) { - status = DecodeVP8LData(idec); - } - return status; -} - -//------------------------------------------------------------------------------ -// Internal constructor - -static WebPIDecoder* NewDecoder(WebPDecBuffer* const output_buffer, - const WebPBitstreamFeatures* const features) { - WebPIDecoder* idec = (WebPIDecoder*)WebPSafeCalloc(1ULL, sizeof(*idec)); - if (idec == NULL) { - return NULL; - } - - idec->state_ = STATE_WEBP_HEADER; - idec->chunk_size_ = 0; - - idec->last_mb_y_ = -1; - - InitMemBuffer(&idec->mem_); - WebPInitDecBuffer(&idec->output_); - VP8InitIo(&idec->io_); - - WebPResetDecParams(&idec->params_); - if (output_buffer == NULL || WebPAvoidSlowMemory(output_buffer, features)) { - idec->params_.output = &idec->output_; - idec->final_output_ = output_buffer; - if (output_buffer != NULL) { - idec->params_.output->colorspace = output_buffer->colorspace; - } - } else { - idec->params_.output = output_buffer; - idec->final_output_ = NULL; - } - WebPInitCustomIo(&idec->params_, &idec->io_); // Plug the I/O functions. - - return idec; -} - -//------------------------------------------------------------------------------ -// Public functions - -WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer) { - return NewDecoder(output_buffer, NULL); -} - -WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config) { - WebPIDecoder* idec; - WebPBitstreamFeatures tmp_features; - WebPBitstreamFeatures* const features = - (config == NULL) ? &tmp_features : &config->input; - memset(&tmp_features, 0, sizeof(tmp_features)); - - // Parse the bitstream's features, if requested: - if (data != NULL && data_size > 0) { - if (WebPGetFeatures(data, data_size, features) != VP8_STATUS_OK) { - return NULL; - } - } - - // Create an instance of the incremental decoder - idec = (config != NULL) ? NewDecoder(&config->output, features) - : NewDecoder(NULL, features); - if (idec == NULL) { - return NULL; - } - // Finish initialization - if (config != NULL) { - idec->params_.options = &config->options; - } - return idec; -} - -void WebPIDelete(WebPIDecoder* idec) { - if (idec == NULL) return; - if (idec->dec_ != NULL) { - if (!idec->is_lossless_) { - if (idec->state_ == STATE_VP8_DATA) { - // Synchronize the thread, clean-up and check for errors. - VP8ExitCritical((VP8Decoder*)idec->dec_, &idec->io_); - } - VP8Delete((VP8Decoder*)idec->dec_); - } else { - VP8LDelete((VP8LDecoder*)idec->dec_); - } - } - ClearMemBuffer(&idec->mem_); - WebPFreeDecBuffer(&idec->output_); - WebPSafeFree(idec); -} - -//------------------------------------------------------------------------------ -// Wrapper toward WebPINewDecoder - -WebPIDecoder* WebPINewRGB(WEBP_CSP_MODE csp, uint8_t* output_buffer, - size_t output_buffer_size, int output_stride) { - const int is_external_memory = (output_buffer != NULL) ? 1 : 0; - WebPIDecoder* idec; - - if (csp >= MODE_YUV) return NULL; - if (is_external_memory == 0) { // Overwrite parameters to sane values. - output_buffer_size = 0; - output_stride = 0; - } else { // A buffer was passed. Validate the other params. - if (output_stride == 0 || output_buffer_size == 0) { - return NULL; // invalid parameter. - } - } - idec = WebPINewDecoder(NULL); - if (idec == NULL) return NULL; - idec->output_.colorspace = csp; - idec->output_.is_external_memory = is_external_memory; - idec->output_.u.RGBA.rgba = output_buffer; - idec->output_.u.RGBA.stride = output_stride; - idec->output_.u.RGBA.size = output_buffer_size; - return idec; -} - -WebPIDecoder* WebPINewYUVA(uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride) { - const int is_external_memory = (luma != NULL) ? 1 : 0; - WebPIDecoder* idec; - WEBP_CSP_MODE colorspace; - - if (is_external_memory == 0) { // Overwrite parameters to sane values. - luma_size = u_size = v_size = a_size = 0; - luma_stride = u_stride = v_stride = a_stride = 0; - u = v = a = NULL; - colorspace = MODE_YUVA; - } else { // A luma buffer was passed. Validate the other parameters. - if (u == NULL || v == NULL) return NULL; - if (luma_size == 0 || u_size == 0 || v_size == 0) return NULL; - if (luma_stride == 0 || u_stride == 0 || v_stride == 0) return NULL; - if (a != NULL) { - if (a_size == 0 || a_stride == 0) return NULL; - } - colorspace = (a == NULL) ? MODE_YUV : MODE_YUVA; - } - - idec = WebPINewDecoder(NULL); - if (idec == NULL) return NULL; - - idec->output_.colorspace = colorspace; - idec->output_.is_external_memory = is_external_memory; - idec->output_.u.YUVA.y = luma; - idec->output_.u.YUVA.y_stride = luma_stride; - idec->output_.u.YUVA.y_size = luma_size; - idec->output_.u.YUVA.u = u; - idec->output_.u.YUVA.u_stride = u_stride; - idec->output_.u.YUVA.u_size = u_size; - idec->output_.u.YUVA.v = v; - idec->output_.u.YUVA.v_stride = v_stride; - idec->output_.u.YUVA.v_size = v_size; - idec->output_.u.YUVA.a = a; - idec->output_.u.YUVA.a_stride = a_stride; - idec->output_.u.YUVA.a_size = a_size; - return idec; -} - -WebPIDecoder* WebPINewYUV(uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride) { - return WebPINewYUVA(luma, luma_size, luma_stride, - u, u_size, u_stride, - v, v_size, v_stride, - NULL, 0, 0); -} - -//------------------------------------------------------------------------------ - -static VP8StatusCode IDecCheckStatus(const WebPIDecoder* const idec) { - assert(idec); - if (idec->state_ == STATE_ERROR) { - return VP8_STATUS_BITSTREAM_ERROR; - } - if (idec->state_ == STATE_DONE) { - return VP8_STATUS_OK; - } - return VP8_STATUS_SUSPENDED; -} - -VP8StatusCode WebPIAppend(WebPIDecoder* idec, - const uint8_t* data, size_t data_size) { - VP8StatusCode status; - if (idec == NULL || data == NULL) { - return VP8_STATUS_INVALID_PARAM; - } - status = IDecCheckStatus(idec); - if (status != VP8_STATUS_SUSPENDED) { - return status; - } - // Check mixed calls between RemapMemBuffer and AppendToMemBuffer. - if (!CheckMemBufferMode(&idec->mem_, MEM_MODE_APPEND)) { - return VP8_STATUS_INVALID_PARAM; - } - // Append data to memory buffer - if (!AppendToMemBuffer(idec, data, data_size)) { - return VP8_STATUS_OUT_OF_MEMORY; - } - return IDecode(idec); -} - -VP8StatusCode WebPIUpdate(WebPIDecoder* idec, - const uint8_t* data, size_t data_size) { - VP8StatusCode status; - if (idec == NULL || data == NULL) { - return VP8_STATUS_INVALID_PARAM; - } - status = IDecCheckStatus(idec); - if (status != VP8_STATUS_SUSPENDED) { - return status; - } - // Check mixed calls between RemapMemBuffer and AppendToMemBuffer. - if (!CheckMemBufferMode(&idec->mem_, MEM_MODE_MAP)) { - return VP8_STATUS_INVALID_PARAM; - } - // Make the memory buffer point to the new buffer - if (!RemapMemBuffer(idec, data, data_size)) { - return VP8_STATUS_INVALID_PARAM; - } - return IDecode(idec); -} - -//------------------------------------------------------------------------------ - -static const WebPDecBuffer* GetOutputBuffer(const WebPIDecoder* const idec) { - if (idec == NULL || idec->dec_ == NULL) { - return NULL; - } - if (idec->state_ <= STATE_VP8_PARTS0) { - return NULL; - } - if (idec->final_output_ != NULL) { - return NULL; // not yet slow-copied - } - return idec->params_.output; -} - -const WebPDecBuffer* WebPIDecodedArea(const WebPIDecoder* idec, - int* left, int* top, - int* width, int* height) { - const WebPDecBuffer* const src = GetOutputBuffer(idec); - if (left != NULL) *left = 0; - if (top != NULL) *top = 0; - if (src != NULL) { - if (width != NULL) *width = src->width; - if (height != NULL) *height = idec->params_.last_y; - } else { - if (width != NULL) *width = 0; - if (height != NULL) *height = 0; - } - return src; -} - -uint8_t* WebPIDecGetRGB(const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride) { - const WebPDecBuffer* const src = GetOutputBuffer(idec); - if (src == NULL) return NULL; - if (src->colorspace >= MODE_YUV) { - return NULL; - } - - if (last_y != NULL) *last_y = idec->params_.last_y; - if (width != NULL) *width = src->width; - if (height != NULL) *height = src->height; - if (stride != NULL) *stride = src->u.RGBA.stride; - - return src->u.RGBA.rgba; -} - -uint8_t* WebPIDecGetYUVA(const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, - int* stride, int* uv_stride, int* a_stride) { - const WebPDecBuffer* const src = GetOutputBuffer(idec); - if (src == NULL) return NULL; - if (src->colorspace < MODE_YUV) { - return NULL; - } - - if (last_y != NULL) *last_y = idec->params_.last_y; - if (u != NULL) *u = src->u.YUVA.u; - if (v != NULL) *v = src->u.YUVA.v; - if (a != NULL) *a = src->u.YUVA.a; - if (width != NULL) *width = src->width; - if (height != NULL) *height = src->height; - if (stride != NULL) *stride = src->u.YUVA.y_stride; - if (uv_stride != NULL) *uv_stride = src->u.YUVA.u_stride; - if (a_stride != NULL) *a_stride = src->u.YUVA.a_stride; - - return src->u.YUVA.y; -} - -int WebPISetIOHooks(WebPIDecoder* const idec, - VP8IoPutHook put, - VP8IoSetupHook setup, - VP8IoTeardownHook teardown, - void* user_data) { - if (idec == NULL || idec->state_ > STATE_WEBP_HEADER) { - return 0; - } - - idec->io_.put = put; - idec->io_.setup = setup; - idec->io_.teardown = teardown; - idec->io_.opaque = user_data; - - return 1; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/io_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/io_dec.c deleted file mode 100644 index e603f19c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/io_dec.c +++ /dev/null @@ -1,649 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// functions for sample output. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include -#include "src/dec/vp8i_dec.h" -#include "src/dec/webpi_dec.h" -#include "src/dsp/dsp.h" -#include "src/dsp/yuv.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// Main YUV<->RGB conversion functions - -static int EmitYUV(const VP8Io* const io, WebPDecParams* const p) { - WebPDecBuffer* output = p->output; - const WebPYUVABuffer* const buf = &output->u.YUVA; - uint8_t* const y_dst = buf->y + io->mb_y * buf->y_stride; - uint8_t* const u_dst = buf->u + (io->mb_y >> 1) * buf->u_stride; - uint8_t* const v_dst = buf->v + (io->mb_y >> 1) * buf->v_stride; - const int mb_w = io->mb_w; - const int mb_h = io->mb_h; - const int uv_w = (mb_w + 1) / 2; - const int uv_h = (mb_h + 1) / 2; - int j; - for (j = 0; j < mb_h; ++j) { - memcpy(y_dst + j * buf->y_stride, io->y + j * io->y_stride, mb_w); - } - for (j = 0; j < uv_h; ++j) { - memcpy(u_dst + j * buf->u_stride, io->u + j * io->uv_stride, uv_w); - memcpy(v_dst + j * buf->v_stride, io->v + j * io->uv_stride, uv_w); - } - return io->mb_h; -} - -// Point-sampling U/V sampler. -static int EmitSampledRGB(const VP8Io* const io, WebPDecParams* const p) { - WebPDecBuffer* const output = p->output; - WebPRGBABuffer* const buf = &output->u.RGBA; - uint8_t* const dst = buf->rgba + io->mb_y * buf->stride; - WebPSamplerProcessPlane(io->y, io->y_stride, - io->u, io->v, io->uv_stride, - dst, buf->stride, io->mb_w, io->mb_h, - WebPSamplers[output->colorspace]); - return io->mb_h; -} - -//------------------------------------------------------------------------------ -// Fancy upsampling - -#ifdef FANCY_UPSAMPLING -static int EmitFancyRGB(const VP8Io* const io, WebPDecParams* const p) { - int num_lines_out = io->mb_h; // a priori guess - const WebPRGBABuffer* const buf = &p->output->u.RGBA; - uint8_t* dst = buf->rgba + io->mb_y * buf->stride; - WebPUpsampleLinePairFunc upsample = WebPUpsamplers[p->output->colorspace]; - const uint8_t* cur_y = io->y; - const uint8_t* cur_u = io->u; - const uint8_t* cur_v = io->v; - const uint8_t* top_u = p->tmp_u; - const uint8_t* top_v = p->tmp_v; - int y = io->mb_y; - const int y_end = io->mb_y + io->mb_h; - const int mb_w = io->mb_w; - const int uv_w = (mb_w + 1) / 2; - - if (y == 0) { - // First line is special cased. We mirror the u/v samples at boundary. - upsample(cur_y, NULL, cur_u, cur_v, cur_u, cur_v, dst, NULL, mb_w); - } else { - // We can finish the left-over line from previous call. - upsample(p->tmp_y, cur_y, top_u, top_v, cur_u, cur_v, - dst - buf->stride, dst, mb_w); - ++num_lines_out; - } - // Loop over each output pairs of row. - for (; y + 2 < y_end; y += 2) { - top_u = cur_u; - top_v = cur_v; - cur_u += io->uv_stride; - cur_v += io->uv_stride; - dst += 2 * buf->stride; - cur_y += 2 * io->y_stride; - upsample(cur_y - io->y_stride, cur_y, - top_u, top_v, cur_u, cur_v, - dst - buf->stride, dst, mb_w); - } - // move to last row - cur_y += io->y_stride; - if (io->crop_top + y_end < io->crop_bottom) { - // Save the unfinished samples for next call (as we're not done yet). - memcpy(p->tmp_y, cur_y, mb_w * sizeof(*p->tmp_y)); - memcpy(p->tmp_u, cur_u, uv_w * sizeof(*p->tmp_u)); - memcpy(p->tmp_v, cur_v, uv_w * sizeof(*p->tmp_v)); - // The fancy upsampler leaves a row unfinished behind - // (except for the very last row) - num_lines_out--; - } else { - // Process the very last row of even-sized picture - if (!(y_end & 1)) { - upsample(cur_y, NULL, cur_u, cur_v, cur_u, cur_v, - dst + buf->stride, NULL, mb_w); - } - } - return num_lines_out; -} - -#endif /* FANCY_UPSAMPLING */ - -//------------------------------------------------------------------------------ - -static void FillAlphaPlane(uint8_t* dst, int w, int h, int stride) { - int j; - for (j = 0; j < h; ++j) { - memset(dst, 0xff, w * sizeof(*dst)); - dst += stride; - } -} - -static int EmitAlphaYUV(const VP8Io* const io, WebPDecParams* const p, - int expected_num_lines_out) { - const uint8_t* alpha = io->a; - const WebPYUVABuffer* const buf = &p->output->u.YUVA; - const int mb_w = io->mb_w; - const int mb_h = io->mb_h; - uint8_t* dst = buf->a + io->mb_y * buf->a_stride; - int j; - (void)expected_num_lines_out; - assert(expected_num_lines_out == mb_h); - if (alpha != NULL) { - for (j = 0; j < mb_h; ++j) { - memcpy(dst, alpha, mb_w * sizeof(*dst)); - alpha += io->width; - dst += buf->a_stride; - } - } else if (buf->a != NULL) { - // the user requested alpha, but there is none, set it to opaque. - FillAlphaPlane(dst, mb_w, mb_h, buf->a_stride); - } - return 0; -} - -static int GetAlphaSourceRow(const VP8Io* const io, - const uint8_t** alpha, int* const num_rows) { - int start_y = io->mb_y; - *num_rows = io->mb_h; - - // Compensate for the 1-line delay of the fancy upscaler. - // This is similar to EmitFancyRGB(). - if (io->fancy_upsampling) { - if (start_y == 0) { - // We don't process the last row yet. It'll be done during the next call. - --*num_rows; - } else { - --start_y; - // Fortunately, *alpha data is persistent, so we can go back - // one row and finish alpha blending, now that the fancy upscaler - // completed the YUV->RGB interpolation. - *alpha -= io->width; - } - if (io->crop_top + io->mb_y + io->mb_h == io->crop_bottom) { - // If it's the very last call, we process all the remaining rows! - *num_rows = io->crop_bottom - io->crop_top - start_y; - } - } - return start_y; -} - -static int EmitAlphaRGB(const VP8Io* const io, WebPDecParams* const p, - int expected_num_lines_out) { - const uint8_t* alpha = io->a; - if (alpha != NULL) { - const int mb_w = io->mb_w; - const WEBP_CSP_MODE colorspace = p->output->colorspace; - const int alpha_first = - (colorspace == MODE_ARGB || colorspace == MODE_Argb); - const WebPRGBABuffer* const buf = &p->output->u.RGBA; - int num_rows; - const int start_y = GetAlphaSourceRow(io, &alpha, &num_rows); - uint8_t* const base_rgba = buf->rgba + start_y * buf->stride; - uint8_t* const dst = base_rgba + (alpha_first ? 0 : 3); - const int has_alpha = WebPDispatchAlpha(alpha, io->width, mb_w, - num_rows, dst, buf->stride); - (void)expected_num_lines_out; - assert(expected_num_lines_out == num_rows); - // has_alpha is true if there's non-trivial alpha to premultiply with. - if (has_alpha && WebPIsPremultipliedMode(colorspace)) { - WebPApplyAlphaMultiply(base_rgba, alpha_first, - mb_w, num_rows, buf->stride); - } - } - return 0; -} - -static int EmitAlphaRGBA4444(const VP8Io* const io, WebPDecParams* const p, - int expected_num_lines_out) { - const uint8_t* alpha = io->a; - if (alpha != NULL) { - const int mb_w = io->mb_w; - const WEBP_CSP_MODE colorspace = p->output->colorspace; - const WebPRGBABuffer* const buf = &p->output->u.RGBA; - int num_rows; - const int start_y = GetAlphaSourceRow(io, &alpha, &num_rows); - uint8_t* const base_rgba = buf->rgba + start_y * buf->stride; -#if (WEBP_SWAP_16BIT_CSP == 1) - uint8_t* alpha_dst = base_rgba; -#else - uint8_t* alpha_dst = base_rgba + 1; -#endif - uint32_t alpha_mask = 0x0f; - int i, j; - for (j = 0; j < num_rows; ++j) { - for (i = 0; i < mb_w; ++i) { - // Fill in the alpha value (converted to 4 bits). - const uint32_t alpha_value = alpha[i] >> 4; - alpha_dst[2 * i] = (alpha_dst[2 * i] & 0xf0) | alpha_value; - alpha_mask &= alpha_value; - } - alpha += io->width; - alpha_dst += buf->stride; - } - (void)expected_num_lines_out; - assert(expected_num_lines_out == num_rows); - if (alpha_mask != 0x0f && WebPIsPremultipliedMode(colorspace)) { - WebPApplyAlphaMultiply4444(base_rgba, mb_w, num_rows, buf->stride); - } - } - return 0; -} - -//------------------------------------------------------------------------------ -// YUV rescaling (no final RGB conversion needed) - -#if !defined(WEBP_REDUCE_SIZE) -static int Rescale(const uint8_t* src, int src_stride, - int new_lines, WebPRescaler* const wrk) { - int num_lines_out = 0; - while (new_lines > 0) { // import new contributions of source rows. - const int lines_in = WebPRescalerImport(wrk, new_lines, src, src_stride); - src += lines_in * src_stride; - new_lines -= lines_in; - num_lines_out += WebPRescalerExport(wrk); // emit output row(s) - } - return num_lines_out; -} - -static int EmitRescaledYUV(const VP8Io* const io, WebPDecParams* const p) { - const int mb_h = io->mb_h; - const int uv_mb_h = (mb_h + 1) >> 1; - WebPRescaler* const scaler = p->scaler_y; - int num_lines_out = 0; - if (WebPIsAlphaMode(p->output->colorspace) && io->a != NULL) { - // Before rescaling, we premultiply the luma directly into the io->y - // internal buffer. This is OK since these samples are not used for - // intra-prediction (the top samples are saved in cache_y_/u_/v_). - // But we need to cast the const away, though. - WebPMultRows((uint8_t*)io->y, io->y_stride, - io->a, io->width, io->mb_w, mb_h, 0); - } - num_lines_out = Rescale(io->y, io->y_stride, mb_h, scaler); - Rescale(io->u, io->uv_stride, uv_mb_h, p->scaler_u); - Rescale(io->v, io->uv_stride, uv_mb_h, p->scaler_v); - return num_lines_out; -} - -static int EmitRescaledAlphaYUV(const VP8Io* const io, WebPDecParams* const p, - int expected_num_lines_out) { - const WebPYUVABuffer* const buf = &p->output->u.YUVA; - uint8_t* const dst_a = buf->a + p->last_y * buf->a_stride; - if (io->a != NULL) { - uint8_t* const dst_y = buf->y + p->last_y * buf->y_stride; - const int num_lines_out = Rescale(io->a, io->width, io->mb_h, p->scaler_a); - assert(expected_num_lines_out == num_lines_out); - if (num_lines_out > 0) { // unmultiply the Y - WebPMultRows(dst_y, buf->y_stride, dst_a, buf->a_stride, - p->scaler_a->dst_width, num_lines_out, 1); - } - } else if (buf->a != NULL) { - // the user requested alpha, but there is none, set it to opaque. - assert(p->last_y + expected_num_lines_out <= io->scaled_height); - FillAlphaPlane(dst_a, io->scaled_width, expected_num_lines_out, - buf->a_stride); - } - return 0; -} - -static int InitYUVRescaler(const VP8Io* const io, WebPDecParams* const p) { - const int has_alpha = WebPIsAlphaMode(p->output->colorspace); - const WebPYUVABuffer* const buf = &p->output->u.YUVA; - const int out_width = io->scaled_width; - const int out_height = io->scaled_height; - const int uv_out_width = (out_width + 1) >> 1; - const int uv_out_height = (out_height + 1) >> 1; - const int uv_in_width = (io->mb_w + 1) >> 1; - const int uv_in_height = (io->mb_h + 1) >> 1; - const size_t work_size = 2 * out_width; // scratch memory for luma rescaler - const size_t uv_work_size = 2 * uv_out_width; // and for each u/v ones - size_t tmp_size, rescaler_size; - rescaler_t* work; - WebPRescaler* scalers; - const int num_rescalers = has_alpha ? 4 : 3; - - tmp_size = (work_size + 2 * uv_work_size) * sizeof(*work); - if (has_alpha) { - tmp_size += work_size * sizeof(*work); - } - rescaler_size = num_rescalers * sizeof(*p->scaler_y) + WEBP_ALIGN_CST; - - p->memory = WebPSafeMalloc(1ULL, tmp_size + rescaler_size); - if (p->memory == NULL) { - return 0; // memory error - } - work = (rescaler_t*)p->memory; - - scalers = (WebPRescaler*)WEBP_ALIGN((const uint8_t*)work + tmp_size); - p->scaler_y = &scalers[0]; - p->scaler_u = &scalers[1]; - p->scaler_v = &scalers[2]; - p->scaler_a = has_alpha ? &scalers[3] : NULL; - - WebPRescalerInit(p->scaler_y, io->mb_w, io->mb_h, - buf->y, out_width, out_height, buf->y_stride, 1, - work); - WebPRescalerInit(p->scaler_u, uv_in_width, uv_in_height, - buf->u, uv_out_width, uv_out_height, buf->u_stride, 1, - work + work_size); - WebPRescalerInit(p->scaler_v, uv_in_width, uv_in_height, - buf->v, uv_out_width, uv_out_height, buf->v_stride, 1, - work + work_size + uv_work_size); - p->emit = EmitRescaledYUV; - - if (has_alpha) { - WebPRescalerInit(p->scaler_a, io->mb_w, io->mb_h, - buf->a, out_width, out_height, buf->a_stride, 1, - work + work_size + 2 * uv_work_size); - p->emit_alpha = EmitRescaledAlphaYUV; - WebPInitAlphaProcessing(); - } - return 1; -} - -//------------------------------------------------------------------------------ -// RGBA rescaling - -static int ExportRGB(WebPDecParams* const p, int y_pos) { - const WebPYUV444Converter convert = - WebPYUV444Converters[p->output->colorspace]; - const WebPRGBABuffer* const buf = &p->output->u.RGBA; - uint8_t* dst = buf->rgba + y_pos * buf->stride; - int num_lines_out = 0; - // For RGB rescaling, because of the YUV420, current scan position - // U/V can be +1/-1 line from the Y one. Hence the double test. - while (WebPRescalerHasPendingOutput(p->scaler_y) && - WebPRescalerHasPendingOutput(p->scaler_u)) { - assert(y_pos + num_lines_out < p->output->height); - assert(p->scaler_u->y_accum == p->scaler_v->y_accum); - WebPRescalerExportRow(p->scaler_y); - WebPRescalerExportRow(p->scaler_u); - WebPRescalerExportRow(p->scaler_v); - convert(p->scaler_y->dst, p->scaler_u->dst, p->scaler_v->dst, - dst, p->scaler_y->dst_width); - dst += buf->stride; - ++num_lines_out; - } - return num_lines_out; -} - -static int EmitRescaledRGB(const VP8Io* const io, WebPDecParams* const p) { - const int mb_h = io->mb_h; - const int uv_mb_h = (mb_h + 1) >> 1; - int j = 0, uv_j = 0; - int num_lines_out = 0; - while (j < mb_h) { - const int y_lines_in = - WebPRescalerImport(p->scaler_y, mb_h - j, - io->y + j * io->y_stride, io->y_stride); - j += y_lines_in; - if (WebPRescaleNeededLines(p->scaler_u, uv_mb_h - uv_j)) { - const int u_lines_in = - WebPRescalerImport(p->scaler_u, uv_mb_h - uv_j, - io->u + uv_j * io->uv_stride, io->uv_stride); - const int v_lines_in = - WebPRescalerImport(p->scaler_v, uv_mb_h - uv_j, - io->v + uv_j * io->uv_stride, io->uv_stride); - (void)v_lines_in; // remove a gcc warning - assert(u_lines_in == v_lines_in); - uv_j += u_lines_in; - } - num_lines_out += ExportRGB(p, p->last_y + num_lines_out); - } - return num_lines_out; -} - -static int ExportAlpha(WebPDecParams* const p, int y_pos, int max_lines_out) { - const WebPRGBABuffer* const buf = &p->output->u.RGBA; - uint8_t* const base_rgba = buf->rgba + y_pos * buf->stride; - const WEBP_CSP_MODE colorspace = p->output->colorspace; - const int alpha_first = - (colorspace == MODE_ARGB || colorspace == MODE_Argb); - uint8_t* dst = base_rgba + (alpha_first ? 0 : 3); - int num_lines_out = 0; - const int is_premult_alpha = WebPIsPremultipliedMode(colorspace); - uint32_t non_opaque = 0; - const int width = p->scaler_a->dst_width; - - while (WebPRescalerHasPendingOutput(p->scaler_a) && - num_lines_out < max_lines_out) { - assert(y_pos + num_lines_out < p->output->height); - WebPRescalerExportRow(p->scaler_a); - non_opaque |= WebPDispatchAlpha(p->scaler_a->dst, 0, width, 1, dst, 0); - dst += buf->stride; - ++num_lines_out; - } - if (is_premult_alpha && non_opaque) { - WebPApplyAlphaMultiply(base_rgba, alpha_first, - width, num_lines_out, buf->stride); - } - return num_lines_out; -} - -static int ExportAlphaRGBA4444(WebPDecParams* const p, int y_pos, - int max_lines_out) { - const WebPRGBABuffer* const buf = &p->output->u.RGBA; - uint8_t* const base_rgba = buf->rgba + y_pos * buf->stride; -#if (WEBP_SWAP_16BIT_CSP == 1) - uint8_t* alpha_dst = base_rgba; -#else - uint8_t* alpha_dst = base_rgba + 1; -#endif - int num_lines_out = 0; - const WEBP_CSP_MODE colorspace = p->output->colorspace; - const int width = p->scaler_a->dst_width; - const int is_premult_alpha = WebPIsPremultipliedMode(colorspace); - uint32_t alpha_mask = 0x0f; - - while (WebPRescalerHasPendingOutput(p->scaler_a) && - num_lines_out < max_lines_out) { - int i; - assert(y_pos + num_lines_out < p->output->height); - WebPRescalerExportRow(p->scaler_a); - for (i = 0; i < width; ++i) { - // Fill in the alpha value (converted to 4 bits). - const uint32_t alpha_value = p->scaler_a->dst[i] >> 4; - alpha_dst[2 * i] = (alpha_dst[2 * i] & 0xf0) | alpha_value; - alpha_mask &= alpha_value; - } - alpha_dst += buf->stride; - ++num_lines_out; - } - if (is_premult_alpha && alpha_mask != 0x0f) { - WebPApplyAlphaMultiply4444(base_rgba, width, num_lines_out, buf->stride); - } - return num_lines_out; -} - -static int EmitRescaledAlphaRGB(const VP8Io* const io, WebPDecParams* const p, - int expected_num_out_lines) { - if (io->a != NULL) { - WebPRescaler* const scaler = p->scaler_a; - int lines_left = expected_num_out_lines; - const int y_end = p->last_y + lines_left; - while (lines_left > 0) { - const int row_offset = scaler->src_y - io->mb_y; - WebPRescalerImport(scaler, io->mb_h + io->mb_y - scaler->src_y, - io->a + row_offset * io->width, io->width); - lines_left -= p->emit_alpha_row(p, y_end - lines_left, lines_left); - } - } - return 0; -} - -static int InitRGBRescaler(const VP8Io* const io, WebPDecParams* const p) { - const int has_alpha = WebPIsAlphaMode(p->output->colorspace); - const int out_width = io->scaled_width; - const int out_height = io->scaled_height; - const int uv_in_width = (io->mb_w + 1) >> 1; - const int uv_in_height = (io->mb_h + 1) >> 1; - const size_t work_size = 2 * out_width; // scratch memory for one rescaler - rescaler_t* work; // rescalers work area - uint8_t* tmp; // tmp storage for scaled YUV444 samples before RGB conversion - size_t tmp_size1, tmp_size2, total_size, rescaler_size; - WebPRescaler* scalers; - const int num_rescalers = has_alpha ? 4 : 3; - - tmp_size1 = 3 * work_size; - tmp_size2 = 3 * out_width; - if (has_alpha) { - tmp_size1 += work_size; - tmp_size2 += out_width; - } - total_size = tmp_size1 * sizeof(*work) + tmp_size2 * sizeof(*tmp); - rescaler_size = num_rescalers * sizeof(*p->scaler_y) + WEBP_ALIGN_CST; - - p->memory = WebPSafeMalloc(1ULL, total_size + rescaler_size); - if (p->memory == NULL) { - return 0; // memory error - } - work = (rescaler_t*)p->memory; - tmp = (uint8_t*)(work + tmp_size1); - - scalers = (WebPRescaler*)WEBP_ALIGN((const uint8_t*)work + total_size); - p->scaler_y = &scalers[0]; - p->scaler_u = &scalers[1]; - p->scaler_v = &scalers[2]; - p->scaler_a = has_alpha ? &scalers[3] : NULL; - - WebPRescalerInit(p->scaler_y, io->mb_w, io->mb_h, - tmp + 0 * out_width, out_width, out_height, 0, 1, - work + 0 * work_size); - WebPRescalerInit(p->scaler_u, uv_in_width, uv_in_height, - tmp + 1 * out_width, out_width, out_height, 0, 1, - work + 1 * work_size); - WebPRescalerInit(p->scaler_v, uv_in_width, uv_in_height, - tmp + 2 * out_width, out_width, out_height, 0, 1, - work + 2 * work_size); - p->emit = EmitRescaledRGB; - WebPInitYUV444Converters(); - - if (has_alpha) { - WebPRescalerInit(p->scaler_a, io->mb_w, io->mb_h, - tmp + 3 * out_width, out_width, out_height, 0, 1, - work + 3 * work_size); - p->emit_alpha = EmitRescaledAlphaRGB; - if (p->output->colorspace == MODE_RGBA_4444 || - p->output->colorspace == MODE_rgbA_4444) { - p->emit_alpha_row = ExportAlphaRGBA4444; - } else { - p->emit_alpha_row = ExportAlpha; - } - WebPInitAlphaProcessing(); - } - return 1; -} - -#endif // WEBP_REDUCE_SIZE - -//------------------------------------------------------------------------------ -// Default custom functions - -static int CustomSetup(VP8Io* io) { - WebPDecParams* const p = (WebPDecParams*)io->opaque; - const WEBP_CSP_MODE colorspace = p->output->colorspace; - const int is_rgb = WebPIsRGBMode(colorspace); - const int is_alpha = WebPIsAlphaMode(colorspace); - - p->memory = NULL; - p->emit = NULL; - p->emit_alpha = NULL; - p->emit_alpha_row = NULL; - if (!WebPIoInitFromOptions(p->options, io, is_alpha ? MODE_YUV : MODE_YUVA)) { - return 0; - } - if (is_alpha && WebPIsPremultipliedMode(colorspace)) { - WebPInitUpsamplers(); - } - if (io->use_scaling) { -#if !defined(WEBP_REDUCE_SIZE) - const int ok = is_rgb ? InitRGBRescaler(io, p) : InitYUVRescaler(io, p); - if (!ok) { - return 0; // memory error - } -#else - return 0; // rescaling support not compiled -#endif - } else { - if (is_rgb) { - WebPInitSamplers(); - p->emit = EmitSampledRGB; // default - if (io->fancy_upsampling) { -#ifdef FANCY_UPSAMPLING - const int uv_width = (io->mb_w + 1) >> 1; - p->memory = WebPSafeMalloc(1ULL, (size_t)(io->mb_w + 2 * uv_width)); - if (p->memory == NULL) { - return 0; // memory error. - } - p->tmp_y = (uint8_t*)p->memory; - p->tmp_u = p->tmp_y + io->mb_w; - p->tmp_v = p->tmp_u + uv_width; - p->emit = EmitFancyRGB; - WebPInitUpsamplers(); -#endif - } - } else { - p->emit = EmitYUV; - } - if (is_alpha) { // need transparency output - p->emit_alpha = - (colorspace == MODE_RGBA_4444 || colorspace == MODE_rgbA_4444) ? - EmitAlphaRGBA4444 - : is_rgb ? EmitAlphaRGB - : EmitAlphaYUV; - if (is_rgb) { - WebPInitAlphaProcessing(); - } - } - } - - return 1; -} - -//------------------------------------------------------------------------------ - -static int CustomPut(const VP8Io* io) { - WebPDecParams* const p = (WebPDecParams*)io->opaque; - const int mb_w = io->mb_w; - const int mb_h = io->mb_h; - int num_lines_out; - assert(!(io->mb_y & 1)); - - if (mb_w <= 0 || mb_h <= 0) { - return 0; - } - num_lines_out = p->emit(io, p); - if (p->emit_alpha != NULL) { - p->emit_alpha(io, p, num_lines_out); - } - p->last_y += num_lines_out; - return 1; -} - -//------------------------------------------------------------------------------ - -static void CustomTeardown(const VP8Io* io) { - WebPDecParams* const p = (WebPDecParams*)io->opaque; - WebPSafeFree(p->memory); - p->memory = NULL; -} - -//------------------------------------------------------------------------------ -// Main entry point - -void WebPInitCustomIo(WebPDecParams* const params, VP8Io* const io) { - io->put = CustomPut; - io->setup = CustomSetup; - io->teardown = CustomTeardown; - io->opaque = params; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/quant_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/quant_dec.c deleted file mode 100644 index a0ac018b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/quant_dec.c +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Quantizer initialization -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dec/vp8i_dec.h" - -static WEBP_INLINE int clip(int v, int M) { - return v < 0 ? 0 : v > M ? M : v; -} - -// Paragraph 14.1 -static const uint8_t kDcTable[128] = { - 4, 5, 6, 7, 8, 9, 10, 10, - 11, 12, 13, 14, 15, 16, 17, 17, - 18, 19, 20, 20, 21, 21, 22, 22, - 23, 23, 24, 25, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, - 37, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, - 91, 93, 95, 96, 98, 100, 101, 102, - 104, 106, 108, 110, 112, 114, 116, 118, - 122, 124, 126, 128, 130, 132, 134, 136, - 138, 140, 143, 145, 148, 151, 154, 157 -}; - -static const uint16_t kAcTable[128] = { - 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 60, - 62, 64, 66, 68, 70, 72, 74, 76, - 78, 80, 82, 84, 86, 88, 90, 92, - 94, 96, 98, 100, 102, 104, 106, 108, - 110, 112, 114, 116, 119, 122, 125, 128, - 131, 134, 137, 140, 143, 146, 149, 152, - 155, 158, 161, 164, 167, 170, 173, 177, - 181, 185, 189, 193, 197, 201, 205, 209, - 213, 217, 221, 225, 229, 234, 239, 245, - 249, 254, 259, 264, 269, 274, 279, 284 -}; - -//------------------------------------------------------------------------------ -// Paragraph 9.6 - -void VP8ParseQuant(VP8Decoder* const dec) { - VP8BitReader* const br = &dec->br_; - const int base_q0 = VP8GetValue(br, 7, "global-header"); - const int dqy1_dc = VP8Get(br, "global-header") ? - VP8GetSignedValue(br, 4, "global-header") : 0; - const int dqy2_dc = VP8Get(br, "global-header") ? - VP8GetSignedValue(br, 4, "global-header") : 0; - const int dqy2_ac = VP8Get(br, "global-header") ? - VP8GetSignedValue(br, 4, "global-header") : 0; - const int dquv_dc = VP8Get(br, "global-header") ? - VP8GetSignedValue(br, 4, "global-header") : 0; - const int dquv_ac = VP8Get(br, "global-header") ? - VP8GetSignedValue(br, 4, "global-header") : 0; - - const VP8SegmentHeader* const hdr = &dec->segment_hdr_; - int i; - - for (i = 0; i < NUM_MB_SEGMENTS; ++i) { - int q; - if (hdr->use_segment_) { - q = hdr->quantizer_[i]; - if (!hdr->absolute_delta_) { - q += base_q0; - } - } else { - if (i > 0) { - dec->dqm_[i] = dec->dqm_[0]; - continue; - } else { - q = base_q0; - } - } - { - VP8QuantMatrix* const m = &dec->dqm_[i]; - m->y1_mat_[0] = kDcTable[clip(q + dqy1_dc, 127)]; - m->y1_mat_[1] = kAcTable[clip(q + 0, 127)]; - - m->y2_mat_[0] = kDcTable[clip(q + dqy2_dc, 127)] * 2; - // For all x in [0..284], x*155/100 is bitwise equal to (x*101581) >> 16. - // The smallest precision for that is '(x*6349) >> 12' but 16 is a good - // word size. - m->y2_mat_[1] = (kAcTable[clip(q + dqy2_ac, 127)] * 101581) >> 16; - if (m->y2_mat_[1] < 8) m->y2_mat_[1] = 8; - - m->uv_mat_[0] = kDcTable[clip(q + dquv_dc, 117)]; - m->uv_mat_[1] = kAcTable[clip(q + dquv_ac, 127)]; - - m->uv_quant_ = q + dquv_ac; // for dithering strength evaluation - } - } -} - -//------------------------------------------------------------------------------ - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/tree_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/tree_dec.c deleted file mode 100644 index 1c6fdea2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/tree_dec.c +++ /dev/null @@ -1,537 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Coding trees and probas -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dec/vp8i_dec.h" -#include "src/utils/bit_reader_inl_utils.h" - -#if !defined(USE_GENERIC_TREE) -#if !defined(__arm__) && !defined(_M_ARM) && !defined(__aarch64__) -// using a table is ~1-2% slower on ARM. Prefer the coded-tree approach then. -#define USE_GENERIC_TREE 1 // ALTERNATE_CODE -#else -#define USE_GENERIC_TREE 0 -#endif -#endif // USE_GENERIC_TREE - -#if (USE_GENERIC_TREE == 1) -static const int8_t kYModesIntra4[18] = { - -B_DC_PRED, 1, - -B_TM_PRED, 2, - -B_VE_PRED, 3, - 4, 6, - -B_HE_PRED, 5, - -B_RD_PRED, -B_VR_PRED, - -B_LD_PRED, 7, - -B_VL_PRED, 8, - -B_HD_PRED, -B_HU_PRED -}; -#endif - -//------------------------------------------------------------------------------ -// Default probabilities - -// Paragraph 13.5 -static const uint8_t - CoeffsProba0[NUM_TYPES][NUM_BANDS][NUM_CTX][NUM_PROBAS] = { - { { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } - }, - { { 253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128 }, - { 189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128 }, - { 106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128 } - }, - { { 1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128 }, - { 181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128 }, - { 78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128 }, - }, - { { 1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128 }, - { 184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128 }, - { 77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128 }, - }, - { { 1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128 }, - { 170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128 }, - { 37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128 } - }, - { { 1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128 }, - { 207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128 }, - { 102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128 } - }, - { { 1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128 }, - { 177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128 }, - { 80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128 } - }, - { { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } - } - }, - { { { 198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62 }, - { 131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1 }, - { 68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128 } - }, - { { 1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128 }, - { 184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128 }, - { 81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128 } - }, - { { 1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128 }, - { 99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128 }, - { 23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128 } - }, - { { 1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128 }, - { 109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128 }, - { 44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128 } - }, - { { 1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128 }, - { 94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128 }, - { 22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128 } - }, - { { 1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128 }, - { 124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128 }, - { 35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128 } - }, - { { 1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128 }, - { 121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128 }, - { 45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128 } - }, - { { 1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128 }, - { 203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128 } - } - }, - { { { 253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128 }, - { 175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128 }, - { 73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128 } - }, - { { 1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128 }, - { 239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128 }, - { 155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128 } - }, - { { 1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128 }, - { 201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128 }, - { 69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128 } - }, - { { 1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128 }, - { 141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128 } - }, - { { 1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128 }, - { 149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 } - }, - { { 1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128 } - }, - { { 1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128 } - }, - { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } - } - }, - { { { 202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255 }, - { 126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128 }, - { 61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128 } - }, - { { 1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128 }, - { 166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128 }, - { 39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128 } - }, - { { 1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128 }, - { 124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128 }, - { 24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128 } - }, - { { 1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128 }, - { 149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128 }, - { 28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128 } - }, - { { 1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128 }, - { 123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128 }, - { 20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128 } - }, - { { 1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128 }, - { 168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128 }, - { 47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128 } - }, - { { 1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128 }, - { 141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128 }, - { 42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128 } - }, - { { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 } - } - } -}; - -// Paragraph 11.5 -static const uint8_t kBModesProba[NUM_BMODES][NUM_BMODES][NUM_BMODES - 1] = { - { { 231, 120, 48, 89, 115, 113, 120, 152, 112 }, - { 152, 179, 64, 126, 170, 118, 46, 70, 95 }, - { 175, 69, 143, 80, 85, 82, 72, 155, 103 }, - { 56, 58, 10, 171, 218, 189, 17, 13, 152 }, - { 114, 26, 17, 163, 44, 195, 21, 10, 173 }, - { 121, 24, 80, 195, 26, 62, 44, 64, 85 }, - { 144, 71, 10, 38, 171, 213, 144, 34, 26 }, - { 170, 46, 55, 19, 136, 160, 33, 206, 71 }, - { 63, 20, 8, 114, 114, 208, 12, 9, 226 }, - { 81, 40, 11, 96, 182, 84, 29, 16, 36 } }, - { { 134, 183, 89, 137, 98, 101, 106, 165, 148 }, - { 72, 187, 100, 130, 157, 111, 32, 75, 80 }, - { 66, 102, 167, 99, 74, 62, 40, 234, 128 }, - { 41, 53, 9, 178, 241, 141, 26, 8, 107 }, - { 74, 43, 26, 146, 73, 166, 49, 23, 157 }, - { 65, 38, 105, 160, 51, 52, 31, 115, 128 }, - { 104, 79, 12, 27, 217, 255, 87, 17, 7 }, - { 87, 68, 71, 44, 114, 51, 15, 186, 23 }, - { 47, 41, 14, 110, 182, 183, 21, 17, 194 }, - { 66, 45, 25, 102, 197, 189, 23, 18, 22 } }, - { { 88, 88, 147, 150, 42, 46, 45, 196, 205 }, - { 43, 97, 183, 117, 85, 38, 35, 179, 61 }, - { 39, 53, 200, 87, 26, 21, 43, 232, 171 }, - { 56, 34, 51, 104, 114, 102, 29, 93, 77 }, - { 39, 28, 85, 171, 58, 165, 90, 98, 64 }, - { 34, 22, 116, 206, 23, 34, 43, 166, 73 }, - { 107, 54, 32, 26, 51, 1, 81, 43, 31 }, - { 68, 25, 106, 22, 64, 171, 36, 225, 114 }, - { 34, 19, 21, 102, 132, 188, 16, 76, 124 }, - { 62, 18, 78, 95, 85, 57, 50, 48, 51 } }, - { { 193, 101, 35, 159, 215, 111, 89, 46, 111 }, - { 60, 148, 31, 172, 219, 228, 21, 18, 111 }, - { 112, 113, 77, 85, 179, 255, 38, 120, 114 }, - { 40, 42, 1, 196, 245, 209, 10, 25, 109 }, - { 88, 43, 29, 140, 166, 213, 37, 43, 154 }, - { 61, 63, 30, 155, 67, 45, 68, 1, 209 }, - { 100, 80, 8, 43, 154, 1, 51, 26, 71 }, - { 142, 78, 78, 16, 255, 128, 34, 197, 171 }, - { 41, 40, 5, 102, 211, 183, 4, 1, 221 }, - { 51, 50, 17, 168, 209, 192, 23, 25, 82 } }, - { { 138, 31, 36, 171, 27, 166, 38, 44, 229 }, - { 67, 87, 58, 169, 82, 115, 26, 59, 179 }, - { 63, 59, 90, 180, 59, 166, 93, 73, 154 }, - { 40, 40, 21, 116, 143, 209, 34, 39, 175 }, - { 47, 15, 16, 183, 34, 223, 49, 45, 183 }, - { 46, 17, 33, 183, 6, 98, 15, 32, 183 }, - { 57, 46, 22, 24, 128, 1, 54, 17, 37 }, - { 65, 32, 73, 115, 28, 128, 23, 128, 205 }, - { 40, 3, 9, 115, 51, 192, 18, 6, 223 }, - { 87, 37, 9, 115, 59, 77, 64, 21, 47 } }, - { { 104, 55, 44, 218, 9, 54, 53, 130, 226 }, - { 64, 90, 70, 205, 40, 41, 23, 26, 57 }, - { 54, 57, 112, 184, 5, 41, 38, 166, 213 }, - { 30, 34, 26, 133, 152, 116, 10, 32, 134 }, - { 39, 19, 53, 221, 26, 114, 32, 73, 255 }, - { 31, 9, 65, 234, 2, 15, 1, 118, 73 }, - { 75, 32, 12, 51, 192, 255, 160, 43, 51 }, - { 88, 31, 35, 67, 102, 85, 55, 186, 85 }, - { 56, 21, 23, 111, 59, 205, 45, 37, 192 }, - { 55, 38, 70, 124, 73, 102, 1, 34, 98 } }, - { { 125, 98, 42, 88, 104, 85, 117, 175, 82 }, - { 95, 84, 53, 89, 128, 100, 113, 101, 45 }, - { 75, 79, 123, 47, 51, 128, 81, 171, 1 }, - { 57, 17, 5, 71, 102, 57, 53, 41, 49 }, - { 38, 33, 13, 121, 57, 73, 26, 1, 85 }, - { 41, 10, 67, 138, 77, 110, 90, 47, 114 }, - { 115, 21, 2, 10, 102, 255, 166, 23, 6 }, - { 101, 29, 16, 10, 85, 128, 101, 196, 26 }, - { 57, 18, 10, 102, 102, 213, 34, 20, 43 }, - { 117, 20, 15, 36, 163, 128, 68, 1, 26 } }, - { { 102, 61, 71, 37, 34, 53, 31, 243, 192 }, - { 69, 60, 71, 38, 73, 119, 28, 222, 37 }, - { 68, 45, 128, 34, 1, 47, 11, 245, 171 }, - { 62, 17, 19, 70, 146, 85, 55, 62, 70 }, - { 37, 43, 37, 154, 100, 163, 85, 160, 1 }, - { 63, 9, 92, 136, 28, 64, 32, 201, 85 }, - { 75, 15, 9, 9, 64, 255, 184, 119, 16 }, - { 86, 6, 28, 5, 64, 255, 25, 248, 1 }, - { 56, 8, 17, 132, 137, 255, 55, 116, 128 }, - { 58, 15, 20, 82, 135, 57, 26, 121, 40 } }, - { { 164, 50, 31, 137, 154, 133, 25, 35, 218 }, - { 51, 103, 44, 131, 131, 123, 31, 6, 158 }, - { 86, 40, 64, 135, 148, 224, 45, 183, 128 }, - { 22, 26, 17, 131, 240, 154, 14, 1, 209 }, - { 45, 16, 21, 91, 64, 222, 7, 1, 197 }, - { 56, 21, 39, 155, 60, 138, 23, 102, 213 }, - { 83, 12, 13, 54, 192, 255, 68, 47, 28 }, - { 85, 26, 85, 85, 128, 128, 32, 146, 171 }, - { 18, 11, 7, 63, 144, 171, 4, 4, 246 }, - { 35, 27, 10, 146, 174, 171, 12, 26, 128 } }, - { { 190, 80, 35, 99, 180, 80, 126, 54, 45 }, - { 85, 126, 47, 87, 176, 51, 41, 20, 32 }, - { 101, 75, 128, 139, 118, 146, 116, 128, 85 }, - { 56, 41, 15, 176, 236, 85, 37, 9, 62 }, - { 71, 30, 17, 119, 118, 255, 17, 18, 138 }, - { 101, 38, 60, 138, 55, 70, 43, 26, 142 }, - { 146, 36, 19, 30, 171, 255, 97, 27, 20 }, - { 138, 45, 61, 62, 219, 1, 81, 188, 64 }, - { 32, 41, 20, 117, 151, 142, 20, 21, 163 }, - { 112, 19, 12, 61, 195, 128, 48, 4, 24 } } -}; - -void VP8ResetProba(VP8Proba* const proba) { - memset(proba->segments_, 255u, sizeof(proba->segments_)); - // proba->bands_[][] is initialized later -} - -static void ParseIntraMode(VP8BitReader* const br, - VP8Decoder* const dec, int mb_x) { - uint8_t* const top = dec->intra_t_ + 4 * mb_x; - uint8_t* const left = dec->intra_l_; - VP8MBData* const block = dec->mb_data_ + mb_x; - - // Note: we don't save segment map (yet), as we don't expect - // to decode more than 1 keyframe. - if (dec->segment_hdr_.update_map_) { - // Hardcoded tree parsing - block->segment_ = !VP8GetBit(br, dec->proba_.segments_[0], "segments") - ? VP8GetBit(br, dec->proba_.segments_[1], "segments") - : VP8GetBit(br, dec->proba_.segments_[2], "segments") + 2; - } else { - block->segment_ = 0; // default for intra - } - if (dec->use_skip_proba_) block->skip_ = VP8GetBit(br, dec->skip_p_, "skip"); - - block->is_i4x4_ = !VP8GetBit(br, 145, "block-size"); - if (!block->is_i4x4_) { - // Hardcoded 16x16 intra-mode decision tree. - const int ymode = - VP8GetBit(br, 156, "pred-modes") ? - (VP8GetBit(br, 128, "pred-modes") ? TM_PRED : H_PRED) : - (VP8GetBit(br, 163, "pred-modes") ? V_PRED : DC_PRED); - block->imodes_[0] = ymode; - memset(top, ymode, 4 * sizeof(*top)); - memset(left, ymode, 4 * sizeof(*left)); - } else { - uint8_t* modes = block->imodes_; - int y; - for (y = 0; y < 4; ++y) { - int ymode = left[y]; - int x; - for (x = 0; x < 4; ++x) { - const uint8_t* const prob = kBModesProba[top[x]][ymode]; -#if (USE_GENERIC_TREE == 1) - // Generic tree-parsing - int i = kYModesIntra4[VP8GetBit(br, prob[0], "pred-modes")]; - while (i > 0) { - i = kYModesIntra4[2 * i + VP8GetBit(br, prob[i], "pred-modes")]; - } - ymode = -i; -#else - // Hardcoded tree parsing - ymode = !VP8GetBit(br, prob[0], "pred-modes") ? B_DC_PRED : - !VP8GetBit(br, prob[1], "pred-modes") ? B_TM_PRED : - !VP8GetBit(br, prob[2], "pred-modes") ? B_VE_PRED : - !VP8GetBit(br, prob[3], "pred-modes") ? - (!VP8GetBit(br, prob[4], "pred-modes") ? B_HE_PRED : - (!VP8GetBit(br, prob[5], "pred-modes") ? B_RD_PRED - : B_VR_PRED)) : - (!VP8GetBit(br, prob[6], "pred-modes") ? B_LD_PRED : - (!VP8GetBit(br, prob[7], "pred-modes") ? B_VL_PRED : - (!VP8GetBit(br, prob[8], "pred-modes") ? B_HD_PRED - : B_HU_PRED)) - ); -#endif // USE_GENERIC_TREE - top[x] = ymode; - } - memcpy(modes, top, 4 * sizeof(*top)); - modes += 4; - left[y] = ymode; - } - } - // Hardcoded UVMode decision tree - block->uvmode_ = !VP8GetBit(br, 142, "pred-modes-uv") ? DC_PRED - : !VP8GetBit(br, 114, "pred-modes-uv") ? V_PRED - : VP8GetBit(br, 183, "pred-modes-uv") ? TM_PRED : H_PRED; -} - -int VP8ParseIntraModeRow(VP8BitReader* const br, VP8Decoder* const dec) { - int mb_x; - for (mb_x = 0; mb_x < dec->mb_w_; ++mb_x) { - ParseIntraMode(br, dec, mb_x); - } - return !dec->br_.eof_; -} - -//------------------------------------------------------------------------------ -// Paragraph 13 - -static const uint8_t - CoeffsUpdateProba[NUM_TYPES][NUM_BANDS][NUM_CTX][NUM_PROBAS] = { - { { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255 }, - { 250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - } - }, - { { { 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255 }, - { 234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255 } - }, - { { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - } - }, - { { { 186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255 }, - { 251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255 } - }, - { { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - } - }, - { { { 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255 }, - { 248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - } - } -}; - -// Paragraph 9.9 - -static const uint8_t kBands[16 + 1] = { - 0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, - 0 // extra entry as sentinel -}; - -void VP8ParseProba(VP8BitReader* const br, VP8Decoder* const dec) { - VP8Proba* const proba = &dec->proba_; - int t, b, c, p; - for (t = 0; t < NUM_TYPES; ++t) { - for (b = 0; b < NUM_BANDS; ++b) { - for (c = 0; c < NUM_CTX; ++c) { - for (p = 0; p < NUM_PROBAS; ++p) { - const int v = - VP8GetBit(br, CoeffsUpdateProba[t][b][c][p], "global-header") ? - VP8GetValue(br, 8, "global-header") : - CoeffsProba0[t][b][c][p]; - proba->bands_[t][b].probas_[c][p] = v; - } - } - } - for (b = 0; b < 16 + 1; ++b) { - proba->bands_ptr_[t][b] = &proba->bands_[t][kBands[b]]; - } - } - dec->use_skip_proba_ = VP8Get(br, "global-header"); - if (dec->use_skip_proba_) { - dec->skip_p_ = VP8GetValue(br, 8, "global-header"); - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8_dec.c deleted file mode 100644 index 57efb690..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8_dec.c +++ /dev/null @@ -1,724 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// main entry for the decoder -// -// Author: Skal (pascal.massimino@gmail.com) - -#include - -#include "src/dec/alphai_dec.h" -#include "src/dec/vp8i_dec.h" -#include "src/dec/vp8li_dec.h" -#include "src/dec/webpi_dec.h" -#include "src/utils/bit_reader_inl_utils.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ - -int WebPGetDecoderVersion(void) { - return (DEC_MAJ_VERSION << 16) | (DEC_MIN_VERSION << 8) | DEC_REV_VERSION; -} - -//------------------------------------------------------------------------------ -// Signature and pointer-to-function for GetCoeffs() variants below. - -typedef int (*GetCoeffsFunc)(VP8BitReader* const br, - const VP8BandProbas* const prob[], - int ctx, const quant_t dq, int n, int16_t* out); -static volatile GetCoeffsFunc GetCoeffs = NULL; - -static void InitGetCoeffs(void); - -//------------------------------------------------------------------------------ -// VP8Decoder - -static void SetOk(VP8Decoder* const dec) { - dec->status_ = VP8_STATUS_OK; - dec->error_msg_ = "OK"; -} - -int VP8InitIoInternal(VP8Io* const io, int version) { - if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_DECODER_ABI_VERSION)) { - return 0; // mismatch error - } - if (io != NULL) { - memset(io, 0, sizeof(*io)); - } - return 1; -} - -VP8Decoder* VP8New(void) { - VP8Decoder* const dec = (VP8Decoder*)WebPSafeCalloc(1ULL, sizeof(*dec)); - if (dec != NULL) { - SetOk(dec); - WebPGetWorkerInterface()->Init(&dec->worker_); - dec->ready_ = 0; - dec->num_parts_minus_one_ = 0; - InitGetCoeffs(); - } - return dec; -} - -VP8StatusCode VP8Status(VP8Decoder* const dec) { - if (!dec) return VP8_STATUS_INVALID_PARAM; - return dec->status_; -} - -const char* VP8StatusMessage(VP8Decoder* const dec) { - if (dec == NULL) return "no object"; - if (!dec->error_msg_) return "OK"; - return dec->error_msg_; -} - -void VP8Delete(VP8Decoder* const dec) { - if (dec != NULL) { - VP8Clear(dec); - WebPSafeFree(dec); - } -} - -int VP8SetError(VP8Decoder* const dec, - VP8StatusCode error, const char* const msg) { - // The oldest error reported takes precedence over the new one. - if (dec->status_ == VP8_STATUS_OK) { - dec->status_ = error; - dec->error_msg_ = msg; - dec->ready_ = 0; - } - return 0; -} - -//------------------------------------------------------------------------------ - -int VP8CheckSignature(const uint8_t* const data, size_t data_size) { - return (data_size >= 3 && - data[0] == 0x9d && data[1] == 0x01 && data[2] == 0x2a); -} - -int VP8GetInfo(const uint8_t* data, size_t data_size, size_t chunk_size, - int* const width, int* const height) { - if (data == NULL || data_size < VP8_FRAME_HEADER_SIZE) { - return 0; // not enough data - } - // check signature - if (!VP8CheckSignature(data + 3, data_size - 3)) { - return 0; // Wrong signature. - } else { - const uint32_t bits = data[0] | (data[1] << 8) | (data[2] << 16); - const int key_frame = !(bits & 1); - const int w = ((data[7] << 8) | data[6]) & 0x3fff; - const int h = ((data[9] << 8) | data[8]) & 0x3fff; - - if (!key_frame) { // Not a keyframe. - return 0; - } - - if (((bits >> 1) & 7) > 3) { - return 0; // unknown profile - } - if (!((bits >> 4) & 1)) { - return 0; // first frame is invisible! - } - if (((bits >> 5)) >= chunk_size) { // partition_length - return 0; // inconsistent size information. - } - if (w == 0 || h == 0) { - return 0; // We don't support both width and height to be zero. - } - - if (width) { - *width = w; - } - if (height) { - *height = h; - } - - return 1; - } -} - -//------------------------------------------------------------------------------ -// Header parsing - -static void ResetSegmentHeader(VP8SegmentHeader* const hdr) { - assert(hdr != NULL); - hdr->use_segment_ = 0; - hdr->update_map_ = 0; - hdr->absolute_delta_ = 1; - memset(hdr->quantizer_, 0, sizeof(hdr->quantizer_)); - memset(hdr->filter_strength_, 0, sizeof(hdr->filter_strength_)); -} - -// Paragraph 9.3 -static int ParseSegmentHeader(VP8BitReader* br, - VP8SegmentHeader* hdr, VP8Proba* proba) { - assert(br != NULL); - assert(hdr != NULL); - hdr->use_segment_ = VP8Get(br, "global-header"); - if (hdr->use_segment_) { - hdr->update_map_ = VP8Get(br, "global-header"); - if (VP8Get(br, "global-header")) { // update data - int s; - hdr->absolute_delta_ = VP8Get(br, "global-header"); - for (s = 0; s < NUM_MB_SEGMENTS; ++s) { - hdr->quantizer_[s] = VP8Get(br, "global-header") ? - VP8GetSignedValue(br, 7, "global-header") : 0; - } - for (s = 0; s < NUM_MB_SEGMENTS; ++s) { - hdr->filter_strength_[s] = VP8Get(br, "global-header") ? - VP8GetSignedValue(br, 6, "global-header") : 0; - } - } - if (hdr->update_map_) { - int s; - for (s = 0; s < MB_FEATURE_TREE_PROBS; ++s) { - proba->segments_[s] = VP8Get(br, "global-header") ? - VP8GetValue(br, 8, "global-header") : 255u; - } - } - } else { - hdr->update_map_ = 0; - } - return !br->eof_; -} - -// Paragraph 9.5 -// This function returns VP8_STATUS_SUSPENDED if we don't have all the -// necessary data in 'buf'. -// This case is not necessarily an error (for incremental decoding). -// Still, no bitreader is ever initialized to make it possible to read -// unavailable memory. -// If we don't even have the partitions' sizes, than VP8_STATUS_NOT_ENOUGH_DATA -// is returned, and this is an unrecoverable error. -// If the partitions were positioned ok, VP8_STATUS_OK is returned. -static VP8StatusCode ParsePartitions(VP8Decoder* const dec, - const uint8_t* buf, size_t size) { - VP8BitReader* const br = &dec->br_; - const uint8_t* sz = buf; - const uint8_t* buf_end = buf + size; - const uint8_t* part_start; - size_t size_left = size; - size_t last_part; - size_t p; - - dec->num_parts_minus_one_ = (1 << VP8GetValue(br, 2, "global-header")) - 1; - last_part = dec->num_parts_minus_one_; - if (size < 3 * last_part) { - // we can't even read the sizes with sz[]! That's a failure. - return VP8_STATUS_NOT_ENOUGH_DATA; - } - part_start = buf + last_part * 3; - size_left -= last_part * 3; - for (p = 0; p < last_part; ++p) { - size_t psize = sz[0] | (sz[1] << 8) | (sz[2] << 16); - if (psize > size_left) psize = size_left; - VP8InitBitReader(dec->parts_ + p, part_start, psize); - part_start += psize; - size_left -= psize; - sz += 3; - } - VP8InitBitReader(dec->parts_ + last_part, part_start, size_left); - return (part_start < buf_end) ? VP8_STATUS_OK : - VP8_STATUS_SUSPENDED; // Init is ok, but there's not enough data -} - -// Paragraph 9.4 -static int ParseFilterHeader(VP8BitReader* br, VP8Decoder* const dec) { - VP8FilterHeader* const hdr = &dec->filter_hdr_; - hdr->simple_ = VP8Get(br, "global-header"); - hdr->level_ = VP8GetValue(br, 6, "global-header"); - hdr->sharpness_ = VP8GetValue(br, 3, "global-header"); - hdr->use_lf_delta_ = VP8Get(br, "global-header"); - if (hdr->use_lf_delta_) { - if (VP8Get(br, "global-header")) { // update lf-delta? - int i; - for (i = 0; i < NUM_REF_LF_DELTAS; ++i) { - if (VP8Get(br, "global-header")) { - hdr->ref_lf_delta_[i] = VP8GetSignedValue(br, 6, "global-header"); - } - } - for (i = 0; i < NUM_MODE_LF_DELTAS; ++i) { - if (VP8Get(br, "global-header")) { - hdr->mode_lf_delta_[i] = VP8GetSignedValue(br, 6, "global-header"); - } - } - } - } - dec->filter_type_ = (hdr->level_ == 0) ? 0 : hdr->simple_ ? 1 : 2; - return !br->eof_; -} - -// Topmost call -int VP8GetHeaders(VP8Decoder* const dec, VP8Io* const io) { - const uint8_t* buf; - size_t buf_size; - VP8FrameHeader* frm_hdr; - VP8PictureHeader* pic_hdr; - VP8BitReader* br; - VP8StatusCode status; - - if (dec == NULL) { - return 0; - } - SetOk(dec); - if (io == NULL) { - return VP8SetError(dec, VP8_STATUS_INVALID_PARAM, - "null VP8Io passed to VP8GetHeaders()"); - } - buf = io->data; - buf_size = io->data_size; - if (buf_size < 4) { - return VP8SetError(dec, VP8_STATUS_NOT_ENOUGH_DATA, - "Truncated header."); - } - - // Paragraph 9.1 - { - const uint32_t bits = buf[0] | (buf[1] << 8) | (buf[2] << 16); - frm_hdr = &dec->frm_hdr_; - frm_hdr->key_frame_ = !(bits & 1); - frm_hdr->profile_ = (bits >> 1) & 7; - frm_hdr->show_ = (bits >> 4) & 1; - frm_hdr->partition_length_ = (bits >> 5); - if (frm_hdr->profile_ > 3) { - return VP8SetError(dec, VP8_STATUS_BITSTREAM_ERROR, - "Incorrect keyframe parameters."); - } - if (!frm_hdr->show_) { - return VP8SetError(dec, VP8_STATUS_UNSUPPORTED_FEATURE, - "Frame not displayable."); - } - buf += 3; - buf_size -= 3; - } - - pic_hdr = &dec->pic_hdr_; - if (frm_hdr->key_frame_) { - // Paragraph 9.2 - if (buf_size < 7) { - return VP8SetError(dec, VP8_STATUS_NOT_ENOUGH_DATA, - "cannot parse picture header"); - } - if (!VP8CheckSignature(buf, buf_size)) { - return VP8SetError(dec, VP8_STATUS_BITSTREAM_ERROR, - "Bad code word"); - } - pic_hdr->width_ = ((buf[4] << 8) | buf[3]) & 0x3fff; - pic_hdr->xscale_ = buf[4] >> 6; // ratio: 1, 5/4 5/3 or 2 - pic_hdr->height_ = ((buf[6] << 8) | buf[5]) & 0x3fff; - pic_hdr->yscale_ = buf[6] >> 6; - buf += 7; - buf_size -= 7; - - dec->mb_w_ = (pic_hdr->width_ + 15) >> 4; - dec->mb_h_ = (pic_hdr->height_ + 15) >> 4; - - // Setup default output area (can be later modified during io->setup()) - io->width = pic_hdr->width_; - io->height = pic_hdr->height_; - // IMPORTANT! use some sane dimensions in crop_* and scaled_* fields. - // So they can be used interchangeably without always testing for - // 'use_cropping'. - io->use_cropping = 0; - io->crop_top = 0; - io->crop_left = 0; - io->crop_right = io->width; - io->crop_bottom = io->height; - io->use_scaling = 0; - io->scaled_width = io->width; - io->scaled_height = io->height; - - io->mb_w = io->width; // sanity check - io->mb_h = io->height; // ditto - - VP8ResetProba(&dec->proba_); - ResetSegmentHeader(&dec->segment_hdr_); - } - - // Check if we have all the partition #0 available, and initialize dec->br_ - // to read this partition (and this partition only). - if (frm_hdr->partition_length_ > buf_size) { - return VP8SetError(dec, VP8_STATUS_NOT_ENOUGH_DATA, - "bad partition length"); - } - - br = &dec->br_; - VP8InitBitReader(br, buf, frm_hdr->partition_length_); - buf += frm_hdr->partition_length_; - buf_size -= frm_hdr->partition_length_; - - if (frm_hdr->key_frame_) { - pic_hdr->colorspace_ = VP8Get(br, "global-header"); - pic_hdr->clamp_type_ = VP8Get(br, "global-header"); - } - if (!ParseSegmentHeader(br, &dec->segment_hdr_, &dec->proba_)) { - return VP8SetError(dec, VP8_STATUS_BITSTREAM_ERROR, - "cannot parse segment header"); - } - // Filter specs - if (!ParseFilterHeader(br, dec)) { - return VP8SetError(dec, VP8_STATUS_BITSTREAM_ERROR, - "cannot parse filter header"); - } - status = ParsePartitions(dec, buf, buf_size); - if (status != VP8_STATUS_OK) { - return VP8SetError(dec, status, "cannot parse partitions"); - } - - // quantizer change - VP8ParseQuant(dec); - - // Frame buffer marking - if (!frm_hdr->key_frame_) { - return VP8SetError(dec, VP8_STATUS_UNSUPPORTED_FEATURE, - "Not a key frame."); - } - - VP8Get(br, "global-header"); // ignore the value of update_proba_ - - VP8ParseProba(br, dec); - - // sanitized state - dec->ready_ = 1; - return 1; -} - -//------------------------------------------------------------------------------ -// Residual decoding (Paragraph 13.2 / 13.3) - -static const uint8_t kCat3[] = { 173, 148, 140, 0 }; -static const uint8_t kCat4[] = { 176, 155, 140, 135, 0 }; -static const uint8_t kCat5[] = { 180, 157, 141, 134, 130, 0 }; -static const uint8_t kCat6[] = - { 254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0 }; -static const uint8_t* const kCat3456[] = { kCat3, kCat4, kCat5, kCat6 }; -static const uint8_t kZigzag[16] = { - 0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15 -}; - -// See section 13-2: http://tools.ietf.org/html/rfc6386#section-13.2 -static int GetLargeValue(VP8BitReader* const br, const uint8_t* const p) { - int v; - if (!VP8GetBit(br, p[3], "coeffs")) { - if (!VP8GetBit(br, p[4], "coeffs")) { - v = 2; - } else { - v = 3 + VP8GetBit(br, p[5], "coeffs"); - } - } else { - if (!VP8GetBit(br, p[6], "coeffs")) { - if (!VP8GetBit(br, p[7], "coeffs")) { - v = 5 + VP8GetBit(br, 159, "coeffs"); - } else { - v = 7 + 2 * VP8GetBit(br, 165, "coeffs"); - v += VP8GetBit(br, 145, "coeffs"); - } - } else { - const uint8_t* tab; - const int bit1 = VP8GetBit(br, p[8], "coeffs"); - const int bit0 = VP8GetBit(br, p[9 + bit1], "coeffs"); - const int cat = 2 * bit1 + bit0; - v = 0; - for (tab = kCat3456[cat]; *tab; ++tab) { - v += v + VP8GetBit(br, *tab, "coeffs"); - } - v += 3 + (8 << cat); - } - } - return v; -} - -// Returns the position of the last non-zero coeff plus one -static int GetCoeffsFast(VP8BitReader* const br, - const VP8BandProbas* const prob[], - int ctx, const quant_t dq, int n, int16_t* out) { - const uint8_t* p = prob[n]->probas_[ctx]; - for (; n < 16; ++n) { - if (!VP8GetBit(br, p[0], "coeffs")) { - return n; // previous coeff was last non-zero coeff - } - while (!VP8GetBit(br, p[1], "coeffs")) { // sequence of zero coeffs - p = prob[++n]->probas_[0]; - if (n == 16) return 16; - } - { // non zero coeff - const VP8ProbaArray* const p_ctx = &prob[n + 1]->probas_[0]; - int v; - if (!VP8GetBit(br, p[2], "coeffs")) { - v = 1; - p = p_ctx[1]; - } else { - v = GetLargeValue(br, p); - p = p_ctx[2]; - } - out[kZigzag[n]] = VP8GetSigned(br, v, "coeffs") * dq[n > 0]; - } - } - return 16; -} - -// This version of GetCoeffs() uses VP8GetBitAlt() which is an alternate version -// of VP8GetBitAlt() targeting specific platforms. -static int GetCoeffsAlt(VP8BitReader* const br, - const VP8BandProbas* const prob[], - int ctx, const quant_t dq, int n, int16_t* out) { - const uint8_t* p = prob[n]->probas_[ctx]; - for (; n < 16; ++n) { - if (!VP8GetBitAlt(br, p[0], "coeffs")) { - return n; // previous coeff was last non-zero coeff - } - while (!VP8GetBitAlt(br, p[1], "coeffs")) { // sequence of zero coeffs - p = prob[++n]->probas_[0]; - if (n == 16) return 16; - } - { // non zero coeff - const VP8ProbaArray* const p_ctx = &prob[n + 1]->probas_[0]; - int v; - if (!VP8GetBitAlt(br, p[2], "coeffs")) { - v = 1; - p = p_ctx[1]; - } else { - v = GetLargeValue(br, p); - p = p_ctx[2]; - } - out[kZigzag[n]] = VP8GetSigned(br, v, "coeffs") * dq[n > 0]; - } - } - return 16; -} - -static WEBP_TSAN_IGNORE_FUNCTION void InitGetCoeffs(void) { - if (GetCoeffs == NULL) { - if (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kSlowSSSE3)) { - GetCoeffs = GetCoeffsAlt; - } else { - GetCoeffs = GetCoeffsFast; - } - } -} - -static WEBP_INLINE uint32_t NzCodeBits(uint32_t nz_coeffs, int nz, int dc_nz) { - nz_coeffs <<= 2; - nz_coeffs |= (nz > 3) ? 3 : (nz > 1) ? 2 : dc_nz; - return nz_coeffs; -} - -static int ParseResiduals(VP8Decoder* const dec, - VP8MB* const mb, VP8BitReader* const token_br) { - const VP8BandProbas* (* const bands)[16 + 1] = dec->proba_.bands_ptr_; - const VP8BandProbas* const * ac_proba; - VP8MBData* const block = dec->mb_data_ + dec->mb_x_; - const VP8QuantMatrix* const q = &dec->dqm_[block->segment_]; - int16_t* dst = block->coeffs_; - VP8MB* const left_mb = dec->mb_info_ - 1; - uint8_t tnz, lnz; - uint32_t non_zero_y = 0; - uint32_t non_zero_uv = 0; - int x, y, ch; - uint32_t out_t_nz, out_l_nz; - int first; - - memset(dst, 0, 384 * sizeof(*dst)); - if (!block->is_i4x4_) { // parse DC - int16_t dc[16] = { 0 }; - const int ctx = mb->nz_dc_ + left_mb->nz_dc_; - const int nz = GetCoeffs(token_br, bands[1], ctx, q->y2_mat_, 0, dc); - mb->nz_dc_ = left_mb->nz_dc_ = (nz > 0); - if (nz > 1) { // more than just the DC -> perform the full transform - VP8TransformWHT(dc, dst); - } else { // only DC is non-zero -> inlined simplified transform - int i; - const int dc0 = (dc[0] + 3) >> 3; - for (i = 0; i < 16 * 16; i += 16) dst[i] = dc0; - } - first = 1; - ac_proba = bands[0]; - } else { - first = 0; - ac_proba = bands[3]; - } - - tnz = mb->nz_ & 0x0f; - lnz = left_mb->nz_ & 0x0f; - for (y = 0; y < 4; ++y) { - int l = lnz & 1; - uint32_t nz_coeffs = 0; - for (x = 0; x < 4; ++x) { - const int ctx = l + (tnz & 1); - const int nz = GetCoeffs(token_br, ac_proba, ctx, q->y1_mat_, first, dst); - l = (nz > first); - tnz = (tnz >> 1) | (l << 7); - nz_coeffs = NzCodeBits(nz_coeffs, nz, dst[0] != 0); - dst += 16; - } - tnz >>= 4; - lnz = (lnz >> 1) | (l << 7); - non_zero_y = (non_zero_y << 8) | nz_coeffs; - } - out_t_nz = tnz; - out_l_nz = lnz >> 4; - - for (ch = 0; ch < 4; ch += 2) { - uint32_t nz_coeffs = 0; - tnz = mb->nz_ >> (4 + ch); - lnz = left_mb->nz_ >> (4 + ch); - for (y = 0; y < 2; ++y) { - int l = lnz & 1; - for (x = 0; x < 2; ++x) { - const int ctx = l + (tnz & 1); - const int nz = GetCoeffs(token_br, bands[2], ctx, q->uv_mat_, 0, dst); - l = (nz > 0); - tnz = (tnz >> 1) | (l << 3); - nz_coeffs = NzCodeBits(nz_coeffs, nz, dst[0] != 0); - dst += 16; - } - tnz >>= 2; - lnz = (lnz >> 1) | (l << 5); - } - // Note: we don't really need the per-4x4 details for U/V blocks. - non_zero_uv |= nz_coeffs << (4 * ch); - out_t_nz |= (tnz << 4) << ch; - out_l_nz |= (lnz & 0xf0) << ch; - } - mb->nz_ = out_t_nz; - left_mb->nz_ = out_l_nz; - - block->non_zero_y_ = non_zero_y; - block->non_zero_uv_ = non_zero_uv; - - // We look at the mode-code of each block and check if some blocks have less - // than three non-zero coeffs (code < 2). This is to avoid dithering flat and - // empty blocks. - block->dither_ = (non_zero_uv & 0xaaaa) ? 0 : q->dither_; - - return !(non_zero_y | non_zero_uv); // will be used for further optimization -} - -//------------------------------------------------------------------------------ -// Main loop - -int VP8DecodeMB(VP8Decoder* const dec, VP8BitReader* const token_br) { - VP8MB* const left = dec->mb_info_ - 1; - VP8MB* const mb = dec->mb_info_ + dec->mb_x_; - VP8MBData* const block = dec->mb_data_ + dec->mb_x_; - int skip = dec->use_skip_proba_ ? block->skip_ : 0; - - if (!skip) { - skip = ParseResiduals(dec, mb, token_br); - } else { - left->nz_ = mb->nz_ = 0; - if (!block->is_i4x4_) { - left->nz_dc_ = mb->nz_dc_ = 0; - } - block->non_zero_y_ = 0; - block->non_zero_uv_ = 0; - block->dither_ = 0; - } - - if (dec->filter_type_ > 0) { // store filter info - VP8FInfo* const finfo = dec->f_info_ + dec->mb_x_; - *finfo = dec->fstrengths_[block->segment_][block->is_i4x4_]; - finfo->f_inner_ |= !skip; - } - - return !token_br->eof_; -} - -void VP8InitScanline(VP8Decoder* const dec) { - VP8MB* const left = dec->mb_info_ - 1; - left->nz_ = 0; - left->nz_dc_ = 0; - memset(dec->intra_l_, B_DC_PRED, sizeof(dec->intra_l_)); - dec->mb_x_ = 0; -} - -static int ParseFrame(VP8Decoder* const dec, VP8Io* io) { - for (dec->mb_y_ = 0; dec->mb_y_ < dec->br_mb_y_; ++dec->mb_y_) { - // Parse bitstream for this row. - VP8BitReader* const token_br = - &dec->parts_[dec->mb_y_ & dec->num_parts_minus_one_]; - if (!VP8ParseIntraModeRow(&dec->br_, dec)) { - return VP8SetError(dec, VP8_STATUS_NOT_ENOUGH_DATA, - "Premature end-of-partition0 encountered."); - } - for (; dec->mb_x_ < dec->mb_w_; ++dec->mb_x_) { - if (!VP8DecodeMB(dec, token_br)) { - return VP8SetError(dec, VP8_STATUS_NOT_ENOUGH_DATA, - "Premature end-of-file encountered."); - } - } - VP8InitScanline(dec); // Prepare for next scanline - - // Reconstruct, filter and emit the row. - if (!VP8ProcessRow(dec, io)) { - return VP8SetError(dec, VP8_STATUS_USER_ABORT, "Output aborted."); - } - } - if (dec->mt_method_ > 0) { - if (!WebPGetWorkerInterface()->Sync(&dec->worker_)) return 0; - } - - return 1; -} - -// Main entry point -int VP8Decode(VP8Decoder* const dec, VP8Io* const io) { - int ok = 0; - if (dec == NULL) { - return 0; - } - if (io == NULL) { - return VP8SetError(dec, VP8_STATUS_INVALID_PARAM, - "NULL VP8Io parameter in VP8Decode()."); - } - - if (!dec->ready_) { - if (!VP8GetHeaders(dec, io)) { - return 0; - } - } - assert(dec->ready_); - - // Finish setting up the decoding parameter. Will call io->setup(). - ok = (VP8EnterCritical(dec, io) == VP8_STATUS_OK); - if (ok) { // good to go. - // Will allocate memory and prepare everything. - if (ok) ok = VP8InitFrame(dec, io); - - // Main decoding loop - if (ok) ok = ParseFrame(dec, io); - - // Exit. - ok &= VP8ExitCritical(dec, io); - } - - if (!ok) { - VP8Clear(dec); - return 0; - } - - dec->ready_ = 0; - return ok; -} - -void VP8Clear(VP8Decoder* const dec) { - if (dec == NULL) { - return; - } - WebPGetWorkerInterface()->End(&dec->worker_); - WebPDeallocateAlphaMemory(dec); - WebPSafeFree(dec->mem_); - dec->mem_ = NULL; - dec->mem_size_ = 0; - memset(&dec->br_, 0, sizeof(dec->br_)); - dec->ready_ = 0; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8_dec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8_dec.h deleted file mode 100644 index a05405df..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8_dec.h +++ /dev/null @@ -1,185 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Low-level API for VP8 decoder -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_DEC_VP8_DEC_H_ -#define WEBP_DEC_VP8_DEC_H_ - -#include "src/webp/decode.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// Lower-level API -// -// These functions provide fine-grained control of the decoding process. -// The call flow should resemble: -// -// VP8Io io; -// VP8InitIo(&io); -// io.data = data; -// io.data_size = size; -// /* customize io's functions (setup()/put()/teardown()) if needed. */ -// -// VP8Decoder* dec = VP8New(); -// int ok = VP8Decode(dec, &io); -// if (!ok) printf("Error: %s\n", VP8StatusMessage(dec)); -// VP8Delete(dec); -// return ok; - -// Input / Output -typedef struct VP8Io VP8Io; -typedef int (*VP8IoPutHook)(const VP8Io* io); -typedef int (*VP8IoSetupHook)(VP8Io* io); -typedef void (*VP8IoTeardownHook)(const VP8Io* io); - -struct VP8Io { - // set by VP8GetHeaders() - int width, height; // picture dimensions, in pixels (invariable). - // These are the original, uncropped dimensions. - // The actual area passed to put() is stored - // in mb_w / mb_h fields. - - // set before calling put() - int mb_y; // position of the current rows (in pixels) - int mb_w; // number of columns in the sample - int mb_h; // number of rows in the sample - const uint8_t* y, *u, *v; // rows to copy (in yuv420 format) - int y_stride; // row stride for luma - int uv_stride; // row stride for chroma - - void* opaque; // user data - - // called when fresh samples are available. Currently, samples are in - // YUV420 format, and can be up to width x 24 in size (depending on the - // in-loop filtering level, e.g.). Should return false in case of error - // or abort request. The actual size of the area to update is mb_w x mb_h - // in size, taking cropping into account. - VP8IoPutHook put; - - // called just before starting to decode the blocks. - // Must return false in case of setup error, true otherwise. If false is - // returned, teardown() will NOT be called. But if the setup succeeded - // and true is returned, then teardown() will always be called afterward. - VP8IoSetupHook setup; - - // Called just after block decoding is finished (or when an error occurred - // during put()). Is NOT called if setup() failed. - VP8IoTeardownHook teardown; - - // this is a recommendation for the user-side yuv->rgb converter. This flag - // is set when calling setup() hook and can be overwritten by it. It then - // can be taken into consideration during the put() method. - int fancy_upsampling; - - // Input buffer. - size_t data_size; - const uint8_t* data; - - // If true, in-loop filtering will not be performed even if present in the - // bitstream. Switching off filtering may speed up decoding at the expense - // of more visible blocking. Note that output will also be non-compliant - // with the VP8 specifications. - int bypass_filtering; - - // Cropping parameters. - int use_cropping; - int crop_left, crop_right, crop_top, crop_bottom; - - // Scaling parameters. - int use_scaling; - int scaled_width, scaled_height; - - // If non NULL, pointer to the alpha data (if present) corresponding to the - // start of the current row (That is: it is pre-offset by mb_y and takes - // cropping into account). - const uint8_t* a; -}; - -// Internal, version-checked, entry point -int VP8InitIoInternal(VP8Io* const, int); - -// Set the custom IO function pointers and user-data. The setter for IO hooks -// should be called before initiating incremental decoding. Returns true if -// WebPIDecoder object is successfully modified, false otherwise. -int WebPISetIOHooks(WebPIDecoder* const idec, - VP8IoPutHook put, - VP8IoSetupHook setup, - VP8IoTeardownHook teardown, - void* user_data); - -// Main decoding object. This is an opaque structure. -typedef struct VP8Decoder VP8Decoder; - -// Create a new decoder object. -VP8Decoder* VP8New(void); - -// Must be called to make sure 'io' is initialized properly. -// Returns false in case of version mismatch. Upon such failure, no other -// decoding function should be called (VP8Decode, VP8GetHeaders, ...) -static WEBP_INLINE int VP8InitIo(VP8Io* const io) { - return VP8InitIoInternal(io, WEBP_DECODER_ABI_VERSION); -} - -// Decode the VP8 frame header. Returns true if ok. -// Note: 'io->data' must be pointing to the start of the VP8 frame header. -int VP8GetHeaders(VP8Decoder* const dec, VP8Io* const io); - -// Decode a picture. Will call VP8GetHeaders() if it wasn't done already. -// Returns false in case of error. -int VP8Decode(VP8Decoder* const dec, VP8Io* const io); - -// Return current status of the decoder: -VP8StatusCode VP8Status(VP8Decoder* const dec); - -// return readable string corresponding to the last status. -const char* VP8StatusMessage(VP8Decoder* const dec); - -// Resets the decoder in its initial state, reclaiming memory. -// Not a mandatory call between calls to VP8Decode(). -void VP8Clear(VP8Decoder* const dec); - -// Destroy the decoder object. -void VP8Delete(VP8Decoder* const dec); - -//------------------------------------------------------------------------------ -// Miscellaneous VP8/VP8L bitstream probing functions. - -// Returns true if the next 3 bytes in data contain the VP8 signature. -WEBP_EXTERN int VP8CheckSignature(const uint8_t* const data, size_t data_size); - -// Validates the VP8 data-header and retrieves basic header information viz -// width and height. Returns 0 in case of formatting error. *width/*height -// can be passed NULL. -WEBP_EXTERN int VP8GetInfo( - const uint8_t* data, - size_t data_size, // data available so far - size_t chunk_size, // total data size expected in the chunk - int* const width, int* const height); - -// Returns true if the next byte(s) in data is a VP8L signature. -WEBP_EXTERN int VP8LCheckSignature(const uint8_t* const data, size_t size); - -// Validates the VP8L data-header and retrieves basic header information viz -// width, height and alpha. Returns 0 in case of formatting error. -// width/height/has_alpha can be passed NULL. -WEBP_EXTERN int VP8LGetInfo( - const uint8_t* data, size_t data_size, // data available so far - int* const width, int* const height, int* const has_alpha); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DEC_VP8_DEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h deleted file mode 100644 index 600a6844..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h +++ /dev/null @@ -1,319 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// VP8 decoder: internal header. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_DEC_VP8I_DEC_H_ -#define WEBP_DEC_VP8I_DEC_H_ - -#include // for memcpy() -#include "src/dec/common_dec.h" -#include "src/dec/vp8li_dec.h" -#include "src/utils/bit_reader_utils.h" -#include "src/utils/random_utils.h" -#include "src/utils/thread_utils.h" -#include "src/dsp/dsp.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// Various defines and enums - -// version numbers -#define DEC_MAJ_VERSION 1 -#define DEC_MIN_VERSION 1 -#define DEC_REV_VERSION 0 - -// YUV-cache parameters. Cache is 32-bytes wide (= one cacheline). -// Constraints are: We need to store one 16x16 block of luma samples (y), -// and two 8x8 chroma blocks (u/v). These are better be 16-bytes aligned, -// in order to be SIMD-friendly. We also need to store the top, left and -// top-left samples (from previously decoded blocks), along with four -// extra top-right samples for luma (intra4x4 prediction only). -// One possible layout is, using 32 * (17 + 9) bytes: -// -// .+------ <- only 1 pixel high -// .|yyyyt. -// .|yyyyt. -// .|yyyyt. -// .|yyyy.. -// .+--.+-- <- only 1 pixel high -// .|uu.|vv -// .|uu.|vv -// -// Every character is a 4x4 block, with legend: -// '.' = unused -// 'y' = y-samples 'u' = u-samples 'v' = u-samples -// '|' = left sample, '-' = top sample, '+' = top-left sample -// 't' = extra top-right sample for 4x4 modes -#define YUV_SIZE (BPS * 17 + BPS * 9) -#define Y_OFF (BPS * 1 + 8) -#define U_OFF (Y_OFF + BPS * 16 + BPS) -#define V_OFF (U_OFF + 16) - -// minimal width under which lossy multi-threading is always disabled -#define MIN_WIDTH_FOR_THREADS 512 - -//------------------------------------------------------------------------------ -// Headers - -typedef struct { - uint8_t key_frame_; - uint8_t profile_; - uint8_t show_; - uint32_t partition_length_; -} VP8FrameHeader; - -typedef struct { - uint16_t width_; - uint16_t height_; - uint8_t xscale_; - uint8_t yscale_; - uint8_t colorspace_; // 0 = YCbCr - uint8_t clamp_type_; -} VP8PictureHeader; - -// segment features -typedef struct { - int use_segment_; - int update_map_; // whether to update the segment map or not - int absolute_delta_; // absolute or delta values for quantizer and filter - int8_t quantizer_[NUM_MB_SEGMENTS]; // quantization changes - int8_t filter_strength_[NUM_MB_SEGMENTS]; // filter strength for segments -} VP8SegmentHeader; - -// probas associated to one of the contexts -typedef uint8_t VP8ProbaArray[NUM_PROBAS]; - -typedef struct { // all the probas associated to one band - VP8ProbaArray probas_[NUM_CTX]; -} VP8BandProbas; - -// Struct collecting all frame-persistent probabilities. -typedef struct { - uint8_t segments_[MB_FEATURE_TREE_PROBS]; - // Type: 0:Intra16-AC 1:Intra16-DC 2:Chroma 3:Intra4 - VP8BandProbas bands_[NUM_TYPES][NUM_BANDS]; - const VP8BandProbas* bands_ptr_[NUM_TYPES][16 + 1]; -} VP8Proba; - -// Filter parameters -typedef struct { - int simple_; // 0=complex, 1=simple - int level_; // [0..63] - int sharpness_; // [0..7] - int use_lf_delta_; - int ref_lf_delta_[NUM_REF_LF_DELTAS]; - int mode_lf_delta_[NUM_MODE_LF_DELTAS]; -} VP8FilterHeader; - -//------------------------------------------------------------------------------ -// Informations about the macroblocks. - -typedef struct { // filter specs - uint8_t f_limit_; // filter limit in [3..189], or 0 if no filtering - uint8_t f_ilevel_; // inner limit in [1..63] - uint8_t f_inner_; // do inner filtering? - uint8_t hev_thresh_; // high edge variance threshold in [0..2] -} VP8FInfo; - -typedef struct { // Top/Left Contexts used for syntax-parsing - uint8_t nz_; // non-zero AC/DC coeffs (4bit for luma + 4bit for chroma) - uint8_t nz_dc_; // non-zero DC coeff (1bit) -} VP8MB; - -// Dequantization matrices -typedef int quant_t[2]; // [DC / AC]. Can be 'uint16_t[2]' too (~slower). -typedef struct { - quant_t y1_mat_, y2_mat_, uv_mat_; - - int uv_quant_; // U/V quantizer value - int dither_; // dithering amplitude (0 = off, max=255) -} VP8QuantMatrix; - -// Data needed to reconstruct a macroblock -typedef struct { - int16_t coeffs_[384]; // 384 coeffs = (16+4+4) * 4*4 - uint8_t is_i4x4_; // true if intra4x4 - uint8_t imodes_[16]; // one 16x16 mode (#0) or sixteen 4x4 modes - uint8_t uvmode_; // chroma prediction mode - // bit-wise info about the content of each sub-4x4 blocks (in decoding order). - // Each of the 4x4 blocks for y/u/v is associated with a 2b code according to: - // code=0 -> no coefficient - // code=1 -> only DC - // code=2 -> first three coefficients are non-zero - // code=3 -> more than three coefficients are non-zero - // This allows to call specialized transform functions. - uint32_t non_zero_y_; - uint32_t non_zero_uv_; - uint8_t dither_; // local dithering strength (deduced from non_zero_*) - uint8_t skip_; - uint8_t segment_; -} VP8MBData; - -// Persistent information needed by the parallel processing -typedef struct { - int id_; // cache row to process (in [0..2]) - int mb_y_; // macroblock position of the row - int filter_row_; // true if row-filtering is needed - VP8FInfo* f_info_; // filter strengths (swapped with dec->f_info_) - VP8MBData* mb_data_; // reconstruction data (swapped with dec->mb_data_) - VP8Io io_; // copy of the VP8Io to pass to put() -} VP8ThreadContext; - -// Saved top samples, per macroblock. Fits into a cache-line. -typedef struct { - uint8_t y[16], u[8], v[8]; -} VP8TopSamples; - -//------------------------------------------------------------------------------ -// VP8Decoder: the main opaque structure handed over to user - -struct VP8Decoder { - VP8StatusCode status_; - int ready_; // true if ready to decode a picture with VP8Decode() - const char* error_msg_; // set when status_ is not OK. - - // Main data source - VP8BitReader br_; - - // headers - VP8FrameHeader frm_hdr_; - VP8PictureHeader pic_hdr_; - VP8FilterHeader filter_hdr_; - VP8SegmentHeader segment_hdr_; - - // Worker - WebPWorker worker_; - int mt_method_; // multi-thread method: 0=off, 1=[parse+recon][filter] - // 2=[parse][recon+filter] - int cache_id_; // current cache row - int num_caches_; // number of cached rows of 16 pixels (1, 2 or 3) - VP8ThreadContext thread_ctx_; // Thread context - - // dimension, in macroblock units. - int mb_w_, mb_h_; - - // Macroblock to process/filter, depending on cropping and filter_type. - int tl_mb_x_, tl_mb_y_; // top-left MB that must be in-loop filtered - int br_mb_x_, br_mb_y_; // last bottom-right MB that must be decoded - - // number of partitions minus one. - uint32_t num_parts_minus_one_; - // per-partition boolean decoders. - VP8BitReader parts_[MAX_NUM_PARTITIONS]; - - // Dithering strength, deduced from decoding options - int dither_; // whether to use dithering or not - VP8Random dithering_rg_; // random generator for dithering - - // dequantization (one set of DC/AC dequant factor per segment) - VP8QuantMatrix dqm_[NUM_MB_SEGMENTS]; - - // probabilities - VP8Proba proba_; - int use_skip_proba_; - uint8_t skip_p_; - - // Boundary data cache and persistent buffers. - uint8_t* intra_t_; // top intra modes values: 4 * mb_w_ - uint8_t intra_l_[4]; // left intra modes values - - VP8TopSamples* yuv_t_; // top y/u/v samples - - VP8MB* mb_info_; // contextual macroblock info (mb_w_ + 1) - VP8FInfo* f_info_; // filter strength info - uint8_t* yuv_b_; // main block for Y/U/V (size = YUV_SIZE) - - uint8_t* cache_y_; // macroblock row for storing unfiltered samples - uint8_t* cache_u_; - uint8_t* cache_v_; - int cache_y_stride_; - int cache_uv_stride_; - - // main memory chunk for the above data. Persistent. - void* mem_; - size_t mem_size_; - - // Per macroblock non-persistent infos. - int mb_x_, mb_y_; // current position, in macroblock units - VP8MBData* mb_data_; // parsed reconstruction data - - // Filtering side-info - int filter_type_; // 0=off, 1=simple, 2=complex - VP8FInfo fstrengths_[NUM_MB_SEGMENTS][2]; // precalculated per-segment/type - - // Alpha - struct ALPHDecoder* alph_dec_; // alpha-plane decoder object - const uint8_t* alpha_data_; // compressed alpha data (if present) - size_t alpha_data_size_; - int is_alpha_decoded_; // true if alpha_data_ is decoded in alpha_plane_ - uint8_t* alpha_plane_mem_; // memory allocated for alpha_plane_ - uint8_t* alpha_plane_; // output. Persistent, contains the whole data. - const uint8_t* alpha_prev_line_; // last decoded alpha row (or NULL) - int alpha_dithering_; // derived from decoding options (0=off, 100=full) -}; - -//------------------------------------------------------------------------------ -// internal functions. Not public. - -// in vp8.c -int VP8SetError(VP8Decoder* const dec, - VP8StatusCode error, const char* const msg); - -// in tree.c -void VP8ResetProba(VP8Proba* const proba); -void VP8ParseProba(VP8BitReader* const br, VP8Decoder* const dec); -// parses one row of intra mode data in partition 0, returns !eof -int VP8ParseIntraModeRow(VP8BitReader* const br, VP8Decoder* const dec); - -// in quant.c -void VP8ParseQuant(VP8Decoder* const dec); - -// in frame.c -int VP8InitFrame(VP8Decoder* const dec, VP8Io* const io); -// Call io->setup() and finish setting up scan parameters. -// After this call returns, one must always call VP8ExitCritical() with the -// same parameters. Both functions should be used in pair. Returns VP8_STATUS_OK -// if ok, otherwise sets and returns the error status on *dec. -VP8StatusCode VP8EnterCritical(VP8Decoder* const dec, VP8Io* const io); -// Must always be called in pair with VP8EnterCritical(). -// Returns false in case of error. -int VP8ExitCritical(VP8Decoder* const dec, VP8Io* const io); -// Return the multi-threading method to use (0=off), depending -// on options and bitstream size. Only for lossy decoding. -int VP8GetThreadMethod(const WebPDecoderOptions* const options, - const WebPHeaderStructure* const headers, - int width, int height); -// Initialize dithering post-process if needed. -void VP8InitDithering(const WebPDecoderOptions* const options, - VP8Decoder* const dec); -// Process the last decoded row (filtering + output). -int VP8ProcessRow(VP8Decoder* const dec, VP8Io* const io); -// To be called at the start of a new scanline, to initialize predictors. -void VP8InitScanline(VP8Decoder* const dec); -// Decode one macroblock. Returns false if there is not enough data. -int VP8DecodeMB(VP8Decoder* const dec, VP8BitReader* const token_br); - -// in alpha.c -const uint8_t* VP8DecompressAlphaRows(VP8Decoder* const dec, - const VP8Io* const io, - int row, int num_rows); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DEC_VP8I_DEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8l_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8l_dec.c deleted file mode 100644 index 93615d4e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8l_dec.c +++ /dev/null @@ -1,1739 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// main entry for the decoder -// -// Authors: Vikas Arora (vikaas.arora@gmail.com) -// Jyrki Alakuijala (jyrki@google.com) - -#include - -#include "src/dec/alphai_dec.h" -#include "src/dec/vp8li_dec.h" -#include "src/dsp/dsp.h" -#include "src/dsp/lossless.h" -#include "src/dsp/lossless_common.h" -#include "src/dsp/yuv.h" -#include "src/utils/endian_inl_utils.h" -#include "src/utils/huffman_utils.h" -#include "src/utils/utils.h" - -#define NUM_ARGB_CACHE_ROWS 16 - -static const int kCodeLengthLiterals = 16; -static const int kCodeLengthRepeatCode = 16; -static const uint8_t kCodeLengthExtraBits[3] = { 2, 3, 7 }; -static const uint8_t kCodeLengthRepeatOffsets[3] = { 3, 3, 11 }; - -// ----------------------------------------------------------------------------- -// Five Huffman codes are used at each meta code: -// 1. green + length prefix codes + color cache codes, -// 2. alpha, -// 3. red, -// 4. blue, and, -// 5. distance prefix codes. -typedef enum { - GREEN = 0, - RED = 1, - BLUE = 2, - ALPHA = 3, - DIST = 4 -} HuffIndex; - -static const uint16_t kAlphabetSize[HUFFMAN_CODES_PER_META_CODE] = { - NUM_LITERAL_CODES + NUM_LENGTH_CODES, - NUM_LITERAL_CODES, NUM_LITERAL_CODES, NUM_LITERAL_CODES, - NUM_DISTANCE_CODES -}; - -static const uint8_t kLiteralMap[HUFFMAN_CODES_PER_META_CODE] = { - 0, 1, 1, 1, 0 -}; - -#define NUM_CODE_LENGTH_CODES 19 -static const uint8_t kCodeLengthCodeOrder[NUM_CODE_LENGTH_CODES] = { - 17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 -}; - -#define CODE_TO_PLANE_CODES 120 -static const uint8_t kCodeToPlane[CODE_TO_PLANE_CODES] = { - 0x18, 0x07, 0x17, 0x19, 0x28, 0x06, 0x27, 0x29, 0x16, 0x1a, - 0x26, 0x2a, 0x38, 0x05, 0x37, 0x39, 0x15, 0x1b, 0x36, 0x3a, - 0x25, 0x2b, 0x48, 0x04, 0x47, 0x49, 0x14, 0x1c, 0x35, 0x3b, - 0x46, 0x4a, 0x24, 0x2c, 0x58, 0x45, 0x4b, 0x34, 0x3c, 0x03, - 0x57, 0x59, 0x13, 0x1d, 0x56, 0x5a, 0x23, 0x2d, 0x44, 0x4c, - 0x55, 0x5b, 0x33, 0x3d, 0x68, 0x02, 0x67, 0x69, 0x12, 0x1e, - 0x66, 0x6a, 0x22, 0x2e, 0x54, 0x5c, 0x43, 0x4d, 0x65, 0x6b, - 0x32, 0x3e, 0x78, 0x01, 0x77, 0x79, 0x53, 0x5d, 0x11, 0x1f, - 0x64, 0x6c, 0x42, 0x4e, 0x76, 0x7a, 0x21, 0x2f, 0x75, 0x7b, - 0x31, 0x3f, 0x63, 0x6d, 0x52, 0x5e, 0x00, 0x74, 0x7c, 0x41, - 0x4f, 0x10, 0x20, 0x62, 0x6e, 0x30, 0x73, 0x7d, 0x51, 0x5f, - 0x40, 0x72, 0x7e, 0x61, 0x6f, 0x50, 0x71, 0x7f, 0x60, 0x70 -}; - -// Memory needed for lookup tables of one Huffman tree group. Red, blue, alpha -// and distance alphabets are constant (256 for red, blue and alpha, 40 for -// distance) and lookup table sizes for them in worst case are 630 and 410 -// respectively. Size of green alphabet depends on color cache size and is equal -// to 256 (green component values) + 24 (length prefix values) -// + color_cache_size (between 0 and 2048). -// All values computed for 8-bit first level lookup with Mark Adler's tool: -// http://www.hdfgroup.org/ftp/lib-external/zlib/zlib-1.2.5/examples/enough.c -#define FIXED_TABLE_SIZE (630 * 3 + 410) -static const uint16_t kTableSize[12] = { - FIXED_TABLE_SIZE + 654, - FIXED_TABLE_SIZE + 656, - FIXED_TABLE_SIZE + 658, - FIXED_TABLE_SIZE + 662, - FIXED_TABLE_SIZE + 670, - FIXED_TABLE_SIZE + 686, - FIXED_TABLE_SIZE + 718, - FIXED_TABLE_SIZE + 782, - FIXED_TABLE_SIZE + 912, - FIXED_TABLE_SIZE + 1168, - FIXED_TABLE_SIZE + 1680, - FIXED_TABLE_SIZE + 2704 -}; - -static int DecodeImageStream(int xsize, int ysize, - int is_level0, - VP8LDecoder* const dec, - uint32_t** const decoded_data); - -//------------------------------------------------------------------------------ - -int VP8LCheckSignature(const uint8_t* const data, size_t size) { - return (size >= VP8L_FRAME_HEADER_SIZE && - data[0] == VP8L_MAGIC_BYTE && - (data[4] >> 5) == 0); // version -} - -static int ReadImageInfo(VP8LBitReader* const br, - int* const width, int* const height, - int* const has_alpha) { - if (VP8LReadBits(br, 8) != VP8L_MAGIC_BYTE) return 0; - *width = VP8LReadBits(br, VP8L_IMAGE_SIZE_BITS) + 1; - *height = VP8LReadBits(br, VP8L_IMAGE_SIZE_BITS) + 1; - *has_alpha = VP8LReadBits(br, 1); - if (VP8LReadBits(br, VP8L_VERSION_BITS) != 0) return 0; - return !br->eos_; -} - -int VP8LGetInfo(const uint8_t* data, size_t data_size, - int* const width, int* const height, int* const has_alpha) { - if (data == NULL || data_size < VP8L_FRAME_HEADER_SIZE) { - return 0; // not enough data - } else if (!VP8LCheckSignature(data, data_size)) { - return 0; // bad signature - } else { - int w, h, a; - VP8LBitReader br; - VP8LInitBitReader(&br, data, data_size); - if (!ReadImageInfo(&br, &w, &h, &a)) { - return 0; - } - if (width != NULL) *width = w; - if (height != NULL) *height = h; - if (has_alpha != NULL) *has_alpha = a; - return 1; - } -} - -//------------------------------------------------------------------------------ - -static WEBP_INLINE int GetCopyDistance(int distance_symbol, - VP8LBitReader* const br) { - int extra_bits, offset; - if (distance_symbol < 4) { - return distance_symbol + 1; - } - extra_bits = (distance_symbol - 2) >> 1; - offset = (2 + (distance_symbol & 1)) << extra_bits; - return offset + VP8LReadBits(br, extra_bits) + 1; -} - -static WEBP_INLINE int GetCopyLength(int length_symbol, - VP8LBitReader* const br) { - // Length and distance prefixes are encoded the same way. - return GetCopyDistance(length_symbol, br); -} - -static WEBP_INLINE int PlaneCodeToDistance(int xsize, int plane_code) { - if (plane_code > CODE_TO_PLANE_CODES) { - return plane_code - CODE_TO_PLANE_CODES; - } else { - const int dist_code = kCodeToPlane[plane_code - 1]; - const int yoffset = dist_code >> 4; - const int xoffset = 8 - (dist_code & 0xf); - const int dist = yoffset * xsize + xoffset; - return (dist >= 1) ? dist : 1; // dist<1 can happen if xsize is very small - } -} - -//------------------------------------------------------------------------------ -// Decodes the next Huffman code from bit-stream. -// FillBitWindow(br) needs to be called at minimum every second call -// to ReadSymbol, in order to pre-fetch enough bits. -static WEBP_INLINE int ReadSymbol(const HuffmanCode* table, - VP8LBitReader* const br) { - int nbits; - uint32_t val = VP8LPrefetchBits(br); - table += val & HUFFMAN_TABLE_MASK; - nbits = table->bits - HUFFMAN_TABLE_BITS; - if (nbits > 0) { - VP8LSetBitPos(br, br->bit_pos_ + HUFFMAN_TABLE_BITS); - val = VP8LPrefetchBits(br); - table += table->value; - table += val & ((1 << nbits) - 1); - } - VP8LSetBitPos(br, br->bit_pos_ + table->bits); - return table->value; -} - -// Reads packed symbol depending on GREEN channel -#define BITS_SPECIAL_MARKER 0x100 // something large enough (and a bit-mask) -#define PACKED_NON_LITERAL_CODE 0 // must be < NUM_LITERAL_CODES -static WEBP_INLINE int ReadPackedSymbols(const HTreeGroup* group, - VP8LBitReader* const br, - uint32_t* const dst) { - const uint32_t val = VP8LPrefetchBits(br) & (HUFFMAN_PACKED_TABLE_SIZE - 1); - const HuffmanCode32 code = group->packed_table[val]; - assert(group->use_packed_table); - if (code.bits < BITS_SPECIAL_MARKER) { - VP8LSetBitPos(br, br->bit_pos_ + code.bits); - *dst = code.value; - return PACKED_NON_LITERAL_CODE; - } else { - VP8LSetBitPos(br, br->bit_pos_ + code.bits - BITS_SPECIAL_MARKER); - assert(code.value >= NUM_LITERAL_CODES); - return code.value; - } -} - -static int AccumulateHCode(HuffmanCode hcode, int shift, - HuffmanCode32* const huff) { - huff->bits += hcode.bits; - huff->value |= (uint32_t)hcode.value << shift; - assert(huff->bits <= HUFFMAN_TABLE_BITS); - return hcode.bits; -} - -static void BuildPackedTable(HTreeGroup* const htree_group) { - uint32_t code; - for (code = 0; code < HUFFMAN_PACKED_TABLE_SIZE; ++code) { - uint32_t bits = code; - HuffmanCode32* const huff = &htree_group->packed_table[bits]; - HuffmanCode hcode = htree_group->htrees[GREEN][bits]; - if (hcode.value >= NUM_LITERAL_CODES) { - huff->bits = hcode.bits + BITS_SPECIAL_MARKER; - huff->value = hcode.value; - } else { - huff->bits = 0; - huff->value = 0; - bits >>= AccumulateHCode(hcode, 8, huff); - bits >>= AccumulateHCode(htree_group->htrees[RED][bits], 16, huff); - bits >>= AccumulateHCode(htree_group->htrees[BLUE][bits], 0, huff); - bits >>= AccumulateHCode(htree_group->htrees[ALPHA][bits], 24, huff); - (void)bits; - } - } -} - -static int ReadHuffmanCodeLengths( - VP8LDecoder* const dec, const int* const code_length_code_lengths, - int num_symbols, int* const code_lengths) { - int ok = 0; - VP8LBitReader* const br = &dec->br_; - int symbol; - int max_symbol; - int prev_code_len = DEFAULT_CODE_LENGTH; - HuffmanCode table[1 << LENGTHS_TABLE_BITS]; - - if (!VP8LBuildHuffmanTable(table, LENGTHS_TABLE_BITS, - code_length_code_lengths, - NUM_CODE_LENGTH_CODES)) { - goto End; - } - - if (VP8LReadBits(br, 1)) { // use length - const int length_nbits = 2 + 2 * VP8LReadBits(br, 3); - max_symbol = 2 + VP8LReadBits(br, length_nbits); - if (max_symbol > num_symbols) { - goto End; - } - } else { - max_symbol = num_symbols; - } - - symbol = 0; - while (symbol < num_symbols) { - const HuffmanCode* p; - int code_len; - if (max_symbol-- == 0) break; - VP8LFillBitWindow(br); - p = &table[VP8LPrefetchBits(br) & LENGTHS_TABLE_MASK]; - VP8LSetBitPos(br, br->bit_pos_ + p->bits); - code_len = p->value; - if (code_len < kCodeLengthLiterals) { - code_lengths[symbol++] = code_len; - if (code_len != 0) prev_code_len = code_len; - } else { - const int use_prev = (code_len == kCodeLengthRepeatCode); - const int slot = code_len - kCodeLengthLiterals; - const int extra_bits = kCodeLengthExtraBits[slot]; - const int repeat_offset = kCodeLengthRepeatOffsets[slot]; - int repeat = VP8LReadBits(br, extra_bits) + repeat_offset; - if (symbol + repeat > num_symbols) { - goto End; - } else { - const int length = use_prev ? prev_code_len : 0; - while (repeat-- > 0) code_lengths[symbol++] = length; - } - } - } - ok = 1; - - End: - if (!ok) dec->status_ = VP8_STATUS_BITSTREAM_ERROR; - return ok; -} - -// 'code_lengths' is pre-allocated temporary buffer, used for creating Huffman -// tree. -static int ReadHuffmanCode(int alphabet_size, VP8LDecoder* const dec, - int* const code_lengths, HuffmanCode* const table) { - int ok = 0; - int size = 0; - VP8LBitReader* const br = &dec->br_; - const int simple_code = VP8LReadBits(br, 1); - - memset(code_lengths, 0, alphabet_size * sizeof(*code_lengths)); - - if (simple_code) { // Read symbols, codes & code lengths directly. - const int num_symbols = VP8LReadBits(br, 1) + 1; - const int first_symbol_len_code = VP8LReadBits(br, 1); - // The first code is either 1 bit or 8 bit code. - int symbol = VP8LReadBits(br, (first_symbol_len_code == 0) ? 1 : 8); - code_lengths[symbol] = 1; - // The second code (if present), is always 8 bit long. - if (num_symbols == 2) { - symbol = VP8LReadBits(br, 8); - code_lengths[symbol] = 1; - } - ok = 1; - } else { // Decode Huffman-coded code lengths. - int i; - int code_length_code_lengths[NUM_CODE_LENGTH_CODES] = { 0 }; - const int num_codes = VP8LReadBits(br, 4) + 4; - if (num_codes > NUM_CODE_LENGTH_CODES) { - dec->status_ = VP8_STATUS_BITSTREAM_ERROR; - return 0; - } - - for (i = 0; i < num_codes; ++i) { - code_length_code_lengths[kCodeLengthCodeOrder[i]] = VP8LReadBits(br, 3); - } - ok = ReadHuffmanCodeLengths(dec, code_length_code_lengths, alphabet_size, - code_lengths); - } - - ok = ok && !br->eos_; - if (ok) { - size = VP8LBuildHuffmanTable(table, HUFFMAN_TABLE_BITS, - code_lengths, alphabet_size); - } - if (!ok || size == 0) { - dec->status_ = VP8_STATUS_BITSTREAM_ERROR; - return 0; - } - return size; -} - -static int ReadHuffmanCodes(VP8LDecoder* const dec, int xsize, int ysize, - int color_cache_bits, int allow_recursion) { - int i, j; - VP8LBitReader* const br = &dec->br_; - VP8LMetadata* const hdr = &dec->hdr_; - uint32_t* huffman_image = NULL; - HTreeGroup* htree_groups = NULL; - HuffmanCode* huffman_tables = NULL; - HuffmanCode* huffman_table = NULL; - int num_htree_groups = 1; - int num_htree_groups_max = 1; - int max_alphabet_size = 0; - int* code_lengths = NULL; - const int table_size = kTableSize[color_cache_bits]; - int* mapping = NULL; - int ok = 0; - - if (allow_recursion && VP8LReadBits(br, 1)) { - // use meta Huffman codes. - const int huffman_precision = VP8LReadBits(br, 3) + 2; - const int huffman_xsize = VP8LSubSampleSize(xsize, huffman_precision); - const int huffman_ysize = VP8LSubSampleSize(ysize, huffman_precision); - const int huffman_pixs = huffman_xsize * huffman_ysize; - if (!DecodeImageStream(huffman_xsize, huffman_ysize, 0, dec, - &huffman_image)) { - goto Error; - } - hdr->huffman_subsample_bits_ = huffman_precision; - for (i = 0; i < huffman_pixs; ++i) { - // The huffman data is stored in red and green bytes. - const int group = (huffman_image[i] >> 8) & 0xffff; - huffman_image[i] = group; - if (group >= num_htree_groups_max) { - num_htree_groups_max = group + 1; - } - } - // Check the validity of num_htree_groups_max. If it seems too big, use a - // smaller value for later. This will prevent big memory allocations to end - // up with a bad bitstream anyway. - // The value of 1000 is totally arbitrary. We know that num_htree_groups_max - // is smaller than (1 << 16) and should be smaller than the number of pixels - // (though the format allows it to be bigger). - if (num_htree_groups_max > 1000 || num_htree_groups_max > xsize * ysize) { - // Create a mapping from the used indices to the minimal set of used - // values [0, num_htree_groups) - mapping = (int*)WebPSafeMalloc(num_htree_groups_max, sizeof(*mapping)); - if (mapping == NULL) { - dec->status_ = VP8_STATUS_OUT_OF_MEMORY; - goto Error; - } - // -1 means a value is unmapped, and therefore unused in the Huffman - // image. - memset(mapping, 0xff, num_htree_groups_max * sizeof(*mapping)); - for (num_htree_groups = 0, i = 0; i < huffman_pixs; ++i) { - // Get the current mapping for the group and remap the Huffman image. - int* const mapped_group = &mapping[huffman_image[i]]; - if (*mapped_group == -1) *mapped_group = num_htree_groups++; - huffman_image[i] = *mapped_group; - } - } else { - num_htree_groups = num_htree_groups_max; - } - } - - if (br->eos_) goto Error; - - // Find maximum alphabet size for the htree group. - for (j = 0; j < HUFFMAN_CODES_PER_META_CODE; ++j) { - int alphabet_size = kAlphabetSize[j]; - if (j == 0 && color_cache_bits > 0) { - alphabet_size += 1 << color_cache_bits; - } - if (max_alphabet_size < alphabet_size) { - max_alphabet_size = alphabet_size; - } - } - - code_lengths = (int*)WebPSafeCalloc((uint64_t)max_alphabet_size, - sizeof(*code_lengths)); - huffman_tables = (HuffmanCode*)WebPSafeMalloc(num_htree_groups * table_size, - sizeof(*huffman_tables)); - htree_groups = VP8LHtreeGroupsNew(num_htree_groups); - - if (htree_groups == NULL || code_lengths == NULL || huffman_tables == NULL) { - dec->status_ = VP8_STATUS_OUT_OF_MEMORY; - goto Error; - } - - huffman_table = huffman_tables; - for (i = 0; i < num_htree_groups_max; ++i) { - // If the index "i" is unused in the Huffman image, just make sure the - // coefficients are valid but do not store them. - if (mapping != NULL && mapping[i] == -1) { - for (j = 0; j < HUFFMAN_CODES_PER_META_CODE; ++j) { - int alphabet_size = kAlphabetSize[j]; - if (j == 0 && color_cache_bits > 0) { - alphabet_size += (1 << color_cache_bits); - } - // Passing in NULL so that nothing gets filled. - if (!ReadHuffmanCode(alphabet_size, dec, code_lengths, NULL)) { - goto Error; - } - } - } else { - HTreeGroup* const htree_group = - &htree_groups[(mapping == NULL) ? i : mapping[i]]; - HuffmanCode** const htrees = htree_group->htrees; - int size; - int total_size = 0; - int is_trivial_literal = 1; - int max_bits = 0; - for (j = 0; j < HUFFMAN_CODES_PER_META_CODE; ++j) { - int alphabet_size = kAlphabetSize[j]; - htrees[j] = huffman_table; - if (j == 0 && color_cache_bits > 0) { - alphabet_size += (1 << color_cache_bits); - } - size = ReadHuffmanCode(alphabet_size, dec, code_lengths, huffman_table); - if (size == 0) { - goto Error; - } - if (is_trivial_literal && kLiteralMap[j] == 1) { - is_trivial_literal = (huffman_table->bits == 0); - } - total_size += huffman_table->bits; - huffman_table += size; - if (j <= ALPHA) { - int local_max_bits = code_lengths[0]; - int k; - for (k = 1; k < alphabet_size; ++k) { - if (code_lengths[k] > local_max_bits) { - local_max_bits = code_lengths[k]; - } - } - max_bits += local_max_bits; - } - } - htree_group->is_trivial_literal = is_trivial_literal; - htree_group->is_trivial_code = 0; - if (is_trivial_literal) { - const int red = htrees[RED][0].value; - const int blue = htrees[BLUE][0].value; - const int alpha = htrees[ALPHA][0].value; - htree_group->literal_arb = ((uint32_t)alpha << 24) | (red << 16) | blue; - if (total_size == 0 && htrees[GREEN][0].value < NUM_LITERAL_CODES) { - htree_group->is_trivial_code = 1; - htree_group->literal_arb |= htrees[GREEN][0].value << 8; - } - } - htree_group->use_packed_table = - !htree_group->is_trivial_code && (max_bits < HUFFMAN_PACKED_BITS); - if (htree_group->use_packed_table) BuildPackedTable(htree_group); - } - } - ok = 1; - - // All OK. Finalize pointers. - hdr->huffman_image_ = huffman_image; - hdr->num_htree_groups_ = num_htree_groups; - hdr->htree_groups_ = htree_groups; - hdr->huffman_tables_ = huffman_tables; - - Error: - WebPSafeFree(code_lengths); - WebPSafeFree(mapping); - if (!ok) { - WebPSafeFree(huffman_image); - WebPSafeFree(huffman_tables); - VP8LHtreeGroupsFree(htree_groups); - } - return ok; -} - -//------------------------------------------------------------------------------ -// Scaling. - -#if !defined(WEBP_REDUCE_SIZE) -static int AllocateAndInitRescaler(VP8LDecoder* const dec, VP8Io* const io) { - const int num_channels = 4; - const int in_width = io->mb_w; - const int out_width = io->scaled_width; - const int in_height = io->mb_h; - const int out_height = io->scaled_height; - const uint64_t work_size = 2 * num_channels * (uint64_t)out_width; - rescaler_t* work; // Rescaler work area. - const uint64_t scaled_data_size = (uint64_t)out_width; - uint32_t* scaled_data; // Temporary storage for scaled BGRA data. - const uint64_t memory_size = sizeof(*dec->rescaler) + - work_size * sizeof(*work) + - scaled_data_size * sizeof(*scaled_data); - uint8_t* memory = (uint8_t*)WebPSafeMalloc(memory_size, sizeof(*memory)); - if (memory == NULL) { - dec->status_ = VP8_STATUS_OUT_OF_MEMORY; - return 0; - } - assert(dec->rescaler_memory == NULL); - dec->rescaler_memory = memory; - - dec->rescaler = (WebPRescaler*)memory; - memory += sizeof(*dec->rescaler); - work = (rescaler_t*)memory; - memory += work_size * sizeof(*work); - scaled_data = (uint32_t*)memory; - - WebPRescalerInit(dec->rescaler, in_width, in_height, (uint8_t*)scaled_data, - out_width, out_height, 0, num_channels, work); - return 1; -} -#endif // WEBP_REDUCE_SIZE - -//------------------------------------------------------------------------------ -// Export to ARGB - -#if !defined(WEBP_REDUCE_SIZE) - -// We have special "export" function since we need to convert from BGRA -static int Export(WebPRescaler* const rescaler, WEBP_CSP_MODE colorspace, - int rgba_stride, uint8_t* const rgba) { - uint32_t* const src = (uint32_t*)rescaler->dst; - const int dst_width = rescaler->dst_width; - int num_lines_out = 0; - while (WebPRescalerHasPendingOutput(rescaler)) { - uint8_t* const dst = rgba + num_lines_out * rgba_stride; - WebPRescalerExportRow(rescaler); - WebPMultARGBRow(src, dst_width, 1); - VP8LConvertFromBGRA(src, dst_width, colorspace, dst); - ++num_lines_out; - } - return num_lines_out; -} - -// Emit scaled rows. -static int EmitRescaledRowsRGBA(const VP8LDecoder* const dec, - uint8_t* in, int in_stride, int mb_h, - uint8_t* const out, int out_stride) { - const WEBP_CSP_MODE colorspace = dec->output_->colorspace; - int num_lines_in = 0; - int num_lines_out = 0; - while (num_lines_in < mb_h) { - uint8_t* const row_in = in + num_lines_in * in_stride; - uint8_t* const row_out = out + num_lines_out * out_stride; - const int lines_left = mb_h - num_lines_in; - const int needed_lines = WebPRescaleNeededLines(dec->rescaler, lines_left); - int lines_imported; - assert(needed_lines > 0 && needed_lines <= lines_left); - WebPMultARGBRows(row_in, in_stride, - dec->rescaler->src_width, needed_lines, 0); - lines_imported = - WebPRescalerImport(dec->rescaler, lines_left, row_in, in_stride); - assert(lines_imported == needed_lines); - num_lines_in += lines_imported; - num_lines_out += Export(dec->rescaler, colorspace, out_stride, row_out); - } - return num_lines_out; -} - -#endif // WEBP_REDUCE_SIZE - -// Emit rows without any scaling. -static int EmitRows(WEBP_CSP_MODE colorspace, - const uint8_t* row_in, int in_stride, - int mb_w, int mb_h, - uint8_t* const out, int out_stride) { - int lines = mb_h; - uint8_t* row_out = out; - while (lines-- > 0) { - VP8LConvertFromBGRA((const uint32_t*)row_in, mb_w, colorspace, row_out); - row_in += in_stride; - row_out += out_stride; - } - return mb_h; // Num rows out == num rows in. -} - -//------------------------------------------------------------------------------ -// Export to YUVA - -static void ConvertToYUVA(const uint32_t* const src, int width, int y_pos, - const WebPDecBuffer* const output) { - const WebPYUVABuffer* const buf = &output->u.YUVA; - - // first, the luma plane - WebPConvertARGBToY(src, buf->y + y_pos * buf->y_stride, width); - - // then U/V planes - { - uint8_t* const u = buf->u + (y_pos >> 1) * buf->u_stride; - uint8_t* const v = buf->v + (y_pos >> 1) * buf->v_stride; - // even lines: store values - // odd lines: average with previous values - WebPConvertARGBToUV(src, u, v, width, !(y_pos & 1)); - } - // Lastly, store alpha if needed. - if (buf->a != NULL) { - uint8_t* const a = buf->a + y_pos * buf->a_stride; -#if defined(WORDS_BIGENDIAN) - WebPExtractAlpha((uint8_t*)src + 0, 0, width, 1, a, 0); -#else - WebPExtractAlpha((uint8_t*)src + 3, 0, width, 1, a, 0); -#endif - } -} - -static int ExportYUVA(const VP8LDecoder* const dec, int y_pos) { - WebPRescaler* const rescaler = dec->rescaler; - uint32_t* const src = (uint32_t*)rescaler->dst; - const int dst_width = rescaler->dst_width; - int num_lines_out = 0; - while (WebPRescalerHasPendingOutput(rescaler)) { - WebPRescalerExportRow(rescaler); - WebPMultARGBRow(src, dst_width, 1); - ConvertToYUVA(src, dst_width, y_pos, dec->output_); - ++y_pos; - ++num_lines_out; - } - return num_lines_out; -} - -static int EmitRescaledRowsYUVA(const VP8LDecoder* const dec, - uint8_t* in, int in_stride, int mb_h) { - int num_lines_in = 0; - int y_pos = dec->last_out_row_; - while (num_lines_in < mb_h) { - const int lines_left = mb_h - num_lines_in; - const int needed_lines = WebPRescaleNeededLines(dec->rescaler, lines_left); - int lines_imported; - WebPMultARGBRows(in, in_stride, dec->rescaler->src_width, needed_lines, 0); - lines_imported = - WebPRescalerImport(dec->rescaler, lines_left, in, in_stride); - assert(lines_imported == needed_lines); - num_lines_in += lines_imported; - in += needed_lines * in_stride; - y_pos += ExportYUVA(dec, y_pos); - } - return y_pos; -} - -static int EmitRowsYUVA(const VP8LDecoder* const dec, - const uint8_t* in, int in_stride, - int mb_w, int num_rows) { - int y_pos = dec->last_out_row_; - while (num_rows-- > 0) { - ConvertToYUVA((const uint32_t*)in, mb_w, y_pos, dec->output_); - in += in_stride; - ++y_pos; - } - return y_pos; -} - -//------------------------------------------------------------------------------ -// Cropping. - -// Sets io->mb_y, io->mb_h & io->mb_w according to start row, end row and -// crop options. Also updates the input data pointer, so that it points to the -// start of the cropped window. Note that pixels are in ARGB format even if -// 'in_data' is uint8_t*. -// Returns true if the crop window is not empty. -static int SetCropWindow(VP8Io* const io, int y_start, int y_end, - uint8_t** const in_data, int pixel_stride) { - assert(y_start < y_end); - assert(io->crop_left < io->crop_right); - if (y_end > io->crop_bottom) { - y_end = io->crop_bottom; // make sure we don't overflow on last row. - } - if (y_start < io->crop_top) { - const int delta = io->crop_top - y_start; - y_start = io->crop_top; - *in_data += delta * pixel_stride; - } - if (y_start >= y_end) return 0; // Crop window is empty. - - *in_data += io->crop_left * sizeof(uint32_t); - - io->mb_y = y_start - io->crop_top; - io->mb_w = io->crop_right - io->crop_left; - io->mb_h = y_end - y_start; - return 1; // Non-empty crop window. -} - -//------------------------------------------------------------------------------ - -static WEBP_INLINE int GetMetaIndex( - const uint32_t* const image, int xsize, int bits, int x, int y) { - if (bits == 0) return 0; - return image[xsize * (y >> bits) + (x >> bits)]; -} - -static WEBP_INLINE HTreeGroup* GetHtreeGroupForPos(VP8LMetadata* const hdr, - int x, int y) { - const int meta_index = GetMetaIndex(hdr->huffman_image_, hdr->huffman_xsize_, - hdr->huffman_subsample_bits_, x, y); - assert(meta_index < hdr->num_htree_groups_); - return hdr->htree_groups_ + meta_index; -} - -//------------------------------------------------------------------------------ -// Main loop, with custom row-processing function - -typedef void (*ProcessRowsFunc)(VP8LDecoder* const dec, int row); - -static void ApplyInverseTransforms(VP8LDecoder* const dec, - int start_row, int num_rows, - const uint32_t* const rows) { - int n = dec->next_transform_; - const int cache_pixs = dec->width_ * num_rows; - const int end_row = start_row + num_rows; - const uint32_t* rows_in = rows; - uint32_t* const rows_out = dec->argb_cache_; - - // Inverse transforms. - while (n-- > 0) { - VP8LTransform* const transform = &dec->transforms_[n]; - VP8LInverseTransform(transform, start_row, end_row, rows_in, rows_out); - rows_in = rows_out; - } - if (rows_in != rows_out) { - // No transform called, hence just copy. - memcpy(rows_out, rows_in, cache_pixs * sizeof(*rows_out)); - } -} - -// Processes (transforms, scales & color-converts) the rows decoded after the -// last call. -static void ProcessRows(VP8LDecoder* const dec, int row) { - const uint32_t* const rows = dec->pixels_ + dec->width_ * dec->last_row_; - const int num_rows = row - dec->last_row_; - - assert(row <= dec->io_->crop_bottom); - // We can't process more than NUM_ARGB_CACHE_ROWS at a time (that's the size - // of argb_cache_), but we currently don't need more than that. - assert(num_rows <= NUM_ARGB_CACHE_ROWS); - if (num_rows > 0) { // Emit output. - VP8Io* const io = dec->io_; - uint8_t* rows_data = (uint8_t*)dec->argb_cache_; - const int in_stride = io->width * sizeof(uint32_t); // in unit of RGBA - ApplyInverseTransforms(dec, dec->last_row_, num_rows, rows); - if (!SetCropWindow(io, dec->last_row_, row, &rows_data, in_stride)) { - // Nothing to output (this time). - } else { - const WebPDecBuffer* const output = dec->output_; - if (WebPIsRGBMode(output->colorspace)) { // convert to RGBA - const WebPRGBABuffer* const buf = &output->u.RGBA; - uint8_t* const rgba = buf->rgba + dec->last_out_row_ * buf->stride; - const int num_rows_out = -#if !defined(WEBP_REDUCE_SIZE) - io->use_scaling ? - EmitRescaledRowsRGBA(dec, rows_data, in_stride, io->mb_h, - rgba, buf->stride) : -#endif // WEBP_REDUCE_SIZE - EmitRows(output->colorspace, rows_data, in_stride, - io->mb_w, io->mb_h, rgba, buf->stride); - // Update 'last_out_row_'. - dec->last_out_row_ += num_rows_out; - } else { // convert to YUVA - dec->last_out_row_ = io->use_scaling ? - EmitRescaledRowsYUVA(dec, rows_data, in_stride, io->mb_h) : - EmitRowsYUVA(dec, rows_data, in_stride, io->mb_w, io->mb_h); - } - assert(dec->last_out_row_ <= output->height); - } - } - - // Update 'last_row_'. - dec->last_row_ = row; - assert(dec->last_row_ <= dec->height_); -} - -// Row-processing for the special case when alpha data contains only one -// transform (color indexing), and trivial non-green literals. -static int Is8bOptimizable(const VP8LMetadata* const hdr) { - int i; - if (hdr->color_cache_size_ > 0) return 0; - // When the Huffman tree contains only one symbol, we can skip the - // call to ReadSymbol() for red/blue/alpha channels. - for (i = 0; i < hdr->num_htree_groups_; ++i) { - HuffmanCode** const htrees = hdr->htree_groups_[i].htrees; - if (htrees[RED][0].bits > 0) return 0; - if (htrees[BLUE][0].bits > 0) return 0; - if (htrees[ALPHA][0].bits > 0) return 0; - } - return 1; -} - -static void AlphaApplyFilter(ALPHDecoder* const alph_dec, - int first_row, int last_row, - uint8_t* out, int stride) { - if (alph_dec->filter_ != WEBP_FILTER_NONE) { - int y; - const uint8_t* prev_line = alph_dec->prev_line_; - assert(WebPUnfilters[alph_dec->filter_] != NULL); - for (y = first_row; y < last_row; ++y) { - WebPUnfilters[alph_dec->filter_](prev_line, out, out, stride); - prev_line = out; - out += stride; - } - alph_dec->prev_line_ = prev_line; - } -} - -static void ExtractPalettedAlphaRows(VP8LDecoder* const dec, int last_row) { - // For vertical and gradient filtering, we need to decode the part above the - // crop_top row, in order to have the correct spatial predictors. - ALPHDecoder* const alph_dec = (ALPHDecoder*)dec->io_->opaque; - const int top_row = - (alph_dec->filter_ == WEBP_FILTER_NONE || - alph_dec->filter_ == WEBP_FILTER_HORIZONTAL) ? dec->io_->crop_top - : dec->last_row_; - const int first_row = (dec->last_row_ < top_row) ? top_row : dec->last_row_; - assert(last_row <= dec->io_->crop_bottom); - if (last_row > first_row) { - // Special method for paletted alpha data. We only process the cropped area. - const int width = dec->io_->width; - uint8_t* out = alph_dec->output_ + width * first_row; - const uint8_t* const in = - (uint8_t*)dec->pixels_ + dec->width_ * first_row; - VP8LTransform* const transform = &dec->transforms_[0]; - assert(dec->next_transform_ == 1); - assert(transform->type_ == COLOR_INDEXING_TRANSFORM); - VP8LColorIndexInverseTransformAlpha(transform, first_row, last_row, - in, out); - AlphaApplyFilter(alph_dec, first_row, last_row, out, width); - } - dec->last_row_ = dec->last_out_row_ = last_row; -} - -//------------------------------------------------------------------------------ -// Helper functions for fast pattern copy (8b and 32b) - -// cyclic rotation of pattern word -static WEBP_INLINE uint32_t Rotate8b(uint32_t V) { -#if defined(WORDS_BIGENDIAN) - return ((V & 0xff000000u) >> 24) | (V << 8); -#else - return ((V & 0xffu) << 24) | (V >> 8); -#endif -} - -// copy 1, 2 or 4-bytes pattern -static WEBP_INLINE void CopySmallPattern8b(const uint8_t* src, uint8_t* dst, - int length, uint32_t pattern) { - int i; - // align 'dst' to 4-bytes boundary. Adjust the pattern along the way. - while ((uintptr_t)dst & 3) { - *dst++ = *src++; - pattern = Rotate8b(pattern); - --length; - } - // Copy the pattern 4 bytes at a time. - for (i = 0; i < (length >> 2); ++i) { - ((uint32_t*)dst)[i] = pattern; - } - // Finish with left-overs. 'pattern' is still correctly positioned, - // so no Rotate8b() call is needed. - for (i <<= 2; i < length; ++i) { - dst[i] = src[i]; - } -} - -static WEBP_INLINE void CopyBlock8b(uint8_t* const dst, int dist, int length) { - const uint8_t* src = dst - dist; - if (length >= 8) { - uint32_t pattern = 0; - switch (dist) { - case 1: - pattern = src[0]; -#if defined(__arm__) || defined(_M_ARM) // arm doesn't like multiply that much - pattern |= pattern << 8; - pattern |= pattern << 16; -#elif defined(WEBP_USE_MIPS_DSP_R2) - __asm__ volatile ("replv.qb %0, %0" : "+r"(pattern)); -#else - pattern = 0x01010101u * pattern; -#endif - break; - case 2: -#if !defined(WORDS_BIGENDIAN) - memcpy(&pattern, src, sizeof(uint16_t)); -#else - pattern = ((uint32_t)src[0] << 8) | src[1]; -#endif -#if defined(__arm__) || defined(_M_ARM) - pattern |= pattern << 16; -#elif defined(WEBP_USE_MIPS_DSP_R2) - __asm__ volatile ("replv.ph %0, %0" : "+r"(pattern)); -#else - pattern = 0x00010001u * pattern; -#endif - break; - case 4: - memcpy(&pattern, src, sizeof(uint32_t)); - break; - default: - goto Copy; - break; - } - CopySmallPattern8b(src, dst, length, pattern); - return; - } - Copy: - if (dist >= length) { // no overlap -> use memcpy() - memcpy(dst, src, length * sizeof(*dst)); - } else { - int i; - for (i = 0; i < length; ++i) dst[i] = src[i]; - } -} - -// copy pattern of 1 or 2 uint32_t's -static WEBP_INLINE void CopySmallPattern32b(const uint32_t* src, - uint32_t* dst, - int length, uint64_t pattern) { - int i; - if ((uintptr_t)dst & 4) { // Align 'dst' to 8-bytes boundary. - *dst++ = *src++; - pattern = (pattern >> 32) | (pattern << 32); - --length; - } - assert(0 == ((uintptr_t)dst & 7)); - for (i = 0; i < (length >> 1); ++i) { - ((uint64_t*)dst)[i] = pattern; // Copy the pattern 8 bytes at a time. - } - if (length & 1) { // Finish with left-over. - dst[i << 1] = src[i << 1]; - } -} - -static WEBP_INLINE void CopyBlock32b(uint32_t* const dst, - int dist, int length) { - const uint32_t* const src = dst - dist; - if (dist <= 2 && length >= 4 && ((uintptr_t)dst & 3) == 0) { - uint64_t pattern; - if (dist == 1) { - pattern = (uint64_t)src[0]; - pattern |= pattern << 32; - } else { - memcpy(&pattern, src, sizeof(pattern)); - } - CopySmallPattern32b(src, dst, length, pattern); - } else if (dist >= length) { // no overlap - memcpy(dst, src, length * sizeof(*dst)); - } else { - int i; - for (i = 0; i < length; ++i) dst[i] = src[i]; - } -} - -//------------------------------------------------------------------------------ - -static int DecodeAlphaData(VP8LDecoder* const dec, uint8_t* const data, - int width, int height, int last_row) { - int ok = 1; - int row = dec->last_pixel_ / width; - int col = dec->last_pixel_ % width; - VP8LBitReader* const br = &dec->br_; - VP8LMetadata* const hdr = &dec->hdr_; - int pos = dec->last_pixel_; // current position - const int end = width * height; // End of data - const int last = width * last_row; // Last pixel to decode - const int len_code_limit = NUM_LITERAL_CODES + NUM_LENGTH_CODES; - const int mask = hdr->huffman_mask_; - const HTreeGroup* htree_group = - (pos < last) ? GetHtreeGroupForPos(hdr, col, row) : NULL; - assert(pos <= end); - assert(last_row <= height); - assert(Is8bOptimizable(hdr)); - - while (!br->eos_ && pos < last) { - int code; - // Only update when changing tile. - if ((col & mask) == 0) { - htree_group = GetHtreeGroupForPos(hdr, col, row); - } - assert(htree_group != NULL); - VP8LFillBitWindow(br); - code = ReadSymbol(htree_group->htrees[GREEN], br); - if (code < NUM_LITERAL_CODES) { // Literal - data[pos] = code; - ++pos; - ++col; - if (col >= width) { - col = 0; - ++row; - if (row <= last_row && (row % NUM_ARGB_CACHE_ROWS == 0)) { - ExtractPalettedAlphaRows(dec, row); - } - } - } else if (code < len_code_limit) { // Backward reference - int dist_code, dist; - const int length_sym = code - NUM_LITERAL_CODES; - const int length = GetCopyLength(length_sym, br); - const int dist_symbol = ReadSymbol(htree_group->htrees[DIST], br); - VP8LFillBitWindow(br); - dist_code = GetCopyDistance(dist_symbol, br); - dist = PlaneCodeToDistance(width, dist_code); - if (pos >= dist && end - pos >= length) { - CopyBlock8b(data + pos, dist, length); - } else { - ok = 0; - goto End; - } - pos += length; - col += length; - while (col >= width) { - col -= width; - ++row; - if (row <= last_row && (row % NUM_ARGB_CACHE_ROWS == 0)) { - ExtractPalettedAlphaRows(dec, row); - } - } - if (pos < last && (col & mask)) { - htree_group = GetHtreeGroupForPos(hdr, col, row); - } - } else { // Not reached - ok = 0; - goto End; - } - br->eos_ = VP8LIsEndOfStream(br); - } - // Process the remaining rows corresponding to last row-block. - ExtractPalettedAlphaRows(dec, row > last_row ? last_row : row); - - End: - br->eos_ = VP8LIsEndOfStream(br); - if (!ok || (br->eos_ && pos < end)) { - ok = 0; - dec->status_ = br->eos_ ? VP8_STATUS_SUSPENDED - : VP8_STATUS_BITSTREAM_ERROR; - } else { - dec->last_pixel_ = pos; - } - return ok; -} - -static void SaveState(VP8LDecoder* const dec, int last_pixel) { - assert(dec->incremental_); - dec->saved_br_ = dec->br_; - dec->saved_last_pixel_ = last_pixel; - if (dec->hdr_.color_cache_size_ > 0) { - VP8LColorCacheCopy(&dec->hdr_.color_cache_, &dec->hdr_.saved_color_cache_); - } -} - -static void RestoreState(VP8LDecoder* const dec) { - assert(dec->br_.eos_); - dec->status_ = VP8_STATUS_SUSPENDED; - dec->br_ = dec->saved_br_; - dec->last_pixel_ = dec->saved_last_pixel_; - if (dec->hdr_.color_cache_size_ > 0) { - VP8LColorCacheCopy(&dec->hdr_.saved_color_cache_, &dec->hdr_.color_cache_); - } -} - -#define SYNC_EVERY_N_ROWS 8 // minimum number of rows between check-points -static int DecodeImageData(VP8LDecoder* const dec, uint32_t* const data, - int width, int height, int last_row, - ProcessRowsFunc process_func) { - int row = dec->last_pixel_ / width; - int col = dec->last_pixel_ % width; - VP8LBitReader* const br = &dec->br_; - VP8LMetadata* const hdr = &dec->hdr_; - uint32_t* src = data + dec->last_pixel_; - uint32_t* last_cached = src; - uint32_t* const src_end = data + width * height; // End of data - uint32_t* const src_last = data + width * last_row; // Last pixel to decode - const int len_code_limit = NUM_LITERAL_CODES + NUM_LENGTH_CODES; - const int color_cache_limit = len_code_limit + hdr->color_cache_size_; - int next_sync_row = dec->incremental_ ? row : 1 << 24; - VP8LColorCache* const color_cache = - (hdr->color_cache_size_ > 0) ? &hdr->color_cache_ : NULL; - const int mask = hdr->huffman_mask_; - const HTreeGroup* htree_group = - (src < src_last) ? GetHtreeGroupForPos(hdr, col, row) : NULL; - assert(dec->last_row_ < last_row); - assert(src_last <= src_end); - - while (src < src_last) { - int code; - if (row >= next_sync_row) { - SaveState(dec, (int)(src - data)); - next_sync_row = row + SYNC_EVERY_N_ROWS; - } - // Only update when changing tile. Note we could use this test: - // if "((((prev_col ^ col) | prev_row ^ row)) > mask)" -> tile changed - // but that's actually slower and needs storing the previous col/row. - if ((col & mask) == 0) { - htree_group = GetHtreeGroupForPos(hdr, col, row); - } - assert(htree_group != NULL); - if (htree_group->is_trivial_code) { - *src = htree_group->literal_arb; - goto AdvanceByOne; - } - VP8LFillBitWindow(br); - if (htree_group->use_packed_table) { - code = ReadPackedSymbols(htree_group, br, src); - if (VP8LIsEndOfStream(br)) break; - if (code == PACKED_NON_LITERAL_CODE) goto AdvanceByOne; - } else { - code = ReadSymbol(htree_group->htrees[GREEN], br); - } - if (VP8LIsEndOfStream(br)) break; - if (code < NUM_LITERAL_CODES) { // Literal - if (htree_group->is_trivial_literal) { - *src = htree_group->literal_arb | (code << 8); - } else { - int red, blue, alpha; - red = ReadSymbol(htree_group->htrees[RED], br); - VP8LFillBitWindow(br); - blue = ReadSymbol(htree_group->htrees[BLUE], br); - alpha = ReadSymbol(htree_group->htrees[ALPHA], br); - if (VP8LIsEndOfStream(br)) break; - *src = ((uint32_t)alpha << 24) | (red << 16) | (code << 8) | blue; - } - AdvanceByOne: - ++src; - ++col; - if (col >= width) { - col = 0; - ++row; - if (process_func != NULL) { - if (row <= last_row && (row % NUM_ARGB_CACHE_ROWS == 0)) { - process_func(dec, row); - } - } - if (color_cache != NULL) { - while (last_cached < src) { - VP8LColorCacheInsert(color_cache, *last_cached++); - } - } - } - } else if (code < len_code_limit) { // Backward reference - int dist_code, dist; - const int length_sym = code - NUM_LITERAL_CODES; - const int length = GetCopyLength(length_sym, br); - const int dist_symbol = ReadSymbol(htree_group->htrees[DIST], br); - VP8LFillBitWindow(br); - dist_code = GetCopyDistance(dist_symbol, br); - dist = PlaneCodeToDistance(width, dist_code); - - if (VP8LIsEndOfStream(br)) break; - if (src - data < (ptrdiff_t)dist || src_end - src < (ptrdiff_t)length) { - goto Error; - } else { - CopyBlock32b(src, dist, length); - } - src += length; - col += length; - while (col >= width) { - col -= width; - ++row; - if (process_func != NULL) { - if (row <= last_row && (row % NUM_ARGB_CACHE_ROWS == 0)) { - process_func(dec, row); - } - } - } - // Because of the check done above (before 'src' was incremented by - // 'length'), the following holds true. - assert(src <= src_end); - if (col & mask) htree_group = GetHtreeGroupForPos(hdr, col, row); - if (color_cache != NULL) { - while (last_cached < src) { - VP8LColorCacheInsert(color_cache, *last_cached++); - } - } - } else if (code < color_cache_limit) { // Color cache - const int key = code - len_code_limit; - assert(color_cache != NULL); - while (last_cached < src) { - VP8LColorCacheInsert(color_cache, *last_cached++); - } - *src = VP8LColorCacheLookup(color_cache, key); - goto AdvanceByOne; - } else { // Not reached - goto Error; - } - } - - br->eos_ = VP8LIsEndOfStream(br); - if (dec->incremental_ && br->eos_ && src < src_end) { - RestoreState(dec); - } else if (!br->eos_) { - // Process the remaining rows corresponding to last row-block. - if (process_func != NULL) { - process_func(dec, row > last_row ? last_row : row); - } - dec->status_ = VP8_STATUS_OK; - dec->last_pixel_ = (int)(src - data); // end-of-scan marker - } else { - // if not incremental, and we are past the end of buffer (eos_=1), then this - // is a real bitstream error. - goto Error; - } - return 1; - - Error: - dec->status_ = VP8_STATUS_BITSTREAM_ERROR; - return 0; -} - -// ----------------------------------------------------------------------------- -// VP8LTransform - -static void ClearTransform(VP8LTransform* const transform) { - WebPSafeFree(transform->data_); - transform->data_ = NULL; -} - -// For security reason, we need to remap the color map to span -// the total possible bundled values, and not just the num_colors. -static int ExpandColorMap(int num_colors, VP8LTransform* const transform) { - int i; - const int final_num_colors = 1 << (8 >> transform->bits_); - uint32_t* const new_color_map = - (uint32_t*)WebPSafeMalloc((uint64_t)final_num_colors, - sizeof(*new_color_map)); - if (new_color_map == NULL) { - return 0; - } else { - uint8_t* const data = (uint8_t*)transform->data_; - uint8_t* const new_data = (uint8_t*)new_color_map; - new_color_map[0] = transform->data_[0]; - for (i = 4; i < 4 * num_colors; ++i) { - // Equivalent to AddPixelEq(), on a byte-basis. - new_data[i] = (data[i] + new_data[i - 4]) & 0xff; - } - for (; i < 4 * final_num_colors; ++i) { - new_data[i] = 0; // black tail. - } - WebPSafeFree(transform->data_); - transform->data_ = new_color_map; - } - return 1; -} - -static int ReadTransform(int* const xsize, int const* ysize, - VP8LDecoder* const dec) { - int ok = 1; - VP8LBitReader* const br = &dec->br_; - VP8LTransform* transform = &dec->transforms_[dec->next_transform_]; - const VP8LImageTransformType type = - (VP8LImageTransformType)VP8LReadBits(br, 2); - - // Each transform type can only be present once in the stream. - if (dec->transforms_seen_ & (1U << type)) { - return 0; // Already there, let's not accept the second same transform. - } - dec->transforms_seen_ |= (1U << type); - - transform->type_ = type; - transform->xsize_ = *xsize; - transform->ysize_ = *ysize; - transform->data_ = NULL; - ++dec->next_transform_; - assert(dec->next_transform_ <= NUM_TRANSFORMS); - - switch (type) { - case PREDICTOR_TRANSFORM: - case CROSS_COLOR_TRANSFORM: - transform->bits_ = VP8LReadBits(br, 3) + 2; - ok = DecodeImageStream(VP8LSubSampleSize(transform->xsize_, - transform->bits_), - VP8LSubSampleSize(transform->ysize_, - transform->bits_), - 0, dec, &transform->data_); - break; - case COLOR_INDEXING_TRANSFORM: { - const int num_colors = VP8LReadBits(br, 8) + 1; - const int bits = (num_colors > 16) ? 0 - : (num_colors > 4) ? 1 - : (num_colors > 2) ? 2 - : 3; - *xsize = VP8LSubSampleSize(transform->xsize_, bits); - transform->bits_ = bits; - ok = DecodeImageStream(num_colors, 1, 0, dec, &transform->data_); - ok = ok && ExpandColorMap(num_colors, transform); - break; - } - case SUBTRACT_GREEN: - break; - default: - assert(0); // can't happen - break; - } - - return ok; -} - -// ----------------------------------------------------------------------------- -// VP8LMetadata - -static void InitMetadata(VP8LMetadata* const hdr) { - assert(hdr != NULL); - memset(hdr, 0, sizeof(*hdr)); -} - -static void ClearMetadata(VP8LMetadata* const hdr) { - assert(hdr != NULL); - - WebPSafeFree(hdr->huffman_image_); - WebPSafeFree(hdr->huffman_tables_); - VP8LHtreeGroupsFree(hdr->htree_groups_); - VP8LColorCacheClear(&hdr->color_cache_); - VP8LColorCacheClear(&hdr->saved_color_cache_); - InitMetadata(hdr); -} - -// ----------------------------------------------------------------------------- -// VP8LDecoder - -VP8LDecoder* VP8LNew(void) { - VP8LDecoder* const dec = (VP8LDecoder*)WebPSafeCalloc(1ULL, sizeof(*dec)); - if (dec == NULL) return NULL; - dec->status_ = VP8_STATUS_OK; - dec->state_ = READ_DIM; - - VP8LDspInit(); // Init critical function pointers. - - return dec; -} - -void VP8LClear(VP8LDecoder* const dec) { - int i; - if (dec == NULL) return; - ClearMetadata(&dec->hdr_); - - WebPSafeFree(dec->pixels_); - dec->pixels_ = NULL; - for (i = 0; i < dec->next_transform_; ++i) { - ClearTransform(&dec->transforms_[i]); - } - dec->next_transform_ = 0; - dec->transforms_seen_ = 0; - - WebPSafeFree(dec->rescaler_memory); - dec->rescaler_memory = NULL; - - dec->output_ = NULL; // leave no trace behind -} - -void VP8LDelete(VP8LDecoder* const dec) { - if (dec != NULL) { - VP8LClear(dec); - WebPSafeFree(dec); - } -} - -static void UpdateDecoder(VP8LDecoder* const dec, int width, int height) { - VP8LMetadata* const hdr = &dec->hdr_; - const int num_bits = hdr->huffman_subsample_bits_; - dec->width_ = width; - dec->height_ = height; - - hdr->huffman_xsize_ = VP8LSubSampleSize(width, num_bits); - hdr->huffman_mask_ = (num_bits == 0) ? ~0 : (1 << num_bits) - 1; -} - -static int DecodeImageStream(int xsize, int ysize, - int is_level0, - VP8LDecoder* const dec, - uint32_t** const decoded_data) { - int ok = 1; - int transform_xsize = xsize; - int transform_ysize = ysize; - VP8LBitReader* const br = &dec->br_; - VP8LMetadata* const hdr = &dec->hdr_; - uint32_t* data = NULL; - int color_cache_bits = 0; - - // Read the transforms (may recurse). - if (is_level0) { - while (ok && VP8LReadBits(br, 1)) { - ok = ReadTransform(&transform_xsize, &transform_ysize, dec); - } - } - - // Color cache - if (ok && VP8LReadBits(br, 1)) { - color_cache_bits = VP8LReadBits(br, 4); - ok = (color_cache_bits >= 1 && color_cache_bits <= MAX_CACHE_BITS); - if (!ok) { - dec->status_ = VP8_STATUS_BITSTREAM_ERROR; - goto End; - } - } - - // Read the Huffman codes (may recurse). - ok = ok && ReadHuffmanCodes(dec, transform_xsize, transform_ysize, - color_cache_bits, is_level0); - if (!ok) { - dec->status_ = VP8_STATUS_BITSTREAM_ERROR; - goto End; - } - - // Finish setting up the color-cache - if (color_cache_bits > 0) { - hdr->color_cache_size_ = 1 << color_cache_bits; - if (!VP8LColorCacheInit(&hdr->color_cache_, color_cache_bits)) { - dec->status_ = VP8_STATUS_OUT_OF_MEMORY; - ok = 0; - goto End; - } - } else { - hdr->color_cache_size_ = 0; - } - UpdateDecoder(dec, transform_xsize, transform_ysize); - - if (is_level0) { // level 0 complete - dec->state_ = READ_HDR; - goto End; - } - - { - const uint64_t total_size = (uint64_t)transform_xsize * transform_ysize; - data = (uint32_t*)WebPSafeMalloc(total_size, sizeof(*data)); - if (data == NULL) { - dec->status_ = VP8_STATUS_OUT_OF_MEMORY; - ok = 0; - goto End; - } - } - - // Use the Huffman trees to decode the LZ77 encoded data. - ok = DecodeImageData(dec, data, transform_xsize, transform_ysize, - transform_ysize, NULL); - ok = ok && !br->eos_; - - End: - if (!ok) { - WebPSafeFree(data); - ClearMetadata(hdr); - } else { - if (decoded_data != NULL) { - *decoded_data = data; - } else { - // We allocate image data in this function only for transforms. At level 0 - // (that is: not the transforms), we shouldn't have allocated anything. - assert(data == NULL); - assert(is_level0); - } - dec->last_pixel_ = 0; // Reset for future DECODE_DATA_FUNC() calls. - if (!is_level0) ClearMetadata(hdr); // Clean up temporary data behind. - } - return ok; -} - -//------------------------------------------------------------------------------ -// Allocate internal buffers dec->pixels_ and dec->argb_cache_. -static int AllocateInternalBuffers32b(VP8LDecoder* const dec, int final_width) { - const uint64_t num_pixels = (uint64_t)dec->width_ * dec->height_; - // Scratch buffer corresponding to top-prediction row for transforming the - // first row in the row-blocks. Not needed for paletted alpha. - const uint64_t cache_top_pixels = (uint16_t)final_width; - // Scratch buffer for temporary BGRA storage. Not needed for paletted alpha. - const uint64_t cache_pixels = (uint64_t)final_width * NUM_ARGB_CACHE_ROWS; - const uint64_t total_num_pixels = - num_pixels + cache_top_pixels + cache_pixels; - - assert(dec->width_ <= final_width); - dec->pixels_ = (uint32_t*)WebPSafeMalloc(total_num_pixels, sizeof(uint32_t)); - if (dec->pixels_ == NULL) { - dec->argb_cache_ = NULL; // for sanity check - dec->status_ = VP8_STATUS_OUT_OF_MEMORY; - return 0; - } - dec->argb_cache_ = dec->pixels_ + num_pixels + cache_top_pixels; - return 1; -} - -static int AllocateInternalBuffers8b(VP8LDecoder* const dec) { - const uint64_t total_num_pixels = (uint64_t)dec->width_ * dec->height_; - dec->argb_cache_ = NULL; // for sanity check - dec->pixels_ = (uint32_t*)WebPSafeMalloc(total_num_pixels, sizeof(uint8_t)); - if (dec->pixels_ == NULL) { - dec->status_ = VP8_STATUS_OUT_OF_MEMORY; - return 0; - } - return 1; -} - -//------------------------------------------------------------------------------ - -// Special row-processing that only stores the alpha data. -static void ExtractAlphaRows(VP8LDecoder* const dec, int last_row) { - int cur_row = dec->last_row_; - int num_rows = last_row - cur_row; - const uint32_t* in = dec->pixels_ + dec->width_ * cur_row; - - assert(last_row <= dec->io_->crop_bottom); - while (num_rows > 0) { - const int num_rows_to_process = - (num_rows > NUM_ARGB_CACHE_ROWS) ? NUM_ARGB_CACHE_ROWS : num_rows; - // Extract alpha (which is stored in the green plane). - ALPHDecoder* const alph_dec = (ALPHDecoder*)dec->io_->opaque; - uint8_t* const output = alph_dec->output_; - const int width = dec->io_->width; // the final width (!= dec->width_) - const int cache_pixs = width * num_rows_to_process; - uint8_t* const dst = output + width * cur_row; - const uint32_t* const src = dec->argb_cache_; - ApplyInverseTransforms(dec, cur_row, num_rows_to_process, in); - WebPExtractGreen(src, dst, cache_pixs); - AlphaApplyFilter(alph_dec, - cur_row, cur_row + num_rows_to_process, dst, width); - num_rows -= num_rows_to_process; - in += num_rows_to_process * dec->width_; - cur_row += num_rows_to_process; - } - assert(cur_row == last_row); - dec->last_row_ = dec->last_out_row_ = last_row; -} - -int VP8LDecodeAlphaHeader(ALPHDecoder* const alph_dec, - const uint8_t* const data, size_t data_size) { - int ok = 0; - VP8LDecoder* dec = VP8LNew(); - - if (dec == NULL) return 0; - - assert(alph_dec != NULL); - - dec->width_ = alph_dec->width_; - dec->height_ = alph_dec->height_; - dec->io_ = &alph_dec->io_; - dec->io_->opaque = alph_dec; - dec->io_->width = alph_dec->width_; - dec->io_->height = alph_dec->height_; - - dec->status_ = VP8_STATUS_OK; - VP8LInitBitReader(&dec->br_, data, data_size); - - if (!DecodeImageStream(alph_dec->width_, alph_dec->height_, 1, dec, NULL)) { - goto Err; - } - - // Special case: if alpha data uses only the color indexing transform and - // doesn't use color cache (a frequent case), we will use DecodeAlphaData() - // method that only needs allocation of 1 byte per pixel (alpha channel). - if (dec->next_transform_ == 1 && - dec->transforms_[0].type_ == COLOR_INDEXING_TRANSFORM && - Is8bOptimizable(&dec->hdr_)) { - alph_dec->use_8b_decode_ = 1; - ok = AllocateInternalBuffers8b(dec); - } else { - // Allocate internal buffers (note that dec->width_ may have changed here). - alph_dec->use_8b_decode_ = 0; - ok = AllocateInternalBuffers32b(dec, alph_dec->width_); - } - - if (!ok) goto Err; - - // Only set here, once we are sure it is valid (to avoid thread races). - alph_dec->vp8l_dec_ = dec; - return 1; - - Err: - VP8LDelete(dec); - return 0; -} - -int VP8LDecodeAlphaImageStream(ALPHDecoder* const alph_dec, int last_row) { - VP8LDecoder* const dec = alph_dec->vp8l_dec_; - assert(dec != NULL); - assert(last_row <= dec->height_); - - if (dec->last_row_ >= last_row) { - return 1; // done - } - - if (!alph_dec->use_8b_decode_) WebPInitAlphaProcessing(); - - // Decode (with special row processing). - return alph_dec->use_8b_decode_ ? - DecodeAlphaData(dec, (uint8_t*)dec->pixels_, dec->width_, dec->height_, - last_row) : - DecodeImageData(dec, dec->pixels_, dec->width_, dec->height_, - last_row, ExtractAlphaRows); -} - -//------------------------------------------------------------------------------ - -int VP8LDecodeHeader(VP8LDecoder* const dec, VP8Io* const io) { - int width, height, has_alpha; - - if (dec == NULL) return 0; - if (io == NULL) { - dec->status_ = VP8_STATUS_INVALID_PARAM; - return 0; - } - - dec->io_ = io; - dec->status_ = VP8_STATUS_OK; - VP8LInitBitReader(&dec->br_, io->data, io->data_size); - if (!ReadImageInfo(&dec->br_, &width, &height, &has_alpha)) { - dec->status_ = VP8_STATUS_BITSTREAM_ERROR; - goto Error; - } - dec->state_ = READ_DIM; - io->width = width; - io->height = height; - - if (!DecodeImageStream(width, height, 1, dec, NULL)) goto Error; - return 1; - - Error: - VP8LClear(dec); - assert(dec->status_ != VP8_STATUS_OK); - return 0; -} - -int VP8LDecodeImage(VP8LDecoder* const dec) { - VP8Io* io = NULL; - WebPDecParams* params = NULL; - - // Sanity checks. - if (dec == NULL) return 0; - - assert(dec->hdr_.huffman_tables_ != NULL); - assert(dec->hdr_.htree_groups_ != NULL); - assert(dec->hdr_.num_htree_groups_ > 0); - - io = dec->io_; - assert(io != NULL); - params = (WebPDecParams*)io->opaque; - assert(params != NULL); - - // Initialization. - if (dec->state_ != READ_DATA) { - dec->output_ = params->output; - assert(dec->output_ != NULL); - - if (!WebPIoInitFromOptions(params->options, io, MODE_BGRA)) { - dec->status_ = VP8_STATUS_INVALID_PARAM; - goto Err; - } - - if (!AllocateInternalBuffers32b(dec, io->width)) goto Err; - -#if !defined(WEBP_REDUCE_SIZE) - if (io->use_scaling && !AllocateAndInitRescaler(dec, io)) goto Err; -#else - if (io->use_scaling) { - dec->status_ = VP8_STATUS_INVALID_PARAM; - goto Err; - } -#endif - if (io->use_scaling || WebPIsPremultipliedMode(dec->output_->colorspace)) { - // need the alpha-multiply functions for premultiplied output or rescaling - WebPInitAlphaProcessing(); - } - - if (!WebPIsRGBMode(dec->output_->colorspace)) { - WebPInitConvertARGBToYUV(); - if (dec->output_->u.YUVA.a != NULL) WebPInitAlphaProcessing(); - } - if (dec->incremental_) { - if (dec->hdr_.color_cache_size_ > 0 && - dec->hdr_.saved_color_cache_.colors_ == NULL) { - if (!VP8LColorCacheInit(&dec->hdr_.saved_color_cache_, - dec->hdr_.color_cache_.hash_bits_)) { - dec->status_ = VP8_STATUS_OUT_OF_MEMORY; - goto Err; - } - } - } - dec->state_ = READ_DATA; - } - - // Decode. - if (!DecodeImageData(dec, dec->pixels_, dec->width_, dec->height_, - io->crop_bottom, ProcessRows)) { - goto Err; - } - - params->last_y = dec->last_out_row_; - return 1; - - Err: - VP8LClear(dec); - assert(dec->status_ != VP8_STATUS_OK); - return 0; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h deleted file mode 100644 index 72b2e861..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Lossless decoder: internal header. -// -// Author: Skal (pascal.massimino@gmail.com) -// Vikas Arora(vikaas.arora@gmail.com) - -#ifndef WEBP_DEC_VP8LI_DEC_H_ -#define WEBP_DEC_VP8LI_DEC_H_ - -#include // for memcpy() -#include "src/dec/webpi_dec.h" -#include "src/utils/bit_reader_utils.h" -#include "src/utils/color_cache_utils.h" -#include "src/utils/huffman_utils.h" - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - READ_DATA = 0, - READ_HDR = 1, - READ_DIM = 2 -} VP8LDecodeState; - -typedef struct VP8LTransform VP8LTransform; -struct VP8LTransform { - VP8LImageTransformType type_; // transform type. - int bits_; // subsampling bits defining transform window. - int xsize_; // transform window X index. - int ysize_; // transform window Y index. - uint32_t* data_; // transform data. -}; - -typedef struct { - int color_cache_size_; - VP8LColorCache color_cache_; - VP8LColorCache saved_color_cache_; // for incremental - - int huffman_mask_; - int huffman_subsample_bits_; - int huffman_xsize_; - uint32_t* huffman_image_; - int num_htree_groups_; - HTreeGroup* htree_groups_; - HuffmanCode* huffman_tables_; -} VP8LMetadata; - -typedef struct VP8LDecoder VP8LDecoder; -struct VP8LDecoder { - VP8StatusCode status_; - VP8LDecodeState state_; - VP8Io* io_; - - const WebPDecBuffer* output_; // shortcut to io->opaque->output - - uint32_t* pixels_; // Internal data: either uint8_t* for alpha - // or uint32_t* for BGRA. - uint32_t* argb_cache_; // Scratch buffer for temporary BGRA storage. - - VP8LBitReader br_; - int incremental_; // if true, incremental decoding is expected - VP8LBitReader saved_br_; // note: could be local variables too - int saved_last_pixel_; - - int width_; - int height_; - int last_row_; // last input row decoded so far. - int last_pixel_; // last pixel decoded so far. However, it may - // not be transformed, scaled and - // color-converted yet. - int last_out_row_; // last row output so far. - - VP8LMetadata hdr_; - - int next_transform_; - VP8LTransform transforms_[NUM_TRANSFORMS]; - // or'd bitset storing the transforms types. - uint32_t transforms_seen_; - - uint8_t* rescaler_memory; // Working memory for rescaling work. - WebPRescaler* rescaler; // Common rescaler for all channels. -}; - -//------------------------------------------------------------------------------ -// internal functions. Not public. - -struct ALPHDecoder; // Defined in dec/alphai.h. - -// in vp8l.c - -// Decodes image header for alpha data stored using lossless compression. -// Returns false in case of error. -int VP8LDecodeAlphaHeader(struct ALPHDecoder* const alph_dec, - const uint8_t* const data, size_t data_size); - -// Decodes *at least* 'last_row' rows of alpha. If some of the initial rows are -// already decoded in previous call(s), it will resume decoding from where it -// was paused. -// Returns false in case of bitstream error. -int VP8LDecodeAlphaImageStream(struct ALPHDecoder* const alph_dec, - int last_row); - -// Allocates and initialize a new lossless decoder instance. -VP8LDecoder* VP8LNew(void); - -// Decodes the image header. Returns false in case of error. -int VP8LDecodeHeader(VP8LDecoder* const dec, VP8Io* const io); - -// Decodes an image. It's required to decode the lossless header before calling -// this function. Returns false in case of error, with updated dec->status_. -int VP8LDecodeImage(VP8LDecoder* const dec); - -// Resets the decoder in its initial state, reclaiming memory. -// Preserves the dec->status_ value. -void VP8LClear(VP8LDecoder* const dec); - -// Clears and deallocate a lossless decoder instance. -void VP8LDelete(VP8LDecoder* const dec); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DEC_VP8LI_DEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/webp_dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/webp_dec.c deleted file mode 100644 index 42d09887..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/webp_dec.c +++ /dev/null @@ -1,845 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WEBP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include - -#include "src/dec/vp8i_dec.h" -#include "src/dec/vp8li_dec.h" -#include "src/dec/webpi_dec.h" -#include "src/utils/utils.h" -#include "src/webp/mux_types.h" // ALPHA_FLAG - -//------------------------------------------------------------------------------ -// RIFF layout is: -// Offset tag -// 0...3 "RIFF" 4-byte tag -// 4...7 size of image data (including metadata) starting at offset 8 -// 8...11 "WEBP" our form-type signature -// The RIFF container (12 bytes) is followed by appropriate chunks: -// 12..15 "VP8 ": 4-bytes tags, signaling the use of VP8 video format -// 16..19 size of the raw VP8 image data, starting at offset 20 -// 20.... the VP8 bytes -// Or, -// 12..15 "VP8L": 4-bytes tags, signaling the use of VP8L lossless format -// 16..19 size of the raw VP8L image data, starting at offset 20 -// 20.... the VP8L bytes -// Or, -// 12..15 "VP8X": 4-bytes tags, describing the extended-VP8 chunk. -// 16..19 size of the VP8X chunk starting at offset 20. -// 20..23 VP8X flags bit-map corresponding to the chunk-types present. -// 24..26 Width of the Canvas Image. -// 27..29 Height of the Canvas Image. -// There can be extra chunks after the "VP8X" chunk (ICCP, ANMF, VP8, VP8L, -// XMP, EXIF ...) -// All sizes are in little-endian order. -// Note: chunk data size must be padded to multiple of 2 when written. - -// Validates the RIFF container (if detected) and skips over it. -// If a RIFF container is detected, returns: -// VP8_STATUS_BITSTREAM_ERROR for invalid header, -// VP8_STATUS_NOT_ENOUGH_DATA for truncated data if have_all_data is true, -// and VP8_STATUS_OK otherwise. -// In case there are not enough bytes (partial RIFF container), return 0 for -// *riff_size. Else return the RIFF size extracted from the header. -static VP8StatusCode ParseRIFF(const uint8_t** const data, - size_t* const data_size, int have_all_data, - size_t* const riff_size) { - assert(data != NULL); - assert(data_size != NULL); - assert(riff_size != NULL); - - *riff_size = 0; // Default: no RIFF present. - if (*data_size >= RIFF_HEADER_SIZE && !memcmp(*data, "RIFF", TAG_SIZE)) { - if (memcmp(*data + 8, "WEBP", TAG_SIZE)) { - return VP8_STATUS_BITSTREAM_ERROR; // Wrong image file signature. - } else { - const uint32_t size = GetLE32(*data + TAG_SIZE); - // Check that we have at least one chunk (i.e "WEBP" + "VP8?nnnn"). - if (size < TAG_SIZE + CHUNK_HEADER_SIZE) { - return VP8_STATUS_BITSTREAM_ERROR; - } - if (size > MAX_CHUNK_PAYLOAD) { - return VP8_STATUS_BITSTREAM_ERROR; - } - if (have_all_data && (size > *data_size - CHUNK_HEADER_SIZE)) { - return VP8_STATUS_NOT_ENOUGH_DATA; // Truncated bitstream. - } - // We have a RIFF container. Skip it. - *riff_size = size; - *data += RIFF_HEADER_SIZE; - *data_size -= RIFF_HEADER_SIZE; - } - } - return VP8_STATUS_OK; -} - -// Validates the VP8X header and skips over it. -// Returns VP8_STATUS_BITSTREAM_ERROR for invalid VP8X header, -// VP8_STATUS_NOT_ENOUGH_DATA in case of insufficient data, and -// VP8_STATUS_OK otherwise. -// If a VP8X chunk is found, found_vp8x is set to true and *width_ptr, -// *height_ptr and *flags_ptr are set to the corresponding values extracted -// from the VP8X chunk. -static VP8StatusCode ParseVP8X(const uint8_t** const data, - size_t* const data_size, - int* const found_vp8x, - int* const width_ptr, int* const height_ptr, - uint32_t* const flags_ptr) { - const uint32_t vp8x_size = CHUNK_HEADER_SIZE + VP8X_CHUNK_SIZE; - assert(data != NULL); - assert(data_size != NULL); - assert(found_vp8x != NULL); - - *found_vp8x = 0; - - if (*data_size < CHUNK_HEADER_SIZE) { - return VP8_STATUS_NOT_ENOUGH_DATA; // Insufficient data. - } - - if (!memcmp(*data, "VP8X", TAG_SIZE)) { - int width, height; - uint32_t flags; - const uint32_t chunk_size = GetLE32(*data + TAG_SIZE); - if (chunk_size != VP8X_CHUNK_SIZE) { - return VP8_STATUS_BITSTREAM_ERROR; // Wrong chunk size. - } - - // Verify if enough data is available to validate the VP8X chunk. - if (*data_size < vp8x_size) { - return VP8_STATUS_NOT_ENOUGH_DATA; // Insufficient data. - } - flags = GetLE32(*data + 8); - width = 1 + GetLE24(*data + 12); - height = 1 + GetLE24(*data + 15); - if (width * (uint64_t)height >= MAX_IMAGE_AREA) { - return VP8_STATUS_BITSTREAM_ERROR; // image is too large - } - - if (flags_ptr != NULL) *flags_ptr = flags; - if (width_ptr != NULL) *width_ptr = width; - if (height_ptr != NULL) *height_ptr = height; - // Skip over VP8X header bytes. - *data += vp8x_size; - *data_size -= vp8x_size; - *found_vp8x = 1; - } - return VP8_STATUS_OK; -} - -// Skips to the next VP8/VP8L chunk header in the data given the size of the -// RIFF chunk 'riff_size'. -// Returns VP8_STATUS_BITSTREAM_ERROR if any invalid chunk size is encountered, -// VP8_STATUS_NOT_ENOUGH_DATA in case of insufficient data, and -// VP8_STATUS_OK otherwise. -// If an alpha chunk is found, *alpha_data and *alpha_size are set -// appropriately. -static VP8StatusCode ParseOptionalChunks(const uint8_t** const data, - size_t* const data_size, - size_t const riff_size, - const uint8_t** const alpha_data, - size_t* const alpha_size) { - const uint8_t* buf; - size_t buf_size; - uint32_t total_size = TAG_SIZE + // "WEBP". - CHUNK_HEADER_SIZE + // "VP8Xnnnn". - VP8X_CHUNK_SIZE; // data. - assert(data != NULL); - assert(data_size != NULL); - buf = *data; - buf_size = *data_size; - - assert(alpha_data != NULL); - assert(alpha_size != NULL); - *alpha_data = NULL; - *alpha_size = 0; - - while (1) { - uint32_t chunk_size; - uint32_t disk_chunk_size; // chunk_size with padding - - *data = buf; - *data_size = buf_size; - - if (buf_size < CHUNK_HEADER_SIZE) { // Insufficient data. - return VP8_STATUS_NOT_ENOUGH_DATA; - } - - chunk_size = GetLE32(buf + TAG_SIZE); - if (chunk_size > MAX_CHUNK_PAYLOAD) { - return VP8_STATUS_BITSTREAM_ERROR; // Not a valid chunk size. - } - // For odd-sized chunk-payload, there's one byte padding at the end. - disk_chunk_size = (CHUNK_HEADER_SIZE + chunk_size + 1) & ~1; - total_size += disk_chunk_size; - - // Check that total bytes skipped so far does not exceed riff_size. - if (riff_size > 0 && (total_size > riff_size)) { - return VP8_STATUS_BITSTREAM_ERROR; // Not a valid chunk size. - } - - // Start of a (possibly incomplete) VP8/VP8L chunk implies that we have - // parsed all the optional chunks. - // Note: This check must occur before the check 'buf_size < disk_chunk_size' - // below to allow incomplete VP8/VP8L chunks. - if (!memcmp(buf, "VP8 ", TAG_SIZE) || - !memcmp(buf, "VP8L", TAG_SIZE)) { - return VP8_STATUS_OK; - } - - if (buf_size < disk_chunk_size) { // Insufficient data. - return VP8_STATUS_NOT_ENOUGH_DATA; - } - - if (!memcmp(buf, "ALPH", TAG_SIZE)) { // A valid ALPH header. - *alpha_data = buf + CHUNK_HEADER_SIZE; - *alpha_size = chunk_size; - } - - // We have a full and valid chunk; skip it. - buf += disk_chunk_size; - buf_size -= disk_chunk_size; - } -} - -// Validates the VP8/VP8L Header ("VP8 nnnn" or "VP8L nnnn") and skips over it. -// Returns VP8_STATUS_BITSTREAM_ERROR for invalid (chunk larger than -// riff_size) VP8/VP8L header, -// VP8_STATUS_NOT_ENOUGH_DATA in case of insufficient data, and -// VP8_STATUS_OK otherwise. -// If a VP8/VP8L chunk is found, *chunk_size is set to the total number of bytes -// extracted from the VP8/VP8L chunk header. -// The flag '*is_lossless' is set to 1 in case of VP8L chunk / raw VP8L data. -static VP8StatusCode ParseVP8Header(const uint8_t** const data_ptr, - size_t* const data_size, int have_all_data, - size_t riff_size, size_t* const chunk_size, - int* const is_lossless) { - const uint8_t* const data = *data_ptr; - const int is_vp8 = !memcmp(data, "VP8 ", TAG_SIZE); - const int is_vp8l = !memcmp(data, "VP8L", TAG_SIZE); - const uint32_t minimal_size = - TAG_SIZE + CHUNK_HEADER_SIZE; // "WEBP" + "VP8 nnnn" OR - // "WEBP" + "VP8Lnnnn" - assert(data != NULL); - assert(data_size != NULL); - assert(chunk_size != NULL); - assert(is_lossless != NULL); - - if (*data_size < CHUNK_HEADER_SIZE) { - return VP8_STATUS_NOT_ENOUGH_DATA; // Insufficient data. - } - - if (is_vp8 || is_vp8l) { - // Bitstream contains VP8/VP8L header. - const uint32_t size = GetLE32(data + TAG_SIZE); - if ((riff_size >= minimal_size) && (size > riff_size - minimal_size)) { - return VP8_STATUS_BITSTREAM_ERROR; // Inconsistent size information. - } - if (have_all_data && (size > *data_size - CHUNK_HEADER_SIZE)) { - return VP8_STATUS_NOT_ENOUGH_DATA; // Truncated bitstream. - } - // Skip over CHUNK_HEADER_SIZE bytes from VP8/VP8L Header. - *chunk_size = size; - *data_ptr += CHUNK_HEADER_SIZE; - *data_size -= CHUNK_HEADER_SIZE; - *is_lossless = is_vp8l; - } else { - // Raw VP8/VP8L bitstream (no header). - *is_lossless = VP8LCheckSignature(data, *data_size); - *chunk_size = *data_size; - } - - return VP8_STATUS_OK; -} - -//------------------------------------------------------------------------------ - -// Fetch '*width', '*height', '*has_alpha' and fill out 'headers' based on -// 'data'. All the output parameters may be NULL. If 'headers' is NULL only the -// minimal amount will be read to fetch the remaining parameters. -// If 'headers' is non-NULL this function will attempt to locate both alpha -// data (with or without a VP8X chunk) and the bitstream chunk (VP8/VP8L). -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -static VP8StatusCode ParseHeadersInternal(const uint8_t* data, - size_t data_size, - int* const width, - int* const height, - int* const has_alpha, - int* const has_animation, - int* const format, - WebPHeaderStructure* const headers) { - int canvas_width = 0; - int canvas_height = 0; - int image_width = 0; - int image_height = 0; - int found_riff = 0; - int found_vp8x = 0; - int animation_present = 0; - const int have_all_data = (headers != NULL) ? headers->have_all_data : 0; - - VP8StatusCode status; - WebPHeaderStructure hdrs; - - if (data == NULL || data_size < RIFF_HEADER_SIZE) { - return VP8_STATUS_NOT_ENOUGH_DATA; - } - memset(&hdrs, 0, sizeof(hdrs)); - hdrs.data = data; - hdrs.data_size = data_size; - - // Skip over RIFF header. - status = ParseRIFF(&data, &data_size, have_all_data, &hdrs.riff_size); - if (status != VP8_STATUS_OK) { - return status; // Wrong RIFF header / insufficient data. - } - found_riff = (hdrs.riff_size > 0); - - // Skip over VP8X. - { - uint32_t flags = 0; - status = ParseVP8X(&data, &data_size, &found_vp8x, - &canvas_width, &canvas_height, &flags); - if (status != VP8_STATUS_OK) { - return status; // Wrong VP8X / insufficient data. - } - animation_present = !!(flags & ANIMATION_FLAG); - if (!found_riff && found_vp8x) { - // Note: This restriction may be removed in the future, if it becomes - // necessary to send VP8X chunk to the decoder. - return VP8_STATUS_BITSTREAM_ERROR; - } - if (has_alpha != NULL) *has_alpha = !!(flags & ALPHA_FLAG); - if (has_animation != NULL) *has_animation = animation_present; - if (format != NULL) *format = 0; // default = undefined - - image_width = canvas_width; - image_height = canvas_height; - if (found_vp8x && animation_present && headers == NULL) { - status = VP8_STATUS_OK; - goto ReturnWidthHeight; // Just return features from VP8X header. - } - } - - if (data_size < TAG_SIZE) { - status = VP8_STATUS_NOT_ENOUGH_DATA; - goto ReturnWidthHeight; - } - - // Skip over optional chunks if data started with "RIFF + VP8X" or "ALPH". - if ((found_riff && found_vp8x) || - (!found_riff && !found_vp8x && !memcmp(data, "ALPH", TAG_SIZE))) { - status = ParseOptionalChunks(&data, &data_size, hdrs.riff_size, - &hdrs.alpha_data, &hdrs.alpha_data_size); - if (status != VP8_STATUS_OK) { - goto ReturnWidthHeight; // Invalid chunk size / insufficient data. - } - } - - // Skip over VP8/VP8L header. - status = ParseVP8Header(&data, &data_size, have_all_data, hdrs.riff_size, - &hdrs.compressed_size, &hdrs.is_lossless); - if (status != VP8_STATUS_OK) { - goto ReturnWidthHeight; // Wrong VP8/VP8L chunk-header / insufficient data. - } - if (hdrs.compressed_size > MAX_CHUNK_PAYLOAD) { - return VP8_STATUS_BITSTREAM_ERROR; - } - - if (format != NULL && !animation_present) { - *format = hdrs.is_lossless ? 2 : 1; - } - - if (!hdrs.is_lossless) { - if (data_size < VP8_FRAME_HEADER_SIZE) { - status = VP8_STATUS_NOT_ENOUGH_DATA; - goto ReturnWidthHeight; - } - // Validates raw VP8 data. - if (!VP8GetInfo(data, data_size, (uint32_t)hdrs.compressed_size, - &image_width, &image_height)) { - return VP8_STATUS_BITSTREAM_ERROR; - } - } else { - if (data_size < VP8L_FRAME_HEADER_SIZE) { - status = VP8_STATUS_NOT_ENOUGH_DATA; - goto ReturnWidthHeight; - } - // Validates raw VP8L data. - if (!VP8LGetInfo(data, data_size, &image_width, &image_height, has_alpha)) { - return VP8_STATUS_BITSTREAM_ERROR; - } - } - // Validates image size coherency. - if (found_vp8x) { - if (canvas_width != image_width || canvas_height != image_height) { - return VP8_STATUS_BITSTREAM_ERROR; - } - } - if (headers != NULL) { - *headers = hdrs; - headers->offset = data - headers->data; - assert((uint64_t)(data - headers->data) < MAX_CHUNK_PAYLOAD); - assert(headers->offset == headers->data_size - data_size); - } - ReturnWidthHeight: - if (status == VP8_STATUS_OK || - (status == VP8_STATUS_NOT_ENOUGH_DATA && found_vp8x && headers == NULL)) { - if (has_alpha != NULL) { - // If the data did not contain a VP8X/VP8L chunk the only definitive way - // to set this is by looking for alpha data (from an ALPH chunk). - *has_alpha |= (hdrs.alpha_data != NULL); - } - if (width != NULL) *width = image_width; - if (height != NULL) *height = image_height; - return VP8_STATUS_OK; - } else { - return status; - } -} - -VP8StatusCode WebPParseHeaders(WebPHeaderStructure* const headers) { - // status is marked volatile as a workaround for a clang-3.8 (aarch64) bug - volatile VP8StatusCode status; - int has_animation = 0; - assert(headers != NULL); - // fill out headers, ignore width/height/has_alpha. - status = ParseHeadersInternal(headers->data, headers->data_size, - NULL, NULL, NULL, &has_animation, - NULL, headers); - if (status == VP8_STATUS_OK || status == VP8_STATUS_NOT_ENOUGH_DATA) { - // The WebPDemux API + libwebp can be used to decode individual - // uncomposited frames or the WebPAnimDecoder can be used to fully - // reconstruct them (see webp/demux.h). - if (has_animation) { - status = VP8_STATUS_UNSUPPORTED_FEATURE; - } - } - return status; -} - -//------------------------------------------------------------------------------ -// WebPDecParams - -void WebPResetDecParams(WebPDecParams* const params) { - if (params != NULL) { - memset(params, 0, sizeof(*params)); - } -} - -//------------------------------------------------------------------------------ -// "Into" decoding variants - -// Main flow -static VP8StatusCode DecodeInto(const uint8_t* const data, size_t data_size, - WebPDecParams* const params) { - VP8StatusCode status; - VP8Io io; - WebPHeaderStructure headers; - - headers.data = data; - headers.data_size = data_size; - headers.have_all_data = 1; - status = WebPParseHeaders(&headers); // Process Pre-VP8 chunks. - if (status != VP8_STATUS_OK) { - return status; - } - - assert(params != NULL); - VP8InitIo(&io); - io.data = headers.data + headers.offset; - io.data_size = headers.data_size - headers.offset; - WebPInitCustomIo(params, &io); // Plug the I/O functions. - - if (!headers.is_lossless) { - VP8Decoder* const dec = VP8New(); - if (dec == NULL) { - return VP8_STATUS_OUT_OF_MEMORY; - } - dec->alpha_data_ = headers.alpha_data; - dec->alpha_data_size_ = headers.alpha_data_size; - - // Decode bitstream header, update io->width/io->height. - if (!VP8GetHeaders(dec, &io)) { - status = dec->status_; // An error occurred. Grab error status. - } else { - // Allocate/check output buffers. - status = WebPAllocateDecBuffer(io.width, io.height, params->options, - params->output); - if (status == VP8_STATUS_OK) { // Decode - // This change must be done before calling VP8Decode() - dec->mt_method_ = VP8GetThreadMethod(params->options, &headers, - io.width, io.height); - VP8InitDithering(params->options, dec); - if (!VP8Decode(dec, &io)) { - status = dec->status_; - } - } - } - VP8Delete(dec); - } else { - VP8LDecoder* const dec = VP8LNew(); - if (dec == NULL) { - return VP8_STATUS_OUT_OF_MEMORY; - } - if (!VP8LDecodeHeader(dec, &io)) { - status = dec->status_; // An error occurred. Grab error status. - } else { - // Allocate/check output buffers. - status = WebPAllocateDecBuffer(io.width, io.height, params->options, - params->output); - if (status == VP8_STATUS_OK) { // Decode - if (!VP8LDecodeImage(dec)) { - status = dec->status_; - } - } - } - VP8LDelete(dec); - } - - if (status != VP8_STATUS_OK) { - WebPFreeDecBuffer(params->output); - } else { - if (params->options != NULL && params->options->flip) { - // This restores the original stride values if options->flip was used - // during the call to WebPAllocateDecBuffer above. - status = WebPFlipBuffer(params->output); - } - } - return status; -} - -// Helpers -static uint8_t* DecodeIntoRGBABuffer(WEBP_CSP_MODE colorspace, - const uint8_t* const data, - size_t data_size, - uint8_t* const rgba, - int stride, size_t size) { - WebPDecParams params; - WebPDecBuffer buf; - if (rgba == NULL) { - return NULL; - } - WebPInitDecBuffer(&buf); - WebPResetDecParams(¶ms); - params.output = &buf; - buf.colorspace = colorspace; - buf.u.RGBA.rgba = rgba; - buf.u.RGBA.stride = stride; - buf.u.RGBA.size = size; - buf.is_external_memory = 1; - if (DecodeInto(data, data_size, ¶ms) != VP8_STATUS_OK) { - return NULL; - } - return rgba; -} - -uint8_t* WebPDecodeRGBInto(const uint8_t* data, size_t data_size, - uint8_t* output, size_t size, int stride) { - return DecodeIntoRGBABuffer(MODE_RGB, data, data_size, output, stride, size); -} - -uint8_t* WebPDecodeRGBAInto(const uint8_t* data, size_t data_size, - uint8_t* output, size_t size, int stride) { - return DecodeIntoRGBABuffer(MODE_RGBA, data, data_size, output, stride, size); -} - -uint8_t* WebPDecodeARGBInto(const uint8_t* data, size_t data_size, - uint8_t* output, size_t size, int stride) { - return DecodeIntoRGBABuffer(MODE_ARGB, data, data_size, output, stride, size); -} - -uint8_t* WebPDecodeBGRInto(const uint8_t* data, size_t data_size, - uint8_t* output, size_t size, int stride) { - return DecodeIntoRGBABuffer(MODE_BGR, data, data_size, output, stride, size); -} - -uint8_t* WebPDecodeBGRAInto(const uint8_t* data, size_t data_size, - uint8_t* output, size_t size, int stride) { - return DecodeIntoRGBABuffer(MODE_BGRA, data, data_size, output, stride, size); -} - -uint8_t* WebPDecodeYUVInto(const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride) { - WebPDecParams params; - WebPDecBuffer output; - if (luma == NULL) return NULL; - WebPInitDecBuffer(&output); - WebPResetDecParams(¶ms); - params.output = &output; - output.colorspace = MODE_YUV; - output.u.YUVA.y = luma; - output.u.YUVA.y_stride = luma_stride; - output.u.YUVA.y_size = luma_size; - output.u.YUVA.u = u; - output.u.YUVA.u_stride = u_stride; - output.u.YUVA.u_size = u_size; - output.u.YUVA.v = v; - output.u.YUVA.v_stride = v_stride; - output.u.YUVA.v_size = v_size; - output.is_external_memory = 1; - if (DecodeInto(data, data_size, ¶ms) != VP8_STATUS_OK) { - return NULL; - } - return luma; -} - -//------------------------------------------------------------------------------ - -static uint8_t* Decode(WEBP_CSP_MODE mode, const uint8_t* const data, - size_t data_size, int* const width, int* const height, - WebPDecBuffer* const keep_info) { - WebPDecParams params; - WebPDecBuffer output; - - WebPInitDecBuffer(&output); - WebPResetDecParams(¶ms); - params.output = &output; - output.colorspace = mode; - - // Retrieve (and report back) the required dimensions from bitstream. - if (!WebPGetInfo(data, data_size, &output.width, &output.height)) { - return NULL; - } - if (width != NULL) *width = output.width; - if (height != NULL) *height = output.height; - - // Decode - if (DecodeInto(data, data_size, ¶ms) != VP8_STATUS_OK) { - return NULL; - } - if (keep_info != NULL) { // keep track of the side-info - WebPCopyDecBuffer(&output, keep_info); - } - // return decoded samples (don't clear 'output'!) - return WebPIsRGBMode(mode) ? output.u.RGBA.rgba : output.u.YUVA.y; -} - -uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height) { - return Decode(MODE_RGB, data, data_size, width, height, NULL); -} - -uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height) { - return Decode(MODE_RGBA, data, data_size, width, height, NULL); -} - -uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height) { - return Decode(MODE_ARGB, data, data_size, width, height, NULL); -} - -uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height) { - return Decode(MODE_BGR, data, data_size, width, height, NULL); -} - -uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height) { - return Decode(MODE_BGRA, data, data_size, width, height, NULL); -} - -uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, uint8_t** u, uint8_t** v, - int* stride, int* uv_stride) { - WebPDecBuffer output; // only to preserve the side-infos - uint8_t* const out = Decode(MODE_YUV, data, data_size, - width, height, &output); - - if (out != NULL) { - const WebPYUVABuffer* const buf = &output.u.YUVA; - *u = buf->u; - *v = buf->v; - *stride = buf->y_stride; - *uv_stride = buf->u_stride; - assert(buf->u_stride == buf->v_stride); - } - return out; -} - -static void DefaultFeatures(WebPBitstreamFeatures* const features) { - assert(features != NULL); - memset(features, 0, sizeof(*features)); -} - -static VP8StatusCode GetFeatures(const uint8_t* const data, size_t data_size, - WebPBitstreamFeatures* const features) { - if (features == NULL || data == NULL) { - return VP8_STATUS_INVALID_PARAM; - } - DefaultFeatures(features); - - // Only parse enough of the data to retrieve the features. - return ParseHeadersInternal(data, data_size, - &features->width, &features->height, - &features->has_alpha, &features->has_animation, - &features->format, NULL); -} - -//------------------------------------------------------------------------------ -// WebPGetInfo() - -int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height) { - WebPBitstreamFeatures features; - - if (GetFeatures(data, data_size, &features) != VP8_STATUS_OK) { - return 0; - } - - if (width != NULL) { - *width = features.width; - } - if (height != NULL) { - *height = features.height; - } - - return 1; -} - -//------------------------------------------------------------------------------ -// Advance decoding API - -int WebPInitDecoderConfigInternal(WebPDecoderConfig* config, - int version) { - if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_DECODER_ABI_VERSION)) { - return 0; // version mismatch - } - if (config == NULL) { - return 0; - } - memset(config, 0, sizeof(*config)); - DefaultFeatures(&config->input); - WebPInitDecBuffer(&config->output); - return 1; -} - -VP8StatusCode WebPGetFeaturesInternal(const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features, - int version) { - if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_DECODER_ABI_VERSION)) { - return VP8_STATUS_INVALID_PARAM; // version mismatch - } - if (features == NULL) { - return VP8_STATUS_INVALID_PARAM; - } - return GetFeatures(data, data_size, features); -} - -VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config) { - WebPDecParams params; - VP8StatusCode status; - - if (config == NULL) { - return VP8_STATUS_INVALID_PARAM; - } - - status = GetFeatures(data, data_size, &config->input); - if (status != VP8_STATUS_OK) { - if (status == VP8_STATUS_NOT_ENOUGH_DATA) { - return VP8_STATUS_BITSTREAM_ERROR; // Not-enough-data treated as error. - } - return status; - } - - WebPResetDecParams(¶ms); - params.options = &config->options; - params.output = &config->output; - if (WebPAvoidSlowMemory(params.output, &config->input)) { - // decoding to slow memory: use a temporary in-mem buffer to decode into. - WebPDecBuffer in_mem_buffer; - WebPInitDecBuffer(&in_mem_buffer); - in_mem_buffer.colorspace = config->output.colorspace; - in_mem_buffer.width = config->input.width; - in_mem_buffer.height = config->input.height; - params.output = &in_mem_buffer; - status = DecodeInto(data, data_size, ¶ms); - if (status == VP8_STATUS_OK) { // do the slow-copy - status = WebPCopyDecBufferPixels(&in_mem_buffer, &config->output); - } - WebPFreeDecBuffer(&in_mem_buffer); - } else { - status = DecodeInto(data, data_size, ¶ms); - } - - return status; -} - -//------------------------------------------------------------------------------ -// Cropping and rescaling. - -int WebPIoInitFromOptions(const WebPDecoderOptions* const options, - VP8Io* const io, WEBP_CSP_MODE src_colorspace) { - const int W = io->width; - const int H = io->height; - int x = 0, y = 0, w = W, h = H; - - // Cropping - io->use_cropping = (options != NULL) && (options->use_cropping > 0); - if (io->use_cropping) { - w = options->crop_width; - h = options->crop_height; - x = options->crop_left; - y = options->crop_top; - if (!WebPIsRGBMode(src_colorspace)) { // only snap for YUV420 - x &= ~1; - y &= ~1; - } - if (x < 0 || y < 0 || w <= 0 || h <= 0 || x + w > W || y + h > H) { - return 0; // out of frame boundary error - } - } - io->crop_left = x; - io->crop_top = y; - io->crop_right = x + w; - io->crop_bottom = y + h; - io->mb_w = w; - io->mb_h = h; - - // Scaling - io->use_scaling = (options != NULL) && (options->use_scaling > 0); - if (io->use_scaling) { - int scaled_width = options->scaled_width; - int scaled_height = options->scaled_height; - if (!WebPRescalerGetScaledDimensions(w, h, &scaled_width, &scaled_height)) { - return 0; - } - io->scaled_width = scaled_width; - io->scaled_height = scaled_height; - } - - // Filter - io->bypass_filtering = (options != NULL) && options->bypass_filtering; - - // Fancy upsampler -#ifdef FANCY_UPSAMPLING - io->fancy_upsampling = (options == NULL) || (!options->no_fancy_upsampling); -#endif - - if (io->use_scaling) { - // disable filter (only for large downscaling ratio). - io->bypass_filtering = (io->scaled_width < W * 3 / 4) && - (io->scaled_height < H * 3 / 4); - io->fancy_upsampling = 0; - } - return 1; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/webpi_dec.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/webpi_dec.h deleted file mode 100644 index 24baff5d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dec/webpi_dec.h +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Internal header: WebP decoding parameters and custom IO on buffer -// -// Author: somnath@google.com (Somnath Banerjee) - -#ifndef WEBP_DEC_WEBPI_DEC_H_ -#define WEBP_DEC_WEBPI_DEC_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "src/utils/rescaler_utils.h" -#include "src/dec/vp8_dec.h" - -//------------------------------------------------------------------------------ -// WebPDecParams: Decoding output parameters. Transient internal object. - -typedef struct WebPDecParams WebPDecParams; -typedef int (*OutputFunc)(const VP8Io* const io, WebPDecParams* const p); -typedef int (*OutputAlphaFunc)(const VP8Io* const io, WebPDecParams* const p, - int expected_num_out_lines); -typedef int (*OutputRowFunc)(WebPDecParams* const p, int y_pos, - int max_out_lines); - -struct WebPDecParams { - WebPDecBuffer* output; // output buffer. - uint8_t* tmp_y, *tmp_u, *tmp_v; // cache for the fancy upsampler - // or used for tmp rescaling - - int last_y; // coordinate of the line that was last output - const WebPDecoderOptions* options; // if not NULL, use alt decoding features - - WebPRescaler* scaler_y, *scaler_u, *scaler_v, *scaler_a; // rescalers - void* memory; // overall scratch memory for the output work. - - OutputFunc emit; // output RGB or YUV samples - OutputAlphaFunc emit_alpha; // output alpha channel - OutputRowFunc emit_alpha_row; // output one line of rescaled alpha values -}; - -// Should be called first, before any use of the WebPDecParams object. -void WebPResetDecParams(WebPDecParams* const params); - -//------------------------------------------------------------------------------ -// Header parsing helpers - -// Structure storing a description of the RIFF headers. -typedef struct { - const uint8_t* data; // input buffer - size_t data_size; // input buffer size - int have_all_data; // true if all data is known to be available - size_t offset; // offset to main data chunk (VP8 or VP8L) - const uint8_t* alpha_data; // points to alpha chunk (if present) - size_t alpha_data_size; // alpha chunk size - size_t compressed_size; // VP8/VP8L compressed data size - size_t riff_size; // size of the riff payload (or 0 if absent) - int is_lossless; // true if a VP8L chunk is present -} WebPHeaderStructure; - -// Skips over all valid chunks prior to the first VP8/VP8L frame header. -// Returns: VP8_STATUS_OK, VP8_STATUS_BITSTREAM_ERROR (invalid header/chunk), -// VP8_STATUS_NOT_ENOUGH_DATA (partial input) or VP8_STATUS_UNSUPPORTED_FEATURE -// in the case of non-decodable features (animation for instance). -// In 'headers', compressed_size, offset, alpha_data, alpha_size, and lossless -// fields are updated appropriately upon success. -VP8StatusCode WebPParseHeaders(WebPHeaderStructure* const headers); - -//------------------------------------------------------------------------------ -// Misc utils - -// Initializes VP8Io with custom setup, io and teardown functions. The default -// hooks will use the supplied 'params' as io->opaque handle. -void WebPInitCustomIo(WebPDecParams* const params, VP8Io* const io); - -// Setup crop_xxx fields, mb_w and mb_h in io. 'src_colorspace' refers -// to the *compressed* format, not the output one. -int WebPIoInitFromOptions(const WebPDecoderOptions* const options, - VP8Io* const io, WEBP_CSP_MODE src_colorspace); - -//------------------------------------------------------------------------------ -// Internal functions regarding WebPDecBuffer memory (in buffer.c). -// Don't really need to be externally visible for now. - -// Prepare 'buffer' with the requested initial dimensions width/height. -// If no external storage is supplied, initializes buffer by allocating output -// memory and setting up the stride information. Validate the parameters. Return -// an error code in case of problem (no memory, or invalid stride / size / -// dimension / etc.). If *options is not NULL, also verify that the options' -// parameters are valid and apply them to the width/height dimensions of the -// output buffer. This takes cropping / scaling / rotation into account. -// Also incorporates the options->flip flag to flip the buffer parameters if -// needed. -VP8StatusCode WebPAllocateDecBuffer(int width, int height, - const WebPDecoderOptions* const options, - WebPDecBuffer* const buffer); - -// Flip buffer vertically by negating the various strides. -VP8StatusCode WebPFlipBuffer(WebPDecBuffer* const buffer); - -// Copy 'src' into 'dst' buffer, making sure 'dst' is not marked as owner of the -// memory (still held by 'src'). No pixels are copied. -void WebPCopyDecBuffer(const WebPDecBuffer* const src, - WebPDecBuffer* const dst); - -// Copy and transfer ownership from src to dst (beware of parameter order!) -void WebPGrabDecBuffer(WebPDecBuffer* const src, WebPDecBuffer* const dst); - -// Copy pixels from 'src' into a *preallocated* 'dst' buffer. Returns -// VP8_STATUS_INVALID_PARAM if the 'dst' is not set up correctly for the copy. -VP8StatusCode WebPCopyDecBufferPixels(const WebPDecBuffer* const src, - WebPDecBuffer* const dst); - -// Returns true if decoding will be slow with the current configuration -// and bitstream features. -int WebPAvoidSlowMemory(const WebPDecBuffer* const output, - const WebPBitstreamFeatures* const features); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DEC_WEBPI_DEC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/Makefile.am deleted file mode 100644 index a0b0c6a9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/Makefile.am +++ /dev/null @@ -1,18 +0,0 @@ -AM_CPPFLAGS += -I$(top_builddir) -I$(top_srcdir) -lib_LTLIBRARIES = libwebpdemux.la - -libwebpdemux_la_SOURCES = -libwebpdemux_la_SOURCES += anim_decode.c demux.c - -libwebpdemuxinclude_HEADERS = -libwebpdemuxinclude_HEADERS += ../webp/decode.h -libwebpdemuxinclude_HEADERS += ../webp/demux.h -libwebpdemuxinclude_HEADERS += ../webp/mux_types.h -libwebpdemuxinclude_HEADERS += ../webp/types.h -noinst_HEADERS = -noinst_HEADERS += ../webp/format_constants.h - -libwebpdemux_la_LIBADD = ../libwebp.la -libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:6:0 -libwebpdemuxincludedir = $(includedir)/webp -pkgconfig_DATA = libwebpdemux.pc diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/anim_decode.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/anim_decode.c deleted file mode 100644 index 05dd7073..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/anim_decode.c +++ /dev/null @@ -1,454 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// AnimDecoder implementation. -// - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#include -#include - -#include "src/utils/utils.h" -#include "src/webp/decode.h" -#include "src/webp/demux.h" - -#define NUM_CHANNELS 4 - -typedef void (*BlendRowFunc)(uint32_t* const, const uint32_t* const, int); -static void BlendPixelRowNonPremult(uint32_t* const src, - const uint32_t* const dst, int num_pixels); -static void BlendPixelRowPremult(uint32_t* const src, const uint32_t* const dst, - int num_pixels); - -struct WebPAnimDecoder { - WebPDemuxer* demux_; // Demuxer created from given WebP bitstream. - WebPDecoderConfig config_; // Decoder config. - // Note: we use a pointer to a function blending multiple pixels at a time to - // allow possible inlining of per-pixel blending function. - BlendRowFunc blend_func_; // Pointer to the chose blend row function. - WebPAnimInfo info_; // Global info about the animation. - uint8_t* curr_frame_; // Current canvas (not disposed). - uint8_t* prev_frame_disposed_; // Previous canvas (properly disposed). - int prev_frame_timestamp_; // Previous frame timestamp (milliseconds). - WebPIterator prev_iter_; // Iterator object for previous frame. - int prev_frame_was_keyframe_; // True if previous frame was a keyframe. - int next_frame_; // Index of the next frame to be decoded - // (starting from 1). -}; - -static void DefaultDecoderOptions(WebPAnimDecoderOptions* const dec_options) { - dec_options->color_mode = MODE_RGBA; - dec_options->use_threads = 0; -} - -int WebPAnimDecoderOptionsInitInternal(WebPAnimDecoderOptions* dec_options, - int abi_version) { - if (dec_options == NULL || - WEBP_ABI_IS_INCOMPATIBLE(abi_version, WEBP_DEMUX_ABI_VERSION)) { - return 0; - } - DefaultDecoderOptions(dec_options); - return 1; -} - -static int ApplyDecoderOptions(const WebPAnimDecoderOptions* const dec_options, - WebPAnimDecoder* const dec) { - WEBP_CSP_MODE mode; - WebPDecoderConfig* config = &dec->config_; - assert(dec_options != NULL); - - mode = dec_options->color_mode; - if (mode != MODE_RGBA && mode != MODE_BGRA && - mode != MODE_rgbA && mode != MODE_bgrA) { - return 0; - } - dec->blend_func_ = (mode == MODE_RGBA || mode == MODE_BGRA) - ? &BlendPixelRowNonPremult - : &BlendPixelRowPremult; - WebPInitDecoderConfig(config); - config->output.colorspace = mode; - config->output.is_external_memory = 1; - config->options.use_threads = dec_options->use_threads; - // Note: config->output.u.RGBA is set at the time of decoding each frame. - return 1; -} - -WebPAnimDecoder* WebPAnimDecoderNewInternal( - const WebPData* webp_data, const WebPAnimDecoderOptions* dec_options, - int abi_version) { - WebPAnimDecoderOptions options; - WebPAnimDecoder* dec = NULL; - if (webp_data == NULL || - WEBP_ABI_IS_INCOMPATIBLE(abi_version, WEBP_DEMUX_ABI_VERSION)) { - return NULL; - } - - // Note: calloc() so that the pointer members are initialized to NULL. - dec = (WebPAnimDecoder*)WebPSafeCalloc(1ULL, sizeof(*dec)); - if (dec == NULL) goto Error; - - if (dec_options != NULL) { - options = *dec_options; - } else { - DefaultDecoderOptions(&options); - } - if (!ApplyDecoderOptions(&options, dec)) goto Error; - - dec->demux_ = WebPDemux(webp_data); - if (dec->demux_ == NULL) goto Error; - - dec->info_.canvas_width = WebPDemuxGetI(dec->demux_, WEBP_FF_CANVAS_WIDTH); - dec->info_.canvas_height = WebPDemuxGetI(dec->demux_, WEBP_FF_CANVAS_HEIGHT); - dec->info_.loop_count = WebPDemuxGetI(dec->demux_, WEBP_FF_LOOP_COUNT); - dec->info_.bgcolor = WebPDemuxGetI(dec->demux_, WEBP_FF_BACKGROUND_COLOR); - dec->info_.frame_count = WebPDemuxGetI(dec->demux_, WEBP_FF_FRAME_COUNT); - - // Note: calloc() because we fill frame with zeroes as well. - dec->curr_frame_ = (uint8_t*)WebPSafeCalloc( - dec->info_.canvas_width * NUM_CHANNELS, dec->info_.canvas_height); - if (dec->curr_frame_ == NULL) goto Error; - dec->prev_frame_disposed_ = (uint8_t*)WebPSafeCalloc( - dec->info_.canvas_width * NUM_CHANNELS, dec->info_.canvas_height); - if (dec->prev_frame_disposed_ == NULL) goto Error; - - WebPAnimDecoderReset(dec); - return dec; - - Error: - WebPAnimDecoderDelete(dec); - return NULL; -} - -int WebPAnimDecoderGetInfo(const WebPAnimDecoder* dec, WebPAnimInfo* info) { - if (dec == NULL || info == NULL) return 0; - *info = dec->info_; - return 1; -} - -// Returns true if the frame covers the full canvas. -static int IsFullFrame(int width, int height, int canvas_width, - int canvas_height) { - return (width == canvas_width && height == canvas_height); -} - -// Clear the canvas to transparent. -static int ZeroFillCanvas(uint8_t* buf, uint32_t canvas_width, - uint32_t canvas_height) { - const uint64_t size = - (uint64_t)canvas_width * canvas_height * NUM_CHANNELS * sizeof(*buf); - if (size != (size_t)size) return 0; - memset(buf, 0, (size_t)size); - return 1; -} - -// Clear given frame rectangle to transparent. -static void ZeroFillFrameRect(uint8_t* buf, int buf_stride, int x_offset, - int y_offset, int width, int height) { - int j; - assert(width * NUM_CHANNELS <= buf_stride); - buf += y_offset * buf_stride + x_offset * NUM_CHANNELS; - for (j = 0; j < height; ++j) { - memset(buf, 0, width * NUM_CHANNELS); - buf += buf_stride; - } -} - -// Copy width * height pixels from 'src' to 'dst'. -static int CopyCanvas(const uint8_t* src, uint8_t* dst, - uint32_t width, uint32_t height) { - const uint64_t size = (uint64_t)width * height * NUM_CHANNELS; - if (size != (size_t)size) return 0; - assert(src != NULL && dst != NULL); - memcpy(dst, src, (size_t)size); - return 1; -} - -// Returns true if the current frame is a key-frame. -static int IsKeyFrame(const WebPIterator* const curr, - const WebPIterator* const prev, - int prev_frame_was_key_frame, - int canvas_width, int canvas_height) { - if (curr->frame_num == 1) { - return 1; - } else if ((!curr->has_alpha || curr->blend_method == WEBP_MUX_NO_BLEND) && - IsFullFrame(curr->width, curr->height, - canvas_width, canvas_height)) { - return 1; - } else { - return (prev->dispose_method == WEBP_MUX_DISPOSE_BACKGROUND) && - (IsFullFrame(prev->width, prev->height, canvas_width, - canvas_height) || - prev_frame_was_key_frame); - } -} - - -// Blend a single channel of 'src' over 'dst', given their alpha channel values. -// 'src' and 'dst' are assumed to be NOT pre-multiplied by alpha. -static uint8_t BlendChannelNonPremult(uint32_t src, uint8_t src_a, - uint32_t dst, uint8_t dst_a, - uint32_t scale, int shift) { - const uint8_t src_channel = (src >> shift) & 0xff; - const uint8_t dst_channel = (dst >> shift) & 0xff; - const uint32_t blend_unscaled = src_channel * src_a + dst_channel * dst_a; - assert(blend_unscaled < (1ULL << 32) / scale); - return (blend_unscaled * scale) >> 24; -} - -// Blend 'src' over 'dst' assuming they are NOT pre-multiplied by alpha. -static uint32_t BlendPixelNonPremult(uint32_t src, uint32_t dst) { - const uint8_t src_a = (src >> 24) & 0xff; - - if (src_a == 0) { - return dst; - } else { - const uint8_t dst_a = (dst >> 24) & 0xff; - // This is the approximate integer arithmetic for the actual formula: - // dst_factor_a = (dst_a * (255 - src_a)) / 255. - const uint8_t dst_factor_a = (dst_a * (256 - src_a)) >> 8; - const uint8_t blend_a = src_a + dst_factor_a; - const uint32_t scale = (1UL << 24) / blend_a; - - const uint8_t blend_r = - BlendChannelNonPremult(src, src_a, dst, dst_factor_a, scale, 0); - const uint8_t blend_g = - BlendChannelNonPremult(src, src_a, dst, dst_factor_a, scale, 8); - const uint8_t blend_b = - BlendChannelNonPremult(src, src_a, dst, dst_factor_a, scale, 16); - assert(src_a + dst_factor_a < 256); - - return (blend_r << 0) | - (blend_g << 8) | - (blend_b << 16) | - ((uint32_t)blend_a << 24); - } -} - -// Blend 'num_pixels' in 'src' over 'dst' assuming they are NOT pre-multiplied -// by alpha. -static void BlendPixelRowNonPremult(uint32_t* const src, - const uint32_t* const dst, int num_pixels) { - int i; - for (i = 0; i < num_pixels; ++i) { - const uint8_t src_alpha = (src[i] >> 24) & 0xff; - if (src_alpha != 0xff) { - src[i] = BlendPixelNonPremult(src[i], dst[i]); - } - } -} - -// Individually multiply each channel in 'pix' by 'scale'. -static WEBP_INLINE uint32_t ChannelwiseMultiply(uint32_t pix, uint32_t scale) { - uint32_t mask = 0x00FF00FF; - uint32_t rb = ((pix & mask) * scale) >> 8; - uint32_t ag = ((pix >> 8) & mask) * scale; - return (rb & mask) | (ag & ~mask); -} - -// Blend 'src' over 'dst' assuming they are pre-multiplied by alpha. -static uint32_t BlendPixelPremult(uint32_t src, uint32_t dst) { - const uint8_t src_a = (src >> 24) & 0xff; - return src + ChannelwiseMultiply(dst, 256 - src_a); -} - -// Blend 'num_pixels' in 'src' over 'dst' assuming they are pre-multiplied by -// alpha. -static void BlendPixelRowPremult(uint32_t* const src, const uint32_t* const dst, - int num_pixels) { - int i; - for (i = 0; i < num_pixels; ++i) { - const uint8_t src_alpha = (src[i] >> 24) & 0xff; - if (src_alpha != 0xff) { - src[i] = BlendPixelPremult(src[i], dst[i]); - } - } -} - -// Returns two ranges ( pairs) at row 'canvas_y', that belong to -// 'src' but not 'dst'. A point range is empty if the corresponding width is 0. -static void FindBlendRangeAtRow(const WebPIterator* const src, - const WebPIterator* const dst, int canvas_y, - int* const left1, int* const width1, - int* const left2, int* const width2) { - const int src_max_x = src->x_offset + src->width; - const int dst_max_x = dst->x_offset + dst->width; - const int dst_max_y = dst->y_offset + dst->height; - assert(canvas_y >= src->y_offset && canvas_y < (src->y_offset + src->height)); - *left1 = -1; - *width1 = 0; - *left2 = -1; - *width2 = 0; - - if (canvas_y < dst->y_offset || canvas_y >= dst_max_y || - src->x_offset >= dst_max_x || src_max_x <= dst->x_offset) { - *left1 = src->x_offset; - *width1 = src->width; - return; - } - - if (src->x_offset < dst->x_offset) { - *left1 = src->x_offset; - *width1 = dst->x_offset - src->x_offset; - } - - if (src_max_x > dst_max_x) { - *left2 = dst_max_x; - *width2 = src_max_x - dst_max_x; - } -} - -int WebPAnimDecoderGetNext(WebPAnimDecoder* dec, - uint8_t** buf_ptr, int* timestamp_ptr) { - WebPIterator iter; - uint32_t width; - uint32_t height; - int is_key_frame; - int timestamp; - BlendRowFunc blend_row; - - if (dec == NULL || buf_ptr == NULL || timestamp_ptr == NULL) return 0; - if (!WebPAnimDecoderHasMoreFrames(dec)) return 0; - - width = dec->info_.canvas_width; - height = dec->info_.canvas_height; - blend_row = dec->blend_func_; - - // Get compressed frame. - if (!WebPDemuxGetFrame(dec->demux_, dec->next_frame_, &iter)) { - return 0; - } - timestamp = dec->prev_frame_timestamp_ + iter.duration; - - // Initialize. - is_key_frame = IsKeyFrame(&iter, &dec->prev_iter_, - dec->prev_frame_was_keyframe_, width, height); - if (is_key_frame) { - if (!ZeroFillCanvas(dec->curr_frame_, width, height)) { - goto Error; - } - } else { - if (!CopyCanvas(dec->prev_frame_disposed_, dec->curr_frame_, - width, height)) { - goto Error; - } - } - - // Decode. - { - const uint8_t* in = iter.fragment.bytes; - const size_t in_size = iter.fragment.size; - const size_t out_offset = - (iter.y_offset * width + iter.x_offset) * NUM_CHANNELS; - WebPDecoderConfig* const config = &dec->config_; - WebPRGBABuffer* const buf = &config->output.u.RGBA; - buf->stride = NUM_CHANNELS * width; - buf->size = buf->stride * iter.height; - buf->rgba = dec->curr_frame_ + out_offset; - - if (WebPDecode(in, in_size, config) != VP8_STATUS_OK) { - goto Error; - } - } - - // During the decoding of current frame, we may have set some pixels to be - // transparent (i.e. alpha < 255). However, the value of each of these - // pixels should have been determined by blending it against the value of - // that pixel in the previous frame if blending method of is WEBP_MUX_BLEND. - if (iter.frame_num > 1 && iter.blend_method == WEBP_MUX_BLEND && - !is_key_frame) { - if (dec->prev_iter_.dispose_method == WEBP_MUX_DISPOSE_NONE) { - int y; - // Blend transparent pixels with pixels in previous canvas. - for (y = 0; y < iter.height; ++y) { - const size_t offset = - (iter.y_offset + y) * width + iter.x_offset; - blend_row((uint32_t*)dec->curr_frame_ + offset, - (uint32_t*)dec->prev_frame_disposed_ + offset, iter.width); - } - } else { - int y; - assert(dec->prev_iter_.dispose_method == WEBP_MUX_DISPOSE_BACKGROUND); - // We need to blend a transparent pixel with its value just after - // initialization. That is, blend it with: - // * Fully transparent pixel if it belongs to prevRect <-- No-op. - // * The pixel in the previous canvas otherwise <-- Need alpha-blending. - for (y = 0; y < iter.height; ++y) { - const int canvas_y = iter.y_offset + y; - int left1, width1, left2, width2; - FindBlendRangeAtRow(&iter, &dec->prev_iter_, canvas_y, &left1, &width1, - &left2, &width2); - if (width1 > 0) { - const size_t offset1 = canvas_y * width + left1; - blend_row((uint32_t*)dec->curr_frame_ + offset1, - (uint32_t*)dec->prev_frame_disposed_ + offset1, width1); - } - if (width2 > 0) { - const size_t offset2 = canvas_y * width + left2; - blend_row((uint32_t*)dec->curr_frame_ + offset2, - (uint32_t*)dec->prev_frame_disposed_ + offset2, width2); - } - } - } - } - - // Update info of the previous frame and dispose it for the next iteration. - dec->prev_frame_timestamp_ = timestamp; - WebPDemuxReleaseIterator(&dec->prev_iter_); - dec->prev_iter_ = iter; - dec->prev_frame_was_keyframe_ = is_key_frame; - CopyCanvas(dec->curr_frame_, dec->prev_frame_disposed_, width, height); - if (dec->prev_iter_.dispose_method == WEBP_MUX_DISPOSE_BACKGROUND) { - ZeroFillFrameRect(dec->prev_frame_disposed_, width * NUM_CHANNELS, - dec->prev_iter_.x_offset, dec->prev_iter_.y_offset, - dec->prev_iter_.width, dec->prev_iter_.height); - } - ++dec->next_frame_; - - // All OK, fill in the values. - *buf_ptr = dec->curr_frame_; - *timestamp_ptr = timestamp; - return 1; - - Error: - WebPDemuxReleaseIterator(&iter); - return 0; -} - -int WebPAnimDecoderHasMoreFrames(const WebPAnimDecoder* dec) { - if (dec == NULL) return 0; - return (dec->next_frame_ <= (int)dec->info_.frame_count); -} - -void WebPAnimDecoderReset(WebPAnimDecoder* dec) { - if (dec != NULL) { - dec->prev_frame_timestamp_ = 0; - WebPDemuxReleaseIterator(&dec->prev_iter_); - memset(&dec->prev_iter_, 0, sizeof(dec->prev_iter_)); - dec->prev_frame_was_keyframe_ = 0; - dec->next_frame_ = 1; - } -} - -const WebPDemuxer* WebPAnimDecoderGetDemuxer(const WebPAnimDecoder* dec) { - if (dec == NULL) return NULL; - return dec->demux_; -} - -void WebPAnimDecoderDelete(WebPAnimDecoder* dec) { - if (dec != NULL) { - WebPDemuxReleaseIterator(&dec->prev_iter_); - WebPDemuxDelete(dec->demux_); - WebPSafeFree(dec->curr_frame_); - WebPSafeFree(dec->prev_frame_disposed_); - WebPSafeFree(dec); - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/demux.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/demux.c deleted file mode 100644 index 1b3cc2e0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/demux.c +++ /dev/null @@ -1,967 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP container demux. -// - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#include -#include -#include - -#include "src/utils/utils.h" -#include "src/webp/decode.h" // WebPGetFeatures -#include "src/webp/demux.h" -#include "src/webp/format_constants.h" - -#define DMUX_MAJ_VERSION 1 -#define DMUX_MIN_VERSION 1 -#define DMUX_REV_VERSION 0 - -typedef struct { - size_t start_; // start location of the data - size_t end_; // end location - size_t riff_end_; // riff chunk end location, can be > end_. - size_t buf_size_; // size of the buffer - const uint8_t* buf_; -} MemBuffer; - -typedef struct { - size_t offset_; - size_t size_; -} ChunkData; - -typedef struct Frame { - int x_offset_, y_offset_; - int width_, height_; - int has_alpha_; - int duration_; - WebPMuxAnimDispose dispose_method_; - WebPMuxAnimBlend blend_method_; - int frame_num_; - int complete_; // img_components_ contains a full image. - ChunkData img_components_[2]; // 0=VP8{,L} 1=ALPH - struct Frame* next_; -} Frame; - -typedef struct Chunk { - ChunkData data_; - struct Chunk* next_; -} Chunk; - -struct WebPDemuxer { - MemBuffer mem_; - WebPDemuxState state_; - int is_ext_format_; - uint32_t feature_flags_; - int canvas_width_, canvas_height_; - int loop_count_; - uint32_t bgcolor_; - int num_frames_; - Frame* frames_; - Frame** frames_tail_; - Chunk* chunks_; // non-image chunks - Chunk** chunks_tail_; -}; - -typedef enum { - PARSE_OK, - PARSE_NEED_MORE_DATA, - PARSE_ERROR -} ParseStatus; - -typedef struct ChunkParser { - uint8_t id[4]; - ParseStatus (*parse)(WebPDemuxer* const dmux); - int (*valid)(const WebPDemuxer* const dmux); -} ChunkParser; - -static ParseStatus ParseSingleImage(WebPDemuxer* const dmux); -static ParseStatus ParseVP8X(WebPDemuxer* const dmux); -static int IsValidSimpleFormat(const WebPDemuxer* const dmux); -static int IsValidExtendedFormat(const WebPDemuxer* const dmux); - -static const ChunkParser kMasterChunks[] = { - { { 'V', 'P', '8', ' ' }, ParseSingleImage, IsValidSimpleFormat }, - { { 'V', 'P', '8', 'L' }, ParseSingleImage, IsValidSimpleFormat }, - { { 'V', 'P', '8', 'X' }, ParseVP8X, IsValidExtendedFormat }, - { { '0', '0', '0', '0' }, NULL, NULL }, -}; - -//------------------------------------------------------------------------------ - -int WebPGetDemuxVersion(void) { - return (DMUX_MAJ_VERSION << 16) | (DMUX_MIN_VERSION << 8) | DMUX_REV_VERSION; -} - -// ----------------------------------------------------------------------------- -// MemBuffer - -static int RemapMemBuffer(MemBuffer* const mem, - const uint8_t* data, size_t size) { - if (size < mem->buf_size_) return 0; // can't remap to a shorter buffer! - - mem->buf_ = data; - mem->end_ = mem->buf_size_ = size; - return 1; -} - -static int InitMemBuffer(MemBuffer* const mem, - const uint8_t* data, size_t size) { - memset(mem, 0, sizeof(*mem)); - return RemapMemBuffer(mem, data, size); -} - -// Return the remaining data size available in 'mem'. -static WEBP_INLINE size_t MemDataSize(const MemBuffer* const mem) { - return (mem->end_ - mem->start_); -} - -// Return true if 'size' exceeds the end of the RIFF chunk. -static WEBP_INLINE int SizeIsInvalid(const MemBuffer* const mem, size_t size) { - return (size > mem->riff_end_ - mem->start_); -} - -static WEBP_INLINE void Skip(MemBuffer* const mem, size_t size) { - mem->start_ += size; -} - -static WEBP_INLINE void Rewind(MemBuffer* const mem, size_t size) { - mem->start_ -= size; -} - -static WEBP_INLINE const uint8_t* GetBuffer(MemBuffer* const mem) { - return mem->buf_ + mem->start_; -} - -// Read from 'mem' and skip the read bytes. -static WEBP_INLINE uint8_t ReadByte(MemBuffer* const mem) { - const uint8_t byte = mem->buf_[mem->start_]; - Skip(mem, 1); - return byte; -} - -static WEBP_INLINE int ReadLE16s(MemBuffer* const mem) { - const uint8_t* const data = mem->buf_ + mem->start_; - const int val = GetLE16(data); - Skip(mem, 2); - return val; -} - -static WEBP_INLINE int ReadLE24s(MemBuffer* const mem) { - const uint8_t* const data = mem->buf_ + mem->start_; - const int val = GetLE24(data); - Skip(mem, 3); - return val; -} - -static WEBP_INLINE uint32_t ReadLE32(MemBuffer* const mem) { - const uint8_t* const data = mem->buf_ + mem->start_; - const uint32_t val = GetLE32(data); - Skip(mem, 4); - return val; -} - -// ----------------------------------------------------------------------------- -// Secondary chunk parsing - -static void AddChunk(WebPDemuxer* const dmux, Chunk* const chunk) { - *dmux->chunks_tail_ = chunk; - chunk->next_ = NULL; - dmux->chunks_tail_ = &chunk->next_; -} - -// Add a frame to the end of the list, ensuring the last frame is complete. -// Returns true on success, false otherwise. -static int AddFrame(WebPDemuxer* const dmux, Frame* const frame) { - const Frame* const last_frame = *dmux->frames_tail_; - if (last_frame != NULL && !last_frame->complete_) return 0; - - *dmux->frames_tail_ = frame; - frame->next_ = NULL; - dmux->frames_tail_ = &frame->next_; - return 1; -} - -static void SetFrameInfo(size_t start_offset, size_t size, - int frame_num, int complete, - const WebPBitstreamFeatures* const features, - Frame* const frame) { - frame->img_components_[0].offset_ = start_offset; - frame->img_components_[0].size_ = size; - frame->width_ = features->width; - frame->height_ = features->height; - frame->has_alpha_ |= features->has_alpha; - frame->frame_num_ = frame_num; - frame->complete_ = complete; -} - -// Store image bearing chunks to 'frame'. 'min_size' is an optional size -// requirement, it may be zero. -static ParseStatus StoreFrame(int frame_num, uint32_t min_size, - MemBuffer* const mem, Frame* const frame) { - int alpha_chunks = 0; - int image_chunks = 0; - int done = (MemDataSize(mem) < CHUNK_HEADER_SIZE || - MemDataSize(mem) < min_size); - ParseStatus status = PARSE_OK; - - if (done) return PARSE_NEED_MORE_DATA; - - do { - const size_t chunk_start_offset = mem->start_; - const uint32_t fourcc = ReadLE32(mem); - const uint32_t payload_size = ReadLE32(mem); - const uint32_t payload_size_padded = payload_size + (payload_size & 1); - const size_t payload_available = (payload_size_padded > MemDataSize(mem)) - ? MemDataSize(mem) : payload_size_padded; - const size_t chunk_size = CHUNK_HEADER_SIZE + payload_available; - - if (payload_size > MAX_CHUNK_PAYLOAD) return PARSE_ERROR; - if (SizeIsInvalid(mem, payload_size_padded)) return PARSE_ERROR; - if (payload_size_padded > MemDataSize(mem)) status = PARSE_NEED_MORE_DATA; - - switch (fourcc) { - case MKFOURCC('A', 'L', 'P', 'H'): - if (alpha_chunks == 0) { - ++alpha_chunks; - frame->img_components_[1].offset_ = chunk_start_offset; - frame->img_components_[1].size_ = chunk_size; - frame->has_alpha_ = 1; - frame->frame_num_ = frame_num; - Skip(mem, payload_available); - } else { - goto Done; - } - break; - case MKFOURCC('V', 'P', '8', 'L'): - if (alpha_chunks > 0) return PARSE_ERROR; // VP8L has its own alpha - // fall through - case MKFOURCC('V', 'P', '8', ' '): - if (image_chunks == 0) { - // Extract the bitstream features, tolerating failures when the data - // is incomplete. - WebPBitstreamFeatures features; - const VP8StatusCode vp8_status = - WebPGetFeatures(mem->buf_ + chunk_start_offset, chunk_size, - &features); - if (status == PARSE_NEED_MORE_DATA && - vp8_status == VP8_STATUS_NOT_ENOUGH_DATA) { - return PARSE_NEED_MORE_DATA; - } else if (vp8_status != VP8_STATUS_OK) { - // We have enough data, and yet WebPGetFeatures() failed. - return PARSE_ERROR; - } - ++image_chunks; - SetFrameInfo(chunk_start_offset, chunk_size, frame_num, - status == PARSE_OK, &features, frame); - Skip(mem, payload_available); - } else { - goto Done; - } - break; - Done: - default: - // Restore fourcc/size when moving up one level in parsing. - Rewind(mem, CHUNK_HEADER_SIZE); - done = 1; - break; - } - - if (mem->start_ == mem->riff_end_) { - done = 1; - } else if (MemDataSize(mem) < CHUNK_HEADER_SIZE) { - status = PARSE_NEED_MORE_DATA; - } - } while (!done && status == PARSE_OK); - - return status; -} - -// Creates a new Frame if 'actual_size' is within bounds and 'mem' contains -// enough data ('min_size') to parse the payload. -// Returns PARSE_OK on success with *frame pointing to the new Frame. -// Returns PARSE_NEED_MORE_DATA with insufficient data, PARSE_ERROR otherwise. -static ParseStatus NewFrame(const MemBuffer* const mem, - uint32_t min_size, uint32_t actual_size, - Frame** frame) { - if (SizeIsInvalid(mem, min_size)) return PARSE_ERROR; - if (actual_size < min_size) return PARSE_ERROR; - if (MemDataSize(mem) < min_size) return PARSE_NEED_MORE_DATA; - - *frame = (Frame*)WebPSafeCalloc(1ULL, sizeof(**frame)); - return (*frame == NULL) ? PARSE_ERROR : PARSE_OK; -} - -// Parse a 'ANMF' chunk and any image bearing chunks that immediately follow. -// 'frame_chunk_size' is the previously validated, padded chunk size. -static ParseStatus ParseAnimationFrame( - WebPDemuxer* const dmux, uint32_t frame_chunk_size) { - const int is_animation = !!(dmux->feature_flags_ & ANIMATION_FLAG); - const uint32_t anmf_payload_size = frame_chunk_size - ANMF_CHUNK_SIZE; - int added_frame = 0; - int bits; - MemBuffer* const mem = &dmux->mem_; - Frame* frame; - ParseStatus status = - NewFrame(mem, ANMF_CHUNK_SIZE, frame_chunk_size, &frame); - if (status != PARSE_OK) return status; - - frame->x_offset_ = 2 * ReadLE24s(mem); - frame->y_offset_ = 2 * ReadLE24s(mem); - frame->width_ = 1 + ReadLE24s(mem); - frame->height_ = 1 + ReadLE24s(mem); - frame->duration_ = ReadLE24s(mem); - bits = ReadByte(mem); - frame->dispose_method_ = - (bits & 1) ? WEBP_MUX_DISPOSE_BACKGROUND : WEBP_MUX_DISPOSE_NONE; - frame->blend_method_ = (bits & 2) ? WEBP_MUX_NO_BLEND : WEBP_MUX_BLEND; - if (frame->width_ * (uint64_t)frame->height_ >= MAX_IMAGE_AREA) { - WebPSafeFree(frame); - return PARSE_ERROR; - } - - // Store a frame only if the animation flag is set there is some data for - // this frame is available. - status = StoreFrame(dmux->num_frames_ + 1, anmf_payload_size, mem, frame); - if (status != PARSE_ERROR && is_animation && frame->frame_num_ > 0) { - added_frame = AddFrame(dmux, frame); - if (added_frame) { - ++dmux->num_frames_; - } else { - status = PARSE_ERROR; - } - } - - if (!added_frame) WebPSafeFree(frame); - return status; -} - -// General chunk storage, starting with the header at 'start_offset', allowing -// the user to request the payload via a fourcc string. 'size' includes the -// header and the unpadded payload size. -// Returns true on success, false otherwise. -static int StoreChunk(WebPDemuxer* const dmux, - size_t start_offset, uint32_t size) { - Chunk* const chunk = (Chunk*)WebPSafeCalloc(1ULL, sizeof(*chunk)); - if (chunk == NULL) return 0; - - chunk->data_.offset_ = start_offset; - chunk->data_.size_ = size; - AddChunk(dmux, chunk); - return 1; -} - -// ----------------------------------------------------------------------------- -// Primary chunk parsing - -static ParseStatus ReadHeader(MemBuffer* const mem) { - const size_t min_size = RIFF_HEADER_SIZE + CHUNK_HEADER_SIZE; - uint32_t riff_size; - - // Basic file level validation. - if (MemDataSize(mem) < min_size) return PARSE_NEED_MORE_DATA; - if (memcmp(GetBuffer(mem), "RIFF", CHUNK_SIZE_BYTES) || - memcmp(GetBuffer(mem) + CHUNK_HEADER_SIZE, "WEBP", CHUNK_SIZE_BYTES)) { - return PARSE_ERROR; - } - - riff_size = GetLE32(GetBuffer(mem) + TAG_SIZE); - if (riff_size < CHUNK_HEADER_SIZE) return PARSE_ERROR; - if (riff_size > MAX_CHUNK_PAYLOAD) return PARSE_ERROR; - - // There's no point in reading past the end of the RIFF chunk - mem->riff_end_ = riff_size + CHUNK_HEADER_SIZE; - if (mem->buf_size_ > mem->riff_end_) { - mem->buf_size_ = mem->end_ = mem->riff_end_; - } - - Skip(mem, RIFF_HEADER_SIZE); - return PARSE_OK; -} - -static ParseStatus ParseSingleImage(WebPDemuxer* const dmux) { - const size_t min_size = CHUNK_HEADER_SIZE; - MemBuffer* const mem = &dmux->mem_; - Frame* frame; - ParseStatus status; - int image_added = 0; - - if (dmux->frames_ != NULL) return PARSE_ERROR; - if (SizeIsInvalid(mem, min_size)) return PARSE_ERROR; - if (MemDataSize(mem) < min_size) return PARSE_NEED_MORE_DATA; - - frame = (Frame*)WebPSafeCalloc(1ULL, sizeof(*frame)); - if (frame == NULL) return PARSE_ERROR; - - // For the single image case we allow parsing of a partial frame, so no - // minimum size is imposed here. - status = StoreFrame(1, 0, &dmux->mem_, frame); - if (status != PARSE_ERROR) { - const int has_alpha = !!(dmux->feature_flags_ & ALPHA_FLAG); - // Clear any alpha when the alpha flag is missing. - if (!has_alpha && frame->img_components_[1].size_ > 0) { - frame->img_components_[1].offset_ = 0; - frame->img_components_[1].size_ = 0; - frame->has_alpha_ = 0; - } - - // Use the frame width/height as the canvas values for non-vp8x files. - // Also, set ALPHA_FLAG if this is a lossless image with alpha. - if (!dmux->is_ext_format_ && frame->width_ > 0 && frame->height_ > 0) { - dmux->state_ = WEBP_DEMUX_PARSED_HEADER; - dmux->canvas_width_ = frame->width_; - dmux->canvas_height_ = frame->height_; - dmux->feature_flags_ |= frame->has_alpha_ ? ALPHA_FLAG : 0; - } - if (!AddFrame(dmux, frame)) { - status = PARSE_ERROR; // last frame was left incomplete - } else { - image_added = 1; - dmux->num_frames_ = 1; - } - } - - if (!image_added) WebPSafeFree(frame); - return status; -} - -static ParseStatus ParseVP8XChunks(WebPDemuxer* const dmux) { - const int is_animation = !!(dmux->feature_flags_ & ANIMATION_FLAG); - MemBuffer* const mem = &dmux->mem_; - int anim_chunks = 0; - ParseStatus status = PARSE_OK; - - do { - int store_chunk = 1; - const size_t chunk_start_offset = mem->start_; - const uint32_t fourcc = ReadLE32(mem); - const uint32_t chunk_size = ReadLE32(mem); - const uint32_t chunk_size_padded = chunk_size + (chunk_size & 1); - - if (chunk_size > MAX_CHUNK_PAYLOAD) return PARSE_ERROR; - if (SizeIsInvalid(mem, chunk_size_padded)) return PARSE_ERROR; - - switch (fourcc) { - case MKFOURCC('V', 'P', '8', 'X'): { - return PARSE_ERROR; - } - case MKFOURCC('A', 'L', 'P', 'H'): - case MKFOURCC('V', 'P', '8', ' '): - case MKFOURCC('V', 'P', '8', 'L'): { - // check that this isn't an animation (all frames should be in an ANMF). - if (anim_chunks > 0 || is_animation) return PARSE_ERROR; - - Rewind(mem, CHUNK_HEADER_SIZE); - status = ParseSingleImage(dmux); - break; - } - case MKFOURCC('A', 'N', 'I', 'M'): { - if (chunk_size_padded < ANIM_CHUNK_SIZE) return PARSE_ERROR; - - if (MemDataSize(mem) < chunk_size_padded) { - status = PARSE_NEED_MORE_DATA; - } else if (anim_chunks == 0) { - ++anim_chunks; - dmux->bgcolor_ = ReadLE32(mem); - dmux->loop_count_ = ReadLE16s(mem); - Skip(mem, chunk_size_padded - ANIM_CHUNK_SIZE); - } else { - store_chunk = 0; - goto Skip; - } - break; - } - case MKFOURCC('A', 'N', 'M', 'F'): { - if (anim_chunks == 0) return PARSE_ERROR; // 'ANIM' precedes frames. - status = ParseAnimationFrame(dmux, chunk_size_padded); - break; - } - case MKFOURCC('I', 'C', 'C', 'P'): { - store_chunk = !!(dmux->feature_flags_ & ICCP_FLAG); - goto Skip; - } - case MKFOURCC('E', 'X', 'I', 'F'): { - store_chunk = !!(dmux->feature_flags_ & EXIF_FLAG); - goto Skip; - } - case MKFOURCC('X', 'M', 'P', ' '): { - store_chunk = !!(dmux->feature_flags_ & XMP_FLAG); - goto Skip; - } - Skip: - default: { - if (chunk_size_padded <= MemDataSize(mem)) { - if (store_chunk) { - // Store only the chunk header and unpadded size as only the payload - // will be returned to the user. - if (!StoreChunk(dmux, chunk_start_offset, - CHUNK_HEADER_SIZE + chunk_size)) { - return PARSE_ERROR; - } - } - Skip(mem, chunk_size_padded); - } else { - status = PARSE_NEED_MORE_DATA; - } - } - } - - if (mem->start_ == mem->riff_end_) { - break; - } else if (MemDataSize(mem) < CHUNK_HEADER_SIZE) { - status = PARSE_NEED_MORE_DATA; - } - } while (status == PARSE_OK); - - return status; -} - -static ParseStatus ParseVP8X(WebPDemuxer* const dmux) { - MemBuffer* const mem = &dmux->mem_; - uint32_t vp8x_size; - - if (MemDataSize(mem) < CHUNK_HEADER_SIZE) return PARSE_NEED_MORE_DATA; - - dmux->is_ext_format_ = 1; - Skip(mem, TAG_SIZE); // VP8X - vp8x_size = ReadLE32(mem); - if (vp8x_size > MAX_CHUNK_PAYLOAD) return PARSE_ERROR; - if (vp8x_size < VP8X_CHUNK_SIZE) return PARSE_ERROR; - vp8x_size += vp8x_size & 1; - if (SizeIsInvalid(mem, vp8x_size)) return PARSE_ERROR; - if (MemDataSize(mem) < vp8x_size) return PARSE_NEED_MORE_DATA; - - dmux->feature_flags_ = ReadByte(mem); - Skip(mem, 3); // Reserved. - dmux->canvas_width_ = 1 + ReadLE24s(mem); - dmux->canvas_height_ = 1 + ReadLE24s(mem); - if (dmux->canvas_width_ * (uint64_t)dmux->canvas_height_ >= MAX_IMAGE_AREA) { - return PARSE_ERROR; // image final dimension is too large - } - Skip(mem, vp8x_size - VP8X_CHUNK_SIZE); // skip any trailing data. - dmux->state_ = WEBP_DEMUX_PARSED_HEADER; - - if (SizeIsInvalid(mem, CHUNK_HEADER_SIZE)) return PARSE_ERROR; - if (MemDataSize(mem) < CHUNK_HEADER_SIZE) return PARSE_NEED_MORE_DATA; - - return ParseVP8XChunks(dmux); -} - -// ----------------------------------------------------------------------------- -// Format validation - -static int IsValidSimpleFormat(const WebPDemuxer* const dmux) { - const Frame* const frame = dmux->frames_; - if (dmux->state_ == WEBP_DEMUX_PARSING_HEADER) return 1; - - if (dmux->canvas_width_ <= 0 || dmux->canvas_height_ <= 0) return 0; - if (dmux->state_ == WEBP_DEMUX_DONE && frame == NULL) return 0; - - if (frame->width_ <= 0 || frame->height_ <= 0) return 0; - return 1; -} - -// If 'exact' is true, check that the image resolution matches the canvas. -// If 'exact' is false, check that the x/y offsets do not exceed the canvas. -static int CheckFrameBounds(const Frame* const frame, int exact, - int canvas_width, int canvas_height) { - if (exact) { - if (frame->x_offset_ != 0 || frame->y_offset_ != 0) { - return 0; - } - if (frame->width_ != canvas_width || frame->height_ != canvas_height) { - return 0; - } - } else { - if (frame->x_offset_ < 0 || frame->y_offset_ < 0) return 0; - if (frame->width_ + frame->x_offset_ > canvas_width) return 0; - if (frame->height_ + frame->y_offset_ > canvas_height) return 0; - } - return 1; -} - -static int IsValidExtendedFormat(const WebPDemuxer* const dmux) { - const int is_animation = !!(dmux->feature_flags_ & ANIMATION_FLAG); - const Frame* f = dmux->frames_; - - if (dmux->state_ == WEBP_DEMUX_PARSING_HEADER) return 1; - - if (dmux->canvas_width_ <= 0 || dmux->canvas_height_ <= 0) return 0; - if (dmux->loop_count_ < 0) return 0; - if (dmux->state_ == WEBP_DEMUX_DONE && dmux->frames_ == NULL) return 0; - if (dmux->feature_flags_ & ~ALL_VALID_FLAGS) return 0; // invalid bitstream - - while (f != NULL) { - const int cur_frame_set = f->frame_num_; - int frame_count = 0; - - // Check frame properties. - for (; f != NULL && f->frame_num_ == cur_frame_set; f = f->next_) { - const ChunkData* const image = f->img_components_; - const ChunkData* const alpha = f->img_components_ + 1; - - if (!is_animation && f->frame_num_ > 1) return 0; - - if (f->complete_) { - if (alpha->size_ == 0 && image->size_ == 0) return 0; - // Ensure alpha precedes image bitstream. - if (alpha->size_ > 0 && alpha->offset_ > image->offset_) { - return 0; - } - - if (f->width_ <= 0 || f->height_ <= 0) return 0; - } else { - // There shouldn't be a partial frame in a complete file. - if (dmux->state_ == WEBP_DEMUX_DONE) return 0; - - // Ensure alpha precedes image bitstream. - if (alpha->size_ > 0 && image->size_ > 0 && - alpha->offset_ > image->offset_) { - return 0; - } - // There shouldn't be any frames after an incomplete one. - if (f->next_ != NULL) return 0; - } - - if (f->width_ > 0 && f->height_ > 0 && - !CheckFrameBounds(f, !is_animation, - dmux->canvas_width_, dmux->canvas_height_)) { - return 0; - } - - ++frame_count; - } - } - return 1; -} - -// ----------------------------------------------------------------------------- -// WebPDemuxer object - -static void InitDemux(WebPDemuxer* const dmux, const MemBuffer* const mem) { - dmux->state_ = WEBP_DEMUX_PARSING_HEADER; - dmux->loop_count_ = 1; - dmux->bgcolor_ = 0xFFFFFFFF; // White background by default. - dmux->canvas_width_ = -1; - dmux->canvas_height_ = -1; - dmux->frames_tail_ = &dmux->frames_; - dmux->chunks_tail_ = &dmux->chunks_; - dmux->mem_ = *mem; -} - -static ParseStatus CreateRawImageDemuxer(MemBuffer* const mem, - WebPDemuxer** demuxer) { - WebPBitstreamFeatures features; - const VP8StatusCode status = - WebPGetFeatures(mem->buf_, mem->buf_size_, &features); - *demuxer = NULL; - if (status != VP8_STATUS_OK) { - return (status == VP8_STATUS_NOT_ENOUGH_DATA) ? PARSE_NEED_MORE_DATA - : PARSE_ERROR; - } - - { - WebPDemuxer* const dmux = (WebPDemuxer*)WebPSafeCalloc(1ULL, sizeof(*dmux)); - Frame* const frame = (Frame*)WebPSafeCalloc(1ULL, sizeof(*frame)); - if (dmux == NULL || frame == NULL) goto Error; - InitDemux(dmux, mem); - SetFrameInfo(0, mem->buf_size_, 1 /*frame_num*/, 1 /*complete*/, &features, - frame); - if (!AddFrame(dmux, frame)) goto Error; - dmux->state_ = WEBP_DEMUX_DONE; - dmux->canvas_width_ = frame->width_; - dmux->canvas_height_ = frame->height_; - dmux->feature_flags_ |= frame->has_alpha_ ? ALPHA_FLAG : 0; - dmux->num_frames_ = 1; - assert(IsValidSimpleFormat(dmux)); - *demuxer = dmux; - return PARSE_OK; - - Error: - WebPSafeFree(dmux); - WebPSafeFree(frame); - return PARSE_ERROR; - } -} - -WebPDemuxer* WebPDemuxInternal(const WebPData* data, int allow_partial, - WebPDemuxState* state, int version) { - const ChunkParser* parser; - int partial; - ParseStatus status = PARSE_ERROR; - MemBuffer mem; - WebPDemuxer* dmux; - - if (state != NULL) *state = WEBP_DEMUX_PARSE_ERROR; - - if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_DEMUX_ABI_VERSION)) return NULL; - if (data == NULL || data->bytes == NULL || data->size == 0) return NULL; - - if (!InitMemBuffer(&mem, data->bytes, data->size)) return NULL; - status = ReadHeader(&mem); - if (status != PARSE_OK) { - // If parsing of the webp file header fails attempt to handle a raw - // VP8/VP8L frame. Note 'allow_partial' is ignored in this case. - if (status == PARSE_ERROR) { - status = CreateRawImageDemuxer(&mem, &dmux); - if (status == PARSE_OK) { - if (state != NULL) *state = WEBP_DEMUX_DONE; - return dmux; - } - } - if (state != NULL) { - *state = (status == PARSE_NEED_MORE_DATA) ? WEBP_DEMUX_PARSING_HEADER - : WEBP_DEMUX_PARSE_ERROR; - } - return NULL; - } - - partial = (mem.buf_size_ < mem.riff_end_); - if (!allow_partial && partial) return NULL; - - dmux = (WebPDemuxer*)WebPSafeCalloc(1ULL, sizeof(*dmux)); - if (dmux == NULL) return NULL; - InitDemux(dmux, &mem); - - status = PARSE_ERROR; - for (parser = kMasterChunks; parser->parse != NULL; ++parser) { - if (!memcmp(parser->id, GetBuffer(&dmux->mem_), TAG_SIZE)) { - status = parser->parse(dmux); - if (status == PARSE_OK) dmux->state_ = WEBP_DEMUX_DONE; - if (status == PARSE_NEED_MORE_DATA && !partial) status = PARSE_ERROR; - if (status != PARSE_ERROR && !parser->valid(dmux)) status = PARSE_ERROR; - if (status == PARSE_ERROR) dmux->state_ = WEBP_DEMUX_PARSE_ERROR; - break; - } - } - if (state != NULL) *state = dmux->state_; - - if (status == PARSE_ERROR) { - WebPDemuxDelete(dmux); - return NULL; - } - return dmux; -} - -void WebPDemuxDelete(WebPDemuxer* dmux) { - Chunk* c; - Frame* f; - if (dmux == NULL) return; - - for (f = dmux->frames_; f != NULL;) { - Frame* const cur_frame = f; - f = f->next_; - WebPSafeFree(cur_frame); - } - for (c = dmux->chunks_; c != NULL;) { - Chunk* const cur_chunk = c; - c = c->next_; - WebPSafeFree(cur_chunk); - } - WebPSafeFree(dmux); -} - -// ----------------------------------------------------------------------------- - -uint32_t WebPDemuxGetI(const WebPDemuxer* dmux, WebPFormatFeature feature) { - if (dmux == NULL) return 0; - - switch (feature) { - case WEBP_FF_FORMAT_FLAGS: return dmux->feature_flags_; - case WEBP_FF_CANVAS_WIDTH: return (uint32_t)dmux->canvas_width_; - case WEBP_FF_CANVAS_HEIGHT: return (uint32_t)dmux->canvas_height_; - case WEBP_FF_LOOP_COUNT: return (uint32_t)dmux->loop_count_; - case WEBP_FF_BACKGROUND_COLOR: return dmux->bgcolor_; - case WEBP_FF_FRAME_COUNT: return (uint32_t)dmux->num_frames_; - } - return 0; -} - -// ----------------------------------------------------------------------------- -// Frame iteration - -static const Frame* GetFrame(const WebPDemuxer* const dmux, int frame_num) { - const Frame* f; - for (f = dmux->frames_; f != NULL; f = f->next_) { - if (frame_num == f->frame_num_) break; - } - return f; -} - -static const uint8_t* GetFramePayload(const uint8_t* const mem_buf, - const Frame* const frame, - size_t* const data_size) { - *data_size = 0; - if (frame != NULL) { - const ChunkData* const image = frame->img_components_; - const ChunkData* const alpha = frame->img_components_ + 1; - size_t start_offset = image->offset_; - *data_size = image->size_; - - // if alpha exists it precedes image, update the size allowing for - // intervening chunks. - if (alpha->size_ > 0) { - const size_t inter_size = (image->offset_ > 0) - ? image->offset_ - (alpha->offset_ + alpha->size_) - : 0; - start_offset = alpha->offset_; - *data_size += alpha->size_ + inter_size; - } - return mem_buf + start_offset; - } - return NULL; -} - -// Create a whole 'frame' from VP8 (+ alpha) or lossless. -static int SynthesizeFrame(const WebPDemuxer* const dmux, - const Frame* const frame, - WebPIterator* const iter) { - const uint8_t* const mem_buf = dmux->mem_.buf_; - size_t payload_size = 0; - const uint8_t* const payload = GetFramePayload(mem_buf, frame, &payload_size); - if (payload == NULL) return 0; - assert(frame != NULL); - - iter->frame_num = frame->frame_num_; - iter->num_frames = dmux->num_frames_; - iter->x_offset = frame->x_offset_; - iter->y_offset = frame->y_offset_; - iter->width = frame->width_; - iter->height = frame->height_; - iter->has_alpha = frame->has_alpha_; - iter->duration = frame->duration_; - iter->dispose_method = frame->dispose_method_; - iter->blend_method = frame->blend_method_; - iter->complete = frame->complete_; - iter->fragment.bytes = payload; - iter->fragment.size = payload_size; - return 1; -} - -static int SetFrame(int frame_num, WebPIterator* const iter) { - const Frame* frame; - const WebPDemuxer* const dmux = (WebPDemuxer*)iter->private_; - if (dmux == NULL || frame_num < 0) return 0; - if (frame_num > dmux->num_frames_) return 0; - if (frame_num == 0) frame_num = dmux->num_frames_; - - frame = GetFrame(dmux, frame_num); - if (frame == NULL) return 0; - - return SynthesizeFrame(dmux, frame, iter); -} - -int WebPDemuxGetFrame(const WebPDemuxer* dmux, int frame, WebPIterator* iter) { - if (iter == NULL) return 0; - - memset(iter, 0, sizeof(*iter)); - iter->private_ = (void*)dmux; - return SetFrame(frame, iter); -} - -int WebPDemuxNextFrame(WebPIterator* iter) { - if (iter == NULL) return 0; - return SetFrame(iter->frame_num + 1, iter); -} - -int WebPDemuxPrevFrame(WebPIterator* iter) { - if (iter == NULL) return 0; - if (iter->frame_num <= 1) return 0; - return SetFrame(iter->frame_num - 1, iter); -} - -void WebPDemuxReleaseIterator(WebPIterator* iter) { - (void)iter; -} - -// ----------------------------------------------------------------------------- -// Chunk iteration - -static int ChunkCount(const WebPDemuxer* const dmux, const char fourcc[4]) { - const uint8_t* const mem_buf = dmux->mem_.buf_; - const Chunk* c; - int count = 0; - for (c = dmux->chunks_; c != NULL; c = c->next_) { - const uint8_t* const header = mem_buf + c->data_.offset_; - if (!memcmp(header, fourcc, TAG_SIZE)) ++count; - } - return count; -} - -static const Chunk* GetChunk(const WebPDemuxer* const dmux, - const char fourcc[4], int chunk_num) { - const uint8_t* const mem_buf = dmux->mem_.buf_; - const Chunk* c; - int count = 0; - for (c = dmux->chunks_; c != NULL; c = c->next_) { - const uint8_t* const header = mem_buf + c->data_.offset_; - if (!memcmp(header, fourcc, TAG_SIZE)) ++count; - if (count == chunk_num) break; - } - return c; -} - -static int SetChunk(const char fourcc[4], int chunk_num, - WebPChunkIterator* const iter) { - const WebPDemuxer* const dmux = (WebPDemuxer*)iter->private_; - int count; - - if (dmux == NULL || fourcc == NULL || chunk_num < 0) return 0; - count = ChunkCount(dmux, fourcc); - if (count == 0) return 0; - if (chunk_num == 0) chunk_num = count; - - if (chunk_num <= count) { - const uint8_t* const mem_buf = dmux->mem_.buf_; - const Chunk* const chunk = GetChunk(dmux, fourcc, chunk_num); - iter->chunk.bytes = mem_buf + chunk->data_.offset_ + CHUNK_HEADER_SIZE; - iter->chunk.size = chunk->data_.size_ - CHUNK_HEADER_SIZE; - iter->num_chunks = count; - iter->chunk_num = chunk_num; - return 1; - } - return 0; -} - -int WebPDemuxGetChunk(const WebPDemuxer* dmux, - const char fourcc[4], int chunk_num, - WebPChunkIterator* iter) { - if (iter == NULL) return 0; - - memset(iter, 0, sizeof(*iter)); - iter->private_ = (void*)dmux; - return SetChunk(fourcc, chunk_num, iter); -} - -int WebPDemuxNextChunk(WebPChunkIterator* iter) { - if (iter != NULL) { - const char* const fourcc = - (const char*)iter->chunk.bytes - CHUNK_HEADER_SIZE; - return SetChunk(fourcc, iter->chunk_num + 1, iter); - } - return 0; -} - -int WebPDemuxPrevChunk(WebPChunkIterator* iter) { - if (iter != NULL && iter->chunk_num > 1) { - const char* const fourcc = - (const char*)iter->chunk.bytes - CHUNK_HEADER_SIZE; - return SetChunk(fourcc, iter->chunk_num - 1, iter); - } - return 0; -} - -void WebPDemuxReleaseChunkIterator(WebPChunkIterator* iter) { - (void)iter; -} - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/libwebpdemux.pc.in b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/libwebpdemux.pc.in deleted file mode 100644 index 6dfbbbde..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/libwebpdemux.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: libwebpdemux -Description: Library for parsing the WebP graphics format container -Version: @PACKAGE_VERSION@ -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdemux diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/libwebpdemux.rc b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/libwebpdemux.rc deleted file mode 100644 index 66f26d1a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/demux/libwebpdemux.rc +++ /dev/null @@ -1,41 +0,0 @@ -#define APSTUDIO_READONLY_SYMBOLS -#include "winres.h" -#undef APSTUDIO_READONLY_SYMBOLS - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,1,0 - PRODUCTVERSION 1,0,1,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Google, Inc." - VALUE "FileDescription", "libwebpdemux DLL" - VALUE "FileVersion", "1.1.0" - VALUE "InternalName", "libwebpdemux.dll" - VALUE "LegalCopyright", "Copyright (C) 2019" - VALUE "OriginalFilename", "libwebpdemux.dll" - VALUE "ProductName", "WebP Image Demuxer" - VALUE "ProductVersion", "1.1.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (United States) resources diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/Makefile.am deleted file mode 100644 index 9f67f5b3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/Makefile.am +++ /dev/null @@ -1,185 +0,0 @@ -AM_CPPFLAGS += -I$(top_builddir) -I$(top_srcdir) -noinst_LTLIBRARIES = -noinst_LTLIBRARIES += libwebpdsp.la -noinst_LTLIBRARIES += libwebpdsp_sse2.la -noinst_LTLIBRARIES += libwebpdspdecode_sse2.la -noinst_LTLIBRARIES += libwebpdsp_sse41.la -noinst_LTLIBRARIES += libwebpdspdecode_sse41.la -noinst_LTLIBRARIES += libwebpdsp_neon.la -noinst_LTLIBRARIES += libwebpdspdecode_neon.la -noinst_LTLIBRARIES += libwebpdsp_msa.la -noinst_LTLIBRARIES += libwebpdspdecode_msa.la -noinst_LTLIBRARIES += libwebpdsp_mips32.la -noinst_LTLIBRARIES += libwebpdspdecode_mips32.la -noinst_LTLIBRARIES += libwebpdsp_mips_dsp_r2.la -noinst_LTLIBRARIES += libwebpdspdecode_mips_dsp_r2.la - -if BUILD_LIBWEBPDECODER - noinst_LTLIBRARIES += libwebpdspdecode.la -endif - -common_HEADERS = ../webp/types.h -commondir = $(includedir)/webp - -COMMON_SOURCES = -COMMON_SOURCES += alpha_processing.c -COMMON_SOURCES += cpu.c -COMMON_SOURCES += dec.c -COMMON_SOURCES += dec_clip_tables.c -COMMON_SOURCES += dsp.h -COMMON_SOURCES += filters.c -COMMON_SOURCES += lossless.c -COMMON_SOURCES += lossless.h -COMMON_SOURCES += lossless_common.h -COMMON_SOURCES += rescaler.c -COMMON_SOURCES += upsampling.c -COMMON_SOURCES += yuv.c -COMMON_SOURCES += yuv.h - -ENC_SOURCES = -ENC_SOURCES += cost.c -ENC_SOURCES += enc.c -ENC_SOURCES += lossless_enc.c -ENC_SOURCES += quant.h -ENC_SOURCES += ssim.c - -libwebpdspdecode_sse41_la_SOURCES = -libwebpdspdecode_sse41_la_SOURCES += alpha_processing_sse41.c -libwebpdspdecode_sse41_la_SOURCES += dec_sse41.c -libwebpdspdecode_sse41_la_SOURCES += upsampling_sse41.c -libwebpdspdecode_sse41_la_SOURCES += yuv_sse41.c -libwebpdspdecode_sse41_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdspdecode_sse41_la_CFLAGS = $(AM_CFLAGS) $(SSE41_FLAGS) - -libwebpdspdecode_sse2_la_SOURCES = -libwebpdspdecode_sse2_la_SOURCES += alpha_processing_sse2.c -libwebpdspdecode_sse2_la_SOURCES += common_sse2.h -libwebpdspdecode_sse2_la_SOURCES += dec_sse2.c -libwebpdspdecode_sse2_la_SOURCES += filters_sse2.c -libwebpdspdecode_sse2_la_SOURCES += lossless_sse2.c -libwebpdspdecode_sse2_la_SOURCES += rescaler_sse2.c -libwebpdspdecode_sse2_la_SOURCES += upsampling_sse2.c -libwebpdspdecode_sse2_la_SOURCES += yuv_sse2.c -libwebpdspdecode_sse2_la_CPPFLAGS = $(libwebpdsp_sse2_la_CPPFLAGS) -libwebpdspdecode_sse2_la_CFLAGS = $(libwebpdsp_sse2_la_CFLAGS) - -libwebpdspdecode_neon_la_SOURCES = -libwebpdspdecode_neon_la_SOURCES += alpha_processing_neon.c -libwebpdspdecode_neon_la_SOURCES += dec_neon.c -libwebpdspdecode_neon_la_SOURCES += filters_neon.c -libwebpdspdecode_neon_la_SOURCES += lossless_neon.c -libwebpdspdecode_neon_la_SOURCES += neon.h -libwebpdspdecode_neon_la_SOURCES += rescaler_neon.c -libwebpdspdecode_neon_la_SOURCES += upsampling_neon.c -libwebpdspdecode_neon_la_SOURCES += yuv_neon.c -libwebpdspdecode_neon_la_CPPFLAGS = $(libwebpdsp_neon_la_CPPFLAGS) -libwebpdspdecode_neon_la_CFLAGS = $(libwebpdsp_neon_la_CFLAGS) - -libwebpdspdecode_msa_la_SOURCES = -libwebpdspdecode_msa_la_SOURCES += dec_msa.c -libwebpdspdecode_msa_la_SOURCES += filters_msa.c -libwebpdspdecode_msa_la_SOURCES += lossless_msa.c -libwebpdspdecode_msa_la_SOURCES += msa_macro.h -libwebpdspdecode_msa_la_SOURCES += rescaler_msa.c -libwebpdspdecode_msa_la_SOURCES += upsampling_msa.c -libwebpdspdecode_msa_la_CPPFLAGS = $(libwebpdsp_msa_la_CPPFLAGS) -libwebpdspdecode_msa_la_CFLAGS = $(libwebpdsp_msa_la_CFLAGS) - -libwebpdspdecode_mips32_la_SOURCES = -libwebpdspdecode_mips32_la_SOURCES += dec_mips32.c -libwebpdspdecode_mips32_la_SOURCES += mips_macro.h -libwebpdspdecode_mips32_la_SOURCES += rescaler_mips32.c -libwebpdspdecode_mips32_la_SOURCES += yuv_mips32.c -libwebpdspdecode_mips32_la_CPPFLAGS = $(libwebpdsp_mips32_la_CPPFLAGS) -libwebpdspdecode_mips32_la_CFLAGS = $(libwebpdsp_mips32_la_CFLAGS) - -libwebpdspdecode_mips_dsp_r2_la_SOURCES = -libwebpdspdecode_mips_dsp_r2_la_SOURCES += alpha_processing_mips_dsp_r2.c -libwebpdspdecode_mips_dsp_r2_la_SOURCES += dec_mips_dsp_r2.c -libwebpdspdecode_mips_dsp_r2_la_SOURCES += filters_mips_dsp_r2.c -libwebpdspdecode_mips_dsp_r2_la_SOURCES += lossless_mips_dsp_r2.c -libwebpdspdecode_mips_dsp_r2_la_SOURCES += mips_macro.h -libwebpdspdecode_mips_dsp_r2_la_SOURCES += rescaler_mips_dsp_r2.c -libwebpdspdecode_mips_dsp_r2_la_SOURCES += upsampling_mips_dsp_r2.c -libwebpdspdecode_mips_dsp_r2_la_SOURCES += yuv_mips_dsp_r2.c -libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS = $(libwebpdsp_mips_dsp_r2_la_CPPFLAGS) -libwebpdspdecode_mips_dsp_r2_la_CFLAGS = $(libwebpdsp_mips_dsp_r2_la_CFLAGS) - -libwebpdsp_sse2_la_SOURCES = -libwebpdsp_sse2_la_SOURCES += cost_sse2.c -libwebpdsp_sse2_la_SOURCES += enc_sse2.c -libwebpdsp_sse2_la_SOURCES += lossless_enc_sse2.c -libwebpdsp_sse2_la_SOURCES += ssim_sse2.c -libwebpdsp_sse2_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_sse2_la_CFLAGS = $(AM_CFLAGS) $(SSE2_FLAGS) -libwebpdsp_sse2_la_LIBADD = libwebpdspdecode_sse2.la - -libwebpdsp_sse41_la_SOURCES = -libwebpdsp_sse41_la_SOURCES += enc_sse41.c -libwebpdsp_sse41_la_SOURCES += lossless_enc_sse41.c -libwebpdsp_sse41_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_sse41_la_CFLAGS = $(AM_CFLAGS) $(SSE41_FLAGS) -libwebpdsp_sse41_la_LIBADD = libwebpdspdecode_sse41.la - -libwebpdsp_neon_la_SOURCES = -libwebpdsp_neon_la_SOURCES += cost_neon.c -libwebpdsp_neon_la_SOURCES += enc_neon.c -libwebpdsp_neon_la_SOURCES += lossless_enc_neon.c -libwebpdsp_neon_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_neon_la_CFLAGS = $(AM_CFLAGS) $(NEON_FLAGS) -libwebpdsp_neon_la_LIBADD = libwebpdspdecode_neon.la - -libwebpdsp_msa_la_SOURCES = -libwebpdsp_msa_la_SOURCES += enc_msa.c -libwebpdsp_msa_la_SOURCES += lossless_enc_msa.c -libwebpdsp_msa_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_msa_la_CFLAGS = $(AM_CFLAGS) -libwebpdsp_msa_la_LIBADD = libwebpdspdecode_msa.la - -libwebpdsp_mips32_la_SOURCES = -libwebpdsp_mips32_la_SOURCES += cost_mips32.c -libwebpdsp_mips32_la_SOURCES += enc_mips32.c -libwebpdsp_mips32_la_SOURCES += lossless_enc_mips32.c -libwebpdsp_mips32_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_mips32_la_CFLAGS = $(AM_CFLAGS) -libwebpdsp_mips32_la_LIBADD = libwebpdspdecode_mips32.la - -libwebpdsp_mips_dsp_r2_la_SOURCES = -libwebpdsp_mips_dsp_r2_la_SOURCES += cost_mips_dsp_r2.c -libwebpdsp_mips_dsp_r2_la_SOURCES += enc_mips_dsp_r2.c -libwebpdsp_mips_dsp_r2_la_SOURCES += lossless_enc_mips_dsp_r2.c -libwebpdsp_mips_dsp_r2_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_mips_dsp_r2_la_CFLAGS = $(AM_CFLAGS) -libwebpdsp_mips_dsp_r2_la_LIBADD = libwebpdspdecode_mips_dsp_r2.la - -libwebpdsp_la_SOURCES = $(COMMON_SOURCES) $(ENC_SOURCES) - -noinst_HEADERS = -noinst_HEADERS += ../dec/vp8_dec.h -noinst_HEADERS += ../webp/decode.h - -libwebpdsp_la_CPPFLAGS = -libwebpdsp_la_CPPFLAGS += $(AM_CPPFLAGS) -libwebpdsp_la_CPPFLAGS += $(USE_SWAP_16BIT_CSP) -libwebpdsp_la_LDFLAGS = -lm -libwebpdsp_la_LIBADD = -libwebpdsp_la_LIBADD += libwebpdsp_sse2.la -libwebpdsp_la_LIBADD += libwebpdsp_sse41.la -libwebpdsp_la_LIBADD += libwebpdsp_neon.la -libwebpdsp_la_LIBADD += libwebpdsp_msa.la -libwebpdsp_la_LIBADD += libwebpdsp_mips32.la -libwebpdsp_la_LIBADD += libwebpdsp_mips_dsp_r2.la - -if BUILD_LIBWEBPDECODER - libwebpdspdecode_la_SOURCES = $(COMMON_SOURCES) - - libwebpdspdecode_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) - libwebpdspdecode_la_LDFLAGS = $(libwebpdsp_la_LDFLAGS) - libwebpdspdecode_la_LIBADD = - libwebpdspdecode_la_LIBADD += libwebpdspdecode_sse2.la - libwebpdspdecode_la_LIBADD += libwebpdspdecode_sse41.la - libwebpdspdecode_la_LIBADD += libwebpdspdecode_neon.la - libwebpdspdecode_la_LIBADD += libwebpdspdecode_msa.la - libwebpdspdecode_la_LIBADD += libwebpdspdecode_mips32.la - libwebpdspdecode_la_LIBADD += libwebpdspdecode_mips_dsp_r2.la -endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing.c deleted file mode 100644 index 819d1391..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing.c +++ /dev/null @@ -1,472 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utilities for processing transparent channel. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include "src/dsp/dsp.h" - -// Tables can be faster on some platform but incur some extra binary size (~2k). -#if !defined(USE_TABLES_FOR_ALPHA_MULT) -#define USE_TABLES_FOR_ALPHA_MULT 0 // ALTERNATE_CODE -#endif - - -// ----------------------------------------------------------------------------- - -#define MFIX 24 // 24bit fixed-point arithmetic -#define HALF ((1u << MFIX) >> 1) -#define KINV_255 ((1u << MFIX) / 255u) - -static uint32_t Mult(uint8_t x, uint32_t mult) { - const uint32_t v = (x * mult + HALF) >> MFIX; - assert(v <= 255); // <- 24bit precision is enough to ensure that. - return v; -} - -#if (USE_TABLES_FOR_ALPHA_MULT == 1) - -static const uint32_t kMultTables[2][256] = { - { // (255u << MFIX) / alpha - 0x00000000, 0xff000000, 0x7f800000, 0x55000000, 0x3fc00000, 0x33000000, - 0x2a800000, 0x246db6db, 0x1fe00000, 0x1c555555, 0x19800000, 0x172e8ba2, - 0x15400000, 0x139d89d8, 0x1236db6d, 0x11000000, 0x0ff00000, 0x0f000000, - 0x0e2aaaaa, 0x0d6bca1a, 0x0cc00000, 0x0c249249, 0x0b9745d1, 0x0b1642c8, - 0x0aa00000, 0x0a333333, 0x09cec4ec, 0x0971c71c, 0x091b6db6, 0x08cb08d3, - 0x08800000, 0x0839ce73, 0x07f80000, 0x07ba2e8b, 0x07800000, 0x07492492, - 0x07155555, 0x06e45306, 0x06b5e50d, 0x0689d89d, 0x06600000, 0x063831f3, - 0x06124924, 0x05ee23b8, 0x05cba2e8, 0x05aaaaaa, 0x058b2164, 0x056cefa8, - 0x05500000, 0x05343eb1, 0x05199999, 0x05000000, 0x04e76276, 0x04cfb2b7, - 0x04b8e38e, 0x04a2e8ba, 0x048db6db, 0x0479435e, 0x04658469, 0x045270d0, - 0x04400000, 0x042e29f7, 0x041ce739, 0x040c30c3, 0x03fc0000, 0x03ec4ec4, - 0x03dd1745, 0x03ce540f, 0x03c00000, 0x03b21642, 0x03a49249, 0x03976fc6, - 0x038aaaaa, 0x037e3f1f, 0x03722983, 0x03666666, 0x035af286, 0x034fcace, - 0x0344ec4e, 0x033a5440, 0x03300000, 0x0325ed09, 0x031c18f9, 0x0312818a, - 0x03092492, 0x03000000, 0x02f711dc, 0x02ee5846, 0x02e5d174, 0x02dd7baf, - 0x02d55555, 0x02cd5cd5, 0x02c590b2, 0x02bdef7b, 0x02b677d4, 0x02af286b, - 0x02a80000, 0x02a0fd5c, 0x029a1f58, 0x029364d9, 0x028ccccc, 0x0286562d, - 0x02800000, 0x0279c952, 0x0273b13b, 0x026db6db, 0x0267d95b, 0x026217ec, - 0x025c71c7, 0x0256e62a, 0x0251745d, 0x024c1bac, 0x0246db6d, 0x0241b2f9, - 0x023ca1af, 0x0237a6f4, 0x0232c234, 0x022df2df, 0x02293868, 0x02249249, - 0x02200000, 0x021b810e, 0x021714fb, 0x0212bb51, 0x020e739c, 0x020a3d70, - 0x02061861, 0x02020408, 0x01fe0000, 0x01fa0be8, 0x01f62762, 0x01f25213, - 0x01ee8ba2, 0x01ead3ba, 0x01e72a07, 0x01e38e38, 0x01e00000, 0x01dc7f10, - 0x01d90b21, 0x01d5a3e9, 0x01d24924, 0x01cefa8d, 0x01cbb7e3, 0x01c880e5, - 0x01c55555, 0x01c234f7, 0x01bf1f8f, 0x01bc14e5, 0x01b914c1, 0x01b61eed, - 0x01b33333, 0x01b05160, 0x01ad7943, 0x01aaaaaa, 0x01a7e567, 0x01a5294a, - 0x01a27627, 0x019fcbd2, 0x019d2a20, 0x019a90e7, 0x01980000, 0x01957741, - 0x0192f684, 0x01907da4, 0x018e0c7c, 0x018ba2e8, 0x018940c5, 0x0186e5f0, - 0x01849249, 0x018245ae, 0x01800000, 0x017dc11f, 0x017b88ee, 0x0179574e, - 0x01772c23, 0x01750750, 0x0172e8ba, 0x0170d045, 0x016ebdd7, 0x016cb157, - 0x016aaaaa, 0x0168a9b9, 0x0166ae6a, 0x0164b8a7, 0x0162c859, 0x0160dd67, - 0x015ef7bd, 0x015d1745, 0x015b3bea, 0x01596596, 0x01579435, 0x0155c7b4, - 0x01540000, 0x01523d03, 0x01507eae, 0x014ec4ec, 0x014d0fac, 0x014b5edc, - 0x0149b26c, 0x01480a4a, 0x01466666, 0x0144c6af, 0x01432b16, 0x0141938b, - 0x01400000, 0x013e7063, 0x013ce4a9, 0x013b5cc0, 0x0139d89d, 0x01385830, - 0x0136db6d, 0x01356246, 0x0133ecad, 0x01327a97, 0x01310bf6, 0x012fa0be, - 0x012e38e3, 0x012cd459, 0x012b7315, 0x012a150a, 0x0128ba2e, 0x01276276, - 0x01260dd6, 0x0124bc44, 0x01236db6, 0x01222222, 0x0120d97c, 0x011f93bc, - 0x011e50d7, 0x011d10c4, 0x011bd37a, 0x011a98ef, 0x0119611a, 0x01182bf2, - 0x0116f96f, 0x0115c988, 0x01149c34, 0x0113716a, 0x01124924, 0x01112358, - 0x01100000, 0x010edf12, 0x010dc087, 0x010ca458, 0x010b8a7d, 0x010a72f0, - 0x01095da8, 0x01084a9f, 0x010739ce, 0x01062b2e, 0x01051eb8, 0x01041465, - 0x01030c30, 0x01020612, 0x01010204, 0x01000000 }, - { // alpha * KINV_255 - 0x00000000, 0x00010101, 0x00020202, 0x00030303, 0x00040404, 0x00050505, - 0x00060606, 0x00070707, 0x00080808, 0x00090909, 0x000a0a0a, 0x000b0b0b, - 0x000c0c0c, 0x000d0d0d, 0x000e0e0e, 0x000f0f0f, 0x00101010, 0x00111111, - 0x00121212, 0x00131313, 0x00141414, 0x00151515, 0x00161616, 0x00171717, - 0x00181818, 0x00191919, 0x001a1a1a, 0x001b1b1b, 0x001c1c1c, 0x001d1d1d, - 0x001e1e1e, 0x001f1f1f, 0x00202020, 0x00212121, 0x00222222, 0x00232323, - 0x00242424, 0x00252525, 0x00262626, 0x00272727, 0x00282828, 0x00292929, - 0x002a2a2a, 0x002b2b2b, 0x002c2c2c, 0x002d2d2d, 0x002e2e2e, 0x002f2f2f, - 0x00303030, 0x00313131, 0x00323232, 0x00333333, 0x00343434, 0x00353535, - 0x00363636, 0x00373737, 0x00383838, 0x00393939, 0x003a3a3a, 0x003b3b3b, - 0x003c3c3c, 0x003d3d3d, 0x003e3e3e, 0x003f3f3f, 0x00404040, 0x00414141, - 0x00424242, 0x00434343, 0x00444444, 0x00454545, 0x00464646, 0x00474747, - 0x00484848, 0x00494949, 0x004a4a4a, 0x004b4b4b, 0x004c4c4c, 0x004d4d4d, - 0x004e4e4e, 0x004f4f4f, 0x00505050, 0x00515151, 0x00525252, 0x00535353, - 0x00545454, 0x00555555, 0x00565656, 0x00575757, 0x00585858, 0x00595959, - 0x005a5a5a, 0x005b5b5b, 0x005c5c5c, 0x005d5d5d, 0x005e5e5e, 0x005f5f5f, - 0x00606060, 0x00616161, 0x00626262, 0x00636363, 0x00646464, 0x00656565, - 0x00666666, 0x00676767, 0x00686868, 0x00696969, 0x006a6a6a, 0x006b6b6b, - 0x006c6c6c, 0x006d6d6d, 0x006e6e6e, 0x006f6f6f, 0x00707070, 0x00717171, - 0x00727272, 0x00737373, 0x00747474, 0x00757575, 0x00767676, 0x00777777, - 0x00787878, 0x00797979, 0x007a7a7a, 0x007b7b7b, 0x007c7c7c, 0x007d7d7d, - 0x007e7e7e, 0x007f7f7f, 0x00808080, 0x00818181, 0x00828282, 0x00838383, - 0x00848484, 0x00858585, 0x00868686, 0x00878787, 0x00888888, 0x00898989, - 0x008a8a8a, 0x008b8b8b, 0x008c8c8c, 0x008d8d8d, 0x008e8e8e, 0x008f8f8f, - 0x00909090, 0x00919191, 0x00929292, 0x00939393, 0x00949494, 0x00959595, - 0x00969696, 0x00979797, 0x00989898, 0x00999999, 0x009a9a9a, 0x009b9b9b, - 0x009c9c9c, 0x009d9d9d, 0x009e9e9e, 0x009f9f9f, 0x00a0a0a0, 0x00a1a1a1, - 0x00a2a2a2, 0x00a3a3a3, 0x00a4a4a4, 0x00a5a5a5, 0x00a6a6a6, 0x00a7a7a7, - 0x00a8a8a8, 0x00a9a9a9, 0x00aaaaaa, 0x00ababab, 0x00acacac, 0x00adadad, - 0x00aeaeae, 0x00afafaf, 0x00b0b0b0, 0x00b1b1b1, 0x00b2b2b2, 0x00b3b3b3, - 0x00b4b4b4, 0x00b5b5b5, 0x00b6b6b6, 0x00b7b7b7, 0x00b8b8b8, 0x00b9b9b9, - 0x00bababa, 0x00bbbbbb, 0x00bcbcbc, 0x00bdbdbd, 0x00bebebe, 0x00bfbfbf, - 0x00c0c0c0, 0x00c1c1c1, 0x00c2c2c2, 0x00c3c3c3, 0x00c4c4c4, 0x00c5c5c5, - 0x00c6c6c6, 0x00c7c7c7, 0x00c8c8c8, 0x00c9c9c9, 0x00cacaca, 0x00cbcbcb, - 0x00cccccc, 0x00cdcdcd, 0x00cecece, 0x00cfcfcf, 0x00d0d0d0, 0x00d1d1d1, - 0x00d2d2d2, 0x00d3d3d3, 0x00d4d4d4, 0x00d5d5d5, 0x00d6d6d6, 0x00d7d7d7, - 0x00d8d8d8, 0x00d9d9d9, 0x00dadada, 0x00dbdbdb, 0x00dcdcdc, 0x00dddddd, - 0x00dedede, 0x00dfdfdf, 0x00e0e0e0, 0x00e1e1e1, 0x00e2e2e2, 0x00e3e3e3, - 0x00e4e4e4, 0x00e5e5e5, 0x00e6e6e6, 0x00e7e7e7, 0x00e8e8e8, 0x00e9e9e9, - 0x00eaeaea, 0x00ebebeb, 0x00ececec, 0x00ededed, 0x00eeeeee, 0x00efefef, - 0x00f0f0f0, 0x00f1f1f1, 0x00f2f2f2, 0x00f3f3f3, 0x00f4f4f4, 0x00f5f5f5, - 0x00f6f6f6, 0x00f7f7f7, 0x00f8f8f8, 0x00f9f9f9, 0x00fafafa, 0x00fbfbfb, - 0x00fcfcfc, 0x00fdfdfd, 0x00fefefe, 0x00ffffff } -}; - -static WEBP_INLINE uint32_t GetScale(uint32_t a, int inverse) { - return kMultTables[!inverse][a]; -} - -#else - -static WEBP_INLINE uint32_t GetScale(uint32_t a, int inverse) { - return inverse ? (255u << MFIX) / a : a * KINV_255; -} - -#endif // USE_TABLES_FOR_ALPHA_MULT - -void WebPMultARGBRow_C(uint32_t* const ptr, int width, int inverse) { - int x; - for (x = 0; x < width; ++x) { - const uint32_t argb = ptr[x]; - if (argb < 0xff000000u) { // alpha < 255 - if (argb <= 0x00ffffffu) { // alpha == 0 - ptr[x] = 0; - } else { - const uint32_t alpha = (argb >> 24) & 0xff; - const uint32_t scale = GetScale(alpha, inverse); - uint32_t out = argb & 0xff000000u; - out |= Mult(argb >> 0, scale) << 0; - out |= Mult(argb >> 8, scale) << 8; - out |= Mult(argb >> 16, scale) << 16; - ptr[x] = out; - } - } - } -} - -void WebPMultRow_C(uint8_t* const ptr, const uint8_t* const alpha, - int width, int inverse) { - int x; - for (x = 0; x < width; ++x) { - const uint32_t a = alpha[x]; - if (a != 255) { - if (a == 0) { - ptr[x] = 0; - } else { - const uint32_t scale = GetScale(a, inverse); - ptr[x] = Mult(ptr[x], scale); - } - } - } -} - -#undef KINV_255 -#undef HALF -#undef MFIX - -void (*WebPMultARGBRow)(uint32_t* const ptr, int width, int inverse); -void (*WebPMultRow)(uint8_t* const ptr, const uint8_t* const alpha, - int width, int inverse); - -//------------------------------------------------------------------------------ -// Generic per-plane calls - -void WebPMultARGBRows(uint8_t* ptr, int stride, int width, int num_rows, - int inverse) { - int n; - for (n = 0; n < num_rows; ++n) { - WebPMultARGBRow((uint32_t*)ptr, width, inverse); - ptr += stride; - } -} - -void WebPMultRows(uint8_t* ptr, int stride, - const uint8_t* alpha, int alpha_stride, - int width, int num_rows, int inverse) { - int n; - for (n = 0; n < num_rows; ++n) { - WebPMultRow(ptr, alpha, width, inverse); - ptr += stride; - alpha += alpha_stride; - } -} - -//------------------------------------------------------------------------------ -// Premultiplied modes - -// non dithered-modes - -// (x * a * 32897) >> 23 is bit-wise equivalent to (int)(x * a / 255.) -// for all 8bit x or a. For bit-wise equivalence to (int)(x * a / 255. + .5), -// one can use instead: (x * a * 65793 + (1 << 23)) >> 24 -#if 1 // (int)(x * a / 255.) -#define MULTIPLIER(a) ((a) * 32897U) -#define PREMULTIPLY(x, m) (((x) * (m)) >> 23) -#else // (int)(x * a / 255. + .5) -#define MULTIPLIER(a) ((a) * 65793U) -#define PREMULTIPLY(x, m) (((x) * (m) + (1U << 23)) >> 24) -#endif - -#if !WEBP_NEON_OMIT_C_CODE -static void ApplyAlphaMultiply_C(uint8_t* rgba, int alpha_first, - int w, int h, int stride) { - while (h-- > 0) { - uint8_t* const rgb = rgba + (alpha_first ? 1 : 0); - const uint8_t* const alpha = rgba + (alpha_first ? 0 : 3); - int i; - for (i = 0; i < w; ++i) { - const uint32_t a = alpha[4 * i]; - if (a != 0xff) { - const uint32_t mult = MULTIPLIER(a); - rgb[4 * i + 0] = PREMULTIPLY(rgb[4 * i + 0], mult); - rgb[4 * i + 1] = PREMULTIPLY(rgb[4 * i + 1], mult); - rgb[4 * i + 2] = PREMULTIPLY(rgb[4 * i + 2], mult); - } - } - rgba += stride; - } -} -#endif // !WEBP_NEON_OMIT_C_CODE -#undef MULTIPLIER -#undef PREMULTIPLY - -// rgbA4444 - -#define MULTIPLIER(a) ((a) * 0x1111) // 0x1111 ~= (1 << 16) / 15 - -static WEBP_INLINE uint8_t dither_hi(uint8_t x) { - return (x & 0xf0) | (x >> 4); -} - -static WEBP_INLINE uint8_t dither_lo(uint8_t x) { - return (x & 0x0f) | (x << 4); -} - -static WEBP_INLINE uint8_t multiply(uint8_t x, uint32_t m) { - return (x * m) >> 16; -} - -static WEBP_INLINE void ApplyAlphaMultiply4444_C(uint8_t* rgba4444, - int w, int h, int stride, - int rg_byte_pos /* 0 or 1 */) { - while (h-- > 0) { - int i; - for (i = 0; i < w; ++i) { - const uint32_t rg = rgba4444[2 * i + rg_byte_pos]; - const uint32_t ba = rgba4444[2 * i + (rg_byte_pos ^ 1)]; - const uint8_t a = ba & 0x0f; - const uint32_t mult = MULTIPLIER(a); - const uint8_t r = multiply(dither_hi(rg), mult); - const uint8_t g = multiply(dither_lo(rg), mult); - const uint8_t b = multiply(dither_hi(ba), mult); - rgba4444[2 * i + rg_byte_pos] = (r & 0xf0) | ((g >> 4) & 0x0f); - rgba4444[2 * i + (rg_byte_pos ^ 1)] = (b & 0xf0) | a; - } - rgba4444 += stride; - } -} -#undef MULTIPLIER - -static void ApplyAlphaMultiply_16b_C(uint8_t* rgba4444, - int w, int h, int stride) { -#if (WEBP_SWAP_16BIT_CSP == 1) - ApplyAlphaMultiply4444_C(rgba4444, w, h, stride, 1); -#else - ApplyAlphaMultiply4444_C(rgba4444, w, h, stride, 0); -#endif -} - -#if !WEBP_NEON_OMIT_C_CODE -static int DispatchAlpha_C(const uint8_t* alpha, int alpha_stride, - int width, int height, - uint8_t* dst, int dst_stride) { - uint32_t alpha_mask = 0xff; - int i, j; - - for (j = 0; j < height; ++j) { - for (i = 0; i < width; ++i) { - const uint32_t alpha_value = alpha[i]; - dst[4 * i] = alpha_value; - alpha_mask &= alpha_value; - } - alpha += alpha_stride; - dst += dst_stride; - } - - return (alpha_mask != 0xff); -} - -static void DispatchAlphaToGreen_C(const uint8_t* alpha, int alpha_stride, - int width, int height, - uint32_t* dst, int dst_stride) { - int i, j; - for (j = 0; j < height; ++j) { - for (i = 0; i < width; ++i) { - dst[i] = alpha[i] << 8; // leave A/R/B channels zero'd. - } - alpha += alpha_stride; - dst += dst_stride; - } -} - -static int ExtractAlpha_C(const uint8_t* argb, int argb_stride, - int width, int height, - uint8_t* alpha, int alpha_stride) { - uint8_t alpha_mask = 0xff; - int i, j; - - for (j = 0; j < height; ++j) { - for (i = 0; i < width; ++i) { - const uint8_t alpha_value = argb[4 * i]; - alpha[i] = alpha_value; - alpha_mask &= alpha_value; - } - argb += argb_stride; - alpha += alpha_stride; - } - return (alpha_mask == 0xff); -} - -static void ExtractGreen_C(const uint32_t* argb, uint8_t* alpha, int size) { - int i; - for (i = 0; i < size; ++i) alpha[i] = argb[i] >> 8; -} -#endif // !WEBP_NEON_OMIT_C_CODE - -//------------------------------------------------------------------------------ - -static int HasAlpha8b_C(const uint8_t* src, int length) { - while (length-- > 0) if (*src++ != 0xff) return 1; - return 0; -} - -static int HasAlpha32b_C(const uint8_t* src, int length) { - int x; - for (x = 0; length-- > 0; x += 4) if (src[x] != 0xff) return 1; - return 0; -} - -//------------------------------------------------------------------------------ -// Simple channel manipulations. - -static WEBP_INLINE uint32_t MakeARGB32(int a, int r, int g, int b) { - return (((uint32_t)a << 24) | (r << 16) | (g << 8) | b); -} - -#ifdef WORDS_BIGENDIAN -static void PackARGB_C(const uint8_t* a, const uint8_t* r, const uint8_t* g, - const uint8_t* b, int len, uint32_t* out) { - int i; - for (i = 0; i < len; ++i) { - out[i] = MakeARGB32(a[4 * i], r[4 * i], g[4 * i], b[4 * i]); - } -} -#endif - -static void PackRGB_C(const uint8_t* r, const uint8_t* g, const uint8_t* b, - int len, int step, uint32_t* out) { - int i, offset = 0; - for (i = 0; i < len; ++i) { - out[i] = MakeARGB32(0xff, r[offset], g[offset], b[offset]); - offset += step; - } -} - -void (*WebPApplyAlphaMultiply)(uint8_t*, int, int, int, int); -void (*WebPApplyAlphaMultiply4444)(uint8_t*, int, int, int); -int (*WebPDispatchAlpha)(const uint8_t*, int, int, int, uint8_t*, int); -void (*WebPDispatchAlphaToGreen)(const uint8_t*, int, int, int, uint32_t*, int); -int (*WebPExtractAlpha)(const uint8_t*, int, int, int, uint8_t*, int); -void (*WebPExtractGreen)(const uint32_t* argb, uint8_t* alpha, int size); -#ifdef WORDS_BIGENDIAN -void (*WebPPackARGB)(const uint8_t* a, const uint8_t* r, const uint8_t* g, - const uint8_t* b, int, uint32_t*); -#endif -void (*WebPPackRGB)(const uint8_t* r, const uint8_t* g, const uint8_t* b, - int len, int step, uint32_t* out); - -int (*WebPHasAlpha8b)(const uint8_t* src, int length); -int (*WebPHasAlpha32b)(const uint8_t* src, int length); - -//------------------------------------------------------------------------------ -// Init function - -extern void WebPInitAlphaProcessingMIPSdspR2(void); -extern void WebPInitAlphaProcessingSSE2(void); -extern void WebPInitAlphaProcessingSSE41(void); -extern void WebPInitAlphaProcessingNEON(void); - -WEBP_DSP_INIT_FUNC(WebPInitAlphaProcessing) { - WebPMultARGBRow = WebPMultARGBRow_C; - WebPMultRow = WebPMultRow_C; - WebPApplyAlphaMultiply4444 = ApplyAlphaMultiply_16b_C; - -#ifdef WORDS_BIGENDIAN - WebPPackARGB = PackARGB_C; -#endif - WebPPackRGB = PackRGB_C; -#if !WEBP_NEON_OMIT_C_CODE - WebPApplyAlphaMultiply = ApplyAlphaMultiply_C; - WebPDispatchAlpha = DispatchAlpha_C; - WebPDispatchAlphaToGreen = DispatchAlphaToGreen_C; - WebPExtractAlpha = ExtractAlpha_C; - WebPExtractGreen = ExtractGreen_C; -#endif - - WebPHasAlpha8b = HasAlpha8b_C; - WebPHasAlpha32b = HasAlpha32b_C; - - // If defined, use CPUInfo() to overwrite some pointers with faster versions. - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - WebPInitAlphaProcessingSSE2(); -#if defined(WEBP_USE_SSE41) - if (VP8GetCPUInfo(kSSE4_1)) { - WebPInitAlphaProcessingSSE41(); - } -#endif - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - WebPInitAlphaProcessingMIPSdspR2(); - } -#endif - } - -#if defined(WEBP_USE_NEON) - if (WEBP_NEON_OMIT_C_CODE || - (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { - WebPInitAlphaProcessingNEON(); - } -#endif - - assert(WebPMultARGBRow != NULL); - assert(WebPMultRow != NULL); - assert(WebPApplyAlphaMultiply != NULL); - assert(WebPApplyAlphaMultiply4444 != NULL); - assert(WebPDispatchAlpha != NULL); - assert(WebPDispatchAlphaToGreen != NULL); - assert(WebPExtractAlpha != NULL); - assert(WebPExtractGreen != NULL); -#ifdef WORDS_BIGENDIAN - assert(WebPPackARGB != NULL); -#endif - assert(WebPPackRGB != NULL); - assert(WebPHasAlpha8b != NULL); - assert(WebPHasAlpha32b != NULL); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c deleted file mode 100644 index 0090e87c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c +++ /dev/null @@ -1,228 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utilities for processing transparent channel. -// -// Author(s): Branimir Vasic (branimir.vasic@imgtec.com) -// Djordje Pesut (djordje.pesut@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) - -static int DispatchAlpha_MIPSdspR2(const uint8_t* alpha, int alpha_stride, - int width, int height, - uint8_t* dst, int dst_stride) { - uint32_t alpha_mask = 0xffffffff; - int i, j, temp0; - - for (j = 0; j < height; ++j) { - uint8_t* pdst = dst; - const uint8_t* palpha = alpha; - for (i = 0; i < (width >> 2); ++i) { - int temp1, temp2, temp3; - - __asm__ volatile ( - "ulw %[temp0], 0(%[palpha]) \n\t" - "addiu %[palpha], %[palpha], 4 \n\t" - "addiu %[pdst], %[pdst], 16 \n\t" - "srl %[temp1], %[temp0], 8 \n\t" - "srl %[temp2], %[temp0], 16 \n\t" - "srl %[temp3], %[temp0], 24 \n\t" - "and %[alpha_mask], %[alpha_mask], %[temp0] \n\t" - "sb %[temp0], -16(%[pdst]) \n\t" - "sb %[temp1], -12(%[pdst]) \n\t" - "sb %[temp2], -8(%[pdst]) \n\t" - "sb %[temp3], -4(%[pdst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [palpha]"+r"(palpha), [pdst]"+r"(pdst), - [alpha_mask]"+r"(alpha_mask) - : - : "memory" - ); - } - - for (i = 0; i < (width & 3); ++i) { - __asm__ volatile ( - "lbu %[temp0], 0(%[palpha]) \n\t" - "addiu %[palpha], %[palpha], 1 \n\t" - "sb %[temp0], 0(%[pdst]) \n\t" - "and %[alpha_mask], %[alpha_mask], %[temp0] \n\t" - "addiu %[pdst], %[pdst], 4 \n\t" - : [temp0]"=&r"(temp0), [palpha]"+r"(palpha), [pdst]"+r"(pdst), - [alpha_mask]"+r"(alpha_mask) - : - : "memory" - ); - } - alpha += alpha_stride; - dst += dst_stride; - } - - __asm__ volatile ( - "ext %[temp0], %[alpha_mask], 0, 16 \n\t" - "srl %[alpha_mask], %[alpha_mask], 16 \n\t" - "and %[alpha_mask], %[alpha_mask], %[temp0] \n\t" - "ext %[temp0], %[alpha_mask], 0, 8 \n\t" - "srl %[alpha_mask], %[alpha_mask], 8 \n\t" - "and %[alpha_mask], %[alpha_mask], %[temp0] \n\t" - : [temp0]"=&r"(temp0), [alpha_mask]"+r"(alpha_mask) - : - ); - - return (alpha_mask != 0xff); -} - -static void MultARGBRow_MIPSdspR2(uint32_t* const ptr, int width, - int inverse) { - int x; - const uint32_t c_00ffffff = 0x00ffffffu; - const uint32_t c_ff000000 = 0xff000000u; - const uint32_t c_8000000 = 0x00800000u; - const uint32_t c_8000080 = 0x00800080u; - for (x = 0; x < width; ++x) { - const uint32_t argb = ptr[x]; - if (argb < 0xff000000u) { // alpha < 255 - if (argb <= 0x00ffffffu) { // alpha == 0 - ptr[x] = 0; - } else { - int temp0, temp1, temp2, temp3, alpha; - __asm__ volatile ( - "srl %[alpha], %[argb], 24 \n\t" - "replv.qb %[temp0], %[alpha] \n\t" - "and %[temp0], %[temp0], %[c_00ffffff] \n\t" - "beqz %[inverse], 0f \n\t" - "divu $zero, %[c_ff000000], %[alpha] \n\t" - "mflo %[temp0] \n\t" - "0: \n\t" - "andi %[temp1], %[argb], 0xff \n\t" - "ext %[temp2], %[argb], 8, 8 \n\t" - "ext %[temp3], %[argb], 16, 8 \n\t" - "mul %[temp1], %[temp1], %[temp0] \n\t" - "mul %[temp2], %[temp2], %[temp0] \n\t" - "mul %[temp3], %[temp3], %[temp0] \n\t" - "precrq.ph.w %[temp1], %[temp2], %[temp1] \n\t" - "addu %[temp3], %[temp3], %[c_8000000] \n\t" - "addu %[temp1], %[temp1], %[c_8000080] \n\t" - "precrq.ph.w %[temp3], %[argb], %[temp3] \n\t" - "precrq.qb.ph %[temp1], %[temp3], %[temp1] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [alpha]"=&r"(alpha) - : [inverse]"r"(inverse), [c_00ffffff]"r"(c_00ffffff), - [c_8000000]"r"(c_8000000), [c_8000080]"r"(c_8000080), - [c_ff000000]"r"(c_ff000000), [argb]"r"(argb) - : "memory", "hi", "lo" - ); - ptr[x] = temp1; - } - } - } -} - -#ifdef WORDS_BIGENDIAN -static void PackARGB_MIPSdspR2(const uint8_t* a, const uint8_t* r, - const uint8_t* g, const uint8_t* b, int len, - uint32_t* out) { - int temp0, temp1, temp2, temp3, offset; - const int rest = len & 1; - const uint32_t* const loop_end = out + len - rest; - const int step = 4; - __asm__ volatile ( - "xor %[offset], %[offset], %[offset] \n\t" - "beq %[loop_end], %[out], 0f \n\t" - "2: \n\t" - "lbux %[temp0], %[offset](%[a]) \n\t" - "lbux %[temp1], %[offset](%[r]) \n\t" - "lbux %[temp2], %[offset](%[g]) \n\t" - "lbux %[temp3], %[offset](%[b]) \n\t" - "ins %[temp1], %[temp0], 16, 16 \n\t" - "ins %[temp3], %[temp2], 16, 16 \n\t" - "addiu %[out], %[out], 4 \n\t" - "precr.qb.ph %[temp0], %[temp1], %[temp3] \n\t" - "sw %[temp0], -4(%[out]) \n\t" - "addu %[offset], %[offset], %[step] \n\t" - "bne %[loop_end], %[out], 2b \n\t" - "0: \n\t" - "beq %[rest], $zero, 1f \n\t" - "lbux %[temp0], %[offset](%[a]) \n\t" - "lbux %[temp1], %[offset](%[r]) \n\t" - "lbux %[temp2], %[offset](%[g]) \n\t" - "lbux %[temp3], %[offset](%[b]) \n\t" - "ins %[temp1], %[temp0], 16, 16 \n\t" - "ins %[temp3], %[temp2], 16, 16 \n\t" - "precr.qb.ph %[temp0], %[temp1], %[temp3] \n\t" - "sw %[temp0], 0(%[out]) \n\t" - "1: \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [offset]"=&r"(offset), [out]"+&r"(out) - : [a]"r"(a), [r]"r"(r), [g]"r"(g), [b]"r"(b), [step]"r"(step), - [loop_end]"r"(loop_end), [rest]"r"(rest) - : "memory" - ); -} -#endif // WORDS_BIGENDIAN - -static void PackRGB_MIPSdspR2(const uint8_t* r, const uint8_t* g, - const uint8_t* b, int len, int step, - uint32_t* out) { - int temp0, temp1, temp2, offset; - const int rest = len & 1; - const int a = 0xff; - const uint32_t* const loop_end = out + len - rest; - __asm__ volatile ( - "xor %[offset], %[offset], %[offset] \n\t" - "beq %[loop_end], %[out], 0f \n\t" - "2: \n\t" - "lbux %[temp0], %[offset](%[r]) \n\t" - "lbux %[temp1], %[offset](%[g]) \n\t" - "lbux %[temp2], %[offset](%[b]) \n\t" - "ins %[temp0], %[a], 16, 16 \n\t" - "ins %[temp2], %[temp1], 16, 16 \n\t" - "addiu %[out], %[out], 4 \n\t" - "precr.qb.ph %[temp0], %[temp0], %[temp2] \n\t" - "sw %[temp0], -4(%[out]) \n\t" - "addu %[offset], %[offset], %[step] \n\t" - "bne %[loop_end], %[out], 2b \n\t" - "0: \n\t" - "beq %[rest], $zero, 1f \n\t" - "lbux %[temp0], %[offset](%[r]) \n\t" - "lbux %[temp1], %[offset](%[g]) \n\t" - "lbux %[temp2], %[offset](%[b]) \n\t" - "ins %[temp0], %[a], 16, 16 \n\t" - "ins %[temp2], %[temp1], 16, 16 \n\t" - "precr.qb.ph %[temp0], %[temp0], %[temp2] \n\t" - "sw %[temp0], 0(%[out]) \n\t" - "1: \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [offset]"=&r"(offset), [out]"+&r"(out) - : [a]"r"(a), [r]"r"(r), [g]"r"(g), [b]"r"(b), [step]"r"(step), - [loop_end]"r"(loop_end), [rest]"r"(rest) - : "memory" - ); -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPInitAlphaProcessingMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitAlphaProcessingMIPSdspR2(void) { - WebPDispatchAlpha = DispatchAlpha_MIPSdspR2; - WebPMultARGBRow = MultARGBRow_MIPSdspR2; -#ifdef WORDS_BIGENDIAN - WebPPackARGB = PackARGB_MIPSdspR2; -#endif - WebPPackRGB = PackRGB_MIPSdspR2; -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(WebPInitAlphaProcessingMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_neon.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_neon.c deleted file mode 100644 index 9d554217..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_neon.c +++ /dev/null @@ -1,191 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utilities for processing transparent channel, NEON version. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_NEON) - -#include "src/dsp/neon.h" - -//------------------------------------------------------------------------------ - -#define MULTIPLIER(a) ((a) * 0x8081) -#define PREMULTIPLY(x, m) (((x) * (m)) >> 23) - -#define MULTIPLY_BY_ALPHA(V, ALPHA, OTHER) do { \ - const uint8x8_t alpha = (V).val[(ALPHA)]; \ - const uint16x8_t r1 = vmull_u8((V).val[1], alpha); \ - const uint16x8_t g1 = vmull_u8((V).val[2], alpha); \ - const uint16x8_t b1 = vmull_u8((V).val[(OTHER)], alpha); \ - /* we use: v / 255 = (v + 1 + (v >> 8)) >> 8 */ \ - const uint16x8_t r2 = vsraq_n_u16(r1, r1, 8); \ - const uint16x8_t g2 = vsraq_n_u16(g1, g1, 8); \ - const uint16x8_t b2 = vsraq_n_u16(b1, b1, 8); \ - const uint16x8_t r3 = vaddq_u16(r2, kOne); \ - const uint16x8_t g3 = vaddq_u16(g2, kOne); \ - const uint16x8_t b3 = vaddq_u16(b2, kOne); \ - (V).val[1] = vshrn_n_u16(r3, 8); \ - (V).val[2] = vshrn_n_u16(g3, 8); \ - (V).val[(OTHER)] = vshrn_n_u16(b3, 8); \ -} while (0) - -static void ApplyAlphaMultiply_NEON(uint8_t* rgba, int alpha_first, - int w, int h, int stride) { - const uint16x8_t kOne = vdupq_n_u16(1u); - while (h-- > 0) { - uint32_t* const rgbx = (uint32_t*)rgba; - int i = 0; - if (alpha_first) { - for (; i + 8 <= w; i += 8) { - // load aaaa...|rrrr...|gggg...|bbbb... - uint8x8x4_t RGBX = vld4_u8((const uint8_t*)(rgbx + i)); - MULTIPLY_BY_ALPHA(RGBX, 0, 3); - vst4_u8((uint8_t*)(rgbx + i), RGBX); - } - } else { - for (; i + 8 <= w; i += 8) { - uint8x8x4_t RGBX = vld4_u8((const uint8_t*)(rgbx + i)); - MULTIPLY_BY_ALPHA(RGBX, 3, 0); - vst4_u8((uint8_t*)(rgbx + i), RGBX); - } - } - // Finish with left-overs. - for (; i < w; ++i) { - uint8_t* const rgb = rgba + (alpha_first ? 1 : 0); - const uint8_t* const alpha = rgba + (alpha_first ? 0 : 3); - const uint32_t a = alpha[4 * i]; - if (a != 0xff) { - const uint32_t mult = MULTIPLIER(a); - rgb[4 * i + 0] = PREMULTIPLY(rgb[4 * i + 0], mult); - rgb[4 * i + 1] = PREMULTIPLY(rgb[4 * i + 1], mult); - rgb[4 * i + 2] = PREMULTIPLY(rgb[4 * i + 2], mult); - } - } - rgba += stride; - } -} -#undef MULTIPLY_BY_ALPHA -#undef MULTIPLIER -#undef PREMULTIPLY - -//------------------------------------------------------------------------------ - -static int DispatchAlpha_NEON(const uint8_t* alpha, int alpha_stride, - int width, int height, - uint8_t* dst, int dst_stride) { - uint32_t alpha_mask = 0xffffffffu; - uint8x8_t mask8 = vdup_n_u8(0xff); - uint32_t tmp[2]; - int i, j; - for (j = 0; j < height; ++j) { - // We don't know if alpha is first or last in dst[] (depending on rgbA/Argb - // mode). So we must be sure dst[4*i + 8 - 1] is writable for the store. - // Hence the test with 'width - 1' instead of just 'width'. - for (i = 0; i + 8 <= width - 1; i += 8) { - uint8x8x4_t rgbX = vld4_u8((const uint8_t*)(dst + 4 * i)); - const uint8x8_t alphas = vld1_u8(alpha + i); - rgbX.val[0] = alphas; - vst4_u8((uint8_t*)(dst + 4 * i), rgbX); - mask8 = vand_u8(mask8, alphas); - } - for (; i < width; ++i) { - const uint32_t alpha_value = alpha[i]; - dst[4 * i] = alpha_value; - alpha_mask &= alpha_value; - } - alpha += alpha_stride; - dst += dst_stride; - } - vst1_u8((uint8_t*)tmp, mask8); - alpha_mask &= tmp[0]; - alpha_mask &= tmp[1]; - return (alpha_mask != 0xffffffffu); -} - -static void DispatchAlphaToGreen_NEON(const uint8_t* alpha, int alpha_stride, - int width, int height, - uint32_t* dst, int dst_stride) { - int i, j; - uint8x8x4_t greens; // leave A/R/B channels zero'd. - greens.val[0] = vdup_n_u8(0); - greens.val[2] = vdup_n_u8(0); - greens.val[3] = vdup_n_u8(0); - for (j = 0; j < height; ++j) { - for (i = 0; i + 8 <= width; i += 8) { - greens.val[1] = vld1_u8(alpha + i); - vst4_u8((uint8_t*)(dst + i), greens); - } - for (; i < width; ++i) dst[i] = alpha[i] << 8; - alpha += alpha_stride; - dst += dst_stride; - } -} - -static int ExtractAlpha_NEON(const uint8_t* argb, int argb_stride, - int width, int height, - uint8_t* alpha, int alpha_stride) { - uint32_t alpha_mask = 0xffffffffu; - uint8x8_t mask8 = vdup_n_u8(0xff); - uint32_t tmp[2]; - int i, j; - for (j = 0; j < height; ++j) { - // We don't know if alpha is first or last in dst[] (depending on rgbA/Argb - // mode). So we must be sure dst[4*i + 8 - 1] is writable for the store. - // Hence the test with 'width - 1' instead of just 'width'. - for (i = 0; i + 8 <= width - 1; i += 8) { - const uint8x8x4_t rgbX = vld4_u8((const uint8_t*)(argb + 4 * i)); - const uint8x8_t alphas = rgbX.val[0]; - vst1_u8((uint8_t*)(alpha + i), alphas); - mask8 = vand_u8(mask8, alphas); - } - for (; i < width; ++i) { - alpha[i] = argb[4 * i]; - alpha_mask &= alpha[i]; - } - argb += argb_stride; - alpha += alpha_stride; - } - vst1_u8((uint8_t*)tmp, mask8); - alpha_mask &= tmp[0]; - alpha_mask &= tmp[1]; - return (alpha_mask == 0xffffffffu); -} - -static void ExtractGreen_NEON(const uint32_t* argb, - uint8_t* alpha, int size) { - int i; - for (i = 0; i + 16 <= size; i += 16) { - const uint8x16x4_t rgbX = vld4q_u8((const uint8_t*)(argb + i)); - const uint8x16_t greens = rgbX.val[1]; - vst1q_u8(alpha + i, greens); - } - for (; i < size; ++i) alpha[i] = (argb[i] >> 8) & 0xff; -} - -//------------------------------------------------------------------------------ - -extern void WebPInitAlphaProcessingNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitAlphaProcessingNEON(void) { - WebPApplyAlphaMultiply = ApplyAlphaMultiply_NEON; - WebPDispatchAlpha = DispatchAlpha_NEON; - WebPDispatchAlphaToGreen = DispatchAlphaToGreen_NEON; - WebPExtractAlpha = ExtractAlpha_NEON; - WebPExtractGreen = ExtractGreen_NEON; -} - -#else // !WEBP_USE_NEON - -WEBP_DSP_INIT_STUB(WebPInitAlphaProcessingNEON) - -#endif // WEBP_USE_NEON diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_sse2.c deleted file mode 100644 index 2871c56d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_sse2.c +++ /dev/null @@ -1,343 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utilities for processing transparent channel. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE2) -#include - -//------------------------------------------------------------------------------ - -static int DispatchAlpha_SSE2(const uint8_t* alpha, int alpha_stride, - int width, int height, - uint8_t* dst, int dst_stride) { - // alpha_and stores an 'and' operation of all the alpha[] values. The final - // value is not 0xff if any of the alpha[] is not equal to 0xff. - uint32_t alpha_and = 0xff; - int i, j; - const __m128i zero = _mm_setzero_si128(); - const __m128i rgb_mask = _mm_set1_epi32(0xffffff00u); // to preserve RGB - const __m128i all_0xff = _mm_set_epi32(0, 0, ~0u, ~0u); - __m128i all_alphas = all_0xff; - - // We must be able to access 3 extra bytes after the last written byte - // 'dst[4 * width - 4]', because we don't know if alpha is the first or the - // last byte of the quadruplet. - const int limit = (width - 1) & ~7; - - for (j = 0; j < height; ++j) { - __m128i* out = (__m128i*)dst; - for (i = 0; i < limit; i += 8) { - // load 8 alpha bytes - const __m128i a0 = _mm_loadl_epi64((const __m128i*)&alpha[i]); - const __m128i a1 = _mm_unpacklo_epi8(a0, zero); - const __m128i a2_lo = _mm_unpacklo_epi16(a1, zero); - const __m128i a2_hi = _mm_unpackhi_epi16(a1, zero); - // load 8 dst pixels (32 bytes) - const __m128i b0_lo = _mm_loadu_si128(out + 0); - const __m128i b0_hi = _mm_loadu_si128(out + 1); - // mask dst alpha values - const __m128i b1_lo = _mm_and_si128(b0_lo, rgb_mask); - const __m128i b1_hi = _mm_and_si128(b0_hi, rgb_mask); - // combine - const __m128i b2_lo = _mm_or_si128(b1_lo, a2_lo); - const __m128i b2_hi = _mm_or_si128(b1_hi, a2_hi); - // store - _mm_storeu_si128(out + 0, b2_lo); - _mm_storeu_si128(out + 1, b2_hi); - // accumulate eight alpha 'and' in parallel - all_alphas = _mm_and_si128(all_alphas, a0); - out += 2; - } - for (; i < width; ++i) { - const uint32_t alpha_value = alpha[i]; - dst[4 * i] = alpha_value; - alpha_and &= alpha_value; - } - alpha += alpha_stride; - dst += dst_stride; - } - // Combine the eight alpha 'and' into a 8-bit mask. - alpha_and &= _mm_movemask_epi8(_mm_cmpeq_epi8(all_alphas, all_0xff)); - return (alpha_and != 0xff); -} - -static void DispatchAlphaToGreen_SSE2(const uint8_t* alpha, int alpha_stride, - int width, int height, - uint32_t* dst, int dst_stride) { - int i, j; - const __m128i zero = _mm_setzero_si128(); - const int limit = width & ~15; - for (j = 0; j < height; ++j) { - for (i = 0; i < limit; i += 16) { // process 16 alpha bytes - const __m128i a0 = _mm_loadu_si128((const __m128i*)&alpha[i]); - const __m128i a1 = _mm_unpacklo_epi8(zero, a0); // note the 'zero' first! - const __m128i b1 = _mm_unpackhi_epi8(zero, a0); - const __m128i a2_lo = _mm_unpacklo_epi16(a1, zero); - const __m128i b2_lo = _mm_unpacklo_epi16(b1, zero); - const __m128i a2_hi = _mm_unpackhi_epi16(a1, zero); - const __m128i b2_hi = _mm_unpackhi_epi16(b1, zero); - _mm_storeu_si128((__m128i*)&dst[i + 0], a2_lo); - _mm_storeu_si128((__m128i*)&dst[i + 4], a2_hi); - _mm_storeu_si128((__m128i*)&dst[i + 8], b2_lo); - _mm_storeu_si128((__m128i*)&dst[i + 12], b2_hi); - } - for (; i < width; ++i) dst[i] = alpha[i] << 8; - alpha += alpha_stride; - dst += dst_stride; - } -} - -static int ExtractAlpha_SSE2(const uint8_t* argb, int argb_stride, - int width, int height, - uint8_t* alpha, int alpha_stride) { - // alpha_and stores an 'and' operation of all the alpha[] values. The final - // value is not 0xff if any of the alpha[] is not equal to 0xff. - uint32_t alpha_and = 0xff; - int i, j; - const __m128i a_mask = _mm_set1_epi32(0xffu); // to preserve alpha - const __m128i all_0xff = _mm_set_epi32(0, 0, ~0u, ~0u); - __m128i all_alphas = all_0xff; - - // We must be able to access 3 extra bytes after the last written byte - // 'src[4 * width - 4]', because we don't know if alpha is the first or the - // last byte of the quadruplet. - const int limit = (width - 1) & ~7; - - for (j = 0; j < height; ++j) { - const __m128i* src = (const __m128i*)argb; - for (i = 0; i < limit; i += 8) { - // load 32 argb bytes - const __m128i a0 = _mm_loadu_si128(src + 0); - const __m128i a1 = _mm_loadu_si128(src + 1); - const __m128i b0 = _mm_and_si128(a0, a_mask); - const __m128i b1 = _mm_and_si128(a1, a_mask); - const __m128i c0 = _mm_packs_epi32(b0, b1); - const __m128i d0 = _mm_packus_epi16(c0, c0); - // store - _mm_storel_epi64((__m128i*)&alpha[i], d0); - // accumulate eight alpha 'and' in parallel - all_alphas = _mm_and_si128(all_alphas, d0); - src += 2; - } - for (; i < width; ++i) { - const uint32_t alpha_value = argb[4 * i]; - alpha[i] = alpha_value; - alpha_and &= alpha_value; - } - argb += argb_stride; - alpha += alpha_stride; - } - // Combine the eight alpha 'and' into a 8-bit mask. - alpha_and &= _mm_movemask_epi8(_mm_cmpeq_epi8(all_alphas, all_0xff)); - return (alpha_and == 0xff); -} - -//------------------------------------------------------------------------------ -// Non-dither premultiplied modes - -#define MULTIPLIER(a) ((a) * 0x8081) -#define PREMULTIPLY(x, m) (((x) * (m)) >> 23) - -// We can't use a 'const int' for the SHUFFLE value, because it has to be an -// immediate in the _mm_shufflexx_epi16() instruction. We really need a macro. -// We use: v / 255 = (v * 0x8081) >> 23, where v = alpha * {r,g,b} is a 16bit -// value. -#define APPLY_ALPHA(RGBX, SHUFFLE) do { \ - const __m128i argb0 = _mm_loadu_si128((const __m128i*)&(RGBX)); \ - const __m128i argb1_lo = _mm_unpacklo_epi8(argb0, zero); \ - const __m128i argb1_hi = _mm_unpackhi_epi8(argb0, zero); \ - const __m128i alpha0_lo = _mm_or_si128(argb1_lo, kMask); \ - const __m128i alpha0_hi = _mm_or_si128(argb1_hi, kMask); \ - const __m128i alpha1_lo = _mm_shufflelo_epi16(alpha0_lo, SHUFFLE); \ - const __m128i alpha1_hi = _mm_shufflelo_epi16(alpha0_hi, SHUFFLE); \ - const __m128i alpha2_lo = _mm_shufflehi_epi16(alpha1_lo, SHUFFLE); \ - const __m128i alpha2_hi = _mm_shufflehi_epi16(alpha1_hi, SHUFFLE); \ - /* alpha2 = [ff a0 a0 a0][ff a1 a1 a1] */ \ - const __m128i A0_lo = _mm_mullo_epi16(alpha2_lo, argb1_lo); \ - const __m128i A0_hi = _mm_mullo_epi16(alpha2_hi, argb1_hi); \ - const __m128i A1_lo = _mm_mulhi_epu16(A0_lo, kMult); \ - const __m128i A1_hi = _mm_mulhi_epu16(A0_hi, kMult); \ - const __m128i A2_lo = _mm_srli_epi16(A1_lo, 7); \ - const __m128i A2_hi = _mm_srli_epi16(A1_hi, 7); \ - const __m128i A3 = _mm_packus_epi16(A2_lo, A2_hi); \ - _mm_storeu_si128((__m128i*)&(RGBX), A3); \ -} while (0) - -static void ApplyAlphaMultiply_SSE2(uint8_t* rgba, int alpha_first, - int w, int h, int stride) { - const __m128i zero = _mm_setzero_si128(); - const __m128i kMult = _mm_set1_epi16(0x8081u); - const __m128i kMask = _mm_set_epi16(0, 0xff, 0xff, 0, 0, 0xff, 0xff, 0); - const int kSpan = 4; - while (h-- > 0) { - uint32_t* const rgbx = (uint32_t*)rgba; - int i; - if (!alpha_first) { - for (i = 0; i + kSpan <= w; i += kSpan) { - APPLY_ALPHA(rgbx[i], _MM_SHUFFLE(2, 3, 3, 3)); - } - } else { - for (i = 0; i + kSpan <= w; i += kSpan) { - APPLY_ALPHA(rgbx[i], _MM_SHUFFLE(0, 0, 0, 1)); - } - } - // Finish with left-overs. - for (; i < w; ++i) { - uint8_t* const rgb = rgba + (alpha_first ? 1 : 0); - const uint8_t* const alpha = rgba + (alpha_first ? 0 : 3); - const uint32_t a = alpha[4 * i]; - if (a != 0xff) { - const uint32_t mult = MULTIPLIER(a); - rgb[4 * i + 0] = PREMULTIPLY(rgb[4 * i + 0], mult); - rgb[4 * i + 1] = PREMULTIPLY(rgb[4 * i + 1], mult); - rgb[4 * i + 2] = PREMULTIPLY(rgb[4 * i + 2], mult); - } - } - rgba += stride; - } -} -#undef MULTIPLIER -#undef PREMULTIPLY - -//------------------------------------------------------------------------------ -// Alpha detection - -static int HasAlpha8b_SSE2(const uint8_t* src, int length) { - const __m128i all_0xff = _mm_set1_epi8((char)0xff); - int i = 0; - for (; i + 16 <= length; i += 16) { - const __m128i v = _mm_loadu_si128((const __m128i*)(src + i)); - const __m128i bits = _mm_cmpeq_epi8(v, all_0xff); - const int mask = _mm_movemask_epi8(bits); - if (mask != 0xffff) return 1; - } - for (; i < length; ++i) if (src[i] != 0xff) return 1; - return 0; -} - -static int HasAlpha32b_SSE2(const uint8_t* src, int length) { - const __m128i alpha_mask = _mm_set1_epi32(0xff); - const __m128i all_0xff = _mm_set1_epi8((char)0xff); - int i = 0; - // We don't know if we can access the last 3 bytes after the last alpha - // value 'src[4 * length - 4]' (because we don't know if alpha is the first - // or the last byte of the quadruplet). Hence the '-3' protection below. - length = length * 4 - 3; // size in bytes - for (; i + 64 <= length; i += 64) { - const __m128i a0 = _mm_loadu_si128((const __m128i*)(src + i + 0)); - const __m128i a1 = _mm_loadu_si128((const __m128i*)(src + i + 16)); - const __m128i a2 = _mm_loadu_si128((const __m128i*)(src + i + 32)); - const __m128i a3 = _mm_loadu_si128((const __m128i*)(src + i + 48)); - const __m128i b0 = _mm_and_si128(a0, alpha_mask); - const __m128i b1 = _mm_and_si128(a1, alpha_mask); - const __m128i b2 = _mm_and_si128(a2, alpha_mask); - const __m128i b3 = _mm_and_si128(a3, alpha_mask); - const __m128i c0 = _mm_packs_epi32(b0, b1); - const __m128i c1 = _mm_packs_epi32(b2, b3); - const __m128i d = _mm_packus_epi16(c0, c1); - const __m128i bits = _mm_cmpeq_epi8(d, all_0xff); - const int mask = _mm_movemask_epi8(bits); - if (mask != 0xffff) return 1; - } - for (; i + 32 <= length; i += 32) { - const __m128i a0 = _mm_loadu_si128((const __m128i*)(src + i + 0)); - const __m128i a1 = _mm_loadu_si128((const __m128i*)(src + i + 16)); - const __m128i b0 = _mm_and_si128(a0, alpha_mask); - const __m128i b1 = _mm_and_si128(a1, alpha_mask); - const __m128i c = _mm_packs_epi32(b0, b1); - const __m128i d = _mm_packus_epi16(c, c); - const __m128i bits = _mm_cmpeq_epi8(d, all_0xff); - const int mask = _mm_movemask_epi8(bits); - if (mask != 0xffff) return 1; - } - for (; i <= length; i += 4) if (src[i] != 0xff) return 1; - return 0; -} - -// ----------------------------------------------------------------------------- -// Apply alpha value to rows - -static void MultARGBRow_SSE2(uint32_t* const ptr, int width, int inverse) { - int x = 0; - if (!inverse) { - const int kSpan = 2; - const __m128i zero = _mm_setzero_si128(); - const __m128i k128 = _mm_set1_epi16(128); - const __m128i kMult = _mm_set1_epi16(0x0101); - const __m128i kMask = _mm_set_epi16(0, 0xff, 0, 0, 0, 0xff, 0, 0); - for (x = 0; x + kSpan <= width; x += kSpan) { - // To compute 'result = (int)(a * x / 255. + .5)', we use: - // tmp = a * v + 128, result = (tmp * 0x0101u) >> 16 - const __m128i A0 = _mm_loadl_epi64((const __m128i*)&ptr[x]); - const __m128i A1 = _mm_unpacklo_epi8(A0, zero); - const __m128i A2 = _mm_or_si128(A1, kMask); - const __m128i A3 = _mm_shufflelo_epi16(A2, _MM_SHUFFLE(2, 3, 3, 3)); - const __m128i A4 = _mm_shufflehi_epi16(A3, _MM_SHUFFLE(2, 3, 3, 3)); - // here, A4 = [ff a0 a0 a0][ff a1 a1 a1] - const __m128i A5 = _mm_mullo_epi16(A4, A1); - const __m128i A6 = _mm_add_epi16(A5, k128); - const __m128i A7 = _mm_mulhi_epu16(A6, kMult); - const __m128i A10 = _mm_packus_epi16(A7, zero); - _mm_storel_epi64((__m128i*)&ptr[x], A10); - } - } - width -= x; - if (width > 0) WebPMultARGBRow_C(ptr + x, width, inverse); -} - -static void MultRow_SSE2(uint8_t* const ptr, const uint8_t* const alpha, - int width, int inverse) { - int x = 0; - if (!inverse) { - const __m128i zero = _mm_setzero_si128(); - const __m128i k128 = _mm_set1_epi16(128); - const __m128i kMult = _mm_set1_epi16(0x0101); - for (x = 0; x + 8 <= width; x += 8) { - const __m128i v0 = _mm_loadl_epi64((__m128i*)&ptr[x]); - const __m128i a0 = _mm_loadl_epi64((const __m128i*)&alpha[x]); - const __m128i v1 = _mm_unpacklo_epi8(v0, zero); - const __m128i a1 = _mm_unpacklo_epi8(a0, zero); - const __m128i v2 = _mm_mullo_epi16(v1, a1); - const __m128i v3 = _mm_add_epi16(v2, k128); - const __m128i v4 = _mm_mulhi_epu16(v3, kMult); - const __m128i v5 = _mm_packus_epi16(v4, zero); - _mm_storel_epi64((__m128i*)&ptr[x], v5); - } - } - width -= x; - if (width > 0) WebPMultRow_C(ptr + x, alpha + x, width, inverse); -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPInitAlphaProcessingSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitAlphaProcessingSSE2(void) { - WebPMultARGBRow = MultARGBRow_SSE2; - WebPMultRow = MultRow_SSE2; - WebPApplyAlphaMultiply = ApplyAlphaMultiply_SSE2; - WebPDispatchAlpha = DispatchAlpha_SSE2; - WebPDispatchAlphaToGreen = DispatchAlphaToGreen_SSE2; - WebPExtractAlpha = ExtractAlpha_SSE2; - - WebPHasAlpha8b = HasAlpha8b_SSE2; - WebPHasAlpha32b = HasAlpha32b_SSE2; -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(WebPInitAlphaProcessingSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_sse41.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_sse41.c deleted file mode 100644 index 56040f9c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/alpha_processing_sse41.c +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utilities for processing transparent channel, SSE4.1 variant. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE41) - -#include - -//------------------------------------------------------------------------------ - -static int ExtractAlpha_SSE41(const uint8_t* argb, int argb_stride, - int width, int height, - uint8_t* alpha, int alpha_stride) { - // alpha_and stores an 'and' operation of all the alpha[] values. The final - // value is not 0xff if any of the alpha[] is not equal to 0xff. - uint32_t alpha_and = 0xff; - int i, j; - const __m128i all_0xff = _mm_set1_epi32(~0u); - __m128i all_alphas = all_0xff; - - // We must be able to access 3 extra bytes after the last written byte - // 'src[4 * width - 4]', because we don't know if alpha is the first or the - // last byte of the quadruplet. - const int limit = (width - 1) & ~15; - const __m128i kCstAlpha0 = _mm_set_epi8(-1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 12, 8, 4, 0); - const __m128i kCstAlpha1 = _mm_set_epi8(-1, -1, -1, -1, -1, -1, -1, -1, - 12, 8, 4, 0, -1, -1, -1, -1); - const __m128i kCstAlpha2 = _mm_set_epi8(-1, -1, -1, -1, 12, 8, 4, 0, - -1, -1, -1, -1, -1, -1, -1, -1); - const __m128i kCstAlpha3 = _mm_set_epi8(12, 8, 4, 0, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1); - for (j = 0; j < height; ++j) { - const __m128i* src = (const __m128i*)argb; - for (i = 0; i < limit; i += 16) { - // load 64 argb bytes - const __m128i a0 = _mm_loadu_si128(src + 0); - const __m128i a1 = _mm_loadu_si128(src + 1); - const __m128i a2 = _mm_loadu_si128(src + 2); - const __m128i a3 = _mm_loadu_si128(src + 3); - const __m128i b0 = _mm_shuffle_epi8(a0, kCstAlpha0); - const __m128i b1 = _mm_shuffle_epi8(a1, kCstAlpha1); - const __m128i b2 = _mm_shuffle_epi8(a2, kCstAlpha2); - const __m128i b3 = _mm_shuffle_epi8(a3, kCstAlpha3); - const __m128i c0 = _mm_or_si128(b0, b1); - const __m128i c1 = _mm_or_si128(b2, b3); - const __m128i d0 = _mm_or_si128(c0, c1); - // store - _mm_storeu_si128((__m128i*)&alpha[i], d0); - // accumulate sixteen alpha 'and' in parallel - all_alphas = _mm_and_si128(all_alphas, d0); - src += 4; - } - for (; i < width; ++i) { - const uint32_t alpha_value = argb[4 * i]; - alpha[i] = alpha_value; - alpha_and &= alpha_value; - } - argb += argb_stride; - alpha += alpha_stride; - } - // Combine the sixteen alpha 'and' into an 8-bit mask. - alpha_and |= 0xff00u; // pretend the upper bits [8..15] were tested ok. - alpha_and &= _mm_movemask_epi8(_mm_cmpeq_epi8(all_alphas, all_0xff)); - return (alpha_and == 0xffffu); -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPInitAlphaProcessingSSE41(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitAlphaProcessingSSE41(void) { - WebPExtractAlpha = ExtractAlpha_SSE41; -} - -#else // !WEBP_USE_SSE41 - -WEBP_DSP_INIT_STUB(WebPInitAlphaProcessingSSE41) - -#endif // WEBP_USE_SSE41 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/argb.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/argb.c deleted file mode 100644 index cc1f9a96..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/argb.c +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// ARGB making functions. -// -// Author: Djordje Pesut (djordje.pesut@imgtec.com) - -#include "./dsp.h" - -static WEBP_INLINE uint32_t MakeARGB32(int a, int r, int g, int b) { - return (((uint32_t)a << 24) | (r << 16) | (g << 8) | b); -} - -static void PackARGB(const uint8_t* a, const uint8_t* r, const uint8_t* g, - const uint8_t* b, int len, uint32_t* out) { - int i; - for (i = 0; i < len; ++i) { - out[i] = MakeARGB32(a[4 * i], r[4 * i], g[4 * i], b[4 * i]); - } -} - -static void PackRGB(const uint8_t* r, const uint8_t* g, const uint8_t* b, - int len, int step, uint32_t* out) { - int i, offset = 0; - for (i = 0; i < len; ++i) { - out[i] = MakeARGB32(0xff, r[offset], g[offset], b[offset]); - offset += step; - } -} - -void (*VP8PackARGB)(const uint8_t*, const uint8_t*, const uint8_t*, - const uint8_t*, int, uint32_t*); -void (*VP8PackRGB)(const uint8_t*, const uint8_t*, const uint8_t*, - int, int, uint32_t*); - -extern void VP8EncDspARGBInitMIPSdspR2(void); -extern void VP8EncDspARGBInitSSE2(void); - -static volatile VP8CPUInfo argb_last_cpuinfo_used = - (VP8CPUInfo)&argb_last_cpuinfo_used; - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspARGBInit(void) { - if (argb_last_cpuinfo_used == VP8GetCPUInfo) return; - - VP8PackARGB = PackARGB; - VP8PackRGB = PackRGB; - - // If defined, use CPUInfo() to overwrite some pointers with faster versions. - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - VP8EncDspARGBInitSSE2(); - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - VP8EncDspARGBInitMIPSdspR2(); - } -#endif - } - argb_last_cpuinfo_used = VP8GetCPUInfo; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/argb_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/argb_mips_dsp_r2.c deleted file mode 100644 index af65acb8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/argb_mips_dsp_r2.c +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// ARGB making functions (mips version). -// -// Author: Djordje Pesut (djordje.pesut@imgtec.com) - -#include "./dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) - -static void PackARGB(const uint8_t* a, const uint8_t* r, const uint8_t* g, - const uint8_t* b, int len, uint32_t* out) { - int temp0, temp1, temp2, temp3, offset; - const int rest = len & 1; - const uint32_t* const loop_end = out + len - rest; - const int step = 4; - __asm__ volatile ( - "xor %[offset], %[offset], %[offset] \n\t" - "beq %[loop_end], %[out], 0f \n\t" - "2: \n\t" - "lbux %[temp0], %[offset](%[a]) \n\t" - "lbux %[temp1], %[offset](%[r]) \n\t" - "lbux %[temp2], %[offset](%[g]) \n\t" - "lbux %[temp3], %[offset](%[b]) \n\t" - "ins %[temp1], %[temp0], 16, 16 \n\t" - "ins %[temp3], %[temp2], 16, 16 \n\t" - "addiu %[out], %[out], 4 \n\t" - "precr.qb.ph %[temp0], %[temp1], %[temp3] \n\t" - "sw %[temp0], -4(%[out]) \n\t" - "addu %[offset], %[offset], %[step] \n\t" - "bne %[loop_end], %[out], 2b \n\t" - "0: \n\t" - "beq %[rest], $zero, 1f \n\t" - "lbux %[temp0], %[offset](%[a]) \n\t" - "lbux %[temp1], %[offset](%[r]) \n\t" - "lbux %[temp2], %[offset](%[g]) \n\t" - "lbux %[temp3], %[offset](%[b]) \n\t" - "ins %[temp1], %[temp0], 16, 16 \n\t" - "ins %[temp3], %[temp2], 16, 16 \n\t" - "precr.qb.ph %[temp0], %[temp1], %[temp3] \n\t" - "sw %[temp0], 0(%[out]) \n\t" - "1: \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [offset]"=&r"(offset), [out]"+&r"(out) - : [a]"r"(a), [r]"r"(r), [g]"r"(g), [b]"r"(b), [step]"r"(step), - [loop_end]"r"(loop_end), [rest]"r"(rest) - : "memory" - ); -} - -static void PackRGB(const uint8_t* r, const uint8_t* g, const uint8_t* b, - int len, int step, uint32_t* out) { - int temp0, temp1, temp2, offset; - const int rest = len & 1; - const int a = 0xff; - const uint32_t* const loop_end = out + len - rest; - __asm__ volatile ( - "xor %[offset], %[offset], %[offset] \n\t" - "beq %[loop_end], %[out], 0f \n\t" - "2: \n\t" - "lbux %[temp0], %[offset](%[r]) \n\t" - "lbux %[temp1], %[offset](%[g]) \n\t" - "lbux %[temp2], %[offset](%[b]) \n\t" - "ins %[temp0], %[a], 16, 16 \n\t" - "ins %[temp2], %[temp1], 16, 16 \n\t" - "addiu %[out], %[out], 4 \n\t" - "precr.qb.ph %[temp0], %[temp0], %[temp2] \n\t" - "sw %[temp0], -4(%[out]) \n\t" - "addu %[offset], %[offset], %[step] \n\t" - "bne %[loop_end], %[out], 2b \n\t" - "0: \n\t" - "beq %[rest], $zero, 1f \n\t" - "lbux %[temp0], %[offset](%[r]) \n\t" - "lbux %[temp1], %[offset](%[g]) \n\t" - "lbux %[temp2], %[offset](%[b]) \n\t" - "ins %[temp0], %[a], 16, 16 \n\t" - "ins %[temp2], %[temp1], 16, 16 \n\t" - "precr.qb.ph %[temp0], %[temp0], %[temp2] \n\t" - "sw %[temp0], 0(%[out]) \n\t" - "1: \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [offset]"=&r"(offset), [out]"+&r"(out) - : [a]"r"(a), [r]"r"(r), [g]"r"(g), [b]"r"(b), [step]"r"(step), - [loop_end]"r"(loop_end), [rest]"r"(rest) - : "memory" - ); -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspARGBInitMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspARGBInitMIPSdspR2(void) { - VP8PackARGB = PackARGB; - VP8PackRGB = PackRGB; -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(VP8EncDspARGBInitMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/argb_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/argb_sse2.c deleted file mode 100644 index afcb1957..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/argb_sse2.c +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// ARGB making functions (SSE2 version). -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "./dsp.h" - -#if defined(WEBP_USE_SSE2) - -#include -#include -#include - -static WEBP_INLINE uint32_t MakeARGB32(int a, int r, int g, int b) { - return (((uint32_t)a << 24) | (r << 16) | (g << 8) | b); -} - -static void PackARGB(const uint8_t* a, const uint8_t* r, const uint8_t* g, - const uint8_t* b, int len, uint32_t* out) { - if (g == r + 1) { // RGBA input order. Need to swap R and B. - int i = 0; - const int len_max = len & ~3; // max length processed in main loop - const __m128i red_blue_mask = _mm_set1_epi32(0x00ff00ffu); - assert(b == r + 2); - assert(a == r + 3); - for (; i < len_max; i += 4) { - const __m128i A = _mm_loadu_si128((const __m128i*)(r + 4 * i)); - const __m128i B = _mm_and_si128(A, red_blue_mask); // R 0 B 0 - const __m128i C = _mm_andnot_si128(red_blue_mask, A); // 0 G 0 A - const __m128i D = _mm_shufflelo_epi16(B, _MM_SHUFFLE(2, 3, 0, 1)); - const __m128i E = _mm_shufflehi_epi16(D, _MM_SHUFFLE(2, 3, 0, 1)); - const __m128i F = _mm_or_si128(E, C); - _mm_storeu_si128((__m128i*)(out + i), F); - } - for (; i < len; ++i) { - out[i] = MakeARGB32(a[4 * i], r[4 * i], g[4 * i], b[4 * i]); - } - } else { - assert(g == b + 1); - assert(r == b + 2); - assert(a == b + 3); - memcpy(out, b, len * 4); - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspARGBInitSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspARGBInitSSE2(void) { - VP8PackARGB = PackARGB; -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(VP8EncDspARGBInitSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/common_sse2.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/common_sse2.h deleted file mode 100644 index e9f1ebff..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/common_sse2.h +++ /dev/null @@ -1,194 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE2 code common to several files. -// -// Author: Vincent Rabaud (vrabaud@google.com) - -#ifndef WEBP_DSP_COMMON_SSE2_H_ -#define WEBP_DSP_COMMON_SSE2_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(WEBP_USE_SSE2) - -#include - -//------------------------------------------------------------------------------ -// Quite useful macro for debugging. Left here for convenience. - -#if 0 -#include -static WEBP_INLINE void PrintReg(const __m128i r, const char* const name, - int size) { - int n; - union { - __m128i r; - uint8_t i8[16]; - uint16_t i16[8]; - uint32_t i32[4]; - uint64_t i64[2]; - } tmp; - tmp.r = r; - fprintf(stderr, "%s\t: ", name); - if (size == 8) { - for (n = 0; n < 16; ++n) fprintf(stderr, "%.2x ", tmp.i8[n]); - } else if (size == 16) { - for (n = 0; n < 8; ++n) fprintf(stderr, "%.4x ", tmp.i16[n]); - } else if (size == 32) { - for (n = 0; n < 4; ++n) fprintf(stderr, "%.8x ", tmp.i32[n]); - } else { - for (n = 0; n < 2; ++n) fprintf(stderr, "%.16lx ", tmp.i64[n]); - } - fprintf(stderr, "\n"); -} -#endif - -//------------------------------------------------------------------------------ -// Math functions. - -// Return the sum of all the 8b in the register. -static WEBP_INLINE int VP8HorizontalAdd8b(const __m128i* const a) { - const __m128i zero = _mm_setzero_si128(); - const __m128i sad8x2 = _mm_sad_epu8(*a, zero); - // sum the two sads: sad8x2[0:1] + sad8x2[8:9] - const __m128i sum = _mm_add_epi32(sad8x2, _mm_shuffle_epi32(sad8x2, 2)); - return _mm_cvtsi128_si32(sum); -} - -// Transpose two 4x4 16b matrices horizontally stored in registers. -static WEBP_INLINE void VP8Transpose_2_4x4_16b( - const __m128i* const in0, const __m128i* const in1, - const __m128i* const in2, const __m128i* const in3, __m128i* const out0, - __m128i* const out1, __m128i* const out2, __m128i* const out3) { - // Transpose the two 4x4. - // a00 a01 a02 a03 b00 b01 b02 b03 - // a10 a11 a12 a13 b10 b11 b12 b13 - // a20 a21 a22 a23 b20 b21 b22 b23 - // a30 a31 a32 a33 b30 b31 b32 b33 - const __m128i transpose0_0 = _mm_unpacklo_epi16(*in0, *in1); - const __m128i transpose0_1 = _mm_unpacklo_epi16(*in2, *in3); - const __m128i transpose0_2 = _mm_unpackhi_epi16(*in0, *in1); - const __m128i transpose0_3 = _mm_unpackhi_epi16(*in2, *in3); - // a00 a10 a01 a11 a02 a12 a03 a13 - // a20 a30 a21 a31 a22 a32 a23 a33 - // b00 b10 b01 b11 b02 b12 b03 b13 - // b20 b30 b21 b31 b22 b32 b23 b33 - const __m128i transpose1_0 = _mm_unpacklo_epi32(transpose0_0, transpose0_1); - const __m128i transpose1_1 = _mm_unpacklo_epi32(transpose0_2, transpose0_3); - const __m128i transpose1_2 = _mm_unpackhi_epi32(transpose0_0, transpose0_1); - const __m128i transpose1_3 = _mm_unpackhi_epi32(transpose0_2, transpose0_3); - // a00 a10 a20 a30 a01 a11 a21 a31 - // b00 b10 b20 b30 b01 b11 b21 b31 - // a02 a12 a22 a32 a03 a13 a23 a33 - // b02 b12 a22 b32 b03 b13 b23 b33 - *out0 = _mm_unpacklo_epi64(transpose1_0, transpose1_1); - *out1 = _mm_unpackhi_epi64(transpose1_0, transpose1_1); - *out2 = _mm_unpacklo_epi64(transpose1_2, transpose1_3); - *out3 = _mm_unpackhi_epi64(transpose1_2, transpose1_3); - // a00 a10 a20 a30 b00 b10 b20 b30 - // a01 a11 a21 a31 b01 b11 b21 b31 - // a02 a12 a22 a32 b02 b12 b22 b32 - // a03 a13 a23 a33 b03 b13 b23 b33 -} - -//------------------------------------------------------------------------------ -// Channel mixing. - -// Function used several times in VP8PlanarTo24b. -// It samples the in buffer as follows: one every two unsigned char is stored -// at the beginning of the buffer, while the other half is stored at the end. -#define VP8PlanarTo24bHelper(IN, OUT) \ - do { \ - const __m128i v_mask = _mm_set1_epi16(0x00ff); \ - /* Take one every two upper 8b values.*/ \ - (OUT##0) = _mm_packus_epi16(_mm_and_si128((IN##0), v_mask), \ - _mm_and_si128((IN##1), v_mask)); \ - (OUT##1) = _mm_packus_epi16(_mm_and_si128((IN##2), v_mask), \ - _mm_and_si128((IN##3), v_mask)); \ - (OUT##2) = _mm_packus_epi16(_mm_and_si128((IN##4), v_mask), \ - _mm_and_si128((IN##5), v_mask)); \ - /* Take one every two lower 8b values.*/ \ - (OUT##3) = _mm_packus_epi16(_mm_srli_epi16((IN##0), 8), \ - _mm_srli_epi16((IN##1), 8)); \ - (OUT##4) = _mm_packus_epi16(_mm_srli_epi16((IN##2), 8), \ - _mm_srli_epi16((IN##3), 8)); \ - (OUT##5) = _mm_packus_epi16(_mm_srli_epi16((IN##4), 8), \ - _mm_srli_epi16((IN##5), 8)); \ - } while (0) - -// Pack the planar buffers -// rrrr... rrrr... gggg... gggg... bbbb... bbbb.... -// triplet by triplet in the output buffer rgb as rgbrgbrgbrgb ... -static WEBP_INLINE void VP8PlanarTo24b_SSE2( - __m128i* const in0, __m128i* const in1, __m128i* const in2, - __m128i* const in3, __m128i* const in4, __m128i* const in5) { - // The input is 6 registers of sixteen 8b but for the sake of explanation, - // let's take 6 registers of four 8b values. - // To pack, we will keep taking one every two 8b integer and move it - // around as follows: - // Input: - // r0r1r2r3 | r4r5r6r7 | g0g1g2g3 | g4g5g6g7 | b0b1b2b3 | b4b5b6b7 - // Split the 6 registers in two sets of 3 registers: the first set as the even - // 8b bytes, the second the odd ones: - // r0r2r4r6 | g0g2g4g6 | b0b2b4b6 | r1r3r5r7 | g1g3g5g7 | b1b3b5b7 - // Repeat the same permutations twice more: - // r0r4g0g4 | b0b4r1r5 | g1g5b1b5 | r2r6g2g6 | b2b6r3r7 | g3g7b3b7 - // r0g0b0r1 | g1b1r2g2 | b2r3g3b3 | r4g4b4r5 | g5b5r6g6 | b6r7g7b7 - __m128i tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; - VP8PlanarTo24bHelper(*in, tmp); - VP8PlanarTo24bHelper(tmp, *in); - VP8PlanarTo24bHelper(*in, tmp); - // We need to do it two more times than the example as we have sixteen bytes. - { - __m128i out0, out1, out2, out3, out4, out5; - VP8PlanarTo24bHelper(tmp, out); - VP8PlanarTo24bHelper(out, *in); - } -} - -#undef VP8PlanarTo24bHelper - -// Convert four packed four-channel buffers like argbargbargbargb... into the -// split channels aaaaa ... rrrr ... gggg .... bbbbb ...... -static WEBP_INLINE void VP8L32bToPlanar_SSE2(__m128i* const in0, - __m128i* const in1, - __m128i* const in2, - __m128i* const in3) { - // Column-wise transpose. - const __m128i A0 = _mm_unpacklo_epi8(*in0, *in1); - const __m128i A1 = _mm_unpackhi_epi8(*in0, *in1); - const __m128i A2 = _mm_unpacklo_epi8(*in2, *in3); - const __m128i A3 = _mm_unpackhi_epi8(*in2, *in3); - const __m128i B0 = _mm_unpacklo_epi8(A0, A1); - const __m128i B1 = _mm_unpackhi_epi8(A0, A1); - const __m128i B2 = _mm_unpacklo_epi8(A2, A3); - const __m128i B3 = _mm_unpackhi_epi8(A2, A3); - // C0 = g7 g6 ... g1 g0 | b7 b6 ... b1 b0 - // C1 = a7 a6 ... a1 a0 | r7 r6 ... r1 r0 - const __m128i C0 = _mm_unpacklo_epi8(B0, B1); - const __m128i C1 = _mm_unpackhi_epi8(B0, B1); - const __m128i C2 = _mm_unpacklo_epi8(B2, B3); - const __m128i C3 = _mm_unpackhi_epi8(B2, B3); - // Gather the channels. - *in0 = _mm_unpackhi_epi64(C1, C3); - *in1 = _mm_unpacklo_epi64(C1, C3); - *in2 = _mm_unpackhi_epi64(C0, C2); - *in3 = _mm_unpacklo_epi64(C0, C2); -} - -#endif // WEBP_USE_SSE2 - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DSP_COMMON_SSE2_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/common_sse41.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/common_sse41.h deleted file mode 100644 index 2f173c02..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/common_sse41.h +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE4 code common to several files. -// -// Author: Vincent Rabaud (vrabaud@google.com) - -#ifndef WEBP_DSP_COMMON_SSE41_H_ -#define WEBP_DSP_COMMON_SSE41_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(WEBP_USE_SSE41) -#include - -//------------------------------------------------------------------------------ -// Channel mixing. -// Shuffles the input buffer as A0 0 0 A1 0 0 A2 ... -#define WEBP_SSE41_SHUFF(OUT, IN0, IN1) \ - OUT##0 = _mm_shuffle_epi8(*IN0, shuff0); \ - OUT##1 = _mm_shuffle_epi8(*IN0, shuff1); \ - OUT##2 = _mm_shuffle_epi8(*IN0, shuff2); \ - OUT##3 = _mm_shuffle_epi8(*IN1, shuff0); \ - OUT##4 = _mm_shuffle_epi8(*IN1, shuff1); \ - OUT##5 = _mm_shuffle_epi8(*IN1, shuff2); - -// Pack the planar buffers -// rrrr... rrrr... gggg... gggg... bbbb... bbbb.... -// triplet by triplet in the output buffer rgb as rgbrgbrgbrgb ... -static WEBP_INLINE void VP8PlanarTo24b_SSE41( - __m128i* const in0, __m128i* const in1, __m128i* const in2, - __m128i* const in3, __m128i* const in4, __m128i* const in5) { - __m128i R0, R1, R2, R3, R4, R5; - __m128i G0, G1, G2, G3, G4, G5; - __m128i B0, B1, B2, B3, B4, B5; - - // Process R. - { - const __m128i shuff0 = _mm_set_epi8( - 5, -1, -1, 4, -1, -1, 3, -1, -1, 2, -1, -1, 1, -1, -1, 0); - const __m128i shuff1 = _mm_set_epi8( - -1, 10, -1, -1, 9, -1, -1, 8, -1, -1, 7, -1, -1, 6, -1, -1); - const __m128i shuff2 = _mm_set_epi8( - -1, -1, 15, -1, -1, 14, -1, -1, 13, -1, -1, 12, -1, -1, 11, -1); - WEBP_SSE41_SHUFF(R, in0, in1) - } - - // Process G. - { - // Same as before, just shifted to the left by one and including the right - // padding. - const __m128i shuff0 = _mm_set_epi8( - -1, -1, 4, -1, -1, 3, -1, -1, 2, -1, -1, 1, -1, -1, 0, -1); - const __m128i shuff1 = _mm_set_epi8( - 10, -1, -1, 9, -1, -1, 8, -1, -1, 7, -1, -1, 6, -1, -1, 5); - const __m128i shuff2 = _mm_set_epi8( - -1, 15, -1, -1, 14, -1, -1, 13, -1, -1, 12, -1, -1, 11, -1, -1); - WEBP_SSE41_SHUFF(G, in2, in3) - } - - // Process B. - { - const __m128i shuff0 = _mm_set_epi8( - -1, 4, -1, -1, 3, -1, -1, 2, -1, -1, 1, -1, -1, 0, -1, -1); - const __m128i shuff1 = _mm_set_epi8( - -1, -1, 9, -1, -1, 8, -1, -1, 7, -1, -1, 6, -1, -1, 5, -1); - const __m128i shuff2 = _mm_set_epi8( - 15, -1, -1, 14, -1, -1, 13, -1, -1, 12, -1, -1, 11, -1, -1, 10); - WEBP_SSE41_SHUFF(B, in4, in5) - } - - // OR the different channels. - { - const __m128i RG0 = _mm_or_si128(R0, G0); - const __m128i RG1 = _mm_or_si128(R1, G1); - const __m128i RG2 = _mm_or_si128(R2, G2); - const __m128i RG3 = _mm_or_si128(R3, G3); - const __m128i RG4 = _mm_or_si128(R4, G4); - const __m128i RG5 = _mm_or_si128(R5, G5); - *in0 = _mm_or_si128(RG0, B0); - *in1 = _mm_or_si128(RG1, B1); - *in2 = _mm_or_si128(RG2, B2); - *in3 = _mm_or_si128(RG3, B3); - *in4 = _mm_or_si128(RG4, B4); - *in5 = _mm_or_si128(RG5, B5); - } -} - -#undef WEBP_SSE41_SHUFF - -// Convert four packed four-channel buffers like argbargbargbargb... into the -// split channels aaaaa ... rrrr ... gggg .... bbbbb ...... -static WEBP_INLINE void VP8L32bToPlanar_SSE41(__m128i* const in0, - __m128i* const in1, - __m128i* const in2, - __m128i* const in3) { - // aaaarrrrggggbbbb - const __m128i shuff0 = - _mm_set_epi8(15, 11, 7, 3, 14, 10, 6, 2, 13, 9, 5, 1, 12, 8, 4, 0); - const __m128i A0 = _mm_shuffle_epi8(*in0, shuff0); - const __m128i A1 = _mm_shuffle_epi8(*in1, shuff0); - const __m128i A2 = _mm_shuffle_epi8(*in2, shuff0); - const __m128i A3 = _mm_shuffle_epi8(*in3, shuff0); - // A0A1R0R1 - // G0G1B0B1 - // A2A3R2R3 - // G0G1B0B1 - const __m128i B0 = _mm_unpacklo_epi32(A0, A1); - const __m128i B1 = _mm_unpackhi_epi32(A0, A1); - const __m128i B2 = _mm_unpacklo_epi32(A2, A3); - const __m128i B3 = _mm_unpackhi_epi32(A2, A3); - *in3 = _mm_unpacklo_epi64(B0, B2); - *in2 = _mm_unpackhi_epi64(B0, B2); - *in1 = _mm_unpacklo_epi64(B1, B3); - *in0 = _mm_unpackhi_epi64(B1, B3); -} - -#endif // WEBP_USE_SSE41 - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DSP_COMMON_SSE41_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost.c deleted file mode 100644 index cc681cdd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost.c +++ /dev/null @@ -1,411 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" -#include "src/enc/cost_enc.h" - -//------------------------------------------------------------------------------ -// Boolean-cost cost table - -const uint16_t VP8EntropyCost[256] = { - 1792, 1792, 1792, 1536, 1536, 1408, 1366, 1280, 1280, 1216, - 1178, 1152, 1110, 1076, 1061, 1024, 1024, 992, 968, 951, - 939, 911, 896, 878, 871, 854, 838, 820, 811, 794, - 786, 768, 768, 752, 740, 732, 720, 709, 704, 690, - 683, 672, 666, 655, 647, 640, 631, 622, 615, 607, - 598, 592, 586, 576, 572, 564, 559, 555, 547, 541, - 534, 528, 522, 512, 512, 504, 500, 494, 488, 483, - 477, 473, 467, 461, 458, 452, 448, 443, 438, 434, - 427, 424, 419, 415, 410, 406, 403, 399, 394, 390, - 384, 384, 377, 374, 370, 366, 362, 359, 355, 351, - 347, 342, 342, 336, 333, 330, 326, 323, 320, 316, - 312, 308, 305, 302, 299, 296, 293, 288, 287, 283, - 280, 277, 274, 272, 268, 266, 262, 256, 256, 256, - 251, 248, 245, 242, 240, 237, 234, 232, 228, 226, - 223, 221, 218, 216, 214, 211, 208, 205, 203, 201, - 198, 196, 192, 191, 188, 187, 183, 181, 179, 176, - 175, 171, 171, 168, 165, 163, 160, 159, 156, 154, - 152, 150, 148, 146, 144, 142, 139, 138, 135, 133, - 131, 128, 128, 125, 123, 121, 119, 117, 115, 113, - 111, 110, 107, 105, 103, 102, 100, 98, 96, 94, - 92, 91, 89, 86, 86, 83, 82, 80, 77, 76, - 74, 73, 71, 69, 67, 66, 64, 63, 61, 59, - 57, 55, 54, 52, 51, 49, 47, 46, 44, 43, - 41, 40, 38, 36, 35, 33, 32, 30, 29, 27, - 25, 24, 22, 21, 19, 18, 16, 15, 13, 12, - 10, 9, 7, 6, 4, 3 -}; - -//------------------------------------------------------------------------------ -// Level cost tables - -// fixed costs for coding levels, deduce from the coding tree. -// This is only the part that doesn't depend on the probability state. -const uint16_t VP8LevelFixedCosts[MAX_LEVEL + 1] = { - 0, 256, 256, 256, 256, 432, 618, 630, - 731, 640, 640, 828, 901, 948, 1021, 1101, - 1174, 1221, 1294, 1042, 1085, 1115, 1158, 1202, - 1245, 1275, 1318, 1337, 1380, 1410, 1453, 1497, - 1540, 1570, 1613, 1280, 1295, 1317, 1332, 1358, - 1373, 1395, 1410, 1454, 1469, 1491, 1506, 1532, - 1547, 1569, 1584, 1601, 1616, 1638, 1653, 1679, - 1694, 1716, 1731, 1775, 1790, 1812, 1827, 1853, - 1868, 1890, 1905, 1727, 1733, 1742, 1748, 1759, - 1765, 1774, 1780, 1800, 1806, 1815, 1821, 1832, - 1838, 1847, 1853, 1878, 1884, 1893, 1899, 1910, - 1916, 1925, 1931, 1951, 1957, 1966, 1972, 1983, - 1989, 1998, 2004, 2027, 2033, 2042, 2048, 2059, - 2065, 2074, 2080, 2100, 2106, 2115, 2121, 2132, - 2138, 2147, 2153, 2178, 2184, 2193, 2199, 2210, - 2216, 2225, 2231, 2251, 2257, 2266, 2272, 2283, - 2289, 2298, 2304, 2168, 2174, 2183, 2189, 2200, - 2206, 2215, 2221, 2241, 2247, 2256, 2262, 2273, - 2279, 2288, 2294, 2319, 2325, 2334, 2340, 2351, - 2357, 2366, 2372, 2392, 2398, 2407, 2413, 2424, - 2430, 2439, 2445, 2468, 2474, 2483, 2489, 2500, - 2506, 2515, 2521, 2541, 2547, 2556, 2562, 2573, - 2579, 2588, 2594, 2619, 2625, 2634, 2640, 2651, - 2657, 2666, 2672, 2692, 2698, 2707, 2713, 2724, - 2730, 2739, 2745, 2540, 2546, 2555, 2561, 2572, - 2578, 2587, 2593, 2613, 2619, 2628, 2634, 2645, - 2651, 2660, 2666, 2691, 2697, 2706, 2712, 2723, - 2729, 2738, 2744, 2764, 2770, 2779, 2785, 2796, - 2802, 2811, 2817, 2840, 2846, 2855, 2861, 2872, - 2878, 2887, 2893, 2913, 2919, 2928, 2934, 2945, - 2951, 2960, 2966, 2991, 2997, 3006, 3012, 3023, - 3029, 3038, 3044, 3064, 3070, 3079, 3085, 3096, - 3102, 3111, 3117, 2981, 2987, 2996, 3002, 3013, - 3019, 3028, 3034, 3054, 3060, 3069, 3075, 3086, - 3092, 3101, 3107, 3132, 3138, 3147, 3153, 3164, - 3170, 3179, 3185, 3205, 3211, 3220, 3226, 3237, - 3243, 3252, 3258, 3281, 3287, 3296, 3302, 3313, - 3319, 3328, 3334, 3354, 3360, 3369, 3375, 3386, - 3392, 3401, 3407, 3432, 3438, 3447, 3453, 3464, - 3470, 3479, 3485, 3505, 3511, 3520, 3526, 3537, - 3543, 3552, 3558, 2816, 2822, 2831, 2837, 2848, - 2854, 2863, 2869, 2889, 2895, 2904, 2910, 2921, - 2927, 2936, 2942, 2967, 2973, 2982, 2988, 2999, - 3005, 3014, 3020, 3040, 3046, 3055, 3061, 3072, - 3078, 3087, 3093, 3116, 3122, 3131, 3137, 3148, - 3154, 3163, 3169, 3189, 3195, 3204, 3210, 3221, - 3227, 3236, 3242, 3267, 3273, 3282, 3288, 3299, - 3305, 3314, 3320, 3340, 3346, 3355, 3361, 3372, - 3378, 3387, 3393, 3257, 3263, 3272, 3278, 3289, - 3295, 3304, 3310, 3330, 3336, 3345, 3351, 3362, - 3368, 3377, 3383, 3408, 3414, 3423, 3429, 3440, - 3446, 3455, 3461, 3481, 3487, 3496, 3502, 3513, - 3519, 3528, 3534, 3557, 3563, 3572, 3578, 3589, - 3595, 3604, 3610, 3630, 3636, 3645, 3651, 3662, - 3668, 3677, 3683, 3708, 3714, 3723, 3729, 3740, - 3746, 3755, 3761, 3781, 3787, 3796, 3802, 3813, - 3819, 3828, 3834, 3629, 3635, 3644, 3650, 3661, - 3667, 3676, 3682, 3702, 3708, 3717, 3723, 3734, - 3740, 3749, 3755, 3780, 3786, 3795, 3801, 3812, - 3818, 3827, 3833, 3853, 3859, 3868, 3874, 3885, - 3891, 3900, 3906, 3929, 3935, 3944, 3950, 3961, - 3967, 3976, 3982, 4002, 4008, 4017, 4023, 4034, - 4040, 4049, 4055, 4080, 4086, 4095, 4101, 4112, - 4118, 4127, 4133, 4153, 4159, 4168, 4174, 4185, - 4191, 4200, 4206, 4070, 4076, 4085, 4091, 4102, - 4108, 4117, 4123, 4143, 4149, 4158, 4164, 4175, - 4181, 4190, 4196, 4221, 4227, 4236, 4242, 4253, - 4259, 4268, 4274, 4294, 4300, 4309, 4315, 4326, - 4332, 4341, 4347, 4370, 4376, 4385, 4391, 4402, - 4408, 4417, 4423, 4443, 4449, 4458, 4464, 4475, - 4481, 4490, 4496, 4521, 4527, 4536, 4542, 4553, - 4559, 4568, 4574, 4594, 4600, 4609, 4615, 4626, - 4632, 4641, 4647, 3515, 3521, 3530, 3536, 3547, - 3553, 3562, 3568, 3588, 3594, 3603, 3609, 3620, - 3626, 3635, 3641, 3666, 3672, 3681, 3687, 3698, - 3704, 3713, 3719, 3739, 3745, 3754, 3760, 3771, - 3777, 3786, 3792, 3815, 3821, 3830, 3836, 3847, - 3853, 3862, 3868, 3888, 3894, 3903, 3909, 3920, - 3926, 3935, 3941, 3966, 3972, 3981, 3987, 3998, - 4004, 4013, 4019, 4039, 4045, 4054, 4060, 4071, - 4077, 4086, 4092, 3956, 3962, 3971, 3977, 3988, - 3994, 4003, 4009, 4029, 4035, 4044, 4050, 4061, - 4067, 4076, 4082, 4107, 4113, 4122, 4128, 4139, - 4145, 4154, 4160, 4180, 4186, 4195, 4201, 4212, - 4218, 4227, 4233, 4256, 4262, 4271, 4277, 4288, - 4294, 4303, 4309, 4329, 4335, 4344, 4350, 4361, - 4367, 4376, 4382, 4407, 4413, 4422, 4428, 4439, - 4445, 4454, 4460, 4480, 4486, 4495, 4501, 4512, - 4518, 4527, 4533, 4328, 4334, 4343, 4349, 4360, - 4366, 4375, 4381, 4401, 4407, 4416, 4422, 4433, - 4439, 4448, 4454, 4479, 4485, 4494, 4500, 4511, - 4517, 4526, 4532, 4552, 4558, 4567, 4573, 4584, - 4590, 4599, 4605, 4628, 4634, 4643, 4649, 4660, - 4666, 4675, 4681, 4701, 4707, 4716, 4722, 4733, - 4739, 4748, 4754, 4779, 4785, 4794, 4800, 4811, - 4817, 4826, 4832, 4852, 4858, 4867, 4873, 4884, - 4890, 4899, 4905, 4769, 4775, 4784, 4790, 4801, - 4807, 4816, 4822, 4842, 4848, 4857, 4863, 4874, - 4880, 4889, 4895, 4920, 4926, 4935, 4941, 4952, - 4958, 4967, 4973, 4993, 4999, 5008, 5014, 5025, - 5031, 5040, 5046, 5069, 5075, 5084, 5090, 5101, - 5107, 5116, 5122, 5142, 5148, 5157, 5163, 5174, - 5180, 5189, 5195, 5220, 5226, 5235, 5241, 5252, - 5258, 5267, 5273, 5293, 5299, 5308, 5314, 5325, - 5331, 5340, 5346, 4604, 4610, 4619, 4625, 4636, - 4642, 4651, 4657, 4677, 4683, 4692, 4698, 4709, - 4715, 4724, 4730, 4755, 4761, 4770, 4776, 4787, - 4793, 4802, 4808, 4828, 4834, 4843, 4849, 4860, - 4866, 4875, 4881, 4904, 4910, 4919, 4925, 4936, - 4942, 4951, 4957, 4977, 4983, 4992, 4998, 5009, - 5015, 5024, 5030, 5055, 5061, 5070, 5076, 5087, - 5093, 5102, 5108, 5128, 5134, 5143, 5149, 5160, - 5166, 5175, 5181, 5045, 5051, 5060, 5066, 5077, - 5083, 5092, 5098, 5118, 5124, 5133, 5139, 5150, - 5156, 5165, 5171, 5196, 5202, 5211, 5217, 5228, - 5234, 5243, 5249, 5269, 5275, 5284, 5290, 5301, - 5307, 5316, 5322, 5345, 5351, 5360, 5366, 5377, - 5383, 5392, 5398, 5418, 5424, 5433, 5439, 5450, - 5456, 5465, 5471, 5496, 5502, 5511, 5517, 5528, - 5534, 5543, 5549, 5569, 5575, 5584, 5590, 5601, - 5607, 5616, 5622, 5417, 5423, 5432, 5438, 5449, - 5455, 5464, 5470, 5490, 5496, 5505, 5511, 5522, - 5528, 5537, 5543, 5568, 5574, 5583, 5589, 5600, - 5606, 5615, 5621, 5641, 5647, 5656, 5662, 5673, - 5679, 5688, 5694, 5717, 5723, 5732, 5738, 5749, - 5755, 5764, 5770, 5790, 5796, 5805, 5811, 5822, - 5828, 5837, 5843, 5868, 5874, 5883, 5889, 5900, - 5906, 5915, 5921, 5941, 5947, 5956, 5962, 5973, - 5979, 5988, 5994, 5858, 5864, 5873, 5879, 5890, - 5896, 5905, 5911, 5931, 5937, 5946, 5952, 5963, - 5969, 5978, 5984, 6009, 6015, 6024, 6030, 6041, - 6047, 6056, 6062, 6082, 6088, 6097, 6103, 6114, - 6120, 6129, 6135, 6158, 6164, 6173, 6179, 6190, - 6196, 6205, 6211, 6231, 6237, 6246, 6252, 6263, - 6269, 6278, 6284, 6309, 6315, 6324, 6330, 6341, - 6347, 6356, 6362, 6382, 6388, 6397, 6403, 6414, - 6420, 6429, 6435, 3515, 3521, 3530, 3536, 3547, - 3553, 3562, 3568, 3588, 3594, 3603, 3609, 3620, - 3626, 3635, 3641, 3666, 3672, 3681, 3687, 3698, - 3704, 3713, 3719, 3739, 3745, 3754, 3760, 3771, - 3777, 3786, 3792, 3815, 3821, 3830, 3836, 3847, - 3853, 3862, 3868, 3888, 3894, 3903, 3909, 3920, - 3926, 3935, 3941, 3966, 3972, 3981, 3987, 3998, - 4004, 4013, 4019, 4039, 4045, 4054, 4060, 4071, - 4077, 4086, 4092, 3956, 3962, 3971, 3977, 3988, - 3994, 4003, 4009, 4029, 4035, 4044, 4050, 4061, - 4067, 4076, 4082, 4107, 4113, 4122, 4128, 4139, - 4145, 4154, 4160, 4180, 4186, 4195, 4201, 4212, - 4218, 4227, 4233, 4256, 4262, 4271, 4277, 4288, - 4294, 4303, 4309, 4329, 4335, 4344, 4350, 4361, - 4367, 4376, 4382, 4407, 4413, 4422, 4428, 4439, - 4445, 4454, 4460, 4480, 4486, 4495, 4501, 4512, - 4518, 4527, 4533, 4328, 4334, 4343, 4349, 4360, - 4366, 4375, 4381, 4401, 4407, 4416, 4422, 4433, - 4439, 4448, 4454, 4479, 4485, 4494, 4500, 4511, - 4517, 4526, 4532, 4552, 4558, 4567, 4573, 4584, - 4590, 4599, 4605, 4628, 4634, 4643, 4649, 4660, - 4666, 4675, 4681, 4701, 4707, 4716, 4722, 4733, - 4739, 4748, 4754, 4779, 4785, 4794, 4800, 4811, - 4817, 4826, 4832, 4852, 4858, 4867, 4873, 4884, - 4890, 4899, 4905, 4769, 4775, 4784, 4790, 4801, - 4807, 4816, 4822, 4842, 4848, 4857, 4863, 4874, - 4880, 4889, 4895, 4920, 4926, 4935, 4941, 4952, - 4958, 4967, 4973, 4993, 4999, 5008, 5014, 5025, - 5031, 5040, 5046, 5069, 5075, 5084, 5090, 5101, - 5107, 5116, 5122, 5142, 5148, 5157, 5163, 5174, - 5180, 5189, 5195, 5220, 5226, 5235, 5241, 5252, - 5258, 5267, 5273, 5293, 5299, 5308, 5314, 5325, - 5331, 5340, 5346, 4604, 4610, 4619, 4625, 4636, - 4642, 4651, 4657, 4677, 4683, 4692, 4698, 4709, - 4715, 4724, 4730, 4755, 4761, 4770, 4776, 4787, - 4793, 4802, 4808, 4828, 4834, 4843, 4849, 4860, - 4866, 4875, 4881, 4904, 4910, 4919, 4925, 4936, - 4942, 4951, 4957, 4977, 4983, 4992, 4998, 5009, - 5015, 5024, 5030, 5055, 5061, 5070, 5076, 5087, - 5093, 5102, 5108, 5128, 5134, 5143, 5149, 5160, - 5166, 5175, 5181, 5045, 5051, 5060, 5066, 5077, - 5083, 5092, 5098, 5118, 5124, 5133, 5139, 5150, - 5156, 5165, 5171, 5196, 5202, 5211, 5217, 5228, - 5234, 5243, 5249, 5269, 5275, 5284, 5290, 5301, - 5307, 5316, 5322, 5345, 5351, 5360, 5366, 5377, - 5383, 5392, 5398, 5418, 5424, 5433, 5439, 5450, - 5456, 5465, 5471, 5496, 5502, 5511, 5517, 5528, - 5534, 5543, 5549, 5569, 5575, 5584, 5590, 5601, - 5607, 5616, 5622, 5417, 5423, 5432, 5438, 5449, - 5455, 5464, 5470, 5490, 5496, 5505, 5511, 5522, - 5528, 5537, 5543, 5568, 5574, 5583, 5589, 5600, - 5606, 5615, 5621, 5641, 5647, 5656, 5662, 5673, - 5679, 5688, 5694, 5717, 5723, 5732, 5738, 5749, - 5755, 5764, 5770, 5790, 5796, 5805, 5811, 5822, - 5828, 5837, 5843, 5868, 5874, 5883, 5889, 5900, - 5906, 5915, 5921, 5941, 5947, 5956, 5962, 5973, - 5979, 5988, 5994, 5858, 5864, 5873, 5879, 5890, - 5896, 5905, 5911, 5931, 5937, 5946, 5952, 5963, - 5969, 5978, 5984, 6009, 6015, 6024, 6030, 6041, - 6047, 6056, 6062, 6082, 6088, 6097, 6103, 6114, - 6120, 6129, 6135, 6158, 6164, 6173, 6179, 6190, - 6196, 6205, 6211, 6231, 6237, 6246, 6252, 6263, - 6269, 6278, 6284, 6309, 6315, 6324, 6330, 6341, - 6347, 6356, 6362, 6382, 6388, 6397, 6403, 6414, - 6420, 6429, 6435, 5303, 5309, 5318, 5324, 5335, - 5341, 5350, 5356, 5376, 5382, 5391, 5397, 5408, - 5414, 5423, 5429, 5454, 5460, 5469, 5475, 5486, - 5492, 5501, 5507, 5527, 5533, 5542, 5548, 5559, - 5565, 5574, 5580, 5603, 5609, 5618, 5624, 5635, - 5641, 5650, 5656, 5676, 5682, 5691, 5697, 5708, - 5714, 5723, 5729, 5754, 5760, 5769, 5775, 5786, - 5792, 5801, 5807, 5827, 5833, 5842, 5848, 5859, - 5865, 5874, 5880, 5744, 5750, 5759, 5765, 5776, - 5782, 5791, 5797, 5817, 5823, 5832, 5838, 5849, - 5855, 5864, 5870, 5895, 5901, 5910, 5916, 5927, - 5933, 5942, 5948, 5968, 5974, 5983, 5989, 6000, - 6006, 6015, 6021, 6044, 6050, 6059, 6065, 6076, - 6082, 6091, 6097, 6117, 6123, 6132, 6138, 6149, - 6155, 6164, 6170, 6195, 6201, 6210, 6216, 6227, - 6233, 6242, 6248, 6268, 6274, 6283, 6289, 6300, - 6306, 6315, 6321, 6116, 6122, 6131, 6137, 6148, - 6154, 6163, 6169, 6189, 6195, 6204, 6210, 6221, - 6227, 6236, 6242, 6267, 6273, 6282, 6288, 6299, - 6305, 6314, 6320, 6340, 6346, 6355, 6361, 6372, - 6378, 6387, 6393, 6416, 6422, 6431, 6437, 6448, - 6454, 6463, 6469, 6489, 6495, 6504, 6510, 6521, - 6527, 6536, 6542, 6567, 6573, 6582, 6588, 6599, - 6605, 6614, 6620, 6640, 6646, 6655, 6661, 6672, - 6678, 6687, 6693, 6557, 6563, 6572, 6578, 6589, - 6595, 6604, 6610, 6630, 6636, 6645, 6651, 6662, - 6668, 6677, 6683, 6708, 6714, 6723, 6729, 6740, - 6746, 6755, 6761, 6781, 6787, 6796, 6802, 6813, - 6819, 6828, 6834, 6857, 6863, 6872, 6878, 6889, - 6895, 6904, 6910, 6930, 6936, 6945, 6951, 6962, - 6968, 6977, 6983, 7008, 7014, 7023, 7029, 7040, - 7046, 7055, 7061, 7081, 7087, 7096, 7102, 7113, - 7119, 7128, 7134, 6392, 6398, 6407, 6413, 6424, - 6430, 6439, 6445, 6465, 6471, 6480, 6486, 6497, - 6503, 6512, 6518, 6543, 6549, 6558, 6564, 6575, - 6581, 6590, 6596, 6616, 6622, 6631, 6637, 6648, - 6654, 6663, 6669, 6692, 6698, 6707, 6713, 6724, - 6730, 6739, 6745, 6765, 6771, 6780, 6786, 6797, - 6803, 6812, 6818, 6843, 6849, 6858, 6864, 6875, - 6881, 6890, 6896, 6916, 6922, 6931, 6937, 6948, - 6954, 6963, 6969, 6833, 6839, 6848, 6854, 6865, - 6871, 6880, 6886, 6906, 6912, 6921, 6927, 6938, - 6944, 6953, 6959, 6984, 6990, 6999, 7005, 7016, - 7022, 7031, 7037, 7057, 7063, 7072, 7078, 7089, - 7095, 7104, 7110, 7133, 7139, 7148, 7154, 7165, - 7171, 7180, 7186, 7206, 7212, 7221, 7227, 7238, - 7244, 7253, 7259, 7284, 7290, 7299, 7305, 7316, - 7322, 7331, 7337, 7357, 7363, 7372, 7378, 7389, - 7395, 7404, 7410, 7205, 7211, 7220, 7226, 7237, - 7243, 7252, 7258, 7278, 7284, 7293, 7299, 7310, - 7316, 7325, 7331, 7356, 7362, 7371, 7377, 7388, - 7394, 7403, 7409, 7429, 7435, 7444, 7450, 7461, - 7467, 7476, 7482, 7505, 7511, 7520, 7526, 7537, - 7543, 7552, 7558, 7578, 7584, 7593, 7599, 7610, - 7616, 7625, 7631, 7656, 7662, 7671, 7677, 7688, - 7694, 7703, 7709, 7729, 7735, 7744, 7750, 7761 -}; - -//------------------------------------------------------------------------------ -// Tables for level coding - -const uint8_t VP8EncBands[16 + 1] = { - 0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, - 0 // sentinel -}; - -//------------------------------------------------------------------------------ -// Mode costs - -static int GetResidualCost_C(int ctx0, const VP8Residual* const res) { - int n = res->first; - // should be prob[VP8EncBands[n]], but it's equivalent for n=0 or 1 - const int p0 = res->prob[n][ctx0][0]; - CostArrayPtr const costs = res->costs; - const uint16_t* t = costs[n][ctx0]; - // bit_cost(1, p0) is already incorporated in t[] tables, but only if ctx != 0 - // (as required by the syntax). For ctx0 == 0, we need to add it here or it'll - // be missing during the loop. - int cost = (ctx0 == 0) ? VP8BitCost(1, p0) : 0; - - if (res->last < 0) { - return VP8BitCost(0, p0); - } - for (; n < res->last; ++n) { - const int v = abs(res->coeffs[n]); - const int ctx = (v >= 2) ? 2 : v; - cost += VP8LevelCost(t, v); - t = costs[n + 1][ctx]; - } - // Last coefficient is always non-zero - { - const int v = abs(res->coeffs[n]); - assert(v != 0); - cost += VP8LevelCost(t, v); - if (n < 15) { - const int b = VP8EncBands[n + 1]; - const int ctx = (v == 1) ? 1 : 2; - const int last_p0 = res->prob[b][ctx][0]; - cost += VP8BitCost(0, last_p0); - } - } - return cost; -} - -static void SetResidualCoeffs_C(const int16_t* const coeffs, - VP8Residual* const res) { - int n; - res->last = -1; - assert(res->first == 0 || coeffs[0] == 0); - for (n = 15; n >= 0; --n) { - if (coeffs[n]) { - res->last = n; - break; - } - } - res->coeffs = coeffs; -} - -//------------------------------------------------------------------------------ -// init function - -VP8GetResidualCostFunc VP8GetResidualCost; -VP8SetResidualCoeffsFunc VP8SetResidualCoeffs; - -extern void VP8EncDspCostInitMIPS32(void); -extern void VP8EncDspCostInitMIPSdspR2(void); -extern void VP8EncDspCostInitSSE2(void); -extern void VP8EncDspCostInitNEON(void); - -WEBP_DSP_INIT_FUNC(VP8EncDspCostInit) { - VP8GetResidualCost = GetResidualCost_C; - VP8SetResidualCoeffs = SetResidualCoeffs_C; - - // If defined, use CPUInfo() to overwrite some pointers with faster versions. - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_MIPS32) - if (VP8GetCPUInfo(kMIPS32)) { - VP8EncDspCostInitMIPS32(); - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - VP8EncDspCostInitMIPSdspR2(); - } -#endif -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - VP8EncDspCostInitSSE2(); - } -#endif -#if defined(WEBP_USE_NEON) - if (VP8GetCPUInfo(kNEON)) { - VP8EncDspCostInitNEON(); - } -#endif - } -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_mips32.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_mips32.c deleted file mode 100644 index 0500f88c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_mips32.c +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Djordje Pesut (djordje.pesut@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS32) - -#include "src/enc/cost_enc.h" - -static int GetResidualCost_MIPS32(int ctx0, const VP8Residual* const res) { - int temp0, temp1; - int v_reg, ctx_reg; - int n = res->first; - // should be prob[VP8EncBands[n]], but it's equivalent for n=0 or 1 - int p0 = res->prob[n][ctx0][0]; - CostArrayPtr const costs = res->costs; - const uint16_t* t = costs[n][ctx0]; - // bit_cost(1, p0) is already incorporated in t[] tables, but only if ctx != 0 - // (as required by the syntax). For ctx0 == 0, we need to add it here or it'll - // be missing during the loop. - int cost = (ctx0 == 0) ? VP8BitCost(1, p0) : 0; - const int16_t* res_coeffs = res->coeffs; - const int res_last = res->last; - const int const_max_level = MAX_VARIABLE_LEVEL; - const int const_2 = 2; - const uint16_t** p_costs = &costs[n][0]; - const size_t inc_p_costs = NUM_CTX * sizeof(*p_costs); - - if (res->last < 0) { - return VP8BitCost(0, p0); - } - - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "subu %[temp1], %[res_last], %[n] \n\t" - "sll %[temp0], %[n], 1 \n\t" - "blez %[temp1], 2f \n\t" - " addu %[res_coeffs], %[res_coeffs], %[temp0] \n\t" - "1: \n\t" - "lh %[v_reg], 0(%[res_coeffs]) \n\t" - "addiu %[n], %[n], 1 \n\t" - "negu %[temp0], %[v_reg] \n\t" - "slti %[temp1], %[v_reg], 0 \n\t" - "movn %[v_reg], %[temp0], %[temp1] \n\t" - "sltiu %[temp0], %[v_reg], 2 \n\t" - "move %[ctx_reg], %[v_reg] \n\t" - "movz %[ctx_reg], %[const_2], %[temp0] \n\t" - "sll %[temp1], %[v_reg], 1 \n\t" - "addu %[temp1], %[temp1], %[VP8LevelFixedCosts] \n\t" - "lhu %[temp1], 0(%[temp1]) \n\t" - "slt %[temp0], %[v_reg], %[const_max_level] \n\t" - "movz %[v_reg], %[const_max_level], %[temp0] \n\t" - "addu %[cost], %[cost], %[temp1] \n\t" - "sll %[v_reg], %[v_reg], 1 \n\t" - "sll %[ctx_reg], %[ctx_reg], 2 \n\t" - "addu %[v_reg], %[v_reg], %[t] \n\t" - "lhu %[temp0], 0(%[v_reg]) \n\t" - "addu %[p_costs], %[p_costs], %[inc_p_costs] \n\t" - "addu %[t], %[p_costs], %[ctx_reg] \n\t" - "addu %[cost], %[cost], %[temp0] \n\t" - "addiu %[res_coeffs], %[res_coeffs], 2 \n\t" - "bne %[n], %[res_last], 1b \n\t" - " lw %[t], 0(%[t]) \n\t" - "2: \n\t" - ".set pop \n\t" - : [cost]"+&r"(cost), [t]"+&r"(t), [n]"+&r"(n), [v_reg]"=&r"(v_reg), - [ctx_reg]"=&r"(ctx_reg), [p_costs]"+&r"(p_costs), [temp0]"=&r"(temp0), - [temp1]"=&r"(temp1), [res_coeffs]"+&r"(res_coeffs) - : [const_2]"r"(const_2), [const_max_level]"r"(const_max_level), - [VP8LevelFixedCosts]"r"(VP8LevelFixedCosts), [res_last]"r"(res_last), - [inc_p_costs]"r"(inc_p_costs) - : "memory" - ); - - // Last coefficient is always non-zero - { - const int v = abs(res->coeffs[n]); - assert(v != 0); - cost += VP8LevelCost(t, v); - if (n < 15) { - const int b = VP8EncBands[n + 1]; - const int ctx = (v == 1) ? 1 : 2; - const int last_p0 = res->prob[b][ctx][0]; - cost += VP8BitCost(0, last_p0); - } - } - return cost; -} - -static void SetResidualCoeffs_MIPS32(const int16_t* const coeffs, - VP8Residual* const res) { - const int16_t* p_coeffs = (int16_t*)coeffs; - int temp0, temp1, temp2, n, n1; - assert(res->first == 0 || coeffs[0] == 0); - - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "addiu %[p_coeffs], %[p_coeffs], 28 \n\t" - "li %[n], 15 \n\t" - "li %[temp2], -1 \n\t" - "0: \n\t" - "ulw %[temp0], 0(%[p_coeffs]) \n\t" - "beqz %[temp0], 1f \n\t" -#if defined(WORDS_BIGENDIAN) - " sll %[temp1], %[temp0], 16 \n\t" -#else - " srl %[temp1], %[temp0], 16 \n\t" -#endif - "addiu %[n1], %[n], -1 \n\t" - "movz %[temp0], %[n1], %[temp1] \n\t" - "movn %[temp0], %[n], %[temp1] \n\t" - "j 2f \n\t" - " addiu %[temp2], %[temp0], 0 \n\t" - "1: \n\t" - "addiu %[n], %[n], -2 \n\t" - "bgtz %[n], 0b \n\t" - " addiu %[p_coeffs], %[p_coeffs], -4 \n\t" - "2: \n\t" - ".set pop \n\t" - : [p_coeffs]"+&r"(p_coeffs), [temp0]"=&r"(temp0), - [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [n]"=&r"(n), [n1]"=&r"(n1) - : - : "memory" - ); - res->last = temp2; - res->coeffs = coeffs; -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspCostInitMIPS32(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitMIPS32(void) { - VP8GetResidualCost = GetResidualCost_MIPS32; - VP8SetResidualCoeffs = SetResidualCoeffs_MIPS32; -} - -#else // !WEBP_USE_MIPS32 - -WEBP_DSP_INIT_STUB(VP8EncDspCostInitMIPS32) - -#endif // WEBP_USE_MIPS32 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_mips_dsp_r2.c deleted file mode 100644 index 51248de7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_mips_dsp_r2.c +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Djordje Pesut (djordje.pesut@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) - -#include "src/enc/cost_enc.h" - -static int GetResidualCost_MIPSdspR2(int ctx0, const VP8Residual* const res) { - int temp0, temp1; - int v_reg, ctx_reg; - int n = res->first; - // should be prob[VP8EncBands[n]], but it's equivalent for n=0 or 1 - int p0 = res->prob[n][ctx0][0]; - CostArrayPtr const costs = res->costs; - const uint16_t* t = costs[n][ctx0]; - // bit_cost(1, p0) is already incorporated in t[] tables, but only if ctx != 0 - // (as required by the syntax). For ctx0 == 0, we need to add it here or it'll - // be missing during the loop. - int cost = (ctx0 == 0) ? VP8BitCost(1, p0) : 0; - const int16_t* res_coeffs = res->coeffs; - const int res_last = res->last; - const int const_max_level = MAX_VARIABLE_LEVEL; - const int const_2 = 2; - const uint16_t** p_costs = &costs[n][0]; - const size_t inc_p_costs = NUM_CTX * sizeof(*p_costs); - - if (res->last < 0) { - return VP8BitCost(0, p0); - } - - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "subu %[temp1], %[res_last], %[n] \n\t" - "blez %[temp1], 2f \n\t" - " nop \n\t" - "1: \n\t" - "sll %[temp0], %[n], 1 \n\t" - "lhx %[v_reg], %[temp0](%[res_coeffs]) \n\t" - "addiu %[n], %[n], 1 \n\t" - "absq_s.w %[v_reg], %[v_reg] \n\t" - "sltiu %[temp0], %[v_reg], 2 \n\t" - "move %[ctx_reg], %[v_reg] \n\t" - "movz %[ctx_reg], %[const_2], %[temp0] \n\t" - "sll %[temp1], %[v_reg], 1 \n\t" - "lhx %[temp1], %[temp1](%[VP8LevelFixedCosts]) \n\t" - "slt %[temp0], %[v_reg], %[const_max_level] \n\t" - "movz %[v_reg], %[const_max_level], %[temp0] \n\t" - "addu %[cost], %[cost], %[temp1] \n\t" - "sll %[v_reg], %[v_reg], 1 \n\t" - "sll %[ctx_reg], %[ctx_reg], 2 \n\t" - "lhx %[temp0], %[v_reg](%[t]) \n\t" - "addu %[p_costs], %[p_costs], %[inc_p_costs] \n\t" - "addu %[t], %[p_costs], %[ctx_reg] \n\t" - "addu %[cost], %[cost], %[temp0] \n\t" - "bne %[n], %[res_last], 1b \n\t" - " lw %[t], 0(%[t]) \n\t" - "2: \n\t" - ".set pop \n\t" - : [cost]"+&r"(cost), [t]"+&r"(t), [n]"+&r"(n), [v_reg]"=&r"(v_reg), - [ctx_reg]"=&r"(ctx_reg), [p_costs]"+&r"(p_costs), [temp0]"=&r"(temp0), - [temp1]"=&r"(temp1) - : [const_2]"r"(const_2), [const_max_level]"r"(const_max_level), - [VP8LevelFixedCosts]"r"(VP8LevelFixedCosts), [res_last]"r"(res_last), - [res_coeffs]"r"(res_coeffs), [inc_p_costs]"r"(inc_p_costs) - : "memory" - ); - - // Last coefficient is always non-zero - { - const int v = abs(res->coeffs[n]); - assert(v != 0); - cost += VP8LevelCost(t, v); - if (n < 15) { - const int b = VP8EncBands[n + 1]; - const int ctx = (v == 1) ? 1 : 2; - const int last_p0 = res->prob[b][ctx][0]; - cost += VP8BitCost(0, last_p0); - } - } - return cost; -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspCostInitMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitMIPSdspR2(void) { - VP8GetResidualCost = GetResidualCost_MIPSdspR2; -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(VP8EncDspCostInitMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_neon.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_neon.c deleted file mode 100644 index 8cc8ce58..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_neon.c +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2018 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// ARM NEON version of cost functions - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_NEON) - -#include "src/dsp/neon.h" -#include "src/enc/cost_enc.h" - -static const uint8_t position[16] = { 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16 }; - -static void SetResidualCoeffs_NEON(const int16_t* const coeffs, - VP8Residual* const res) { - const int16x8_t minus_one = vdupq_n_s16(-1); - const int16x8_t coeffs_0 = vld1q_s16(coeffs); - const int16x8_t coeffs_1 = vld1q_s16(coeffs + 8); - const uint16x8_t eob_0 = vtstq_s16(coeffs_0, minus_one); - const uint16x8_t eob_1 = vtstq_s16(coeffs_1, minus_one); - const uint8x16_t eob = vcombine_u8(vqmovn_u16(eob_0), vqmovn_u16(eob_1)); - const uint8x16_t masked = vandq_u8(eob, vld1q_u8(position)); - -#ifdef __aarch64__ - res->last = vmaxvq_u8(masked) - 1; -#else - const uint8x8_t eob_8x8 = vmax_u8(vget_low_u8(masked), vget_high_u8(masked)); - const uint16x8_t eob_16x8 = vmovl_u8(eob_8x8); - const uint16x4_t eob_16x4 = - vmax_u16(vget_low_u16(eob_16x8), vget_high_u16(eob_16x8)); - const uint32x4_t eob_32x4 = vmovl_u16(eob_16x4); - uint32x2_t eob_32x2 = - vmax_u32(vget_low_u32(eob_32x4), vget_high_u32(eob_32x4)); - eob_32x2 = vpmax_u32(eob_32x2, eob_32x2); - - vst1_lane_s32(&res->last, vreinterpret_s32_u32(eob_32x2), 0); - --res->last; -#endif // __aarch64__ - - res->coeffs = coeffs; -} - -static int GetResidualCost_NEON(int ctx0, const VP8Residual* const res) { - uint8_t levels[16], ctxs[16]; - uint16_t abs_levels[16]; - int n = res->first; - // should be prob[VP8EncBands[n]], but it's equivalent for n=0 or 1 - const int p0 = res->prob[n][ctx0][0]; - CostArrayPtr const costs = res->costs; - const uint16_t* t = costs[n][ctx0]; - // bit_cost(1, p0) is already incorporated in t[] tables, but only if ctx != 0 - // (as required by the syntax). For ctx0 == 0, we need to add it here or it'll - // be missing during the loop. - int cost = (ctx0 == 0) ? VP8BitCost(1, p0) : 0; - - if (res->last < 0) { - return VP8BitCost(0, p0); - } - - { // precompute clamped levels and contexts, packed to 8b. - const uint8x16_t kCst2 = vdupq_n_u8(2); - const uint8x16_t kCst67 = vdupq_n_u8(MAX_VARIABLE_LEVEL); - const int16x8_t c0 = vld1q_s16(res->coeffs); - const int16x8_t c1 = vld1q_s16(res->coeffs + 8); - const uint16x8_t E0 = vreinterpretq_u16_s16(vabsq_s16(c0)); - const uint16x8_t E1 = vreinterpretq_u16_s16(vabsq_s16(c1)); - const uint8x16_t F = vcombine_u8(vqmovn_u16(E0), vqmovn_u16(E1)); - const uint8x16_t G = vminq_u8(F, kCst2); // context = 0,1,2 - const uint8x16_t H = vminq_u8(F, kCst67); // clamp_level in [0..67] - - vst1q_u8(ctxs, G); - vst1q_u8(levels, H); - - vst1q_u16(abs_levels, E0); - vst1q_u16(abs_levels + 8, E1); - } - for (; n < res->last; ++n) { - const int ctx = ctxs[n]; - const int level = levels[n]; - const int flevel = abs_levels[n]; // full level - cost += VP8LevelFixedCosts[flevel] + t[level]; // simplified VP8LevelCost() - t = costs[n + 1][ctx]; - } - // Last coefficient is always non-zero - { - const int level = levels[n]; - const int flevel = abs_levels[n]; - assert(flevel != 0); - cost += VP8LevelFixedCosts[flevel] + t[level]; - if (n < 15) { - const int b = VP8EncBands[n + 1]; - const int ctx = ctxs[n]; - const int last_p0 = res->prob[b][ctx][0]; - cost += VP8BitCost(0, last_p0); - } - } - return cost; -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspCostInitNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitNEON(void) { - VP8SetResidualCoeffs = SetResidualCoeffs_NEON; - VP8GetResidualCost = GetResidualCost_NEON; -} - -#else // !WEBP_USE_NEON - -WEBP_DSP_INIT_STUB(VP8EncDspCostInitNEON) - -#endif // WEBP_USE_NEON diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_sse2.c deleted file mode 100644 index 487a0799..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cost_sse2.c +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE2 version of cost functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE2) -#include - -#include "src/enc/cost_enc.h" -#include "src/enc/vp8i_enc.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ - -static void SetResidualCoeffs_SSE2(const int16_t* const coeffs, - VP8Residual* const res) { - const __m128i c0 = _mm_loadu_si128((const __m128i*)(coeffs + 0)); - const __m128i c1 = _mm_loadu_si128((const __m128i*)(coeffs + 8)); - // Use SSE2 to compare 16 values with a single instruction. - const __m128i zero = _mm_setzero_si128(); - const __m128i m0 = _mm_packs_epi16(c0, c1); - const __m128i m1 = _mm_cmpeq_epi8(m0, zero); - // Get the comparison results as a bitmask into 16bits. Negate the mask to get - // the position of entries that are not equal to zero. We don't need to mask - // out least significant bits according to res->first, since coeffs[0] is 0 - // if res->first > 0. - const uint32_t mask = 0x0000ffffu ^ (uint32_t)_mm_movemask_epi8(m1); - // The position of the most significant non-zero bit indicates the position of - // the last non-zero value. - assert(res->first == 0 || coeffs[0] == 0); - res->last = mask ? BitsLog2Floor(mask) : -1; - res->coeffs = coeffs; -} - -static int GetResidualCost_SSE2(int ctx0, const VP8Residual* const res) { - uint8_t levels[16], ctxs[16]; - uint16_t abs_levels[16]; - int n = res->first; - // should be prob[VP8EncBands[n]], but it's equivalent for n=0 or 1 - const int p0 = res->prob[n][ctx0][0]; - CostArrayPtr const costs = res->costs; - const uint16_t* t = costs[n][ctx0]; - // bit_cost(1, p0) is already incorporated in t[] tables, but only if ctx != 0 - // (as required by the syntax). For ctx0 == 0, we need to add it here or it'll - // be missing during the loop. - int cost = (ctx0 == 0) ? VP8BitCost(1, p0) : 0; - - if (res->last < 0) { - return VP8BitCost(0, p0); - } - - { // precompute clamped levels and contexts, packed to 8b. - const __m128i zero = _mm_setzero_si128(); - const __m128i kCst2 = _mm_set1_epi8(2); - const __m128i kCst67 = _mm_set1_epi8(MAX_VARIABLE_LEVEL); - const __m128i c0 = _mm_loadu_si128((const __m128i*)&res->coeffs[0]); - const __m128i c1 = _mm_loadu_si128((const __m128i*)&res->coeffs[8]); - const __m128i D0 = _mm_sub_epi16(zero, c0); - const __m128i D1 = _mm_sub_epi16(zero, c1); - const __m128i E0 = _mm_max_epi16(c0, D0); // abs(v), 16b - const __m128i E1 = _mm_max_epi16(c1, D1); - const __m128i F = _mm_packs_epi16(E0, E1); - const __m128i G = _mm_min_epu8(F, kCst2); // context = 0,1,2 - const __m128i H = _mm_min_epu8(F, kCst67); // clamp_level in [0..67] - - _mm_storeu_si128((__m128i*)&ctxs[0], G); - _mm_storeu_si128((__m128i*)&levels[0], H); - - _mm_storeu_si128((__m128i*)&abs_levels[0], E0); - _mm_storeu_si128((__m128i*)&abs_levels[8], E1); - } - for (; n < res->last; ++n) { - const int ctx = ctxs[n]; - const int level = levels[n]; - const int flevel = abs_levels[n]; // full level - cost += VP8LevelFixedCosts[flevel] + t[level]; // simplified VP8LevelCost() - t = costs[n + 1][ctx]; - } - // Last coefficient is always non-zero - { - const int level = levels[n]; - const int flevel = abs_levels[n]; - assert(flevel != 0); - cost += VP8LevelFixedCosts[flevel] + t[level]; - if (n < 15) { - const int b = VP8EncBands[n + 1]; - const int ctx = ctxs[n]; - const int last_p0 = res->prob[b][ctx][0]; - cost += VP8BitCost(0, last_p0); - } - } - return cost; -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspCostInitSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitSSE2(void) { - VP8SetResidualCoeffs = SetResidualCoeffs_SSE2; - VP8GetResidualCost = GetResidualCost_SSE2; -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(VP8EncDspCostInitSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cpu.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cpu.c deleted file mode 100644 index 0fa5b6a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/cpu.c +++ /dev/null @@ -1,222 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// CPU detection -// -// Author: Christian Duvivier (cduvivier@google.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_HAVE_NEON_RTCD) -#include -#include -#endif - -#if defined(WEBP_ANDROID_NEON) -#include -#endif - -//------------------------------------------------------------------------------ -// SSE2 detection. -// - -// apple/darwin gcc-4.0.1 defines __PIC__, but not __pic__ with -fPIC. -#if (defined(__pic__) || defined(__PIC__)) && defined(__i386__) -static WEBP_INLINE void GetCPUInfo(int cpu_info[4], int info_type) { - __asm__ volatile ( - "mov %%ebx, %%edi\n" - "cpuid\n" - "xchg %%edi, %%ebx\n" - : "=a"(cpu_info[0]), "=D"(cpu_info[1]), "=c"(cpu_info[2]), "=d"(cpu_info[3]) - : "a"(info_type), "c"(0)); -} -#elif defined(__x86_64__) && \ - (defined(__code_model_medium__) || defined(__code_model_large__)) && \ - defined(__PIC__) -static WEBP_INLINE void GetCPUInfo(int cpu_info[4], int info_type) { - __asm__ volatile ( - "xchg{q}\t{%%rbx}, %q1\n" - "cpuid\n" - "xchg{q}\t{%%rbx}, %q1\n" - : "=a"(cpu_info[0]), "=&r"(cpu_info[1]), "=c"(cpu_info[2]), - "=d"(cpu_info[3]) - : "a"(info_type), "c"(0)); -} -#elif defined(__i386__) || defined(__x86_64__) -static WEBP_INLINE void GetCPUInfo(int cpu_info[4], int info_type) { - __asm__ volatile ( - "cpuid\n" - : "=a"(cpu_info[0]), "=b"(cpu_info[1]), "=c"(cpu_info[2]), "=d"(cpu_info[3]) - : "a"(info_type), "c"(0)); -} -#elif (defined(_M_X64) || defined(_M_IX86)) && \ - defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 150030729 // >= VS2008 SP1 -#include -#define GetCPUInfo(info, type) __cpuidex(info, type, 0) // set ecx=0 -#elif defined(WEBP_MSC_SSE2) -#define GetCPUInfo __cpuid -#endif - -// NaCl has no support for xgetbv or the raw opcode. -#if !defined(__native_client__) && (defined(__i386__) || defined(__x86_64__)) -static WEBP_INLINE uint64_t xgetbv(void) { - const uint32_t ecx = 0; - uint32_t eax, edx; - // Use the raw opcode for xgetbv for compatibility with older toolchains. - __asm__ volatile ( - ".byte 0x0f, 0x01, 0xd0\n" - : "=a"(eax), "=d"(edx) : "c" (ecx)); - return ((uint64_t)edx << 32) | eax; -} -#elif (defined(_M_X64) || defined(_M_IX86)) && \ - defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 160040219 // >= VS2010 SP1 -#include -#define xgetbv() _xgetbv(0) -#elif defined(_MSC_VER) && defined(_M_IX86) -static WEBP_INLINE uint64_t xgetbv(void) { - uint32_t eax_, edx_; - __asm { - xor ecx, ecx // ecx = 0 - // Use the raw opcode for xgetbv for compatibility with older toolchains. - __asm _emit 0x0f __asm _emit 0x01 __asm _emit 0xd0 - mov eax_, eax - mov edx_, edx - } - return ((uint64_t)edx_ << 32) | eax_; -} -#else -#define xgetbv() 0U // no AVX for older x64 or unrecognized toolchains. -#endif - -#if defined(__i386__) || defined(__x86_64__) || defined(WEBP_MSC_SSE2) - -// helper function for run-time detection of slow SSSE3 platforms -static int CheckSlowModel(int info) { - // Table listing display models with longer latencies for the bsr instruction - // (ie 2 cycles vs 10/16 cycles) and some SSSE3 instructions like pshufb. - // Refer to Intel 64 and IA-32 Architectures Optimization Reference Manual. - static const uint8_t kSlowModels[] = { - 0x37, 0x4a, 0x4d, // Silvermont Microarchitecture - 0x1c, 0x26, 0x27 // Atom Microarchitecture - }; - const uint32_t model = ((info & 0xf0000) >> 12) | ((info >> 4) & 0xf); - const uint32_t family = (info >> 8) & 0xf; - if (family == 0x06) { - size_t i; - for (i = 0; i < sizeof(kSlowModels) / sizeof(kSlowModels[0]); ++i) { - if (model == kSlowModels[i]) return 1; - } - } - return 0; -} - -static int x86CPUInfo(CPUFeature feature) { - int max_cpuid_value; - int cpu_info[4]; - int is_intel = 0; - - // get the highest feature value cpuid supports - GetCPUInfo(cpu_info, 0); - max_cpuid_value = cpu_info[0]; - if (max_cpuid_value < 1) { - return 0; - } else { - const int VENDOR_ID_INTEL_EBX = 0x756e6547; // uneG - const int VENDOR_ID_INTEL_EDX = 0x49656e69; // Ieni - const int VENDOR_ID_INTEL_ECX = 0x6c65746e; // letn - is_intel = (cpu_info[1] == VENDOR_ID_INTEL_EBX && - cpu_info[2] == VENDOR_ID_INTEL_ECX && - cpu_info[3] == VENDOR_ID_INTEL_EDX); // genuine Intel? - } - - GetCPUInfo(cpu_info, 1); - if (feature == kSSE2) { - return !!(cpu_info[3] & (1 << 26)); - } - if (feature == kSSE3) { - return !!(cpu_info[2] & (1 << 0)); - } - if (feature == kSlowSSSE3) { - if (is_intel && (cpu_info[2] & (1 << 9))) { // SSSE3? - return CheckSlowModel(cpu_info[0]); - } - return 0; - } - - if (feature == kSSE4_1) { - return !!(cpu_info[2] & (1 << 19)); - } - if (feature == kAVX) { - // bits 27 (OSXSAVE) & 28 (256-bit AVX) - if ((cpu_info[2] & 0x18000000) == 0x18000000) { - // XMM state and YMM state enabled by the OS. - return (xgetbv() & 0x6) == 0x6; - } - } - if (feature == kAVX2) { - if (x86CPUInfo(kAVX) && max_cpuid_value >= 7) { - GetCPUInfo(cpu_info, 7); - return !!(cpu_info[1] & (1 << 5)); - } - } - return 0; -} -VP8CPUInfo VP8GetCPUInfo = x86CPUInfo; -#elif defined(WEBP_ANDROID_NEON) // NB: needs to be before generic NEON test. -static int AndroidCPUInfo(CPUFeature feature) { - const AndroidCpuFamily cpu_family = android_getCpuFamily(); - const uint64_t cpu_features = android_getCpuFeatures(); - if (feature == kNEON) { - return cpu_family == ANDROID_CPU_FAMILY_ARM && - (cpu_features & ANDROID_CPU_ARM_FEATURE_NEON) != 0; - } - return 0; -} -VP8CPUInfo VP8GetCPUInfo = AndroidCPUInfo; -#elif defined(WEBP_USE_NEON) -// define a dummy function to enable turning off NEON at runtime by setting -// VP8DecGetCPUInfo = NULL -static int armCPUInfo(CPUFeature feature) { - if (feature != kNEON) return 0; -#if defined(__linux__) && defined(WEBP_HAVE_NEON_RTCD) - { - int has_neon = 0; - char line[200]; - FILE* const cpuinfo = fopen("/proc/cpuinfo", "r"); - if (cpuinfo == NULL) return 0; - while (fgets(line, sizeof(line), cpuinfo)) { - if (!strncmp(line, "Features", 8)) { - if (strstr(line, " neon ") != NULL) { - has_neon = 1; - break; - } - } - } - fclose(cpuinfo); - return has_neon; - } -#else - return 1; -#endif -} -VP8CPUInfo VP8GetCPUInfo = armCPUInfo; -#elif defined(WEBP_USE_MIPS32) || defined(WEBP_USE_MIPS_DSP_R2) || \ - defined(WEBP_USE_MSA) -static int mipsCPUInfo(CPUFeature feature) { - if ((feature == kMIPS32) || (feature == kMIPSdspR2) || (feature == kMSA)) { - return 1; - } else { - return 0; - } - -} -VP8CPUInfo VP8GetCPUInfo = mipsCPUInfo; -#else -VP8CPUInfo VP8GetCPUInfo = NULL; -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec.c deleted file mode 100644 index 1119842d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec.c +++ /dev/null @@ -1,887 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Speed-critical decoding functions, default plain-C implementations. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include - -#include "src/dsp/dsp.h" -#include "src/dec/vp8i_dec.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ - -static WEBP_INLINE uint8_t clip_8b(int v) { - return (!(v & ~0xff)) ? v : (v < 0) ? 0 : 255; -} - -//------------------------------------------------------------------------------ -// Transforms (Paragraph 14.4) - -#define STORE(x, y, v) \ - dst[(x) + (y) * BPS] = clip_8b(dst[(x) + (y) * BPS] + ((v) >> 3)) - -#define STORE2(y, dc, d, c) do { \ - const int DC = (dc); \ - STORE(0, y, DC + (d)); \ - STORE(1, y, DC + (c)); \ - STORE(2, y, DC - (c)); \ - STORE(3, y, DC - (d)); \ -} while (0) - -#define MUL1(a) ((((a) * 20091) >> 16) + (a)) -#define MUL2(a) (((a) * 35468) >> 16) - -#if !WEBP_NEON_OMIT_C_CODE -static void TransformOne_C(const int16_t* in, uint8_t* dst) { - int C[4 * 4], *tmp; - int i; - tmp = C; - for (i = 0; i < 4; ++i) { // vertical pass - const int a = in[0] + in[8]; // [-4096, 4094] - const int b = in[0] - in[8]; // [-4095, 4095] - const int c = MUL2(in[4]) - MUL1(in[12]); // [-3783, 3783] - const int d = MUL1(in[4]) + MUL2(in[12]); // [-3785, 3781] - tmp[0] = a + d; // [-7881, 7875] - tmp[1] = b + c; // [-7878, 7878] - tmp[2] = b - c; // [-7878, 7878] - tmp[3] = a - d; // [-7877, 7879] - tmp += 4; - in++; - } - // Each pass is expanding the dynamic range by ~3.85 (upper bound). - // The exact value is (2. + (20091 + 35468) / 65536). - // After the second pass, maximum interval is [-3794, 3794], assuming - // an input in [-2048, 2047] interval. We then need to add a dst value - // in the [0, 255] range. - // In the worst case scenario, the input to clip_8b() can be as large as - // [-60713, 60968]. - tmp = C; - for (i = 0; i < 4; ++i) { // horizontal pass - const int dc = tmp[0] + 4; - const int a = dc + tmp[8]; - const int b = dc - tmp[8]; - const int c = MUL2(tmp[4]) - MUL1(tmp[12]); - const int d = MUL1(tmp[4]) + MUL2(tmp[12]); - STORE(0, 0, a + d); - STORE(1, 0, b + c); - STORE(2, 0, b - c); - STORE(3, 0, a - d); - tmp++; - dst += BPS; - } -} - -// Simplified transform when only in[0], in[1] and in[4] are non-zero -static void TransformAC3_C(const int16_t* in, uint8_t* dst) { - const int a = in[0] + 4; - const int c4 = MUL2(in[4]); - const int d4 = MUL1(in[4]); - const int c1 = MUL2(in[1]); - const int d1 = MUL1(in[1]); - STORE2(0, a + d4, d1, c1); - STORE2(1, a + c4, d1, c1); - STORE2(2, a - c4, d1, c1); - STORE2(3, a - d4, d1, c1); -} -#undef MUL1 -#undef MUL2 -#undef STORE2 - -static void TransformTwo_C(const int16_t* in, uint8_t* dst, int do_two) { - TransformOne_C(in, dst); - if (do_two) { - TransformOne_C(in + 16, dst + 4); - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -static void TransformUV_C(const int16_t* in, uint8_t* dst) { - VP8Transform(in + 0 * 16, dst, 1); - VP8Transform(in + 2 * 16, dst + 4 * BPS, 1); -} - -#if !WEBP_NEON_OMIT_C_CODE -static void TransformDC_C(const int16_t* in, uint8_t* dst) { - const int DC = in[0] + 4; - int i, j; - for (j = 0; j < 4; ++j) { - for (i = 0; i < 4; ++i) { - STORE(i, j, DC); - } - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -static void TransformDCUV_C(const int16_t* in, uint8_t* dst) { - if (in[0 * 16]) VP8TransformDC(in + 0 * 16, dst); - if (in[1 * 16]) VP8TransformDC(in + 1 * 16, dst + 4); - if (in[2 * 16]) VP8TransformDC(in + 2 * 16, dst + 4 * BPS); - if (in[3 * 16]) VP8TransformDC(in + 3 * 16, dst + 4 * BPS + 4); -} - -#undef STORE - -//------------------------------------------------------------------------------ -// Paragraph 14.3 - -#if !WEBP_NEON_OMIT_C_CODE -static void TransformWHT_C(const int16_t* in, int16_t* out) { - int tmp[16]; - int i; - for (i = 0; i < 4; ++i) { - const int a0 = in[0 + i] + in[12 + i]; - const int a1 = in[4 + i] + in[ 8 + i]; - const int a2 = in[4 + i] - in[ 8 + i]; - const int a3 = in[0 + i] - in[12 + i]; - tmp[0 + i] = a0 + a1; - tmp[8 + i] = a0 - a1; - tmp[4 + i] = a3 + a2; - tmp[12 + i] = a3 - a2; - } - for (i = 0; i < 4; ++i) { - const int dc = tmp[0 + i * 4] + 3; // w/ rounder - const int a0 = dc + tmp[3 + i * 4]; - const int a1 = tmp[1 + i * 4] + tmp[2 + i * 4]; - const int a2 = tmp[1 + i * 4] - tmp[2 + i * 4]; - const int a3 = dc - tmp[3 + i * 4]; - out[ 0] = (a0 + a1) >> 3; - out[16] = (a3 + a2) >> 3; - out[32] = (a0 - a1) >> 3; - out[48] = (a3 - a2) >> 3; - out += 64; - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -void (*VP8TransformWHT)(const int16_t* in, int16_t* out); - -//------------------------------------------------------------------------------ -// Intra predictions - -#define DST(x, y) dst[(x) + (y) * BPS] - -#if !WEBP_NEON_OMIT_C_CODE -static WEBP_INLINE void TrueMotion(uint8_t* dst, int size) { - const uint8_t* top = dst - BPS; - const uint8_t* const clip0 = VP8kclip1 - top[-1]; - int y; - for (y = 0; y < size; ++y) { - const uint8_t* const clip = clip0 + dst[-1]; - int x; - for (x = 0; x < size; ++x) { - dst[x] = clip[top[x]]; - } - dst += BPS; - } -} -static void TM4_C(uint8_t* dst) { TrueMotion(dst, 4); } -static void TM8uv_C(uint8_t* dst) { TrueMotion(dst, 8); } -static void TM16_C(uint8_t* dst) { TrueMotion(dst, 16); } - -//------------------------------------------------------------------------------ -// 16x16 - -static void VE16_C(uint8_t* dst) { // vertical - int j; - for (j = 0; j < 16; ++j) { - memcpy(dst + j * BPS, dst - BPS, 16); - } -} - -static void HE16_C(uint8_t* dst) { // horizontal - int j; - for (j = 16; j > 0; --j) { - memset(dst, dst[-1], 16); - dst += BPS; - } -} - -static WEBP_INLINE void Put16(int v, uint8_t* dst) { - int j; - for (j = 0; j < 16; ++j) { - memset(dst + j * BPS, v, 16); - } -} - -static void DC16_C(uint8_t* dst) { // DC - int DC = 16; - int j; - for (j = 0; j < 16; ++j) { - DC += dst[-1 + j * BPS] + dst[j - BPS]; - } - Put16(DC >> 5, dst); -} - -static void DC16NoTop_C(uint8_t* dst) { // DC with top samples not available - int DC = 8; - int j; - for (j = 0; j < 16; ++j) { - DC += dst[-1 + j * BPS]; - } - Put16(DC >> 4, dst); -} - -static void DC16NoLeft_C(uint8_t* dst) { // DC with left samples not available - int DC = 8; - int i; - for (i = 0; i < 16; ++i) { - DC += dst[i - BPS]; - } - Put16(DC >> 4, dst); -} - -static void DC16NoTopLeft_C(uint8_t* dst) { // DC with no top and left samples - Put16(0x80, dst); -} -#endif // !WEBP_NEON_OMIT_C_CODE - -VP8PredFunc VP8PredLuma16[NUM_B_DC_MODES]; - -//------------------------------------------------------------------------------ -// 4x4 - -#define AVG3(a, b, c) ((uint8_t)(((a) + 2 * (b) + (c) + 2) >> 2)) -#define AVG2(a, b) (((a) + (b) + 1) >> 1) - -#if !WEBP_NEON_OMIT_C_CODE -static void VE4_C(uint8_t* dst) { // vertical - const uint8_t* top = dst - BPS; - const uint8_t vals[4] = { - AVG3(top[-1], top[0], top[1]), - AVG3(top[ 0], top[1], top[2]), - AVG3(top[ 1], top[2], top[3]), - AVG3(top[ 2], top[3], top[4]) - }; - int i; - for (i = 0; i < 4; ++i) { - memcpy(dst + i * BPS, vals, sizeof(vals)); - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -static void HE4_C(uint8_t* dst) { // horizontal - const int A = dst[-1 - BPS]; - const int B = dst[-1]; - const int C = dst[-1 + BPS]; - const int D = dst[-1 + 2 * BPS]; - const int E = dst[-1 + 3 * BPS]; - WebPUint32ToMem(dst + 0 * BPS, 0x01010101U * AVG3(A, B, C)); - WebPUint32ToMem(dst + 1 * BPS, 0x01010101U * AVG3(B, C, D)); - WebPUint32ToMem(dst + 2 * BPS, 0x01010101U * AVG3(C, D, E)); - WebPUint32ToMem(dst + 3 * BPS, 0x01010101U * AVG3(D, E, E)); -} - -#if !WEBP_NEON_OMIT_C_CODE -static void DC4_C(uint8_t* dst) { // DC - uint32_t dc = 4; - int i; - for (i = 0; i < 4; ++i) dc += dst[i - BPS] + dst[-1 + i * BPS]; - dc >>= 3; - for (i = 0; i < 4; ++i) memset(dst + i * BPS, dc, 4); -} - -static void RD4_C(uint8_t* dst) { // Down-right - const int I = dst[-1 + 0 * BPS]; - const int J = dst[-1 + 1 * BPS]; - const int K = dst[-1 + 2 * BPS]; - const int L = dst[-1 + 3 * BPS]; - const int X = dst[-1 - BPS]; - const int A = dst[0 - BPS]; - const int B = dst[1 - BPS]; - const int C = dst[2 - BPS]; - const int D = dst[3 - BPS]; - DST(0, 3) = AVG3(J, K, L); - DST(1, 3) = DST(0, 2) = AVG3(I, J, K); - DST(2, 3) = DST(1, 2) = DST(0, 1) = AVG3(X, I, J); - DST(3, 3) = DST(2, 2) = DST(1, 1) = DST(0, 0) = AVG3(A, X, I); - DST(3, 2) = DST(2, 1) = DST(1, 0) = AVG3(B, A, X); - DST(3, 1) = DST(2, 0) = AVG3(C, B, A); - DST(3, 0) = AVG3(D, C, B); -} - -static void LD4_C(uint8_t* dst) { // Down-Left - const int A = dst[0 - BPS]; - const int B = dst[1 - BPS]; - const int C = dst[2 - BPS]; - const int D = dst[3 - BPS]; - const int E = dst[4 - BPS]; - const int F = dst[5 - BPS]; - const int G = dst[6 - BPS]; - const int H = dst[7 - BPS]; - DST(0, 0) = AVG3(A, B, C); - DST(1, 0) = DST(0, 1) = AVG3(B, C, D); - DST(2, 0) = DST(1, 1) = DST(0, 2) = AVG3(C, D, E); - DST(3, 0) = DST(2, 1) = DST(1, 2) = DST(0, 3) = AVG3(D, E, F); - DST(3, 1) = DST(2, 2) = DST(1, 3) = AVG3(E, F, G); - DST(3, 2) = DST(2, 3) = AVG3(F, G, H); - DST(3, 3) = AVG3(G, H, H); -} -#endif // !WEBP_NEON_OMIT_C_CODE - -static void VR4_C(uint8_t* dst) { // Vertical-Right - const int I = dst[-1 + 0 * BPS]; - const int J = dst[-1 + 1 * BPS]; - const int K = dst[-1 + 2 * BPS]; - const int X = dst[-1 - BPS]; - const int A = dst[0 - BPS]; - const int B = dst[1 - BPS]; - const int C = dst[2 - BPS]; - const int D = dst[3 - BPS]; - DST(0, 0) = DST(1, 2) = AVG2(X, A); - DST(1, 0) = DST(2, 2) = AVG2(A, B); - DST(2, 0) = DST(3, 2) = AVG2(B, C); - DST(3, 0) = AVG2(C, D); - - DST(0, 3) = AVG3(K, J, I); - DST(0, 2) = AVG3(J, I, X); - DST(0, 1) = DST(1, 3) = AVG3(I, X, A); - DST(1, 1) = DST(2, 3) = AVG3(X, A, B); - DST(2, 1) = DST(3, 3) = AVG3(A, B, C); - DST(3, 1) = AVG3(B, C, D); -} - -static void VL4_C(uint8_t* dst) { // Vertical-Left - const int A = dst[0 - BPS]; - const int B = dst[1 - BPS]; - const int C = dst[2 - BPS]; - const int D = dst[3 - BPS]; - const int E = dst[4 - BPS]; - const int F = dst[5 - BPS]; - const int G = dst[6 - BPS]; - const int H = dst[7 - BPS]; - DST(0, 0) = AVG2(A, B); - DST(1, 0) = DST(0, 2) = AVG2(B, C); - DST(2, 0) = DST(1, 2) = AVG2(C, D); - DST(3, 0) = DST(2, 2) = AVG2(D, E); - - DST(0, 1) = AVG3(A, B, C); - DST(1, 1) = DST(0, 3) = AVG3(B, C, D); - DST(2, 1) = DST(1, 3) = AVG3(C, D, E); - DST(3, 1) = DST(2, 3) = AVG3(D, E, F); - DST(3, 2) = AVG3(E, F, G); - DST(3, 3) = AVG3(F, G, H); -} - -static void HU4_C(uint8_t* dst) { // Horizontal-Up - const int I = dst[-1 + 0 * BPS]; - const int J = dst[-1 + 1 * BPS]; - const int K = dst[-1 + 2 * BPS]; - const int L = dst[-1 + 3 * BPS]; - DST(0, 0) = AVG2(I, J); - DST(2, 0) = DST(0, 1) = AVG2(J, K); - DST(2, 1) = DST(0, 2) = AVG2(K, L); - DST(1, 0) = AVG3(I, J, K); - DST(3, 0) = DST(1, 1) = AVG3(J, K, L); - DST(3, 1) = DST(1, 2) = AVG3(K, L, L); - DST(3, 2) = DST(2, 2) = - DST(0, 3) = DST(1, 3) = DST(2, 3) = DST(3, 3) = L; -} - -static void HD4_C(uint8_t* dst) { // Horizontal-Down - const int I = dst[-1 + 0 * BPS]; - const int J = dst[-1 + 1 * BPS]; - const int K = dst[-1 + 2 * BPS]; - const int L = dst[-1 + 3 * BPS]; - const int X = dst[-1 - BPS]; - const int A = dst[0 - BPS]; - const int B = dst[1 - BPS]; - const int C = dst[2 - BPS]; - - DST(0, 0) = DST(2, 1) = AVG2(I, X); - DST(0, 1) = DST(2, 2) = AVG2(J, I); - DST(0, 2) = DST(2, 3) = AVG2(K, J); - DST(0, 3) = AVG2(L, K); - - DST(3, 0) = AVG3(A, B, C); - DST(2, 0) = AVG3(X, A, B); - DST(1, 0) = DST(3, 1) = AVG3(I, X, A); - DST(1, 1) = DST(3, 2) = AVG3(J, I, X); - DST(1, 2) = DST(3, 3) = AVG3(K, J, I); - DST(1, 3) = AVG3(L, K, J); -} - -#undef DST -#undef AVG3 -#undef AVG2 - -VP8PredFunc VP8PredLuma4[NUM_BMODES]; - -//------------------------------------------------------------------------------ -// Chroma - -#if !WEBP_NEON_OMIT_C_CODE -static void VE8uv_C(uint8_t* dst) { // vertical - int j; - for (j = 0; j < 8; ++j) { - memcpy(dst + j * BPS, dst - BPS, 8); - } -} - -static void HE8uv_C(uint8_t* dst) { // horizontal - int j; - for (j = 0; j < 8; ++j) { - memset(dst, dst[-1], 8); - dst += BPS; - } -} - -// helper for chroma-DC predictions -static WEBP_INLINE void Put8x8uv(uint8_t value, uint8_t* dst) { - int j; - for (j = 0; j < 8; ++j) { - memset(dst + j * BPS, value, 8); - } -} - -static void DC8uv_C(uint8_t* dst) { // DC - int dc0 = 8; - int i; - for (i = 0; i < 8; ++i) { - dc0 += dst[i - BPS] + dst[-1 + i * BPS]; - } - Put8x8uv(dc0 >> 4, dst); -} - -static void DC8uvNoLeft_C(uint8_t* dst) { // DC with no left samples - int dc0 = 4; - int i; - for (i = 0; i < 8; ++i) { - dc0 += dst[i - BPS]; - } - Put8x8uv(dc0 >> 3, dst); -} - -static void DC8uvNoTop_C(uint8_t* dst) { // DC with no top samples - int dc0 = 4; - int i; - for (i = 0; i < 8; ++i) { - dc0 += dst[-1 + i * BPS]; - } - Put8x8uv(dc0 >> 3, dst); -} - -static void DC8uvNoTopLeft_C(uint8_t* dst) { // DC with nothing - Put8x8uv(0x80, dst); -} -#endif // !WEBP_NEON_OMIT_C_CODE - -VP8PredFunc VP8PredChroma8[NUM_B_DC_MODES]; - -//------------------------------------------------------------------------------ -// Edge filtering functions - -#if !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC -// 4 pixels in, 2 pixels out -static WEBP_INLINE void DoFilter2_C(uint8_t* p, int step) { - const int p1 = p[-2*step], p0 = p[-step], q0 = p[0], q1 = p[step]; - const int a = 3 * (q0 - p0) + VP8ksclip1[p1 - q1]; // in [-893,892] - const int a1 = VP8ksclip2[(a + 4) >> 3]; // in [-16,15] - const int a2 = VP8ksclip2[(a + 3) >> 3]; - p[-step] = VP8kclip1[p0 + a2]; - p[ 0] = VP8kclip1[q0 - a1]; -} - -// 4 pixels in, 4 pixels out -static WEBP_INLINE void DoFilter4_C(uint8_t* p, int step) { - const int p1 = p[-2*step], p0 = p[-step], q0 = p[0], q1 = p[step]; - const int a = 3 * (q0 - p0); - const int a1 = VP8ksclip2[(a + 4) >> 3]; - const int a2 = VP8ksclip2[(a + 3) >> 3]; - const int a3 = (a1 + 1) >> 1; - p[-2*step] = VP8kclip1[p1 + a3]; - p[- step] = VP8kclip1[p0 + a2]; - p[ 0] = VP8kclip1[q0 - a1]; - p[ step] = VP8kclip1[q1 - a3]; -} - -// 6 pixels in, 6 pixels out -static WEBP_INLINE void DoFilter6_C(uint8_t* p, int step) { - const int p2 = p[-3*step], p1 = p[-2*step], p0 = p[-step]; - const int q0 = p[0], q1 = p[step], q2 = p[2*step]; - const int a = VP8ksclip1[3 * (q0 - p0) + VP8ksclip1[p1 - q1]]; - // a is in [-128,127], a1 in [-27,27], a2 in [-18,18] and a3 in [-9,9] - const int a1 = (27 * a + 63) >> 7; // eq. to ((3 * a + 7) * 9) >> 7 - const int a2 = (18 * a + 63) >> 7; // eq. to ((2 * a + 7) * 9) >> 7 - const int a3 = (9 * a + 63) >> 7; // eq. to ((1 * a + 7) * 9) >> 7 - p[-3*step] = VP8kclip1[p2 + a3]; - p[-2*step] = VP8kclip1[p1 + a2]; - p[- step] = VP8kclip1[p0 + a1]; - p[ 0] = VP8kclip1[q0 - a1]; - p[ step] = VP8kclip1[q1 - a2]; - p[ 2*step] = VP8kclip1[q2 - a3]; -} - -static WEBP_INLINE int Hev(const uint8_t* p, int step, int thresh) { - const int p1 = p[-2*step], p0 = p[-step], q0 = p[0], q1 = p[step]; - return (VP8kabs0[p1 - p0] > thresh) || (VP8kabs0[q1 - q0] > thresh); -} -#endif // !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC - -#if !WEBP_NEON_OMIT_C_CODE -static WEBP_INLINE int NeedsFilter_C(const uint8_t* p, int step, int t) { - const int p1 = p[-2 * step], p0 = p[-step], q0 = p[0], q1 = p[step]; - return ((4 * VP8kabs0[p0 - q0] + VP8kabs0[p1 - q1]) <= t); -} -#endif // !WEBP_NEON_OMIT_C_CODE - -#if !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC -static WEBP_INLINE int NeedsFilter2_C(const uint8_t* p, - int step, int t, int it) { - const int p3 = p[-4 * step], p2 = p[-3 * step], p1 = p[-2 * step]; - const int p0 = p[-step], q0 = p[0]; - const int q1 = p[step], q2 = p[2 * step], q3 = p[3 * step]; - if ((4 * VP8kabs0[p0 - q0] + VP8kabs0[p1 - q1]) > t) return 0; - return VP8kabs0[p3 - p2] <= it && VP8kabs0[p2 - p1] <= it && - VP8kabs0[p1 - p0] <= it && VP8kabs0[q3 - q2] <= it && - VP8kabs0[q2 - q1] <= it && VP8kabs0[q1 - q0] <= it; -} -#endif // !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC - -//------------------------------------------------------------------------------ -// Simple In-loop filtering (Paragraph 15.2) - -#if !WEBP_NEON_OMIT_C_CODE -static void SimpleVFilter16_C(uint8_t* p, int stride, int thresh) { - int i; - const int thresh2 = 2 * thresh + 1; - for (i = 0; i < 16; ++i) { - if (NeedsFilter_C(p + i, stride, thresh2)) { - DoFilter2_C(p + i, stride); - } - } -} - -static void SimpleHFilter16_C(uint8_t* p, int stride, int thresh) { - int i; - const int thresh2 = 2 * thresh + 1; - for (i = 0; i < 16; ++i) { - if (NeedsFilter_C(p + i * stride, 1, thresh2)) { - DoFilter2_C(p + i * stride, 1); - } - } -} - -static void SimpleVFilter16i_C(uint8_t* p, int stride, int thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4 * stride; - SimpleVFilter16_C(p, stride, thresh); - } -} - -static void SimpleHFilter16i_C(uint8_t* p, int stride, int thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4; - SimpleHFilter16_C(p, stride, thresh); - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -//------------------------------------------------------------------------------ -// Complex In-loop filtering (Paragraph 15.3) - -#if !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC -static WEBP_INLINE void FilterLoop26_C(uint8_t* p, - int hstride, int vstride, int size, - int thresh, int ithresh, - int hev_thresh) { - const int thresh2 = 2 * thresh + 1; - while (size-- > 0) { - if (NeedsFilter2_C(p, hstride, thresh2, ithresh)) { - if (Hev(p, hstride, hev_thresh)) { - DoFilter2_C(p, hstride); - } else { - DoFilter6_C(p, hstride); - } - } - p += vstride; - } -} - -static WEBP_INLINE void FilterLoop24_C(uint8_t* p, - int hstride, int vstride, int size, - int thresh, int ithresh, - int hev_thresh) { - const int thresh2 = 2 * thresh + 1; - while (size-- > 0) { - if (NeedsFilter2_C(p, hstride, thresh2, ithresh)) { - if (Hev(p, hstride, hev_thresh)) { - DoFilter2_C(p, hstride); - } else { - DoFilter4_C(p, hstride); - } - } - p += vstride; - } -} -#endif // !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC - -#if !WEBP_NEON_OMIT_C_CODE -// on macroblock edges -static void VFilter16_C(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26_C(p, stride, 1, 16, thresh, ithresh, hev_thresh); -} - -static void HFilter16_C(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26_C(p, 1, stride, 16, thresh, ithresh, hev_thresh); -} - -// on three inner edges -static void VFilter16i_C(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4 * stride; - FilterLoop24_C(p, stride, 1, 16, thresh, ithresh, hev_thresh); - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -#if !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC -static void HFilter16i_C(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4; - FilterLoop24_C(p, 1, stride, 16, thresh, ithresh, hev_thresh); - } -} -#endif // !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC - -#if !WEBP_NEON_OMIT_C_CODE -// 8-pixels wide variant, for chroma filtering -static void VFilter8_C(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26_C(u, stride, 1, 8, thresh, ithresh, hev_thresh); - FilterLoop26_C(v, stride, 1, 8, thresh, ithresh, hev_thresh); -} -#endif // !WEBP_NEON_OMIT_C_CODE - -#if !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC -static void HFilter8_C(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26_C(u, 1, stride, 8, thresh, ithresh, hev_thresh); - FilterLoop26_C(v, 1, stride, 8, thresh, ithresh, hev_thresh); -} -#endif // !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC - -#if !WEBP_NEON_OMIT_C_CODE -static void VFilter8i_C(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop24_C(u + 4 * stride, stride, 1, 8, thresh, ithresh, hev_thresh); - FilterLoop24_C(v + 4 * stride, stride, 1, 8, thresh, ithresh, hev_thresh); -} -#endif // !WEBP_NEON_OMIT_C_CODE - -#if !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC -static void HFilter8i_C(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop24_C(u + 4, 1, stride, 8, thresh, ithresh, hev_thresh); - FilterLoop24_C(v + 4, 1, stride, 8, thresh, ithresh, hev_thresh); -} -#endif // !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC - -//------------------------------------------------------------------------------ - -static void DitherCombine8x8_C(const uint8_t* dither, uint8_t* dst, - int dst_stride) { - int i, j; - for (j = 0; j < 8; ++j) { - for (i = 0; i < 8; ++i) { - const int delta0 = dither[i] - VP8_DITHER_AMP_CENTER; - const int delta1 = - (delta0 + VP8_DITHER_DESCALE_ROUNDER) >> VP8_DITHER_DESCALE; - dst[i] = clip_8b((int)dst[i] + delta1); - } - dst += dst_stride; - dither += 8; - } -} - -//------------------------------------------------------------------------------ - -VP8DecIdct2 VP8Transform; -VP8DecIdct VP8TransformAC3; -VP8DecIdct VP8TransformUV; -VP8DecIdct VP8TransformDC; -VP8DecIdct VP8TransformDCUV; - -VP8LumaFilterFunc VP8VFilter16; -VP8LumaFilterFunc VP8HFilter16; -VP8ChromaFilterFunc VP8VFilter8; -VP8ChromaFilterFunc VP8HFilter8; -VP8LumaFilterFunc VP8VFilter16i; -VP8LumaFilterFunc VP8HFilter16i; -VP8ChromaFilterFunc VP8VFilter8i; -VP8ChromaFilterFunc VP8HFilter8i; -VP8SimpleFilterFunc VP8SimpleVFilter16; -VP8SimpleFilterFunc VP8SimpleHFilter16; -VP8SimpleFilterFunc VP8SimpleVFilter16i; -VP8SimpleFilterFunc VP8SimpleHFilter16i; - -void (*VP8DitherCombine8x8)(const uint8_t* dither, uint8_t* dst, - int dst_stride); - -extern void VP8DspInitSSE2(void); -extern void VP8DspInitSSE41(void); -extern void VP8DspInitNEON(void); -extern void VP8DspInitMIPS32(void); -extern void VP8DspInitMIPSdspR2(void); -extern void VP8DspInitMSA(void); - -WEBP_DSP_INIT_FUNC(VP8DspInit) { - VP8InitClipTables(); - -#if !WEBP_NEON_OMIT_C_CODE - VP8TransformWHT = TransformWHT_C; - VP8Transform = TransformTwo_C; - VP8TransformDC = TransformDC_C; - VP8TransformAC3 = TransformAC3_C; -#endif - VP8TransformUV = TransformUV_C; - VP8TransformDCUV = TransformDCUV_C; - -#if !WEBP_NEON_OMIT_C_CODE - VP8VFilter16 = VFilter16_C; - VP8VFilter16i = VFilter16i_C; - VP8HFilter16 = HFilter16_C; - VP8VFilter8 = VFilter8_C; - VP8VFilter8i = VFilter8i_C; - VP8SimpleVFilter16 = SimpleVFilter16_C; - VP8SimpleHFilter16 = SimpleHFilter16_C; - VP8SimpleVFilter16i = SimpleVFilter16i_C; - VP8SimpleHFilter16i = SimpleHFilter16i_C; -#endif - -#if !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC - VP8HFilter16i = HFilter16i_C; - VP8HFilter8 = HFilter8_C; - VP8HFilter8i = HFilter8i_C; -#endif - -#if !WEBP_NEON_OMIT_C_CODE - VP8PredLuma4[0] = DC4_C; - VP8PredLuma4[1] = TM4_C; - VP8PredLuma4[2] = VE4_C; - VP8PredLuma4[4] = RD4_C; - VP8PredLuma4[6] = LD4_C; -#endif - - VP8PredLuma4[3] = HE4_C; - VP8PredLuma4[5] = VR4_C; - VP8PredLuma4[7] = VL4_C; - VP8PredLuma4[8] = HD4_C; - VP8PredLuma4[9] = HU4_C; - -#if !WEBP_NEON_OMIT_C_CODE - VP8PredLuma16[0] = DC16_C; - VP8PredLuma16[1] = TM16_C; - VP8PredLuma16[2] = VE16_C; - VP8PredLuma16[3] = HE16_C; - VP8PredLuma16[4] = DC16NoTop_C; - VP8PredLuma16[5] = DC16NoLeft_C; - VP8PredLuma16[6] = DC16NoTopLeft_C; - - VP8PredChroma8[0] = DC8uv_C; - VP8PredChroma8[1] = TM8uv_C; - VP8PredChroma8[2] = VE8uv_C; - VP8PredChroma8[3] = HE8uv_C; - VP8PredChroma8[4] = DC8uvNoTop_C; - VP8PredChroma8[5] = DC8uvNoLeft_C; - VP8PredChroma8[6] = DC8uvNoTopLeft_C; -#endif - - VP8DitherCombine8x8 = DitherCombine8x8_C; - - // If defined, use CPUInfo() to overwrite some pointers with faster versions. - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - VP8DspInitSSE2(); -#if defined(WEBP_USE_SSE41) - if (VP8GetCPUInfo(kSSE4_1)) { - VP8DspInitSSE41(); - } -#endif - } -#endif -#if defined(WEBP_USE_MIPS32) - if (VP8GetCPUInfo(kMIPS32)) { - VP8DspInitMIPS32(); - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - VP8DspInitMIPSdspR2(); - } -#endif -#if defined(WEBP_USE_MSA) - if (VP8GetCPUInfo(kMSA)) { - VP8DspInitMSA(); - } -#endif - } - -#if defined(WEBP_USE_NEON) - if (WEBP_NEON_OMIT_C_CODE || - (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { - VP8DspInitNEON(); - } -#endif - - assert(VP8TransformWHT != NULL); - assert(VP8Transform != NULL); - assert(VP8TransformDC != NULL); - assert(VP8TransformAC3 != NULL); - assert(VP8TransformUV != NULL); - assert(VP8TransformDCUV != NULL); - assert(VP8VFilter16 != NULL); - assert(VP8HFilter16 != NULL); - assert(VP8VFilter8 != NULL); - assert(VP8HFilter8 != NULL); - assert(VP8VFilter16i != NULL); - assert(VP8HFilter16i != NULL); - assert(VP8VFilter8i != NULL); - assert(VP8HFilter8i != NULL); - assert(VP8SimpleVFilter16 != NULL); - assert(VP8SimpleHFilter16 != NULL); - assert(VP8SimpleVFilter16i != NULL); - assert(VP8SimpleHFilter16i != NULL); - assert(VP8PredLuma4[0] != NULL); - assert(VP8PredLuma4[1] != NULL); - assert(VP8PredLuma4[2] != NULL); - assert(VP8PredLuma4[3] != NULL); - assert(VP8PredLuma4[4] != NULL); - assert(VP8PredLuma4[5] != NULL); - assert(VP8PredLuma4[6] != NULL); - assert(VP8PredLuma4[7] != NULL); - assert(VP8PredLuma4[8] != NULL); - assert(VP8PredLuma4[9] != NULL); - assert(VP8PredLuma16[0] != NULL); - assert(VP8PredLuma16[1] != NULL); - assert(VP8PredLuma16[2] != NULL); - assert(VP8PredLuma16[3] != NULL); - assert(VP8PredLuma16[4] != NULL); - assert(VP8PredLuma16[5] != NULL); - assert(VP8PredLuma16[6] != NULL); - assert(VP8PredChroma8[0] != NULL); - assert(VP8PredChroma8[1] != NULL); - assert(VP8PredChroma8[2] != NULL); - assert(VP8PredChroma8[3] != NULL); - assert(VP8PredChroma8[4] != NULL); - assert(VP8PredChroma8[5] != NULL); - assert(VP8PredChroma8[6] != NULL); - assert(VP8DitherCombine8x8 != NULL); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_clip_tables.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_clip_tables.c deleted file mode 100644 index 427b74f7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_clip_tables.c +++ /dev/null @@ -1,369 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Clipping tables for filtering -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -// define to 0 to have run-time table initialization -#if !defined(USE_STATIC_TABLES) -#define USE_STATIC_TABLES 1 // ALTERNATE_CODE -#endif - -#if (USE_STATIC_TABLES == 1) - -static const uint8_t abs0[255 + 255 + 1] = { - 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, - 0xf3, 0xf2, 0xf1, 0xf0, 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8, - 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0, 0xdf, 0xde, 0xdd, 0xdc, - 0xdb, 0xda, 0xd9, 0xd8, 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0, - 0xcf, 0xce, 0xcd, 0xcc, 0xcb, 0xca, 0xc9, 0xc8, 0xc7, 0xc6, 0xc5, 0xc4, - 0xc3, 0xc2, 0xc1, 0xc0, 0xbf, 0xbe, 0xbd, 0xbc, 0xbb, 0xba, 0xb9, 0xb8, - 0xb7, 0xb6, 0xb5, 0xb4, 0xb3, 0xb2, 0xb1, 0xb0, 0xaf, 0xae, 0xad, 0xac, - 0xab, 0xaa, 0xa9, 0xa8, 0xa7, 0xa6, 0xa5, 0xa4, 0xa3, 0xa2, 0xa1, 0xa0, - 0x9f, 0x9e, 0x9d, 0x9c, 0x9b, 0x9a, 0x99, 0x98, 0x97, 0x96, 0x95, 0x94, - 0x93, 0x92, 0x91, 0x90, 0x8f, 0x8e, 0x8d, 0x8c, 0x8b, 0x8a, 0x89, 0x88, - 0x87, 0x86, 0x85, 0x84, 0x83, 0x82, 0x81, 0x80, 0x7f, 0x7e, 0x7d, 0x7c, - 0x7b, 0x7a, 0x79, 0x78, 0x77, 0x76, 0x75, 0x74, 0x73, 0x72, 0x71, 0x70, - 0x6f, 0x6e, 0x6d, 0x6c, 0x6b, 0x6a, 0x69, 0x68, 0x67, 0x66, 0x65, 0x64, - 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b, 0x5a, 0x59, 0x58, - 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c, - 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, - 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, - 0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, - 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c, - 0x1b, 0x1a, 0x19, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, - 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, - 0x03, 0x02, 0x01, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, - 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, - 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, - 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, - 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, - 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, - 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, - 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, - 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, - 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, - 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, - 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, - 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, - 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, - 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, - 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, - 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, - 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, - 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, - 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, - 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff -}; - -static const uint8_t sclip1[1020 + 1020 + 1] = { - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, - 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, - 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, - 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, - 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, - 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, - 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, - 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, - 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, - 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, - 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, - 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, - 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, - 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, - 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f -}; - -static const uint8_t sclip2[112 + 112 + 1] = { - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, - 0xfc, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f -}; - -static const uint8_t clip1[255 + 511 + 1] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, - 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, - 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, - 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, - 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, - 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, - 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, - 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, - 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, - 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, - 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, - 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, - 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, - 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, - 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, - 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, - 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, - 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, - 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, - 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, - 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff -}; - -#else - -// uninitialized tables -static uint8_t abs0[255 + 255 + 1]; -static int8_t sclip1[1020 + 1020 + 1]; -static int8_t sclip2[112 + 112 + 1]; -static uint8_t clip1[255 + 511 + 1]; - -// We declare this variable 'volatile' to prevent instruction reordering -// and make sure it's set to true _last_ (so as to be thread-safe) -static volatile int tables_ok = 0; - -#endif // USE_STATIC_TABLES - -const int8_t* const VP8ksclip1 = (const int8_t*)&sclip1[1020]; -const int8_t* const VP8ksclip2 = (const int8_t*)&sclip2[112]; -const uint8_t* const VP8kclip1 = &clip1[255]; -const uint8_t* const VP8kabs0 = &abs0[255]; - -WEBP_TSAN_IGNORE_FUNCTION void VP8InitClipTables(void) { -#if (USE_STATIC_TABLES == 0) - int i; - if (!tables_ok) { - for (i = -255; i <= 255; ++i) { - abs0[255 + i] = (i < 0) ? -i : i; - } - for (i = -1020; i <= 1020; ++i) { - sclip1[1020 + i] = (i < -128) ? -128 : (i > 127) ? 127 : i; - } - for (i = -112; i <= 112; ++i) { - sclip2[112 + i] = (i < -16) ? -16 : (i > 15) ? 15 : i; - } - for (i = -255; i <= 255 + 255; ++i) { - clip1[255 + i] = (i < 0) ? 0 : (i > 255) ? 255 : i; - } - tables_ok = 1; - } -#endif // USE_STATIC_TABLES -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_mips32.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_mips32.c deleted file mode 100644 index e4e70966..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_mips32.c +++ /dev/null @@ -1,587 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MIPS version of dsp functions -// -// Author(s): Djordje Pesut (djordje.pesut@imgtec.com) -// Jovan Zelincevic (jovan.zelincevic@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS32) - -#include "src/dsp/mips_macro.h" - -static const int kC1 = 20091 + (1 << 16); -static const int kC2 = 35468; - -static WEBP_INLINE int abs_mips32(int x) { - const int sign = x >> 31; - return (x ^ sign) - sign; -} - -// 4 pixels in, 2 pixels out -static WEBP_INLINE void do_filter2(uint8_t* p, int step) { - const int p1 = p[-2 * step], p0 = p[-step], q0 = p[0], q1 = p[step]; - const int a = 3 * (q0 - p0) + VP8ksclip1[p1 - q1]; - const int a1 = VP8ksclip2[(a + 4) >> 3]; - const int a2 = VP8ksclip2[(a + 3) >> 3]; - p[-step] = VP8kclip1[p0 + a2]; - p[ 0] = VP8kclip1[q0 - a1]; -} - -// 4 pixels in, 4 pixels out -static WEBP_INLINE void do_filter4(uint8_t* p, int step) { - const int p1 = p[-2 * step], p0 = p[-step], q0 = p[0], q1 = p[step]; - const int a = 3 * (q0 - p0); - const int a1 = VP8ksclip2[(a + 4) >> 3]; - const int a2 = VP8ksclip2[(a + 3) >> 3]; - const int a3 = (a1 + 1) >> 1; - p[-2 * step] = VP8kclip1[p1 + a3]; - p[- step] = VP8kclip1[p0 + a2]; - p[ 0] = VP8kclip1[q0 - a1]; - p[ step] = VP8kclip1[q1 - a3]; -} - -// 6 pixels in, 6 pixels out -static WEBP_INLINE void do_filter6(uint8_t* p, int step) { - const int p2 = p[-3 * step], p1 = p[-2 * step], p0 = p[-step]; - const int q0 = p[0], q1 = p[step], q2 = p[2 * step]; - const int a = VP8ksclip1[3 * (q0 - p0) + VP8ksclip1[p1 - q1]]; - // a is in [-128,127], a1 in [-27,27], a2 in [-18,18] and a3 in [-9,9] - const int a1 = (27 * a + 63) >> 7; // eq. to ((3 * a + 7) * 9) >> 7 - const int a2 = (18 * a + 63) >> 7; // eq. to ((2 * a + 7) * 9) >> 7 - const int a3 = (9 * a + 63) >> 7; // eq. to ((1 * a + 7) * 9) >> 7 - p[-3 * step] = VP8kclip1[p2 + a3]; - p[-2 * step] = VP8kclip1[p1 + a2]; - p[- step] = VP8kclip1[p0 + a1]; - p[ 0] = VP8kclip1[q0 - a1]; - p[ step] = VP8kclip1[q1 - a2]; - p[ 2 * step] = VP8kclip1[q2 - a3]; -} - -static WEBP_INLINE int hev(const uint8_t* p, int step, int thresh) { - const int p1 = p[-2 * step], p0 = p[-step], q0 = p[0], q1 = p[step]; - return (abs_mips32(p1 - p0) > thresh) || (abs_mips32(q1 - q0) > thresh); -} - -static WEBP_INLINE int needs_filter(const uint8_t* p, int step, int t) { - const int p1 = p[-2 * step], p0 = p[-step], q0 = p[0], q1 = p[step]; - return ((4 * abs_mips32(p0 - q0) + abs_mips32(p1 - q1)) <= t); -} - -static WEBP_INLINE int needs_filter2(const uint8_t* p, - int step, int t, int it) { - const int p3 = p[-4 * step], p2 = p[-3 * step]; - const int p1 = p[-2 * step], p0 = p[-step]; - const int q0 = p[0], q1 = p[step], q2 = p[2 * step], q3 = p[3 * step]; - if ((4 * abs_mips32(p0 - q0) + abs_mips32(p1 - q1)) > t) { - return 0; - } - return abs_mips32(p3 - p2) <= it && abs_mips32(p2 - p1) <= it && - abs_mips32(p1 - p0) <= it && abs_mips32(q3 - q2) <= it && - abs_mips32(q2 - q1) <= it && abs_mips32(q1 - q0) <= it; -} - -static WEBP_INLINE void FilterLoop26(uint8_t* p, - int hstride, int vstride, int size, - int thresh, int ithresh, int hev_thresh) { - const int thresh2 = 2 * thresh + 1; - while (size-- > 0) { - if (needs_filter2(p, hstride, thresh2, ithresh)) { - if (hev(p, hstride, hev_thresh)) { - do_filter2(p, hstride); - } else { - do_filter6(p, hstride); - } - } - p += vstride; - } -} - -static WEBP_INLINE void FilterLoop24(uint8_t* p, - int hstride, int vstride, int size, - int thresh, int ithresh, int hev_thresh) { - const int thresh2 = 2 * thresh + 1; - while (size-- > 0) { - if (needs_filter2(p, hstride, thresh2, ithresh)) { - if (hev(p, hstride, hev_thresh)) { - do_filter2(p, hstride); - } else { - do_filter4(p, hstride); - } - } - p += vstride; - } -} - -// on macroblock edges -static void VFilter16(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26(p, stride, 1, 16, thresh, ithresh, hev_thresh); -} - -static void HFilter16(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26(p, 1, stride, 16, thresh, ithresh, hev_thresh); -} - -// 8-pixels wide variant, for chroma filtering -static void VFilter8(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26(u, stride, 1, 8, thresh, ithresh, hev_thresh); - FilterLoop26(v, stride, 1, 8, thresh, ithresh, hev_thresh); -} - -static void HFilter8(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26(u, 1, stride, 8, thresh, ithresh, hev_thresh); - FilterLoop26(v, 1, stride, 8, thresh, ithresh, hev_thresh); -} - -static void VFilter8i(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop24(u + 4 * stride, stride, 1, 8, thresh, ithresh, hev_thresh); - FilterLoop24(v + 4 * stride, stride, 1, 8, thresh, ithresh, hev_thresh); -} - -static void HFilter8i(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop24(u + 4, 1, stride, 8, thresh, ithresh, hev_thresh); - FilterLoop24(v + 4, 1, stride, 8, thresh, ithresh, hev_thresh); -} - -// on three inner edges -static void VFilter16i(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4 * stride; - FilterLoop24(p, stride, 1, 16, thresh, ithresh, hev_thresh); - } -} - -static void HFilter16i(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4; - FilterLoop24(p, 1, stride, 16, thresh, ithresh, hev_thresh); - } -} - -//------------------------------------------------------------------------------ -// Simple In-loop filtering (Paragraph 15.2) - -static void SimpleVFilter16(uint8_t* p, int stride, int thresh) { - int i; - const int thresh2 = 2 * thresh + 1; - for (i = 0; i < 16; ++i) { - if (needs_filter(p + i, stride, thresh2)) { - do_filter2(p + i, stride); - } - } -} - -static void SimpleHFilter16(uint8_t* p, int stride, int thresh) { - int i; - const int thresh2 = 2 * thresh + 1; - for (i = 0; i < 16; ++i) { - if (needs_filter(p + i * stride, 1, thresh2)) { - do_filter2(p + i * stride, 1); - } - } -} - -static void SimpleVFilter16i(uint8_t* p, int stride, int thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4 * stride; - SimpleVFilter16(p, stride, thresh); - } -} - -static void SimpleHFilter16i(uint8_t* p, int stride, int thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4; - SimpleHFilter16(p, stride, thresh); - } -} - -static void TransformOne(const int16_t* in, uint8_t* dst) { - int temp0, temp1, temp2, temp3, temp4; - int temp5, temp6, temp7, temp8, temp9; - int temp10, temp11, temp12, temp13, temp14; - int temp15, temp16, temp17, temp18; - int16_t* p_in = (int16_t*)in; - - // loops unrolled and merged to avoid usage of tmp buffer - // and to reduce number of stalls. MUL macro is written - // in assembler and inlined - __asm__ volatile( - "lh %[temp0], 0(%[in]) \n\t" - "lh %[temp8], 16(%[in]) \n\t" - "lh %[temp4], 8(%[in]) \n\t" - "lh %[temp12], 24(%[in]) \n\t" - "addu %[temp16], %[temp0], %[temp8] \n\t" - "subu %[temp0], %[temp0], %[temp8] \n\t" - "mul %[temp8], %[temp4], %[kC2] \n\t" - "mul %[temp17], %[temp12], %[kC1] \n\t" - "mul %[temp4], %[temp4], %[kC1] \n\t" - "mul %[temp12], %[temp12], %[kC2] \n\t" - "lh %[temp1], 2(%[in]) \n\t" - "lh %[temp5], 10(%[in]) \n\t" - "lh %[temp9], 18(%[in]) \n\t" - "lh %[temp13], 26(%[in]) \n\t" - "sra %[temp8], %[temp8], 16 \n\t" - "sra %[temp17], %[temp17], 16 \n\t" - "sra %[temp4], %[temp4], 16 \n\t" - "sra %[temp12], %[temp12], 16 \n\t" - "lh %[temp2], 4(%[in]) \n\t" - "lh %[temp6], 12(%[in]) \n\t" - "lh %[temp10], 20(%[in]) \n\t" - "lh %[temp14], 28(%[in]) \n\t" - "subu %[temp17], %[temp8], %[temp17] \n\t" - "addu %[temp4], %[temp4], %[temp12] \n\t" - "addu %[temp8], %[temp16], %[temp4] \n\t" - "subu %[temp4], %[temp16], %[temp4] \n\t" - "addu %[temp16], %[temp1], %[temp9] \n\t" - "subu %[temp1], %[temp1], %[temp9] \n\t" - "lh %[temp3], 6(%[in]) \n\t" - "lh %[temp7], 14(%[in]) \n\t" - "lh %[temp11], 22(%[in]) \n\t" - "lh %[temp15], 30(%[in]) \n\t" - "addu %[temp12], %[temp0], %[temp17] \n\t" - "subu %[temp0], %[temp0], %[temp17] \n\t" - "mul %[temp9], %[temp5], %[kC2] \n\t" - "mul %[temp17], %[temp13], %[kC1] \n\t" - "mul %[temp5], %[temp5], %[kC1] \n\t" - "mul %[temp13], %[temp13], %[kC2] \n\t" - "sra %[temp9], %[temp9], 16 \n\t" - "sra %[temp17], %[temp17], 16 \n\t" - "subu %[temp17], %[temp9], %[temp17] \n\t" - "sra %[temp5], %[temp5], 16 \n\t" - "sra %[temp13], %[temp13], 16 \n\t" - "addu %[temp5], %[temp5], %[temp13] \n\t" - "addu %[temp13], %[temp1], %[temp17] \n\t" - "subu %[temp1], %[temp1], %[temp17] \n\t" - "mul %[temp17], %[temp14], %[kC1] \n\t" - "mul %[temp14], %[temp14], %[kC2] \n\t" - "addu %[temp9], %[temp16], %[temp5] \n\t" - "subu %[temp5], %[temp16], %[temp5] \n\t" - "addu %[temp16], %[temp2], %[temp10] \n\t" - "subu %[temp2], %[temp2], %[temp10] \n\t" - "mul %[temp10], %[temp6], %[kC2] \n\t" - "mul %[temp6], %[temp6], %[kC1] \n\t" - "sra %[temp17], %[temp17], 16 \n\t" - "sra %[temp14], %[temp14], 16 \n\t" - "sra %[temp10], %[temp10], 16 \n\t" - "sra %[temp6], %[temp6], 16 \n\t" - "subu %[temp17], %[temp10], %[temp17] \n\t" - "addu %[temp6], %[temp6], %[temp14] \n\t" - "addu %[temp10], %[temp16], %[temp6] \n\t" - "subu %[temp6], %[temp16], %[temp6] \n\t" - "addu %[temp14], %[temp2], %[temp17] \n\t" - "subu %[temp2], %[temp2], %[temp17] \n\t" - "mul %[temp17], %[temp15], %[kC1] \n\t" - "mul %[temp15], %[temp15], %[kC2] \n\t" - "addu %[temp16], %[temp3], %[temp11] \n\t" - "subu %[temp3], %[temp3], %[temp11] \n\t" - "mul %[temp11], %[temp7], %[kC2] \n\t" - "mul %[temp7], %[temp7], %[kC1] \n\t" - "addiu %[temp8], %[temp8], 4 \n\t" - "addiu %[temp12], %[temp12], 4 \n\t" - "addiu %[temp0], %[temp0], 4 \n\t" - "addiu %[temp4], %[temp4], 4 \n\t" - "sra %[temp17], %[temp17], 16 \n\t" - "sra %[temp15], %[temp15], 16 \n\t" - "sra %[temp11], %[temp11], 16 \n\t" - "sra %[temp7], %[temp7], 16 \n\t" - "subu %[temp17], %[temp11], %[temp17] \n\t" - "addu %[temp7], %[temp7], %[temp15] \n\t" - "addu %[temp15], %[temp3], %[temp17] \n\t" - "subu %[temp3], %[temp3], %[temp17] \n\t" - "addu %[temp11], %[temp16], %[temp7] \n\t" - "subu %[temp7], %[temp16], %[temp7] \n\t" - "addu %[temp16], %[temp8], %[temp10] \n\t" - "subu %[temp8], %[temp8], %[temp10] \n\t" - "mul %[temp10], %[temp9], %[kC2] \n\t" - "mul %[temp17], %[temp11], %[kC1] \n\t" - "mul %[temp9], %[temp9], %[kC1] \n\t" - "mul %[temp11], %[temp11], %[kC2] \n\t" - "sra %[temp10], %[temp10], 16 \n\t" - "sra %[temp17], %[temp17], 16 \n\t" - "sra %[temp9], %[temp9], 16 \n\t" - "sra %[temp11], %[temp11], 16 \n\t" - "subu %[temp17], %[temp10], %[temp17] \n\t" - "addu %[temp11], %[temp9], %[temp11] \n\t" - "addu %[temp10], %[temp12], %[temp14] \n\t" - "subu %[temp12], %[temp12], %[temp14] \n\t" - "mul %[temp14], %[temp13], %[kC2] \n\t" - "mul %[temp9], %[temp15], %[kC1] \n\t" - "mul %[temp13], %[temp13], %[kC1] \n\t" - "mul %[temp15], %[temp15], %[kC2] \n\t" - "sra %[temp14], %[temp14], 16 \n\t" - "sra %[temp9], %[temp9], 16 \n\t" - "sra %[temp13], %[temp13], 16 \n\t" - "sra %[temp15], %[temp15], 16 \n\t" - "subu %[temp9], %[temp14], %[temp9] \n\t" - "addu %[temp15], %[temp13], %[temp15] \n\t" - "addu %[temp14], %[temp0], %[temp2] \n\t" - "subu %[temp0], %[temp0], %[temp2] \n\t" - "mul %[temp2], %[temp1], %[kC2] \n\t" - "mul %[temp13], %[temp3], %[kC1] \n\t" - "mul %[temp1], %[temp1], %[kC1] \n\t" - "mul %[temp3], %[temp3], %[kC2] \n\t" - "sra %[temp2], %[temp2], 16 \n\t" - "sra %[temp13], %[temp13], 16 \n\t" - "sra %[temp1], %[temp1], 16 \n\t" - "sra %[temp3], %[temp3], 16 \n\t" - "subu %[temp13], %[temp2], %[temp13] \n\t" - "addu %[temp3], %[temp1], %[temp3] \n\t" - "addu %[temp2], %[temp4], %[temp6] \n\t" - "subu %[temp4], %[temp4], %[temp6] \n\t" - "mul %[temp6], %[temp5], %[kC2] \n\t" - "mul %[temp1], %[temp7], %[kC1] \n\t" - "mul %[temp5], %[temp5], %[kC1] \n\t" - "mul %[temp7], %[temp7], %[kC2] \n\t" - "sra %[temp6], %[temp6], 16 \n\t" - "sra %[temp1], %[temp1], 16 \n\t" - "sra %[temp5], %[temp5], 16 \n\t" - "sra %[temp7], %[temp7], 16 \n\t" - "subu %[temp1], %[temp6], %[temp1] \n\t" - "addu %[temp7], %[temp5], %[temp7] \n\t" - "addu %[temp5], %[temp16], %[temp11] \n\t" - "subu %[temp16], %[temp16], %[temp11] \n\t" - "addu %[temp11], %[temp8], %[temp17] \n\t" - "subu %[temp8], %[temp8], %[temp17] \n\t" - "sra %[temp5], %[temp5], 3 \n\t" - "sra %[temp16], %[temp16], 3 \n\t" - "sra %[temp11], %[temp11], 3 \n\t" - "sra %[temp8], %[temp8], 3 \n\t" - "addu %[temp17], %[temp10], %[temp15] \n\t" - "subu %[temp10], %[temp10], %[temp15] \n\t" - "addu %[temp15], %[temp12], %[temp9] \n\t" - "subu %[temp12], %[temp12], %[temp9] \n\t" - "sra %[temp17], %[temp17], 3 \n\t" - "sra %[temp10], %[temp10], 3 \n\t" - "sra %[temp15], %[temp15], 3 \n\t" - "sra %[temp12], %[temp12], 3 \n\t" - "addu %[temp9], %[temp14], %[temp3] \n\t" - "subu %[temp14], %[temp14], %[temp3] \n\t" - "addu %[temp3], %[temp0], %[temp13] \n\t" - "subu %[temp0], %[temp0], %[temp13] \n\t" - "sra %[temp9], %[temp9], 3 \n\t" - "sra %[temp14], %[temp14], 3 \n\t" - "sra %[temp3], %[temp3], 3 \n\t" - "sra %[temp0], %[temp0], 3 \n\t" - "addu %[temp13], %[temp2], %[temp7] \n\t" - "subu %[temp2], %[temp2], %[temp7] \n\t" - "addu %[temp7], %[temp4], %[temp1] \n\t" - "subu %[temp4], %[temp4], %[temp1] \n\t" - "sra %[temp13], %[temp13], 3 \n\t" - "sra %[temp2], %[temp2], 3 \n\t" - "sra %[temp7], %[temp7], 3 \n\t" - "sra %[temp4], %[temp4], 3 \n\t" - "addiu %[temp6], $zero, 255 \n\t" - "lbu %[temp1], 0+0*" XSTR(BPS) "(%[dst]) \n\t" - "addu %[temp1], %[temp1], %[temp5] \n\t" - "sra %[temp5], %[temp1], 8 \n\t" - "sra %[temp18], %[temp1], 31 \n\t" - "beqz %[temp5], 1f \n\t" - "xor %[temp1], %[temp1], %[temp1] \n\t" - "movz %[temp1], %[temp6], %[temp18] \n\t" - "1: \n\t" - "lbu %[temp18], 1+0*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp1], 0+0*" XSTR(BPS) "(%[dst]) \n\t" - "addu %[temp18], %[temp18], %[temp11] \n\t" - "sra %[temp11], %[temp18], 8 \n\t" - "sra %[temp1], %[temp18], 31 \n\t" - "beqz %[temp11], 2f \n\t" - "xor %[temp18], %[temp18], %[temp18] \n\t" - "movz %[temp18], %[temp6], %[temp1] \n\t" - "2: \n\t" - "lbu %[temp1], 2+0*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp18], 1+0*" XSTR(BPS) "(%[dst]) \n\t" - "addu %[temp1], %[temp1], %[temp8] \n\t" - "sra %[temp8], %[temp1], 8 \n\t" - "sra %[temp18], %[temp1], 31 \n\t" - "beqz %[temp8], 3f \n\t" - "xor %[temp1], %[temp1], %[temp1] \n\t" - "movz %[temp1], %[temp6], %[temp18] \n\t" - "3: \n\t" - "lbu %[temp18], 3+0*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp1], 2+0*" XSTR(BPS) "(%[dst]) \n\t" - "addu %[temp18], %[temp18], %[temp16] \n\t" - "sra %[temp16], %[temp18], 8 \n\t" - "sra %[temp1], %[temp18], 31 \n\t" - "beqz %[temp16], 4f \n\t" - "xor %[temp18], %[temp18], %[temp18] \n\t" - "movz %[temp18], %[temp6], %[temp1] \n\t" - "4: \n\t" - "sb %[temp18], 3+0*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp5], 0+1*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp8], 1+1*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp11], 2+1*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp16], 3+1*" XSTR(BPS) "(%[dst]) \n\t" - "addu %[temp5], %[temp5], %[temp17] \n\t" - "addu %[temp8], %[temp8], %[temp15] \n\t" - "addu %[temp11], %[temp11], %[temp12] \n\t" - "addu %[temp16], %[temp16], %[temp10] \n\t" - "sra %[temp18], %[temp5], 8 \n\t" - "sra %[temp1], %[temp5], 31 \n\t" - "beqz %[temp18], 5f \n\t" - "xor %[temp5], %[temp5], %[temp5] \n\t" - "movz %[temp5], %[temp6], %[temp1] \n\t" - "5: \n\t" - "sra %[temp18], %[temp8], 8 \n\t" - "sra %[temp1], %[temp8], 31 \n\t" - "beqz %[temp18], 6f \n\t" - "xor %[temp8], %[temp8], %[temp8] \n\t" - "movz %[temp8], %[temp6], %[temp1] \n\t" - "6: \n\t" - "sra %[temp18], %[temp11], 8 \n\t" - "sra %[temp1], %[temp11], 31 \n\t" - "sra %[temp17], %[temp16], 8 \n\t" - "sra %[temp15], %[temp16], 31 \n\t" - "beqz %[temp18], 7f \n\t" - "xor %[temp11], %[temp11], %[temp11] \n\t" - "movz %[temp11], %[temp6], %[temp1] \n\t" - "7: \n\t" - "beqz %[temp17], 8f \n\t" - "xor %[temp16], %[temp16], %[temp16] \n\t" - "movz %[temp16], %[temp6], %[temp15] \n\t" - "8: \n\t" - "sb %[temp5], 0+1*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp8], 1+1*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp11], 2+1*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp16], 3+1*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp5], 0+2*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp8], 1+2*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp11], 2+2*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp16], 3+2*" XSTR(BPS) "(%[dst]) \n\t" - "addu %[temp5], %[temp5], %[temp9] \n\t" - "addu %[temp8], %[temp8], %[temp3] \n\t" - "addu %[temp11], %[temp11], %[temp0] \n\t" - "addu %[temp16], %[temp16], %[temp14] \n\t" - "sra %[temp18], %[temp5], 8 \n\t" - "sra %[temp1], %[temp5], 31 \n\t" - "sra %[temp17], %[temp8], 8 \n\t" - "sra %[temp15], %[temp8], 31 \n\t" - "sra %[temp12], %[temp11], 8 \n\t" - "sra %[temp10], %[temp11], 31 \n\t" - "sra %[temp9], %[temp16], 8 \n\t" - "sra %[temp3], %[temp16], 31 \n\t" - "beqz %[temp18], 9f \n\t" - "xor %[temp5], %[temp5], %[temp5] \n\t" - "movz %[temp5], %[temp6], %[temp1] \n\t" - "9: \n\t" - "beqz %[temp17], 10f \n\t" - "xor %[temp8], %[temp8], %[temp8] \n\t" - "movz %[temp8], %[temp6], %[temp15] \n\t" - "10: \n\t" - "beqz %[temp12], 11f \n\t" - "xor %[temp11], %[temp11], %[temp11] \n\t" - "movz %[temp11], %[temp6], %[temp10] \n\t" - "11: \n\t" - "beqz %[temp9], 12f \n\t" - "xor %[temp16], %[temp16], %[temp16] \n\t" - "movz %[temp16], %[temp6], %[temp3] \n\t" - "12: \n\t" - "sb %[temp5], 0+2*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp8], 1+2*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp11], 2+2*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp16], 3+2*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp5], 0+3*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp8], 1+3*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp11], 2+3*" XSTR(BPS) "(%[dst]) \n\t" - "lbu %[temp16], 3+3*" XSTR(BPS) "(%[dst]) \n\t" - "addu %[temp5], %[temp5], %[temp13] \n\t" - "addu %[temp8], %[temp8], %[temp7] \n\t" - "addu %[temp11], %[temp11], %[temp4] \n\t" - "addu %[temp16], %[temp16], %[temp2] \n\t" - "sra %[temp18], %[temp5], 8 \n\t" - "sra %[temp1], %[temp5], 31 \n\t" - "sra %[temp17], %[temp8], 8 \n\t" - "sra %[temp15], %[temp8], 31 \n\t" - "sra %[temp12], %[temp11], 8 \n\t" - "sra %[temp10], %[temp11], 31 \n\t" - "sra %[temp9], %[temp16], 8 \n\t" - "sra %[temp3], %[temp16], 31 \n\t" - "beqz %[temp18], 13f \n\t" - "xor %[temp5], %[temp5], %[temp5] \n\t" - "movz %[temp5], %[temp6], %[temp1] \n\t" - "13: \n\t" - "beqz %[temp17], 14f \n\t" - "xor %[temp8], %[temp8], %[temp8] \n\t" - "movz %[temp8], %[temp6], %[temp15] \n\t" - "14: \n\t" - "beqz %[temp12], 15f \n\t" - "xor %[temp11], %[temp11], %[temp11] \n\t" - "movz %[temp11], %[temp6], %[temp10] \n\t" - "15: \n\t" - "beqz %[temp9], 16f \n\t" - "xor %[temp16], %[temp16], %[temp16] \n\t" - "movz %[temp16], %[temp6], %[temp3] \n\t" - "16: \n\t" - "sb %[temp5], 0+3*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp8], 1+3*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp11], 2+3*" XSTR(BPS) "(%[dst]) \n\t" - "sb %[temp16], 3+3*" XSTR(BPS) "(%[dst]) \n\t" - - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9), [temp10]"=&r"(temp10), [temp11]"=&r"(temp11), - [temp12]"=&r"(temp12), [temp13]"=&r"(temp13), [temp14]"=&r"(temp14), - [temp15]"=&r"(temp15), [temp16]"=&r"(temp16), [temp17]"=&r"(temp17), - [temp18]"=&r"(temp18) - : [in]"r"(p_in), [kC1]"r"(kC1), [kC2]"r"(kC2), [dst]"r"(dst) - : "memory", "hi", "lo" - ); -} - -static void TransformTwo(const int16_t* in, uint8_t* dst, int do_two) { - TransformOne(in, dst); - if (do_two) { - TransformOne(in + 16, dst + 4); - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8DspInitMIPS32(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitMIPS32(void) { - VP8InitClipTables(); - - VP8Transform = TransformTwo; - - VP8VFilter16 = VFilter16; - VP8HFilter16 = HFilter16; - VP8VFilter8 = VFilter8; - VP8HFilter8 = HFilter8; - VP8VFilter16i = VFilter16i; - VP8HFilter16i = HFilter16i; - VP8VFilter8i = VFilter8i; - VP8HFilter8i = HFilter8i; - - VP8SimpleVFilter16 = SimpleVFilter16; - VP8SimpleHFilter16 = SimpleHFilter16; - VP8SimpleVFilter16i = SimpleVFilter16i; - VP8SimpleHFilter16i = SimpleHFilter16i; -} - -#else // !WEBP_USE_MIPS32 - -WEBP_DSP_INIT_STUB(VP8DspInitMIPS32) - -#endif // WEBP_USE_MIPS32 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_mips_dsp_r2.c deleted file mode 100644 index b0936bc4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_mips_dsp_r2.c +++ /dev/null @@ -1,994 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MIPS version of dsp functions -// -// Author(s): Djordje Pesut (djordje.pesut@imgtec.com) -// Jovan Zelincevic (jovan.zelincevic@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) - -#include "src/dsp/mips_macro.h" - -static const int kC1 = 20091 + (1 << 16); -static const int kC2 = 35468; - -#define MUL(a, b) (((a) * (b)) >> 16) - -static void TransformDC(const int16_t* in, uint8_t* dst) { - int temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, temp9, temp10; - - __asm__ volatile ( - LOAD_WITH_OFFSET_X4(temp1, temp2, temp3, temp4, dst, - 0, 0, 0, 0, - 0, 1, 2, 3, - BPS) - "lh %[temp5], 0(%[in]) \n\t" - "addiu %[temp5], %[temp5], 4 \n\t" - "ins %[temp5], %[temp5], 16, 16 \n\t" - "shra.ph %[temp5], %[temp5], 3 \n\t" - CONVERT_2_BYTES_TO_HALF(temp6, temp7, temp8, temp9, temp10, temp1, temp2, - temp3, temp1, temp2, temp3, temp4) - STORE_SAT_SUM_X2(temp6, temp7, temp8, temp9, temp10, temp1, temp2, temp3, - temp5, temp5, temp5, temp5, temp5, temp5, temp5, temp5, - dst, 0, 1, 2, 3, BPS) - - OUTPUT_EARLY_CLOBBER_REGS_10() - : [in]"r"(in), [dst]"r"(dst) - : "memory" - ); -} - -static void TransformAC3(const int16_t* in, uint8_t* dst) { - const int a = in[0] + 4; - int c4 = MUL(in[4], kC2); - const int d4 = MUL(in[4], kC1); - const int c1 = MUL(in[1], kC2); - const int d1 = MUL(in[1], kC1); - int temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, temp9; - int temp10, temp11, temp12, temp13, temp14, temp15, temp16, temp17, temp18; - - __asm__ volatile ( - "ins %[c4], %[d4], 16, 16 \n\t" - "replv.ph %[temp1], %[a] \n\t" - "replv.ph %[temp4], %[d1] \n\t" - ADD_SUB_HALVES(temp2, temp3, temp1, c4) - "replv.ph %[temp5], %[c1] \n\t" - SHIFT_R_SUM_X2(temp1, temp6, temp7, temp8, temp2, temp9, temp10, temp4, - temp2, temp2, temp3, temp3, temp4, temp5, temp4, temp5) - LOAD_WITH_OFFSET_X4(temp3, temp5, temp11, temp12, dst, - 0, 0, 0, 0, - 0, 1, 2, 3, - BPS) - CONVERT_2_BYTES_TO_HALF(temp13, temp14, temp3, temp15, temp5, temp16, - temp11, temp17, temp3, temp5, temp11, temp12) - PACK_2_HALVES_TO_WORD(temp12, temp18, temp7, temp6, temp1, temp8, temp2, - temp4, temp7, temp6, temp10, temp9) - STORE_SAT_SUM_X2(temp13, temp14, temp3, temp15, temp5, temp16, temp11, - temp17, temp12, temp18, temp1, temp8, temp2, temp4, - temp7, temp6, dst, 0, 1, 2, 3, BPS) - - OUTPUT_EARLY_CLOBBER_REGS_18(), - [c4]"+&r"(c4) - : [dst]"r"(dst), [a]"r"(a), [d1]"r"(d1), [d4]"r"(d4), [c1]"r"(c1) - : "memory" - ); -} - -static void TransformOne(const int16_t* in, uint8_t* dst) { - int temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, temp9; - int temp10, temp11, temp12, temp13, temp14, temp15, temp16, temp17, temp18; - - __asm__ volatile ( - "ulw %[temp1], 0(%[in]) \n\t" - "ulw %[temp2], 16(%[in]) \n\t" - LOAD_IN_X2(temp5, temp6, 24, 26) - ADD_SUB_HALVES(temp3, temp4, temp1, temp2) - LOAD_IN_X2(temp1, temp2, 8, 10) - MUL_SHIFT_SUM(temp7, temp8, temp9, temp10, temp11, temp12, temp13, temp14, - temp10, temp8, temp9, temp7, temp1, temp2, temp5, temp6, - temp13, temp11, temp14, temp12) - INSERT_HALF_X2(temp8, temp7, temp10, temp9) - "ulw %[temp17], 4(%[in]) \n\t" - "ulw %[temp18], 20(%[in]) \n\t" - ADD_SUB_HALVES(temp1, temp2, temp3, temp8) - ADD_SUB_HALVES(temp5, temp6, temp4, temp7) - ADD_SUB_HALVES(temp7, temp8, temp17, temp18) - LOAD_IN_X2(temp17, temp18, 12, 14) - LOAD_IN_X2(temp9, temp10, 28, 30) - MUL_SHIFT_SUM(temp11, temp12, temp13, temp14, temp15, temp16, temp4, temp17, - temp12, temp14, temp11, temp13, temp17, temp18, temp9, temp10, - temp15, temp4, temp16, temp17) - INSERT_HALF_X2(temp11, temp12, temp13, temp14) - ADD_SUB_HALVES(temp17, temp8, temp8, temp11) - ADD_SUB_HALVES(temp3, temp4, temp7, temp12) - - // horizontal - SRA_16(temp9, temp10, temp11, temp12, temp1, temp2, temp5, temp6) - INSERT_HALF_X2(temp1, temp6, temp5, temp2) - SRA_16(temp13, temp14, temp15, temp16, temp3, temp4, temp17, temp8) - "repl.ph %[temp2], 0x4 \n\t" - INSERT_HALF_X2(temp3, temp8, temp17, temp4) - "addq.ph %[temp1], %[temp1], %[temp2] \n\t" - "addq.ph %[temp6], %[temp6], %[temp2] \n\t" - ADD_SUB_HALVES(temp2, temp4, temp1, temp3) - ADD_SUB_HALVES(temp5, temp7, temp6, temp8) - MUL_SHIFT_SUM(temp1, temp3, temp6, temp8, temp9, temp13, temp17, temp18, - temp3, temp13, temp1, temp9, temp9, temp13, temp11, temp15, - temp6, temp17, temp8, temp18) - MUL_SHIFT_SUM(temp6, temp8, temp18, temp17, temp11, temp15, temp12, temp16, - temp8, temp15, temp6, temp11, temp12, temp16, temp10, temp14, - temp18, temp12, temp17, temp16) - INSERT_HALF_X2(temp1, temp3, temp9, temp13) - INSERT_HALF_X2(temp6, temp8, temp11, temp15) - SHIFT_R_SUM_X2(temp9, temp10, temp11, temp12, temp13, temp14, temp15, - temp16, temp2, temp4, temp5, temp7, temp3, temp1, temp8, - temp6) - PACK_2_HALVES_TO_WORD(temp1, temp2, temp3, temp4, temp9, temp12, temp13, - temp16, temp11, temp10, temp15, temp14) - LOAD_WITH_OFFSET_X4(temp10, temp11, temp14, temp15, dst, - 0, 0, 0, 0, - 0, 1, 2, 3, - BPS) - CONVERT_2_BYTES_TO_HALF(temp5, temp6, temp7, temp8, temp17, temp18, temp10, - temp11, temp10, temp11, temp14, temp15) - STORE_SAT_SUM_X2(temp5, temp6, temp7, temp8, temp17, temp18, temp10, temp11, - temp9, temp12, temp1, temp2, temp13, temp16, temp3, temp4, - dst, 0, 1, 2, 3, BPS) - - OUTPUT_EARLY_CLOBBER_REGS_18() - : [dst]"r"(dst), [in]"r"(in), [kC1]"r"(kC1), [kC2]"r"(kC2) - : "memory", "hi", "lo" - ); -} - -static void TransformTwo(const int16_t* in, uint8_t* dst, int do_two) { - TransformOne(in, dst); - if (do_two) { - TransformOne(in + 16, dst + 4); - } -} - -static WEBP_INLINE void FilterLoop26(uint8_t* p, - int hstride, int vstride, int size, - int thresh, int ithresh, int hev_thresh) { - const int thresh2 = 2 * thresh + 1; - int temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, temp9; - int temp10, temp11, temp12, temp13, temp14, temp15; - - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "1: \n\t" - "negu %[temp1], %[hstride] \n\t" - "addiu %[size], %[size], -1 \n\t" - "sll %[temp2], %[hstride], 1 \n\t" - "sll %[temp3], %[temp1], 1 \n\t" - "addu %[temp4], %[temp2], %[hstride] \n\t" - "addu %[temp5], %[temp3], %[temp1] \n\t" - "lbu %[temp7], 0(%[p]) \n\t" - "sll %[temp6], %[temp3], 1 \n\t" - "lbux %[temp8], %[temp5](%[p]) \n\t" - "lbux %[temp9], %[temp3](%[p]) \n\t" - "lbux %[temp10], %[temp1](%[p]) \n\t" - "lbux %[temp11], %[temp6](%[p]) \n\t" - "lbux %[temp12], %[hstride](%[p]) \n\t" - "lbux %[temp13], %[temp2](%[p]) \n\t" - "lbux %[temp14], %[temp4](%[p]) \n\t" - "subu %[temp1], %[temp10], %[temp7] \n\t" - "subu %[temp2], %[temp9], %[temp12] \n\t" - "absq_s.w %[temp3], %[temp1] \n\t" - "absq_s.w %[temp4], %[temp2] \n\t" - "negu %[temp1], %[temp1] \n\t" - "sll %[temp3], %[temp3], 2 \n\t" - "addu %[temp15], %[temp3], %[temp4] \n\t" - "subu %[temp3], %[temp15], %[thresh2] \n\t" - "sll %[temp6], %[temp1], 1 \n\t" - "bgtz %[temp3], 3f \n\t" - " subu %[temp4], %[temp11], %[temp8] \n\t" - "absq_s.w %[temp4], %[temp4] \n\t" - "shll_s.w %[temp2], %[temp2], 24 \n\t" - "subu %[temp4], %[temp4], %[ithresh] \n\t" - "bgtz %[temp4], 3f \n\t" - " subu %[temp3], %[temp8], %[temp9] \n\t" - "absq_s.w %[temp3], %[temp3] \n\t" - "subu %[temp3], %[temp3], %[ithresh] \n\t" - "bgtz %[temp3], 3f \n\t" - " subu %[temp5], %[temp9], %[temp10] \n\t" - "absq_s.w %[temp3], %[temp5] \n\t" - "absq_s.w %[temp5], %[temp5] \n\t" - "subu %[temp3], %[temp3], %[ithresh] \n\t" - "bgtz %[temp3], 3f \n\t" - " subu %[temp3], %[temp14], %[temp13] \n\t" - "absq_s.w %[temp3], %[temp3] \n\t" - "slt %[temp5], %[hev_thresh], %[temp5] \n\t" - "subu %[temp3], %[temp3], %[ithresh] \n\t" - "bgtz %[temp3], 3f \n\t" - " subu %[temp3], %[temp13], %[temp12] \n\t" - "absq_s.w %[temp3], %[temp3] \n\t" - "sra %[temp4], %[temp2], 24 \n\t" - "subu %[temp3], %[temp3], %[ithresh] \n\t" - "bgtz %[temp3], 3f \n\t" - " subu %[temp15], %[temp12], %[temp7] \n\t" - "absq_s.w %[temp3], %[temp15] \n\t" - "absq_s.w %[temp15], %[temp15] \n\t" - "subu %[temp3], %[temp3], %[ithresh] \n\t" - "bgtz %[temp3], 3f \n\t" - " slt %[temp15], %[hev_thresh], %[temp15] \n\t" - "addu %[temp3], %[temp6], %[temp1] \n\t" - "or %[temp2], %[temp5], %[temp15] \n\t" - "addu %[temp5], %[temp4], %[temp3] \n\t" - "beqz %[temp2], 4f \n\t" - " shra_r.w %[temp1], %[temp5], 3 \n\t" - "addiu %[temp2], %[temp5], 3 \n\t" - "sra %[temp2], %[temp2], 3 \n\t" - "shll_s.w %[temp1], %[temp1], 27 \n\t" - "shll_s.w %[temp2], %[temp2], 27 \n\t" - "subu %[temp3], %[p], %[hstride] \n\t" - "sra %[temp1], %[temp1], 27 \n\t" - "sra %[temp2], %[temp2], 27 \n\t" - "subu %[temp1], %[temp7], %[temp1] \n\t" - "addu %[temp2], %[temp10], %[temp2] \n\t" - "lbux %[temp2], %[temp2](%[VP8kclip1]) \n\t" - "lbux %[temp1], %[temp1](%[VP8kclip1]) \n\t" - "sb %[temp2], 0(%[temp3]) \n\t" - "j 3f \n\t" - " sb %[temp1], 0(%[p]) \n\t" - "4: \n\t" - "shll_s.w %[temp5], %[temp5], 24 \n\t" - "subu %[temp14], %[p], %[hstride] \n\t" - "subu %[temp11], %[temp14], %[hstride] \n\t" - "sra %[temp6], %[temp5], 24 \n\t" - "sll %[temp1], %[temp6], 3 \n\t" - "subu %[temp15], %[temp11], %[hstride] \n\t" - "addu %[temp2], %[temp6], %[temp1] \n\t" - "sll %[temp3], %[temp2], 1 \n\t" - "addu %[temp4], %[temp3], %[temp2] \n\t" - "addiu %[temp2], %[temp2], 63 \n\t" - "addiu %[temp3], %[temp3], 63 \n\t" - "addiu %[temp4], %[temp4], 63 \n\t" - "sra %[temp2], %[temp2], 7 \n\t" - "sra %[temp3], %[temp3], 7 \n\t" - "sra %[temp4], %[temp4], 7 \n\t" - "addu %[temp1], %[temp8], %[temp2] \n\t" - "addu %[temp5], %[temp9], %[temp3] \n\t" - "addu %[temp6], %[temp10], %[temp4] \n\t" - "subu %[temp8], %[temp7], %[temp4] \n\t" - "subu %[temp7], %[temp12], %[temp3] \n\t" - "addu %[temp10], %[p], %[hstride] \n\t" - "subu %[temp9], %[temp13], %[temp2] \n\t" - "addu %[temp12], %[temp10], %[hstride] \n\t" - "lbux %[temp2], %[temp1](%[VP8kclip1]) \n\t" - "lbux %[temp3], %[temp5](%[VP8kclip1]) \n\t" - "lbux %[temp4], %[temp6](%[VP8kclip1]) \n\t" - "lbux %[temp5], %[temp8](%[VP8kclip1]) \n\t" - "lbux %[temp6], %[temp7](%[VP8kclip1]) \n\t" - "lbux %[temp8], %[temp9](%[VP8kclip1]) \n\t" - "sb %[temp2], 0(%[temp15]) \n\t" - "sb %[temp3], 0(%[temp11]) \n\t" - "sb %[temp4], 0(%[temp14]) \n\t" - "sb %[temp5], 0(%[p]) \n\t" - "sb %[temp6], 0(%[temp10]) \n\t" - "sb %[temp8], 0(%[temp12]) \n\t" - "3: \n\t" - "bgtz %[size], 1b \n\t" - " addu %[p], %[p], %[vstride] \n\t" - ".set pop \n\t" - : [temp1]"=&r"(temp1), [temp2]"=&r"(temp2),[temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [temp6]"=&r"(temp6), - [temp7]"=&r"(temp7),[temp8]"=&r"(temp8),[temp9]"=&r"(temp9), - [temp10]"=&r"(temp10),[temp11]"=&r"(temp11),[temp12]"=&r"(temp12), - [temp13]"=&r"(temp13),[temp14]"=&r"(temp14),[temp15]"=&r"(temp15), - [size]"+&r"(size), [p]"+&r"(p) - : [hstride]"r"(hstride), [thresh2]"r"(thresh2), - [ithresh]"r"(ithresh),[vstride]"r"(vstride), [hev_thresh]"r"(hev_thresh), - [VP8kclip1]"r"(VP8kclip1) - : "memory" - ); -} - -static WEBP_INLINE void FilterLoop24(uint8_t* p, - int hstride, int vstride, int size, - int thresh, int ithresh, int hev_thresh) { - int p0, q0, p1, q1, p2, q2, p3, q3; - int step1, step2, temp1, temp2, temp3, temp4; - uint8_t* pTemp0; - uint8_t* pTemp1; - const int thresh2 = 2 * thresh + 1; - - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "bltz %[size], 3f \n\t" - " nop \n\t" - "2: \n\t" - "negu %[step1], %[hstride] \n\t" - "lbu %[q0], 0(%[p]) \n\t" - "lbux %[p0], %[step1](%[p]) \n\t" - "subu %[step1], %[step1], %[hstride] \n\t" - "lbux %[q1], %[hstride](%[p]) \n\t" - "subu %[temp1], %[p0], %[q0] \n\t" - "lbux %[p1], %[step1](%[p]) \n\t" - "addu %[step2], %[hstride], %[hstride] \n\t" - "absq_s.w %[temp2], %[temp1] \n\t" - "subu %[temp3], %[p1], %[q1] \n\t" - "absq_s.w %[temp4], %[temp3] \n\t" - "sll %[temp2], %[temp2], 2 \n\t" - "addu %[temp2], %[temp2], %[temp4] \n\t" - "subu %[temp4], %[temp2], %[thresh2] \n\t" - "subu %[step1], %[step1], %[hstride] \n\t" - "bgtz %[temp4], 0f \n\t" - " lbux %[p2], %[step1](%[p]) \n\t" - "subu %[step1], %[step1], %[hstride] \n\t" - "lbux %[q2], %[step2](%[p]) \n\t" - "lbux %[p3], %[step1](%[p]) \n\t" - "subu %[temp4], %[p2], %[p1] \n\t" - "addu %[step2], %[step2], %[hstride] \n\t" - "subu %[temp2], %[p3], %[p2] \n\t" - "absq_s.w %[temp4], %[temp4] \n\t" - "absq_s.w %[temp2], %[temp2] \n\t" - "lbux %[q3], %[step2](%[p]) \n\t" - "subu %[temp4], %[temp4], %[ithresh] \n\t" - "negu %[temp1], %[temp1] \n\t" - "bgtz %[temp4], 0f \n\t" - " subu %[temp2], %[temp2], %[ithresh] \n\t" - "subu %[p3], %[p1], %[p0] \n\t" - "bgtz %[temp2], 0f \n\t" - " absq_s.w %[p3], %[p3] \n\t" - "subu %[temp4], %[q3], %[q2] \n\t" - "subu %[pTemp0], %[p], %[hstride] \n\t" - "absq_s.w %[temp4], %[temp4] \n\t" - "subu %[temp2], %[p3], %[ithresh] \n\t" - "sll %[step1], %[temp1], 1 \n\t" - "bgtz %[temp2], 0f \n\t" - " subu %[temp4], %[temp4], %[ithresh] \n\t" - "subu %[temp2], %[q2], %[q1] \n\t" - "bgtz %[temp4], 0f \n\t" - " absq_s.w %[temp2], %[temp2] \n\t" - "subu %[q3], %[q1], %[q0] \n\t" - "absq_s.w %[q3], %[q3] \n\t" - "subu %[temp2], %[temp2], %[ithresh] \n\t" - "addu %[temp1], %[temp1], %[step1] \n\t" - "bgtz %[temp2], 0f \n\t" - " subu %[temp4], %[q3], %[ithresh] \n\t" - "slt %[p3], %[hev_thresh], %[p3] \n\t" - "bgtz %[temp4], 0f \n\t" - " slt %[q3], %[hev_thresh], %[q3] \n\t" - "or %[q3], %[q3], %[p3] \n\t" - "bgtz %[q3], 1f \n\t" - " shra_r.w %[temp2], %[temp1], 3 \n\t" - "addiu %[temp1], %[temp1], 3 \n\t" - "sra %[temp1], %[temp1], 3 \n\t" - "shll_s.w %[temp2], %[temp2], 27 \n\t" - "shll_s.w %[temp1], %[temp1], 27 \n\t" - "addu %[pTemp1], %[p], %[hstride] \n\t" - "sra %[temp2], %[temp2], 27 \n\t" - "sra %[temp1], %[temp1], 27 \n\t" - "addiu %[step1], %[temp2], 1 \n\t" - "sra %[step1], %[step1], 1 \n\t" - "addu %[p0], %[p0], %[temp1] \n\t" - "addu %[p1], %[p1], %[step1] \n\t" - "subu %[q0], %[q0], %[temp2] \n\t" - "subu %[q1], %[q1], %[step1] \n\t" - "lbux %[temp2], %[p0](%[VP8kclip1]) \n\t" - "lbux %[temp3], %[q0](%[VP8kclip1]) \n\t" - "lbux %[temp4], %[q1](%[VP8kclip1]) \n\t" - "sb %[temp2], 0(%[pTemp0]) \n\t" - "lbux %[temp1], %[p1](%[VP8kclip1]) \n\t" - "subu %[pTemp0], %[pTemp0], %[hstride] \n\t" - "sb %[temp3], 0(%[p]) \n\t" - "sb %[temp4], 0(%[pTemp1]) \n\t" - "j 0f \n\t" - " sb %[temp1], 0(%[pTemp0]) \n\t" - "1: \n\t" - "shll_s.w %[temp3], %[temp3], 24 \n\t" - "sra %[temp3], %[temp3], 24 \n\t" - "addu %[temp1], %[temp1], %[temp3] \n\t" - "shra_r.w %[temp2], %[temp1], 3 \n\t" - "addiu %[temp1], %[temp1], 3 \n\t" - "shll_s.w %[temp2], %[temp2], 27 \n\t" - "sra %[temp1], %[temp1], 3 \n\t" - "shll_s.w %[temp1], %[temp1], 27 \n\t" - "sra %[temp2], %[temp2], 27 \n\t" - "sra %[temp1], %[temp1], 27 \n\t" - "addu %[p0], %[p0], %[temp1] \n\t" - "subu %[q0], %[q0], %[temp2] \n\t" - "lbux %[temp1], %[p0](%[VP8kclip1]) \n\t" - "lbux %[temp2], %[q0](%[VP8kclip1]) \n\t" - "sb %[temp2], 0(%[p]) \n\t" - "sb %[temp1], 0(%[pTemp0]) \n\t" - "0: \n\t" - "subu %[size], %[size], 1 \n\t" - "bgtz %[size], 2b \n\t" - " addu %[p], %[p], %[vstride] \n\t" - "3: \n\t" - ".set pop \n\t" - : [p0]"=&r"(p0), [q0]"=&r"(q0), [p1]"=&r"(p1), [q1]"=&r"(q1), - [p2]"=&r"(p2), [q2]"=&r"(q2), [p3]"=&r"(p3), [q3]"=&r"(q3), - [step2]"=&r"(step2), [step1]"=&r"(step1), [temp1]"=&r"(temp1), - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), - [pTemp0]"=&r"(pTemp0), [pTemp1]"=&r"(pTemp1), [p]"+&r"(p), - [size]"+&r"(size) - : [vstride]"r"(vstride), [ithresh]"r"(ithresh), - [hev_thresh]"r"(hev_thresh), [hstride]"r"(hstride), - [VP8kclip1]"r"(VP8kclip1), [thresh2]"r"(thresh2) - : "memory" - ); -} - -// on macroblock edges -static void VFilter16(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26(p, stride, 1, 16, thresh, ithresh, hev_thresh); -} - -static void HFilter16(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26(p, 1, stride, 16, thresh, ithresh, hev_thresh); -} - -// 8-pixels wide variant, for chroma filtering -static void VFilter8(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26(u, stride, 1, 8, thresh, ithresh, hev_thresh); - FilterLoop26(v, stride, 1, 8, thresh, ithresh, hev_thresh); -} - -static void HFilter8(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop26(u, 1, stride, 8, thresh, ithresh, hev_thresh); - FilterLoop26(v, 1, stride, 8, thresh, ithresh, hev_thresh); -} - -// on three inner edges -static void VFilter16i(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4 * stride; - FilterLoop24(p, stride, 1, 16, thresh, ithresh, hev_thresh); - } -} - -static void HFilter16i(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4; - FilterLoop24(p, 1, stride, 16, thresh, ithresh, hev_thresh); - } -} - -static void VFilter8i(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop24(u + 4 * stride, stride, 1, 8, thresh, ithresh, hev_thresh); - FilterLoop24(v + 4 * stride, stride, 1, 8, thresh, ithresh, hev_thresh); -} - -static void HFilter8i(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - FilterLoop24(u + 4, 1, stride, 8, thresh, ithresh, hev_thresh); - FilterLoop24(v + 4, 1, stride, 8, thresh, ithresh, hev_thresh); -} - -#undef MUL - -//------------------------------------------------------------------------------ -// Simple In-loop filtering (Paragraph 15.2) - -static void SimpleVFilter16(uint8_t* p, int stride, int thresh) { - int i; - const int thresh2 = 2 * thresh + 1; - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8; - uint8_t* p1 = p - stride; - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "li %[i], 16 \n\t" - "0: \n\t" - "negu %[temp4], %[stride] \n\t" - "sll %[temp5], %[temp4], 1 \n\t" - "lbu %[temp2], 0(%[p]) \n\t" - "lbux %[temp3], %[stride](%[p]) \n\t" - "lbux %[temp1], %[temp4](%[p]) \n\t" - "lbux %[temp0], %[temp5](%[p]) \n\t" - "subu %[temp7], %[temp1], %[temp2] \n\t" - "subu %[temp6], %[temp0], %[temp3] \n\t" - "absq_s.w %[temp4], %[temp7] \n\t" - "absq_s.w %[temp5], %[temp6] \n\t" - "sll %[temp4], %[temp4], 2 \n\t" - "subu %[temp5], %[temp5], %[thresh2] \n\t" - "addu %[temp5], %[temp4], %[temp5] \n\t" - "negu %[temp8], %[temp7] \n\t" - "bgtz %[temp5], 1f \n\t" - " addiu %[i], %[i], -1 \n\t" - "sll %[temp4], %[temp8], 1 \n\t" - "shll_s.w %[temp5], %[temp6], 24 \n\t" - "addu %[temp3], %[temp4], %[temp8] \n\t" - "sra %[temp5], %[temp5], 24 \n\t" - "addu %[temp3], %[temp3], %[temp5] \n\t" - "addiu %[temp7], %[temp3], 3 \n\t" - "sra %[temp7], %[temp7], 3 \n\t" - "shra_r.w %[temp8], %[temp3], 3 \n\t" - "shll_s.w %[temp0], %[temp7], 27 \n\t" - "shll_s.w %[temp4], %[temp8], 27 \n\t" - "sra %[temp0], %[temp0], 27 \n\t" - "sra %[temp4], %[temp4], 27 \n\t" - "addu %[temp7], %[temp1], %[temp0] \n\t" - "subu %[temp2], %[temp2], %[temp4] \n\t" - "lbux %[temp3], %[temp7](%[VP8kclip1]) \n\t" - "lbux %[temp4], %[temp2](%[VP8kclip1]) \n\t" - "sb %[temp3], 0(%[p1]) \n\t" - "sb %[temp4], 0(%[p]) \n\t" - "1: \n\t" - "addiu %[p1], %[p1], 1 \n\t" - "bgtz %[i], 0b \n\t" - " addiu %[p], %[p], 1 \n\t" - " .set pop \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [p]"+&r"(p), [i]"=&r"(i), [p1]"+&r"(p1) - : [stride]"r"(stride), [VP8kclip1]"r"(VP8kclip1), [thresh2]"r"(thresh2) - : "memory" - ); -} - -// TEMP0 = SRC[A + A1 * BPS] -// TEMP1 = SRC[B + B1 * BPS] -// TEMP2 = SRC[C + C1 * BPS] -// TEMP3 = SRC[D + D1 * BPS] -#define LOAD_4_BYTES(TEMP0, TEMP1, TEMP2, TEMP3, \ - A, A1, B, B1, C, C1, D, D1, SRC) \ - "lbu %[" #TEMP0 "], " #A "+" #A1 "*" XSTR(BPS) "(%[" #SRC "]) \n\t" \ - "lbu %[" #TEMP1 "], " #B "+" #B1 "*" XSTR(BPS) "(%[" #SRC "]) \n\t" \ - "lbu %[" #TEMP2 "], " #C "+" #C1 "*" XSTR(BPS) "(%[" #SRC "]) \n\t" \ - "lbu %[" #TEMP3 "], " #D "+" #D1 "*" XSTR(BPS) "(%[" #SRC "]) \n\t" \ - -static void SimpleHFilter16(uint8_t* p, int stride, int thresh) { - int i; - const int thresh2 = 2 * thresh + 1; - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8; - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "li %[i], 16 \n\t" - "0: \n\t" - LOAD_4_BYTES(temp0, temp1, temp2, temp3, -2, 0, -1, 0, 0, 0, 1, 0, p) - "subu %[temp7], %[temp1], %[temp2] \n\t" - "subu %[temp6], %[temp0], %[temp3] \n\t" - "absq_s.w %[temp4], %[temp7] \n\t" - "absq_s.w %[temp5], %[temp6] \n\t" - "sll %[temp4], %[temp4], 2 \n\t" - "addu %[temp5], %[temp4], %[temp5] \n\t" - "subu %[temp5], %[temp5], %[thresh2] \n\t" - "negu %[temp8], %[temp7] \n\t" - "bgtz %[temp5], 1f \n\t" - " addiu %[i], %[i], -1 \n\t" - "sll %[temp4], %[temp8], 1 \n\t" - "shll_s.w %[temp5], %[temp6], 24 \n\t" - "addu %[temp3], %[temp4], %[temp8] \n\t" - "sra %[temp5], %[temp5], 24 \n\t" - "addu %[temp3], %[temp3], %[temp5] \n\t" - "addiu %[temp7], %[temp3], 3 \n\t" - "sra %[temp7], %[temp7], 3 \n\t" - "shra_r.w %[temp8], %[temp3], 3 \n\t" - "shll_s.w %[temp0], %[temp7], 27 \n\t" - "shll_s.w %[temp4], %[temp8], 27 \n\t" - "sra %[temp0], %[temp0], 27 \n\t" - "sra %[temp4], %[temp4], 27 \n\t" - "addu %[temp7], %[temp1], %[temp0] \n\t" - "subu %[temp2], %[temp2], %[temp4] \n\t" - "lbux %[temp3], %[temp7](%[VP8kclip1]) \n\t" - "lbux %[temp4], %[temp2](%[VP8kclip1]) \n\t" - "sb %[temp3], -1(%[p]) \n\t" - "sb %[temp4], 0(%[p]) \n\t" - "1: \n\t" - "bgtz %[i], 0b \n\t" - " addu %[p], %[p], %[stride] \n\t" - ".set pop \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [p]"+&r"(p), [i]"=&r"(i) - : [stride]"r"(stride), [VP8kclip1]"r"(VP8kclip1), [thresh2]"r"(thresh2) - : "memory" - ); -} - -static void SimpleVFilter16i(uint8_t* p, int stride, int thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4 * stride; - SimpleVFilter16(p, stride, thresh); - } -} - -static void SimpleHFilter16i(uint8_t* p, int stride, int thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4; - SimpleHFilter16(p, stride, thresh); - } -} - -// DST[A * BPS] = TEMP0 -// DST[B + C * BPS] = TEMP1 -#define STORE_8_BYTES(TEMP0, TEMP1, A, B, C, DST) \ - "usw %[" #TEMP0 "], " #A "*" XSTR(BPS) "(%[" #DST "]) \n\t" \ - "usw %[" #TEMP1 "], " #B "+" #C "*" XSTR(BPS) "(%[" #DST "]) \n\t" - -static void VE4(uint8_t* dst) { // vertical - const uint8_t* top = dst - BPS; - int temp0, temp1, temp2, temp3, temp4, temp5, temp6; - __asm__ volatile ( - "ulw %[temp0], -1(%[top]) \n\t" - "ulh %[temp1], 3(%[top]) \n\t" - "preceu.ph.qbr %[temp2], %[temp0] \n\t" - "preceu.ph.qbl %[temp3], %[temp0] \n\t" - "preceu.ph.qbr %[temp4], %[temp1] \n\t" - "packrl.ph %[temp5], %[temp3], %[temp2] \n\t" - "packrl.ph %[temp6], %[temp4], %[temp3] \n\t" - "shll.ph %[temp5], %[temp5], 1 \n\t" - "shll.ph %[temp6], %[temp6], 1 \n\t" - "addq.ph %[temp2], %[temp5], %[temp2] \n\t" - "addq.ph %[temp6], %[temp6], %[temp4] \n\t" - "addq.ph %[temp2], %[temp2], %[temp3] \n\t" - "addq.ph %[temp6], %[temp6], %[temp3] \n\t" - "shra_r.ph %[temp2], %[temp2], 2 \n\t" - "shra_r.ph %[temp6], %[temp6], 2 \n\t" - "precr.qb.ph %[temp4], %[temp6], %[temp2] \n\t" - STORE_8_BYTES(temp4, temp4, 0, 0, 1, dst) - STORE_8_BYTES(temp4, temp4, 2, 0, 3, dst) - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6) - : [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -static void DC4(uint8_t* dst) { // DC - int temp0, temp1, temp2, temp3, temp4; - __asm__ volatile ( - "ulw %[temp0], -1*" XSTR(BPS) "(%[dst]) \n\t" - LOAD_4_BYTES(temp1, temp2, temp3, temp4, -1, 0, -1, 1, -1, 2, -1, 3, dst) - "ins %[temp1], %[temp2], 8, 8 \n\t" - "ins %[temp1], %[temp3], 16, 8 \n\t" - "ins %[temp1], %[temp4], 24, 8 \n\t" - "raddu.w.qb %[temp0], %[temp0] \n\t" - "raddu.w.qb %[temp1], %[temp1] \n\t" - "addu %[temp0], %[temp0], %[temp1] \n\t" - "shra_r.w %[temp0], %[temp0], 3 \n\t" - "replv.qb %[temp0], %[temp0] \n\t" - STORE_8_BYTES(temp0, temp0, 0, 0, 1, dst) - STORE_8_BYTES(temp0, temp0, 2, 0, 3, dst) - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4) - : [dst]"r"(dst) - : "memory" - ); -} - -static void RD4(uint8_t* dst) { // Down-right - int temp0, temp1, temp2, temp3, temp4; - int temp5, temp6, temp7, temp8; - __asm__ volatile ( - LOAD_4_BYTES(temp0, temp1, temp2, temp3, -1, 0, -1, 1, -1, 2, -1, 3, dst) - "ulw %[temp7], -1-" XSTR(BPS) "(%[dst]) \n\t" - "ins %[temp1], %[temp0], 16, 16 \n\t" - "preceu.ph.qbr %[temp5], %[temp7] \n\t" - "ins %[temp2], %[temp1], 16, 16 \n\t" - "preceu.ph.qbl %[temp4], %[temp7] \n\t" - "ins %[temp3], %[temp2], 16, 16 \n\t" - "shll.ph %[temp2], %[temp2], 1 \n\t" - "addq.ph %[temp3], %[temp3], %[temp1] \n\t" - "packrl.ph %[temp6], %[temp5], %[temp1] \n\t" - "addq.ph %[temp3], %[temp3], %[temp2] \n\t" - "addq.ph %[temp1], %[temp1], %[temp5] \n\t" - "shll.ph %[temp6], %[temp6], 1 \n\t" - "addq.ph %[temp1], %[temp1], %[temp6] \n\t" - "packrl.ph %[temp0], %[temp4], %[temp5] \n\t" - "addq.ph %[temp8], %[temp5], %[temp4] \n\t" - "shra_r.ph %[temp3], %[temp3], 2 \n\t" - "shll.ph %[temp0], %[temp0], 1 \n\t" - "shra_r.ph %[temp1], %[temp1], 2 \n\t" - "addq.ph %[temp8], %[temp0], %[temp8] \n\t" - "lbu %[temp5], 3-" XSTR(BPS) "(%[dst]) \n\t" - "precrq.ph.w %[temp7], %[temp7], %[temp7] \n\t" - "shra_r.ph %[temp8], %[temp8], 2 \n\t" - "ins %[temp7], %[temp5], 0, 8 \n\t" - "precr.qb.ph %[temp2], %[temp1], %[temp3] \n\t" - "raddu.w.qb %[temp4], %[temp7] \n\t" - "precr.qb.ph %[temp6], %[temp8], %[temp1] \n\t" - "shra_r.w %[temp4], %[temp4], 2 \n\t" - STORE_8_BYTES(temp2, temp6, 3, 0, 1, dst) - "prepend %[temp2], %[temp8], 8 \n\t" - "prepend %[temp6], %[temp4], 8 \n\t" - STORE_8_BYTES(temp2, temp6, 2, 0, 0, dst) - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8) - : [dst]"r"(dst) - : "memory" - ); -} - -// TEMP0 = SRC[A * BPS] -// TEMP1 = SRC[B + C * BPS] -#define LOAD_8_BYTES(TEMP0, TEMP1, A, B, C, SRC) \ - "ulw %[" #TEMP0 "], " #A "*" XSTR(BPS) "(%[" #SRC "]) \n\t" \ - "ulw %[" #TEMP1 "], " #B "+" #C "*" XSTR(BPS) "(%[" #SRC "]) \n\t" - -static void LD4(uint8_t* dst) { // Down-Left - int temp0, temp1, temp2, temp3, temp4; - int temp5, temp6, temp7, temp8, temp9; - __asm__ volatile ( - LOAD_8_BYTES(temp0, temp1, -1, 4, -1, dst) - "preceu.ph.qbl %[temp2], %[temp0] \n\t" - "preceu.ph.qbr %[temp3], %[temp0] \n\t" - "preceu.ph.qbr %[temp4], %[temp1] \n\t" - "preceu.ph.qbl %[temp5], %[temp1] \n\t" - "packrl.ph %[temp6], %[temp2], %[temp3] \n\t" - "packrl.ph %[temp7], %[temp4], %[temp2] \n\t" - "packrl.ph %[temp8], %[temp5], %[temp4] \n\t" - "shll.ph %[temp6], %[temp6], 1 \n\t" - "addq.ph %[temp9], %[temp2], %[temp6] \n\t" - "shll.ph %[temp7], %[temp7], 1 \n\t" - "addq.ph %[temp9], %[temp9], %[temp3] \n\t" - "shll.ph %[temp8], %[temp8], 1 \n\t" - "shra_r.ph %[temp9], %[temp9], 2 \n\t" - "addq.ph %[temp3], %[temp4], %[temp7] \n\t" - "addq.ph %[temp0], %[temp5], %[temp8] \n\t" - "addq.ph %[temp3], %[temp3], %[temp2] \n\t" - "addq.ph %[temp0], %[temp0], %[temp4] \n\t" - "shra_r.ph %[temp3], %[temp3], 2 \n\t" - "shra_r.ph %[temp0], %[temp0], 2 \n\t" - "srl %[temp1], %[temp1], 24 \n\t" - "sll %[temp1], %[temp1], 1 \n\t" - "raddu.w.qb %[temp5], %[temp5] \n\t" - "precr.qb.ph %[temp9], %[temp3], %[temp9] \n\t" - "precr.qb.ph %[temp3], %[temp0], %[temp3] \n\t" - "addu %[temp1], %[temp1], %[temp5] \n\t" - "shra_r.w %[temp1], %[temp1], 2 \n\t" - STORE_8_BYTES(temp9, temp3, 0, 0, 2, dst) - "prepend %[temp9], %[temp0], 8 \n\t" - "prepend %[temp3], %[temp1], 8 \n\t" - STORE_8_BYTES(temp9, temp3, 1, 0, 3, dst) - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9) - : [dst]"r"(dst) - : "memory" - ); -} - -//------------------------------------------------------------------------------ -// Chroma - -static void DC8uv(uint8_t* dst) { // DC - int temp0, temp1, temp2, temp3, temp4; - int temp5, temp6, temp7, temp8, temp9; - __asm__ volatile ( - LOAD_8_BYTES(temp0, temp1, -1, 4, -1, dst) - LOAD_4_BYTES(temp2, temp3, temp4, temp5, -1, 0, -1, 1, -1, 2, -1, 3, dst) - LOAD_4_BYTES(temp6, temp7, temp8, temp9, -1, 4, -1, 5, -1, 6, -1, 7, dst) - "raddu.w.qb %[temp0], %[temp0] \n\t" - "raddu.w.qb %[temp1], %[temp1] \n\t" - "addu %[temp2], %[temp2], %[temp3] \n\t" - "addu %[temp4], %[temp4], %[temp5] \n\t" - "addu %[temp6], %[temp6], %[temp7] \n\t" - "addu %[temp8], %[temp8], %[temp9] \n\t" - "addu %[temp0], %[temp0], %[temp1] \n\t" - "addu %[temp2], %[temp2], %[temp4] \n\t" - "addu %[temp6], %[temp6], %[temp8] \n\t" - "addu %[temp0], %[temp0], %[temp2] \n\t" - "addu %[temp0], %[temp0], %[temp6] \n\t" - "shra_r.w %[temp0], %[temp0], 4 \n\t" - "replv.qb %[temp0], %[temp0] \n\t" - STORE_8_BYTES(temp0, temp0, 0, 4, 0, dst) - STORE_8_BYTES(temp0, temp0, 1, 4, 1, dst) - STORE_8_BYTES(temp0, temp0, 2, 4, 2, dst) - STORE_8_BYTES(temp0, temp0, 3, 4, 3, dst) - STORE_8_BYTES(temp0, temp0, 4, 4, 4, dst) - STORE_8_BYTES(temp0, temp0, 5, 4, 5, dst) - STORE_8_BYTES(temp0, temp0, 6, 4, 6, dst) - STORE_8_BYTES(temp0, temp0, 7, 4, 7, dst) - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9) - : [dst]"r"(dst) - : "memory" - ); -} - -static void DC8uvNoLeft(uint8_t* dst) { // DC with no left samples - int temp0, temp1; - __asm__ volatile ( - LOAD_8_BYTES(temp0, temp1, -1, 4, -1, dst) - "raddu.w.qb %[temp0], %[temp0] \n\t" - "raddu.w.qb %[temp1], %[temp1] \n\t" - "addu %[temp0], %[temp0], %[temp1] \n\t" - "shra_r.w %[temp0], %[temp0], 3 \n\t" - "replv.qb %[temp0], %[temp0] \n\t" - STORE_8_BYTES(temp0, temp0, 0, 4, 0, dst) - STORE_8_BYTES(temp0, temp0, 1, 4, 1, dst) - STORE_8_BYTES(temp0, temp0, 2, 4, 2, dst) - STORE_8_BYTES(temp0, temp0, 3, 4, 3, dst) - STORE_8_BYTES(temp0, temp0, 4, 4, 4, dst) - STORE_8_BYTES(temp0, temp0, 5, 4, 5, dst) - STORE_8_BYTES(temp0, temp0, 6, 4, 6, dst) - STORE_8_BYTES(temp0, temp0, 7, 4, 7, dst) - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1) - : [dst]"r"(dst) - : "memory" - ); -} - -static void DC8uvNoTop(uint8_t* dst) { // DC with no top samples - int temp0, temp1, temp2, temp3, temp4; - int temp5, temp6, temp7, temp8; - __asm__ volatile ( - LOAD_4_BYTES(temp2, temp3, temp4, temp5, -1, 0, -1, 1, -1, 2, -1, 3, dst) - LOAD_4_BYTES(temp6, temp7, temp8, temp1, -1, 4, -1, 5, -1, 6, -1, 7, dst) - "addu %[temp2], %[temp2], %[temp3] \n\t" - "addu %[temp4], %[temp4], %[temp5] \n\t" - "addu %[temp6], %[temp6], %[temp7] \n\t" - "addu %[temp8], %[temp8], %[temp1] \n\t" - "addu %[temp2], %[temp2], %[temp4] \n\t" - "addu %[temp6], %[temp6], %[temp8] \n\t" - "addu %[temp0], %[temp6], %[temp2] \n\t" - "shra_r.w %[temp0], %[temp0], 3 \n\t" - "replv.qb %[temp0], %[temp0] \n\t" - STORE_8_BYTES(temp0, temp0, 0, 4, 0, dst) - STORE_8_BYTES(temp0, temp0, 1, 4, 1, dst) - STORE_8_BYTES(temp0, temp0, 2, 4, 2, dst) - STORE_8_BYTES(temp0, temp0, 3, 4, 3, dst) - STORE_8_BYTES(temp0, temp0, 4, 4, 4, dst) - STORE_8_BYTES(temp0, temp0, 5, 4, 5, dst) - STORE_8_BYTES(temp0, temp0, 6, 4, 6, dst) - STORE_8_BYTES(temp0, temp0, 7, 4, 7, dst) - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8) - : [dst]"r"(dst) - : "memory" - ); -} - -#undef LOAD_8_BYTES -#undef STORE_8_BYTES -#undef LOAD_4_BYTES - -#define CLIPPING(SIZE) \ - "preceu.ph.qbl %[temp2], %[temp0] \n\t" \ - "preceu.ph.qbr %[temp0], %[temp0] \n\t" \ -".if " #SIZE " == 8 \n\t" \ - "preceu.ph.qbl %[temp3], %[temp1] \n\t" \ - "preceu.ph.qbr %[temp1], %[temp1] \n\t" \ -".endif \n\t" \ - "addu.ph %[temp2], %[temp2], %[dst_1] \n\t" \ - "addu.ph %[temp0], %[temp0], %[dst_1] \n\t" \ -".if " #SIZE " == 8 \n\t" \ - "addu.ph %[temp3], %[temp3], %[dst_1] \n\t" \ - "addu.ph %[temp1], %[temp1], %[dst_1] \n\t" \ -".endif \n\t" \ - "shll_s.ph %[temp2], %[temp2], 7 \n\t" \ - "shll_s.ph %[temp0], %[temp0], 7 \n\t" \ -".if " #SIZE " == 8 \n\t" \ - "shll_s.ph %[temp3], %[temp3], 7 \n\t" \ - "shll_s.ph %[temp1], %[temp1], 7 \n\t" \ -".endif \n\t" \ - "precrqu_s.qb.ph %[temp0], %[temp2], %[temp0] \n\t" \ -".if " #SIZE " == 8 \n\t" \ - "precrqu_s.qb.ph %[temp1], %[temp3], %[temp1] \n\t" \ -".endif \n\t" - - -#define CLIP_8B_TO_DST(DST, TOP, SIZE) do { \ - int dst_1 = ((int)(DST)[-1] << 16) + (DST)[-1]; \ - int temp0, temp1, temp2, temp3; \ - __asm__ volatile ( \ - ".if " #SIZE " < 8 \n\t" \ - "ulw %[temp0], 0(%[top]) \n\t" \ - "subu.ph %[dst_1], %[dst_1], %[top_1] \n\t" \ - CLIPPING(4) \ - "usw %[temp0], 0(%[dst]) \n\t" \ - ".else \n\t" \ - "ulw %[temp0], 0(%[top]) \n\t" \ - "ulw %[temp1], 4(%[top]) \n\t" \ - "subu.ph %[dst_1], %[dst_1], %[top_1] \n\t" \ - CLIPPING(8) \ - "usw %[temp0], 0(%[dst]) \n\t" \ - "usw %[temp1], 4(%[dst]) \n\t" \ - ".if " #SIZE " == 16 \n\t" \ - "ulw %[temp0], 8(%[top]) \n\t" \ - "ulw %[temp1], 12(%[top]) \n\t" \ - CLIPPING(8) \ - "usw %[temp0], 8(%[dst]) \n\t" \ - "usw %[temp1], 12(%[dst]) \n\t" \ - ".endif \n\t" \ - ".endif \n\t" \ - : [dst_1]"+&r"(dst_1), [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), \ - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3) \ - : [top_1]"r"(top_1), [top]"r"((TOP)), [dst]"r"((DST)) \ - : "memory" \ - ); \ -} while (0) - -#define CLIP_TO_DST(DST, SIZE) do { \ - int y; \ - const uint8_t* top = (DST) - BPS; \ - const int top_1 = ((int)top[-1] << 16) + top[-1]; \ - for (y = 0; y < (SIZE); ++y) { \ - CLIP_8B_TO_DST((DST), top, (SIZE)); \ - (DST) += BPS; \ - } \ -} while (0) - -#define TRUE_MOTION(DST, SIZE) \ -static void TrueMotion##SIZE(uint8_t* (DST)) { \ - CLIP_TO_DST((DST), (SIZE)); \ -} - -TRUE_MOTION(dst, 4) -TRUE_MOTION(dst, 8) -TRUE_MOTION(dst, 16) - -#undef TRUE_MOTION -#undef CLIP_TO_DST -#undef CLIP_8B_TO_DST -#undef CLIPPING - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8DspInitMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitMIPSdspR2(void) { - VP8TransformDC = TransformDC; - VP8TransformAC3 = TransformAC3; - VP8Transform = TransformTwo; - - VP8VFilter16 = VFilter16; - VP8HFilter16 = HFilter16; - VP8VFilter8 = VFilter8; - VP8HFilter8 = HFilter8; - VP8VFilter16i = VFilter16i; - VP8HFilter16i = HFilter16i; - VP8VFilter8i = VFilter8i; - VP8HFilter8i = HFilter8i; - VP8SimpleVFilter16 = SimpleVFilter16; - VP8SimpleHFilter16 = SimpleHFilter16; - VP8SimpleVFilter16i = SimpleVFilter16i; - VP8SimpleHFilter16i = SimpleHFilter16i; - - VP8PredLuma4[0] = DC4; - VP8PredLuma4[1] = TrueMotion4; - VP8PredLuma4[2] = VE4; - VP8PredLuma4[4] = RD4; - VP8PredLuma4[6] = LD4; - - VP8PredChroma8[0] = DC8uv; - VP8PredChroma8[1] = TrueMotion8; - VP8PredChroma8[4] = DC8uvNoTop; - VP8PredChroma8[5] = DC8uvNoLeft; - - VP8PredLuma16[1] = TrueMotion16; -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(VP8DspInitMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_msa.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_msa.c deleted file mode 100644 index 8090622b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_msa.c +++ /dev/null @@ -1,1020 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MSA version of dsp functions -// -// Author(s): Prashant Patil (prashant.patil@imgtec.com) - - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MSA) - -#include "src/dsp/msa_macro.h" - -//------------------------------------------------------------------------------ -// Transforms - -#define IDCT_1D_W(in0, in1, in2, in3, out0, out1, out2, out3) { \ - v4i32 a1_m, b1_m, c1_m, d1_m; \ - v4i32 c_tmp1_m, c_tmp2_m, d_tmp1_m, d_tmp2_m; \ - const v4i32 cospi8sqrt2minus1 = __msa_fill_w(20091); \ - const v4i32 sinpi8sqrt2 = __msa_fill_w(35468); \ - \ - a1_m = in0 + in2; \ - b1_m = in0 - in2; \ - c_tmp1_m = (in1 * sinpi8sqrt2) >> 16; \ - c_tmp2_m = in3 + ((in3 * cospi8sqrt2minus1) >> 16); \ - c1_m = c_tmp1_m - c_tmp2_m; \ - d_tmp1_m = in1 + ((in1 * cospi8sqrt2minus1) >> 16); \ - d_tmp2_m = (in3 * sinpi8sqrt2) >> 16; \ - d1_m = d_tmp1_m + d_tmp2_m; \ - BUTTERFLY_4(a1_m, b1_m, c1_m, d1_m, out0, out1, out2, out3); \ -} -#define MULT1(a) ((((a) * 20091) >> 16) + (a)) -#define MULT2(a) (((a) * 35468) >> 16) - -static void TransformOne(const int16_t* in, uint8_t* dst) { - v8i16 input0, input1; - v4i32 in0, in1, in2, in3, hz0, hz1, hz2, hz3, vt0, vt1, vt2, vt3; - v4i32 res0, res1, res2, res3; - const v16i8 zero = { 0 }; - v16i8 dest0, dest1, dest2, dest3; - - LD_SH2(in, 8, input0, input1); - UNPCK_SH_SW(input0, in0, in1); - UNPCK_SH_SW(input1, in2, in3); - IDCT_1D_W(in0, in1, in2, in3, hz0, hz1, hz2, hz3); - TRANSPOSE4x4_SW_SW(hz0, hz1, hz2, hz3, hz0, hz1, hz2, hz3); - IDCT_1D_W(hz0, hz1, hz2, hz3, vt0, vt1, vt2, vt3); - SRARI_W4_SW(vt0, vt1, vt2, vt3, 3); - TRANSPOSE4x4_SW_SW(vt0, vt1, vt2, vt3, vt0, vt1, vt2, vt3); - LD_SB4(dst, BPS, dest0, dest1, dest2, dest3); - ILVR_B4_SW(zero, dest0, zero, dest1, zero, dest2, zero, dest3, - res0, res1, res2, res3); - ILVR_H4_SW(zero, res0, zero, res1, zero, res2, zero, res3, - res0, res1, res2, res3); - ADD4(res0, vt0, res1, vt1, res2, vt2, res3, vt3, res0, res1, res2, res3); - CLIP_SW4_0_255(res0, res1, res2, res3); - PCKEV_B2_SW(res0, res1, res2, res3, vt0, vt1); - res0 = (v4i32)__msa_pckev_b((v16i8)vt0, (v16i8)vt1); - ST4x4_UB(res0, res0, 3, 2, 1, 0, dst, BPS); -} - -static void TransformTwo(const int16_t* in, uint8_t* dst, int do_two) { - TransformOne(in, dst); - if (do_two) { - TransformOne(in + 16, dst + 4); - } -} - -static void TransformWHT(const int16_t* in, int16_t* out) { - v8i16 input0, input1; - const v8i16 mask0 = { 0, 1, 2, 3, 8, 9, 10, 11 }; - const v8i16 mask1 = { 4, 5, 6, 7, 12, 13, 14, 15 }; - const v8i16 mask2 = { 0, 4, 8, 12, 1, 5, 9, 13 }; - const v8i16 mask3 = { 3, 7, 11, 15, 2, 6, 10, 14 }; - v8i16 tmp0, tmp1, tmp2, tmp3; - v8i16 out0, out1; - - LD_SH2(in, 8, input0, input1); - input1 = SLDI_SH(input1, input1, 8); - tmp0 = input0 + input1; - tmp1 = input0 - input1; - VSHF_H2_SH(tmp0, tmp1, tmp0, tmp1, mask0, mask1, tmp2, tmp3); - out0 = tmp2 + tmp3; - out1 = tmp2 - tmp3; - VSHF_H2_SH(out0, out1, out0, out1, mask2, mask3, input0, input1); - tmp0 = input0 + input1; - tmp1 = input0 - input1; - VSHF_H2_SH(tmp0, tmp1, tmp0, tmp1, mask0, mask1, tmp2, tmp3); - tmp0 = tmp2 + tmp3; - tmp1 = tmp2 - tmp3; - ADDVI_H2_SH(tmp0, 3, tmp1, 3, out0, out1); - SRAI_H2_SH(out0, out1, 3); - out[0] = __msa_copy_s_h(out0, 0); - out[16] = __msa_copy_s_h(out0, 4); - out[32] = __msa_copy_s_h(out1, 0); - out[48] = __msa_copy_s_h(out1, 4); - out[64] = __msa_copy_s_h(out0, 1); - out[80] = __msa_copy_s_h(out0, 5); - out[96] = __msa_copy_s_h(out1, 1); - out[112] = __msa_copy_s_h(out1, 5); - out[128] = __msa_copy_s_h(out0, 2); - out[144] = __msa_copy_s_h(out0, 6); - out[160] = __msa_copy_s_h(out1, 2); - out[176] = __msa_copy_s_h(out1, 6); - out[192] = __msa_copy_s_h(out0, 3); - out[208] = __msa_copy_s_h(out0, 7); - out[224] = __msa_copy_s_h(out1, 3); - out[240] = __msa_copy_s_h(out1, 7); -} - -static void TransformDC(const int16_t* in, uint8_t* dst) { - const int DC = (in[0] + 4) >> 3; - const v8i16 tmp0 = __msa_fill_h(DC); - ADDBLK_ST4x4_UB(tmp0, tmp0, tmp0, tmp0, dst, BPS); -} - -static void TransformAC3(const int16_t* in, uint8_t* dst) { - const int a = in[0] + 4; - const int c4 = MULT2(in[4]); - const int d4 = MULT1(in[4]); - const int in2 = MULT2(in[1]); - const int in3 = MULT1(in[1]); - v4i32 tmp0 = { 0 }; - v4i32 out0 = __msa_fill_w(a + d4); - v4i32 out1 = __msa_fill_w(a + c4); - v4i32 out2 = __msa_fill_w(a - c4); - v4i32 out3 = __msa_fill_w(a - d4); - v4i32 res0, res1, res2, res3; - const v4i32 zero = { 0 }; - v16u8 dest0, dest1, dest2, dest3; - - INSERT_W4_SW(in3, in2, -in2, -in3, tmp0); - ADD4(out0, tmp0, out1, tmp0, out2, tmp0, out3, tmp0, - out0, out1, out2, out3); - SRAI_W4_SW(out0, out1, out2, out3, 3); - LD_UB4(dst, BPS, dest0, dest1, dest2, dest3); - ILVR_B4_SW(zero, dest0, zero, dest1, zero, dest2, zero, dest3, - res0, res1, res2, res3); - ILVR_H4_SW(zero, res0, zero, res1, zero, res2, zero, res3, - res0, res1, res2, res3); - ADD4(res0, out0, res1, out1, res2, out2, res3, out3, res0, res1, res2, res3); - CLIP_SW4_0_255(res0, res1, res2, res3); - PCKEV_B2_SW(res0, res1, res2, res3, out0, out1); - res0 = (v4i32)__msa_pckev_b((v16i8)out0, (v16i8)out1); - ST4x4_UB(res0, res0, 3, 2, 1, 0, dst, BPS); -} - -//------------------------------------------------------------------------------ -// Edge filtering functions - -#define FLIP_SIGN2(in0, in1, out0, out1) { \ - out0 = (v16i8)__msa_xori_b(in0, 0x80); \ - out1 = (v16i8)__msa_xori_b(in1, 0x80); \ -} - -#define FLIP_SIGN4(in0, in1, in2, in3, out0, out1, out2, out3) { \ - FLIP_SIGN2(in0, in1, out0, out1); \ - FLIP_SIGN2(in2, in3, out2, out3); \ -} - -#define FILT_VAL(q0_m, p0_m, mask, filt) do { \ - v16i8 q0_sub_p0; \ - q0_sub_p0 = __msa_subs_s_b(q0_m, p0_m); \ - filt = __msa_adds_s_b(filt, q0_sub_p0); \ - filt = __msa_adds_s_b(filt, q0_sub_p0); \ - filt = __msa_adds_s_b(filt, q0_sub_p0); \ - filt = filt & mask; \ -} while (0) - -#define FILT2(q_m, p_m, q, p) do { \ - u_r = SRAI_H(temp1, 7); \ - u_r = __msa_sat_s_h(u_r, 7); \ - u_l = SRAI_H(temp3, 7); \ - u_l = __msa_sat_s_h(u_l, 7); \ - u = __msa_pckev_b((v16i8)u_l, (v16i8)u_r); \ - q_m = __msa_subs_s_b(q_m, u); \ - p_m = __msa_adds_s_b(p_m, u); \ - q = __msa_xori_b((v16u8)q_m, 0x80); \ - p = __msa_xori_b((v16u8)p_m, 0x80); \ -} while (0) - -#define LPF_FILTER4_4W(p1, p0, q0, q1, mask, hev) do { \ - v16i8 p1_m, p0_m, q0_m, q1_m; \ - v16i8 filt, t1, t2; \ - const v16i8 cnst4b = __msa_ldi_b(4); \ - const v16i8 cnst3b = __msa_ldi_b(3); \ - \ - FLIP_SIGN4(p1, p0, q0, q1, p1_m, p0_m, q0_m, q1_m); \ - filt = __msa_subs_s_b(p1_m, q1_m); \ - filt = filt & hev; \ - FILT_VAL(q0_m, p0_m, mask, filt); \ - t1 = __msa_adds_s_b(filt, cnst4b); \ - t1 = SRAI_B(t1, 3); \ - t2 = __msa_adds_s_b(filt, cnst3b); \ - t2 = SRAI_B(t2, 3); \ - q0_m = __msa_subs_s_b(q0_m, t1); \ - q0 = __msa_xori_b((v16u8)q0_m, 0x80); \ - p0_m = __msa_adds_s_b(p0_m, t2); \ - p0 = __msa_xori_b((v16u8)p0_m, 0x80); \ - filt = __msa_srari_b(t1, 1); \ - hev = __msa_xori_b(hev, 0xff); \ - filt = filt & hev; \ - q1_m = __msa_subs_s_b(q1_m, filt); \ - q1 = __msa_xori_b((v16u8)q1_m, 0x80); \ - p1_m = __msa_adds_s_b(p1_m, filt); \ - p1 = __msa_xori_b((v16u8)p1_m, 0x80); \ -} while (0) - -#define LPF_MBFILTER(p2, p1, p0, q0, q1, q2, mask, hev) do { \ - v16i8 p2_m, p1_m, p0_m, q2_m, q1_m, q0_m; \ - v16i8 u, filt, t1, t2, filt_sign; \ - v8i16 filt_r, filt_l, u_r, u_l; \ - v8i16 temp0, temp1, temp2, temp3; \ - const v16i8 cnst4b = __msa_ldi_b(4); \ - const v16i8 cnst3b = __msa_ldi_b(3); \ - const v8i16 cnst9h = __msa_ldi_h(9); \ - const v8i16 cnst63h = __msa_ldi_h(63); \ - \ - FLIP_SIGN4(p1, p0, q0, q1, p1_m, p0_m, q0_m, q1_m); \ - filt = __msa_subs_s_b(p1_m, q1_m); \ - FILT_VAL(q0_m, p0_m, mask, filt); \ - FLIP_SIGN2(p2, q2, p2_m, q2_m); \ - t2 = filt & hev; \ - /* filt_val &= ~hev */ \ - hev = __msa_xori_b(hev, 0xff); \ - filt = filt & hev; \ - t1 = __msa_adds_s_b(t2, cnst4b); \ - t1 = SRAI_B(t1, 3); \ - t2 = __msa_adds_s_b(t2, cnst3b); \ - t2 = SRAI_B(t2, 3); \ - q0_m = __msa_subs_s_b(q0_m, t1); \ - p0_m = __msa_adds_s_b(p0_m, t2); \ - filt_sign = __msa_clti_s_b(filt, 0); \ - ILVRL_B2_SH(filt_sign, filt, filt_r, filt_l); \ - /* update q2/p2 */ \ - temp0 = filt_r * cnst9h; \ - temp1 = temp0 + cnst63h; \ - temp2 = filt_l * cnst9h; \ - temp3 = temp2 + cnst63h; \ - FILT2(q2_m, p2_m, q2, p2); \ - /* update q1/p1 */ \ - temp1 = temp1 + temp0; \ - temp3 = temp3 + temp2; \ - FILT2(q1_m, p1_m, q1, p1); \ - /* update q0/p0 */ \ - temp1 = temp1 + temp0; \ - temp3 = temp3 + temp2; \ - FILT2(q0_m, p0_m, q0, p0); \ -} while (0) - -#define LPF_MASK_HEV(p3_in, p2_in, p1_in, p0_in, \ - q0_in, q1_in, q2_in, q3_in, \ - limit_in, b_limit_in, thresh_in, \ - hev_out, mask_out) do { \ - v16u8 p3_asub_p2_m, p2_asub_p1_m, p1_asub_p0_m, q1_asub_q0_m; \ - v16u8 p1_asub_q1_m, p0_asub_q0_m, q3_asub_q2_m, q2_asub_q1_m; \ - v16u8 flat_out; \ - \ - /* absolute subtraction of pixel values */ \ - p3_asub_p2_m = __msa_asub_u_b(p3_in, p2_in); \ - p2_asub_p1_m = __msa_asub_u_b(p2_in, p1_in); \ - p1_asub_p0_m = __msa_asub_u_b(p1_in, p0_in); \ - q1_asub_q0_m = __msa_asub_u_b(q1_in, q0_in); \ - q2_asub_q1_m = __msa_asub_u_b(q2_in, q1_in); \ - q3_asub_q2_m = __msa_asub_u_b(q3_in, q2_in); \ - p0_asub_q0_m = __msa_asub_u_b(p0_in, q0_in); \ - p1_asub_q1_m = __msa_asub_u_b(p1_in, q1_in); \ - /* calculation of hev */ \ - flat_out = __msa_max_u_b(p1_asub_p0_m, q1_asub_q0_m); \ - hev_out = (thresh_in < flat_out); \ - /* calculation of mask */ \ - p0_asub_q0_m = __msa_adds_u_b(p0_asub_q0_m, p0_asub_q0_m); \ - p1_asub_q1_m = SRAI_B(p1_asub_q1_m, 1); \ - p0_asub_q0_m = __msa_adds_u_b(p0_asub_q0_m, p1_asub_q1_m); \ - mask_out = (b_limit_in < p0_asub_q0_m); \ - mask_out = __msa_max_u_b(flat_out, mask_out); \ - p3_asub_p2_m = __msa_max_u_b(p3_asub_p2_m, p2_asub_p1_m); \ - mask_out = __msa_max_u_b(p3_asub_p2_m, mask_out); \ - q2_asub_q1_m = __msa_max_u_b(q2_asub_q1_m, q3_asub_q2_m); \ - mask_out = __msa_max_u_b(q2_asub_q1_m, mask_out); \ - mask_out = (limit_in < mask_out); \ - mask_out = __msa_xori_b(mask_out, 0xff); \ -} while (0) - -#define ST6x1_UB(in0, in0_idx, in1, in1_idx, pdst, stride) do { \ - const uint16_t tmp0_h = __msa_copy_s_h((v8i16)in1, in1_idx); \ - const uint32_t tmp0_w = __msa_copy_s_w((v4i32)in0, in0_idx); \ - SW(tmp0_w, pdst); \ - SH(tmp0_h, pdst + stride); \ -} while (0) - -#define ST6x4_UB(in0, start_in0_idx, in1, start_in1_idx, pdst, stride) do { \ - uint8_t* ptmp1 = (uint8_t*)pdst; \ - ST6x1_UB(in0, start_in0_idx, in1, start_in1_idx, ptmp1, 4); \ - ptmp1 += stride; \ - ST6x1_UB(in0, start_in0_idx + 1, in1, start_in1_idx + 1, ptmp1, 4); \ - ptmp1 += stride; \ - ST6x1_UB(in0, start_in0_idx + 2, in1, start_in1_idx + 2, ptmp1, 4); \ - ptmp1 += stride; \ - ST6x1_UB(in0, start_in0_idx + 3, in1, start_in1_idx + 3, ptmp1, 4); \ -} while (0) - -#define LPF_SIMPLE_FILT(p1_in, p0_in, q0_in, q1_in, mask) do { \ - v16i8 p1_m, p0_m, q0_m, q1_m, filt, filt1, filt2; \ - const v16i8 cnst4b = __msa_ldi_b(4); \ - const v16i8 cnst3b = __msa_ldi_b(3); \ - \ - FLIP_SIGN4(p1_in, p0_in, q0_in, q1_in, p1_m, p0_m, q0_m, q1_m); \ - filt = __msa_subs_s_b(p1_m, q1_m); \ - FILT_VAL(q0_m, p0_m, mask, filt); \ - filt1 = __msa_adds_s_b(filt, cnst4b); \ - filt1 = SRAI_B(filt1, 3); \ - filt2 = __msa_adds_s_b(filt, cnst3b); \ - filt2 = SRAI_B(filt2, 3); \ - q0_m = __msa_subs_s_b(q0_m, filt1); \ - p0_m = __msa_adds_s_b(p0_m, filt2); \ - q0_in = __msa_xori_b((v16u8)q0_m, 0x80); \ - p0_in = __msa_xori_b((v16u8)p0_m, 0x80); \ -} while (0) - -#define LPF_SIMPLE_MASK(p1, p0, q0, q1, b_limit, mask) do { \ - v16u8 p1_a_sub_q1, p0_a_sub_q0; \ - \ - p0_a_sub_q0 = __msa_asub_u_b(p0, q0); \ - p1_a_sub_q1 = __msa_asub_u_b(p1, q1); \ - p1_a_sub_q1 = (v16u8)__msa_srli_b((v16i8)p1_a_sub_q1, 1); \ - p0_a_sub_q0 = __msa_adds_u_b(p0_a_sub_q0, p0_a_sub_q0); \ - mask = __msa_adds_u_b(p0_a_sub_q0, p1_a_sub_q1); \ - mask = (mask <= b_limit); \ -} while (0) - -static void VFilter16(uint8_t* src, int stride, - int b_limit_in, int limit_in, int thresh_in) { - uint8_t* ptemp = src - 4 * stride; - v16u8 p3, p2, p1, p0, q3, q2, q1, q0; - v16u8 mask, hev; - const v16u8 thresh = (v16u8)__msa_fill_b(thresh_in); - const v16u8 limit = (v16u8)__msa_fill_b(limit_in); - const v16u8 b_limit = (v16u8)__msa_fill_b(b_limit_in); - - LD_UB8(ptemp, stride, p3, p2, p1, p0, q0, q1, q2, q3); - LPF_MASK_HEV(p3, p2, p1, p0, q0, q1, q2, q3, limit, b_limit, thresh, - hev, mask); - LPF_MBFILTER(p2, p1, p0, q0, q1, q2, mask, hev); - ptemp = src - 3 * stride; - ST_UB4(p2, p1, p0, q0, ptemp, stride); - ptemp += (4 * stride); - ST_UB2(q1, q2, ptemp, stride); -} - -static void HFilter16(uint8_t* src, int stride, - int b_limit_in, int limit_in, int thresh_in) { - uint8_t* ptmp = src - 4; - v16u8 p3, p2, p1, p0, q3, q2, q1, q0; - v16u8 mask, hev; - v16u8 row0, row1, row2, row3, row4, row5, row6, row7, row8; - v16u8 row9, row10, row11, row12, row13, row14, row15; - v8i16 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - const v16u8 b_limit = (v16u8)__msa_fill_b(b_limit_in); - const v16u8 limit = (v16u8)__msa_fill_b(limit_in); - const v16u8 thresh = (v16u8)__msa_fill_b(thresh_in); - - LD_UB8(ptmp, stride, row0, row1, row2, row3, row4, row5, row6, row7); - ptmp += (8 * stride); - LD_UB8(ptmp, stride, row8, row9, row10, row11, row12, row13, row14, row15); - TRANSPOSE16x8_UB_UB(row0, row1, row2, row3, row4, row5, row6, row7, - row8, row9, row10, row11, row12, row13, row14, row15, - p3, p2, p1, p0, q0, q1, q2, q3); - LPF_MASK_HEV(p3, p2, p1, p0, q0, q1, q2, q3, limit, b_limit, thresh, - hev, mask); - LPF_MBFILTER(p2, p1, p0, q0, q1, q2, mask, hev); - ILVR_B2_SH(p1, p2, q0, p0, tmp0, tmp1); - ILVRL_H2_SH(tmp1, tmp0, tmp3, tmp4); - ILVL_B2_SH(p1, p2, q0, p0, tmp0, tmp1); - ILVRL_H2_SH(tmp1, tmp0, tmp6, tmp7); - ILVRL_B2_SH(q2, q1, tmp2, tmp5); - ptmp = src - 3; - ST6x1_UB(tmp3, 0, tmp2, 0, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp3, 1, tmp2, 1, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp3, 2, tmp2, 2, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp3, 3, tmp2, 3, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp4, 0, tmp2, 4, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp4, 1, tmp2, 5, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp4, 2, tmp2, 6, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp4, 3, tmp2, 7, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp6, 0, tmp5, 0, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp6, 1, tmp5, 1, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp6, 2, tmp5, 2, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp6, 3, tmp5, 3, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp7, 0, tmp5, 4, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp7, 1, tmp5, 5, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp7, 2, tmp5, 6, ptmp, 4); - ptmp += stride; - ST6x1_UB(tmp7, 3, tmp5, 7, ptmp, 4); -} - -// on three inner edges -static void VFilterHorEdge16i(uint8_t* src, int stride, - int b_limit, int limit, int thresh) { - v16u8 mask, hev; - v16u8 p3, p2, p1, p0, q3, q2, q1, q0; - const v16u8 thresh0 = (v16u8)__msa_fill_b(thresh); - const v16u8 b_limit0 = (v16u8)__msa_fill_b(b_limit); - const v16u8 limit0 = (v16u8)__msa_fill_b(limit); - - LD_UB8((src - 4 * stride), stride, p3, p2, p1, p0, q0, q1, q2, q3); - LPF_MASK_HEV(p3, p2, p1, p0, q0, q1, q2, q3, limit0, b_limit0, thresh0, - hev, mask); - LPF_FILTER4_4W(p1, p0, q0, q1, mask, hev); - ST_UB4(p1, p0, q0, q1, (src - 2 * stride), stride); -} - -static void VFilter16i(uint8_t* src_y, int stride, - int b_limit, int limit, int thresh) { - VFilterHorEdge16i(src_y + 4 * stride, stride, b_limit, limit, thresh); - VFilterHorEdge16i(src_y + 8 * stride, stride, b_limit, limit, thresh); - VFilterHorEdge16i(src_y + 12 * stride, stride, b_limit, limit, thresh); -} - -static void HFilterVertEdge16i(uint8_t* src, int stride, - int b_limit, int limit, int thresh) { - v16u8 mask, hev; - v16u8 p3, p2, p1, p0, q3, q2, q1, q0; - v16u8 row0, row1, row2, row3, row4, row5, row6, row7; - v16u8 row8, row9, row10, row11, row12, row13, row14, row15; - v8i16 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; - const v16u8 thresh0 = (v16u8)__msa_fill_b(thresh); - const v16u8 b_limit0 = (v16u8)__msa_fill_b(b_limit); - const v16u8 limit0 = (v16u8)__msa_fill_b(limit); - - LD_UB8(src - 4, stride, row0, row1, row2, row3, row4, row5, row6, row7); - LD_UB8(src - 4 + (8 * stride), stride, - row8, row9, row10, row11, row12, row13, row14, row15); - TRANSPOSE16x8_UB_UB(row0, row1, row2, row3, row4, row5, row6, row7, - row8, row9, row10, row11, row12, row13, row14, row15, - p3, p2, p1, p0, q0, q1, q2, q3); - LPF_MASK_HEV(p3, p2, p1, p0, q0, q1, q2, q3, limit0, b_limit0, thresh0, - hev, mask); - LPF_FILTER4_4W(p1, p0, q0, q1, mask, hev); - ILVR_B2_SH(p0, p1, q1, q0, tmp0, tmp1); - ILVRL_H2_SH(tmp1, tmp0, tmp2, tmp3); - ILVL_B2_SH(p0, p1, q1, q0, tmp0, tmp1); - ILVRL_H2_SH(tmp1, tmp0, tmp4, tmp5); - src -= 2; - ST4x8_UB(tmp2, tmp3, src, stride); - src += (8 * stride); - ST4x8_UB(tmp4, tmp5, src, stride); -} - -static void HFilter16i(uint8_t* src_y, int stride, - int b_limit, int limit, int thresh) { - HFilterVertEdge16i(src_y + 4, stride, b_limit, limit, thresh); - HFilterVertEdge16i(src_y + 8, stride, b_limit, limit, thresh); - HFilterVertEdge16i(src_y + 12, stride, b_limit, limit, thresh); -} - -// 8-pixels wide variants, for chroma filtering -static void VFilter8(uint8_t* src_u, uint8_t* src_v, int stride, - int b_limit_in, int limit_in, int thresh_in) { - uint8_t* ptmp_src_u = src_u - 4 * stride; - uint8_t* ptmp_src_v = src_v - 4 * stride; - uint64_t p2_d, p1_d, p0_d, q0_d, q1_d, q2_d; - v16u8 p3, p2, p1, p0, q3, q2, q1, q0, mask, hev; - v16u8 p3_u, p2_u, p1_u, p0_u, q3_u, q2_u, q1_u, q0_u; - v16u8 p3_v, p2_v, p1_v, p0_v, q3_v, q2_v, q1_v, q0_v; - const v16u8 b_limit = (v16u8)__msa_fill_b(b_limit_in); - const v16u8 limit = (v16u8)__msa_fill_b(limit_in); - const v16u8 thresh = (v16u8)__msa_fill_b(thresh_in); - - LD_UB8(ptmp_src_u, stride, p3_u, p2_u, p1_u, p0_u, q0_u, q1_u, q2_u, q3_u); - LD_UB8(ptmp_src_v, stride, p3_v, p2_v, p1_v, p0_v, q0_v, q1_v, q2_v, q3_v); - ILVR_D4_UB(p3_v, p3_u, p2_v, p2_u, p1_v, p1_u, p0_v, p0_u, p3, p2, p1, p0); - ILVR_D4_UB(q0_v, q0_u, q1_v, q1_u, q2_v, q2_u, q3_v, q3_u, q0, q1, q2, q3); - LPF_MASK_HEV(p3, p2, p1, p0, q0, q1, q2, q3, limit, b_limit, thresh, - hev, mask); - LPF_MBFILTER(p2, p1, p0, q0, q1, q2, mask, hev); - p2_d = __msa_copy_s_d((v2i64)p2, 0); - p1_d = __msa_copy_s_d((v2i64)p1, 0); - p0_d = __msa_copy_s_d((v2i64)p0, 0); - q0_d = __msa_copy_s_d((v2i64)q0, 0); - q1_d = __msa_copy_s_d((v2i64)q1, 0); - q2_d = __msa_copy_s_d((v2i64)q2, 0); - ptmp_src_u += stride; - SD4(p2_d, p1_d, p0_d, q0_d, ptmp_src_u, stride); - ptmp_src_u += (4 * stride); - SD(q1_d, ptmp_src_u); - ptmp_src_u += stride; - SD(q2_d, ptmp_src_u); - p2_d = __msa_copy_s_d((v2i64)p2, 1); - p1_d = __msa_copy_s_d((v2i64)p1, 1); - p0_d = __msa_copy_s_d((v2i64)p0, 1); - q0_d = __msa_copy_s_d((v2i64)q0, 1); - q1_d = __msa_copy_s_d((v2i64)q1, 1); - q2_d = __msa_copy_s_d((v2i64)q2, 1); - ptmp_src_v += stride; - SD4(p2_d, p1_d, p0_d, q0_d, ptmp_src_v, stride); - ptmp_src_v += (4 * stride); - SD(q1_d, ptmp_src_v); - ptmp_src_v += stride; - SD(q2_d, ptmp_src_v); -} - -static void HFilter8(uint8_t* src_u, uint8_t* src_v, int stride, - int b_limit_in, int limit_in, int thresh_in) { - uint8_t* ptmp_src_u = src_u - 4; - uint8_t* ptmp_src_v = src_v - 4; - v16u8 p3, p2, p1, p0, q3, q2, q1, q0, mask, hev; - v16u8 row0, row1, row2, row3, row4, row5, row6, row7, row8; - v16u8 row9, row10, row11, row12, row13, row14, row15; - v8i16 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; - const v16u8 b_limit = (v16u8)__msa_fill_b(b_limit_in); - const v16u8 limit = (v16u8)__msa_fill_b(limit_in); - const v16u8 thresh = (v16u8)__msa_fill_b(thresh_in); - - LD_UB8(ptmp_src_u, stride, row0, row1, row2, row3, row4, row5, row6, row7); - LD_UB8(ptmp_src_v, stride, - row8, row9, row10, row11, row12, row13, row14, row15); - TRANSPOSE16x8_UB_UB(row0, row1, row2, row3, row4, row5, row6, row7, - row8, row9, row10, row11, row12, row13, row14, row15, - p3, p2, p1, p0, q0, q1, q2, q3); - LPF_MASK_HEV(p3, p2, p1, p0, q0, q1, q2, q3, limit, b_limit, thresh, - hev, mask); - LPF_MBFILTER(p2, p1, p0, q0, q1, q2, mask, hev); - ILVR_B2_SH(p1, p2, q0, p0, tmp0, tmp1); - ILVRL_H2_SH(tmp1, tmp0, tmp3, tmp4); - ILVL_B2_SH(p1, p2, q0, p0, tmp0, tmp1); - ILVRL_H2_SH(tmp1, tmp0, tmp6, tmp7); - ILVRL_B2_SH(q2, q1, tmp2, tmp5); - ptmp_src_u += 1; - ST6x4_UB(tmp3, 0, tmp2, 0, ptmp_src_u, stride); - ptmp_src_u += 4 * stride; - ST6x4_UB(tmp4, 0, tmp2, 4, ptmp_src_u, stride); - ptmp_src_v += 1; - ST6x4_UB(tmp6, 0, tmp5, 0, ptmp_src_v, stride); - ptmp_src_v += 4 * stride; - ST6x4_UB(tmp7, 0, tmp5, 4, ptmp_src_v, stride); -} - -static void VFilter8i(uint8_t* src_u, uint8_t* src_v, int stride, - int b_limit_in, int limit_in, int thresh_in) { - uint64_t p1_d, p0_d, q0_d, q1_d; - v16u8 p3, p2, p1, p0, q3, q2, q1, q0, mask, hev; - v16u8 p3_u, p2_u, p1_u, p0_u, q3_u, q2_u, q1_u, q0_u; - v16u8 p3_v, p2_v, p1_v, p0_v, q3_v, q2_v, q1_v, q0_v; - const v16u8 thresh = (v16u8)__msa_fill_b(thresh_in); - const v16u8 limit = (v16u8)__msa_fill_b(limit_in); - const v16u8 b_limit = (v16u8)__msa_fill_b(b_limit_in); - - LD_UB8(src_u, stride, p3_u, p2_u, p1_u, p0_u, q0_u, q1_u, q2_u, q3_u); - src_u += (5 * stride); - LD_UB8(src_v, stride, p3_v, p2_v, p1_v, p0_v, q0_v, q1_v, q2_v, q3_v); - src_v += (5 * stride); - ILVR_D4_UB(p3_v, p3_u, p2_v, p2_u, p1_v, p1_u, p0_v, p0_u, p3, p2, p1, p0); - ILVR_D4_UB(q0_v, q0_u, q1_v, q1_u, q2_v, q2_u, q3_v, q3_u, q0, q1, q2, q3); - LPF_MASK_HEV(p3, p2, p1, p0, q0, q1, q2, q3, limit, b_limit, thresh, - hev, mask); - LPF_FILTER4_4W(p1, p0, q0, q1, mask, hev); - p1_d = __msa_copy_s_d((v2i64)p1, 0); - p0_d = __msa_copy_s_d((v2i64)p0, 0); - q0_d = __msa_copy_s_d((v2i64)q0, 0); - q1_d = __msa_copy_s_d((v2i64)q1, 0); - SD4(q1_d, q0_d, p0_d, p1_d, src_u, -stride); - p1_d = __msa_copy_s_d((v2i64)p1, 1); - p0_d = __msa_copy_s_d((v2i64)p0, 1); - q0_d = __msa_copy_s_d((v2i64)q0, 1); - q1_d = __msa_copy_s_d((v2i64)q1, 1); - SD4(q1_d, q0_d, p0_d, p1_d, src_v, -stride); -} - -static void HFilter8i(uint8_t* src_u, uint8_t* src_v, int stride, - int b_limit_in, int limit_in, int thresh_in) { - v16u8 p3, p2, p1, p0, q3, q2, q1, q0, mask, hev; - v16u8 row0, row1, row2, row3, row4, row5, row6, row7, row8; - v16u8 row9, row10, row11, row12, row13, row14, row15; - v4i32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; - const v16u8 thresh = (v16u8)__msa_fill_b(thresh_in); - const v16u8 limit = (v16u8)__msa_fill_b(limit_in); - const v16u8 b_limit = (v16u8)__msa_fill_b(b_limit_in); - - LD_UB8(src_u, stride, row0, row1, row2, row3, row4, row5, row6, row7); - LD_UB8(src_v, stride, - row8, row9, row10, row11, row12, row13, row14, row15); - TRANSPOSE16x8_UB_UB(row0, row1, row2, row3, row4, row5, row6, row7, - row8, row9, row10, row11, row12, row13, row14, row15, - p3, p2, p1, p0, q0, q1, q2, q3); - LPF_MASK_HEV(p3, p2, p1, p0, q0, q1, q2, q3, limit, b_limit, thresh, - hev, mask); - LPF_FILTER4_4W(p1, p0, q0, q1, mask, hev); - ILVR_B2_SW(p0, p1, q1, q0, tmp0, tmp1); - ILVRL_H2_SW(tmp1, tmp0, tmp2, tmp3); - ILVL_B2_SW(p0, p1, q1, q0, tmp0, tmp1); - ILVRL_H2_SW(tmp1, tmp0, tmp4, tmp5); - src_u += 2; - ST4x4_UB(tmp2, tmp2, 0, 1, 2, 3, src_u, stride); - src_u += 4 * stride; - ST4x4_UB(tmp3, tmp3, 0, 1, 2, 3, src_u, stride); - src_v += 2; - ST4x4_UB(tmp4, tmp4, 0, 1, 2, 3, src_v, stride); - src_v += 4 * stride; - ST4x4_UB(tmp5, tmp5, 0, 1, 2, 3, src_v, stride); -} - -static void SimpleVFilter16(uint8_t* src, int stride, int b_limit_in) { - v16u8 p1, p0, q1, q0, mask; - const v16u8 b_limit = (v16u8)__msa_fill_b(b_limit_in); - - LD_UB4(src - 2 * stride, stride, p1, p0, q0, q1); - LPF_SIMPLE_MASK(p1, p0, q0, q1, b_limit, mask); - LPF_SIMPLE_FILT(p1, p0, q0, q1, mask); - ST_UB2(p0, q0, src - stride, stride); -} - -static void SimpleHFilter16(uint8_t* src, int stride, int b_limit_in) { - v16u8 p1, p0, q1, q0, mask, row0, row1, row2, row3, row4, row5, row6, row7; - v16u8 row8, row9, row10, row11, row12, row13, row14, row15; - v8i16 tmp0, tmp1; - const v16u8 b_limit = (v16u8)__msa_fill_b(b_limit_in); - uint8_t* ptemp_src = src - 2; - - LD_UB8(ptemp_src, stride, row0, row1, row2, row3, row4, row5, row6, row7); - LD_UB8(ptemp_src + 8 * stride, stride, - row8, row9, row10, row11, row12, row13, row14, row15); - TRANSPOSE16x4_UB_UB(row0, row1, row2, row3, row4, row5, row6, row7, - row8, row9, row10, row11, row12, row13, row14, row15, - p1, p0, q0, q1); - LPF_SIMPLE_MASK(p1, p0, q0, q1, b_limit, mask); - LPF_SIMPLE_FILT(p1, p0, q0, q1, mask); - ILVRL_B2_SH(q0, p0, tmp1, tmp0); - ptemp_src += 1; - ST2x4_UB(tmp1, 0, ptemp_src, stride); - ptemp_src += 4 * stride; - ST2x4_UB(tmp1, 4, ptemp_src, stride); - ptemp_src += 4 * stride; - ST2x4_UB(tmp0, 0, ptemp_src, stride); - ptemp_src += 4 * stride; - ST2x4_UB(tmp0, 4, ptemp_src, stride); - ptemp_src += 4 * stride; -} - -static void SimpleVFilter16i(uint8_t* src_y, int stride, int b_limit_in) { - SimpleVFilter16(src_y + 4 * stride, stride, b_limit_in); - SimpleVFilter16(src_y + 8 * stride, stride, b_limit_in); - SimpleVFilter16(src_y + 12 * stride, stride, b_limit_in); -} - -static void SimpleHFilter16i(uint8_t* src_y, int stride, int b_limit_in) { - SimpleHFilter16(src_y + 4, stride, b_limit_in); - SimpleHFilter16(src_y + 8, stride, b_limit_in); - SimpleHFilter16(src_y + 12, stride, b_limit_in); -} - -//------------------------------------------------------------------------------ -// Intra predictions -//------------------------------------------------------------------------------ - -// 4x4 - -static void DC4(uint8_t* dst) { // DC - uint32_t dc = 4; - int i; - for (i = 0; i < 4; ++i) dc += dst[i - BPS] + dst[-1 + i * BPS]; - dc >>= 3; - dc = dc | (dc << 8) | (dc << 16) | (dc << 24); - SW4(dc, dc, dc, dc, dst, BPS); -} - -static void TM4(uint8_t* dst) { - const uint8_t* const ptemp = dst - BPS - 1; - v8i16 T, d, r0, r1, r2, r3; - const v16i8 zero = { 0 }; - const v8i16 TL = (v8i16)__msa_fill_h(ptemp[0 * BPS]); - const v8i16 L0 = (v8i16)__msa_fill_h(ptemp[1 * BPS]); - const v8i16 L1 = (v8i16)__msa_fill_h(ptemp[2 * BPS]); - const v8i16 L2 = (v8i16)__msa_fill_h(ptemp[3 * BPS]); - const v8i16 L3 = (v8i16)__msa_fill_h(ptemp[4 * BPS]); - const v16u8 T1 = LD_UB(ptemp + 1); - - T = (v8i16)__msa_ilvr_b(zero, (v16i8)T1); - d = T - TL; - ADD4(d, L0, d, L1, d, L2, d, L3, r0, r1, r2, r3); - CLIP_SH4_0_255(r0, r1, r2, r3); - PCKEV_ST4x4_UB(r0, r1, r2, r3, dst, BPS); -} - -static void VE4(uint8_t* dst) { // vertical - const uint8_t* const ptop = dst - BPS - 1; - const uint32_t val0 = LW(ptop + 0); - const uint32_t val1 = LW(ptop + 4); - uint32_t out; - v16u8 A = { 0 }, B, C, AC, B2, R; - - INSERT_W2_UB(val0, val1, A); - B = SLDI_UB(A, A, 1); - C = SLDI_UB(A, A, 2); - AC = __msa_ave_u_b(A, C); - B2 = __msa_ave_u_b(B, B); - R = __msa_aver_u_b(AC, B2); - out = __msa_copy_s_w((v4i32)R, 0); - SW4(out, out, out, out, dst, BPS); -} - -static void RD4(uint8_t* dst) { // Down-right - const uint8_t* const ptop = dst - 1 - BPS; - uint32_t val0 = LW(ptop + 0); - uint32_t val1 = LW(ptop + 4); - uint32_t val2, val3; - v16u8 A, B, C, AC, B2, R, A1 = { 0 }; - - INSERT_W2_UB(val0, val1, A1); - A = SLDI_UB(A1, A1, 12); - A = (v16u8)__msa_insert_b((v16i8)A, 3, ptop[1 * BPS]); - A = (v16u8)__msa_insert_b((v16i8)A, 2, ptop[2 * BPS]); - A = (v16u8)__msa_insert_b((v16i8)A, 1, ptop[3 * BPS]); - A = (v16u8)__msa_insert_b((v16i8)A, 0, ptop[4 * BPS]); - B = SLDI_UB(A, A, 1); - C = SLDI_UB(A, A, 2); - AC = __msa_ave_u_b(A, C); - B2 = __msa_ave_u_b(B, B); - R = __msa_aver_u_b(AC, B2); - val3 = __msa_copy_s_w((v4i32)R, 0); - R = SLDI_UB(R, R, 1); - val2 = __msa_copy_s_w((v4i32)R, 0); - R = SLDI_UB(R, R, 1); - val1 = __msa_copy_s_w((v4i32)R, 0); - R = SLDI_UB(R, R, 1); - val0 = __msa_copy_s_w((v4i32)R, 0); - SW4(val0, val1, val2, val3, dst, BPS); -} - -static void LD4(uint8_t* dst) { // Down-Left - const uint8_t* const ptop = dst - BPS; - uint32_t val0 = LW(ptop + 0); - uint32_t val1 = LW(ptop + 4); - uint32_t val2, val3; - v16u8 A = { 0 }, B, C, AC, B2, R; - - INSERT_W2_UB(val0, val1, A); - B = SLDI_UB(A, A, 1); - C = SLDI_UB(A, A, 2); - C = (v16u8)__msa_insert_b((v16i8)C, 6, ptop[7]); - AC = __msa_ave_u_b(A, C); - B2 = __msa_ave_u_b(B, B); - R = __msa_aver_u_b(AC, B2); - val0 = __msa_copy_s_w((v4i32)R, 0); - R = SLDI_UB(R, R, 1); - val1 = __msa_copy_s_w((v4i32)R, 0); - R = SLDI_UB(R, R, 1); - val2 = __msa_copy_s_w((v4i32)R, 0); - R = SLDI_UB(R, R, 1); - val3 = __msa_copy_s_w((v4i32)R, 0); - SW4(val0, val1, val2, val3, dst, BPS); -} - -// 16x16 - -static void DC16(uint8_t* dst) { // DC - uint32_t dc = 16; - int i; - const v16u8 rtop = LD_UB(dst - BPS); - const v8u16 dctop = __msa_hadd_u_h(rtop, rtop); - v16u8 out; - - for (i = 0; i < 16; ++i) { - dc += dst[-1 + i * BPS]; - } - dc += HADD_UH_U32(dctop); - out = (v16u8)__msa_fill_b(dc >> 5); - ST_UB8(out, out, out, out, out, out, out, out, dst, BPS); - ST_UB8(out, out, out, out, out, out, out, out, dst + 8 * BPS, BPS); -} - -static void TM16(uint8_t* dst) { - int j; - v8i16 d1, d2; - const v16i8 zero = { 0 }; - const v8i16 TL = (v8i16)__msa_fill_h(dst[-1 - BPS]); - const v16i8 T = LD_SB(dst - BPS); - - ILVRL_B2_SH(zero, T, d1, d2); - SUB2(d1, TL, d2, TL, d1, d2); - for (j = 0; j < 16; j += 4) { - v16i8 t0, t1, t2, t3; - v8i16 r0, r1, r2, r3, r4, r5, r6, r7; - const v8i16 L0 = (v8i16)__msa_fill_h(dst[-1 + 0 * BPS]); - const v8i16 L1 = (v8i16)__msa_fill_h(dst[-1 + 1 * BPS]); - const v8i16 L2 = (v8i16)__msa_fill_h(dst[-1 + 2 * BPS]); - const v8i16 L3 = (v8i16)__msa_fill_h(dst[-1 + 3 * BPS]); - ADD4(d1, L0, d1, L1, d1, L2, d1, L3, r0, r1, r2, r3); - ADD4(d2, L0, d2, L1, d2, L2, d2, L3, r4, r5, r6, r7); - CLIP_SH4_0_255(r0, r1, r2, r3); - CLIP_SH4_0_255(r4, r5, r6, r7); - PCKEV_B4_SB(r4, r0, r5, r1, r6, r2, r7, r3, t0, t1, t2, t3); - ST_SB4(t0, t1, t2, t3, dst, BPS); - dst += 4 * BPS; - } -} - -static void VE16(uint8_t* dst) { // vertical - const v16u8 rtop = LD_UB(dst - BPS); - ST_UB8(rtop, rtop, rtop, rtop, rtop, rtop, rtop, rtop, dst, BPS); - ST_UB8(rtop, rtop, rtop, rtop, rtop, rtop, rtop, rtop, dst + 8 * BPS, BPS); -} - -static void HE16(uint8_t* dst) { // horizontal - int j; - for (j = 16; j > 0; j -= 4) { - const v16u8 L0 = (v16u8)__msa_fill_b(dst[-1 + 0 * BPS]); - const v16u8 L1 = (v16u8)__msa_fill_b(dst[-1 + 1 * BPS]); - const v16u8 L2 = (v16u8)__msa_fill_b(dst[-1 + 2 * BPS]); - const v16u8 L3 = (v16u8)__msa_fill_b(dst[-1 + 3 * BPS]); - ST_UB4(L0, L1, L2, L3, dst, BPS); - dst += 4 * BPS; - } -} - -static void DC16NoTop(uint8_t* dst) { // DC with top samples not available - int j; - uint32_t dc = 8; - v16u8 out; - - for (j = 0; j < 16; ++j) { - dc += dst[-1 + j * BPS]; - } - out = (v16u8)__msa_fill_b(dc >> 4); - ST_UB8(out, out, out, out, out, out, out, out, dst, BPS); - ST_UB8(out, out, out, out, out, out, out, out, dst + 8 * BPS, BPS); -} - -static void DC16NoLeft(uint8_t* dst) { // DC with left samples not available - uint32_t dc = 8; - const v16u8 rtop = LD_UB(dst - BPS); - const v8u16 dctop = __msa_hadd_u_h(rtop, rtop); - v16u8 out; - - dc += HADD_UH_U32(dctop); - out = (v16u8)__msa_fill_b(dc >> 4); - ST_UB8(out, out, out, out, out, out, out, out, dst, BPS); - ST_UB8(out, out, out, out, out, out, out, out, dst + 8 * BPS, BPS); -} - -static void DC16NoTopLeft(uint8_t* dst) { // DC with nothing - const v16u8 out = (v16u8)__msa_fill_b(0x80); - ST_UB8(out, out, out, out, out, out, out, out, dst, BPS); - ST_UB8(out, out, out, out, out, out, out, out, dst + 8 * BPS, BPS); -} - -// Chroma - -#define STORE8x8(out, dst) do { \ - SD4(out, out, out, out, dst + 0 * BPS, BPS); \ - SD4(out, out, out, out, dst + 4 * BPS, BPS); \ -} while (0) - -static void DC8uv(uint8_t* dst) { // DC - uint32_t dc = 8; - int i; - uint64_t out; - const v16u8 rtop = LD_UB(dst - BPS); - const v8u16 temp0 = __msa_hadd_u_h(rtop, rtop); - const v4u32 temp1 = __msa_hadd_u_w(temp0, temp0); - const v2u64 temp2 = __msa_hadd_u_d(temp1, temp1); - v16u8 dctemp; - - for (i = 0; i < 8; ++i) { - dc += dst[-1 + i * BPS]; - } - dc += __msa_copy_s_w((v4i32)temp2, 0); - dctemp = (v16u8)__msa_fill_b(dc >> 4); - out = __msa_copy_s_d((v2i64)dctemp, 0); - STORE8x8(out, dst); -} - -static void TM8uv(uint8_t* dst) { - int j; - const v16i8 T1 = LD_SB(dst - BPS); - const v16i8 zero = { 0 }; - const v8i16 T = (v8i16)__msa_ilvr_b(zero, T1); - const v8i16 TL = (v8i16)__msa_fill_h(dst[-1 - BPS]); - const v8i16 d = T - TL; - - for (j = 0; j < 8; j += 4) { - v16i8 t0, t1; - v8i16 r0 = (v8i16)__msa_fill_h(dst[-1 + 0 * BPS]); - v8i16 r1 = (v8i16)__msa_fill_h(dst[-1 + 1 * BPS]); - v8i16 r2 = (v8i16)__msa_fill_h(dst[-1 + 2 * BPS]); - v8i16 r3 = (v8i16)__msa_fill_h(dst[-1 + 3 * BPS]); - ADD4(d, r0, d, r1, d, r2, d, r3, r0, r1, r2, r3); - CLIP_SH4_0_255(r0, r1, r2, r3); - PCKEV_B2_SB(r1, r0, r3, r2, t0, t1); - ST4x4_UB(t0, t1, 0, 2, 0, 2, dst, BPS); - ST4x4_UB(t0, t1, 1, 3, 1, 3, dst + 4, BPS); - dst += 4 * BPS; - } -} - -static void VE8uv(uint8_t* dst) { // vertical - const v16u8 rtop = LD_UB(dst - BPS); - const uint64_t out = __msa_copy_s_d((v2i64)rtop, 0); - STORE8x8(out, dst); -} - -static void HE8uv(uint8_t* dst) { // horizontal - int j; - for (j = 0; j < 8; j += 4) { - const v16u8 L0 = (v16u8)__msa_fill_b(dst[-1 + 0 * BPS]); - const v16u8 L1 = (v16u8)__msa_fill_b(dst[-1 + 1 * BPS]); - const v16u8 L2 = (v16u8)__msa_fill_b(dst[-1 + 2 * BPS]); - const v16u8 L3 = (v16u8)__msa_fill_b(dst[-1 + 3 * BPS]); - const uint64_t out0 = __msa_copy_s_d((v2i64)L0, 0); - const uint64_t out1 = __msa_copy_s_d((v2i64)L1, 0); - const uint64_t out2 = __msa_copy_s_d((v2i64)L2, 0); - const uint64_t out3 = __msa_copy_s_d((v2i64)L3, 0); - SD4(out0, out1, out2, out3, dst, BPS); - dst += 4 * BPS; - } -} - -static void DC8uvNoLeft(uint8_t* dst) { // DC with no left samples - const uint32_t dc = 4; - const v16u8 rtop = LD_UB(dst - BPS); - const v8u16 temp0 = __msa_hadd_u_h(rtop, rtop); - const v4u32 temp1 = __msa_hadd_u_w(temp0, temp0); - const v2u64 temp2 = __msa_hadd_u_d(temp1, temp1); - const uint32_t sum_m = __msa_copy_s_w((v4i32)temp2, 0); - const v16u8 dcval = (v16u8)__msa_fill_b((dc + sum_m) >> 3); - const uint64_t out = __msa_copy_s_d((v2i64)dcval, 0); - STORE8x8(out, dst); -} - -static void DC8uvNoTop(uint8_t* dst) { // DC with no top samples - uint32_t dc = 4; - int i; - uint64_t out; - v16u8 dctemp; - - for (i = 0; i < 8; ++i) { - dc += dst[-1 + i * BPS]; - } - dctemp = (v16u8)__msa_fill_b(dc >> 3); - out = __msa_copy_s_d((v2i64)dctemp, 0); - STORE8x8(out, dst); -} - -static void DC8uvNoTopLeft(uint8_t* dst) { // DC with nothing - const uint64_t out = 0x8080808080808080ULL; - STORE8x8(out, dst); -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8DspInitMSA(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitMSA(void) { - VP8TransformWHT = TransformWHT; - VP8Transform = TransformTwo; - VP8TransformDC = TransformDC; - VP8TransformAC3 = TransformAC3; - - VP8VFilter16 = VFilter16; - VP8HFilter16 = HFilter16; - VP8VFilter16i = VFilter16i; - VP8HFilter16i = HFilter16i; - VP8VFilter8 = VFilter8; - VP8HFilter8 = HFilter8; - VP8VFilter8i = VFilter8i; - VP8HFilter8i = HFilter8i; - VP8SimpleVFilter16 = SimpleVFilter16; - VP8SimpleHFilter16 = SimpleHFilter16; - VP8SimpleVFilter16i = SimpleVFilter16i; - VP8SimpleHFilter16i = SimpleHFilter16i; - - VP8PredLuma4[0] = DC4; - VP8PredLuma4[1] = TM4; - VP8PredLuma4[2] = VE4; - VP8PredLuma4[4] = RD4; - VP8PredLuma4[6] = LD4; - VP8PredLuma16[0] = DC16; - VP8PredLuma16[1] = TM16; - VP8PredLuma16[2] = VE16; - VP8PredLuma16[3] = HE16; - VP8PredLuma16[4] = DC16NoTop; - VP8PredLuma16[5] = DC16NoLeft; - VP8PredLuma16[6] = DC16NoTopLeft; - VP8PredChroma8[0] = DC8uv; - VP8PredChroma8[1] = TM8uv; - VP8PredChroma8[2] = VE8uv; - VP8PredChroma8[3] = HE8uv; - VP8PredChroma8[4] = DC8uvNoTop; - VP8PredChroma8[5] = DC8uvNoLeft; - VP8PredChroma8[6] = DC8uvNoTopLeft; -} - -#else // !WEBP_USE_MSA - -WEBP_DSP_INIT_STUB(VP8DspInitMSA) - -#endif // WEBP_USE_MSA diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_neon.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_neon.c deleted file mode 100644 index 239ec416..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_neon.c +++ /dev/null @@ -1,1659 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// ARM NEON version of dsp functions and loop filtering. -// -// Authors: Somnath Banerjee (somnath@google.com) -// Johann Koenig (johannkoenig@google.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_NEON) - -#include "src/dsp/neon.h" -#include "src/dec/vp8i_dec.h" - -//------------------------------------------------------------------------------ -// NxM Loading functions - -#if !defined(WORK_AROUND_GCC) - -// This intrinsics version makes gcc-4.6.3 crash during Load4x??() compilation -// (register alloc, probably). The variants somewhat mitigate the problem, but -// not quite. HFilter16i() remains problematic. -static WEBP_INLINE uint8x8x4_t Load4x8_NEON(const uint8_t* const src, - int stride) { - const uint8x8_t zero = vdup_n_u8(0); - uint8x8x4_t out; - INIT_VECTOR4(out, zero, zero, zero, zero); - out = vld4_lane_u8(src + 0 * stride, out, 0); - out = vld4_lane_u8(src + 1 * stride, out, 1); - out = vld4_lane_u8(src + 2 * stride, out, 2); - out = vld4_lane_u8(src + 3 * stride, out, 3); - out = vld4_lane_u8(src + 4 * stride, out, 4); - out = vld4_lane_u8(src + 5 * stride, out, 5); - out = vld4_lane_u8(src + 6 * stride, out, 6); - out = vld4_lane_u8(src + 7 * stride, out, 7); - return out; -} - -static WEBP_INLINE void Load4x16_NEON(const uint8_t* const src, int stride, - uint8x16_t* const p1, - uint8x16_t* const p0, - uint8x16_t* const q0, - uint8x16_t* const q1) { - // row0 = p1[0..7]|p0[0..7]|q0[0..7]|q1[0..7] - // row8 = p1[8..15]|p0[8..15]|q0[8..15]|q1[8..15] - const uint8x8x4_t row0 = Load4x8_NEON(src - 2 + 0 * stride, stride); - const uint8x8x4_t row8 = Load4x8_NEON(src - 2 + 8 * stride, stride); - *p1 = vcombine_u8(row0.val[0], row8.val[0]); - *p0 = vcombine_u8(row0.val[1], row8.val[1]); - *q0 = vcombine_u8(row0.val[2], row8.val[2]); - *q1 = vcombine_u8(row0.val[3], row8.val[3]); -} - -#else // WORK_AROUND_GCC - -#define LOADQ_LANE_32b(VALUE, LANE) do { \ - (VALUE) = vld1q_lane_u32((const uint32_t*)src, (VALUE), (LANE)); \ - src += stride; \ -} while (0) - -static WEBP_INLINE void Load4x16_NEON(const uint8_t* src, int stride, - uint8x16_t* const p1, - uint8x16_t* const p0, - uint8x16_t* const q0, - uint8x16_t* const q1) { - const uint32x4_t zero = vdupq_n_u32(0); - uint32x4x4_t in; - INIT_VECTOR4(in, zero, zero, zero, zero); - src -= 2; - LOADQ_LANE_32b(in.val[0], 0); - LOADQ_LANE_32b(in.val[1], 0); - LOADQ_LANE_32b(in.val[2], 0); - LOADQ_LANE_32b(in.val[3], 0); - LOADQ_LANE_32b(in.val[0], 1); - LOADQ_LANE_32b(in.val[1], 1); - LOADQ_LANE_32b(in.val[2], 1); - LOADQ_LANE_32b(in.val[3], 1); - LOADQ_LANE_32b(in.val[0], 2); - LOADQ_LANE_32b(in.val[1], 2); - LOADQ_LANE_32b(in.val[2], 2); - LOADQ_LANE_32b(in.val[3], 2); - LOADQ_LANE_32b(in.val[0], 3); - LOADQ_LANE_32b(in.val[1], 3); - LOADQ_LANE_32b(in.val[2], 3); - LOADQ_LANE_32b(in.val[3], 3); - // Transpose four 4x4 parts: - { - const uint8x16x2_t row01 = vtrnq_u8(vreinterpretq_u8_u32(in.val[0]), - vreinterpretq_u8_u32(in.val[1])); - const uint8x16x2_t row23 = vtrnq_u8(vreinterpretq_u8_u32(in.val[2]), - vreinterpretq_u8_u32(in.val[3])); - const uint16x8x2_t row02 = vtrnq_u16(vreinterpretq_u16_u8(row01.val[0]), - vreinterpretq_u16_u8(row23.val[0])); - const uint16x8x2_t row13 = vtrnq_u16(vreinterpretq_u16_u8(row01.val[1]), - vreinterpretq_u16_u8(row23.val[1])); - *p1 = vreinterpretq_u8_u16(row02.val[0]); - *p0 = vreinterpretq_u8_u16(row13.val[0]); - *q0 = vreinterpretq_u8_u16(row02.val[1]); - *q1 = vreinterpretq_u8_u16(row13.val[1]); - } -} -#undef LOADQ_LANE_32b - -#endif // !WORK_AROUND_GCC - -static WEBP_INLINE void Load8x16_NEON( - const uint8_t* const src, int stride, - uint8x16_t* const p3, uint8x16_t* const p2, uint8x16_t* const p1, - uint8x16_t* const p0, uint8x16_t* const q0, uint8x16_t* const q1, - uint8x16_t* const q2, uint8x16_t* const q3) { - Load4x16_NEON(src - 2, stride, p3, p2, p1, p0); - Load4x16_NEON(src + 2, stride, q0, q1, q2, q3); -} - -static WEBP_INLINE void Load16x4_NEON(const uint8_t* const src, int stride, - uint8x16_t* const p1, - uint8x16_t* const p0, - uint8x16_t* const q0, - uint8x16_t* const q1) { - *p1 = vld1q_u8(src - 2 * stride); - *p0 = vld1q_u8(src - 1 * stride); - *q0 = vld1q_u8(src + 0 * stride); - *q1 = vld1q_u8(src + 1 * stride); -} - -static WEBP_INLINE void Load16x8_NEON( - const uint8_t* const src, int stride, - uint8x16_t* const p3, uint8x16_t* const p2, uint8x16_t* const p1, - uint8x16_t* const p0, uint8x16_t* const q0, uint8x16_t* const q1, - uint8x16_t* const q2, uint8x16_t* const q3) { - Load16x4_NEON(src - 2 * stride, stride, p3, p2, p1, p0); - Load16x4_NEON(src + 2 * stride, stride, q0, q1, q2, q3); -} - -static WEBP_INLINE void Load8x8x2_NEON( - const uint8_t* const u, const uint8_t* const v, int stride, - uint8x16_t* const p3, uint8x16_t* const p2, uint8x16_t* const p1, - uint8x16_t* const p0, uint8x16_t* const q0, uint8x16_t* const q1, - uint8x16_t* const q2, uint8x16_t* const q3) { - // We pack the 8x8 u-samples in the lower half of the uint8x16_t destination - // and the v-samples on the higher half. - *p3 = vcombine_u8(vld1_u8(u - 4 * stride), vld1_u8(v - 4 * stride)); - *p2 = vcombine_u8(vld1_u8(u - 3 * stride), vld1_u8(v - 3 * stride)); - *p1 = vcombine_u8(vld1_u8(u - 2 * stride), vld1_u8(v - 2 * stride)); - *p0 = vcombine_u8(vld1_u8(u - 1 * stride), vld1_u8(v - 1 * stride)); - *q0 = vcombine_u8(vld1_u8(u + 0 * stride), vld1_u8(v + 0 * stride)); - *q1 = vcombine_u8(vld1_u8(u + 1 * stride), vld1_u8(v + 1 * stride)); - *q2 = vcombine_u8(vld1_u8(u + 2 * stride), vld1_u8(v + 2 * stride)); - *q3 = vcombine_u8(vld1_u8(u + 3 * stride), vld1_u8(v + 3 * stride)); -} - -#if !defined(WORK_AROUND_GCC) - -#define LOAD_UV_8(ROW) \ - vcombine_u8(vld1_u8(u - 4 + (ROW) * stride), vld1_u8(v - 4 + (ROW) * stride)) - -static WEBP_INLINE void Load8x8x2T_NEON( - const uint8_t* const u, const uint8_t* const v, int stride, - uint8x16_t* const p3, uint8x16_t* const p2, uint8x16_t* const p1, - uint8x16_t* const p0, uint8x16_t* const q0, uint8x16_t* const q1, - uint8x16_t* const q2, uint8x16_t* const q3) { - // We pack the 8x8 u-samples in the lower half of the uint8x16_t destination - // and the v-samples on the higher half. - const uint8x16_t row0 = LOAD_UV_8(0); - const uint8x16_t row1 = LOAD_UV_8(1); - const uint8x16_t row2 = LOAD_UV_8(2); - const uint8x16_t row3 = LOAD_UV_8(3); - const uint8x16_t row4 = LOAD_UV_8(4); - const uint8x16_t row5 = LOAD_UV_8(5); - const uint8x16_t row6 = LOAD_UV_8(6); - const uint8x16_t row7 = LOAD_UV_8(7); - // Perform two side-by-side 8x8 transposes - // u00 u01 u02 u03 u04 u05 u06 u07 | v00 v01 v02 v03 v04 v05 v06 v07 - // u10 u11 u12 u13 u14 u15 u16 u17 | v10 v11 v12 ... - // u20 u21 u22 u23 u24 u25 u26 u27 | v20 v21 ... - // u30 u31 u32 u33 u34 u35 u36 u37 | ... - // u40 u41 u42 u43 u44 u45 u46 u47 | ... - // u50 u51 u52 u53 u54 u55 u56 u57 | ... - // u60 u61 u62 u63 u64 u65 u66 u67 | v60 ... - // u70 u71 u72 u73 u74 u75 u76 u77 | v70 v71 v72 ... - const uint8x16x2_t row01 = vtrnq_u8(row0, row1); // u00 u10 u02 u12 ... - // u01 u11 u03 u13 ... - const uint8x16x2_t row23 = vtrnq_u8(row2, row3); // u20 u30 u22 u32 ... - // u21 u31 u23 u33 ... - const uint8x16x2_t row45 = vtrnq_u8(row4, row5); // ... - const uint8x16x2_t row67 = vtrnq_u8(row6, row7); // ... - const uint16x8x2_t row02 = vtrnq_u16(vreinterpretq_u16_u8(row01.val[0]), - vreinterpretq_u16_u8(row23.val[0])); - const uint16x8x2_t row13 = vtrnq_u16(vreinterpretq_u16_u8(row01.val[1]), - vreinterpretq_u16_u8(row23.val[1])); - const uint16x8x2_t row46 = vtrnq_u16(vreinterpretq_u16_u8(row45.val[0]), - vreinterpretq_u16_u8(row67.val[0])); - const uint16x8x2_t row57 = vtrnq_u16(vreinterpretq_u16_u8(row45.val[1]), - vreinterpretq_u16_u8(row67.val[1])); - const uint32x4x2_t row04 = vtrnq_u32(vreinterpretq_u32_u16(row02.val[0]), - vreinterpretq_u32_u16(row46.val[0])); - const uint32x4x2_t row26 = vtrnq_u32(vreinterpretq_u32_u16(row02.val[1]), - vreinterpretq_u32_u16(row46.val[1])); - const uint32x4x2_t row15 = vtrnq_u32(vreinterpretq_u32_u16(row13.val[0]), - vreinterpretq_u32_u16(row57.val[0])); - const uint32x4x2_t row37 = vtrnq_u32(vreinterpretq_u32_u16(row13.val[1]), - vreinterpretq_u32_u16(row57.val[1])); - *p3 = vreinterpretq_u8_u32(row04.val[0]); - *p2 = vreinterpretq_u8_u32(row15.val[0]); - *p1 = vreinterpretq_u8_u32(row26.val[0]); - *p0 = vreinterpretq_u8_u32(row37.val[0]); - *q0 = vreinterpretq_u8_u32(row04.val[1]); - *q1 = vreinterpretq_u8_u32(row15.val[1]); - *q2 = vreinterpretq_u8_u32(row26.val[1]); - *q3 = vreinterpretq_u8_u32(row37.val[1]); -} -#undef LOAD_UV_8 - -#endif // !WORK_AROUND_GCC - -static WEBP_INLINE void Store2x8_NEON(const uint8x8x2_t v, - uint8_t* const dst, int stride) { - vst2_lane_u8(dst + 0 * stride, v, 0); - vst2_lane_u8(dst + 1 * stride, v, 1); - vst2_lane_u8(dst + 2 * stride, v, 2); - vst2_lane_u8(dst + 3 * stride, v, 3); - vst2_lane_u8(dst + 4 * stride, v, 4); - vst2_lane_u8(dst + 5 * stride, v, 5); - vst2_lane_u8(dst + 6 * stride, v, 6); - vst2_lane_u8(dst + 7 * stride, v, 7); -} - -static WEBP_INLINE void Store2x16_NEON(const uint8x16_t p0, const uint8x16_t q0, - uint8_t* const dst, int stride) { - uint8x8x2_t lo, hi; - lo.val[0] = vget_low_u8(p0); - lo.val[1] = vget_low_u8(q0); - hi.val[0] = vget_high_u8(p0); - hi.val[1] = vget_high_u8(q0); - Store2x8_NEON(lo, dst - 1 + 0 * stride, stride); - Store2x8_NEON(hi, dst - 1 + 8 * stride, stride); -} - -#if !defined(WORK_AROUND_GCC) -static WEBP_INLINE void Store4x8_NEON(const uint8x8x4_t v, - uint8_t* const dst, int stride) { - vst4_lane_u8(dst + 0 * stride, v, 0); - vst4_lane_u8(dst + 1 * stride, v, 1); - vst4_lane_u8(dst + 2 * stride, v, 2); - vst4_lane_u8(dst + 3 * stride, v, 3); - vst4_lane_u8(dst + 4 * stride, v, 4); - vst4_lane_u8(dst + 5 * stride, v, 5); - vst4_lane_u8(dst + 6 * stride, v, 6); - vst4_lane_u8(dst + 7 * stride, v, 7); -} - -static WEBP_INLINE void Store4x16_NEON(const uint8x16_t p1, const uint8x16_t p0, - const uint8x16_t q0, const uint8x16_t q1, - uint8_t* const dst, int stride) { - uint8x8x4_t lo, hi; - INIT_VECTOR4(lo, - vget_low_u8(p1), vget_low_u8(p0), - vget_low_u8(q0), vget_low_u8(q1)); - INIT_VECTOR4(hi, - vget_high_u8(p1), vget_high_u8(p0), - vget_high_u8(q0), vget_high_u8(q1)); - Store4x8_NEON(lo, dst - 2 + 0 * stride, stride); - Store4x8_NEON(hi, dst - 2 + 8 * stride, stride); -} -#endif // !WORK_AROUND_GCC - -static WEBP_INLINE void Store16x2_NEON(const uint8x16_t p0, const uint8x16_t q0, - uint8_t* const dst, int stride) { - vst1q_u8(dst - stride, p0); - vst1q_u8(dst, q0); -} - -static WEBP_INLINE void Store16x4_NEON(const uint8x16_t p1, const uint8x16_t p0, - const uint8x16_t q0, const uint8x16_t q1, - uint8_t* const dst, int stride) { - Store16x2_NEON(p1, p0, dst - stride, stride); - Store16x2_NEON(q0, q1, dst + stride, stride); -} - -static WEBP_INLINE void Store8x2x2_NEON(const uint8x16_t p0, - const uint8x16_t q0, - uint8_t* const u, uint8_t* const v, - int stride) { - // p0 and q0 contain the u+v samples packed in low/high halves. - vst1_u8(u - stride, vget_low_u8(p0)); - vst1_u8(u, vget_low_u8(q0)); - vst1_u8(v - stride, vget_high_u8(p0)); - vst1_u8(v, vget_high_u8(q0)); -} - -static WEBP_INLINE void Store8x4x2_NEON(const uint8x16_t p1, - const uint8x16_t p0, - const uint8x16_t q0, - const uint8x16_t q1, - uint8_t* const u, uint8_t* const v, - int stride) { - // The p1...q1 registers contain the u+v samples packed in low/high halves. - Store8x2x2_NEON(p1, p0, u - stride, v - stride, stride); - Store8x2x2_NEON(q0, q1, u + stride, v + stride, stride); -} - -#if !defined(WORK_AROUND_GCC) - -#define STORE6_LANE(DST, VAL0, VAL1, LANE) do { \ - vst3_lane_u8((DST) - 3, (VAL0), (LANE)); \ - vst3_lane_u8((DST) + 0, (VAL1), (LANE)); \ - (DST) += stride; \ -} while (0) - -static WEBP_INLINE void Store6x8x2_NEON( - const uint8x16_t p2, const uint8x16_t p1, const uint8x16_t p0, - const uint8x16_t q0, const uint8x16_t q1, const uint8x16_t q2, - uint8_t* u, uint8_t* v, int stride) { - uint8x8x3_t u0, u1, v0, v1; - INIT_VECTOR3(u0, vget_low_u8(p2), vget_low_u8(p1), vget_low_u8(p0)); - INIT_VECTOR3(u1, vget_low_u8(q0), vget_low_u8(q1), vget_low_u8(q2)); - INIT_VECTOR3(v0, vget_high_u8(p2), vget_high_u8(p1), vget_high_u8(p0)); - INIT_VECTOR3(v1, vget_high_u8(q0), vget_high_u8(q1), vget_high_u8(q2)); - STORE6_LANE(u, u0, u1, 0); - STORE6_LANE(u, u0, u1, 1); - STORE6_LANE(u, u0, u1, 2); - STORE6_LANE(u, u0, u1, 3); - STORE6_LANE(u, u0, u1, 4); - STORE6_LANE(u, u0, u1, 5); - STORE6_LANE(u, u0, u1, 6); - STORE6_LANE(u, u0, u1, 7); - STORE6_LANE(v, v0, v1, 0); - STORE6_LANE(v, v0, v1, 1); - STORE6_LANE(v, v0, v1, 2); - STORE6_LANE(v, v0, v1, 3); - STORE6_LANE(v, v0, v1, 4); - STORE6_LANE(v, v0, v1, 5); - STORE6_LANE(v, v0, v1, 6); - STORE6_LANE(v, v0, v1, 7); -} -#undef STORE6_LANE - -static WEBP_INLINE void Store4x8x2_NEON(const uint8x16_t p1, - const uint8x16_t p0, - const uint8x16_t q0, - const uint8x16_t q1, - uint8_t* const u, uint8_t* const v, - int stride) { - uint8x8x4_t u0, v0; - INIT_VECTOR4(u0, - vget_low_u8(p1), vget_low_u8(p0), - vget_low_u8(q0), vget_low_u8(q1)); - INIT_VECTOR4(v0, - vget_high_u8(p1), vget_high_u8(p0), - vget_high_u8(q0), vget_high_u8(q1)); - vst4_lane_u8(u - 2 + 0 * stride, u0, 0); - vst4_lane_u8(u - 2 + 1 * stride, u0, 1); - vst4_lane_u8(u - 2 + 2 * stride, u0, 2); - vst4_lane_u8(u - 2 + 3 * stride, u0, 3); - vst4_lane_u8(u - 2 + 4 * stride, u0, 4); - vst4_lane_u8(u - 2 + 5 * stride, u0, 5); - vst4_lane_u8(u - 2 + 6 * stride, u0, 6); - vst4_lane_u8(u - 2 + 7 * stride, u0, 7); - vst4_lane_u8(v - 2 + 0 * stride, v0, 0); - vst4_lane_u8(v - 2 + 1 * stride, v0, 1); - vst4_lane_u8(v - 2 + 2 * stride, v0, 2); - vst4_lane_u8(v - 2 + 3 * stride, v0, 3); - vst4_lane_u8(v - 2 + 4 * stride, v0, 4); - vst4_lane_u8(v - 2 + 5 * stride, v0, 5); - vst4_lane_u8(v - 2 + 6 * stride, v0, 6); - vst4_lane_u8(v - 2 + 7 * stride, v0, 7); -} - -#endif // !WORK_AROUND_GCC - -// Zero extend 'v' to an int16x8_t. -static WEBP_INLINE int16x8_t ConvertU8ToS16_NEON(uint8x8_t v) { - return vreinterpretq_s16_u16(vmovl_u8(v)); -} - -// Performs unsigned 8b saturation on 'dst01' and 'dst23' storing the result -// to the corresponding rows of 'dst'. -static WEBP_INLINE void SaturateAndStore4x4_NEON(uint8_t* const dst, - const int16x8_t dst01, - const int16x8_t dst23) { - // Unsigned saturate to 8b. - const uint8x8_t dst01_u8 = vqmovun_s16(dst01); - const uint8x8_t dst23_u8 = vqmovun_s16(dst23); - - // Store the results. - vst1_lane_u32((uint32_t*)(dst + 0 * BPS), vreinterpret_u32_u8(dst01_u8), 0); - vst1_lane_u32((uint32_t*)(dst + 1 * BPS), vreinterpret_u32_u8(dst01_u8), 1); - vst1_lane_u32((uint32_t*)(dst + 2 * BPS), vreinterpret_u32_u8(dst23_u8), 0); - vst1_lane_u32((uint32_t*)(dst + 3 * BPS), vreinterpret_u32_u8(dst23_u8), 1); -} - -static WEBP_INLINE void Add4x4_NEON(const int16x8_t row01, - const int16x8_t row23, - uint8_t* const dst) { - uint32x2_t dst01 = vdup_n_u32(0); - uint32x2_t dst23 = vdup_n_u32(0); - - // Load the source pixels. - dst01 = vld1_lane_u32((uint32_t*)(dst + 0 * BPS), dst01, 0); - dst23 = vld1_lane_u32((uint32_t*)(dst + 2 * BPS), dst23, 0); - dst01 = vld1_lane_u32((uint32_t*)(dst + 1 * BPS), dst01, 1); - dst23 = vld1_lane_u32((uint32_t*)(dst + 3 * BPS), dst23, 1); - - { - // Convert to 16b. - const int16x8_t dst01_s16 = ConvertU8ToS16_NEON(vreinterpret_u8_u32(dst01)); - const int16x8_t dst23_s16 = ConvertU8ToS16_NEON(vreinterpret_u8_u32(dst23)); - - // Descale with rounding. - const int16x8_t out01 = vrsraq_n_s16(dst01_s16, row01, 3); - const int16x8_t out23 = vrsraq_n_s16(dst23_s16, row23, 3); - // Add the inverse transform. - SaturateAndStore4x4_NEON(dst, out01, out23); - } -} - -//----------------------------------------------------------------------------- -// Simple In-loop filtering (Paragraph 15.2) - -static uint8x16_t NeedsFilter_NEON(const uint8x16_t p1, const uint8x16_t p0, - const uint8x16_t q0, const uint8x16_t q1, - int thresh) { - const uint8x16_t thresh_v = vdupq_n_u8((uint8_t)thresh); - const uint8x16_t a_p0_q0 = vabdq_u8(p0, q0); // abs(p0-q0) - const uint8x16_t a_p1_q1 = vabdq_u8(p1, q1); // abs(p1-q1) - const uint8x16_t a_p0_q0_2 = vqaddq_u8(a_p0_q0, a_p0_q0); // 2 * abs(p0-q0) - const uint8x16_t a_p1_q1_2 = vshrq_n_u8(a_p1_q1, 1); // abs(p1-q1) / 2 - const uint8x16_t sum = vqaddq_u8(a_p0_q0_2, a_p1_q1_2); - const uint8x16_t mask = vcgeq_u8(thresh_v, sum); - return mask; -} - -static int8x16_t FlipSign_NEON(const uint8x16_t v) { - const uint8x16_t sign_bit = vdupq_n_u8(0x80); - return vreinterpretq_s8_u8(veorq_u8(v, sign_bit)); -} - -static uint8x16_t FlipSignBack_NEON(const int8x16_t v) { - const int8x16_t sign_bit = vdupq_n_s8(0x80); - return vreinterpretq_u8_s8(veorq_s8(v, sign_bit)); -} - -static int8x16_t GetBaseDelta_NEON(const int8x16_t p1, const int8x16_t p0, - const int8x16_t q0, const int8x16_t q1) { - const int8x16_t q0_p0 = vqsubq_s8(q0, p0); // (q0-p0) - const int8x16_t p1_q1 = vqsubq_s8(p1, q1); // (p1-q1) - const int8x16_t s1 = vqaddq_s8(p1_q1, q0_p0); // (p1-q1) + 1 * (q0 - p0) - const int8x16_t s2 = vqaddq_s8(q0_p0, s1); // (p1-q1) + 2 * (q0 - p0) - const int8x16_t s3 = vqaddq_s8(q0_p0, s2); // (p1-q1) + 3 * (q0 - p0) - return s3; -} - -static int8x16_t GetBaseDelta0_NEON(const int8x16_t p0, const int8x16_t q0) { - const int8x16_t q0_p0 = vqsubq_s8(q0, p0); // (q0-p0) - const int8x16_t s1 = vqaddq_s8(q0_p0, q0_p0); // 2 * (q0 - p0) - const int8x16_t s2 = vqaddq_s8(q0_p0, s1); // 3 * (q0 - p0) - return s2; -} - -//------------------------------------------------------------------------------ - -static void ApplyFilter2NoFlip_NEON(const int8x16_t p0s, const int8x16_t q0s, - const int8x16_t delta, - int8x16_t* const op0, - int8x16_t* const oq0) { - const int8x16_t kCst3 = vdupq_n_s8(0x03); - const int8x16_t kCst4 = vdupq_n_s8(0x04); - const int8x16_t delta_p3 = vqaddq_s8(delta, kCst3); - const int8x16_t delta_p4 = vqaddq_s8(delta, kCst4); - const int8x16_t delta3 = vshrq_n_s8(delta_p3, 3); - const int8x16_t delta4 = vshrq_n_s8(delta_p4, 3); - *op0 = vqaddq_s8(p0s, delta3); - *oq0 = vqsubq_s8(q0s, delta4); -} - -#if defined(WEBP_USE_INTRINSICS) - -static void ApplyFilter2_NEON(const int8x16_t p0s, const int8x16_t q0s, - const int8x16_t delta, - uint8x16_t* const op0, uint8x16_t* const oq0) { - const int8x16_t kCst3 = vdupq_n_s8(0x03); - const int8x16_t kCst4 = vdupq_n_s8(0x04); - const int8x16_t delta_p3 = vqaddq_s8(delta, kCst3); - const int8x16_t delta_p4 = vqaddq_s8(delta, kCst4); - const int8x16_t delta3 = vshrq_n_s8(delta_p3, 3); - const int8x16_t delta4 = vshrq_n_s8(delta_p4, 3); - const int8x16_t sp0 = vqaddq_s8(p0s, delta3); - const int8x16_t sq0 = vqsubq_s8(q0s, delta4); - *op0 = FlipSignBack_NEON(sp0); - *oq0 = FlipSignBack_NEON(sq0); -} - -static void DoFilter2_NEON(const uint8x16_t p1, const uint8x16_t p0, - const uint8x16_t q0, const uint8x16_t q1, - const uint8x16_t mask, - uint8x16_t* const op0, uint8x16_t* const oq0) { - const int8x16_t p1s = FlipSign_NEON(p1); - const int8x16_t p0s = FlipSign_NEON(p0); - const int8x16_t q0s = FlipSign_NEON(q0); - const int8x16_t q1s = FlipSign_NEON(q1); - const int8x16_t delta0 = GetBaseDelta_NEON(p1s, p0s, q0s, q1s); - const int8x16_t delta1 = vandq_s8(delta0, vreinterpretq_s8_u8(mask)); - ApplyFilter2_NEON(p0s, q0s, delta1, op0, oq0); -} - -static void SimpleVFilter16_NEON(uint8_t* p, int stride, int thresh) { - uint8x16_t p1, p0, q0, q1, op0, oq0; - Load16x4_NEON(p, stride, &p1, &p0, &q0, &q1); - { - const uint8x16_t mask = NeedsFilter_NEON(p1, p0, q0, q1, thresh); - DoFilter2_NEON(p1, p0, q0, q1, mask, &op0, &oq0); - } - Store16x2_NEON(op0, oq0, p, stride); -} - -static void SimpleHFilter16_NEON(uint8_t* p, int stride, int thresh) { - uint8x16_t p1, p0, q0, q1, oq0, op0; - Load4x16_NEON(p, stride, &p1, &p0, &q0, &q1); - { - const uint8x16_t mask = NeedsFilter_NEON(p1, p0, q0, q1, thresh); - DoFilter2_NEON(p1, p0, q0, q1, mask, &op0, &oq0); - } - Store2x16_NEON(op0, oq0, p, stride); -} - -#else - -// Load/Store vertical edge -#define LOAD8x4(c1, c2, c3, c4, b1, b2, stride) \ - "vld4.8 {" #c1 "[0]," #c2 "[0]," #c3 "[0]," #c4 "[0]}," #b1 "," #stride "\n" \ - "vld4.8 {" #c1 "[1]," #c2 "[1]," #c3 "[1]," #c4 "[1]}," #b2 "," #stride "\n" \ - "vld4.8 {" #c1 "[2]," #c2 "[2]," #c3 "[2]," #c4 "[2]}," #b1 "," #stride "\n" \ - "vld4.8 {" #c1 "[3]," #c2 "[3]," #c3 "[3]," #c4 "[3]}," #b2 "," #stride "\n" \ - "vld4.8 {" #c1 "[4]," #c2 "[4]," #c3 "[4]," #c4 "[4]}," #b1 "," #stride "\n" \ - "vld4.8 {" #c1 "[5]," #c2 "[5]," #c3 "[5]," #c4 "[5]}," #b2 "," #stride "\n" \ - "vld4.8 {" #c1 "[6]," #c2 "[6]," #c3 "[6]," #c4 "[6]}," #b1 "," #stride "\n" \ - "vld4.8 {" #c1 "[7]," #c2 "[7]," #c3 "[7]," #c4 "[7]}," #b2 "," #stride "\n" - -#define STORE8x2(c1, c2, p, stride) \ - "vst2.8 {" #c1 "[0], " #c2 "[0]}," #p "," #stride " \n" \ - "vst2.8 {" #c1 "[1], " #c2 "[1]}," #p "," #stride " \n" \ - "vst2.8 {" #c1 "[2], " #c2 "[2]}," #p "," #stride " \n" \ - "vst2.8 {" #c1 "[3], " #c2 "[3]}," #p "," #stride " \n" \ - "vst2.8 {" #c1 "[4], " #c2 "[4]}," #p "," #stride " \n" \ - "vst2.8 {" #c1 "[5], " #c2 "[5]}," #p "," #stride " \n" \ - "vst2.8 {" #c1 "[6], " #c2 "[6]}," #p "," #stride " \n" \ - "vst2.8 {" #c1 "[7], " #c2 "[7]}," #p "," #stride " \n" - -#define QRegs "q0", "q1", "q2", "q3", \ - "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15" - -#define FLIP_SIGN_BIT2(a, b, s) \ - "veor " #a "," #a "," #s " \n" \ - "veor " #b "," #b "," #s " \n" \ - -#define FLIP_SIGN_BIT4(a, b, c, d, s) \ - FLIP_SIGN_BIT2(a, b, s) \ - FLIP_SIGN_BIT2(c, d, s) \ - -#define NEEDS_FILTER(p1, p0, q0, q1, thresh, mask) \ - "vabd.u8 q15," #p0 "," #q0 " \n" /* abs(p0 - q0) */ \ - "vabd.u8 q14," #p1 "," #q1 " \n" /* abs(p1 - q1) */ \ - "vqadd.u8 q15, q15, q15 \n" /* abs(p0 - q0) * 2 */ \ - "vshr.u8 q14, q14, #1 \n" /* abs(p1 - q1) / 2 */ \ - "vqadd.u8 q15, q15, q14 \n" /* abs(p0 - q0) * 2 + abs(p1 - q1) / 2 */ \ - "vdup.8 q14, " #thresh " \n" \ - "vcge.u8 " #mask ", q14, q15 \n" /* mask <= thresh */ - -#define GET_BASE_DELTA(p1, p0, q0, q1, o) \ - "vqsub.s8 q15," #q0 "," #p0 " \n" /* (q0 - p0) */ \ - "vqsub.s8 " #o "," #p1 "," #q1 " \n" /* (p1 - q1) */ \ - "vqadd.s8 " #o "," #o ", q15 \n" /* (p1 - q1) + 1 * (p0 - q0) */ \ - "vqadd.s8 " #o "," #o ", q15 \n" /* (p1 - q1) + 2 * (p0 - q0) */ \ - "vqadd.s8 " #o "," #o ", q15 \n" /* (p1 - q1) + 3 * (p0 - q0) */ - -#define DO_SIMPLE_FILTER(p0, q0, fl) \ - "vmov.i8 q15, #0x03 \n" \ - "vqadd.s8 q15, q15, " #fl " \n" /* filter1 = filter + 3 */ \ - "vshr.s8 q15, q15, #3 \n" /* filter1 >> 3 */ \ - "vqadd.s8 " #p0 "," #p0 ", q15 \n" /* p0 += filter1 */ \ - \ - "vmov.i8 q15, #0x04 \n" \ - "vqadd.s8 q15, q15, " #fl " \n" /* filter1 = filter + 4 */ \ - "vshr.s8 q15, q15, #3 \n" /* filter2 >> 3 */ \ - "vqsub.s8 " #q0 "," #q0 ", q15 \n" /* q0 -= filter2 */ - -// Applies filter on 2 pixels (p0 and q0) -#define DO_FILTER2(p1, p0, q0, q1, thresh) \ - NEEDS_FILTER(p1, p0, q0, q1, thresh, q9) /* filter mask in q9 */ \ - "vmov.i8 q10, #0x80 \n" /* sign bit */ \ - FLIP_SIGN_BIT4(p1, p0, q0, q1, q10) /* convert to signed value */ \ - GET_BASE_DELTA(p1, p0, q0, q1, q11) /* get filter level */ \ - "vand q9, q9, q11 \n" /* apply filter mask */ \ - DO_SIMPLE_FILTER(p0, q0, q9) /* apply filter */ \ - FLIP_SIGN_BIT2(p0, q0, q10) - -static void SimpleVFilter16_NEON(uint8_t* p, int stride, int thresh) { - __asm__ volatile ( - "sub %[p], %[p], %[stride], lsl #1 \n" // p -= 2 * stride - - "vld1.u8 {q1}, [%[p]], %[stride] \n" // p1 - "vld1.u8 {q2}, [%[p]], %[stride] \n" // p0 - "vld1.u8 {q3}, [%[p]], %[stride] \n" // q0 - "vld1.u8 {q12}, [%[p]] \n" // q1 - - DO_FILTER2(q1, q2, q3, q12, %[thresh]) - - "sub %[p], %[p], %[stride], lsl #1 \n" // p -= 2 * stride - - "vst1.u8 {q2}, [%[p]], %[stride] \n" // store op0 - "vst1.u8 {q3}, [%[p]] \n" // store oq0 - : [p] "+r"(p) - : [stride] "r"(stride), [thresh] "r"(thresh) - : "memory", QRegs - ); -} - -static void SimpleHFilter16_NEON(uint8_t* p, int stride, int thresh) { - __asm__ volatile ( - "sub r4, %[p], #2 \n" // base1 = p - 2 - "lsl r6, %[stride], #1 \n" // r6 = 2 * stride - "add r5, r4, %[stride] \n" // base2 = base1 + stride - - LOAD8x4(d2, d3, d4, d5, [r4], [r5], r6) - LOAD8x4(d24, d25, d26, d27, [r4], [r5], r6) - "vswp d3, d24 \n" // p1:q1 p0:q3 - "vswp d5, d26 \n" // q0:q2 q1:q4 - "vswp q2, q12 \n" // p1:q1 p0:q2 q0:q3 q1:q4 - - DO_FILTER2(q1, q2, q12, q13, %[thresh]) - - "sub %[p], %[p], #1 \n" // p - 1 - - "vswp d5, d24 \n" - STORE8x2(d4, d5, [%[p]], %[stride]) - STORE8x2(d24, d25, [%[p]], %[stride]) - - : [p] "+r"(p) - : [stride] "r"(stride), [thresh] "r"(thresh) - : "memory", "r4", "r5", "r6", QRegs - ); -} - -#undef LOAD8x4 -#undef STORE8x2 - -#endif // WEBP_USE_INTRINSICS - -static void SimpleVFilter16i_NEON(uint8_t* p, int stride, int thresh) { - uint32_t k; - for (k = 3; k != 0; --k) { - p += 4 * stride; - SimpleVFilter16_NEON(p, stride, thresh); - } -} - -static void SimpleHFilter16i_NEON(uint8_t* p, int stride, int thresh) { - uint32_t k; - for (k = 3; k != 0; --k) { - p += 4; - SimpleHFilter16_NEON(p, stride, thresh); - } -} - -//------------------------------------------------------------------------------ -// Complex In-loop filtering (Paragraph 15.3) - -static uint8x16_t NeedsHev_NEON(const uint8x16_t p1, const uint8x16_t p0, - const uint8x16_t q0, const uint8x16_t q1, - int hev_thresh) { - const uint8x16_t hev_thresh_v = vdupq_n_u8((uint8_t)hev_thresh); - const uint8x16_t a_p1_p0 = vabdq_u8(p1, p0); // abs(p1 - p0) - const uint8x16_t a_q1_q0 = vabdq_u8(q1, q0); // abs(q1 - q0) - const uint8x16_t a_max = vmaxq_u8(a_p1_p0, a_q1_q0); - const uint8x16_t mask = vcgtq_u8(a_max, hev_thresh_v); - return mask; -} - -static uint8x16_t NeedsFilter2_NEON(const uint8x16_t p3, const uint8x16_t p2, - const uint8x16_t p1, const uint8x16_t p0, - const uint8x16_t q0, const uint8x16_t q1, - const uint8x16_t q2, const uint8x16_t q3, - int ithresh, int thresh) { - const uint8x16_t ithresh_v = vdupq_n_u8((uint8_t)ithresh); - const uint8x16_t a_p3_p2 = vabdq_u8(p3, p2); // abs(p3 - p2) - const uint8x16_t a_p2_p1 = vabdq_u8(p2, p1); // abs(p2 - p1) - const uint8x16_t a_p1_p0 = vabdq_u8(p1, p0); // abs(p1 - p0) - const uint8x16_t a_q3_q2 = vabdq_u8(q3, q2); // abs(q3 - q2) - const uint8x16_t a_q2_q1 = vabdq_u8(q2, q1); // abs(q2 - q1) - const uint8x16_t a_q1_q0 = vabdq_u8(q1, q0); // abs(q1 - q0) - const uint8x16_t max1 = vmaxq_u8(a_p3_p2, a_p2_p1); - const uint8x16_t max2 = vmaxq_u8(a_p1_p0, a_q3_q2); - const uint8x16_t max3 = vmaxq_u8(a_q2_q1, a_q1_q0); - const uint8x16_t max12 = vmaxq_u8(max1, max2); - const uint8x16_t max123 = vmaxq_u8(max12, max3); - const uint8x16_t mask2 = vcgeq_u8(ithresh_v, max123); - const uint8x16_t mask1 = NeedsFilter_NEON(p1, p0, q0, q1, thresh); - const uint8x16_t mask = vandq_u8(mask1, mask2); - return mask; -} - -// 4-points filter - -static void ApplyFilter4_NEON( - const int8x16_t p1, const int8x16_t p0, - const int8x16_t q0, const int8x16_t q1, - const int8x16_t delta0, - uint8x16_t* const op1, uint8x16_t* const op0, - uint8x16_t* const oq0, uint8x16_t* const oq1) { - const int8x16_t kCst3 = vdupq_n_s8(0x03); - const int8x16_t kCst4 = vdupq_n_s8(0x04); - const int8x16_t delta1 = vqaddq_s8(delta0, kCst4); - const int8x16_t delta2 = vqaddq_s8(delta0, kCst3); - const int8x16_t a1 = vshrq_n_s8(delta1, 3); - const int8x16_t a2 = vshrq_n_s8(delta2, 3); - const int8x16_t a3 = vrshrq_n_s8(a1, 1); // a3 = (a1 + 1) >> 1 - *op0 = FlipSignBack_NEON(vqaddq_s8(p0, a2)); // clip(p0 + a2) - *oq0 = FlipSignBack_NEON(vqsubq_s8(q0, a1)); // clip(q0 - a1) - *op1 = FlipSignBack_NEON(vqaddq_s8(p1, a3)); // clip(p1 + a3) - *oq1 = FlipSignBack_NEON(vqsubq_s8(q1, a3)); // clip(q1 - a3) -} - -static void DoFilter4_NEON( - const uint8x16_t p1, const uint8x16_t p0, - const uint8x16_t q0, const uint8x16_t q1, - const uint8x16_t mask, const uint8x16_t hev_mask, - uint8x16_t* const op1, uint8x16_t* const op0, - uint8x16_t* const oq0, uint8x16_t* const oq1) { - // This is a fused version of DoFilter2() calling ApplyFilter2 directly - const int8x16_t p1s = FlipSign_NEON(p1); - int8x16_t p0s = FlipSign_NEON(p0); - int8x16_t q0s = FlipSign_NEON(q0); - const int8x16_t q1s = FlipSign_NEON(q1); - const uint8x16_t simple_lf_mask = vandq_u8(mask, hev_mask); - - // do_filter2 part (simple loopfilter on pixels with hev) - { - const int8x16_t delta = GetBaseDelta_NEON(p1s, p0s, q0s, q1s); - const int8x16_t simple_lf_delta = - vandq_s8(delta, vreinterpretq_s8_u8(simple_lf_mask)); - ApplyFilter2NoFlip_NEON(p0s, q0s, simple_lf_delta, &p0s, &q0s); - } - - // do_filter4 part (complex loopfilter on pixels without hev) - { - const int8x16_t delta0 = GetBaseDelta0_NEON(p0s, q0s); - // we use: (mask & hev_mask) ^ mask = mask & !hev_mask - const uint8x16_t complex_lf_mask = veorq_u8(simple_lf_mask, mask); - const int8x16_t complex_lf_delta = - vandq_s8(delta0, vreinterpretq_s8_u8(complex_lf_mask)); - ApplyFilter4_NEON(p1s, p0s, q0s, q1s, complex_lf_delta, op1, op0, oq0, oq1); - } -} - -// 6-points filter - -static void ApplyFilter6_NEON( - const int8x16_t p2, const int8x16_t p1, const int8x16_t p0, - const int8x16_t q0, const int8x16_t q1, const int8x16_t q2, - const int8x16_t delta, - uint8x16_t* const op2, uint8x16_t* const op1, uint8x16_t* const op0, - uint8x16_t* const oq0, uint8x16_t* const oq1, uint8x16_t* const oq2) { - // We have to compute: X = (9*a+63) >> 7, Y = (18*a+63)>>7, Z = (27*a+63) >> 7 - // Turns out, there's a common sub-expression S=9 * a - 1 that can be used - // with the special vqrshrn_n_s16 rounding-shift-and-narrow instruction: - // X = (S + 64) >> 7, Y = (S + 32) >> 6, Z = (18 * a + S + 64) >> 7 - const int8x8_t delta_lo = vget_low_s8(delta); - const int8x8_t delta_hi = vget_high_s8(delta); - const int8x8_t kCst9 = vdup_n_s8(9); - const int16x8_t kCstm1 = vdupq_n_s16(-1); - const int8x8_t kCst18 = vdup_n_s8(18); - const int16x8_t S_lo = vmlal_s8(kCstm1, kCst9, delta_lo); // S = 9 * a - 1 - const int16x8_t S_hi = vmlal_s8(kCstm1, kCst9, delta_hi); - const int16x8_t Z_lo = vmlal_s8(S_lo, kCst18, delta_lo); // S + 18 * a - const int16x8_t Z_hi = vmlal_s8(S_hi, kCst18, delta_hi); - const int8x8_t a3_lo = vqrshrn_n_s16(S_lo, 7); // (9 * a + 63) >> 7 - const int8x8_t a3_hi = vqrshrn_n_s16(S_hi, 7); - const int8x8_t a2_lo = vqrshrn_n_s16(S_lo, 6); // (9 * a + 31) >> 6 - const int8x8_t a2_hi = vqrshrn_n_s16(S_hi, 6); - const int8x8_t a1_lo = vqrshrn_n_s16(Z_lo, 7); // (27 * a + 63) >> 7 - const int8x8_t a1_hi = vqrshrn_n_s16(Z_hi, 7); - const int8x16_t a1 = vcombine_s8(a1_lo, a1_hi); - const int8x16_t a2 = vcombine_s8(a2_lo, a2_hi); - const int8x16_t a3 = vcombine_s8(a3_lo, a3_hi); - - *op0 = FlipSignBack_NEON(vqaddq_s8(p0, a1)); // clip(p0 + a1) - *oq0 = FlipSignBack_NEON(vqsubq_s8(q0, a1)); // clip(q0 - q1) - *oq1 = FlipSignBack_NEON(vqsubq_s8(q1, a2)); // clip(q1 - a2) - *op1 = FlipSignBack_NEON(vqaddq_s8(p1, a2)); // clip(p1 + a2) - *oq2 = FlipSignBack_NEON(vqsubq_s8(q2, a3)); // clip(q2 - a3) - *op2 = FlipSignBack_NEON(vqaddq_s8(p2, a3)); // clip(p2 + a3) -} - -static void DoFilter6_NEON( - const uint8x16_t p2, const uint8x16_t p1, const uint8x16_t p0, - const uint8x16_t q0, const uint8x16_t q1, const uint8x16_t q2, - const uint8x16_t mask, const uint8x16_t hev_mask, - uint8x16_t* const op2, uint8x16_t* const op1, uint8x16_t* const op0, - uint8x16_t* const oq0, uint8x16_t* const oq1, uint8x16_t* const oq2) { - // This is a fused version of DoFilter2() calling ApplyFilter2 directly - const int8x16_t p2s = FlipSign_NEON(p2); - const int8x16_t p1s = FlipSign_NEON(p1); - int8x16_t p0s = FlipSign_NEON(p0); - int8x16_t q0s = FlipSign_NEON(q0); - const int8x16_t q1s = FlipSign_NEON(q1); - const int8x16_t q2s = FlipSign_NEON(q2); - const uint8x16_t simple_lf_mask = vandq_u8(mask, hev_mask); - const int8x16_t delta0 = GetBaseDelta_NEON(p1s, p0s, q0s, q1s); - - // do_filter2 part (simple loopfilter on pixels with hev) - { - const int8x16_t simple_lf_delta = - vandq_s8(delta0, vreinterpretq_s8_u8(simple_lf_mask)); - ApplyFilter2NoFlip_NEON(p0s, q0s, simple_lf_delta, &p0s, &q0s); - } - - // do_filter6 part (complex loopfilter on pixels without hev) - { - // we use: (mask & hev_mask) ^ mask = mask & !hev_mask - const uint8x16_t complex_lf_mask = veorq_u8(simple_lf_mask, mask); - const int8x16_t complex_lf_delta = - vandq_s8(delta0, vreinterpretq_s8_u8(complex_lf_mask)); - ApplyFilter6_NEON(p2s, p1s, p0s, q0s, q1s, q2s, complex_lf_delta, - op2, op1, op0, oq0, oq1, oq2); - } -} - -// on macroblock edges - -static void VFilter16_NEON(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - uint8x16_t p3, p2, p1, p0, q0, q1, q2, q3; - Load16x8_NEON(p, stride, &p3, &p2, &p1, &p0, &q0, &q1, &q2, &q3); - { - const uint8x16_t mask = NeedsFilter2_NEON(p3, p2, p1, p0, q0, q1, q2, q3, - ithresh, thresh); - const uint8x16_t hev_mask = NeedsHev_NEON(p1, p0, q0, q1, hev_thresh); - uint8x16_t op2, op1, op0, oq0, oq1, oq2; - DoFilter6_NEON(p2, p1, p0, q0, q1, q2, mask, hev_mask, - &op2, &op1, &op0, &oq0, &oq1, &oq2); - Store16x2_NEON(op2, op1, p - 2 * stride, stride); - Store16x2_NEON(op0, oq0, p + 0 * stride, stride); - Store16x2_NEON(oq1, oq2, p + 2 * stride, stride); - } -} - -static void HFilter16_NEON(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - uint8x16_t p3, p2, p1, p0, q0, q1, q2, q3; - Load8x16_NEON(p, stride, &p3, &p2, &p1, &p0, &q0, &q1, &q2, &q3); - { - const uint8x16_t mask = NeedsFilter2_NEON(p3, p2, p1, p0, q0, q1, q2, q3, - ithresh, thresh); - const uint8x16_t hev_mask = NeedsHev_NEON(p1, p0, q0, q1, hev_thresh); - uint8x16_t op2, op1, op0, oq0, oq1, oq2; - DoFilter6_NEON(p2, p1, p0, q0, q1, q2, mask, hev_mask, - &op2, &op1, &op0, &oq0, &oq1, &oq2); - Store2x16_NEON(op2, op1, p - 2, stride); - Store2x16_NEON(op0, oq0, p + 0, stride); - Store2x16_NEON(oq1, oq2, p + 2, stride); - } -} - -// on three inner edges -static void VFilter16i_NEON(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - uint32_t k; - uint8x16_t p3, p2, p1, p0; - Load16x4_NEON(p + 2 * stride, stride, &p3, &p2, &p1, &p0); - for (k = 3; k != 0; --k) { - uint8x16_t q0, q1, q2, q3; - p += 4 * stride; - Load16x4_NEON(p + 2 * stride, stride, &q0, &q1, &q2, &q3); - { - const uint8x16_t mask = - NeedsFilter2_NEON(p3, p2, p1, p0, q0, q1, q2, q3, ithresh, thresh); - const uint8x16_t hev_mask = NeedsHev_NEON(p1, p0, q0, q1, hev_thresh); - // p3 and p2 are not just temporary variables here: they will be - // re-used for next span. And q2/q3 will become p1/p0 accordingly. - DoFilter4_NEON(p1, p0, q0, q1, mask, hev_mask, &p1, &p0, &p3, &p2); - Store16x4_NEON(p1, p0, p3, p2, p, stride); - p1 = q2; - p0 = q3; - } - } -} - -#if !defined(WORK_AROUND_GCC) -static void HFilter16i_NEON(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - uint32_t k; - uint8x16_t p3, p2, p1, p0; - Load4x16_NEON(p + 2, stride, &p3, &p2, &p1, &p0); - for (k = 3; k != 0; --k) { - uint8x16_t q0, q1, q2, q3; - p += 4; - Load4x16_NEON(p + 2, stride, &q0, &q1, &q2, &q3); - { - const uint8x16_t mask = - NeedsFilter2_NEON(p3, p2, p1, p0, q0, q1, q2, q3, ithresh, thresh); - const uint8x16_t hev_mask = NeedsHev_NEON(p1, p0, q0, q1, hev_thresh); - DoFilter4_NEON(p1, p0, q0, q1, mask, hev_mask, &p1, &p0, &p3, &p2); - Store4x16_NEON(p1, p0, p3, p2, p, stride); - p1 = q2; - p0 = q3; - } - } -} -#endif // !WORK_AROUND_GCC - -// 8-pixels wide variant, for chroma filtering -static void VFilter8_NEON(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - uint8x16_t p3, p2, p1, p0, q0, q1, q2, q3; - Load8x8x2_NEON(u, v, stride, &p3, &p2, &p1, &p0, &q0, &q1, &q2, &q3); - { - const uint8x16_t mask = NeedsFilter2_NEON(p3, p2, p1, p0, q0, q1, q2, q3, - ithresh, thresh); - const uint8x16_t hev_mask = NeedsHev_NEON(p1, p0, q0, q1, hev_thresh); - uint8x16_t op2, op1, op0, oq0, oq1, oq2; - DoFilter6_NEON(p2, p1, p0, q0, q1, q2, mask, hev_mask, - &op2, &op1, &op0, &oq0, &oq1, &oq2); - Store8x2x2_NEON(op2, op1, u - 2 * stride, v - 2 * stride, stride); - Store8x2x2_NEON(op0, oq0, u + 0 * stride, v + 0 * stride, stride); - Store8x2x2_NEON(oq1, oq2, u + 2 * stride, v + 2 * stride, stride); - } -} -static void VFilter8i_NEON(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - uint8x16_t p3, p2, p1, p0, q0, q1, q2, q3; - u += 4 * stride; - v += 4 * stride; - Load8x8x2_NEON(u, v, stride, &p3, &p2, &p1, &p0, &q0, &q1, &q2, &q3); - { - const uint8x16_t mask = NeedsFilter2_NEON(p3, p2, p1, p0, q0, q1, q2, q3, - ithresh, thresh); - const uint8x16_t hev_mask = NeedsHev_NEON(p1, p0, q0, q1, hev_thresh); - uint8x16_t op1, op0, oq0, oq1; - DoFilter4_NEON(p1, p0, q0, q1, mask, hev_mask, &op1, &op0, &oq0, &oq1); - Store8x4x2_NEON(op1, op0, oq0, oq1, u, v, stride); - } -} - -#if !defined(WORK_AROUND_GCC) -static void HFilter8_NEON(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - uint8x16_t p3, p2, p1, p0, q0, q1, q2, q3; - Load8x8x2T_NEON(u, v, stride, &p3, &p2, &p1, &p0, &q0, &q1, &q2, &q3); - { - const uint8x16_t mask = NeedsFilter2_NEON(p3, p2, p1, p0, q0, q1, q2, q3, - ithresh, thresh); - const uint8x16_t hev_mask = NeedsHev_NEON(p1, p0, q0, q1, hev_thresh); - uint8x16_t op2, op1, op0, oq0, oq1, oq2; - DoFilter6_NEON(p2, p1, p0, q0, q1, q2, mask, hev_mask, - &op2, &op1, &op0, &oq0, &oq1, &oq2); - Store6x8x2_NEON(op2, op1, op0, oq0, oq1, oq2, u, v, stride); - } -} - -static void HFilter8i_NEON(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - uint8x16_t p3, p2, p1, p0, q0, q1, q2, q3; - u += 4; - v += 4; - Load8x8x2T_NEON(u, v, stride, &p3, &p2, &p1, &p0, &q0, &q1, &q2, &q3); - { - const uint8x16_t mask = NeedsFilter2_NEON(p3, p2, p1, p0, q0, q1, q2, q3, - ithresh, thresh); - const uint8x16_t hev_mask = NeedsHev_NEON(p1, p0, q0, q1, hev_thresh); - uint8x16_t op1, op0, oq0, oq1; - DoFilter4_NEON(p1, p0, q0, q1, mask, hev_mask, &op1, &op0, &oq0, &oq1); - Store4x8x2_NEON(op1, op0, oq0, oq1, u, v, stride); - } -} -#endif // !WORK_AROUND_GCC - -//----------------------------------------------------------------------------- -// Inverse transforms (Paragraph 14.4) - -// Technically these are unsigned but vqdmulh is only available in signed. -// vqdmulh returns high half (effectively >> 16) but also doubles the value, -// changing the >> 16 to >> 15 and requiring an additional >> 1. -// We use this to our advantage with kC2. The canonical value is 35468. -// However, the high bit is set so treating it as signed will give incorrect -// results. We avoid this by down shifting by 1 here to clear the highest bit. -// Combined with the doubling effect of vqdmulh we get >> 16. -// This can not be applied to kC1 because the lowest bit is set. Down shifting -// the constant would reduce precision. - -// libwebp uses a trick to avoid some extra addition that libvpx does. -// Instead of: -// temp2 = ip[12] + ((ip[12] * cospi8sqrt2minus1) >> 16); -// libwebp adds 1 << 16 to cospi8sqrt2minus1 (kC1). However, this causes the -// same issue with kC1 and vqdmulh that we work around by down shifting kC2 - -static const int16_t kC1 = 20091; -static const int16_t kC2 = 17734; // half of kC2, actually. See comment above. - -#if defined(WEBP_USE_INTRINSICS) -static WEBP_INLINE void Transpose8x2_NEON(const int16x8_t in0, - const int16x8_t in1, - int16x8x2_t* const out) { - // a0 a1 a2 a3 | b0 b1 b2 b3 => a0 b0 c0 d0 | a1 b1 c1 d1 - // c0 c1 c2 c3 | d0 d1 d2 d3 a2 b2 c2 d2 | a3 b3 c3 d3 - const int16x8x2_t tmp0 = vzipq_s16(in0, in1); // a0 c0 a1 c1 a2 c2 ... - // b0 d0 b1 d1 b2 d2 ... - *out = vzipq_s16(tmp0.val[0], tmp0.val[1]); -} - -static WEBP_INLINE void TransformPass_NEON(int16x8x2_t* const rows) { - // {rows} = in0 | in4 - // in8 | in12 - // B1 = in4 | in12 - const int16x8_t B1 = - vcombine_s16(vget_high_s16(rows->val[0]), vget_high_s16(rows->val[1])); - // C0 = kC1 * in4 | kC1 * in12 - // C1 = kC2 * in4 | kC2 * in12 - const int16x8_t C0 = vsraq_n_s16(B1, vqdmulhq_n_s16(B1, kC1), 1); - const int16x8_t C1 = vqdmulhq_n_s16(B1, kC2); - const int16x4_t a = vqadd_s16(vget_low_s16(rows->val[0]), - vget_low_s16(rows->val[1])); // in0 + in8 - const int16x4_t b = vqsub_s16(vget_low_s16(rows->val[0]), - vget_low_s16(rows->val[1])); // in0 - in8 - // c = kC2 * in4 - kC1 * in12 - // d = kC1 * in4 + kC2 * in12 - const int16x4_t c = vqsub_s16(vget_low_s16(C1), vget_high_s16(C0)); - const int16x4_t d = vqadd_s16(vget_low_s16(C0), vget_high_s16(C1)); - const int16x8_t D0 = vcombine_s16(a, b); // D0 = a | b - const int16x8_t D1 = vcombine_s16(d, c); // D1 = d | c - const int16x8_t E0 = vqaddq_s16(D0, D1); // a+d | b+c - const int16x8_t E_tmp = vqsubq_s16(D0, D1); // a-d | b-c - const int16x8_t E1 = vcombine_s16(vget_high_s16(E_tmp), vget_low_s16(E_tmp)); - Transpose8x2_NEON(E0, E1, rows); -} - -static void TransformOne_NEON(const int16_t* in, uint8_t* dst) { - int16x8x2_t rows; - INIT_VECTOR2(rows, vld1q_s16(in + 0), vld1q_s16(in + 8)); - TransformPass_NEON(&rows); - TransformPass_NEON(&rows); - Add4x4_NEON(rows.val[0], rows.val[1], dst); -} - -#else - -static void TransformOne_NEON(const int16_t* in, uint8_t* dst) { - const int kBPS = BPS; - // kC1, kC2. Padded because vld1.16 loads 8 bytes - const int16_t constants[4] = { kC1, kC2, 0, 0 }; - /* Adapted from libvpx: vp8/common/arm/neon/shortidct4x4llm_neon.asm */ - __asm__ volatile ( - "vld1.16 {q1, q2}, [%[in]] \n" - "vld1.16 {d0}, [%[constants]] \n" - - /* d2: in[0] - * d3: in[8] - * d4: in[4] - * d5: in[12] - */ - "vswp d3, d4 \n" - - /* q8 = {in[4], in[12]} * kC1 * 2 >> 16 - * q9 = {in[4], in[12]} * kC2 >> 16 - */ - "vqdmulh.s16 q8, q2, d0[0] \n" - "vqdmulh.s16 q9, q2, d0[1] \n" - - /* d22 = a = in[0] + in[8] - * d23 = b = in[0] - in[8] - */ - "vqadd.s16 d22, d2, d3 \n" - "vqsub.s16 d23, d2, d3 \n" - - /* The multiplication should be x * kC1 >> 16 - * However, with vqdmulh we get x * kC1 * 2 >> 16 - * (multiply, double, return high half) - * We avoided this in kC2 by pre-shifting the constant. - * q8 = in[4]/[12] * kC1 >> 16 - */ - "vshr.s16 q8, q8, #1 \n" - - /* Add {in[4], in[12]} back after the multiplication. This is handled by - * adding 1 << 16 to kC1 in the libwebp C code. - */ - "vqadd.s16 q8, q2, q8 \n" - - /* d20 = c = in[4]*kC2 - in[12]*kC1 - * d21 = d = in[4]*kC1 + in[12]*kC2 - */ - "vqsub.s16 d20, d18, d17 \n" - "vqadd.s16 d21, d19, d16 \n" - - /* d2 = tmp[0] = a + d - * d3 = tmp[1] = b + c - * d4 = tmp[2] = b - c - * d5 = tmp[3] = a - d - */ - "vqadd.s16 d2, d22, d21 \n" - "vqadd.s16 d3, d23, d20 \n" - "vqsub.s16 d4, d23, d20 \n" - "vqsub.s16 d5, d22, d21 \n" - - "vzip.16 q1, q2 \n" - "vzip.16 q1, q2 \n" - - "vswp d3, d4 \n" - - /* q8 = {tmp[4], tmp[12]} * kC1 * 2 >> 16 - * q9 = {tmp[4], tmp[12]} * kC2 >> 16 - */ - "vqdmulh.s16 q8, q2, d0[0] \n" - "vqdmulh.s16 q9, q2, d0[1] \n" - - /* d22 = a = tmp[0] + tmp[8] - * d23 = b = tmp[0] - tmp[8] - */ - "vqadd.s16 d22, d2, d3 \n" - "vqsub.s16 d23, d2, d3 \n" - - /* See long winded explanations prior */ - "vshr.s16 q8, q8, #1 \n" - "vqadd.s16 q8, q2, q8 \n" - - /* d20 = c = in[4]*kC2 - in[12]*kC1 - * d21 = d = in[4]*kC1 + in[12]*kC2 - */ - "vqsub.s16 d20, d18, d17 \n" - "vqadd.s16 d21, d19, d16 \n" - - /* d2 = tmp[0] = a + d - * d3 = tmp[1] = b + c - * d4 = tmp[2] = b - c - * d5 = tmp[3] = a - d - */ - "vqadd.s16 d2, d22, d21 \n" - "vqadd.s16 d3, d23, d20 \n" - "vqsub.s16 d4, d23, d20 \n" - "vqsub.s16 d5, d22, d21 \n" - - "vld1.32 d6[0], [%[dst]], %[kBPS] \n" - "vld1.32 d6[1], [%[dst]], %[kBPS] \n" - "vld1.32 d7[0], [%[dst]], %[kBPS] \n" - "vld1.32 d7[1], [%[dst]], %[kBPS] \n" - - "sub %[dst], %[dst], %[kBPS], lsl #2 \n" - - /* (val) + 4 >> 3 */ - "vrshr.s16 d2, d2, #3 \n" - "vrshr.s16 d3, d3, #3 \n" - "vrshr.s16 d4, d4, #3 \n" - "vrshr.s16 d5, d5, #3 \n" - - "vzip.16 q1, q2 \n" - "vzip.16 q1, q2 \n" - - /* Must accumulate before saturating */ - "vmovl.u8 q8, d6 \n" - "vmovl.u8 q9, d7 \n" - - "vqadd.s16 q1, q1, q8 \n" - "vqadd.s16 q2, q2, q9 \n" - - "vqmovun.s16 d0, q1 \n" - "vqmovun.s16 d1, q2 \n" - - "vst1.32 d0[0], [%[dst]], %[kBPS] \n" - "vst1.32 d0[1], [%[dst]], %[kBPS] \n" - "vst1.32 d1[0], [%[dst]], %[kBPS] \n" - "vst1.32 d1[1], [%[dst]] \n" - - : [in] "+r"(in), [dst] "+r"(dst) /* modified registers */ - : [kBPS] "r"(kBPS), [constants] "r"(constants) /* constants */ - : "memory", "q0", "q1", "q2", "q8", "q9", "q10", "q11" /* clobbered */ - ); -} - -#endif // WEBP_USE_INTRINSICS - -static void TransformTwo_NEON(const int16_t* in, uint8_t* dst, int do_two) { - TransformOne_NEON(in, dst); - if (do_two) { - TransformOne_NEON(in + 16, dst + 4); - } -} - -static void TransformDC_NEON(const int16_t* in, uint8_t* dst) { - const int16x8_t DC = vdupq_n_s16(in[0]); - Add4x4_NEON(DC, DC, dst); -} - -//------------------------------------------------------------------------------ - -#define STORE_WHT(dst, col, rows) do { \ - *dst = vgetq_lane_s32(rows.val[0], col); (dst) += 16; \ - *dst = vgetq_lane_s32(rows.val[1], col); (dst) += 16; \ - *dst = vgetq_lane_s32(rows.val[2], col); (dst) += 16; \ - *dst = vgetq_lane_s32(rows.val[3], col); (dst) += 16; \ -} while (0) - -static void TransformWHT_NEON(const int16_t* in, int16_t* out) { - int32x4x4_t tmp; - - { - // Load the source. - const int16x4_t in00_03 = vld1_s16(in + 0); - const int16x4_t in04_07 = vld1_s16(in + 4); - const int16x4_t in08_11 = vld1_s16(in + 8); - const int16x4_t in12_15 = vld1_s16(in + 12); - const int32x4_t a0 = vaddl_s16(in00_03, in12_15); // in[0..3] + in[12..15] - const int32x4_t a1 = vaddl_s16(in04_07, in08_11); // in[4..7] + in[8..11] - const int32x4_t a2 = vsubl_s16(in04_07, in08_11); // in[4..7] - in[8..11] - const int32x4_t a3 = vsubl_s16(in00_03, in12_15); // in[0..3] - in[12..15] - tmp.val[0] = vaddq_s32(a0, a1); - tmp.val[1] = vaddq_s32(a3, a2); - tmp.val[2] = vsubq_s32(a0, a1); - tmp.val[3] = vsubq_s32(a3, a2); - // Arrange the temporary results column-wise. - tmp = Transpose4x4_NEON(tmp); - } - - { - const int32x4_t kCst3 = vdupq_n_s32(3); - const int32x4_t dc = vaddq_s32(tmp.val[0], kCst3); // add rounder - const int32x4_t a0 = vaddq_s32(dc, tmp.val[3]); - const int32x4_t a1 = vaddq_s32(tmp.val[1], tmp.val[2]); - const int32x4_t a2 = vsubq_s32(tmp.val[1], tmp.val[2]); - const int32x4_t a3 = vsubq_s32(dc, tmp.val[3]); - - tmp.val[0] = vaddq_s32(a0, a1); - tmp.val[1] = vaddq_s32(a3, a2); - tmp.val[2] = vsubq_s32(a0, a1); - tmp.val[3] = vsubq_s32(a3, a2); - - // right shift the results by 3. - tmp.val[0] = vshrq_n_s32(tmp.val[0], 3); - tmp.val[1] = vshrq_n_s32(tmp.val[1], 3); - tmp.val[2] = vshrq_n_s32(tmp.val[2], 3); - tmp.val[3] = vshrq_n_s32(tmp.val[3], 3); - - STORE_WHT(out, 0, tmp); - STORE_WHT(out, 1, tmp); - STORE_WHT(out, 2, tmp); - STORE_WHT(out, 3, tmp); - } -} - -#undef STORE_WHT - -//------------------------------------------------------------------------------ - -#define MUL(a, b) (((a) * (b)) >> 16) -static void TransformAC3_NEON(const int16_t* in, uint8_t* dst) { - static const int kC1_full = 20091 + (1 << 16); - static const int kC2_full = 35468; - const int16x4_t A = vld1_dup_s16(in); - const int16x4_t c4 = vdup_n_s16(MUL(in[4], kC2_full)); - const int16x4_t d4 = vdup_n_s16(MUL(in[4], kC1_full)); - const int c1 = MUL(in[1], kC2_full); - const int d1 = MUL(in[1], kC1_full); - const uint64_t cd = (uint64_t)( d1 & 0xffff) << 0 | - (uint64_t)( c1 & 0xffff) << 16 | - (uint64_t)(-c1 & 0xffff) << 32 | - (uint64_t)(-d1 & 0xffff) << 48; - const int16x4_t CD = vcreate_s16(cd); - const int16x4_t B = vqadd_s16(A, CD); - const int16x8_t m0_m1 = vcombine_s16(vqadd_s16(B, d4), vqadd_s16(B, c4)); - const int16x8_t m2_m3 = vcombine_s16(vqsub_s16(B, c4), vqsub_s16(B, d4)); - Add4x4_NEON(m0_m1, m2_m3, dst); -} -#undef MUL - -//------------------------------------------------------------------------------ -// 4x4 - -static void DC4_NEON(uint8_t* dst) { // DC - const uint8x8_t A = vld1_u8(dst - BPS); // top row - const uint16x4_t p0 = vpaddl_u8(A); // cascading summation of the top - const uint16x4_t p1 = vpadd_u16(p0, p0); - const uint16x8_t L0 = vmovl_u8(vld1_u8(dst + 0 * BPS - 1)); - const uint16x8_t L1 = vmovl_u8(vld1_u8(dst + 1 * BPS - 1)); - const uint16x8_t L2 = vmovl_u8(vld1_u8(dst + 2 * BPS - 1)); - const uint16x8_t L3 = vmovl_u8(vld1_u8(dst + 3 * BPS - 1)); - const uint16x8_t s0 = vaddq_u16(L0, L1); - const uint16x8_t s1 = vaddq_u16(L2, L3); - const uint16x8_t s01 = vaddq_u16(s0, s1); - const uint16x8_t sum = vaddq_u16(s01, vcombine_u16(p1, p1)); - const uint8x8_t dc0 = vrshrn_n_u16(sum, 3); // (sum + 4) >> 3 - const uint8x8_t dc = vdup_lane_u8(dc0, 0); - int i; - for (i = 0; i < 4; ++i) { - vst1_lane_u32((uint32_t*)(dst + i * BPS), vreinterpret_u32_u8(dc), 0); - } -} - -// TrueMotion (4x4 + 8x8) -static WEBP_INLINE void TrueMotion_NEON(uint8_t* dst, int size) { - const uint8x8_t TL = vld1_dup_u8(dst - BPS - 1); // top-left pixel 'A[-1]' - const uint8x8_t T = vld1_u8(dst - BPS); // top row 'A[0..3]' - const int16x8_t d = vreinterpretq_s16_u16(vsubl_u8(T, TL)); // A[c] - A[-1] - int y; - for (y = 0; y < size; y += 4) { - // left edge - const int16x8_t L0 = ConvertU8ToS16_NEON(vld1_dup_u8(dst + 0 * BPS - 1)); - const int16x8_t L1 = ConvertU8ToS16_NEON(vld1_dup_u8(dst + 1 * BPS - 1)); - const int16x8_t L2 = ConvertU8ToS16_NEON(vld1_dup_u8(dst + 2 * BPS - 1)); - const int16x8_t L3 = ConvertU8ToS16_NEON(vld1_dup_u8(dst + 3 * BPS - 1)); - const int16x8_t r0 = vaddq_s16(L0, d); // L[r] + A[c] - A[-1] - const int16x8_t r1 = vaddq_s16(L1, d); - const int16x8_t r2 = vaddq_s16(L2, d); - const int16x8_t r3 = vaddq_s16(L3, d); - // Saturate and store the result. - const uint32x2_t r0_u32 = vreinterpret_u32_u8(vqmovun_s16(r0)); - const uint32x2_t r1_u32 = vreinterpret_u32_u8(vqmovun_s16(r1)); - const uint32x2_t r2_u32 = vreinterpret_u32_u8(vqmovun_s16(r2)); - const uint32x2_t r3_u32 = vreinterpret_u32_u8(vqmovun_s16(r3)); - if (size == 4) { - vst1_lane_u32((uint32_t*)(dst + 0 * BPS), r0_u32, 0); - vst1_lane_u32((uint32_t*)(dst + 1 * BPS), r1_u32, 0); - vst1_lane_u32((uint32_t*)(dst + 2 * BPS), r2_u32, 0); - vst1_lane_u32((uint32_t*)(dst + 3 * BPS), r3_u32, 0); - } else { - vst1_u32((uint32_t*)(dst + 0 * BPS), r0_u32); - vst1_u32((uint32_t*)(dst + 1 * BPS), r1_u32); - vst1_u32((uint32_t*)(dst + 2 * BPS), r2_u32); - vst1_u32((uint32_t*)(dst + 3 * BPS), r3_u32); - } - dst += 4 * BPS; - } -} - -static void TM4_NEON(uint8_t* dst) { TrueMotion_NEON(dst, 4); } - -static void VE4_NEON(uint8_t* dst) { // vertical - // NB: avoid vld1_u64 here as an alignment hint may be added -> SIGBUS. - const uint64x1_t A0 = vreinterpret_u64_u8(vld1_u8(dst - BPS - 1)); // top row - const uint64x1_t A1 = vshr_n_u64(A0, 8); - const uint64x1_t A2 = vshr_n_u64(A0, 16); - const uint8x8_t ABCDEFGH = vreinterpret_u8_u64(A0); - const uint8x8_t BCDEFGH0 = vreinterpret_u8_u64(A1); - const uint8x8_t CDEFGH00 = vreinterpret_u8_u64(A2); - const uint8x8_t b = vhadd_u8(ABCDEFGH, CDEFGH00); - const uint8x8_t avg = vrhadd_u8(b, BCDEFGH0); - int i; - for (i = 0; i < 4; ++i) { - vst1_lane_u32((uint32_t*)(dst + i * BPS), vreinterpret_u32_u8(avg), 0); - } -} - -static void RD4_NEON(uint8_t* dst) { // Down-right - const uint8x8_t XABCD_u8 = vld1_u8(dst - BPS - 1); - const uint64x1_t XABCD = vreinterpret_u64_u8(XABCD_u8); - const uint64x1_t ____XABC = vshl_n_u64(XABCD, 32); - const uint32_t I = dst[-1 + 0 * BPS]; - const uint32_t J = dst[-1 + 1 * BPS]; - const uint32_t K = dst[-1 + 2 * BPS]; - const uint32_t L = dst[-1 + 3 * BPS]; - const uint64x1_t LKJI____ = - vcreate_u64((uint64_t)L | (K << 8) | (J << 16) | (I << 24)); - const uint64x1_t LKJIXABC = vorr_u64(LKJI____, ____XABC); - const uint8x8_t KJIXABC_ = vreinterpret_u8_u64(vshr_n_u64(LKJIXABC, 8)); - const uint8x8_t JIXABC__ = vreinterpret_u8_u64(vshr_n_u64(LKJIXABC, 16)); - const uint8_t D = vget_lane_u8(XABCD_u8, 4); - const uint8x8_t JIXABCD_ = vset_lane_u8(D, JIXABC__, 6); - const uint8x8_t LKJIXABC_u8 = vreinterpret_u8_u64(LKJIXABC); - const uint8x8_t avg1 = vhadd_u8(JIXABCD_, LKJIXABC_u8); - const uint8x8_t avg2 = vrhadd_u8(avg1, KJIXABC_); - const uint64x1_t avg2_u64 = vreinterpret_u64_u8(avg2); - const uint32x2_t r3 = vreinterpret_u32_u8(avg2); - const uint32x2_t r2 = vreinterpret_u32_u64(vshr_n_u64(avg2_u64, 8)); - const uint32x2_t r1 = vreinterpret_u32_u64(vshr_n_u64(avg2_u64, 16)); - const uint32x2_t r0 = vreinterpret_u32_u64(vshr_n_u64(avg2_u64, 24)); - vst1_lane_u32((uint32_t*)(dst + 0 * BPS), r0, 0); - vst1_lane_u32((uint32_t*)(dst + 1 * BPS), r1, 0); - vst1_lane_u32((uint32_t*)(dst + 2 * BPS), r2, 0); - vst1_lane_u32((uint32_t*)(dst + 3 * BPS), r3, 0); -} - -static void LD4_NEON(uint8_t* dst) { // Down-left - // Note using the same shift trick as VE4() is slower here. - const uint8x8_t ABCDEFGH = vld1_u8(dst - BPS + 0); - const uint8x8_t BCDEFGH0 = vld1_u8(dst - BPS + 1); - const uint8x8_t CDEFGH00 = vld1_u8(dst - BPS + 2); - const uint8x8_t CDEFGHH0 = vset_lane_u8(dst[-BPS + 7], CDEFGH00, 6); - const uint8x8_t avg1 = vhadd_u8(ABCDEFGH, CDEFGHH0); - const uint8x8_t avg2 = vrhadd_u8(avg1, BCDEFGH0); - const uint64x1_t avg2_u64 = vreinterpret_u64_u8(avg2); - const uint32x2_t r0 = vreinterpret_u32_u8(avg2); - const uint32x2_t r1 = vreinterpret_u32_u64(vshr_n_u64(avg2_u64, 8)); - const uint32x2_t r2 = vreinterpret_u32_u64(vshr_n_u64(avg2_u64, 16)); - const uint32x2_t r3 = vreinterpret_u32_u64(vshr_n_u64(avg2_u64, 24)); - vst1_lane_u32((uint32_t*)(dst + 0 * BPS), r0, 0); - vst1_lane_u32((uint32_t*)(dst + 1 * BPS), r1, 0); - vst1_lane_u32((uint32_t*)(dst + 2 * BPS), r2, 0); - vst1_lane_u32((uint32_t*)(dst + 3 * BPS), r3, 0); -} - -//------------------------------------------------------------------------------ -// Chroma - -static void VE8uv_NEON(uint8_t* dst) { // vertical - const uint8x8_t top = vld1_u8(dst - BPS); - int j; - for (j = 0; j < 8; ++j) { - vst1_u8(dst + j * BPS, top); - } -} - -static void HE8uv_NEON(uint8_t* dst) { // horizontal - int j; - for (j = 0; j < 8; ++j) { - const uint8x8_t left = vld1_dup_u8(dst - 1); - vst1_u8(dst, left); - dst += BPS; - } -} - -static WEBP_INLINE void DC8_NEON(uint8_t* dst, int do_top, int do_left) { - uint16x8_t sum_top; - uint16x8_t sum_left; - uint8x8_t dc0; - - if (do_top) { - const uint8x8_t A = vld1_u8(dst - BPS); // top row -#if defined(__aarch64__) - const uint16x8_t B = vmovl_u8(A); - const uint16_t p2 = vaddvq_u16(B); - sum_top = vdupq_n_u16(p2); -#else - const uint16x4_t p0 = vpaddl_u8(A); // cascading summation of the top - const uint16x4_t p1 = vpadd_u16(p0, p0); - const uint16x4_t p2 = vpadd_u16(p1, p1); - sum_top = vcombine_u16(p2, p2); -#endif - } - - if (do_left) { - const uint16x8_t L0 = vmovl_u8(vld1_u8(dst + 0 * BPS - 1)); - const uint16x8_t L1 = vmovl_u8(vld1_u8(dst + 1 * BPS - 1)); - const uint16x8_t L2 = vmovl_u8(vld1_u8(dst + 2 * BPS - 1)); - const uint16x8_t L3 = vmovl_u8(vld1_u8(dst + 3 * BPS - 1)); - const uint16x8_t L4 = vmovl_u8(vld1_u8(dst + 4 * BPS - 1)); - const uint16x8_t L5 = vmovl_u8(vld1_u8(dst + 5 * BPS - 1)); - const uint16x8_t L6 = vmovl_u8(vld1_u8(dst + 6 * BPS - 1)); - const uint16x8_t L7 = vmovl_u8(vld1_u8(dst + 7 * BPS - 1)); - const uint16x8_t s0 = vaddq_u16(L0, L1); - const uint16x8_t s1 = vaddq_u16(L2, L3); - const uint16x8_t s2 = vaddq_u16(L4, L5); - const uint16x8_t s3 = vaddq_u16(L6, L7); - const uint16x8_t s01 = vaddq_u16(s0, s1); - const uint16x8_t s23 = vaddq_u16(s2, s3); - sum_left = vaddq_u16(s01, s23); - } - - if (do_top && do_left) { - const uint16x8_t sum = vaddq_u16(sum_left, sum_top); - dc0 = vrshrn_n_u16(sum, 4); - } else if (do_top) { - dc0 = vrshrn_n_u16(sum_top, 3); - } else if (do_left) { - dc0 = vrshrn_n_u16(sum_left, 3); - } else { - dc0 = vdup_n_u8(0x80); - } - - { - const uint8x8_t dc = vdup_lane_u8(dc0, 0); - int i; - for (i = 0; i < 8; ++i) { - vst1_u32((uint32_t*)(dst + i * BPS), vreinterpret_u32_u8(dc)); - } - } -} - -static void DC8uv_NEON(uint8_t* dst) { DC8_NEON(dst, 1, 1); } -static void DC8uvNoTop_NEON(uint8_t* dst) { DC8_NEON(dst, 0, 1); } -static void DC8uvNoLeft_NEON(uint8_t* dst) { DC8_NEON(dst, 1, 0); } -static void DC8uvNoTopLeft_NEON(uint8_t* dst) { DC8_NEON(dst, 0, 0); } - -static void TM8uv_NEON(uint8_t* dst) { TrueMotion_NEON(dst, 8); } - -//------------------------------------------------------------------------------ -// 16x16 - -static void VE16_NEON(uint8_t* dst) { // vertical - const uint8x16_t top = vld1q_u8(dst - BPS); - int j; - for (j = 0; j < 16; ++j) { - vst1q_u8(dst + j * BPS, top); - } -} - -static void HE16_NEON(uint8_t* dst) { // horizontal - int j; - for (j = 0; j < 16; ++j) { - const uint8x16_t left = vld1q_dup_u8(dst - 1); - vst1q_u8(dst, left); - dst += BPS; - } -} - -static WEBP_INLINE void DC16_NEON(uint8_t* dst, int do_top, int do_left) { - uint16x8_t sum_top; - uint16x8_t sum_left; - uint8x8_t dc0; - - if (do_top) { - const uint8x16_t A = vld1q_u8(dst - BPS); // top row - const uint16x8_t p0 = vpaddlq_u8(A); // cascading summation of the top - const uint16x4_t p1 = vadd_u16(vget_low_u16(p0), vget_high_u16(p0)); - const uint16x4_t p2 = vpadd_u16(p1, p1); - const uint16x4_t p3 = vpadd_u16(p2, p2); - sum_top = vcombine_u16(p3, p3); - } - - if (do_left) { - int i; - sum_left = vdupq_n_u16(0); - for (i = 0; i < 16; i += 8) { - const uint16x8_t L0 = vmovl_u8(vld1_u8(dst + (i + 0) * BPS - 1)); - const uint16x8_t L1 = vmovl_u8(vld1_u8(dst + (i + 1) * BPS - 1)); - const uint16x8_t L2 = vmovl_u8(vld1_u8(dst + (i + 2) * BPS - 1)); - const uint16x8_t L3 = vmovl_u8(vld1_u8(dst + (i + 3) * BPS - 1)); - const uint16x8_t L4 = vmovl_u8(vld1_u8(dst + (i + 4) * BPS - 1)); - const uint16x8_t L5 = vmovl_u8(vld1_u8(dst + (i + 5) * BPS - 1)); - const uint16x8_t L6 = vmovl_u8(vld1_u8(dst + (i + 6) * BPS - 1)); - const uint16x8_t L7 = vmovl_u8(vld1_u8(dst + (i + 7) * BPS - 1)); - const uint16x8_t s0 = vaddq_u16(L0, L1); - const uint16x8_t s1 = vaddq_u16(L2, L3); - const uint16x8_t s2 = vaddq_u16(L4, L5); - const uint16x8_t s3 = vaddq_u16(L6, L7); - const uint16x8_t s01 = vaddq_u16(s0, s1); - const uint16x8_t s23 = vaddq_u16(s2, s3); - const uint16x8_t sum = vaddq_u16(s01, s23); - sum_left = vaddq_u16(sum_left, sum); - } - } - - if (do_top && do_left) { - const uint16x8_t sum = vaddq_u16(sum_left, sum_top); - dc0 = vrshrn_n_u16(sum, 5); - } else if (do_top) { - dc0 = vrshrn_n_u16(sum_top, 4); - } else if (do_left) { - dc0 = vrshrn_n_u16(sum_left, 4); - } else { - dc0 = vdup_n_u8(0x80); - } - - { - const uint8x16_t dc = vdupq_lane_u8(dc0, 0); - int i; - for (i = 0; i < 16; ++i) { - vst1q_u8(dst + i * BPS, dc); - } - } -} - -static void DC16TopLeft_NEON(uint8_t* dst) { DC16_NEON(dst, 1, 1); } -static void DC16NoTop_NEON(uint8_t* dst) { DC16_NEON(dst, 0, 1); } -static void DC16NoLeft_NEON(uint8_t* dst) { DC16_NEON(dst, 1, 0); } -static void DC16NoTopLeft_NEON(uint8_t* dst) { DC16_NEON(dst, 0, 0); } - -static void TM16_NEON(uint8_t* dst) { - const uint8x8_t TL = vld1_dup_u8(dst - BPS - 1); // top-left pixel 'A[-1]' - const uint8x16_t T = vld1q_u8(dst - BPS); // top row 'A[0..15]' - // A[c] - A[-1] - const int16x8_t d_lo = vreinterpretq_s16_u16(vsubl_u8(vget_low_u8(T), TL)); - const int16x8_t d_hi = vreinterpretq_s16_u16(vsubl_u8(vget_high_u8(T), TL)); - int y; - for (y = 0; y < 16; y += 4) { - // left edge - const int16x8_t L0 = ConvertU8ToS16_NEON(vld1_dup_u8(dst + 0 * BPS - 1)); - const int16x8_t L1 = ConvertU8ToS16_NEON(vld1_dup_u8(dst + 1 * BPS - 1)); - const int16x8_t L2 = ConvertU8ToS16_NEON(vld1_dup_u8(dst + 2 * BPS - 1)); - const int16x8_t L3 = ConvertU8ToS16_NEON(vld1_dup_u8(dst + 3 * BPS - 1)); - const int16x8_t r0_lo = vaddq_s16(L0, d_lo); // L[r] + A[c] - A[-1] - const int16x8_t r1_lo = vaddq_s16(L1, d_lo); - const int16x8_t r2_lo = vaddq_s16(L2, d_lo); - const int16x8_t r3_lo = vaddq_s16(L3, d_lo); - const int16x8_t r0_hi = vaddq_s16(L0, d_hi); - const int16x8_t r1_hi = vaddq_s16(L1, d_hi); - const int16x8_t r2_hi = vaddq_s16(L2, d_hi); - const int16x8_t r3_hi = vaddq_s16(L3, d_hi); - // Saturate and store the result. - const uint8x16_t row0 = vcombine_u8(vqmovun_s16(r0_lo), vqmovun_s16(r0_hi)); - const uint8x16_t row1 = vcombine_u8(vqmovun_s16(r1_lo), vqmovun_s16(r1_hi)); - const uint8x16_t row2 = vcombine_u8(vqmovun_s16(r2_lo), vqmovun_s16(r2_hi)); - const uint8x16_t row3 = vcombine_u8(vqmovun_s16(r3_lo), vqmovun_s16(r3_hi)); - vst1q_u8(dst + 0 * BPS, row0); - vst1q_u8(dst + 1 * BPS, row1); - vst1q_u8(dst + 2 * BPS, row2); - vst1q_u8(dst + 3 * BPS, row3); - dst += 4 * BPS; - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8DspInitNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitNEON(void) { - VP8Transform = TransformTwo_NEON; - VP8TransformAC3 = TransformAC3_NEON; - VP8TransformDC = TransformDC_NEON; - VP8TransformWHT = TransformWHT_NEON; - - VP8VFilter16 = VFilter16_NEON; - VP8VFilter16i = VFilter16i_NEON; - VP8HFilter16 = HFilter16_NEON; -#if !defined(WORK_AROUND_GCC) - VP8HFilter16i = HFilter16i_NEON; -#endif - VP8VFilter8 = VFilter8_NEON; - VP8VFilter8i = VFilter8i_NEON; -#if !defined(WORK_AROUND_GCC) - VP8HFilter8 = HFilter8_NEON; - VP8HFilter8i = HFilter8i_NEON; -#endif - VP8SimpleVFilter16 = SimpleVFilter16_NEON; - VP8SimpleHFilter16 = SimpleHFilter16_NEON; - VP8SimpleVFilter16i = SimpleVFilter16i_NEON; - VP8SimpleHFilter16i = SimpleHFilter16i_NEON; - - VP8PredLuma4[0] = DC4_NEON; - VP8PredLuma4[1] = TM4_NEON; - VP8PredLuma4[2] = VE4_NEON; - VP8PredLuma4[4] = RD4_NEON; - VP8PredLuma4[6] = LD4_NEON; - - VP8PredLuma16[0] = DC16TopLeft_NEON; - VP8PredLuma16[1] = TM16_NEON; - VP8PredLuma16[2] = VE16_NEON; - VP8PredLuma16[3] = HE16_NEON; - VP8PredLuma16[4] = DC16NoTop_NEON; - VP8PredLuma16[5] = DC16NoLeft_NEON; - VP8PredLuma16[6] = DC16NoTopLeft_NEON; - - VP8PredChroma8[0] = DC8uv_NEON; - VP8PredChroma8[1] = TM8uv_NEON; - VP8PredChroma8[2] = VE8uv_NEON; - VP8PredChroma8[3] = HE8uv_NEON; - VP8PredChroma8[4] = DC8uvNoTop_NEON; - VP8PredChroma8[5] = DC8uvNoLeft_NEON; - VP8PredChroma8[6] = DC8uvNoTopLeft_NEON; -} - -#else // !WEBP_USE_NEON - -WEBP_DSP_INIT_STUB(VP8DspInitNEON) - -#endif // WEBP_USE_NEON diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_sse2.c deleted file mode 100644 index 873aa59e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_sse2.c +++ /dev/null @@ -1,1227 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE2 version of some decoding functions (idct, loop filtering). -// -// Author: somnath@google.com (Somnath Banerjee) -// cduvivier@google.com (Christian Duvivier) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE2) - -// The 3-coeff sparse transform in SSE2 is not really faster than the plain-C -// one it seems => disable it by default. Uncomment the following to enable: -#if !defined(USE_TRANSFORM_AC3) -#define USE_TRANSFORM_AC3 0 // ALTERNATE_CODE -#endif - -#include -#include "src/dsp/common_sse2.h" -#include "src/dec/vp8i_dec.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// Transforms (Paragraph 14.4) - -static void Transform_SSE2(const int16_t* in, uint8_t* dst, int do_two) { - // This implementation makes use of 16-bit fixed point versions of two - // multiply constants: - // K1 = sqrt(2) * cos (pi/8) ~= 85627 / 2^16 - // K2 = sqrt(2) * sin (pi/8) ~= 35468 / 2^16 - // - // To be able to use signed 16-bit integers, we use the following trick to - // have constants within range: - // - Associated constants are obtained by subtracting the 16-bit fixed point - // version of one: - // k = K - (1 << 16) => K = k + (1 << 16) - // K1 = 85267 => k1 = 20091 - // K2 = 35468 => k2 = -30068 - // - The multiplication of a variable by a constant become the sum of the - // variable and the multiplication of that variable by the associated - // constant: - // (x * K) >> 16 = (x * (k + (1 << 16))) >> 16 = ((x * k ) >> 16) + x - const __m128i k1 = _mm_set1_epi16(20091); - const __m128i k2 = _mm_set1_epi16(-30068); - __m128i T0, T1, T2, T3; - - // Load and concatenate the transform coefficients (we'll do two transforms - // in parallel). In the case of only one transform, the second half of the - // vectors will just contain random value we'll never use nor store. - __m128i in0, in1, in2, in3; - { - in0 = _mm_loadl_epi64((const __m128i*)&in[0]); - in1 = _mm_loadl_epi64((const __m128i*)&in[4]); - in2 = _mm_loadl_epi64((const __m128i*)&in[8]); - in3 = _mm_loadl_epi64((const __m128i*)&in[12]); - // a00 a10 a20 a30 x x x x - // a01 a11 a21 a31 x x x x - // a02 a12 a22 a32 x x x x - // a03 a13 a23 a33 x x x x - if (do_two) { - const __m128i inB0 = _mm_loadl_epi64((const __m128i*)&in[16]); - const __m128i inB1 = _mm_loadl_epi64((const __m128i*)&in[20]); - const __m128i inB2 = _mm_loadl_epi64((const __m128i*)&in[24]); - const __m128i inB3 = _mm_loadl_epi64((const __m128i*)&in[28]); - in0 = _mm_unpacklo_epi64(in0, inB0); - in1 = _mm_unpacklo_epi64(in1, inB1); - in2 = _mm_unpacklo_epi64(in2, inB2); - in3 = _mm_unpacklo_epi64(in3, inB3); - // a00 a10 a20 a30 b00 b10 b20 b30 - // a01 a11 a21 a31 b01 b11 b21 b31 - // a02 a12 a22 a32 b02 b12 b22 b32 - // a03 a13 a23 a33 b03 b13 b23 b33 - } - } - - // Vertical pass and subsequent transpose. - { - // First pass, c and d calculations are longer because of the "trick" - // multiplications. - const __m128i a = _mm_add_epi16(in0, in2); - const __m128i b = _mm_sub_epi16(in0, in2); - // c = MUL(in1, K2) - MUL(in3, K1) = MUL(in1, k2) - MUL(in3, k1) + in1 - in3 - const __m128i c1 = _mm_mulhi_epi16(in1, k2); - const __m128i c2 = _mm_mulhi_epi16(in3, k1); - const __m128i c3 = _mm_sub_epi16(in1, in3); - const __m128i c4 = _mm_sub_epi16(c1, c2); - const __m128i c = _mm_add_epi16(c3, c4); - // d = MUL(in1, K1) + MUL(in3, K2) = MUL(in1, k1) + MUL(in3, k2) + in1 + in3 - const __m128i d1 = _mm_mulhi_epi16(in1, k1); - const __m128i d2 = _mm_mulhi_epi16(in3, k2); - const __m128i d3 = _mm_add_epi16(in1, in3); - const __m128i d4 = _mm_add_epi16(d1, d2); - const __m128i d = _mm_add_epi16(d3, d4); - - // Second pass. - const __m128i tmp0 = _mm_add_epi16(a, d); - const __m128i tmp1 = _mm_add_epi16(b, c); - const __m128i tmp2 = _mm_sub_epi16(b, c); - const __m128i tmp3 = _mm_sub_epi16(a, d); - - // Transpose the two 4x4. - VP8Transpose_2_4x4_16b(&tmp0, &tmp1, &tmp2, &tmp3, &T0, &T1, &T2, &T3); - } - - // Horizontal pass and subsequent transpose. - { - // First pass, c and d calculations are longer because of the "trick" - // multiplications. - const __m128i four = _mm_set1_epi16(4); - const __m128i dc = _mm_add_epi16(T0, four); - const __m128i a = _mm_add_epi16(dc, T2); - const __m128i b = _mm_sub_epi16(dc, T2); - // c = MUL(T1, K2) - MUL(T3, K1) = MUL(T1, k2) - MUL(T3, k1) + T1 - T3 - const __m128i c1 = _mm_mulhi_epi16(T1, k2); - const __m128i c2 = _mm_mulhi_epi16(T3, k1); - const __m128i c3 = _mm_sub_epi16(T1, T3); - const __m128i c4 = _mm_sub_epi16(c1, c2); - const __m128i c = _mm_add_epi16(c3, c4); - // d = MUL(T1, K1) + MUL(T3, K2) = MUL(T1, k1) + MUL(T3, k2) + T1 + T3 - const __m128i d1 = _mm_mulhi_epi16(T1, k1); - const __m128i d2 = _mm_mulhi_epi16(T3, k2); - const __m128i d3 = _mm_add_epi16(T1, T3); - const __m128i d4 = _mm_add_epi16(d1, d2); - const __m128i d = _mm_add_epi16(d3, d4); - - // Second pass. - const __m128i tmp0 = _mm_add_epi16(a, d); - const __m128i tmp1 = _mm_add_epi16(b, c); - const __m128i tmp2 = _mm_sub_epi16(b, c); - const __m128i tmp3 = _mm_sub_epi16(a, d); - const __m128i shifted0 = _mm_srai_epi16(tmp0, 3); - const __m128i shifted1 = _mm_srai_epi16(tmp1, 3); - const __m128i shifted2 = _mm_srai_epi16(tmp2, 3); - const __m128i shifted3 = _mm_srai_epi16(tmp3, 3); - - // Transpose the two 4x4. - VP8Transpose_2_4x4_16b(&shifted0, &shifted1, &shifted2, &shifted3, &T0, &T1, - &T2, &T3); - } - - // Add inverse transform to 'dst' and store. - { - const __m128i zero = _mm_setzero_si128(); - // Load the reference(s). - __m128i dst0, dst1, dst2, dst3; - if (do_two) { - // Load eight bytes/pixels per line. - dst0 = _mm_loadl_epi64((__m128i*)(dst + 0 * BPS)); - dst1 = _mm_loadl_epi64((__m128i*)(dst + 1 * BPS)); - dst2 = _mm_loadl_epi64((__m128i*)(dst + 2 * BPS)); - dst3 = _mm_loadl_epi64((__m128i*)(dst + 3 * BPS)); - } else { - // Load four bytes/pixels per line. - dst0 = _mm_cvtsi32_si128(WebPMemToUint32(dst + 0 * BPS)); - dst1 = _mm_cvtsi32_si128(WebPMemToUint32(dst + 1 * BPS)); - dst2 = _mm_cvtsi32_si128(WebPMemToUint32(dst + 2 * BPS)); - dst3 = _mm_cvtsi32_si128(WebPMemToUint32(dst + 3 * BPS)); - } - // Convert to 16b. - dst0 = _mm_unpacklo_epi8(dst0, zero); - dst1 = _mm_unpacklo_epi8(dst1, zero); - dst2 = _mm_unpacklo_epi8(dst2, zero); - dst3 = _mm_unpacklo_epi8(dst3, zero); - // Add the inverse transform(s). - dst0 = _mm_add_epi16(dst0, T0); - dst1 = _mm_add_epi16(dst1, T1); - dst2 = _mm_add_epi16(dst2, T2); - dst3 = _mm_add_epi16(dst3, T3); - // Unsigned saturate to 8b. - dst0 = _mm_packus_epi16(dst0, dst0); - dst1 = _mm_packus_epi16(dst1, dst1); - dst2 = _mm_packus_epi16(dst2, dst2); - dst3 = _mm_packus_epi16(dst3, dst3); - // Store the results. - if (do_two) { - // Store eight bytes/pixels per line. - _mm_storel_epi64((__m128i*)(dst + 0 * BPS), dst0); - _mm_storel_epi64((__m128i*)(dst + 1 * BPS), dst1); - _mm_storel_epi64((__m128i*)(dst + 2 * BPS), dst2); - _mm_storel_epi64((__m128i*)(dst + 3 * BPS), dst3); - } else { - // Store four bytes/pixels per line. - WebPUint32ToMem(dst + 0 * BPS, _mm_cvtsi128_si32(dst0)); - WebPUint32ToMem(dst + 1 * BPS, _mm_cvtsi128_si32(dst1)); - WebPUint32ToMem(dst + 2 * BPS, _mm_cvtsi128_si32(dst2)); - WebPUint32ToMem(dst + 3 * BPS, _mm_cvtsi128_si32(dst3)); - } - } -} - -#if (USE_TRANSFORM_AC3 == 1) -#define MUL(a, b) (((a) * (b)) >> 16) -static void TransformAC3(const int16_t* in, uint8_t* dst) { - static const int kC1 = 20091 + (1 << 16); - static const int kC2 = 35468; - const __m128i A = _mm_set1_epi16(in[0] + 4); - const __m128i c4 = _mm_set1_epi16(MUL(in[4], kC2)); - const __m128i d4 = _mm_set1_epi16(MUL(in[4], kC1)); - const int c1 = MUL(in[1], kC2); - const int d1 = MUL(in[1], kC1); - const __m128i CD = _mm_set_epi16(0, 0, 0, 0, -d1, -c1, c1, d1); - const __m128i B = _mm_adds_epi16(A, CD); - const __m128i m0 = _mm_adds_epi16(B, d4); - const __m128i m1 = _mm_adds_epi16(B, c4); - const __m128i m2 = _mm_subs_epi16(B, c4); - const __m128i m3 = _mm_subs_epi16(B, d4); - const __m128i zero = _mm_setzero_si128(); - // Load the source pixels. - __m128i dst0 = _mm_cvtsi32_si128(WebPMemToUint32(dst + 0 * BPS)); - __m128i dst1 = _mm_cvtsi32_si128(WebPMemToUint32(dst + 1 * BPS)); - __m128i dst2 = _mm_cvtsi32_si128(WebPMemToUint32(dst + 2 * BPS)); - __m128i dst3 = _mm_cvtsi32_si128(WebPMemToUint32(dst + 3 * BPS)); - // Convert to 16b. - dst0 = _mm_unpacklo_epi8(dst0, zero); - dst1 = _mm_unpacklo_epi8(dst1, zero); - dst2 = _mm_unpacklo_epi8(dst2, zero); - dst3 = _mm_unpacklo_epi8(dst3, zero); - // Add the inverse transform. - dst0 = _mm_adds_epi16(dst0, _mm_srai_epi16(m0, 3)); - dst1 = _mm_adds_epi16(dst1, _mm_srai_epi16(m1, 3)); - dst2 = _mm_adds_epi16(dst2, _mm_srai_epi16(m2, 3)); - dst3 = _mm_adds_epi16(dst3, _mm_srai_epi16(m3, 3)); - // Unsigned saturate to 8b. - dst0 = _mm_packus_epi16(dst0, dst0); - dst1 = _mm_packus_epi16(dst1, dst1); - dst2 = _mm_packus_epi16(dst2, dst2); - dst3 = _mm_packus_epi16(dst3, dst3); - // Store the results. - WebPUint32ToMem(dst + 0 * BPS, _mm_cvtsi128_si32(dst0)); - WebPUint32ToMem(dst + 1 * BPS, _mm_cvtsi128_si32(dst1)); - WebPUint32ToMem(dst + 2 * BPS, _mm_cvtsi128_si32(dst2)); - WebPUint32ToMem(dst + 3 * BPS, _mm_cvtsi128_si32(dst3)); -} -#undef MUL -#endif // USE_TRANSFORM_AC3 - -//------------------------------------------------------------------------------ -// Loop Filter (Paragraph 15) - -// Compute abs(p - q) = subs(p - q) OR subs(q - p) -#define MM_ABS(p, q) _mm_or_si128( \ - _mm_subs_epu8((q), (p)), \ - _mm_subs_epu8((p), (q))) - -// Shift each byte of "x" by 3 bits while preserving by the sign bit. -static WEBP_INLINE void SignedShift8b_SSE2(__m128i* const x) { - const __m128i zero = _mm_setzero_si128(); - const __m128i lo_0 = _mm_unpacklo_epi8(zero, *x); - const __m128i hi_0 = _mm_unpackhi_epi8(zero, *x); - const __m128i lo_1 = _mm_srai_epi16(lo_0, 3 + 8); - const __m128i hi_1 = _mm_srai_epi16(hi_0, 3 + 8); - *x = _mm_packs_epi16(lo_1, hi_1); -} - -#define FLIP_SIGN_BIT2(a, b) { \ - (a) = _mm_xor_si128(a, sign_bit); \ - (b) = _mm_xor_si128(b, sign_bit); \ -} - -#define FLIP_SIGN_BIT4(a, b, c, d) { \ - FLIP_SIGN_BIT2(a, b); \ - FLIP_SIGN_BIT2(c, d); \ -} - -// input/output is uint8_t -static WEBP_INLINE void GetNotHEV_SSE2(const __m128i* const p1, - const __m128i* const p0, - const __m128i* const q0, - const __m128i* const q1, - int hev_thresh, __m128i* const not_hev) { - const __m128i zero = _mm_setzero_si128(); - const __m128i t_1 = MM_ABS(*p1, *p0); - const __m128i t_2 = MM_ABS(*q1, *q0); - - const __m128i h = _mm_set1_epi8(hev_thresh); - const __m128i t_max = _mm_max_epu8(t_1, t_2); - - const __m128i t_max_h = _mm_subs_epu8(t_max, h); - *not_hev = _mm_cmpeq_epi8(t_max_h, zero); // not_hev <= t1 && not_hev <= t2 -} - -// input pixels are int8_t -static WEBP_INLINE void GetBaseDelta_SSE2(const __m128i* const p1, - const __m128i* const p0, - const __m128i* const q0, - const __m128i* const q1, - __m128i* const delta) { - // beware of addition order, for saturation! - const __m128i p1_q1 = _mm_subs_epi8(*p1, *q1); // p1 - q1 - const __m128i q0_p0 = _mm_subs_epi8(*q0, *p0); // q0 - p0 - const __m128i s1 = _mm_adds_epi8(p1_q1, q0_p0); // p1 - q1 + 1 * (q0 - p0) - const __m128i s2 = _mm_adds_epi8(q0_p0, s1); // p1 - q1 + 2 * (q0 - p0) - const __m128i s3 = _mm_adds_epi8(q0_p0, s2); // p1 - q1 + 3 * (q0 - p0) - *delta = s3; -} - -// input and output are int8_t -static WEBP_INLINE void DoSimpleFilter_SSE2(__m128i* const p0, - __m128i* const q0, - const __m128i* const fl) { - const __m128i k3 = _mm_set1_epi8(3); - const __m128i k4 = _mm_set1_epi8(4); - __m128i v3 = _mm_adds_epi8(*fl, k3); - __m128i v4 = _mm_adds_epi8(*fl, k4); - - SignedShift8b_SSE2(&v4); // v4 >> 3 - SignedShift8b_SSE2(&v3); // v3 >> 3 - *q0 = _mm_subs_epi8(*q0, v4); // q0 -= v4 - *p0 = _mm_adds_epi8(*p0, v3); // p0 += v3 -} - -// Updates values of 2 pixels at MB edge during complex filtering. -// Update operations: -// q = q - delta and p = p + delta; where delta = [(a_hi >> 7), (a_lo >> 7)] -// Pixels 'pi' and 'qi' are int8_t on input, uint8_t on output (sign flip). -static WEBP_INLINE void Update2Pixels_SSE2(__m128i* const pi, __m128i* const qi, - const __m128i* const a0_lo, - const __m128i* const a0_hi) { - const __m128i a1_lo = _mm_srai_epi16(*a0_lo, 7); - const __m128i a1_hi = _mm_srai_epi16(*a0_hi, 7); - const __m128i delta = _mm_packs_epi16(a1_lo, a1_hi); - const __m128i sign_bit = _mm_set1_epi8((char)0x80); - *pi = _mm_adds_epi8(*pi, delta); - *qi = _mm_subs_epi8(*qi, delta); - FLIP_SIGN_BIT2(*pi, *qi); -} - -// input pixels are uint8_t -static WEBP_INLINE void NeedsFilter_SSE2(const __m128i* const p1, - const __m128i* const p0, - const __m128i* const q0, - const __m128i* const q1, - int thresh, __m128i* const mask) { - const __m128i m_thresh = _mm_set1_epi8((char)thresh); - const __m128i t1 = MM_ABS(*p1, *q1); // abs(p1 - q1) - const __m128i kFE = _mm_set1_epi8((char)0xFE); - const __m128i t2 = _mm_and_si128(t1, kFE); // set lsb of each byte to zero - const __m128i t3 = _mm_srli_epi16(t2, 1); // abs(p1 - q1) / 2 - - const __m128i t4 = MM_ABS(*p0, *q0); // abs(p0 - q0) - const __m128i t5 = _mm_adds_epu8(t4, t4); // abs(p0 - q0) * 2 - const __m128i t6 = _mm_adds_epu8(t5, t3); // abs(p0-q0)*2 + abs(p1-q1)/2 - - const __m128i t7 = _mm_subs_epu8(t6, m_thresh); // mask <= m_thresh - *mask = _mm_cmpeq_epi8(t7, _mm_setzero_si128()); -} - -//------------------------------------------------------------------------------ -// Edge filtering functions - -// Applies filter on 2 pixels (p0 and q0) -static WEBP_INLINE void DoFilter2_SSE2(__m128i* const p1, __m128i* const p0, - __m128i* const q0, __m128i* const q1, - int thresh) { - __m128i a, mask; - const __m128i sign_bit = _mm_set1_epi8((char)0x80); - // convert p1/q1 to int8_t (for GetBaseDelta_SSE2) - const __m128i p1s = _mm_xor_si128(*p1, sign_bit); - const __m128i q1s = _mm_xor_si128(*q1, sign_bit); - - NeedsFilter_SSE2(p1, p0, q0, q1, thresh, &mask); - - FLIP_SIGN_BIT2(*p0, *q0); - GetBaseDelta_SSE2(&p1s, p0, q0, &q1s, &a); - a = _mm_and_si128(a, mask); // mask filter values we don't care about - DoSimpleFilter_SSE2(p0, q0, &a); - FLIP_SIGN_BIT2(*p0, *q0); -} - -// Applies filter on 4 pixels (p1, p0, q0 and q1) -static WEBP_INLINE void DoFilter4_SSE2(__m128i* const p1, __m128i* const p0, - __m128i* const q0, __m128i* const q1, - const __m128i* const mask, - int hev_thresh) { - const __m128i zero = _mm_setzero_si128(); - const __m128i sign_bit = _mm_set1_epi8((char)0x80); - const __m128i k64 = _mm_set1_epi8(64); - const __m128i k3 = _mm_set1_epi8(3); - const __m128i k4 = _mm_set1_epi8(4); - __m128i not_hev; - __m128i t1, t2, t3; - - // compute hev mask - GetNotHEV_SSE2(p1, p0, q0, q1, hev_thresh, ¬_hev); - - // convert to signed values - FLIP_SIGN_BIT4(*p1, *p0, *q0, *q1); - - t1 = _mm_subs_epi8(*p1, *q1); // p1 - q1 - t1 = _mm_andnot_si128(not_hev, t1); // hev(p1 - q1) - t2 = _mm_subs_epi8(*q0, *p0); // q0 - p0 - t1 = _mm_adds_epi8(t1, t2); // hev(p1 - q1) + 1 * (q0 - p0) - t1 = _mm_adds_epi8(t1, t2); // hev(p1 - q1) + 2 * (q0 - p0) - t1 = _mm_adds_epi8(t1, t2); // hev(p1 - q1) + 3 * (q0 - p0) - t1 = _mm_and_si128(t1, *mask); // mask filter values we don't care about - - t2 = _mm_adds_epi8(t1, k3); // 3 * (q0 - p0) + hev(p1 - q1) + 3 - t3 = _mm_adds_epi8(t1, k4); // 3 * (q0 - p0) + hev(p1 - q1) + 4 - SignedShift8b_SSE2(&t2); // (3 * (q0 - p0) + hev(p1 - q1) + 3) >> 3 - SignedShift8b_SSE2(&t3); // (3 * (q0 - p0) + hev(p1 - q1) + 4) >> 3 - *p0 = _mm_adds_epi8(*p0, t2); // p0 += t2 - *q0 = _mm_subs_epi8(*q0, t3); // q0 -= t3 - FLIP_SIGN_BIT2(*p0, *q0); - - // this is equivalent to signed (a + 1) >> 1 calculation - t2 = _mm_add_epi8(t3, sign_bit); - t3 = _mm_avg_epu8(t2, zero); - t3 = _mm_sub_epi8(t3, k64); - - t3 = _mm_and_si128(not_hev, t3); // if !hev - *q1 = _mm_subs_epi8(*q1, t3); // q1 -= t3 - *p1 = _mm_adds_epi8(*p1, t3); // p1 += t3 - FLIP_SIGN_BIT2(*p1, *q1); -} - -// Applies filter on 6 pixels (p2, p1, p0, q0, q1 and q2) -static WEBP_INLINE void DoFilter6_SSE2(__m128i* const p2, __m128i* const p1, - __m128i* const p0, __m128i* const q0, - __m128i* const q1, __m128i* const q2, - const __m128i* const mask, - int hev_thresh) { - const __m128i zero = _mm_setzero_si128(); - const __m128i sign_bit = _mm_set1_epi8((char)0x80); - __m128i a, not_hev; - - // compute hev mask - GetNotHEV_SSE2(p1, p0, q0, q1, hev_thresh, ¬_hev); - - FLIP_SIGN_BIT4(*p1, *p0, *q0, *q1); - FLIP_SIGN_BIT2(*p2, *q2); - GetBaseDelta_SSE2(p1, p0, q0, q1, &a); - - { // do simple filter on pixels with hev - const __m128i m = _mm_andnot_si128(not_hev, *mask); - const __m128i f = _mm_and_si128(a, m); - DoSimpleFilter_SSE2(p0, q0, &f); - } - - { // do strong filter on pixels with not hev - const __m128i k9 = _mm_set1_epi16(0x0900); - const __m128i k63 = _mm_set1_epi16(63); - - const __m128i m = _mm_and_si128(not_hev, *mask); - const __m128i f = _mm_and_si128(a, m); - - const __m128i f_lo = _mm_unpacklo_epi8(zero, f); - const __m128i f_hi = _mm_unpackhi_epi8(zero, f); - - const __m128i f9_lo = _mm_mulhi_epi16(f_lo, k9); // Filter (lo) * 9 - const __m128i f9_hi = _mm_mulhi_epi16(f_hi, k9); // Filter (hi) * 9 - - const __m128i a2_lo = _mm_add_epi16(f9_lo, k63); // Filter * 9 + 63 - const __m128i a2_hi = _mm_add_epi16(f9_hi, k63); // Filter * 9 + 63 - - const __m128i a1_lo = _mm_add_epi16(a2_lo, f9_lo); // Filter * 18 + 63 - const __m128i a1_hi = _mm_add_epi16(a2_hi, f9_hi); // Filter * 18 + 63 - - const __m128i a0_lo = _mm_add_epi16(a1_lo, f9_lo); // Filter * 27 + 63 - const __m128i a0_hi = _mm_add_epi16(a1_hi, f9_hi); // Filter * 27 + 63 - - Update2Pixels_SSE2(p2, q2, &a2_lo, &a2_hi); - Update2Pixels_SSE2(p1, q1, &a1_lo, &a1_hi); - Update2Pixels_SSE2(p0, q0, &a0_lo, &a0_hi); - } -} - -// reads 8 rows across a vertical edge. -static WEBP_INLINE void Load8x4_SSE2(const uint8_t* const b, int stride, - __m128i* const p, __m128i* const q) { - // A0 = 63 62 61 60 23 22 21 20 43 42 41 40 03 02 01 00 - // A1 = 73 72 71 70 33 32 31 30 53 52 51 50 13 12 11 10 - const __m128i A0 = _mm_set_epi32( - WebPMemToUint32(&b[6 * stride]), WebPMemToUint32(&b[2 * stride]), - WebPMemToUint32(&b[4 * stride]), WebPMemToUint32(&b[0 * stride])); - const __m128i A1 = _mm_set_epi32( - WebPMemToUint32(&b[7 * stride]), WebPMemToUint32(&b[3 * stride]), - WebPMemToUint32(&b[5 * stride]), WebPMemToUint32(&b[1 * stride])); - - // B0 = 53 43 52 42 51 41 50 40 13 03 12 02 11 01 10 00 - // B1 = 73 63 72 62 71 61 70 60 33 23 32 22 31 21 30 20 - const __m128i B0 = _mm_unpacklo_epi8(A0, A1); - const __m128i B1 = _mm_unpackhi_epi8(A0, A1); - - // C0 = 33 23 13 03 32 22 12 02 31 21 11 01 30 20 10 00 - // C1 = 73 63 53 43 72 62 52 42 71 61 51 41 70 60 50 40 - const __m128i C0 = _mm_unpacklo_epi16(B0, B1); - const __m128i C1 = _mm_unpackhi_epi16(B0, B1); - - // *p = 71 61 51 41 31 21 11 01 70 60 50 40 30 20 10 00 - // *q = 73 63 53 43 33 23 13 03 72 62 52 42 32 22 12 02 - *p = _mm_unpacklo_epi32(C0, C1); - *q = _mm_unpackhi_epi32(C0, C1); -} - -static WEBP_INLINE void Load16x4_SSE2(const uint8_t* const r0, - const uint8_t* const r8, - int stride, - __m128i* const p1, __m128i* const p0, - __m128i* const q0, __m128i* const q1) { - // Assume the pixels around the edge (|) are numbered as follows - // 00 01 | 02 03 - // 10 11 | 12 13 - // ... | ... - // e0 e1 | e2 e3 - // f0 f1 | f2 f3 - // - // r0 is pointing to the 0th row (00) - // r8 is pointing to the 8th row (80) - - // Load - // p1 = 71 61 51 41 31 21 11 01 70 60 50 40 30 20 10 00 - // q0 = 73 63 53 43 33 23 13 03 72 62 52 42 32 22 12 02 - // p0 = f1 e1 d1 c1 b1 a1 91 81 f0 e0 d0 c0 b0 a0 90 80 - // q1 = f3 e3 d3 c3 b3 a3 93 83 f2 e2 d2 c2 b2 a2 92 82 - Load8x4_SSE2(r0, stride, p1, q0); - Load8x4_SSE2(r8, stride, p0, q1); - - { - // p1 = f0 e0 d0 c0 b0 a0 90 80 70 60 50 40 30 20 10 00 - // p0 = f1 e1 d1 c1 b1 a1 91 81 71 61 51 41 31 21 11 01 - // q0 = f2 e2 d2 c2 b2 a2 92 82 72 62 52 42 32 22 12 02 - // q1 = f3 e3 d3 c3 b3 a3 93 83 73 63 53 43 33 23 13 03 - const __m128i t1 = *p1; - const __m128i t2 = *q0; - *p1 = _mm_unpacklo_epi64(t1, *p0); - *p0 = _mm_unpackhi_epi64(t1, *p0); - *q0 = _mm_unpacklo_epi64(t2, *q1); - *q1 = _mm_unpackhi_epi64(t2, *q1); - } -} - -static WEBP_INLINE void Store4x4_SSE2(__m128i* const x, - uint8_t* dst, int stride) { - int i; - for (i = 0; i < 4; ++i, dst += stride) { - WebPUint32ToMem(dst, _mm_cvtsi128_si32(*x)); - *x = _mm_srli_si128(*x, 4); - } -} - -// Transpose back and store -static WEBP_INLINE void Store16x4_SSE2(const __m128i* const p1, - const __m128i* const p0, - const __m128i* const q0, - const __m128i* const q1, - uint8_t* r0, uint8_t* r8, - int stride) { - __m128i t1, p1_s, p0_s, q0_s, q1_s; - - // p0 = 71 70 61 60 51 50 41 40 31 30 21 20 11 10 01 00 - // p1 = f1 f0 e1 e0 d1 d0 c1 c0 b1 b0 a1 a0 91 90 81 80 - t1 = *p0; - p0_s = _mm_unpacklo_epi8(*p1, t1); - p1_s = _mm_unpackhi_epi8(*p1, t1); - - // q0 = 73 72 63 62 53 52 43 42 33 32 23 22 13 12 03 02 - // q1 = f3 f2 e3 e2 d3 d2 c3 c2 b3 b2 a3 a2 93 92 83 82 - t1 = *q0; - q0_s = _mm_unpacklo_epi8(t1, *q1); - q1_s = _mm_unpackhi_epi8(t1, *q1); - - // p0 = 33 32 31 30 23 22 21 20 13 12 11 10 03 02 01 00 - // q0 = 73 72 71 70 63 62 61 60 53 52 51 50 43 42 41 40 - t1 = p0_s; - p0_s = _mm_unpacklo_epi16(t1, q0_s); - q0_s = _mm_unpackhi_epi16(t1, q0_s); - - // p1 = b3 b2 b1 b0 a3 a2 a1 a0 93 92 91 90 83 82 81 80 - // q1 = f3 f2 f1 f0 e3 e2 e1 e0 d3 d2 d1 d0 c3 c2 c1 c0 - t1 = p1_s; - p1_s = _mm_unpacklo_epi16(t1, q1_s); - q1_s = _mm_unpackhi_epi16(t1, q1_s); - - Store4x4_SSE2(&p0_s, r0, stride); - r0 += 4 * stride; - Store4x4_SSE2(&q0_s, r0, stride); - - Store4x4_SSE2(&p1_s, r8, stride); - r8 += 4 * stride; - Store4x4_SSE2(&q1_s, r8, stride); -} - -//------------------------------------------------------------------------------ -// Simple In-loop filtering (Paragraph 15.2) - -static void SimpleVFilter16_SSE2(uint8_t* p, int stride, int thresh) { - // Load - __m128i p1 = _mm_loadu_si128((__m128i*)&p[-2 * stride]); - __m128i p0 = _mm_loadu_si128((__m128i*)&p[-stride]); - __m128i q0 = _mm_loadu_si128((__m128i*)&p[0]); - __m128i q1 = _mm_loadu_si128((__m128i*)&p[stride]); - - DoFilter2_SSE2(&p1, &p0, &q0, &q1, thresh); - - // Store - _mm_storeu_si128((__m128i*)&p[-stride], p0); - _mm_storeu_si128((__m128i*)&p[0], q0); -} - -static void SimpleHFilter16_SSE2(uint8_t* p, int stride, int thresh) { - __m128i p1, p0, q0, q1; - - p -= 2; // beginning of p1 - - Load16x4_SSE2(p, p + 8 * stride, stride, &p1, &p0, &q0, &q1); - DoFilter2_SSE2(&p1, &p0, &q0, &q1, thresh); - Store16x4_SSE2(&p1, &p0, &q0, &q1, p, p + 8 * stride, stride); -} - -static void SimpleVFilter16i_SSE2(uint8_t* p, int stride, int thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4 * stride; - SimpleVFilter16_SSE2(p, stride, thresh); - } -} - -static void SimpleHFilter16i_SSE2(uint8_t* p, int stride, int thresh) { - int k; - for (k = 3; k > 0; --k) { - p += 4; - SimpleHFilter16_SSE2(p, stride, thresh); - } -} - -//------------------------------------------------------------------------------ -// Complex In-loop filtering (Paragraph 15.3) - -#define MAX_DIFF1(p3, p2, p1, p0, m) do { \ - (m) = MM_ABS(p1, p0); \ - (m) = _mm_max_epu8(m, MM_ABS(p3, p2)); \ - (m) = _mm_max_epu8(m, MM_ABS(p2, p1)); \ -} while (0) - -#define MAX_DIFF2(p3, p2, p1, p0, m) do { \ - (m) = _mm_max_epu8(m, MM_ABS(p1, p0)); \ - (m) = _mm_max_epu8(m, MM_ABS(p3, p2)); \ - (m) = _mm_max_epu8(m, MM_ABS(p2, p1)); \ -} while (0) - -#define LOAD_H_EDGES4(p, stride, e1, e2, e3, e4) { \ - (e1) = _mm_loadu_si128((__m128i*)&(p)[0 * (stride)]); \ - (e2) = _mm_loadu_si128((__m128i*)&(p)[1 * (stride)]); \ - (e3) = _mm_loadu_si128((__m128i*)&(p)[2 * (stride)]); \ - (e4) = _mm_loadu_si128((__m128i*)&(p)[3 * (stride)]); \ -} - -#define LOADUV_H_EDGE(p, u, v, stride) do { \ - const __m128i U = _mm_loadl_epi64((__m128i*)&(u)[(stride)]); \ - const __m128i V = _mm_loadl_epi64((__m128i*)&(v)[(stride)]); \ - (p) = _mm_unpacklo_epi64(U, V); \ -} while (0) - -#define LOADUV_H_EDGES4(u, v, stride, e1, e2, e3, e4) { \ - LOADUV_H_EDGE(e1, u, v, 0 * (stride)); \ - LOADUV_H_EDGE(e2, u, v, 1 * (stride)); \ - LOADUV_H_EDGE(e3, u, v, 2 * (stride)); \ - LOADUV_H_EDGE(e4, u, v, 3 * (stride)); \ -} - -#define STOREUV(p, u, v, stride) { \ - _mm_storel_epi64((__m128i*)&(u)[(stride)], p); \ - (p) = _mm_srli_si128(p, 8); \ - _mm_storel_epi64((__m128i*)&(v)[(stride)], p); \ -} - -static WEBP_INLINE void ComplexMask_SSE2(const __m128i* const p1, - const __m128i* const p0, - const __m128i* const q0, - const __m128i* const q1, - int thresh, int ithresh, - __m128i* const mask) { - const __m128i it = _mm_set1_epi8(ithresh); - const __m128i diff = _mm_subs_epu8(*mask, it); - const __m128i thresh_mask = _mm_cmpeq_epi8(diff, _mm_setzero_si128()); - __m128i filter_mask; - NeedsFilter_SSE2(p1, p0, q0, q1, thresh, &filter_mask); - *mask = _mm_and_si128(thresh_mask, filter_mask); -} - -// on macroblock edges -static void VFilter16_SSE2(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - __m128i t1; - __m128i mask; - __m128i p2, p1, p0, q0, q1, q2; - - // Load p3, p2, p1, p0 - LOAD_H_EDGES4(p - 4 * stride, stride, t1, p2, p1, p0); - MAX_DIFF1(t1, p2, p1, p0, mask); - - // Load q0, q1, q2, q3 - LOAD_H_EDGES4(p, stride, q0, q1, q2, t1); - MAX_DIFF2(t1, q2, q1, q0, mask); - - ComplexMask_SSE2(&p1, &p0, &q0, &q1, thresh, ithresh, &mask); - DoFilter6_SSE2(&p2, &p1, &p0, &q0, &q1, &q2, &mask, hev_thresh); - - // Store - _mm_storeu_si128((__m128i*)&p[-3 * stride], p2); - _mm_storeu_si128((__m128i*)&p[-2 * stride], p1); - _mm_storeu_si128((__m128i*)&p[-1 * stride], p0); - _mm_storeu_si128((__m128i*)&p[+0 * stride], q0); - _mm_storeu_si128((__m128i*)&p[+1 * stride], q1); - _mm_storeu_si128((__m128i*)&p[+2 * stride], q2); -} - -static void HFilter16_SSE2(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - __m128i mask; - __m128i p3, p2, p1, p0, q0, q1, q2, q3; - - uint8_t* const b = p - 4; - Load16x4_SSE2(b, b + 8 * stride, stride, &p3, &p2, &p1, &p0); - MAX_DIFF1(p3, p2, p1, p0, mask); - - Load16x4_SSE2(p, p + 8 * stride, stride, &q0, &q1, &q2, &q3); - MAX_DIFF2(q3, q2, q1, q0, mask); - - ComplexMask_SSE2(&p1, &p0, &q0, &q1, thresh, ithresh, &mask); - DoFilter6_SSE2(&p2, &p1, &p0, &q0, &q1, &q2, &mask, hev_thresh); - - Store16x4_SSE2(&p3, &p2, &p1, &p0, b, b + 8 * stride, stride); - Store16x4_SSE2(&q0, &q1, &q2, &q3, p, p + 8 * stride, stride); -} - -// on three inner edges -static void VFilter16i_SSE2(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - int k; - __m128i p3, p2, p1, p0; // loop invariants - - LOAD_H_EDGES4(p, stride, p3, p2, p1, p0); // prologue - - for (k = 3; k > 0; --k) { - __m128i mask, tmp1, tmp2; - uint8_t* const b = p + 2 * stride; // beginning of p1 - p += 4 * stride; - - MAX_DIFF1(p3, p2, p1, p0, mask); // compute partial mask - LOAD_H_EDGES4(p, stride, p3, p2, tmp1, tmp2); - MAX_DIFF2(p3, p2, tmp1, tmp2, mask); - - // p3 and p2 are not just temporary variables here: they will be - // re-used for next span. And q2/q3 will become p1/p0 accordingly. - ComplexMask_SSE2(&p1, &p0, &p3, &p2, thresh, ithresh, &mask); - DoFilter4_SSE2(&p1, &p0, &p3, &p2, &mask, hev_thresh); - - // Store - _mm_storeu_si128((__m128i*)&b[0 * stride], p1); - _mm_storeu_si128((__m128i*)&b[1 * stride], p0); - _mm_storeu_si128((__m128i*)&b[2 * stride], p3); - _mm_storeu_si128((__m128i*)&b[3 * stride], p2); - - // rotate samples - p1 = tmp1; - p0 = tmp2; - } -} - -static void HFilter16i_SSE2(uint8_t* p, int stride, - int thresh, int ithresh, int hev_thresh) { - int k; - __m128i p3, p2, p1, p0; // loop invariants - - Load16x4_SSE2(p, p + 8 * stride, stride, &p3, &p2, &p1, &p0); // prologue - - for (k = 3; k > 0; --k) { - __m128i mask, tmp1, tmp2; - uint8_t* const b = p + 2; // beginning of p1 - - p += 4; // beginning of q0 (and next span) - - MAX_DIFF1(p3, p2, p1, p0, mask); // compute partial mask - Load16x4_SSE2(p, p + 8 * stride, stride, &p3, &p2, &tmp1, &tmp2); - MAX_DIFF2(p3, p2, tmp1, tmp2, mask); - - ComplexMask_SSE2(&p1, &p0, &p3, &p2, thresh, ithresh, &mask); - DoFilter4_SSE2(&p1, &p0, &p3, &p2, &mask, hev_thresh); - - Store16x4_SSE2(&p1, &p0, &p3, &p2, b, b + 8 * stride, stride); - - // rotate samples - p1 = tmp1; - p0 = tmp2; - } -} - -// 8-pixels wide variant, for chroma filtering -static void VFilter8_SSE2(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - __m128i mask; - __m128i t1, p2, p1, p0, q0, q1, q2; - - // Load p3, p2, p1, p0 - LOADUV_H_EDGES4(u - 4 * stride, v - 4 * stride, stride, t1, p2, p1, p0); - MAX_DIFF1(t1, p2, p1, p0, mask); - - // Load q0, q1, q2, q3 - LOADUV_H_EDGES4(u, v, stride, q0, q1, q2, t1); - MAX_DIFF2(t1, q2, q1, q0, mask); - - ComplexMask_SSE2(&p1, &p0, &q0, &q1, thresh, ithresh, &mask); - DoFilter6_SSE2(&p2, &p1, &p0, &q0, &q1, &q2, &mask, hev_thresh); - - // Store - STOREUV(p2, u, v, -3 * stride); - STOREUV(p1, u, v, -2 * stride); - STOREUV(p0, u, v, -1 * stride); - STOREUV(q0, u, v, 0 * stride); - STOREUV(q1, u, v, 1 * stride); - STOREUV(q2, u, v, 2 * stride); -} - -static void HFilter8_SSE2(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - __m128i mask; - __m128i p3, p2, p1, p0, q0, q1, q2, q3; - - uint8_t* const tu = u - 4; - uint8_t* const tv = v - 4; - Load16x4_SSE2(tu, tv, stride, &p3, &p2, &p1, &p0); - MAX_DIFF1(p3, p2, p1, p0, mask); - - Load16x4_SSE2(u, v, stride, &q0, &q1, &q2, &q3); - MAX_DIFF2(q3, q2, q1, q0, mask); - - ComplexMask_SSE2(&p1, &p0, &q0, &q1, thresh, ithresh, &mask); - DoFilter6_SSE2(&p2, &p1, &p0, &q0, &q1, &q2, &mask, hev_thresh); - - Store16x4_SSE2(&p3, &p2, &p1, &p0, tu, tv, stride); - Store16x4_SSE2(&q0, &q1, &q2, &q3, u, v, stride); -} - -static void VFilter8i_SSE2(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - __m128i mask; - __m128i t1, t2, p1, p0, q0, q1; - - // Load p3, p2, p1, p0 - LOADUV_H_EDGES4(u, v, stride, t2, t1, p1, p0); - MAX_DIFF1(t2, t1, p1, p0, mask); - - u += 4 * stride; - v += 4 * stride; - - // Load q0, q1, q2, q3 - LOADUV_H_EDGES4(u, v, stride, q0, q1, t1, t2); - MAX_DIFF2(t2, t1, q1, q0, mask); - - ComplexMask_SSE2(&p1, &p0, &q0, &q1, thresh, ithresh, &mask); - DoFilter4_SSE2(&p1, &p0, &q0, &q1, &mask, hev_thresh); - - // Store - STOREUV(p1, u, v, -2 * stride); - STOREUV(p0, u, v, -1 * stride); - STOREUV(q0, u, v, 0 * stride); - STOREUV(q1, u, v, 1 * stride); -} - -static void HFilter8i_SSE2(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_thresh) { - __m128i mask; - __m128i t1, t2, p1, p0, q0, q1; - Load16x4_SSE2(u, v, stride, &t2, &t1, &p1, &p0); // p3, p2, p1, p0 - MAX_DIFF1(t2, t1, p1, p0, mask); - - u += 4; // beginning of q0 - v += 4; - Load16x4_SSE2(u, v, stride, &q0, &q1, &t1, &t2); // q0, q1, q2, q3 - MAX_DIFF2(t2, t1, q1, q0, mask); - - ComplexMask_SSE2(&p1, &p0, &q0, &q1, thresh, ithresh, &mask); - DoFilter4_SSE2(&p1, &p0, &q0, &q1, &mask, hev_thresh); - - u -= 2; // beginning of p1 - v -= 2; - Store16x4_SSE2(&p1, &p0, &q0, &q1, u, v, stride); -} - -//------------------------------------------------------------------------------ -// 4x4 predictions - -#define DST(x, y) dst[(x) + (y) * BPS] -#define AVG3(a, b, c) (((a) + 2 * (b) + (c) + 2) >> 2) - -// We use the following 8b-arithmetic tricks: -// (a + 2 * b + c + 2) >> 2 = (AC + b + 1) >> 1 -// where: AC = (a + c) >> 1 = [(a + c + 1) >> 1] - [(a^c) & 1] -// and: -// (a + 2 * b + c + 2) >> 2 = (AB + BC + 1) >> 1 - (ab|bc)&lsb -// where: AC = (a + b + 1) >> 1, BC = (b + c + 1) >> 1 -// and ab = a ^ b, bc = b ^ c, lsb = (AC^BC)&1 - -static void VE4_SSE2(uint8_t* dst) { // vertical - const __m128i one = _mm_set1_epi8(1); - const __m128i ABCDEFGH = _mm_loadl_epi64((__m128i*)(dst - BPS - 1)); - const __m128i BCDEFGH0 = _mm_srli_si128(ABCDEFGH, 1); - const __m128i CDEFGH00 = _mm_srli_si128(ABCDEFGH, 2); - const __m128i a = _mm_avg_epu8(ABCDEFGH, CDEFGH00); - const __m128i lsb = _mm_and_si128(_mm_xor_si128(ABCDEFGH, CDEFGH00), one); - const __m128i b = _mm_subs_epu8(a, lsb); - const __m128i avg = _mm_avg_epu8(b, BCDEFGH0); - const uint32_t vals = _mm_cvtsi128_si32(avg); - int i; - for (i = 0; i < 4; ++i) { - WebPUint32ToMem(dst + i * BPS, vals); - } -} - -static void LD4_SSE2(uint8_t* dst) { // Down-Left - const __m128i one = _mm_set1_epi8(1); - const __m128i ABCDEFGH = _mm_loadl_epi64((__m128i*)(dst - BPS)); - const __m128i BCDEFGH0 = _mm_srli_si128(ABCDEFGH, 1); - const __m128i CDEFGH00 = _mm_srli_si128(ABCDEFGH, 2); - const __m128i CDEFGHH0 = _mm_insert_epi16(CDEFGH00, dst[-BPS + 7], 3); - const __m128i avg1 = _mm_avg_epu8(ABCDEFGH, CDEFGHH0); - const __m128i lsb = _mm_and_si128(_mm_xor_si128(ABCDEFGH, CDEFGHH0), one); - const __m128i avg2 = _mm_subs_epu8(avg1, lsb); - const __m128i abcdefg = _mm_avg_epu8(avg2, BCDEFGH0); - WebPUint32ToMem(dst + 0 * BPS, _mm_cvtsi128_si32( abcdefg )); - WebPUint32ToMem(dst + 1 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 1))); - WebPUint32ToMem(dst + 2 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 2))); - WebPUint32ToMem(dst + 3 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 3))); -} - -static void VR4_SSE2(uint8_t* dst) { // Vertical-Right - const __m128i one = _mm_set1_epi8(1); - const int I = dst[-1 + 0 * BPS]; - const int J = dst[-1 + 1 * BPS]; - const int K = dst[-1 + 2 * BPS]; - const int X = dst[-1 - BPS]; - const __m128i XABCD = _mm_loadl_epi64((__m128i*)(dst - BPS - 1)); - const __m128i ABCD0 = _mm_srli_si128(XABCD, 1); - const __m128i abcd = _mm_avg_epu8(XABCD, ABCD0); - const __m128i _XABCD = _mm_slli_si128(XABCD, 1); - const __m128i IXABCD = _mm_insert_epi16(_XABCD, (short)(I | (X << 8)), 0); - const __m128i avg1 = _mm_avg_epu8(IXABCD, ABCD0); - const __m128i lsb = _mm_and_si128(_mm_xor_si128(IXABCD, ABCD0), one); - const __m128i avg2 = _mm_subs_epu8(avg1, lsb); - const __m128i efgh = _mm_avg_epu8(avg2, XABCD); - WebPUint32ToMem(dst + 0 * BPS, _mm_cvtsi128_si32( abcd )); - WebPUint32ToMem(dst + 1 * BPS, _mm_cvtsi128_si32( efgh )); - WebPUint32ToMem(dst + 2 * BPS, _mm_cvtsi128_si32(_mm_slli_si128(abcd, 1))); - WebPUint32ToMem(dst + 3 * BPS, _mm_cvtsi128_si32(_mm_slli_si128(efgh, 1))); - - // these two are hard to implement in SSE2, so we keep the C-version: - DST(0, 2) = AVG3(J, I, X); - DST(0, 3) = AVG3(K, J, I); -} - -static void VL4_SSE2(uint8_t* dst) { // Vertical-Left - const __m128i one = _mm_set1_epi8(1); - const __m128i ABCDEFGH = _mm_loadl_epi64((__m128i*)(dst - BPS)); - const __m128i BCDEFGH_ = _mm_srli_si128(ABCDEFGH, 1); - const __m128i CDEFGH__ = _mm_srli_si128(ABCDEFGH, 2); - const __m128i avg1 = _mm_avg_epu8(ABCDEFGH, BCDEFGH_); - const __m128i avg2 = _mm_avg_epu8(CDEFGH__, BCDEFGH_); - const __m128i avg3 = _mm_avg_epu8(avg1, avg2); - const __m128i lsb1 = _mm_and_si128(_mm_xor_si128(avg1, avg2), one); - const __m128i ab = _mm_xor_si128(ABCDEFGH, BCDEFGH_); - const __m128i bc = _mm_xor_si128(CDEFGH__, BCDEFGH_); - const __m128i abbc = _mm_or_si128(ab, bc); - const __m128i lsb2 = _mm_and_si128(abbc, lsb1); - const __m128i avg4 = _mm_subs_epu8(avg3, lsb2); - const uint32_t extra_out = _mm_cvtsi128_si32(_mm_srli_si128(avg4, 4)); - WebPUint32ToMem(dst + 0 * BPS, _mm_cvtsi128_si32( avg1 )); - WebPUint32ToMem(dst + 1 * BPS, _mm_cvtsi128_si32( avg4 )); - WebPUint32ToMem(dst + 2 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(avg1, 1))); - WebPUint32ToMem(dst + 3 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(avg4, 1))); - - // these two are hard to get and irregular - DST(3, 2) = (extra_out >> 0) & 0xff; - DST(3, 3) = (extra_out >> 8) & 0xff; -} - -static void RD4_SSE2(uint8_t* dst) { // Down-right - const __m128i one = _mm_set1_epi8(1); - const __m128i XABCD = _mm_loadl_epi64((__m128i*)(dst - BPS - 1)); - const __m128i ____XABCD = _mm_slli_si128(XABCD, 4); - const uint32_t I = dst[-1 + 0 * BPS]; - const uint32_t J = dst[-1 + 1 * BPS]; - const uint32_t K = dst[-1 + 2 * BPS]; - const uint32_t L = dst[-1 + 3 * BPS]; - const __m128i LKJI_____ = - _mm_cvtsi32_si128(L | (K << 8) | (J << 16) | (I << 24)); - const __m128i LKJIXABCD = _mm_or_si128(LKJI_____, ____XABCD); - const __m128i KJIXABCD_ = _mm_srli_si128(LKJIXABCD, 1); - const __m128i JIXABCD__ = _mm_srli_si128(LKJIXABCD, 2); - const __m128i avg1 = _mm_avg_epu8(JIXABCD__, LKJIXABCD); - const __m128i lsb = _mm_and_si128(_mm_xor_si128(JIXABCD__, LKJIXABCD), one); - const __m128i avg2 = _mm_subs_epu8(avg1, lsb); - const __m128i abcdefg = _mm_avg_epu8(avg2, KJIXABCD_); - WebPUint32ToMem(dst + 3 * BPS, _mm_cvtsi128_si32( abcdefg )); - WebPUint32ToMem(dst + 2 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 1))); - WebPUint32ToMem(dst + 1 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 2))); - WebPUint32ToMem(dst + 0 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 3))); -} - -#undef DST -#undef AVG3 - -//------------------------------------------------------------------------------ -// Luma 16x16 - -static WEBP_INLINE void TrueMotion_SSE2(uint8_t* dst, int size) { - const uint8_t* top = dst - BPS; - const __m128i zero = _mm_setzero_si128(); - int y; - if (size == 4) { - const __m128i top_values = _mm_cvtsi32_si128(WebPMemToUint32(top)); - const __m128i top_base = _mm_unpacklo_epi8(top_values, zero); - for (y = 0; y < 4; ++y, dst += BPS) { - const int val = dst[-1] - top[-1]; - const __m128i base = _mm_set1_epi16(val); - const __m128i out = _mm_packus_epi16(_mm_add_epi16(base, top_base), zero); - WebPUint32ToMem(dst, _mm_cvtsi128_si32(out)); - } - } else if (size == 8) { - const __m128i top_values = _mm_loadl_epi64((const __m128i*)top); - const __m128i top_base = _mm_unpacklo_epi8(top_values, zero); - for (y = 0; y < 8; ++y, dst += BPS) { - const int val = dst[-1] - top[-1]; - const __m128i base = _mm_set1_epi16(val); - const __m128i out = _mm_packus_epi16(_mm_add_epi16(base, top_base), zero); - _mm_storel_epi64((__m128i*)dst, out); - } - } else { - const __m128i top_values = _mm_loadu_si128((const __m128i*)top); - const __m128i top_base_0 = _mm_unpacklo_epi8(top_values, zero); - const __m128i top_base_1 = _mm_unpackhi_epi8(top_values, zero); - for (y = 0; y < 16; ++y, dst += BPS) { - const int val = dst[-1] - top[-1]; - const __m128i base = _mm_set1_epi16(val); - const __m128i out_0 = _mm_add_epi16(base, top_base_0); - const __m128i out_1 = _mm_add_epi16(base, top_base_1); - const __m128i out = _mm_packus_epi16(out_0, out_1); - _mm_storeu_si128((__m128i*)dst, out); - } - } -} - -static void TM4_SSE2(uint8_t* dst) { TrueMotion_SSE2(dst, 4); } -static void TM8uv_SSE2(uint8_t* dst) { TrueMotion_SSE2(dst, 8); } -static void TM16_SSE2(uint8_t* dst) { TrueMotion_SSE2(dst, 16); } - -static void VE16_SSE2(uint8_t* dst) { - const __m128i top = _mm_loadu_si128((const __m128i*)(dst - BPS)); - int j; - for (j = 0; j < 16; ++j) { - _mm_storeu_si128((__m128i*)(dst + j * BPS), top); - } -} - -static void HE16_SSE2(uint8_t* dst) { // horizontal - int j; - for (j = 16; j > 0; --j) { - const __m128i values = _mm_set1_epi8(dst[-1]); - _mm_storeu_si128((__m128i*)dst, values); - dst += BPS; - } -} - -static WEBP_INLINE void Put16_SSE2(uint8_t v, uint8_t* dst) { - int j; - const __m128i values = _mm_set1_epi8(v); - for (j = 0; j < 16; ++j) { - _mm_storeu_si128((__m128i*)(dst + j * BPS), values); - } -} - -static void DC16_SSE2(uint8_t* dst) { // DC - const __m128i zero = _mm_setzero_si128(); - const __m128i top = _mm_loadu_si128((const __m128i*)(dst - BPS)); - const __m128i sad8x2 = _mm_sad_epu8(top, zero); - // sum the two sads: sad8x2[0:1] + sad8x2[8:9] - const __m128i sum = _mm_add_epi16(sad8x2, _mm_shuffle_epi32(sad8x2, 2)); - int left = 0; - int j; - for (j = 0; j < 16; ++j) { - left += dst[-1 + j * BPS]; - } - { - const int DC = _mm_cvtsi128_si32(sum) + left + 16; - Put16_SSE2(DC >> 5, dst); - } -} - -static void DC16NoTop_SSE2(uint8_t* dst) { // DC with top samples unavailable - int DC = 8; - int j; - for (j = 0; j < 16; ++j) { - DC += dst[-1 + j * BPS]; - } - Put16_SSE2(DC >> 4, dst); -} - -static void DC16NoLeft_SSE2(uint8_t* dst) { // DC with left samples unavailable - const __m128i zero = _mm_setzero_si128(); - const __m128i top = _mm_loadu_si128((const __m128i*)(dst - BPS)); - const __m128i sad8x2 = _mm_sad_epu8(top, zero); - // sum the two sads: sad8x2[0:1] + sad8x2[8:9] - const __m128i sum = _mm_add_epi16(sad8x2, _mm_shuffle_epi32(sad8x2, 2)); - const int DC = _mm_cvtsi128_si32(sum) + 8; - Put16_SSE2(DC >> 4, dst); -} - -static void DC16NoTopLeft_SSE2(uint8_t* dst) { // DC with no top & left samples - Put16_SSE2(0x80, dst); -} - -//------------------------------------------------------------------------------ -// Chroma - -static void VE8uv_SSE2(uint8_t* dst) { // vertical - int j; - const __m128i top = _mm_loadl_epi64((const __m128i*)(dst - BPS)); - for (j = 0; j < 8; ++j) { - _mm_storel_epi64((__m128i*)(dst + j * BPS), top); - } -} - -// helper for chroma-DC predictions -static WEBP_INLINE void Put8x8uv_SSE2(uint8_t v, uint8_t* dst) { - int j; - const __m128i values = _mm_set1_epi8(v); - for (j = 0; j < 8; ++j) { - _mm_storel_epi64((__m128i*)(dst + j * BPS), values); - } -} - -static void DC8uv_SSE2(uint8_t* dst) { // DC - const __m128i zero = _mm_setzero_si128(); - const __m128i top = _mm_loadl_epi64((const __m128i*)(dst - BPS)); - const __m128i sum = _mm_sad_epu8(top, zero); - int left = 0; - int j; - for (j = 0; j < 8; ++j) { - left += dst[-1 + j * BPS]; - } - { - const int DC = _mm_cvtsi128_si32(sum) + left + 8; - Put8x8uv_SSE2(DC >> 4, dst); - } -} - -static void DC8uvNoLeft_SSE2(uint8_t* dst) { // DC with no left samples - const __m128i zero = _mm_setzero_si128(); - const __m128i top = _mm_loadl_epi64((const __m128i*)(dst - BPS)); - const __m128i sum = _mm_sad_epu8(top, zero); - const int DC = _mm_cvtsi128_si32(sum) + 4; - Put8x8uv_SSE2(DC >> 3, dst); -} - -static void DC8uvNoTop_SSE2(uint8_t* dst) { // DC with no top samples - int dc0 = 4; - int i; - for (i = 0; i < 8; ++i) { - dc0 += dst[-1 + i * BPS]; - } - Put8x8uv_SSE2(dc0 >> 3, dst); -} - -static void DC8uvNoTopLeft_SSE2(uint8_t* dst) { // DC with nothing - Put8x8uv_SSE2(0x80, dst); -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8DspInitSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitSSE2(void) { - VP8Transform = Transform_SSE2; -#if (USE_TRANSFORM_AC3 == 1) - VP8TransformAC3 = TransformAC3_SSE2; -#endif - - VP8VFilter16 = VFilter16_SSE2; - VP8HFilter16 = HFilter16_SSE2; - VP8VFilter8 = VFilter8_SSE2; - VP8HFilter8 = HFilter8_SSE2; - VP8VFilter16i = VFilter16i_SSE2; - VP8HFilter16i = HFilter16i_SSE2; - VP8VFilter8i = VFilter8i_SSE2; - VP8HFilter8i = HFilter8i_SSE2; - - VP8SimpleVFilter16 = SimpleVFilter16_SSE2; - VP8SimpleHFilter16 = SimpleHFilter16_SSE2; - VP8SimpleVFilter16i = SimpleVFilter16i_SSE2; - VP8SimpleHFilter16i = SimpleHFilter16i_SSE2; - - VP8PredLuma4[1] = TM4_SSE2; - VP8PredLuma4[2] = VE4_SSE2; - VP8PredLuma4[4] = RD4_SSE2; - VP8PredLuma4[5] = VR4_SSE2; - VP8PredLuma4[6] = LD4_SSE2; - VP8PredLuma4[7] = VL4_SSE2; - - VP8PredLuma16[0] = DC16_SSE2; - VP8PredLuma16[1] = TM16_SSE2; - VP8PredLuma16[2] = VE16_SSE2; - VP8PredLuma16[3] = HE16_SSE2; - VP8PredLuma16[4] = DC16NoTop_SSE2; - VP8PredLuma16[5] = DC16NoLeft_SSE2; - VP8PredLuma16[6] = DC16NoTopLeft_SSE2; - - VP8PredChroma8[0] = DC8uv_SSE2; - VP8PredChroma8[1] = TM8uv_SSE2; - VP8PredChroma8[2] = VE8uv_SSE2; - VP8PredChroma8[4] = DC8uvNoTop_SSE2; - VP8PredChroma8[5] = DC8uvNoLeft_SSE2; - VP8PredChroma8[6] = DC8uvNoTopLeft_SSE2; -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(VP8DspInitSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_sse41.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_sse41.c deleted file mode 100644 index 8f18506d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dec_sse41.c +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE4 version of some decoding functions. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE41) - -#include -#include "src/dec/vp8i_dec.h" -#include "src/utils/utils.h" - -static void HE16_SSE41(uint8_t* dst) { // horizontal - int j; - const __m128i kShuffle3 = _mm_set1_epi8(3); - for (j = 16; j > 0; --j) { - const __m128i in = _mm_cvtsi32_si128(WebPMemToUint32(dst - 4)); - const __m128i values = _mm_shuffle_epi8(in, kShuffle3); - _mm_storeu_si128((__m128i*)dst, values); - dst += BPS; - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8DspInitSSE41(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitSSE41(void) { - VP8PredLuma16[3] = HE16_SSE41; -} - -#else // !WEBP_USE_SSE41 - -WEBP_DSP_INIT_STUB(VP8DspInitSSE41) - -#endif // WEBP_USE_SSE41 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dsp.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dsp.h deleted file mode 100644 index a784de33..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/dsp.h +++ /dev/null @@ -1,678 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Speed-critical functions. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_DSP_DSP_H_ -#define WEBP_DSP_DSP_H_ - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define BPS 32 // this is the common stride for enc/dec - -//------------------------------------------------------------------------------ -// CPU detection - -#if defined(__GNUC__) -# define LOCAL_GCC_VERSION ((__GNUC__ << 8) | __GNUC_MINOR__) -# define LOCAL_GCC_PREREQ(maj, min) \ - (LOCAL_GCC_VERSION >= (((maj) << 8) | (min))) -#else -# define LOCAL_GCC_VERSION 0 -# define LOCAL_GCC_PREREQ(maj, min) 0 -#endif - -#if defined(__clang__) -# define LOCAL_CLANG_VERSION ((__clang_major__ << 8) | __clang_minor__) -# define LOCAL_CLANG_PREREQ(maj, min) \ - (LOCAL_CLANG_VERSION >= (((maj) << 8) | (min))) -#else -# define LOCAL_CLANG_VERSION 0 -# define LOCAL_CLANG_PREREQ(maj, min) 0 -#endif - -#ifndef __has_builtin -# define __has_builtin(x) 0 -#endif - -// for now, none of the optimizations below are available in emscripten -#if !defined(EMSCRIPTEN) - -#if defined(_MSC_VER) && _MSC_VER > 1310 && \ - (defined(_M_X64) || defined(_M_IX86)) -#define WEBP_MSC_SSE2 // Visual C++ SSE2 targets -#endif - -#if defined(_MSC_VER) && _MSC_VER >= 1500 && \ - (defined(_M_X64) || defined(_M_IX86)) -#define WEBP_MSC_SSE41 // Visual C++ SSE4.1 targets -#endif - -// WEBP_HAVE_* are used to indicate the presence of the instruction set in dsp -// files without intrinsics, allowing the corresponding Init() to be called. -// Files containing intrinsics will need to be built targeting the instruction -// set so should succeed on one of the earlier tests. -#if defined(__SSE2__) || defined(WEBP_MSC_SSE2) || defined(WEBP_HAVE_SSE2) -#define WEBP_USE_SSE2 -#endif - -#if defined(__SSE4_1__) || defined(WEBP_MSC_SSE41) || defined(WEBP_HAVE_SSE41) -#define WEBP_USE_SSE41 -#endif - -// The intrinsics currently cause compiler errors with arm-nacl-gcc and the -// inline assembly would need to be modified for use with Native Client. -#if (defined(__ARM_NEON__) || \ - defined(__aarch64__) || defined(WEBP_HAVE_NEON)) && \ - !defined(__native_client__) -#define WEBP_USE_NEON -#endif - -#if !defined(WEBP_USE_NEON) && defined(__ANDROID__) && \ - defined(__ARM_ARCH_7A__) && defined(HAVE_CPU_FEATURES_H) -#define WEBP_ANDROID_NEON // Android targets that may have NEON -#define WEBP_USE_NEON -#endif - -#if defined(_MSC_VER) && _MSC_VER >= 1700 && defined(_M_ARM) -#define WEBP_USE_NEON -#define WEBP_USE_INTRINSICS -#endif - -#if defined(__mips__) && !defined(__mips64) && \ - defined(__mips_isa_rev) && (__mips_isa_rev >= 1) && (__mips_isa_rev < 6) -#define WEBP_USE_MIPS32 -#if (__mips_isa_rev >= 2) -#define WEBP_USE_MIPS32_R2 -#if defined(__mips_dspr2) || (defined(__mips_dsp_rev) && __mips_dsp_rev >= 2) -#define WEBP_USE_MIPS_DSP_R2 -#endif -#endif -#endif - -#if defined(__mips_msa) && defined(__mips_isa_rev) && (__mips_isa_rev >= 5) -#define WEBP_USE_MSA -#endif - -#endif /* EMSCRIPTEN */ - -#ifndef WEBP_DSP_OMIT_C_CODE -#define WEBP_DSP_OMIT_C_CODE 1 -#endif - -#if (defined(__aarch64__) || defined(__ARM_NEON__)) && WEBP_DSP_OMIT_C_CODE -#define WEBP_NEON_OMIT_C_CODE 1 -#else -#define WEBP_NEON_OMIT_C_CODE 0 -#endif - -#if !(LOCAL_CLANG_PREREQ(3,8) || LOCAL_GCC_PREREQ(4,8) || defined(__aarch64__)) -#define WEBP_NEON_WORK_AROUND_GCC 1 -#else -#define WEBP_NEON_WORK_AROUND_GCC 0 -#endif - -// This macro prevents thread_sanitizer from reporting known concurrent writes. -#define WEBP_TSAN_IGNORE_FUNCTION -#if defined(__has_feature) -#if __has_feature(thread_sanitizer) -#undef WEBP_TSAN_IGNORE_FUNCTION -#define WEBP_TSAN_IGNORE_FUNCTION __attribute__((no_sanitize_thread)) -#endif -#endif - -#if defined(WEBP_USE_THREAD) && !defined(_WIN32) -#include // NOLINT - -#define WEBP_DSP_INIT(func) do { \ - static volatile VP8CPUInfo func ## _last_cpuinfo_used = \ - (VP8CPUInfo)&func ## _last_cpuinfo_used; \ - static pthread_mutex_t func ## _lock = PTHREAD_MUTEX_INITIALIZER; \ - if (pthread_mutex_lock(&func ## _lock)) break; \ - if (func ## _last_cpuinfo_used != VP8GetCPUInfo) func(); \ - func ## _last_cpuinfo_used = VP8GetCPUInfo; \ - (void)pthread_mutex_unlock(&func ## _lock); \ -} while (0) -#else // !(defined(WEBP_USE_THREAD) && !defined(_WIN32)) -#define WEBP_DSP_INIT(func) do { \ - static volatile VP8CPUInfo func ## _last_cpuinfo_used = \ - (VP8CPUInfo)&func ## _last_cpuinfo_used; \ - if (func ## _last_cpuinfo_used == VP8GetCPUInfo) break; \ - func(); \ - func ## _last_cpuinfo_used = VP8GetCPUInfo; \ -} while (0) -#endif // defined(WEBP_USE_THREAD) && !defined(_WIN32) - -// Defines an Init + helper function that control multiple initialization of -// function pointers / tables. -/* Usage: - WEBP_DSP_INIT_FUNC(InitFunc) { - ...function body - } -*/ -#define WEBP_DSP_INIT_FUNC(name) \ - static WEBP_TSAN_IGNORE_FUNCTION void name ## _body(void); \ - WEBP_TSAN_IGNORE_FUNCTION void name(void) { \ - WEBP_DSP_INIT(name ## _body); \ - } \ - static WEBP_TSAN_IGNORE_FUNCTION void name ## _body(void) - -#define WEBP_UBSAN_IGNORE_UNDEF -#define WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW -#if defined(__clang__) && defined(__has_attribute) -#if __has_attribute(no_sanitize) -// This macro prevents the undefined behavior sanitizer from reporting -// failures. This is only meant to silence unaligned loads on platforms that -// are known to support them. -#undef WEBP_UBSAN_IGNORE_UNDEF -#define WEBP_UBSAN_IGNORE_UNDEF \ - __attribute__((no_sanitize("undefined"))) - -// This macro prevents the undefined behavior sanitizer from reporting -// failures related to unsigned integer overflows. This is only meant to -// silence cases where this well defined behavior is expected. -#undef WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW -#define WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW \ - __attribute__((no_sanitize("unsigned-integer-overflow"))) -#endif -#endif - -// Regularize the definition of WEBP_SWAP_16BIT_CSP (backward compatibility) -#if !defined(WEBP_SWAP_16BIT_CSP) -#define WEBP_SWAP_16BIT_CSP 0 -#endif - -// some endian fix (e.g.: mips-gcc doesn't define __BIG_ENDIAN__) -#if !defined(WORDS_BIGENDIAN) && \ - (defined(__BIG_ENDIAN__) || defined(_M_PPC) || \ - (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))) -#define WORDS_BIGENDIAN -#endif - -typedef enum { - kSSE2, - kSSE3, - kSlowSSSE3, // special feature for slow SSSE3 architectures - kSSE4_1, - kAVX, - kAVX2, - kNEON, - kMIPS32, - kMIPSdspR2, - kMSA -} CPUFeature; -// returns true if the CPU supports the feature. -typedef int (*VP8CPUInfo)(CPUFeature feature); -WEBP_EXTERN VP8CPUInfo VP8GetCPUInfo; - -//------------------------------------------------------------------------------ -// Init stub generator - -// Defines an init function stub to ensure each module exposes a symbol, -// avoiding a compiler warning. -#define WEBP_DSP_INIT_STUB(func) \ - extern void func(void); \ - void func(void) {} - -//------------------------------------------------------------------------------ -// Encoding - -// Transforms -// VP8Idct: Does one of two inverse transforms. If do_two is set, the transforms -// will be done for (ref, in, dst) and (ref + 4, in + 16, dst + 4). -typedef void (*VP8Idct)(const uint8_t* ref, const int16_t* in, uint8_t* dst, - int do_two); -typedef void (*VP8Fdct)(const uint8_t* src, const uint8_t* ref, int16_t* out); -typedef void (*VP8WHT)(const int16_t* in, int16_t* out); -extern VP8Idct VP8ITransform; -extern VP8Fdct VP8FTransform; -extern VP8Fdct VP8FTransform2; // performs two transforms at a time -extern VP8WHT VP8FTransformWHT; -// Predictions -// *dst is the destination block. *top and *left can be NULL. -typedef void (*VP8IntraPreds)(uint8_t* dst, const uint8_t* left, - const uint8_t* top); -typedef void (*VP8Intra4Preds)(uint8_t* dst, const uint8_t* top); -extern VP8Intra4Preds VP8EncPredLuma4; -extern VP8IntraPreds VP8EncPredLuma16; -extern VP8IntraPreds VP8EncPredChroma8; - -typedef int (*VP8Metric)(const uint8_t* pix, const uint8_t* ref); -extern VP8Metric VP8SSE16x16, VP8SSE16x8, VP8SSE8x8, VP8SSE4x4; -typedef int (*VP8WMetric)(const uint8_t* pix, const uint8_t* ref, - const uint16_t* const weights); -// The weights for VP8TDisto4x4 and VP8TDisto16x16 contain a row-major -// 4 by 4 symmetric matrix. -extern VP8WMetric VP8TDisto4x4, VP8TDisto16x16; - -// Compute the average (DC) of four 4x4 blocks. -// Each sub-4x4 block #i sum is stored in dc[i]. -typedef void (*VP8MeanMetric)(const uint8_t* ref, uint32_t dc[4]); -extern VP8MeanMetric VP8Mean16x4; - -typedef void (*VP8BlockCopy)(const uint8_t* src, uint8_t* dst); -extern VP8BlockCopy VP8Copy4x4; -extern VP8BlockCopy VP8Copy16x8; -// Quantization -struct VP8Matrix; // forward declaration -typedef int (*VP8QuantizeBlock)(int16_t in[16], int16_t out[16], - const struct VP8Matrix* const mtx); -// Same as VP8QuantizeBlock, but quantizes two consecutive blocks. -typedef int (*VP8Quantize2Blocks)(int16_t in[32], int16_t out[32], - const struct VP8Matrix* const mtx); - -extern VP8QuantizeBlock VP8EncQuantizeBlock; -extern VP8Quantize2Blocks VP8EncQuantize2Blocks; - -// specific to 2nd transform: -typedef int (*VP8QuantizeBlockWHT)(int16_t in[16], int16_t out[16], - const struct VP8Matrix* const mtx); -extern VP8QuantizeBlockWHT VP8EncQuantizeBlockWHT; - -extern const int VP8DspScan[16 + 4 + 4]; - -// Collect histogram for susceptibility calculation. -#define MAX_COEFF_THRESH 31 // size of histogram used by CollectHistogram. -typedef struct { - // We only need to store max_value and last_non_zero, not the distribution. - int max_value; - int last_non_zero; -} VP8Histogram; -typedef void (*VP8CHisto)(const uint8_t* ref, const uint8_t* pred, - int start_block, int end_block, - VP8Histogram* const histo); -extern VP8CHisto VP8CollectHistogram; -// General-purpose util function to help VP8CollectHistogram(). -void VP8SetHistogramData(const int distribution[MAX_COEFF_THRESH + 1], - VP8Histogram* const histo); - -// must be called before using any of the above -void VP8EncDspInit(void); - -//------------------------------------------------------------------------------ -// cost functions (encoding) - -extern const uint16_t VP8EntropyCost[256]; // 8bit fixed-point log(p) -// approximate cost per level: -extern const uint16_t VP8LevelFixedCosts[2047 /*MAX_LEVEL*/ + 1]; -extern const uint8_t VP8EncBands[16 + 1]; - -struct VP8Residual; -typedef void (*VP8SetResidualCoeffsFunc)(const int16_t* const coeffs, - struct VP8Residual* const res); -extern VP8SetResidualCoeffsFunc VP8SetResidualCoeffs; - -// Cost calculation function. -typedef int (*VP8GetResidualCostFunc)(int ctx0, - const struct VP8Residual* const res); -extern VP8GetResidualCostFunc VP8GetResidualCost; - -// must be called before anything using the above -void VP8EncDspCostInit(void); - -//------------------------------------------------------------------------------ -// SSIM / PSNR utils - -// struct for accumulating statistical moments -typedef struct { - uint32_t w; // sum(w_i) : sum of weights - uint32_t xm, ym; // sum(w_i * x_i), sum(w_i * y_i) - uint32_t xxm, xym, yym; // sum(w_i * x_i * x_i), etc. -} VP8DistoStats; - -// Compute the final SSIM value -// The non-clipped version assumes stats->w = (2 * VP8_SSIM_KERNEL + 1)^2. -double VP8SSIMFromStats(const VP8DistoStats* const stats); -double VP8SSIMFromStatsClipped(const VP8DistoStats* const stats); - -#define VP8_SSIM_KERNEL 3 // total size of the kernel: 2 * VP8_SSIM_KERNEL + 1 -typedef double (*VP8SSIMGetClippedFunc)(const uint8_t* src1, int stride1, - const uint8_t* src2, int stride2, - int xo, int yo, // center position - int W, int H); // plane dimension - -#if !defined(WEBP_REDUCE_SIZE) -// This version is called with the guarantee that you can load 8 bytes and -// 8 rows at offset src1 and src2 -typedef double (*VP8SSIMGetFunc)(const uint8_t* src1, int stride1, - const uint8_t* src2, int stride2); - -extern VP8SSIMGetFunc VP8SSIMGet; // unclipped / unchecked -extern VP8SSIMGetClippedFunc VP8SSIMGetClipped; // with clipping -#endif - -#if !defined(WEBP_DISABLE_STATS) -typedef uint32_t (*VP8AccumulateSSEFunc)(const uint8_t* src1, - const uint8_t* src2, int len); -extern VP8AccumulateSSEFunc VP8AccumulateSSE; -#endif - -// must be called before using any of the above directly -void VP8SSIMDspInit(void); - -//------------------------------------------------------------------------------ -// Decoding - -typedef void (*VP8DecIdct)(const int16_t* coeffs, uint8_t* dst); -// when doing two transforms, coeffs is actually int16_t[2][16]. -typedef void (*VP8DecIdct2)(const int16_t* coeffs, uint8_t* dst, int do_two); -extern VP8DecIdct2 VP8Transform; -extern VP8DecIdct VP8TransformAC3; -extern VP8DecIdct VP8TransformUV; -extern VP8DecIdct VP8TransformDC; -extern VP8DecIdct VP8TransformDCUV; -extern VP8WHT VP8TransformWHT; - -// *dst is the destination block, with stride BPS. Boundary samples are -// assumed accessible when needed. -typedef void (*VP8PredFunc)(uint8_t* dst); -extern VP8PredFunc VP8PredLuma16[/* NUM_B_DC_MODES */]; -extern VP8PredFunc VP8PredChroma8[/* NUM_B_DC_MODES */]; -extern VP8PredFunc VP8PredLuma4[/* NUM_BMODES */]; - -// clipping tables (for filtering) -extern const int8_t* const VP8ksclip1; // clips [-1020, 1020] to [-128, 127] -extern const int8_t* const VP8ksclip2; // clips [-112, 112] to [-16, 15] -extern const uint8_t* const VP8kclip1; // clips [-255,511] to [0,255] -extern const uint8_t* const VP8kabs0; // abs(x) for x in [-255,255] -// must be called first -void VP8InitClipTables(void); - -// simple filter (only for luma) -typedef void (*VP8SimpleFilterFunc)(uint8_t* p, int stride, int thresh); -extern VP8SimpleFilterFunc VP8SimpleVFilter16; -extern VP8SimpleFilterFunc VP8SimpleHFilter16; -extern VP8SimpleFilterFunc VP8SimpleVFilter16i; // filter 3 inner edges -extern VP8SimpleFilterFunc VP8SimpleHFilter16i; - -// regular filter (on both macroblock edges and inner edges) -typedef void (*VP8LumaFilterFunc)(uint8_t* luma, int stride, - int thresh, int ithresh, int hev_t); -typedef void (*VP8ChromaFilterFunc)(uint8_t* u, uint8_t* v, int stride, - int thresh, int ithresh, int hev_t); -// on outer edge -extern VP8LumaFilterFunc VP8VFilter16; -extern VP8LumaFilterFunc VP8HFilter16; -extern VP8ChromaFilterFunc VP8VFilter8; -extern VP8ChromaFilterFunc VP8HFilter8; - -// on inner edge -extern VP8LumaFilterFunc VP8VFilter16i; // filtering 3 inner edges altogether -extern VP8LumaFilterFunc VP8HFilter16i; -extern VP8ChromaFilterFunc VP8VFilter8i; // filtering u and v altogether -extern VP8ChromaFilterFunc VP8HFilter8i; - -// Dithering. Combines dithering values (centered around 128) with dst[], -// according to: dst[] = clip(dst[] + (((dither[]-128) + 8) >> 4) -#define VP8_DITHER_DESCALE 4 -#define VP8_DITHER_DESCALE_ROUNDER (1 << (VP8_DITHER_DESCALE - 1)) -#define VP8_DITHER_AMP_BITS 7 -#define VP8_DITHER_AMP_CENTER (1 << VP8_DITHER_AMP_BITS) -extern void (*VP8DitherCombine8x8)(const uint8_t* dither, uint8_t* dst, - int dst_stride); - -// must be called before anything using the above -void VP8DspInit(void); - -//------------------------------------------------------------------------------ -// WebP I/O - -#define FANCY_UPSAMPLING // undefined to remove fancy upsampling support - -// Convert a pair of y/u/v lines together to the output rgb/a colorspace. -// bottom_y can be NULL if only one line of output is needed (at top/bottom). -typedef void (*WebPUpsampleLinePairFunc)( - const uint8_t* top_y, const uint8_t* bottom_y, - const uint8_t* top_u, const uint8_t* top_v, - const uint8_t* cur_u, const uint8_t* cur_v, - uint8_t* top_dst, uint8_t* bottom_dst, int len); - -#ifdef FANCY_UPSAMPLING - -// Fancy upsampling functions to convert YUV to RGB(A) modes -extern WebPUpsampleLinePairFunc WebPUpsamplers[/* MODE_LAST */]; - -#endif // FANCY_UPSAMPLING - -// Per-row point-sampling methods. -typedef void (*WebPSamplerRowFunc)(const uint8_t* y, - const uint8_t* u, const uint8_t* v, - uint8_t* dst, int len); -// Generic function to apply 'WebPSamplerRowFunc' to the whole plane: -void WebPSamplerProcessPlane(const uint8_t* y, int y_stride, - const uint8_t* u, const uint8_t* v, int uv_stride, - uint8_t* dst, int dst_stride, - int width, int height, WebPSamplerRowFunc func); - -// Sampling functions to convert rows of YUV to RGB(A) -extern WebPSamplerRowFunc WebPSamplers[/* MODE_LAST */]; - -// General function for converting two lines of ARGB or RGBA. -// 'alpha_is_last' should be true if 0xff000000 is stored in memory as -// as 0x00, 0x00, 0x00, 0xff (little endian). -WebPUpsampleLinePairFunc WebPGetLinePairConverter(int alpha_is_last); - -// YUV444->RGB converters -typedef void (*WebPYUV444Converter)(const uint8_t* y, - const uint8_t* u, const uint8_t* v, - uint8_t* dst, int len); - -extern WebPYUV444Converter WebPYUV444Converters[/* MODE_LAST */]; - -// Must be called before using the WebPUpsamplers[] (and for premultiplied -// colorspaces like rgbA, rgbA4444, etc) -void WebPInitUpsamplers(void); -// Must be called before using WebPSamplers[] -void WebPInitSamplers(void); -// Must be called before using WebPYUV444Converters[] -void WebPInitYUV444Converters(void); - -//------------------------------------------------------------------------------ -// ARGB -> YUV converters - -// Convert ARGB samples to luma Y. -extern void (*WebPConvertARGBToY)(const uint32_t* argb, uint8_t* y, int width); -// Convert ARGB samples to U/V with downsampling. do_store should be '1' for -// even lines and '0' for odd ones. 'src_width' is the original width, not -// the U/V one. -extern void (*WebPConvertARGBToUV)(const uint32_t* argb, uint8_t* u, uint8_t* v, - int src_width, int do_store); - -// Convert a row of accumulated (four-values) of rgba32 toward U/V -extern void (*WebPConvertRGBA32ToUV)(const uint16_t* rgb, - uint8_t* u, uint8_t* v, int width); - -// Convert RGB or BGR to Y -extern void (*WebPConvertRGB24ToY)(const uint8_t* rgb, uint8_t* y, int width); -extern void (*WebPConvertBGR24ToY)(const uint8_t* bgr, uint8_t* y, int width); - -// used for plain-C fallback. -extern void WebPConvertARGBToUV_C(const uint32_t* argb, uint8_t* u, uint8_t* v, - int src_width, int do_store); -extern void WebPConvertRGBA32ToUV_C(const uint16_t* rgb, - uint8_t* u, uint8_t* v, int width); - -// utilities for accurate RGB->YUV conversion -extern uint64_t (*WebPSharpYUVUpdateY)(const uint16_t* src, const uint16_t* ref, - uint16_t* dst, int len); -extern void (*WebPSharpYUVUpdateRGB)(const int16_t* src, const int16_t* ref, - int16_t* dst, int len); -extern void (*WebPSharpYUVFilterRow)(const int16_t* A, const int16_t* B, - int len, - const uint16_t* best_y, uint16_t* out); - -// Must be called before using the above. -void WebPInitConvertARGBToYUV(void); - -//------------------------------------------------------------------------------ -// Rescaler - -struct WebPRescaler; - -// Import a row of data and save its contribution in the rescaler. -// 'channel' denotes the channel number to be imported. 'Expand' corresponds to -// the wrk->x_expand case. Otherwise, 'Shrink' is to be used. -typedef void (*WebPRescalerImportRowFunc)(struct WebPRescaler* const wrk, - const uint8_t* src); - -extern WebPRescalerImportRowFunc WebPRescalerImportRowExpand; -extern WebPRescalerImportRowFunc WebPRescalerImportRowShrink; - -// Export one row (starting at x_out position) from rescaler. -// 'Expand' corresponds to the wrk->y_expand case. -// Otherwise 'Shrink' is to be used -typedef void (*WebPRescalerExportRowFunc)(struct WebPRescaler* const wrk); -extern WebPRescalerExportRowFunc WebPRescalerExportRowExpand; -extern WebPRescalerExportRowFunc WebPRescalerExportRowShrink; - -// Plain-C implementation, as fall-back. -extern void WebPRescalerImportRowExpand_C(struct WebPRescaler* const wrk, - const uint8_t* src); -extern void WebPRescalerImportRowShrink_C(struct WebPRescaler* const wrk, - const uint8_t* src); -extern void WebPRescalerExportRowExpand_C(struct WebPRescaler* const wrk); -extern void WebPRescalerExportRowShrink_C(struct WebPRescaler* const wrk); - -// Main entry calls: -extern void WebPRescalerImportRow(struct WebPRescaler* const wrk, - const uint8_t* src); -// Export one row (starting at x_out position) from rescaler. -extern void WebPRescalerExportRow(struct WebPRescaler* const wrk); - -// Must be called first before using the above. -void WebPRescalerDspInit(void); - -//------------------------------------------------------------------------------ -// Utilities for processing transparent channel. - -// Apply alpha pre-multiply on an rgba, bgra or argb plane of size w * h. -// alpha_first should be 0 for argb, 1 for rgba or bgra (where alpha is last). -extern void (*WebPApplyAlphaMultiply)( - uint8_t* rgba, int alpha_first, int w, int h, int stride); - -// Same, buf specifically for RGBA4444 format -extern void (*WebPApplyAlphaMultiply4444)( - uint8_t* rgba4444, int w, int h, int stride); - -// Dispatch the values from alpha[] plane to the ARGB destination 'dst'. -// Returns true if alpha[] plane has non-trivial values different from 0xff. -extern int (*WebPDispatchAlpha)(const uint8_t* alpha, int alpha_stride, - int width, int height, - uint8_t* dst, int dst_stride); - -// Transfer packed 8b alpha[] values to green channel in dst[], zero'ing the -// A/R/B values. 'dst_stride' is the stride for dst[] in uint32_t units. -extern void (*WebPDispatchAlphaToGreen)(const uint8_t* alpha, int alpha_stride, - int width, int height, - uint32_t* dst, int dst_stride); - -// Extract the alpha values from 32b values in argb[] and pack them into alpha[] -// (this is the opposite of WebPDispatchAlpha). -// Returns true if there's only trivial 0xff alpha values. -extern int (*WebPExtractAlpha)(const uint8_t* argb, int argb_stride, - int width, int height, - uint8_t* alpha, int alpha_stride); - -// Extract the green values from 32b values in argb[] and pack them into alpha[] -// (this is the opposite of WebPDispatchAlphaToGreen). -extern void (*WebPExtractGreen)(const uint32_t* argb, uint8_t* alpha, int size); - -// Pre-Multiply operation transforms x into x * A / 255 (where x=Y,R,G or B). -// Un-Multiply operation transforms x into x * 255 / A. - -// Pre-Multiply or Un-Multiply (if 'inverse' is true) argb values in a row. -extern void (*WebPMultARGBRow)(uint32_t* const ptr, int width, int inverse); - -// Same a WebPMultARGBRow(), but for several rows. -void WebPMultARGBRows(uint8_t* ptr, int stride, int width, int num_rows, - int inverse); - -// Same for a row of single values, with side alpha values. -extern void (*WebPMultRow)(uint8_t* const ptr, const uint8_t* const alpha, - int width, int inverse); - -// Same a WebPMultRow(), but for several 'num_rows' rows. -void WebPMultRows(uint8_t* ptr, int stride, - const uint8_t* alpha, int alpha_stride, - int width, int num_rows, int inverse); - -// Plain-C versions, used as fallback by some implementations. -void WebPMultRow_C(uint8_t* const ptr, const uint8_t* const alpha, - int width, int inverse); -void WebPMultARGBRow_C(uint32_t* const ptr, int width, int inverse); - -#ifdef WORDS_BIGENDIAN -// ARGB packing function: a/r/g/b input is rgba or bgra order. -extern void (*WebPPackARGB)(const uint8_t* a, const uint8_t* r, - const uint8_t* g, const uint8_t* b, int len, - uint32_t* out); -#endif - -// RGB packing function. 'step' can be 3 or 4. r/g/b input is rgb or bgr order. -extern void (*WebPPackRGB)(const uint8_t* r, const uint8_t* g, const uint8_t* b, - int len, int step, uint32_t* out); - -// This function returns true if src[i] contains a value different from 0xff. -extern int (*WebPHasAlpha8b)(const uint8_t* src, int length); -// This function returns true if src[4*i] contains a value different from 0xff. -extern int (*WebPHasAlpha32b)(const uint8_t* src, int length); - -// To be called first before using the above. -void WebPInitAlphaProcessing(void); - -//------------------------------------------------------------------------------ -// Filter functions - -typedef enum { // Filter types. - WEBP_FILTER_NONE = 0, - WEBP_FILTER_HORIZONTAL, - WEBP_FILTER_VERTICAL, - WEBP_FILTER_GRADIENT, - WEBP_FILTER_LAST = WEBP_FILTER_GRADIENT + 1, // end marker - WEBP_FILTER_BEST, // meta-types - WEBP_FILTER_FAST -} WEBP_FILTER_TYPE; - -typedef void (*WebPFilterFunc)(const uint8_t* in, int width, int height, - int stride, uint8_t* out); -// In-place un-filtering. -// Warning! 'prev_line' pointer can be equal to 'cur_line' or 'preds'. -typedef void (*WebPUnfilterFunc)(const uint8_t* prev_line, const uint8_t* preds, - uint8_t* cur_line, int width); - -// Filter the given data using the given predictor. -// 'in' corresponds to a 2-dimensional pixel array of size (stride * height) -// in raster order. -// 'stride' is number of bytes per scan line (with possible padding). -// 'out' should be pre-allocated. -extern WebPFilterFunc WebPFilters[WEBP_FILTER_LAST]; - -// In-place reconstruct the original data from the given filtered data. -// The reconstruction will be done for 'num_rows' rows starting from 'row' -// (assuming rows upto 'row - 1' are already reconstructed). -extern WebPUnfilterFunc WebPUnfilters[WEBP_FILTER_LAST]; - -// To be called first before using the above. -void VP8FiltersInit(void); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DSP_DSP_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc.c deleted file mode 100644 index 2fddbc4c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc.c +++ /dev/null @@ -1,830 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Speed-critical encoding functions. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include // for abs() - -#include "src/dsp/dsp.h" -#include "src/enc/vp8i_enc.h" - -static WEBP_INLINE uint8_t clip_8b(int v) { - return (!(v & ~0xff)) ? v : (v < 0) ? 0 : 255; -} - -#if !WEBP_NEON_OMIT_C_CODE -static WEBP_INLINE int clip_max(int v, int max) { - return (v > max) ? max : v; -} -#endif // !WEBP_NEON_OMIT_C_CODE - -//------------------------------------------------------------------------------ -// Compute susceptibility based on DCT-coeff histograms: -// the higher, the "easier" the macroblock is to compress. - -const int VP8DspScan[16 + 4 + 4] = { - // Luma - 0 + 0 * BPS, 4 + 0 * BPS, 8 + 0 * BPS, 12 + 0 * BPS, - 0 + 4 * BPS, 4 + 4 * BPS, 8 + 4 * BPS, 12 + 4 * BPS, - 0 + 8 * BPS, 4 + 8 * BPS, 8 + 8 * BPS, 12 + 8 * BPS, - 0 + 12 * BPS, 4 + 12 * BPS, 8 + 12 * BPS, 12 + 12 * BPS, - - 0 + 0 * BPS, 4 + 0 * BPS, 0 + 4 * BPS, 4 + 4 * BPS, // U - 8 + 0 * BPS, 12 + 0 * BPS, 8 + 4 * BPS, 12 + 4 * BPS // V -}; - -// general-purpose util function -void VP8SetHistogramData(const int distribution[MAX_COEFF_THRESH + 1], - VP8Histogram* const histo) { - int max_value = 0, last_non_zero = 1; - int k; - for (k = 0; k <= MAX_COEFF_THRESH; ++k) { - const int value = distribution[k]; - if (value > 0) { - if (value > max_value) max_value = value; - last_non_zero = k; - } - } - histo->max_value = max_value; - histo->last_non_zero = last_non_zero; -} - -#if !WEBP_NEON_OMIT_C_CODE -static void CollectHistogram_C(const uint8_t* ref, const uint8_t* pred, - int start_block, int end_block, - VP8Histogram* const histo) { - int j; - int distribution[MAX_COEFF_THRESH + 1] = { 0 }; - for (j = start_block; j < end_block; ++j) { - int k; - int16_t out[16]; - - VP8FTransform(ref + VP8DspScan[j], pred + VP8DspScan[j], out); - - // Convert coefficients to bin. - for (k = 0; k < 16; ++k) { - const int v = abs(out[k]) >> 3; - const int clipped_value = clip_max(v, MAX_COEFF_THRESH); - ++distribution[clipped_value]; - } - } - VP8SetHistogramData(distribution, histo); -} -#endif // !WEBP_NEON_OMIT_C_CODE - -//------------------------------------------------------------------------------ -// run-time tables (~4k) - -static uint8_t clip1[255 + 510 + 1]; // clips [-255,510] to [0,255] - -// We declare this variable 'volatile' to prevent instruction reordering -// and make sure it's set to true _last_ (so as to be thread-safe) -static volatile int tables_ok = 0; - -static WEBP_TSAN_IGNORE_FUNCTION void InitTables(void) { - if (!tables_ok) { - int i; - for (i = -255; i <= 255 + 255; ++i) { - clip1[255 + i] = clip_8b(i); - } - tables_ok = 1; - } -} - - -//------------------------------------------------------------------------------ -// Transforms (Paragraph 14.4) - -#if !WEBP_NEON_OMIT_C_CODE - -#define STORE(x, y, v) \ - dst[(x) + (y) * BPS] = clip_8b(ref[(x) + (y) * BPS] + ((v) >> 3)) - -static const int kC1 = 20091 + (1 << 16); -static const int kC2 = 35468; -#define MUL(a, b) (((a) * (b)) >> 16) - -static WEBP_INLINE void ITransformOne(const uint8_t* ref, const int16_t* in, - uint8_t* dst) { - int C[4 * 4], *tmp; - int i; - tmp = C; - for (i = 0; i < 4; ++i) { // vertical pass - const int a = in[0] + in[8]; - const int b = in[0] - in[8]; - const int c = MUL(in[4], kC2) - MUL(in[12], kC1); - const int d = MUL(in[4], kC1) + MUL(in[12], kC2); - tmp[0] = a + d; - tmp[1] = b + c; - tmp[2] = b - c; - tmp[3] = a - d; - tmp += 4; - in++; - } - - tmp = C; - for (i = 0; i < 4; ++i) { // horizontal pass - const int dc = tmp[0] + 4; - const int a = dc + tmp[8]; - const int b = dc - tmp[8]; - const int c = MUL(tmp[4], kC2) - MUL(tmp[12], kC1); - const int d = MUL(tmp[4], kC1) + MUL(tmp[12], kC2); - STORE(0, i, a + d); - STORE(1, i, b + c); - STORE(2, i, b - c); - STORE(3, i, a - d); - tmp++; - } -} - -static void ITransform_C(const uint8_t* ref, const int16_t* in, uint8_t* dst, - int do_two) { - ITransformOne(ref, in, dst); - if (do_two) { - ITransformOne(ref + 4, in + 16, dst + 4); - } -} - -static void FTransform_C(const uint8_t* src, const uint8_t* ref, int16_t* out) { - int i; - int tmp[16]; - for (i = 0; i < 4; ++i, src += BPS, ref += BPS) { - const int d0 = src[0] - ref[0]; // 9bit dynamic range ([-255,255]) - const int d1 = src[1] - ref[1]; - const int d2 = src[2] - ref[2]; - const int d3 = src[3] - ref[3]; - const int a0 = (d0 + d3); // 10b [-510,510] - const int a1 = (d1 + d2); - const int a2 = (d1 - d2); - const int a3 = (d0 - d3); - tmp[0 + i * 4] = (a0 + a1) * 8; // 14b [-8160,8160] - tmp[1 + i * 4] = (a2 * 2217 + a3 * 5352 + 1812) >> 9; // [-7536,7542] - tmp[2 + i * 4] = (a0 - a1) * 8; - tmp[3 + i * 4] = (a3 * 2217 - a2 * 5352 + 937) >> 9; - } - for (i = 0; i < 4; ++i) { - const int a0 = (tmp[0 + i] + tmp[12 + i]); // 15b - const int a1 = (tmp[4 + i] + tmp[ 8 + i]); - const int a2 = (tmp[4 + i] - tmp[ 8 + i]); - const int a3 = (tmp[0 + i] - tmp[12 + i]); - out[0 + i] = (a0 + a1 + 7) >> 4; // 12b - out[4 + i] = ((a2 * 2217 + a3 * 5352 + 12000) >> 16) + (a3 != 0); - out[8 + i] = (a0 - a1 + 7) >> 4; - out[12+ i] = ((a3 * 2217 - a2 * 5352 + 51000) >> 16); - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -static void FTransform2_C(const uint8_t* src, const uint8_t* ref, - int16_t* out) { - VP8FTransform(src, ref, out); - VP8FTransform(src + 4, ref + 4, out + 16); -} - -#if !WEBP_NEON_OMIT_C_CODE -static void FTransformWHT_C(const int16_t* in, int16_t* out) { - // input is 12b signed - int32_t tmp[16]; - int i; - for (i = 0; i < 4; ++i, in += 64) { - const int a0 = (in[0 * 16] + in[2 * 16]); // 13b - const int a1 = (in[1 * 16] + in[3 * 16]); - const int a2 = (in[1 * 16] - in[3 * 16]); - const int a3 = (in[0 * 16] - in[2 * 16]); - tmp[0 + i * 4] = a0 + a1; // 14b - tmp[1 + i * 4] = a3 + a2; - tmp[2 + i * 4] = a3 - a2; - tmp[3 + i * 4] = a0 - a1; - } - for (i = 0; i < 4; ++i) { - const int a0 = (tmp[0 + i] + tmp[8 + i]); // 15b - const int a1 = (tmp[4 + i] + tmp[12+ i]); - const int a2 = (tmp[4 + i] - tmp[12+ i]); - const int a3 = (tmp[0 + i] - tmp[8 + i]); - const int b0 = a0 + a1; // 16b - const int b1 = a3 + a2; - const int b2 = a3 - a2; - const int b3 = a0 - a1; - out[ 0 + i] = b0 >> 1; // 15b - out[ 4 + i] = b1 >> 1; - out[ 8 + i] = b2 >> 1; - out[12 + i] = b3 >> 1; - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -#undef MUL -#undef STORE - -//------------------------------------------------------------------------------ -// Intra predictions - -static WEBP_INLINE void Fill(uint8_t* dst, int value, int size) { - int j; - for (j = 0; j < size; ++j) { - memset(dst + j * BPS, value, size); - } -} - -static WEBP_INLINE void VerticalPred(uint8_t* dst, - const uint8_t* top, int size) { - int j; - if (top != NULL) { - for (j = 0; j < size; ++j) memcpy(dst + j * BPS, top, size); - } else { - Fill(dst, 127, size); - } -} - -static WEBP_INLINE void HorizontalPred(uint8_t* dst, - const uint8_t* left, int size) { - if (left != NULL) { - int j; - for (j = 0; j < size; ++j) { - memset(dst + j * BPS, left[j], size); - } - } else { - Fill(dst, 129, size); - } -} - -static WEBP_INLINE void TrueMotion(uint8_t* dst, const uint8_t* left, - const uint8_t* top, int size) { - int y; - if (left != NULL) { - if (top != NULL) { - const uint8_t* const clip = clip1 + 255 - left[-1]; - for (y = 0; y < size; ++y) { - const uint8_t* const clip_table = clip + left[y]; - int x; - for (x = 0; x < size; ++x) { - dst[x] = clip_table[top[x]]; - } - dst += BPS; - } - } else { - HorizontalPred(dst, left, size); - } - } else { - // true motion without left samples (hence: with default 129 value) - // is equivalent to VE prediction where you just copy the top samples. - // Note that if top samples are not available, the default value is - // then 129, and not 127 as in the VerticalPred case. - if (top != NULL) { - VerticalPred(dst, top, size); - } else { - Fill(dst, 129, size); - } - } -} - -static WEBP_INLINE void DCMode(uint8_t* dst, const uint8_t* left, - const uint8_t* top, - int size, int round, int shift) { - int DC = 0; - int j; - if (top != NULL) { - for (j = 0; j < size; ++j) DC += top[j]; - if (left != NULL) { // top and left present - for (j = 0; j < size; ++j) DC += left[j]; - } else { // top, but no left - DC += DC; - } - DC = (DC + round) >> shift; - } else if (left != NULL) { // left but no top - for (j = 0; j < size; ++j) DC += left[j]; - DC += DC; - DC = (DC + round) >> shift; - } else { // no top, no left, nothing. - DC = 0x80; - } - Fill(dst, DC, size); -} - -//------------------------------------------------------------------------------ -// Chroma 8x8 prediction (paragraph 12.2) - -static void IntraChromaPreds_C(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - // U block - DCMode(C8DC8 + dst, left, top, 8, 8, 4); - VerticalPred(C8VE8 + dst, top, 8); - HorizontalPred(C8HE8 + dst, left, 8); - TrueMotion(C8TM8 + dst, left, top, 8); - // V block - dst += 8; - if (top != NULL) top += 8; - if (left != NULL) left += 16; - DCMode(C8DC8 + dst, left, top, 8, 8, 4); - VerticalPred(C8VE8 + dst, top, 8); - HorizontalPred(C8HE8 + dst, left, 8); - TrueMotion(C8TM8 + dst, left, top, 8); -} - -//------------------------------------------------------------------------------ -// luma 16x16 prediction (paragraph 12.3) - -static void Intra16Preds_C(uint8_t* dst, - const uint8_t* left, const uint8_t* top) { - DCMode(I16DC16 + dst, left, top, 16, 16, 5); - VerticalPred(I16VE16 + dst, top, 16); - HorizontalPred(I16HE16 + dst, left, 16); - TrueMotion(I16TM16 + dst, left, top, 16); -} - -//------------------------------------------------------------------------------ -// luma 4x4 prediction - -#define DST(x, y) dst[(x) + (y) * BPS] -#define AVG3(a, b, c) ((uint8_t)(((a) + 2 * (b) + (c) + 2) >> 2)) -#define AVG2(a, b) (((a) + (b) + 1) >> 1) - -static void VE4(uint8_t* dst, const uint8_t* top) { // vertical - const uint8_t vals[4] = { - AVG3(top[-1], top[0], top[1]), - AVG3(top[ 0], top[1], top[2]), - AVG3(top[ 1], top[2], top[3]), - AVG3(top[ 2], top[3], top[4]) - }; - int i; - for (i = 0; i < 4; ++i) { - memcpy(dst + i * BPS, vals, 4); - } -} - -static void HE4(uint8_t* dst, const uint8_t* top) { // horizontal - const int X = top[-1]; - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int L = top[-5]; - WebPUint32ToMem(dst + 0 * BPS, 0x01010101U * AVG3(X, I, J)); - WebPUint32ToMem(dst + 1 * BPS, 0x01010101U * AVG3(I, J, K)); - WebPUint32ToMem(dst + 2 * BPS, 0x01010101U * AVG3(J, K, L)); - WebPUint32ToMem(dst + 3 * BPS, 0x01010101U * AVG3(K, L, L)); -} - -static void DC4(uint8_t* dst, const uint8_t* top) { - uint32_t dc = 4; - int i; - for (i = 0; i < 4; ++i) dc += top[i] + top[-5 + i]; - Fill(dst, dc >> 3, 4); -} - -static void RD4(uint8_t* dst, const uint8_t* top) { - const int X = top[-1]; - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int L = top[-5]; - const int A = top[0]; - const int B = top[1]; - const int C = top[2]; - const int D = top[3]; - DST(0, 3) = AVG3(J, K, L); - DST(0, 2) = DST(1, 3) = AVG3(I, J, K); - DST(0, 1) = DST(1, 2) = DST(2, 3) = AVG3(X, I, J); - DST(0, 0) = DST(1, 1) = DST(2, 2) = DST(3, 3) = AVG3(A, X, I); - DST(1, 0) = DST(2, 1) = DST(3, 2) = AVG3(B, A, X); - DST(2, 0) = DST(3, 1) = AVG3(C, B, A); - DST(3, 0) = AVG3(D, C, B); -} - -static void LD4(uint8_t* dst, const uint8_t* top) { - const int A = top[0]; - const int B = top[1]; - const int C = top[2]; - const int D = top[3]; - const int E = top[4]; - const int F = top[5]; - const int G = top[6]; - const int H = top[7]; - DST(0, 0) = AVG3(A, B, C); - DST(1, 0) = DST(0, 1) = AVG3(B, C, D); - DST(2, 0) = DST(1, 1) = DST(0, 2) = AVG3(C, D, E); - DST(3, 0) = DST(2, 1) = DST(1, 2) = DST(0, 3) = AVG3(D, E, F); - DST(3, 1) = DST(2, 2) = DST(1, 3) = AVG3(E, F, G); - DST(3, 2) = DST(2, 3) = AVG3(F, G, H); - DST(3, 3) = AVG3(G, H, H); -} - -static void VR4(uint8_t* dst, const uint8_t* top) { - const int X = top[-1]; - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int A = top[0]; - const int B = top[1]; - const int C = top[2]; - const int D = top[3]; - DST(0, 0) = DST(1, 2) = AVG2(X, A); - DST(1, 0) = DST(2, 2) = AVG2(A, B); - DST(2, 0) = DST(3, 2) = AVG2(B, C); - DST(3, 0) = AVG2(C, D); - - DST(0, 3) = AVG3(K, J, I); - DST(0, 2) = AVG3(J, I, X); - DST(0, 1) = DST(1, 3) = AVG3(I, X, A); - DST(1, 1) = DST(2, 3) = AVG3(X, A, B); - DST(2, 1) = DST(3, 3) = AVG3(A, B, C); - DST(3, 1) = AVG3(B, C, D); -} - -static void VL4(uint8_t* dst, const uint8_t* top) { - const int A = top[0]; - const int B = top[1]; - const int C = top[2]; - const int D = top[3]; - const int E = top[4]; - const int F = top[5]; - const int G = top[6]; - const int H = top[7]; - DST(0, 0) = AVG2(A, B); - DST(1, 0) = DST(0, 2) = AVG2(B, C); - DST(2, 0) = DST(1, 2) = AVG2(C, D); - DST(3, 0) = DST(2, 2) = AVG2(D, E); - - DST(0, 1) = AVG3(A, B, C); - DST(1, 1) = DST(0, 3) = AVG3(B, C, D); - DST(2, 1) = DST(1, 3) = AVG3(C, D, E); - DST(3, 1) = DST(2, 3) = AVG3(D, E, F); - DST(3, 2) = AVG3(E, F, G); - DST(3, 3) = AVG3(F, G, H); -} - -static void HU4(uint8_t* dst, const uint8_t* top) { - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int L = top[-5]; - DST(0, 0) = AVG2(I, J); - DST(2, 0) = DST(0, 1) = AVG2(J, K); - DST(2, 1) = DST(0, 2) = AVG2(K, L); - DST(1, 0) = AVG3(I, J, K); - DST(3, 0) = DST(1, 1) = AVG3(J, K, L); - DST(3, 1) = DST(1, 2) = AVG3(K, L, L); - DST(3, 2) = DST(2, 2) = - DST(0, 3) = DST(1, 3) = DST(2, 3) = DST(3, 3) = L; -} - -static void HD4(uint8_t* dst, const uint8_t* top) { - const int X = top[-1]; - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int L = top[-5]; - const int A = top[0]; - const int B = top[1]; - const int C = top[2]; - - DST(0, 0) = DST(2, 1) = AVG2(I, X); - DST(0, 1) = DST(2, 2) = AVG2(J, I); - DST(0, 2) = DST(2, 3) = AVG2(K, J); - DST(0, 3) = AVG2(L, K); - - DST(3, 0) = AVG3(A, B, C); - DST(2, 0) = AVG3(X, A, B); - DST(1, 0) = DST(3, 1) = AVG3(I, X, A); - DST(1, 1) = DST(3, 2) = AVG3(J, I, X); - DST(1, 2) = DST(3, 3) = AVG3(K, J, I); - DST(1, 3) = AVG3(L, K, J); -} - -static void TM4(uint8_t* dst, const uint8_t* top) { - int x, y; - const uint8_t* const clip = clip1 + 255 - top[-1]; - for (y = 0; y < 4; ++y) { - const uint8_t* const clip_table = clip + top[-2 - y]; - for (x = 0; x < 4; ++x) { - dst[x] = clip_table[top[x]]; - } - dst += BPS; - } -} - -#undef DST -#undef AVG3 -#undef AVG2 - -// Left samples are top[-5 .. -2], top_left is top[-1], top are -// located at top[0..3], and top right is top[4..7] -static void Intra4Preds_C(uint8_t* dst, const uint8_t* top) { - DC4(I4DC4 + dst, top); - TM4(I4TM4 + dst, top); - VE4(I4VE4 + dst, top); - HE4(I4HE4 + dst, top); - RD4(I4RD4 + dst, top); - VR4(I4VR4 + dst, top); - LD4(I4LD4 + dst, top); - VL4(I4VL4 + dst, top); - HD4(I4HD4 + dst, top); - HU4(I4HU4 + dst, top); -} - -//------------------------------------------------------------------------------ -// Metric - -#if !WEBP_NEON_OMIT_C_CODE -static WEBP_INLINE int GetSSE(const uint8_t* a, const uint8_t* b, - int w, int h) { - int count = 0; - int y, x; - for (y = 0; y < h; ++y) { - for (x = 0; x < w; ++x) { - const int diff = (int)a[x] - b[x]; - count += diff * diff; - } - a += BPS; - b += BPS; - } - return count; -} - -static int SSE16x16_C(const uint8_t* a, const uint8_t* b) { - return GetSSE(a, b, 16, 16); -} -static int SSE16x8_C(const uint8_t* a, const uint8_t* b) { - return GetSSE(a, b, 16, 8); -} -static int SSE8x8_C(const uint8_t* a, const uint8_t* b) { - return GetSSE(a, b, 8, 8); -} -static int SSE4x4_C(const uint8_t* a, const uint8_t* b) { - return GetSSE(a, b, 4, 4); -} -#endif // !WEBP_NEON_OMIT_C_CODE - -static void Mean16x4_C(const uint8_t* ref, uint32_t dc[4]) { - int k, x, y; - for (k = 0; k < 4; ++k) { - uint32_t avg = 0; - for (y = 0; y < 4; ++y) { - for (x = 0; x < 4; ++x) { - avg += ref[x + y * BPS]; - } - } - dc[k] = avg; - ref += 4; // go to next 4x4 block. - } -} - -//------------------------------------------------------------------------------ -// Texture distortion -// -// We try to match the spectral content (weighted) between source and -// reconstructed samples. - -#if !WEBP_NEON_OMIT_C_CODE -// Hadamard transform -// Returns the weighted sum of the absolute value of transformed coefficients. -// w[] contains a row-major 4 by 4 symmetric matrix. -static int TTransform(const uint8_t* in, const uint16_t* w) { - int sum = 0; - int tmp[16]; - int i; - // horizontal pass - for (i = 0; i < 4; ++i, in += BPS) { - const int a0 = in[0] + in[2]; - const int a1 = in[1] + in[3]; - const int a2 = in[1] - in[3]; - const int a3 = in[0] - in[2]; - tmp[0 + i * 4] = a0 + a1; - tmp[1 + i * 4] = a3 + a2; - tmp[2 + i * 4] = a3 - a2; - tmp[3 + i * 4] = a0 - a1; - } - // vertical pass - for (i = 0; i < 4; ++i, ++w) { - const int a0 = tmp[0 + i] + tmp[8 + i]; - const int a1 = tmp[4 + i] + tmp[12+ i]; - const int a2 = tmp[4 + i] - tmp[12+ i]; - const int a3 = tmp[0 + i] - tmp[8 + i]; - const int b0 = a0 + a1; - const int b1 = a3 + a2; - const int b2 = a3 - a2; - const int b3 = a0 - a1; - - sum += w[ 0] * abs(b0); - sum += w[ 4] * abs(b1); - sum += w[ 8] * abs(b2); - sum += w[12] * abs(b3); - } - return sum; -} - -static int Disto4x4_C(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - const int sum1 = TTransform(a, w); - const int sum2 = TTransform(b, w); - return abs(sum2 - sum1) >> 5; -} - -static int Disto16x16_C(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - int D = 0; - int x, y; - for (y = 0; y < 16 * BPS; y += 4 * BPS) { - for (x = 0; x < 16; x += 4) { - D += Disto4x4_C(a + x + y, b + x + y, w); - } - } - return D; -} -#endif // !WEBP_NEON_OMIT_C_CODE - -//------------------------------------------------------------------------------ -// Quantization -// - -static const uint8_t kZigzag[16] = { - 0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15 -}; - -// Simple quantization -static int QuantizeBlock_C(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { - int last = -1; - int n; - for (n = 0; n < 16; ++n) { - const int j = kZigzag[n]; - const int sign = (in[j] < 0); - const uint32_t coeff = (sign ? -in[j] : in[j]) + mtx->sharpen_[j]; - if (coeff > mtx->zthresh_[j]) { - const uint32_t Q = mtx->q_[j]; - const uint32_t iQ = mtx->iq_[j]; - const uint32_t B = mtx->bias_[j]; - int level = QUANTDIV(coeff, iQ, B); - if (level > MAX_LEVEL) level = MAX_LEVEL; - if (sign) level = -level; - in[j] = level * (int)Q; - out[n] = level; - if (level) last = n; - } else { - out[n] = 0; - in[j] = 0; - } - } - return (last >= 0); -} - -#if !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC -static int Quantize2Blocks_C(int16_t in[32], int16_t out[32], - const VP8Matrix* const mtx) { - int nz; - nz = VP8EncQuantizeBlock(in + 0 * 16, out + 0 * 16, mtx) << 0; - nz |= VP8EncQuantizeBlock(in + 1 * 16, out + 1 * 16, mtx) << 1; - return nz; -} -#endif // !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC - -//------------------------------------------------------------------------------ -// Block copy - -static WEBP_INLINE void Copy(const uint8_t* src, uint8_t* dst, int w, int h) { - int y; - for (y = 0; y < h; ++y) { - memcpy(dst, src, w); - src += BPS; - dst += BPS; - } -} - -static void Copy4x4_C(const uint8_t* src, uint8_t* dst) { - Copy(src, dst, 4, 4); -} - -static void Copy16x8_C(const uint8_t* src, uint8_t* dst) { - Copy(src, dst, 16, 8); -} - -//------------------------------------------------------------------------------ -// Initialization - -// Speed-critical function pointers. We have to initialize them to the default -// implementations within VP8EncDspInit(). -VP8CHisto VP8CollectHistogram; -VP8Idct VP8ITransform; -VP8Fdct VP8FTransform; -VP8Fdct VP8FTransform2; -VP8WHT VP8FTransformWHT; -VP8Intra4Preds VP8EncPredLuma4; -VP8IntraPreds VP8EncPredLuma16; -VP8IntraPreds VP8EncPredChroma8; -VP8Metric VP8SSE16x16; -VP8Metric VP8SSE8x8; -VP8Metric VP8SSE16x8; -VP8Metric VP8SSE4x4; -VP8WMetric VP8TDisto4x4; -VP8WMetric VP8TDisto16x16; -VP8MeanMetric VP8Mean16x4; -VP8QuantizeBlock VP8EncQuantizeBlock; -VP8Quantize2Blocks VP8EncQuantize2Blocks; -VP8QuantizeBlockWHT VP8EncQuantizeBlockWHT; -VP8BlockCopy VP8Copy4x4; -VP8BlockCopy VP8Copy16x8; - -extern void VP8EncDspInitSSE2(void); -extern void VP8EncDspInitSSE41(void); -extern void VP8EncDspInitNEON(void); -extern void VP8EncDspInitMIPS32(void); -extern void VP8EncDspInitMIPSdspR2(void); -extern void VP8EncDspInitMSA(void); - -WEBP_DSP_INIT_FUNC(VP8EncDspInit) { - VP8DspInit(); // common inverse transforms - InitTables(); - - // default C implementations -#if !WEBP_NEON_OMIT_C_CODE - VP8ITransform = ITransform_C; - VP8FTransform = FTransform_C; - VP8FTransformWHT = FTransformWHT_C; - VP8TDisto4x4 = Disto4x4_C; - VP8TDisto16x16 = Disto16x16_C; - VP8CollectHistogram = CollectHistogram_C; - VP8SSE16x16 = SSE16x16_C; - VP8SSE16x8 = SSE16x8_C; - VP8SSE8x8 = SSE8x8_C; - VP8SSE4x4 = SSE4x4_C; -#endif - -#if !WEBP_NEON_OMIT_C_CODE || WEBP_NEON_WORK_AROUND_GCC - VP8EncQuantizeBlock = QuantizeBlock_C; - VP8EncQuantize2Blocks = Quantize2Blocks_C; -#endif - - VP8FTransform2 = FTransform2_C; - VP8EncPredLuma4 = Intra4Preds_C; - VP8EncPredLuma16 = Intra16Preds_C; - VP8EncPredChroma8 = IntraChromaPreds_C; - VP8Mean16x4 = Mean16x4_C; - VP8EncQuantizeBlockWHT = QuantizeBlock_C; - VP8Copy4x4 = Copy4x4_C; - VP8Copy16x8 = Copy16x8_C; - - // If defined, use CPUInfo() to overwrite some pointers with faster versions. - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - VP8EncDspInitSSE2(); -#if defined(WEBP_USE_SSE41) - if (VP8GetCPUInfo(kSSE4_1)) { - VP8EncDspInitSSE41(); - } -#endif - } -#endif -#if defined(WEBP_USE_MIPS32) - if (VP8GetCPUInfo(kMIPS32)) { - VP8EncDspInitMIPS32(); - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - VP8EncDspInitMIPSdspR2(); - } -#endif -#if defined(WEBP_USE_MSA) - if (VP8GetCPUInfo(kMSA)) { - VP8EncDspInitMSA(); - } -#endif - } - -#if defined(WEBP_USE_NEON) - if (WEBP_NEON_OMIT_C_CODE || - (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { - VP8EncDspInitNEON(); - } -#endif - - assert(VP8ITransform != NULL); - assert(VP8FTransform != NULL); - assert(VP8FTransformWHT != NULL); - assert(VP8TDisto4x4 != NULL); - assert(VP8TDisto16x16 != NULL); - assert(VP8CollectHistogram != NULL); - assert(VP8SSE16x16 != NULL); - assert(VP8SSE16x8 != NULL); - assert(VP8SSE8x8 != NULL); - assert(VP8SSE4x4 != NULL); - assert(VP8EncQuantizeBlock != NULL); - assert(VP8EncQuantize2Blocks != NULL); - assert(VP8FTransform2 != NULL); - assert(VP8EncPredLuma4 != NULL); - assert(VP8EncPredLuma16 != NULL); - assert(VP8EncPredChroma8 != NULL); - assert(VP8Mean16x4 != NULL); - assert(VP8EncQuantizeBlockWHT != NULL); - assert(VP8Copy4x4 != NULL); - assert(VP8Copy16x8 != NULL); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_avx2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_avx2.c deleted file mode 100644 index 93efb30b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_avx2.c +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// AVX2 version of speed-critical encoding functions. - -#include "./dsp.h" - -#if defined(WEBP_USE_AVX2) - -#endif // WEBP_USE_AVX2 - -//------------------------------------------------------------------------------ -// Entry point - -WEBP_DSP_INIT_STUB(VP8EncDspInitAVX2) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_mips32.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_mips32.c deleted file mode 100644 index 618f0fc0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_mips32.c +++ /dev/null @@ -1,677 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MIPS version of speed-critical encoding functions. -// -// Author(s): Djordje Pesut (djordje.pesut@imgtec.com) -// Jovan Zelincevic (jovan.zelincevic@imgtec.com) -// Slobodan Prijic (slobodan.prijic@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS32) - -#include "src/dsp/mips_macro.h" -#include "src/enc/vp8i_enc.h" -#include "src/enc/cost_enc.h" - -static const int kC1 = 20091 + (1 << 16); -static const int kC2 = 35468; - -// macro for one vertical pass in ITransformOne -// MUL macro inlined -// temp0..temp15 holds tmp[0]..tmp[15] -// A..D - offsets in bytes to load from in buffer -// TEMP0..TEMP3 - registers for corresponding tmp elements -// TEMP4..TEMP5 - temporary registers -#define VERTICAL_PASS(A, B, C, D, TEMP4, TEMP0, TEMP1, TEMP2, TEMP3) \ - "lh %[temp16], " #A "(%[temp20]) \n\t" \ - "lh %[temp18], " #B "(%[temp20]) \n\t" \ - "lh %[temp17], " #C "(%[temp20]) \n\t" \ - "lh %[temp19], " #D "(%[temp20]) \n\t" \ - "addu %[" #TEMP4 "], %[temp16], %[temp18] \n\t" \ - "subu %[temp16], %[temp16], %[temp18] \n\t" \ - "mul %[" #TEMP0 "], %[temp17], %[kC2] \n\t" \ - "mul %[temp18], %[temp19], %[kC1] \n\t" \ - "mul %[temp17], %[temp17], %[kC1] \n\t" \ - "mul %[temp19], %[temp19], %[kC2] \n\t" \ - "sra %[" #TEMP0 "], %[" #TEMP0 "], 16 \n\n" \ - "sra %[temp18], %[temp18], 16 \n\n" \ - "sra %[temp17], %[temp17], 16 \n\n" \ - "sra %[temp19], %[temp19], 16 \n\n" \ - "subu %[" #TEMP2 "], %[" #TEMP0 "], %[temp18] \n\t" \ - "addu %[" #TEMP3 "], %[temp17], %[temp19] \n\t" \ - "addu %[" #TEMP0 "], %[" #TEMP4 "], %[" #TEMP3 "] \n\t" \ - "addu %[" #TEMP1 "], %[temp16], %[" #TEMP2 "] \n\t" \ - "subu %[" #TEMP2 "], %[temp16], %[" #TEMP2 "] \n\t" \ - "subu %[" #TEMP3 "], %[" #TEMP4 "], %[" #TEMP3 "] \n\t" - -// macro for one horizontal pass in ITransformOne -// MUL and STORE macros inlined -// a = clip_8b(a) is replaced with: a = max(a, 0); a = min(a, 255) -// temp0..temp15 holds tmp[0]..tmp[15] -// A - offset in bytes to load from ref and store to dst buffer -// TEMP0, TEMP4, TEMP8 and TEMP12 - registers for corresponding tmp elements -#define HORIZONTAL_PASS(A, TEMP0, TEMP4, TEMP8, TEMP12) \ - "addiu %[" #TEMP0 "], %[" #TEMP0 "], 4 \n\t" \ - "addu %[temp16], %[" #TEMP0 "], %[" #TEMP8 "] \n\t" \ - "subu %[temp17], %[" #TEMP0 "], %[" #TEMP8 "] \n\t" \ - "mul %[" #TEMP0 "], %[" #TEMP4 "], %[kC2] \n\t" \ - "mul %[" #TEMP8 "], %[" #TEMP12 "], %[kC1] \n\t" \ - "mul %[" #TEMP4 "], %[" #TEMP4 "], %[kC1] \n\t" \ - "mul %[" #TEMP12 "], %[" #TEMP12 "], %[kC2] \n\t" \ - "sra %[" #TEMP0 "], %[" #TEMP0 "], 16 \n\t" \ - "sra %[" #TEMP8 "], %[" #TEMP8 "], 16 \n\t" \ - "sra %[" #TEMP4 "], %[" #TEMP4 "], 16 \n\t" \ - "sra %[" #TEMP12 "], %[" #TEMP12 "], 16 \n\t" \ - "subu %[temp18], %[" #TEMP0 "], %[" #TEMP8 "] \n\t" \ - "addu %[temp19], %[" #TEMP4 "], %[" #TEMP12 "] \n\t" \ - "addu %[" #TEMP0 "], %[temp16], %[temp19] \n\t" \ - "addu %[" #TEMP4 "], %[temp17], %[temp18] \n\t" \ - "subu %[" #TEMP8 "], %[temp17], %[temp18] \n\t" \ - "subu %[" #TEMP12 "], %[temp16], %[temp19] \n\t" \ - "lw %[temp20], 0(%[args]) \n\t" \ - "sra %[" #TEMP0 "], %[" #TEMP0 "], 3 \n\t" \ - "sra %[" #TEMP4 "], %[" #TEMP4 "], 3 \n\t" \ - "sra %[" #TEMP8 "], %[" #TEMP8 "], 3 \n\t" \ - "sra %[" #TEMP12 "], %[" #TEMP12 "], 3 \n\t" \ - "lbu %[temp16], 0+" XSTR(BPS) "*" #A "(%[temp20]) \n\t" \ - "lbu %[temp17], 1+" XSTR(BPS) "*" #A "(%[temp20]) \n\t" \ - "lbu %[temp18], 2+" XSTR(BPS) "*" #A "(%[temp20]) \n\t" \ - "lbu %[temp19], 3+" XSTR(BPS) "*" #A "(%[temp20]) \n\t" \ - "addu %[" #TEMP0 "], %[temp16], %[" #TEMP0 "] \n\t" \ - "addu %[" #TEMP4 "], %[temp17], %[" #TEMP4 "] \n\t" \ - "addu %[" #TEMP8 "], %[temp18], %[" #TEMP8 "] \n\t" \ - "addu %[" #TEMP12 "], %[temp19], %[" #TEMP12 "] \n\t" \ - "slt %[temp16], %[" #TEMP0 "], $zero \n\t" \ - "slt %[temp17], %[" #TEMP4 "], $zero \n\t" \ - "slt %[temp18], %[" #TEMP8 "], $zero \n\t" \ - "slt %[temp19], %[" #TEMP12 "], $zero \n\t" \ - "movn %[" #TEMP0 "], $zero, %[temp16] \n\t" \ - "movn %[" #TEMP4 "], $zero, %[temp17] \n\t" \ - "movn %[" #TEMP8 "], $zero, %[temp18] \n\t" \ - "movn %[" #TEMP12 "], $zero, %[temp19] \n\t" \ - "addiu %[temp20], $zero, 255 \n\t" \ - "slt %[temp16], %[" #TEMP0 "], %[temp20] \n\t" \ - "slt %[temp17], %[" #TEMP4 "], %[temp20] \n\t" \ - "slt %[temp18], %[" #TEMP8 "], %[temp20] \n\t" \ - "slt %[temp19], %[" #TEMP12 "], %[temp20] \n\t" \ - "movz %[" #TEMP0 "], %[temp20], %[temp16] \n\t" \ - "movz %[" #TEMP4 "], %[temp20], %[temp17] \n\t" \ - "lw %[temp16], 8(%[args]) \n\t" \ - "movz %[" #TEMP8 "], %[temp20], %[temp18] \n\t" \ - "movz %[" #TEMP12 "], %[temp20], %[temp19] \n\t" \ - "sb %[" #TEMP0 "], 0+" XSTR(BPS) "*" #A "(%[temp16]) \n\t" \ - "sb %[" #TEMP4 "], 1+" XSTR(BPS) "*" #A "(%[temp16]) \n\t" \ - "sb %[" #TEMP8 "], 2+" XSTR(BPS) "*" #A "(%[temp16]) \n\t" \ - "sb %[" #TEMP12 "], 3+" XSTR(BPS) "*" #A "(%[temp16]) \n\t" - -// Does one or two inverse transforms. -static WEBP_INLINE void ITransformOne_MIPS32(const uint8_t* ref, - const int16_t* in, - uint8_t* dst) { - int temp0, temp1, temp2, temp3, temp4, temp5, temp6; - int temp7, temp8, temp9, temp10, temp11, temp12, temp13; - int temp14, temp15, temp16, temp17, temp18, temp19, temp20; - const int* args[3] = {(const int*)ref, (const int*)in, (const int*)dst}; - - __asm__ volatile( - "lw %[temp20], 4(%[args]) \n\t" - VERTICAL_PASS(0, 16, 8, 24, temp4, temp0, temp1, temp2, temp3) - VERTICAL_PASS(2, 18, 10, 26, temp8, temp4, temp5, temp6, temp7) - VERTICAL_PASS(4, 20, 12, 28, temp12, temp8, temp9, temp10, temp11) - VERTICAL_PASS(6, 22, 14, 30, temp20, temp12, temp13, temp14, temp15) - - HORIZONTAL_PASS(0, temp0, temp4, temp8, temp12) - HORIZONTAL_PASS(1, temp1, temp5, temp9, temp13) - HORIZONTAL_PASS(2, temp2, temp6, temp10, temp14) - HORIZONTAL_PASS(3, temp3, temp7, temp11, temp15) - - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9), [temp10]"=&r"(temp10), [temp11]"=&r"(temp11), - [temp12]"=&r"(temp12), [temp13]"=&r"(temp13), [temp14]"=&r"(temp14), - [temp15]"=&r"(temp15), [temp16]"=&r"(temp16), [temp17]"=&r"(temp17), - [temp18]"=&r"(temp18), [temp19]"=&r"(temp19), [temp20]"=&r"(temp20) - : [args]"r"(args), [kC1]"r"(kC1), [kC2]"r"(kC2) - : "memory", "hi", "lo" - ); -} - -static void ITransform_MIPS32(const uint8_t* ref, const int16_t* in, - uint8_t* dst, int do_two) { - ITransformOne_MIPS32(ref, in, dst); - if (do_two) { - ITransformOne_MIPS32(ref + 4, in + 16, dst + 4); - } -} - -#undef VERTICAL_PASS -#undef HORIZONTAL_PASS - -// macro for one pass through for loop in QuantizeBlock -// QUANTDIV macro inlined -// J - offset in bytes (kZigzag[n] * 2) -// K - offset in bytes (kZigzag[n] * 4) -// N - offset in bytes (n * 2) -#define QUANTIZE_ONE(J, K, N) \ - "lh %[temp0], " #J "(%[ppin]) \n\t" \ - "lhu %[temp1], " #J "(%[ppsharpen]) \n\t" \ - "lw %[temp2], " #K "(%[ppzthresh]) \n\t" \ - "sra %[sign], %[temp0], 15 \n\t" \ - "xor %[coeff], %[temp0], %[sign] \n\t" \ - "subu %[coeff], %[coeff], %[sign] \n\t" \ - "addu %[coeff], %[coeff], %[temp1] \n\t" \ - "slt %[temp4], %[temp2], %[coeff] \n\t" \ - "addiu %[temp5], $zero, 0 \n\t" \ - "addiu %[level], $zero, 0 \n\t" \ - "beqz %[temp4], 2f \n\t" \ - "lhu %[temp1], " #J "(%[ppiq]) \n\t" \ - "lw %[temp2], " #K "(%[ppbias]) \n\t" \ - "lhu %[temp3], " #J "(%[ppq]) \n\t" \ - "mul %[level], %[coeff], %[temp1] \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ - "sra %[level], %[level], 17 \n\t" \ - "slt %[temp4], %[max_level], %[level] \n\t" \ - "movn %[level], %[max_level], %[temp4] \n\t" \ - "xor %[level], %[level], %[sign] \n\t" \ - "subu %[level], %[level], %[sign] \n\t" \ - "mul %[temp5], %[level], %[temp3] \n\t" \ -"2: \n\t" \ - "sh %[temp5], " #J "(%[ppin]) \n\t" \ - "sh %[level], " #N "(%[pout]) \n\t" - -static int QuantizeBlock_MIPS32(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { - int temp0, temp1, temp2, temp3, temp4, temp5; - int sign, coeff, level, i; - int max_level = MAX_LEVEL; - - int16_t* ppin = &in[0]; - int16_t* pout = &out[0]; - const uint16_t* ppsharpen = &mtx->sharpen_[0]; - const uint32_t* ppzthresh = &mtx->zthresh_[0]; - const uint16_t* ppq = &mtx->q_[0]; - const uint16_t* ppiq = &mtx->iq_[0]; - const uint32_t* ppbias = &mtx->bias_[0]; - - __asm__ volatile( - QUANTIZE_ONE( 0, 0, 0) - QUANTIZE_ONE( 2, 4, 2) - QUANTIZE_ONE( 8, 16, 4) - QUANTIZE_ONE(16, 32, 6) - QUANTIZE_ONE(10, 20, 8) - QUANTIZE_ONE( 4, 8, 10) - QUANTIZE_ONE( 6, 12, 12) - QUANTIZE_ONE(12, 24, 14) - QUANTIZE_ONE(18, 36, 16) - QUANTIZE_ONE(24, 48, 18) - QUANTIZE_ONE(26, 52, 20) - QUANTIZE_ONE(20, 40, 22) - QUANTIZE_ONE(14, 28, 24) - QUANTIZE_ONE(22, 44, 26) - QUANTIZE_ONE(28, 56, 28) - QUANTIZE_ONE(30, 60, 30) - - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [sign]"=&r"(sign), [coeff]"=&r"(coeff), - [level]"=&r"(level) - : [pout]"r"(pout), [ppin]"r"(ppin), - [ppiq]"r"(ppiq), [max_level]"r"(max_level), - [ppbias]"r"(ppbias), [ppzthresh]"r"(ppzthresh), - [ppsharpen]"r"(ppsharpen), [ppq]"r"(ppq) - : "memory", "hi", "lo" - ); - - // moved out from macro to increase possibility for earlier breaking - for (i = 15; i >= 0; i--) { - if (out[i]) return 1; - } - return 0; -} - -static int Quantize2Blocks_MIPS32(int16_t in[32], int16_t out[32], - const VP8Matrix* const mtx) { - int nz; - nz = QuantizeBlock_MIPS32(in + 0 * 16, out + 0 * 16, mtx) << 0; - nz |= QuantizeBlock_MIPS32(in + 1 * 16, out + 1 * 16, mtx) << 1; - return nz; -} - -#undef QUANTIZE_ONE - -// macro for one horizontal pass in Disto4x4 (TTransform) -// two calls of function TTransform are merged into single one -// A - offset in bytes to load from a and b buffers -// E..H - offsets in bytes to store first results to tmp buffer -// E1..H1 - offsets in bytes to store second results to tmp buffer -#define HORIZONTAL_PASS(A, E, F, G, H, E1, F1, G1, H1) \ - "lbu %[temp0], 0+" XSTR(BPS) "*" #A "(%[a]) \n\t" \ - "lbu %[temp1], 1+" XSTR(BPS) "*" #A "(%[a]) \n\t" \ - "lbu %[temp2], 2+" XSTR(BPS) "*" #A "(%[a]) \n\t" \ - "lbu %[temp3], 3+" XSTR(BPS) "*" #A "(%[a]) \n\t" \ - "lbu %[temp4], 0+" XSTR(BPS) "*" #A "(%[b]) \n\t" \ - "lbu %[temp5], 1+" XSTR(BPS) "*" #A "(%[b]) \n\t" \ - "lbu %[temp6], 2+" XSTR(BPS) "*" #A "(%[b]) \n\t" \ - "lbu %[temp7], 3+" XSTR(BPS) "*" #A "(%[b]) \n\t" \ - "addu %[temp8], %[temp0], %[temp2] \n\t" \ - "subu %[temp0], %[temp0], %[temp2] \n\t" \ - "addu %[temp2], %[temp1], %[temp3] \n\t" \ - "subu %[temp1], %[temp1], %[temp3] \n\t" \ - "addu %[temp3], %[temp4], %[temp6] \n\t" \ - "subu %[temp4], %[temp4], %[temp6] \n\t" \ - "addu %[temp6], %[temp5], %[temp7] \n\t" \ - "subu %[temp5], %[temp5], %[temp7] \n\t" \ - "addu %[temp7], %[temp8], %[temp2] \n\t" \ - "subu %[temp2], %[temp8], %[temp2] \n\t" \ - "addu %[temp8], %[temp0], %[temp1] \n\t" \ - "subu %[temp0], %[temp0], %[temp1] \n\t" \ - "addu %[temp1], %[temp3], %[temp6] \n\t" \ - "subu %[temp3], %[temp3], %[temp6] \n\t" \ - "addu %[temp6], %[temp4], %[temp5] \n\t" \ - "subu %[temp4], %[temp4], %[temp5] \n\t" \ - "sw %[temp7], " #E "(%[tmp]) \n\t" \ - "sw %[temp2], " #H "(%[tmp]) \n\t" \ - "sw %[temp8], " #F "(%[tmp]) \n\t" \ - "sw %[temp0], " #G "(%[tmp]) \n\t" \ - "sw %[temp1], " #E1 "(%[tmp]) \n\t" \ - "sw %[temp3], " #H1 "(%[tmp]) \n\t" \ - "sw %[temp6], " #F1 "(%[tmp]) \n\t" \ - "sw %[temp4], " #G1 "(%[tmp]) \n\t" - -// macro for one vertical pass in Disto4x4 (TTransform) -// two calls of function TTransform are merged into single one -// since only one accu is available in mips32r1 instruction set -// first is done second call of function TTransform and after -// that first one. -// const int sum1 = TTransform(a, w); -// const int sum2 = TTransform(b, w); -// return abs(sum2 - sum1) >> 5; -// (sum2 - sum1) is calculated with madds (sub2) and msubs (sub1) -// A..D - offsets in bytes to load first results from tmp buffer -// A1..D1 - offsets in bytes to load second results from tmp buffer -// E..H - offsets in bytes to load from w buffer -#define VERTICAL_PASS(A, B, C, D, A1, B1, C1, D1, E, F, G, H) \ - "lw %[temp0], " #A1 "(%[tmp]) \n\t" \ - "lw %[temp1], " #C1 "(%[tmp]) \n\t" \ - "lw %[temp2], " #B1 "(%[tmp]) \n\t" \ - "lw %[temp3], " #D1 "(%[tmp]) \n\t" \ - "addu %[temp8], %[temp0], %[temp1] \n\t" \ - "subu %[temp0], %[temp0], %[temp1] \n\t" \ - "addu %[temp1], %[temp2], %[temp3] \n\t" \ - "subu %[temp2], %[temp2], %[temp3] \n\t" \ - "addu %[temp3], %[temp8], %[temp1] \n\t" \ - "subu %[temp8], %[temp8], %[temp1] \n\t" \ - "addu %[temp1], %[temp0], %[temp2] \n\t" \ - "subu %[temp0], %[temp0], %[temp2] \n\t" \ - "sra %[temp4], %[temp3], 31 \n\t" \ - "sra %[temp5], %[temp1], 31 \n\t" \ - "sra %[temp6], %[temp0], 31 \n\t" \ - "sra %[temp7], %[temp8], 31 \n\t" \ - "xor %[temp3], %[temp3], %[temp4] \n\t" \ - "xor %[temp1], %[temp1], %[temp5] \n\t" \ - "xor %[temp0], %[temp0], %[temp6] \n\t" \ - "xor %[temp8], %[temp8], %[temp7] \n\t" \ - "subu %[temp3], %[temp3], %[temp4] \n\t" \ - "subu %[temp1], %[temp1], %[temp5] \n\t" \ - "subu %[temp0], %[temp0], %[temp6] \n\t" \ - "subu %[temp8], %[temp8], %[temp7] \n\t" \ - "lhu %[temp4], " #E "(%[w]) \n\t" \ - "lhu %[temp5], " #F "(%[w]) \n\t" \ - "lhu %[temp6], " #G "(%[w]) \n\t" \ - "lhu %[temp7], " #H "(%[w]) \n\t" \ - "madd %[temp4], %[temp3] \n\t" \ - "madd %[temp5], %[temp1] \n\t" \ - "madd %[temp6], %[temp0] \n\t" \ - "madd %[temp7], %[temp8] \n\t" \ - "lw %[temp0], " #A "(%[tmp]) \n\t" \ - "lw %[temp1], " #C "(%[tmp]) \n\t" \ - "lw %[temp2], " #B "(%[tmp]) \n\t" \ - "lw %[temp3], " #D "(%[tmp]) \n\t" \ - "addu %[temp8], %[temp0], %[temp1] \n\t" \ - "subu %[temp0], %[temp0], %[temp1] \n\t" \ - "addu %[temp1], %[temp2], %[temp3] \n\t" \ - "subu %[temp2], %[temp2], %[temp3] \n\t" \ - "addu %[temp3], %[temp8], %[temp1] \n\t" \ - "subu %[temp1], %[temp8], %[temp1] \n\t" \ - "addu %[temp8], %[temp0], %[temp2] \n\t" \ - "subu %[temp0], %[temp0], %[temp2] \n\t" \ - "sra %[temp2], %[temp3], 31 \n\t" \ - "xor %[temp3], %[temp3], %[temp2] \n\t" \ - "subu %[temp3], %[temp3], %[temp2] \n\t" \ - "msub %[temp4], %[temp3] \n\t" \ - "sra %[temp2], %[temp8], 31 \n\t" \ - "sra %[temp3], %[temp0], 31 \n\t" \ - "sra %[temp4], %[temp1], 31 \n\t" \ - "xor %[temp8], %[temp8], %[temp2] \n\t" \ - "xor %[temp0], %[temp0], %[temp3] \n\t" \ - "xor %[temp1], %[temp1], %[temp4] \n\t" \ - "subu %[temp8], %[temp8], %[temp2] \n\t" \ - "subu %[temp0], %[temp0], %[temp3] \n\t" \ - "subu %[temp1], %[temp1], %[temp4] \n\t" \ - "msub %[temp5], %[temp8] \n\t" \ - "msub %[temp6], %[temp0] \n\t" \ - "msub %[temp7], %[temp1] \n\t" - -static int Disto4x4_MIPS32(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - int tmp[32]; - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8; - - __asm__ volatile( - HORIZONTAL_PASS(0, 0, 4, 8, 12, 64, 68, 72, 76) - HORIZONTAL_PASS(1, 16, 20, 24, 28, 80, 84, 88, 92) - HORIZONTAL_PASS(2, 32, 36, 40, 44, 96, 100, 104, 108) - HORIZONTAL_PASS(3, 48, 52, 56, 60, 112, 116, 120, 124) - "mthi $zero \n\t" - "mtlo $zero \n\t" - VERTICAL_PASS( 0, 16, 32, 48, 64, 80, 96, 112, 0, 8, 16, 24) - VERTICAL_PASS( 4, 20, 36, 52, 68, 84, 100, 116, 2, 10, 18, 26) - VERTICAL_PASS( 8, 24, 40, 56, 72, 88, 104, 120, 4, 12, 20, 28) - VERTICAL_PASS(12, 28, 44, 60, 76, 92, 108, 124, 6, 14, 22, 30) - "mflo %[temp0] \n\t" - "sra %[temp1], %[temp0], 31 \n\t" - "xor %[temp0], %[temp0], %[temp1] \n\t" - "subu %[temp0], %[temp0], %[temp1] \n\t" - "sra %[temp0], %[temp0], 5 \n\t" - - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8) - : [a]"r"(a), [b]"r"(b), [w]"r"(w), [tmp]"r"(tmp) - : "memory", "hi", "lo" - ); - - return temp0; -} - -#undef VERTICAL_PASS -#undef HORIZONTAL_PASS - -static int Disto16x16_MIPS32(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - int D = 0; - int x, y; - for (y = 0; y < 16 * BPS; y += 4 * BPS) { - for (x = 0; x < 16; x += 4) { - D += Disto4x4_MIPS32(a + x + y, b + x + y, w); - } - } - return D; -} - -// macro for one horizontal pass in FTransform -// temp0..temp15 holds tmp[0]..tmp[15] -// A - offset in bytes to load from src and ref buffers -// TEMP0..TEMP3 - registers for corresponding tmp elements -#define HORIZONTAL_PASS(A, TEMP0, TEMP1, TEMP2, TEMP3) \ - "lw %[" #TEMP1 "], 0(%[args]) \n\t" \ - "lw %[" #TEMP2 "], 4(%[args]) \n\t" \ - "lbu %[temp16], 0+" XSTR(BPS) "*" #A "(%[" #TEMP1 "]) \n\t" \ - "lbu %[temp17], 0+" XSTR(BPS) "*" #A "(%[" #TEMP2 "]) \n\t" \ - "lbu %[temp18], 1+" XSTR(BPS) "*" #A "(%[" #TEMP1 "]) \n\t" \ - "lbu %[temp19], 1+" XSTR(BPS) "*" #A "(%[" #TEMP2 "]) \n\t" \ - "subu %[temp20], %[temp16], %[temp17] \n\t" \ - "lbu %[temp16], 2+" XSTR(BPS) "*" #A "(%[" #TEMP1 "]) \n\t" \ - "lbu %[temp17], 2+" XSTR(BPS) "*" #A "(%[" #TEMP2 "]) \n\t" \ - "subu %[" #TEMP0 "], %[temp18], %[temp19] \n\t" \ - "lbu %[temp18], 3+" XSTR(BPS) "*" #A "(%[" #TEMP1 "]) \n\t" \ - "lbu %[temp19], 3+" XSTR(BPS) "*" #A "(%[" #TEMP2 "]) \n\t" \ - "subu %[" #TEMP1 "], %[temp16], %[temp17] \n\t" \ - "subu %[" #TEMP2 "], %[temp18], %[temp19] \n\t" \ - "addu %[" #TEMP3 "], %[temp20], %[" #TEMP2 "] \n\t" \ - "subu %[" #TEMP2 "], %[temp20], %[" #TEMP2 "] \n\t" \ - "addu %[temp20], %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ - "subu %[" #TEMP0 "], %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ - "mul %[temp16], %[" #TEMP2 "], %[c5352] \n\t" \ - "mul %[temp17], %[" #TEMP2 "], %[c2217] \n\t" \ - "mul %[temp18], %[" #TEMP0 "], %[c5352] \n\t" \ - "mul %[temp19], %[" #TEMP0 "], %[c2217] \n\t" \ - "addu %[" #TEMP1 "], %[" #TEMP3 "], %[temp20] \n\t" \ - "subu %[temp20], %[" #TEMP3 "], %[temp20] \n\t" \ - "sll %[" #TEMP0 "], %[" #TEMP1 "], 3 \n\t" \ - "sll %[" #TEMP2 "], %[temp20], 3 \n\t" \ - "addiu %[temp16], %[temp16], 1812 \n\t" \ - "addiu %[temp17], %[temp17], 937 \n\t" \ - "addu %[temp16], %[temp16], %[temp19] \n\t" \ - "subu %[temp17], %[temp17], %[temp18] \n\t" \ - "sra %[" #TEMP1 "], %[temp16], 9 \n\t" \ - "sra %[" #TEMP3 "], %[temp17], 9 \n\t" - -// macro for one vertical pass in FTransform -// temp0..temp15 holds tmp[0]..tmp[15] -// A..D - offsets in bytes to store to out buffer -// TEMP0, TEMP4, TEMP8 and TEMP12 - registers for corresponding tmp elements -#define VERTICAL_PASS(A, B, C, D, TEMP0, TEMP4, TEMP8, TEMP12) \ - "addu %[temp16], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ - "subu %[temp19], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ - "addu %[temp17], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ - "subu %[temp18], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ - "mul %[" #TEMP8 "], %[temp19], %[c2217] \n\t" \ - "mul %[" #TEMP12 "], %[temp18], %[c2217] \n\t" \ - "mul %[" #TEMP4 "], %[temp19], %[c5352] \n\t" \ - "mul %[temp18], %[temp18], %[c5352] \n\t" \ - "addiu %[temp16], %[temp16], 7 \n\t" \ - "addu %[" #TEMP0 "], %[temp16], %[temp17] \n\t" \ - "sra %[" #TEMP0 "], %[" #TEMP0 "], 4 \n\t" \ - "addu %[" #TEMP12 "], %[" #TEMP12 "], %[" #TEMP4 "] \n\t" \ - "subu %[" #TEMP4 "], %[temp16], %[temp17] \n\t" \ - "sra %[" #TEMP4 "], %[" #TEMP4 "], 4 \n\t" \ - "addiu %[" #TEMP8 "], %[" #TEMP8 "], 30000 \n\t" \ - "addiu %[" #TEMP12 "], %[" #TEMP12 "], 12000 \n\t" \ - "addiu %[" #TEMP8 "], %[" #TEMP8 "], 21000 \n\t" \ - "subu %[" #TEMP8 "], %[" #TEMP8 "], %[temp18] \n\t" \ - "sra %[" #TEMP12 "], %[" #TEMP12 "], 16 \n\t" \ - "sra %[" #TEMP8 "], %[" #TEMP8 "], 16 \n\t" \ - "addiu %[temp16], %[" #TEMP12 "], 1 \n\t" \ - "movn %[" #TEMP12 "], %[temp16], %[temp19] \n\t" \ - "sh %[" #TEMP0 "], " #A "(%[temp20]) \n\t" \ - "sh %[" #TEMP4 "], " #C "(%[temp20]) \n\t" \ - "sh %[" #TEMP8 "], " #D "(%[temp20]) \n\t" \ - "sh %[" #TEMP12 "], " #B "(%[temp20]) \n\t" - -static void FTransform_MIPS32(const uint8_t* src, const uint8_t* ref, - int16_t* out) { - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8; - int temp9, temp10, temp11, temp12, temp13, temp14, temp15, temp16; - int temp17, temp18, temp19, temp20; - const int c2217 = 2217; - const int c5352 = 5352; - const int* const args[3] = - { (const int*)src, (const int*)ref, (const int*)out }; - - __asm__ volatile( - HORIZONTAL_PASS(0, temp0, temp1, temp2, temp3) - HORIZONTAL_PASS(1, temp4, temp5, temp6, temp7) - HORIZONTAL_PASS(2, temp8, temp9, temp10, temp11) - HORIZONTAL_PASS(3, temp12, temp13, temp14, temp15) - "lw %[temp20], 8(%[args]) \n\t" - VERTICAL_PASS(0, 8, 16, 24, temp0, temp4, temp8, temp12) - VERTICAL_PASS(2, 10, 18, 26, temp1, temp5, temp9, temp13) - VERTICAL_PASS(4, 12, 20, 28, temp2, temp6, temp10, temp14) - VERTICAL_PASS(6, 14, 22, 30, temp3, temp7, temp11, temp15) - - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9), [temp10]"=&r"(temp10), [temp11]"=&r"(temp11), - [temp12]"=&r"(temp12), [temp13]"=&r"(temp13), [temp14]"=&r"(temp14), - [temp15]"=&r"(temp15), [temp16]"=&r"(temp16), [temp17]"=&r"(temp17), - [temp18]"=&r"(temp18), [temp19]"=&r"(temp19), [temp20]"=&r"(temp20) - : [args]"r"(args), [c2217]"r"(c2217), [c5352]"r"(c5352) - : "memory", "hi", "lo" - ); -} - -#undef VERTICAL_PASS -#undef HORIZONTAL_PASS - -#if !defined(WORK_AROUND_GCC) - -#define GET_SSE_INNER(A, B, C, D) \ - "lbu %[temp0], " #A "(%[a]) \n\t" \ - "lbu %[temp1], " #A "(%[b]) \n\t" \ - "lbu %[temp2], " #B "(%[a]) \n\t" \ - "lbu %[temp3], " #B "(%[b]) \n\t" \ - "lbu %[temp4], " #C "(%[a]) \n\t" \ - "lbu %[temp5], " #C "(%[b]) \n\t" \ - "lbu %[temp6], " #D "(%[a]) \n\t" \ - "lbu %[temp7], " #D "(%[b]) \n\t" \ - "subu %[temp0], %[temp0], %[temp1] \n\t" \ - "subu %[temp2], %[temp2], %[temp3] \n\t" \ - "subu %[temp4], %[temp4], %[temp5] \n\t" \ - "subu %[temp6], %[temp6], %[temp7] \n\t" \ - "madd %[temp0], %[temp0] \n\t" \ - "madd %[temp2], %[temp2] \n\t" \ - "madd %[temp4], %[temp4] \n\t" \ - "madd %[temp6], %[temp6] \n\t" - -#define GET_SSE(A, B, C, D) \ - GET_SSE_INNER(A, A + 1, A + 2, A + 3) \ - GET_SSE_INNER(B, B + 1, B + 2, B + 3) \ - GET_SSE_INNER(C, C + 1, C + 2, C + 3) \ - GET_SSE_INNER(D, D + 1, D + 2, D + 3) - -static int SSE16x16_MIPS32(const uint8_t* a, const uint8_t* b) { - int count; - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; - - __asm__ volatile( - "mult $zero, $zero \n\t" - - GET_SSE( 0 * BPS, 4 + 0 * BPS, 8 + 0 * BPS, 12 + 0 * BPS) - GET_SSE( 1 * BPS, 4 + 1 * BPS, 8 + 1 * BPS, 12 + 1 * BPS) - GET_SSE( 2 * BPS, 4 + 2 * BPS, 8 + 2 * BPS, 12 + 2 * BPS) - GET_SSE( 3 * BPS, 4 + 3 * BPS, 8 + 3 * BPS, 12 + 3 * BPS) - GET_SSE( 4 * BPS, 4 + 4 * BPS, 8 + 4 * BPS, 12 + 4 * BPS) - GET_SSE( 5 * BPS, 4 + 5 * BPS, 8 + 5 * BPS, 12 + 5 * BPS) - GET_SSE( 6 * BPS, 4 + 6 * BPS, 8 + 6 * BPS, 12 + 6 * BPS) - GET_SSE( 7 * BPS, 4 + 7 * BPS, 8 + 7 * BPS, 12 + 7 * BPS) - GET_SSE( 8 * BPS, 4 + 8 * BPS, 8 + 8 * BPS, 12 + 8 * BPS) - GET_SSE( 9 * BPS, 4 + 9 * BPS, 8 + 9 * BPS, 12 + 9 * BPS) - GET_SSE(10 * BPS, 4 + 10 * BPS, 8 + 10 * BPS, 12 + 10 * BPS) - GET_SSE(11 * BPS, 4 + 11 * BPS, 8 + 11 * BPS, 12 + 11 * BPS) - GET_SSE(12 * BPS, 4 + 12 * BPS, 8 + 12 * BPS, 12 + 12 * BPS) - GET_SSE(13 * BPS, 4 + 13 * BPS, 8 + 13 * BPS, 12 + 13 * BPS) - GET_SSE(14 * BPS, 4 + 14 * BPS, 8 + 14 * BPS, 12 + 14 * BPS) - GET_SSE(15 * BPS, 4 + 15 * BPS, 8 + 15 * BPS, 12 + 15 * BPS) - - "mflo %[count] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [count]"=&r"(count) - : [a]"r"(a), [b]"r"(b) - : "memory", "hi", "lo" - ); - return count; -} - -static int SSE16x8_MIPS32(const uint8_t* a, const uint8_t* b) { - int count; - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; - - __asm__ volatile( - "mult $zero, $zero \n\t" - - GET_SSE( 0 * BPS, 4 + 0 * BPS, 8 + 0 * BPS, 12 + 0 * BPS) - GET_SSE( 1 * BPS, 4 + 1 * BPS, 8 + 1 * BPS, 12 + 1 * BPS) - GET_SSE( 2 * BPS, 4 + 2 * BPS, 8 + 2 * BPS, 12 + 2 * BPS) - GET_SSE( 3 * BPS, 4 + 3 * BPS, 8 + 3 * BPS, 12 + 3 * BPS) - GET_SSE( 4 * BPS, 4 + 4 * BPS, 8 + 4 * BPS, 12 + 4 * BPS) - GET_SSE( 5 * BPS, 4 + 5 * BPS, 8 + 5 * BPS, 12 + 5 * BPS) - GET_SSE( 6 * BPS, 4 + 6 * BPS, 8 + 6 * BPS, 12 + 6 * BPS) - GET_SSE( 7 * BPS, 4 + 7 * BPS, 8 + 7 * BPS, 12 + 7 * BPS) - - "mflo %[count] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [count]"=&r"(count) - : [a]"r"(a), [b]"r"(b) - : "memory", "hi", "lo" - ); - return count; -} - -static int SSE8x8_MIPS32(const uint8_t* a, const uint8_t* b) { - int count; - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; - - __asm__ volatile( - "mult $zero, $zero \n\t" - - GET_SSE(0 * BPS, 4 + 0 * BPS, 1 * BPS, 4 + 1 * BPS) - GET_SSE(2 * BPS, 4 + 2 * BPS, 3 * BPS, 4 + 3 * BPS) - GET_SSE(4 * BPS, 4 + 4 * BPS, 5 * BPS, 4 + 5 * BPS) - GET_SSE(6 * BPS, 4 + 6 * BPS, 7 * BPS, 4 + 7 * BPS) - - "mflo %[count] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [count]"=&r"(count) - : [a]"r"(a), [b]"r"(b) - : "memory", "hi", "lo" - ); - return count; -} - -static int SSE4x4_MIPS32(const uint8_t* a, const uint8_t* b) { - int count; - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; - - __asm__ volatile( - "mult $zero, $zero \n\t" - - GET_SSE(0 * BPS, 1 * BPS, 2 * BPS, 3 * BPS) - - "mflo %[count] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [count]"=&r"(count) - : [a]"r"(a), [b]"r"(b) - : "memory", "hi", "lo" - ); - return count; -} - -#undef GET_SSE -#undef GET_SSE_INNER - -#endif // !WORK_AROUND_GCC - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspInitMIPS32(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitMIPS32(void) { - VP8ITransform = ITransform_MIPS32; - VP8FTransform = FTransform_MIPS32; - - VP8EncQuantizeBlock = QuantizeBlock_MIPS32; - VP8EncQuantize2Blocks = Quantize2Blocks_MIPS32; - - VP8TDisto4x4 = Disto4x4_MIPS32; - VP8TDisto16x16 = Disto16x16_MIPS32; - -#if !defined(WORK_AROUND_GCC) - VP8SSE16x16 = SSE16x16_MIPS32; - VP8SSE8x8 = SSE8x8_MIPS32; - VP8SSE16x8 = SSE16x8_MIPS32; - VP8SSE4x4 = SSE4x4_MIPS32; -#endif -} - -#else // !WEBP_USE_MIPS32 - -WEBP_DSP_INIT_STUB(VP8EncDspInitMIPS32) - -#endif // WEBP_USE_MIPS32 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_mips_dsp_r2.c deleted file mode 100644 index 9ddd8950..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_mips_dsp_r2.c +++ /dev/null @@ -1,1517 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MIPS version of speed-critical encoding functions. -// -// Author(s): Darko Laus (darko.laus@imgtec.com) -// Mirko Raus (mirko.raus@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) - -#include "src/dsp/mips_macro.h" -#include "src/enc/cost_enc.h" -#include "src/enc/vp8i_enc.h" - -static const int kC1 = 20091 + (1 << 16); -static const int kC2 = 35468; - -// O - output -// I - input (macro doesn't change it) -#define ADD_SUB_HALVES_X4(O0, O1, O2, O3, O4, O5, O6, O7, \ - I0, I1, I2, I3, I4, I5, I6, I7) \ - "addq.ph %[" #O0 "], %[" #I0 "], %[" #I1 "] \n\t" \ - "subq.ph %[" #O1 "], %[" #I0 "], %[" #I1 "] \n\t" \ - "addq.ph %[" #O2 "], %[" #I2 "], %[" #I3 "] \n\t" \ - "subq.ph %[" #O3 "], %[" #I2 "], %[" #I3 "] \n\t" \ - "addq.ph %[" #O4 "], %[" #I4 "], %[" #I5 "] \n\t" \ - "subq.ph %[" #O5 "], %[" #I4 "], %[" #I5 "] \n\t" \ - "addq.ph %[" #O6 "], %[" #I6 "], %[" #I7 "] \n\t" \ - "subq.ph %[" #O7 "], %[" #I6 "], %[" #I7 "] \n\t" - -// IO - input/output -#define ABS_X8(IO0, IO1, IO2, IO3, IO4, IO5, IO6, IO7) \ - "absq_s.ph %[" #IO0 "], %[" #IO0 "] \n\t" \ - "absq_s.ph %[" #IO1 "], %[" #IO1 "] \n\t" \ - "absq_s.ph %[" #IO2 "], %[" #IO2 "] \n\t" \ - "absq_s.ph %[" #IO3 "], %[" #IO3 "] \n\t" \ - "absq_s.ph %[" #IO4 "], %[" #IO4 "] \n\t" \ - "absq_s.ph %[" #IO5 "], %[" #IO5 "] \n\t" \ - "absq_s.ph %[" #IO6 "], %[" #IO6 "] \n\t" \ - "absq_s.ph %[" #IO7 "], %[" #IO7 "] \n\t" - -// dpa.w.ph $ac0 temp0 ,temp1 -// $ac += temp0[31..16] * temp1[31..16] + temp0[15..0] * temp1[15..0] -// dpax.w.ph $ac0 temp0 ,temp1 -// $ac += temp0[31..16] * temp1[15..0] + temp0[15..0] * temp1[31..16] -// O - output -// I - input (macro doesn't change it) -#define MUL_HALF(O0, I0, I1, I2, I3, I4, I5, I6, I7, \ - I8, I9, I10, I11, I12, I13, I14, I15) \ - "mult $ac0, $zero, $zero \n\t" \ - "dpa.w.ph $ac0, %[" #I2 "], %[" #I0 "] \n\t" \ - "dpax.w.ph $ac0, %[" #I5 "], %[" #I6 "] \n\t" \ - "dpa.w.ph $ac0, %[" #I8 "], %[" #I9 "] \n\t" \ - "dpax.w.ph $ac0, %[" #I11 "], %[" #I4 "] \n\t" \ - "dpa.w.ph $ac0, %[" #I12 "], %[" #I7 "] \n\t" \ - "dpax.w.ph $ac0, %[" #I13 "], %[" #I1 "] \n\t" \ - "dpa.w.ph $ac0, %[" #I14 "], %[" #I3 "] \n\t" \ - "dpax.w.ph $ac0, %[" #I15 "], %[" #I10 "] \n\t" \ - "mflo %[" #O0 "], $ac0 \n\t" - -#define OUTPUT_EARLY_CLOBBER_REGS_17() \ - OUTPUT_EARLY_CLOBBER_REGS_10(), \ - [temp11]"=&r"(temp11), [temp12]"=&r"(temp12), [temp13]"=&r"(temp13), \ - [temp14]"=&r"(temp14), [temp15]"=&r"(temp15), [temp16]"=&r"(temp16), \ - [temp17]"=&r"(temp17) - -// macro for one horizontal pass in FTransform -// temp0..temp15 holds tmp[0]..tmp[15] -// A - offset in bytes to load from src and ref buffers -// TEMP0..TEMP3 - registers for corresponding tmp elements -#define HORIZONTAL_PASS(A, TEMP0, TEMP1, TEMP2, TEMP3) \ - "lw %[" #TEMP0 "], 0(%[args]) \n\t" \ - "lw %[" #TEMP1 "], 4(%[args]) \n\t" \ - "lw %[" #TEMP2 "], " XSTR(BPS) "*" #A "(%[" #TEMP0 "]) \n\t" \ - "lw %[" #TEMP3 "], " XSTR(BPS) "*" #A "(%[" #TEMP1 "]) \n\t" \ - "preceu.ph.qbl %[" #TEMP0 "], %[" #TEMP2 "] \n\t" \ - "preceu.ph.qbl %[" #TEMP1 "], %[" #TEMP3 "] \n\t" \ - "preceu.ph.qbr %[" #TEMP2 "], %[" #TEMP2 "] \n\t" \ - "preceu.ph.qbr %[" #TEMP3 "], %[" #TEMP3 "] \n\t" \ - "subq.ph %[" #TEMP0 "], %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ - "subq.ph %[" #TEMP2 "], %[" #TEMP2 "], %[" #TEMP3 "] \n\t" \ - "rotr %[" #TEMP0 "], %[" #TEMP0 "], 16 \n\t" \ - "addq.ph %[" #TEMP1 "], %[" #TEMP2 "], %[" #TEMP0 "] \n\t" \ - "subq.ph %[" #TEMP3 "], %[" #TEMP2 "], %[" #TEMP0 "] \n\t" \ - "seh %[" #TEMP0 "], %[" #TEMP1 "] \n\t" \ - "sra %[temp16], %[" #TEMP1 "], 16 \n\t" \ - "seh %[temp19], %[" #TEMP3 "] \n\t" \ - "sra %[" #TEMP3 "], %[" #TEMP3 "], 16 \n\t" \ - "subu %[" #TEMP2 "], %[" #TEMP0 "], %[temp16] \n\t" \ - "addu %[" #TEMP0 "], %[" #TEMP0 "], %[temp16] \n\t" \ - "mul %[temp17], %[temp19], %[c2217] \n\t" \ - "mul %[temp18], %[" #TEMP3 "], %[c5352] \n\t" \ - "mul %[" #TEMP1 "], %[temp19], %[c5352] \n\t" \ - "mul %[temp16], %[" #TEMP3 "], %[c2217] \n\t" \ - "sll %[" #TEMP2 "], %[" #TEMP2 "], 3 \n\t" \ - "sll %[" #TEMP0 "], %[" #TEMP0 "], 3 \n\t" \ - "subu %[" #TEMP3 "], %[temp17], %[temp18] \n\t" \ - "addu %[" #TEMP1 "], %[temp16], %[" #TEMP1 "] \n\t" \ - "addiu %[" #TEMP3 "], %[" #TEMP3 "], 937 \n\t" \ - "addiu %[" #TEMP1 "], %[" #TEMP1 "], 1812 \n\t" \ - "sra %[" #TEMP3 "], %[" #TEMP3 "], 9 \n\t" \ - "sra %[" #TEMP1 "], %[" #TEMP1 "], 9 \n\t" - -// macro for one vertical pass in FTransform -// temp0..temp15 holds tmp[0]..tmp[15] -// A..D - offsets in bytes to store to out buffer -// TEMP0, TEMP4, TEMP8 and TEMP12 - registers for corresponding tmp elements -#define VERTICAL_PASS(A, B, C, D, TEMP0, TEMP4, TEMP8, TEMP12) \ - "addu %[temp16], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ - "subu %[temp19], %[" #TEMP0 "], %[" #TEMP12 "] \n\t" \ - "addu %[temp17], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ - "subu %[temp18], %[" #TEMP4 "], %[" #TEMP8 "] \n\t" \ - "mul %[" #TEMP8 "], %[temp19], %[c2217] \n\t" \ - "mul %[" #TEMP12 "], %[temp18], %[c2217] \n\t" \ - "mul %[" #TEMP4 "], %[temp19], %[c5352] \n\t" \ - "mul %[temp18], %[temp18], %[c5352] \n\t" \ - "addiu %[temp16], %[temp16], 7 \n\t" \ - "addu %[" #TEMP0 "], %[temp16], %[temp17] \n\t" \ - "sra %[" #TEMP0 "], %[" #TEMP0 "], 4 \n\t" \ - "addu %[" #TEMP12 "], %[" #TEMP12 "], %[" #TEMP4 "] \n\t" \ - "subu %[" #TEMP4 "], %[temp16], %[temp17] \n\t" \ - "sra %[" #TEMP4 "], %[" #TEMP4 "], 4 \n\t" \ - "addiu %[" #TEMP8 "], %[" #TEMP8 "], 30000 \n\t" \ - "addiu %[" #TEMP12 "], %[" #TEMP12 "], 12000 \n\t" \ - "addiu %[" #TEMP8 "], %[" #TEMP8 "], 21000 \n\t" \ - "subu %[" #TEMP8 "], %[" #TEMP8 "], %[temp18] \n\t" \ - "sra %[" #TEMP12 "], %[" #TEMP12 "], 16 \n\t" \ - "sra %[" #TEMP8 "], %[" #TEMP8 "], 16 \n\t" \ - "addiu %[temp16], %[" #TEMP12 "], 1 \n\t" \ - "movn %[" #TEMP12 "], %[temp16], %[temp19] \n\t" \ - "sh %[" #TEMP0 "], " #A "(%[temp20]) \n\t" \ - "sh %[" #TEMP4 "], " #C "(%[temp20]) \n\t" \ - "sh %[" #TEMP8 "], " #D "(%[temp20]) \n\t" \ - "sh %[" #TEMP12 "], " #B "(%[temp20]) \n\t" - -static void FTransform_MIPSdspR2(const uint8_t* src, const uint8_t* ref, - int16_t* out) { - const int c2217 = 2217; - const int c5352 = 5352; - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8; - int temp9, temp10, temp11, temp12, temp13, temp14, temp15, temp16; - int temp17, temp18, temp19, temp20; - const int* const args[3] = - { (const int*)src, (const int*)ref, (const int*)out }; - - __asm__ volatile ( - HORIZONTAL_PASS(0, temp0, temp1, temp2, temp3) - HORIZONTAL_PASS(1, temp4, temp5, temp6, temp7) - HORIZONTAL_PASS(2, temp8, temp9, temp10, temp11) - HORIZONTAL_PASS(3, temp12, temp13, temp14, temp15) - "lw %[temp20], 8(%[args]) \n\t" - VERTICAL_PASS(0, 8, 16, 24, temp0, temp4, temp8, temp12) - VERTICAL_PASS(2, 10, 18, 26, temp1, temp5, temp9, temp13) - VERTICAL_PASS(4, 12, 20, 28, temp2, temp6, temp10, temp14) - VERTICAL_PASS(6, 14, 22, 30, temp3, temp7, temp11, temp15) - OUTPUT_EARLY_CLOBBER_REGS_18(), - [temp0]"=&r"(temp0), [temp19]"=&r"(temp19), [temp20]"=&r"(temp20) - : [args]"r"(args), [c2217]"r"(c2217), [c5352]"r"(c5352) - : "memory", "hi", "lo" - ); -} - -#undef VERTICAL_PASS -#undef HORIZONTAL_PASS - -static WEBP_INLINE void ITransformOne(const uint8_t* ref, const int16_t* in, - uint8_t* dst) { - int temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, temp9; - int temp10, temp11, temp12, temp13, temp14, temp15, temp16, temp17, temp18; - - __asm__ volatile ( - "ulw %[temp1], 0(%[in]) \n\t" - "ulw %[temp2], 16(%[in]) \n\t" - LOAD_IN_X2(temp5, temp6, 24, 26) - ADD_SUB_HALVES(temp3, temp4, temp1, temp2) - LOAD_IN_X2(temp1, temp2, 8, 10) - MUL_SHIFT_SUM(temp7, temp8, temp9, temp10, temp11, temp12, temp13, temp14, - temp10, temp8, temp9, temp7, temp1, temp2, temp5, temp6, - temp13, temp11, temp14, temp12) - INSERT_HALF_X2(temp8, temp7, temp10, temp9) - "ulw %[temp17], 4(%[in]) \n\t" - "ulw %[temp18], 20(%[in]) \n\t" - ADD_SUB_HALVES(temp1, temp2, temp3, temp8) - ADD_SUB_HALVES(temp5, temp6, temp4, temp7) - ADD_SUB_HALVES(temp7, temp8, temp17, temp18) - LOAD_IN_X2(temp17, temp18, 12, 14) - LOAD_IN_X2(temp9, temp10, 28, 30) - MUL_SHIFT_SUM(temp11, temp12, temp13, temp14, temp15, temp16, temp4, temp17, - temp12, temp14, temp11, temp13, temp17, temp18, temp9, temp10, - temp15, temp4, temp16, temp17) - INSERT_HALF_X2(temp11, temp12, temp13, temp14) - ADD_SUB_HALVES(temp17, temp8, temp8, temp11) - ADD_SUB_HALVES(temp3, temp4, temp7, temp12) - - // horizontal - SRA_16(temp9, temp10, temp11, temp12, temp1, temp2, temp5, temp6) - INSERT_HALF_X2(temp1, temp6, temp5, temp2) - SRA_16(temp13, temp14, temp15, temp16, temp3, temp4, temp17, temp8) - "repl.ph %[temp2], 0x4 \n\t" - INSERT_HALF_X2(temp3, temp8, temp17, temp4) - "addq.ph %[temp1], %[temp1], %[temp2] \n\t" - "addq.ph %[temp6], %[temp6], %[temp2] \n\t" - ADD_SUB_HALVES(temp2, temp4, temp1, temp3) - ADD_SUB_HALVES(temp5, temp7, temp6, temp8) - MUL_SHIFT_SUM(temp1, temp3, temp6, temp8, temp9, temp13, temp17, temp18, - temp3, temp13, temp1, temp9, temp9, temp13, temp11, temp15, - temp6, temp17, temp8, temp18) - MUL_SHIFT_SUM(temp6, temp8, temp18, temp17, temp11, temp15, temp12, temp16, - temp8, temp15, temp6, temp11, temp12, temp16, temp10, temp14, - temp18, temp12, temp17, temp16) - INSERT_HALF_X2(temp1, temp3, temp9, temp13) - INSERT_HALF_X2(temp6, temp8, temp11, temp15) - SHIFT_R_SUM_X2(temp9, temp10, temp11, temp12, temp13, temp14, temp15, - temp16, temp2, temp4, temp5, temp7, temp3, temp1, temp8, - temp6) - PACK_2_HALVES_TO_WORD(temp1, temp2, temp3, temp4, temp9, temp12, temp13, - temp16, temp11, temp10, temp15, temp14) - LOAD_WITH_OFFSET_X4(temp10, temp11, temp14, temp15, ref, - 0, 0, 0, 0, - 0, 1, 2, 3, - BPS) - CONVERT_2_BYTES_TO_HALF(temp5, temp6, temp7, temp8, temp17, temp18, temp10, - temp11, temp10, temp11, temp14, temp15) - STORE_SAT_SUM_X2(temp5, temp6, temp7, temp8, temp17, temp18, temp10, temp11, - temp9, temp12, temp1, temp2, temp13, temp16, temp3, temp4, - dst, 0, 1, 2, 3, BPS) - - OUTPUT_EARLY_CLOBBER_REGS_18() - : [dst]"r"(dst), [in]"r"(in), [kC1]"r"(kC1), [kC2]"r"(kC2), [ref]"r"(ref) - : "memory", "hi", "lo" - ); -} - -static void ITransform_MIPSdspR2(const uint8_t* ref, const int16_t* in, - uint8_t* dst, int do_two) { - ITransformOne(ref, in, dst); - if (do_two) { - ITransformOne(ref + 4, in + 16, dst + 4); - } -} - -static int Disto4x4_MIPSdspR2(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - int temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, temp9; - int temp10, temp11, temp12, temp13, temp14, temp15, temp16, temp17; - - __asm__ volatile ( - LOAD_WITH_OFFSET_X4(temp1, temp2, temp3, temp4, a, - 0, 0, 0, 0, - 0, 1, 2, 3, - BPS) - CONVERT_2_BYTES_TO_HALF(temp5, temp6, temp7, temp8, temp9,temp10, temp11, - temp12, temp1, temp2, temp3, temp4) - ADD_SUB_HALVES_X4(temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, - temp5, temp6, temp7, temp8, temp9, temp10, temp11, temp12) - PACK_2_HALVES_TO_WORD(temp9, temp10, temp11, temp12, temp1, temp3, temp5, - temp7, temp2, temp4, temp6, temp8) - ADD_SUB_HALVES_X4(temp2, temp4, temp6, temp8, temp9, temp1, temp3, temp10, - temp1, temp9, temp3, temp10, temp5, temp11, temp7, temp12) - ADD_SUB_HALVES_X4(temp5, temp11, temp7, temp2, temp9, temp3, temp6, temp12, - temp2, temp9, temp6, temp3, temp4, temp1, temp8, temp10) - ADD_SUB_HALVES_X4(temp1, temp4, temp10, temp8, temp7, temp11, temp5, temp2, - temp5, temp7, temp11, temp2, temp9, temp6, temp3, temp12) - ABS_X8(temp1, temp4, temp10, temp8, temp7, temp11, temp5, temp2) - LOAD_WITH_OFFSET_X4(temp3, temp6, temp9, temp12, w, - 0, 4, 8, 12, - 0, 0, 0, 0, - 0) - LOAD_WITH_OFFSET_X4(temp13, temp14, temp15, temp16, w, - 0, 4, 8, 12, - 1, 1, 1, 1, - 16) - MUL_HALF(temp17, temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, - temp9, temp10, temp11, temp12, temp13, temp14, temp15, temp16) - LOAD_WITH_OFFSET_X4(temp1, temp2, temp3, temp4, b, - 0, 0, 0, 0, - 0, 1, 2, 3, - BPS) - CONVERT_2_BYTES_TO_HALF(temp5,temp6, temp7, temp8, temp9,temp10, temp11, - temp12, temp1, temp2, temp3, temp4) - ADD_SUB_HALVES_X4(temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, - temp5, temp6, temp7, temp8, temp9, temp10, temp11, temp12) - PACK_2_HALVES_TO_WORD(temp9, temp10, temp11, temp12, temp1, temp3, temp5, - temp7, temp2, temp4, temp6, temp8) - ADD_SUB_HALVES_X4(temp2, temp4, temp6, temp8, temp9, temp1, temp3, temp10, - temp1, temp9, temp3, temp10, temp5, temp11, temp7, temp12) - ADD_SUB_HALVES_X4(temp5, temp11, temp7, temp2, temp9, temp3, temp6, temp12, - temp2, temp9, temp6, temp3, temp4, temp1, temp8, temp10) - ADD_SUB_HALVES_X4(temp1, temp4, temp10, temp8, temp7, temp11, temp5, temp2, - temp5, temp7, temp11, temp2, temp9, temp6, temp3, temp12) - ABS_X8(temp1, temp4, temp10, temp8, temp7, temp11, temp5, temp2) - LOAD_WITH_OFFSET_X4(temp3, temp6, temp9, temp12, w, - 0, 4, 8, 12, - 0, 0, 0, 0, - 0) - LOAD_WITH_OFFSET_X4(temp13, temp14, temp15, temp16, w, - 0, 4, 8, 12, - 1, 1, 1, 1, - 16) - MUL_HALF(temp3, temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, - temp9, temp10, temp11, temp12, temp13, temp14, temp15, temp16) - OUTPUT_EARLY_CLOBBER_REGS_17() - : [a]"r"(a), [b]"r"(b), [w]"r"(w) - : "memory", "hi", "lo" - ); - return abs(temp3 - temp17) >> 5; -} - -static int Disto16x16_MIPSdspR2(const uint8_t* const a, - const uint8_t* const b, - const uint16_t* const w) { - int D = 0; - int x, y; - for (y = 0; y < 16 * BPS; y += 4 * BPS) { - for (x = 0; x < 16; x += 4) { - D += Disto4x4_MIPSdspR2(a + x + y, b + x + y, w); - } - } - return D; -} - -//------------------------------------------------------------------------------ -// Intra predictions - -#define FILL_PART(J, SIZE) \ - "usw %[value], 0+" #J "*" XSTR(BPS) "(%[dst]) \n\t" \ - "usw %[value], 4+" #J "*" XSTR(BPS) "(%[dst]) \n\t" \ - ".if " #SIZE " == 16 \n\t" \ - "usw %[value], 8+" #J "*" XSTR(BPS) "(%[dst]) \n\t" \ - "usw %[value], 12+" #J "*" XSTR(BPS) "(%[dst]) \n\t" \ - ".endif \n\t" - -#define FILL_8_OR_16(DST, VALUE, SIZE) do { \ - int value = (VALUE); \ - __asm__ volatile ( \ - "replv.qb %[value], %[value] \n\t" \ - FILL_PART( 0, SIZE) \ - FILL_PART( 1, SIZE) \ - FILL_PART( 2, SIZE) \ - FILL_PART( 3, SIZE) \ - FILL_PART( 4, SIZE) \ - FILL_PART( 5, SIZE) \ - FILL_PART( 6, SIZE) \ - FILL_PART( 7, SIZE) \ - ".if " #SIZE " == 16 \n\t" \ - FILL_PART( 8, 16) \ - FILL_PART( 9, 16) \ - FILL_PART(10, 16) \ - FILL_PART(11, 16) \ - FILL_PART(12, 16) \ - FILL_PART(13, 16) \ - FILL_PART(14, 16) \ - FILL_PART(15, 16) \ - ".endif \n\t" \ - : [value]"+&r"(value) \ - : [dst]"r"((DST)) \ - : "memory" \ - ); \ -} while (0) - -#define VERTICAL_PRED(DST, TOP, SIZE) \ -static WEBP_INLINE void VerticalPred##SIZE(uint8_t* (DST), \ - const uint8_t* (TOP)) { \ - int j; \ - if ((TOP)) { \ - for (j = 0; j < (SIZE); ++j) memcpy((DST) + j * BPS, (TOP), (SIZE)); \ - } else { \ - FILL_8_OR_16((DST), 127, (SIZE)); \ - } \ -} - -VERTICAL_PRED(dst, top, 8) -VERTICAL_PRED(dst, top, 16) - -#undef VERTICAL_PRED - -#define HORIZONTAL_PRED(DST, LEFT, SIZE) \ -static WEBP_INLINE void HorizontalPred##SIZE(uint8_t* (DST), \ - const uint8_t* (LEFT)) { \ - if (LEFT) { \ - int j; \ - for (j = 0; j < (SIZE); ++j) { \ - memset((DST) + j * BPS, (LEFT)[j], (SIZE)); \ - } \ - } else { \ - FILL_8_OR_16((DST), 129, (SIZE)); \ - } \ -} - -HORIZONTAL_PRED(dst, left, 8) -HORIZONTAL_PRED(dst, left, 16) - -#undef HORIZONTAL_PRED - -#define CLIPPING() \ - "preceu.ph.qbl %[temp2], %[temp0] \n\t" \ - "preceu.ph.qbr %[temp0], %[temp0] \n\t" \ - "preceu.ph.qbl %[temp3], %[temp1] \n\t" \ - "preceu.ph.qbr %[temp1], %[temp1] \n\t" \ - "addu.ph %[temp2], %[temp2], %[leftY_1] \n\t" \ - "addu.ph %[temp0], %[temp0], %[leftY_1] \n\t" \ - "addu.ph %[temp3], %[temp3], %[leftY_1] \n\t" \ - "addu.ph %[temp1], %[temp1], %[leftY_1] \n\t" \ - "shll_s.ph %[temp2], %[temp2], 7 \n\t" \ - "shll_s.ph %[temp0], %[temp0], 7 \n\t" \ - "shll_s.ph %[temp3], %[temp3], 7 \n\t" \ - "shll_s.ph %[temp1], %[temp1], 7 \n\t" \ - "precrqu_s.qb.ph %[temp0], %[temp2], %[temp0] \n\t" \ - "precrqu_s.qb.ph %[temp1], %[temp3], %[temp1] \n\t" - -#define CLIP_8B_TO_DST(DST, LEFT, TOP, SIZE) do { \ - int leftY_1 = ((int)(LEFT)[y] << 16) + (LEFT)[y]; \ - int temp0, temp1, temp2, temp3; \ - __asm__ volatile ( \ - "replv.ph %[leftY_1], %[leftY_1] \n\t" \ - "ulw %[temp0], 0(%[top]) \n\t" \ - "ulw %[temp1], 4(%[top]) \n\t" \ - "subu.ph %[leftY_1], %[leftY_1], %[left_1] \n\t" \ - CLIPPING() \ - "usw %[temp0], 0(%[dst]) \n\t" \ - "usw %[temp1], 4(%[dst]) \n\t" \ - ".if " #SIZE " == 16 \n\t" \ - "ulw %[temp0], 8(%[top]) \n\t" \ - "ulw %[temp1], 12(%[top]) \n\t" \ - CLIPPING() \ - "usw %[temp0], 8(%[dst]) \n\t" \ - "usw %[temp1], 12(%[dst]) \n\t" \ - ".endif \n\t" \ - : [leftY_1]"+&r"(leftY_1), [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), \ - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3) \ - : [left_1]"r"(left_1), [top]"r"((TOP)), [dst]"r"((DST)) \ - : "memory" \ - ); \ -} while (0) - -#define CLIP_TO_DST(DST, LEFT, TOP, SIZE) do { \ - int y; \ - const int left_1 = ((int)(LEFT)[-1] << 16) + (LEFT)[-1]; \ - for (y = 0; y < (SIZE); ++y) { \ - CLIP_8B_TO_DST((DST), (LEFT), (TOP), (SIZE)); \ - (DST) += BPS; \ - } \ -} while (0) - -#define TRUE_MOTION(DST, LEFT, TOP, SIZE) \ -static WEBP_INLINE void TrueMotion##SIZE(uint8_t* (DST), const uint8_t* (LEFT),\ - const uint8_t* (TOP)) { \ - if ((LEFT) != NULL) { \ - if ((TOP) != NULL) { \ - CLIP_TO_DST((DST), (LEFT), (TOP), (SIZE)); \ - } else { \ - HorizontalPred##SIZE((DST), (LEFT)); \ - } \ - } else { \ - /* true motion without left samples (hence: with default 129 value) */ \ - /* is equivalent to VE prediction where you just copy the top samples. */ \ - /* Note that if top samples are not available, the default value is */ \ - /* then 129, and not 127 as in the VerticalPred case. */ \ - if ((TOP) != NULL) { \ - VerticalPred##SIZE((DST), (TOP)); \ - } else { \ - FILL_8_OR_16((DST), 129, (SIZE)); \ - } \ - } \ -} - -TRUE_MOTION(dst, left, top, 8) -TRUE_MOTION(dst, left, top, 16) - -#undef TRUE_MOTION -#undef CLIP_TO_DST -#undef CLIP_8B_TO_DST -#undef CLIPPING - -static WEBP_INLINE void DCMode16(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - int DC, DC1; - int temp0, temp1, temp2, temp3; - - __asm__ volatile( - "beqz %[top], 2f \n\t" - LOAD_WITH_OFFSET_X4(temp0, temp1, temp2, temp3, top, - 0, 4, 8, 12, - 0, 0, 0, 0, - 0) - "raddu.w.qb %[temp0], %[temp0] \n\t" - "raddu.w.qb %[temp1], %[temp1] \n\t" - "raddu.w.qb %[temp2], %[temp2] \n\t" - "raddu.w.qb %[temp3], %[temp3] \n\t" - "addu %[temp0], %[temp0], %[temp1] \n\t" - "addu %[temp2], %[temp2], %[temp3] \n\t" - "addu %[DC], %[temp0], %[temp2] \n\t" - "move %[DC1], %[DC] \n\t" - "beqz %[left], 1f \n\t" - LOAD_WITH_OFFSET_X4(temp0, temp1, temp2, temp3, left, - 0, 4, 8, 12, - 0, 0, 0, 0, - 0) - "raddu.w.qb %[temp0], %[temp0] \n\t" - "raddu.w.qb %[temp1], %[temp1] \n\t" - "raddu.w.qb %[temp2], %[temp2] \n\t" - "raddu.w.qb %[temp3], %[temp3] \n\t" - "addu %[temp0], %[temp0], %[temp1] \n\t" - "addu %[temp2], %[temp2], %[temp3] \n\t" - "addu %[DC1], %[temp0], %[temp2] \n\t" - "1: \n\t" - "addu %[DC], %[DC], %[DC1] \n\t" - "j 3f \n\t" - "2: \n\t" - "beqz %[left], 4f \n\t" - LOAD_WITH_OFFSET_X4(temp0, temp1, temp2, temp3, left, - 0, 4, 8, 12, - 0, 0, 0, 0, - 0) - "raddu.w.qb %[temp0], %[temp0] \n\t" - "raddu.w.qb %[temp1], %[temp1] \n\t" - "raddu.w.qb %[temp2], %[temp2] \n\t" - "raddu.w.qb %[temp3], %[temp3] \n\t" - "addu %[temp0], %[temp0], %[temp1] \n\t" - "addu %[temp2], %[temp2], %[temp3] \n\t" - "addu %[DC], %[temp0], %[temp2] \n\t" - "addu %[DC], %[DC], %[DC] \n\t" - "3: \n\t" - "shra_r.w %[DC], %[DC], 5 \n\t" - "j 5f \n\t" - "4: \n\t" - "li %[DC], 0x80 \n\t" - "5: \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [DC]"=&r"(DC), - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), [DC1]"=&r"(DC1) - : [left]"r"(left), [top]"r"(top) - : "memory" - ); - - FILL_8_OR_16(dst, DC, 16); -} - -static WEBP_INLINE void DCMode8(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - int DC, DC1; - int temp0, temp1, temp2, temp3; - - __asm__ volatile( - "beqz %[top], 2f \n\t" - "ulw %[temp0], 0(%[top]) \n\t" - "ulw %[temp1], 4(%[top]) \n\t" - "raddu.w.qb %[temp0], %[temp0] \n\t" - "raddu.w.qb %[temp1], %[temp1] \n\t" - "addu %[DC], %[temp0], %[temp1] \n\t" - "move %[DC1], %[DC] \n\t" - "beqz %[left], 1f \n\t" - "ulw %[temp2], 0(%[left]) \n\t" - "ulw %[temp3], 4(%[left]) \n\t" - "raddu.w.qb %[temp2], %[temp2] \n\t" - "raddu.w.qb %[temp3], %[temp3] \n\t" - "addu %[DC1], %[temp2], %[temp3] \n\t" - "1: \n\t" - "addu %[DC], %[DC], %[DC1] \n\t" - "j 3f \n\t" - "2: \n\t" - "beqz %[left], 4f \n\t" - "ulw %[temp2], 0(%[left]) \n\t" - "ulw %[temp3], 4(%[left]) \n\t" - "raddu.w.qb %[temp2], %[temp2] \n\t" - "raddu.w.qb %[temp3], %[temp3] \n\t" - "addu %[DC], %[temp2], %[temp3] \n\t" - "addu %[DC], %[DC], %[DC] \n\t" - "3: \n\t" - "shra_r.w %[DC], %[DC], 4 \n\t" - "j 5f \n\t" - "4: \n\t" - "li %[DC], 0x80 \n\t" - "5: \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [DC]"=&r"(DC), - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), [DC1]"=&r"(DC1) - : [left]"r"(left), [top]"r"(top) - : "memory" - ); - - FILL_8_OR_16(dst, DC, 8); -} - -static void DC4(uint8_t* dst, const uint8_t* top) { - int temp0, temp1; - __asm__ volatile( - "ulw %[temp0], 0(%[top]) \n\t" - "ulw %[temp1], -5(%[top]) \n\t" - "raddu.w.qb %[temp0], %[temp0] \n\t" - "raddu.w.qb %[temp1], %[temp1] \n\t" - "addu %[temp0], %[temp0], %[temp1] \n\t" - "addiu %[temp0], %[temp0], 4 \n\t" - "srl %[temp0], %[temp0], 3 \n\t" - "replv.qb %[temp0], %[temp0] \n\t" - "usw %[temp0], 0*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp0], 1*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp0], 2*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp0], 3*" XSTR(BPS) "(%[dst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1) - : [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -static void TM4(uint8_t* dst, const uint8_t* top) { - int a10, a32, temp0, temp1, temp2, temp3, temp4, temp5; - const int c35 = 0xff00ff; - __asm__ volatile ( - "lbu %[temp1], 0(%[top]) \n\t" - "lbu %[a10], 1(%[top]) \n\t" - "lbu %[temp2], 2(%[top]) \n\t" - "lbu %[a32], 3(%[top]) \n\t" - "ulw %[temp0], -5(%[top]) \n\t" - "lbu %[temp4], -1(%[top]) \n\t" - "append %[a10], %[temp1], 16 \n\t" - "append %[a32], %[temp2], 16 \n\t" - "replv.ph %[temp4], %[temp4] \n\t" - "shrl.ph %[temp1], %[temp0], 8 \n\t" - "and %[temp0], %[temp0], %[c35] \n\t" - "subu.ph %[temp1], %[temp1], %[temp4] \n\t" - "subu.ph %[temp0], %[temp0], %[temp4] \n\t" - "srl %[temp2], %[temp1], 16 \n\t" - "srl %[temp3], %[temp0], 16 \n\t" - "replv.ph %[temp2], %[temp2] \n\t" - "replv.ph %[temp3], %[temp3] \n\t" - "replv.ph %[temp4], %[temp1] \n\t" - "replv.ph %[temp5], %[temp0] \n\t" - "addu.ph %[temp0], %[temp3], %[a10] \n\t" - "addu.ph %[temp1], %[temp3], %[a32] \n\t" - "addu.ph %[temp3], %[temp2], %[a10] \n\t" - "addu.ph %[temp2], %[temp2], %[a32] \n\t" - "shll_s.ph %[temp0], %[temp0], 7 \n\t" - "shll_s.ph %[temp1], %[temp1], 7 \n\t" - "shll_s.ph %[temp3], %[temp3], 7 \n\t" - "shll_s.ph %[temp2], %[temp2], 7 \n\t" - "precrqu_s.qb.ph %[temp0], %[temp1], %[temp0] \n\t" - "precrqu_s.qb.ph %[temp1], %[temp2], %[temp3] \n\t" - "addu.ph %[temp2], %[temp5], %[a10] \n\t" - "addu.ph %[temp3], %[temp5], %[a32] \n\t" - "addu.ph %[temp5], %[temp4], %[a10] \n\t" - "addu.ph %[temp4], %[temp4], %[a32] \n\t" - "shll_s.ph %[temp2], %[temp2], 7 \n\t" - "shll_s.ph %[temp3], %[temp3], 7 \n\t" - "shll_s.ph %[temp4], %[temp4], 7 \n\t" - "shll_s.ph %[temp5], %[temp5], 7 \n\t" - "precrqu_s.qb.ph %[temp2], %[temp3], %[temp2] \n\t" - "precrqu_s.qb.ph %[temp3], %[temp4], %[temp5] \n\t" - "usw %[temp1], 0*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp0], 1*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp3], 2*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp2], 3*" XSTR(BPS) "(%[dst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [a10]"=&r"(a10), [a32]"=&r"(a32) - : [c35]"r"(c35), [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -static void VE4(uint8_t* dst, const uint8_t* top) { - int temp0, temp1, temp2, temp3, temp4, temp5, temp6; - __asm__ volatile( - "ulw %[temp0], -1(%[top]) \n\t" - "ulh %[temp1], 3(%[top]) \n\t" - "preceu.ph.qbr %[temp2], %[temp0] \n\t" - "preceu.ph.qbl %[temp3], %[temp0] \n\t" - "preceu.ph.qbr %[temp4], %[temp1] \n\t" - "packrl.ph %[temp5], %[temp3], %[temp2] \n\t" - "packrl.ph %[temp6], %[temp4], %[temp3] \n\t" - "shll.ph %[temp5], %[temp5], 1 \n\t" - "shll.ph %[temp6], %[temp6], 1 \n\t" - "addq.ph %[temp2], %[temp5], %[temp2] \n\t" - "addq.ph %[temp6], %[temp6], %[temp4] \n\t" - "addq.ph %[temp2], %[temp2], %[temp3] \n\t" - "addq.ph %[temp6], %[temp6], %[temp3] \n\t" - "shra_r.ph %[temp2], %[temp2], 2 \n\t" - "shra_r.ph %[temp6], %[temp6], 2 \n\t" - "precr.qb.ph %[temp4], %[temp6], %[temp2] \n\t" - "usw %[temp4], 0*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp4], 1*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp4], 2*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp4], 3*" XSTR(BPS) "(%[dst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6) - : [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -static void HE4(uint8_t* dst, const uint8_t* top) { - int temp0, temp1, temp2, temp3, temp4, temp5, temp6; - __asm__ volatile( - "ulw %[temp0], -4(%[top]) \n\t" - "lbu %[temp1], -5(%[top]) \n\t" - "preceu.ph.qbr %[temp2], %[temp0] \n\t" - "preceu.ph.qbl %[temp3], %[temp0] \n\t" - "replv.ph %[temp4], %[temp1] \n\t" - "packrl.ph %[temp5], %[temp3], %[temp2] \n\t" - "packrl.ph %[temp6], %[temp2], %[temp4] \n\t" - "shll.ph %[temp5], %[temp5], 1 \n\t" - "shll.ph %[temp6], %[temp6], 1 \n\t" - "addq.ph %[temp3], %[temp3], %[temp5] \n\t" - "addq.ph %[temp3], %[temp3], %[temp2] \n\t" - "addq.ph %[temp2], %[temp2], %[temp6] \n\t" - "addq.ph %[temp2], %[temp2], %[temp4] \n\t" - "shra_r.ph %[temp3], %[temp3], 2 \n\t" - "shra_r.ph %[temp2], %[temp2], 2 \n\t" - "replv.qb %[temp0], %[temp3] \n\t" - "replv.qb %[temp1], %[temp2] \n\t" - "srl %[temp3], %[temp3], 16 \n\t" - "srl %[temp2], %[temp2], 16 \n\t" - "replv.qb %[temp3], %[temp3] \n\t" - "replv.qb %[temp2], %[temp2] \n\t" - "usw %[temp3], 0*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp0], 1*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp2], 2*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp1], 3*" XSTR(BPS) "(%[dst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6) - : [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -static void RD4(uint8_t* dst, const uint8_t* top) { - int temp0, temp1, temp2, temp3, temp4, temp5; - int temp6, temp7, temp8, temp9, temp10, temp11; - __asm__ volatile( - "ulw %[temp0], -5(%[top]) \n\t" - "ulw %[temp1], -1(%[top]) \n\t" - "preceu.ph.qbl %[temp2], %[temp0] \n\t" - "preceu.ph.qbr %[temp3], %[temp0] \n\t" - "preceu.ph.qbr %[temp4], %[temp1] \n\t" - "preceu.ph.qbl %[temp5], %[temp1] \n\t" - "packrl.ph %[temp6], %[temp2], %[temp3] \n\t" - "packrl.ph %[temp7], %[temp4], %[temp2] \n\t" - "packrl.ph %[temp8], %[temp5], %[temp4] \n\t" - "shll.ph %[temp6], %[temp6], 1 \n\t" - "addq.ph %[temp9], %[temp2], %[temp6] \n\t" - "shll.ph %[temp7], %[temp7], 1 \n\t" - "addq.ph %[temp9], %[temp9], %[temp3] \n\t" - "shll.ph %[temp8], %[temp8], 1 \n\t" - "shra_r.ph %[temp9], %[temp9], 2 \n\t" - "addq.ph %[temp10], %[temp4], %[temp7] \n\t" - "addq.ph %[temp11], %[temp5], %[temp8] \n\t" - "addq.ph %[temp10], %[temp10], %[temp2] \n\t" - "addq.ph %[temp11], %[temp11], %[temp4] \n\t" - "shra_r.ph %[temp10], %[temp10], 2 \n\t" - "shra_r.ph %[temp11], %[temp11], 2 \n\t" - "lbu %[temp0], 3(%[top]) \n\t" - "lbu %[temp1], 2(%[top]) \n\t" - "lbu %[temp2], 1(%[top]) \n\t" - "sll %[temp1], %[temp1], 1 \n\t" - "addu %[temp0], %[temp0], %[temp1] \n\t" - "addu %[temp0], %[temp0], %[temp2] \n\t" - "precr.qb.ph %[temp9], %[temp10], %[temp9] \n\t" - "shra_r.w %[temp0], %[temp0], 2 \n\t" - "precr.qb.ph %[temp10], %[temp11], %[temp10] \n\t" - "usw %[temp9], 3*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp10], 1*" XSTR(BPS) "(%[dst]) \n\t" - "prepend %[temp9], %[temp11], 8 \n\t" - "prepend %[temp10], %[temp0], 8 \n\t" - "usw %[temp9], 2*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp10], 0*" XSTR(BPS) "(%[dst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9), [temp10]"=&r"(temp10), [temp11]"=&r"(temp11) - : [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -static void VR4(uint8_t* dst, const uint8_t* top) { - int temp0, temp1, temp2, temp3, temp4; - int temp5, temp6, temp7, temp8, temp9; - __asm__ volatile ( - "ulw %[temp0], -4(%[top]) \n\t" - "ulw %[temp1], 0(%[top]) \n\t" - "preceu.ph.qbl %[temp2], %[temp0] \n\t" - "preceu.ph.qbr %[temp0], %[temp0] \n\t" - "preceu.ph.qbla %[temp3], %[temp1] \n\t" - "preceu.ph.qbra %[temp1], %[temp1] \n\t" - "packrl.ph %[temp7], %[temp3], %[temp2] \n\t" - "addqh_r.ph %[temp4], %[temp1], %[temp3] \n\t" - "move %[temp6], %[temp1] \n\t" - "append %[temp1], %[temp2], 16 \n\t" - "shll.ph %[temp9], %[temp6], 1 \n\t" - "addqh_r.ph %[temp5], %[temp7], %[temp6] \n\t" - "shll.ph %[temp8], %[temp7], 1 \n\t" - "addu.ph %[temp3], %[temp7], %[temp3] \n\t" - "addu.ph %[temp1], %[temp1], %[temp6] \n\t" - "packrl.ph %[temp7], %[temp2], %[temp0] \n\t" - "addu.ph %[temp6], %[temp0], %[temp2] \n\t" - "addu.ph %[temp3], %[temp3], %[temp9] \n\t" - "addu.ph %[temp1], %[temp1], %[temp8] \n\t" - "shll.ph %[temp7], %[temp7], 1 \n\t" - "shra_r.ph %[temp3], %[temp3], 2 \n\t" - "shra_r.ph %[temp1], %[temp1], 2 \n\t" - "addu.ph %[temp6], %[temp6], %[temp7] \n\t" - "shra_r.ph %[temp6], %[temp6], 2 \n\t" - "precrq.ph.w %[temp8], %[temp4], %[temp5] \n\t" - "append %[temp4], %[temp5], 16 \n\t" - "precrq.ph.w %[temp2], %[temp3], %[temp1] \n\t" - "append %[temp3], %[temp1], 16 \n\t" - "precr.qb.ph %[temp8], %[temp8], %[temp4] \n\t" - "precr.qb.ph %[temp3], %[temp2], %[temp3] \n\t" - "usw %[temp8], 0*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp3], 1*" XSTR(BPS) "(%[dst]) \n\t" - "append %[temp3], %[temp6], 8 \n\t" - "srl %[temp6], %[temp6], 16 \n\t" - "append %[temp8], %[temp6], 8 \n\t" - "usw %[temp3], 3*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp8], 2*" XSTR(BPS) "(%[dst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9) - : [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -static void LD4(uint8_t* dst, const uint8_t* top) { - int temp0, temp1, temp2, temp3, temp4, temp5; - int temp6, temp7, temp8, temp9, temp10, temp11; - __asm__ volatile( - "ulw %[temp0], 0(%[top]) \n\t" - "ulw %[temp1], 4(%[top]) \n\t" - "preceu.ph.qbl %[temp2], %[temp0] \n\t" - "preceu.ph.qbr %[temp3], %[temp0] \n\t" - "preceu.ph.qbr %[temp4], %[temp1] \n\t" - "preceu.ph.qbl %[temp5], %[temp1] \n\t" - "packrl.ph %[temp6], %[temp2], %[temp3] \n\t" - "packrl.ph %[temp7], %[temp4], %[temp2] \n\t" - "packrl.ph %[temp8], %[temp5], %[temp4] \n\t" - "shll.ph %[temp6], %[temp6], 1 \n\t" - "addq.ph %[temp9], %[temp2], %[temp6] \n\t" - "shll.ph %[temp7], %[temp7], 1 \n\t" - "addq.ph %[temp9], %[temp9], %[temp3] \n\t" - "shll.ph %[temp8], %[temp8], 1 \n\t" - "shra_r.ph %[temp9], %[temp9], 2 \n\t" - "addq.ph %[temp10], %[temp4], %[temp7] \n\t" - "addq.ph %[temp11], %[temp5], %[temp8] \n\t" - "addq.ph %[temp10], %[temp10], %[temp2] \n\t" - "addq.ph %[temp11], %[temp11], %[temp4] \n\t" - "shra_r.ph %[temp10], %[temp10], 2 \n\t" - "shra_r.ph %[temp11], %[temp11], 2 \n\t" - "srl %[temp1], %[temp1], 24 \n\t" - "sll %[temp1], %[temp1], 1 \n\t" - "raddu.w.qb %[temp5], %[temp5] \n\t" - "precr.qb.ph %[temp9], %[temp10], %[temp9] \n\t" - "precr.qb.ph %[temp10], %[temp11], %[temp10] \n\t" - "addu %[temp1], %[temp1], %[temp5] \n\t" - "shra_r.w %[temp1], %[temp1], 2 \n\t" - "usw %[temp9], 0*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp10], 2*" XSTR(BPS) "(%[dst]) \n\t" - "prepend %[temp9], %[temp11], 8 \n\t" - "prepend %[temp10], %[temp1], 8 \n\t" - "usw %[temp9], 1*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp10], 3*" XSTR(BPS) "(%[dst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9), [temp10]"=&r"(temp10), [temp11]"=&r"(temp11) - : [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -static void VL4(uint8_t* dst, const uint8_t* top) { - int temp0, temp1, temp2, temp3, temp4; - int temp5, temp6, temp7, temp8, temp9; - __asm__ volatile ( - "ulw %[temp0], 0(%[top]) \n\t" - "ulw %[temp1], 4(%[top]) \n\t" - "preceu.ph.qbla %[temp2], %[temp0] \n\t" - "preceu.ph.qbra %[temp0], %[temp0] \n\t" - "preceu.ph.qbl %[temp3], %[temp1] \n\t" - "preceu.ph.qbr %[temp1], %[temp1] \n\t" - "addqh_r.ph %[temp4], %[temp0], %[temp2] \n\t" - "packrl.ph %[temp7], %[temp1], %[temp0] \n\t" - "precrq.ph.w %[temp6], %[temp1], %[temp2] \n\t" - "shll.ph %[temp9], %[temp2], 1 \n\t" - "addqh_r.ph %[temp5], %[temp7], %[temp2] \n\t" - "shll.ph %[temp8], %[temp7], 1 \n\t" - "addu.ph %[temp2], %[temp2], %[temp6] \n\t" - "addu.ph %[temp0], %[temp0], %[temp7] \n\t" - "packrl.ph %[temp7], %[temp3], %[temp1] \n\t" - "addu.ph %[temp6], %[temp1], %[temp3] \n\t" - "addu.ph %[temp2], %[temp2], %[temp8] \n\t" - "addu.ph %[temp0], %[temp0], %[temp9] \n\t" - "shll.ph %[temp7], %[temp7], 1 \n\t" - "shra_r.ph %[temp2], %[temp2], 2 \n\t" - "shra_r.ph %[temp0], %[temp0], 2 \n\t" - "addu.ph %[temp6], %[temp6], %[temp7] \n\t" - "shra_r.ph %[temp6], %[temp6], 2 \n\t" - "precrq.ph.w %[temp8], %[temp5], %[temp4] \n\t" - "append %[temp5], %[temp4], 16 \n\t" - "precrq.ph.w %[temp3], %[temp2], %[temp0] \n\t" - "append %[temp2], %[temp0], 16 \n\t" - "precr.qb.ph %[temp8], %[temp8], %[temp5] \n\t" - "precr.qb.ph %[temp3], %[temp3], %[temp2] \n\t" - "usw %[temp8], 0*" XSTR(BPS) "(%[dst]) \n\t" - "prepend %[temp8], %[temp6], 8 \n\t" - "usw %[temp3], 1*" XSTR(BPS) "(%[dst]) \n\t" - "srl %[temp6], %[temp6], 16 \n\t" - "prepend %[temp3], %[temp6], 8 \n\t" - "usw %[temp8], 2*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp3], 3*" XSTR(BPS) "(%[dst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9) - : [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -static void HD4(uint8_t* dst, const uint8_t* top) { - int temp0, temp1, temp2, temp3, temp4; - int temp5, temp6, temp7, temp8, temp9; - __asm__ volatile ( - "ulw %[temp0], -5(%[top]) \n\t" - "ulw %[temp1], -1(%[top]) \n\t" - "preceu.ph.qbla %[temp2], %[temp0] \n\t" - "preceu.ph.qbra %[temp0], %[temp0] \n\t" - "preceu.ph.qbl %[temp3], %[temp1] \n\t" - "preceu.ph.qbr %[temp1], %[temp1] \n\t" - "addqh_r.ph %[temp4], %[temp0], %[temp2] \n\t" - "packrl.ph %[temp7], %[temp1], %[temp0] \n\t" - "precrq.ph.w %[temp6], %[temp1], %[temp2] \n\t" - "shll.ph %[temp9], %[temp2], 1 \n\t" - "addqh_r.ph %[temp5], %[temp7], %[temp2] \n\t" - "shll.ph %[temp8], %[temp7], 1 \n\t" - "addu.ph %[temp2], %[temp2], %[temp6] \n\t" - "addu.ph %[temp0], %[temp0], %[temp7] \n\t" - "packrl.ph %[temp7], %[temp3], %[temp1] \n\t" - "addu.ph %[temp6], %[temp1], %[temp3] \n\t" - "addu.ph %[temp2], %[temp2], %[temp8] \n\t" - "addu.ph %[temp0], %[temp0], %[temp9] \n\t" - "shll.ph %[temp7], %[temp7], 1 \n\t" - "shra_r.ph %[temp2], %[temp2], 2 \n\t" - "shra_r.ph %[temp0], %[temp0], 2 \n\t" - "addu.ph %[temp6], %[temp6], %[temp7] \n\t" - "shra_r.ph %[temp6], %[temp6], 2 \n\t" - "precrq.ph.w %[temp1], %[temp2], %[temp5] \n\t" - "precrq.ph.w %[temp3], %[temp0], %[temp4] \n\t" - "precr.qb.ph %[temp7], %[temp6], %[temp1] \n\t" - "precr.qb.ph %[temp6], %[temp1], %[temp3] \n\t" - "usw %[temp7], 0*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp6], 1*" XSTR(BPS) "(%[dst]) \n\t" - "append %[temp2], %[temp5], 16 \n\t" - "append %[temp0], %[temp4], 16 \n\t" - "precr.qb.ph %[temp5], %[temp3], %[temp2] \n\t" - "precr.qb.ph %[temp4], %[temp2], %[temp0] \n\t" - "usw %[temp5], 2*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp4], 3*" XSTR(BPS) "(%[dst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9) - : [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -static void HU4(uint8_t* dst, const uint8_t* top) { - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; - __asm__ volatile ( - "ulw %[temp0], -5(%[top]) \n\t" - "preceu.ph.qbl %[temp1], %[temp0] \n\t" - "preceu.ph.qbr %[temp2], %[temp0] \n\t" - "packrl.ph %[temp3], %[temp1], %[temp2] \n\t" - "replv.qb %[temp7], %[temp2] \n\t" - "addqh_r.ph %[temp4], %[temp1], %[temp3] \n\t" - "addqh_r.ph %[temp5], %[temp3], %[temp2] \n\t" - "shll.ph %[temp6], %[temp3], 1 \n\t" - "addu.ph %[temp3], %[temp2], %[temp3] \n\t" - "addu.ph %[temp6], %[temp1], %[temp6] \n\t" - "shll.ph %[temp0], %[temp2], 1 \n\t" - "addu.ph %[temp6], %[temp6], %[temp2] \n\t" - "addu.ph %[temp0], %[temp3], %[temp0] \n\t" - "shra_r.ph %[temp6], %[temp6], 2 \n\t" - "shra_r.ph %[temp0], %[temp0], 2 \n\t" - "packrl.ph %[temp3], %[temp6], %[temp5] \n\t" - "precrq.ph.w %[temp2], %[temp6], %[temp4] \n\t" - "append %[temp0], %[temp5], 16 \n\t" - "precr.qb.ph %[temp3], %[temp3], %[temp2] \n\t" - "usw %[temp3], 0*" XSTR(BPS) "(%[dst]) \n\t" - "precr.qb.ph %[temp1], %[temp7], %[temp0] \n\t" - "usw %[temp7], 3*" XSTR(BPS) "(%[dst]) \n\t" - "packrl.ph %[temp2], %[temp1], %[temp3] \n\t" - "usw %[temp1], 2*" XSTR(BPS) "(%[dst]) \n\t" - "usw %[temp2], 1*" XSTR(BPS) "(%[dst]) \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7) - : [top]"r"(top), [dst]"r"(dst) - : "memory" - ); -} - -//------------------------------------------------------------------------------ -// Chroma 8x8 prediction (paragraph 12.2) - -static void IntraChromaPreds_MIPSdspR2(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - // U block - DCMode8(C8DC8 + dst, left, top); - VerticalPred8(C8VE8 + dst, top); - HorizontalPred8(C8HE8 + dst, left); - TrueMotion8(C8TM8 + dst, left, top); - // V block - dst += 8; - if (top) top += 8; - if (left) left += 16; - DCMode8(C8DC8 + dst, left, top); - VerticalPred8(C8VE8 + dst, top); - HorizontalPred8(C8HE8 + dst, left); - TrueMotion8(C8TM8 + dst, left, top); -} - -//------------------------------------------------------------------------------ -// luma 16x16 prediction (paragraph 12.3) - -static void Intra16Preds_MIPSdspR2(uint8_t* dst, - const uint8_t* left, const uint8_t* top) { - DCMode16(I16DC16 + dst, left, top); - VerticalPred16(I16VE16 + dst, top); - HorizontalPred16(I16HE16 + dst, left); - TrueMotion16(I16TM16 + dst, left, top); -} - -// Left samples are top[-5 .. -2], top_left is top[-1], top are -// located at top[0..3], and top right is top[4..7] -static void Intra4Preds_MIPSdspR2(uint8_t* dst, const uint8_t* top) { - DC4(I4DC4 + dst, top); - TM4(I4TM4 + dst, top); - VE4(I4VE4 + dst, top); - HE4(I4HE4 + dst, top); - RD4(I4RD4 + dst, top); - VR4(I4VR4 + dst, top); - LD4(I4LD4 + dst, top); - VL4(I4VL4 + dst, top); - HD4(I4HD4 + dst, top); - HU4(I4HU4 + dst, top); -} - -//------------------------------------------------------------------------------ -// Metric - -#if !defined(WORK_AROUND_GCC) - -#define GET_SSE_INNER(A) \ - "lw %[temp0], " #A "(%[a]) \n\t" \ - "lw %[temp1], " #A "(%[b]) \n\t" \ - "preceu.ph.qbr %[temp2], %[temp0] \n\t" \ - "preceu.ph.qbl %[temp0], %[temp0] \n\t" \ - "preceu.ph.qbr %[temp3], %[temp1] \n\t" \ - "preceu.ph.qbl %[temp1], %[temp1] \n\t" \ - "subq.ph %[temp2], %[temp2], %[temp3] \n\t" \ - "subq.ph %[temp0], %[temp0], %[temp1] \n\t" \ - "dpa.w.ph $ac0, %[temp2], %[temp2] \n\t" \ - "dpa.w.ph $ac0, %[temp0], %[temp0] \n\t" - -#define GET_SSE(A, B, C, D) \ - GET_SSE_INNER(A) \ - GET_SSE_INNER(B) \ - GET_SSE_INNER(C) \ - GET_SSE_INNER(D) - -static int SSE16x16_MIPSdspR2(const uint8_t* a, const uint8_t* b) { - int count; - int temp0, temp1, temp2, temp3; - __asm__ volatile ( - "mult $zero, $zero \n\t" - GET_SSE( 0 * BPS, 4 + 0 * BPS, 8 + 0 * BPS, 12 + 0 * BPS) - GET_SSE( 1 * BPS, 4 + 1 * BPS, 8 + 1 * BPS, 12 + 1 * BPS) - GET_SSE( 2 * BPS, 4 + 2 * BPS, 8 + 2 * BPS, 12 + 2 * BPS) - GET_SSE( 3 * BPS, 4 + 3 * BPS, 8 + 3 * BPS, 12 + 3 * BPS) - GET_SSE( 4 * BPS, 4 + 4 * BPS, 8 + 4 * BPS, 12 + 4 * BPS) - GET_SSE( 5 * BPS, 4 + 5 * BPS, 8 + 5 * BPS, 12 + 5 * BPS) - GET_SSE( 6 * BPS, 4 + 6 * BPS, 8 + 6 * BPS, 12 + 6 * BPS) - GET_SSE( 7 * BPS, 4 + 7 * BPS, 8 + 7 * BPS, 12 + 7 * BPS) - GET_SSE( 8 * BPS, 4 + 8 * BPS, 8 + 8 * BPS, 12 + 8 * BPS) - GET_SSE( 9 * BPS, 4 + 9 * BPS, 8 + 9 * BPS, 12 + 9 * BPS) - GET_SSE(10 * BPS, 4 + 10 * BPS, 8 + 10 * BPS, 12 + 10 * BPS) - GET_SSE(11 * BPS, 4 + 11 * BPS, 8 + 11 * BPS, 12 + 11 * BPS) - GET_SSE(12 * BPS, 4 + 12 * BPS, 8 + 12 * BPS, 12 + 12 * BPS) - GET_SSE(13 * BPS, 4 + 13 * BPS, 8 + 13 * BPS, 12 + 13 * BPS) - GET_SSE(14 * BPS, 4 + 14 * BPS, 8 + 14 * BPS, 12 + 14 * BPS) - GET_SSE(15 * BPS, 4 + 15 * BPS, 8 + 15 * BPS, 12 + 15 * BPS) - "mflo %[count] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [count]"=&r"(count) - : [a]"r"(a), [b]"r"(b) - : "memory", "hi", "lo" - ); - return count; -} - -static int SSE16x8_MIPSdspR2(const uint8_t* a, const uint8_t* b) { - int count; - int temp0, temp1, temp2, temp3; - __asm__ volatile ( - "mult $zero, $zero \n\t" - GET_SSE( 0 * BPS, 4 + 0 * BPS, 8 + 0 * BPS, 12 + 0 * BPS) - GET_SSE( 1 * BPS, 4 + 1 * BPS, 8 + 1 * BPS, 12 + 1 * BPS) - GET_SSE( 2 * BPS, 4 + 2 * BPS, 8 + 2 * BPS, 12 + 2 * BPS) - GET_SSE( 3 * BPS, 4 + 3 * BPS, 8 + 3 * BPS, 12 + 3 * BPS) - GET_SSE( 4 * BPS, 4 + 4 * BPS, 8 + 4 * BPS, 12 + 4 * BPS) - GET_SSE( 5 * BPS, 4 + 5 * BPS, 8 + 5 * BPS, 12 + 5 * BPS) - GET_SSE( 6 * BPS, 4 + 6 * BPS, 8 + 6 * BPS, 12 + 6 * BPS) - GET_SSE( 7 * BPS, 4 + 7 * BPS, 8 + 7 * BPS, 12 + 7 * BPS) - "mflo %[count] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [count]"=&r"(count) - : [a]"r"(a), [b]"r"(b) - : "memory", "hi", "lo" - ); - return count; -} - -static int SSE8x8_MIPSdspR2(const uint8_t* a, const uint8_t* b) { - int count; - int temp0, temp1, temp2, temp3; - __asm__ volatile ( - "mult $zero, $zero \n\t" - GET_SSE(0 * BPS, 4 + 0 * BPS, 1 * BPS, 4 + 1 * BPS) - GET_SSE(2 * BPS, 4 + 2 * BPS, 3 * BPS, 4 + 3 * BPS) - GET_SSE(4 * BPS, 4 + 4 * BPS, 5 * BPS, 4 + 5 * BPS) - GET_SSE(6 * BPS, 4 + 6 * BPS, 7 * BPS, 4 + 7 * BPS) - "mflo %[count] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [count]"=&r"(count) - : [a]"r"(a), [b]"r"(b) - : "memory", "hi", "lo" - ); - return count; -} - -static int SSE4x4_MIPSdspR2(const uint8_t* a, const uint8_t* b) { - int count; - int temp0, temp1, temp2, temp3; - __asm__ volatile ( - "mult $zero, $zero \n\t" - GET_SSE(0 * BPS, 1 * BPS, 2 * BPS, 3 * BPS) - "mflo %[count] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [count]"=&r"(count) - : [a]"r"(a), [b]"r"(b) - : "memory", "hi", "lo" - ); - return count; -} - -#undef GET_SSE -#undef GET_SSE_INNER - -#endif // !WORK_AROUND_GCC - -#undef FILL_8_OR_16 -#undef FILL_PART -#undef OUTPUT_EARLY_CLOBBER_REGS_17 -#undef MUL_HALF -#undef ABS_X8 -#undef ADD_SUB_HALVES_X4 - -//------------------------------------------------------------------------------ -// Quantization -// - -// macro for one pass through for loop in QuantizeBlock reading 2 values at time -// QUANTDIV macro inlined -// J - offset in bytes (kZigzag[n] * 2) -// K - offset in bytes (kZigzag[n] * 4) -// N - offset in bytes (n * 2) -// N1 - offset in bytes ((n + 1) * 2) -#define QUANTIZE_ONE(J, K, N, N1) \ - "ulw %[temp1], " #J "(%[ppin]) \n\t" \ - "ulw %[temp2], " #J "(%[ppsharpen]) \n\t" \ - "lhu %[temp3], " #K "(%[ppzthresh]) \n\t" \ - "lhu %[temp6], " #K "+4(%[ppzthresh]) \n\t" \ - "absq_s.ph %[temp4], %[temp1] \n\t" \ - "ins %[temp3], %[temp6], 16, 16 \n\t" \ - "addu.ph %[coeff], %[temp4], %[temp2] \n\t" \ - "shra.ph %[sign], %[temp1], 15 \n\t" \ - "li %[level], 0x10001 \n\t" \ - "cmp.lt.ph %[temp3], %[coeff] \n\t" \ - "lhu %[temp1], " #J "(%[ppiq]) \n\t" \ - "pick.ph %[temp5], %[level], $0 \n\t" \ - "lw %[temp2], " #K "(%[ppbias]) \n\t" \ - "beqz %[temp5], 0f \n\t" \ - "lhu %[temp3], " #J "(%[ppq]) \n\t" \ - "beq %[temp5], %[level], 1f \n\t" \ - "andi %[temp5], %[temp5], 0x1 \n\t" \ - "andi %[temp4], %[coeff], 0xffff \n\t" \ - "beqz %[temp5], 2f \n\t" \ - "mul %[level], %[temp4], %[temp1] \n\t" \ - "sh $0, " #J "+2(%[ppin]) \n\t" \ - "sh $0, " #N1 "(%[pout]) \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ - "sra %[level], %[level], 17 \n\t" \ - "slt %[temp4], %[max_level], %[level] \n\t" \ - "movn %[level], %[max_level], %[temp4] \n\t" \ - "andi %[temp6], %[sign], 0xffff \n\t" \ - "xor %[level], %[level], %[temp6] \n\t" \ - "subu %[level], %[level], %[temp6] \n\t" \ - "mul %[temp5], %[level], %[temp3] \n\t" \ - "or %[ret], %[ret], %[level] \n\t" \ - "sh %[level], " #N "(%[pout]) \n\t" \ - "sh %[temp5], " #J "(%[ppin]) \n\t" \ - "j 3f \n\t" \ -"2: \n\t" \ - "lhu %[temp1], " #J "+2(%[ppiq]) \n\t" \ - "srl %[temp5], %[coeff], 16 \n\t" \ - "mul %[level], %[temp5], %[temp1] \n\t" \ - "lw %[temp2], " #K "+4(%[ppbias]) \n\t" \ - "lhu %[temp3], " #J "+2(%[ppq]) \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ - "sra %[level], %[level], 17 \n\t" \ - "srl %[temp6], %[sign], 16 \n\t" \ - "slt %[temp4], %[max_level], %[level] \n\t" \ - "movn %[level], %[max_level], %[temp4] \n\t" \ - "xor %[level], %[level], %[temp6] \n\t" \ - "subu %[level], %[level], %[temp6] \n\t" \ - "mul %[temp5], %[level], %[temp3] \n\t" \ - "sh $0, " #J "(%[ppin]) \n\t" \ - "sh $0, " #N "(%[pout]) \n\t" \ - "or %[ret], %[ret], %[level] \n\t" \ - "sh %[temp5], " #J "+2(%[ppin]) \n\t" \ - "sh %[level], " #N1 "(%[pout]) \n\t" \ - "j 3f \n\t" \ -"1: \n\t" \ - "lhu %[temp1], " #J "(%[ppiq]) \n\t" \ - "lw %[temp2], " #K "(%[ppbias]) \n\t" \ - "ulw %[temp3], " #J "(%[ppq]) \n\t" \ - "andi %[temp5], %[coeff], 0xffff \n\t" \ - "srl %[temp0], %[coeff], 16 \n\t" \ - "lhu %[temp6], " #J "+2(%[ppiq]) \n\t" \ - "lw %[coeff], " #K "+4(%[ppbias]) \n\t" \ - "mul %[level], %[temp5], %[temp1] \n\t" \ - "mul %[temp4], %[temp0], %[temp6] \n\t" \ - "addu %[level], %[level], %[temp2] \n\t" \ - "addu %[temp4], %[temp4], %[coeff] \n\t" \ - "precrq.ph.w %[level], %[temp4], %[level] \n\t" \ - "shra.ph %[level], %[level], 1 \n\t" \ - "cmp.lt.ph %[max_level1],%[level] \n\t" \ - "pick.ph %[level], %[max_level], %[level] \n\t" \ - "xor %[level], %[level], %[sign] \n\t" \ - "subu.ph %[level], %[level], %[sign] \n\t" \ - "mul.ph %[temp3], %[level], %[temp3] \n\t" \ - "or %[ret], %[ret], %[level] \n\t" \ - "sh %[level], " #N "(%[pout]) \n\t" \ - "srl %[level], %[level], 16 \n\t" \ - "sh %[level], " #N1 "(%[pout]) \n\t" \ - "usw %[temp3], " #J "(%[ppin]) \n\t" \ - "j 3f \n\t" \ -"0: \n\t" \ - "sh $0, " #N "(%[pout]) \n\t" \ - "sh $0, " #N1 "(%[pout]) \n\t" \ - "usw $0, " #J "(%[ppin]) \n\t" \ -"3: \n\t" - -static int QuantizeBlock_MIPSdspR2(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { - int temp0, temp1, temp2, temp3, temp4, temp5,temp6; - int sign, coeff, level; - int max_level = MAX_LEVEL; - int max_level1 = max_level << 16 | max_level; - int ret = 0; - - int16_t* ppin = &in[0]; - int16_t* pout = &out[0]; - const uint16_t* ppsharpen = &mtx->sharpen_[0]; - const uint32_t* ppzthresh = &mtx->zthresh_[0]; - const uint16_t* ppq = &mtx->q_[0]; - const uint16_t* ppiq = &mtx->iq_[0]; - const uint32_t* ppbias = &mtx->bias_[0]; - - __asm__ volatile ( - QUANTIZE_ONE( 0, 0, 0, 2) - QUANTIZE_ONE( 4, 8, 10, 12) - QUANTIZE_ONE( 8, 16, 4, 8) - QUANTIZE_ONE(12, 24, 14, 24) - QUANTIZE_ONE(16, 32, 6, 16) - QUANTIZE_ONE(20, 40, 22, 26) - QUANTIZE_ONE(24, 48, 18, 20) - QUANTIZE_ONE(28, 56, 28, 30) - - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [sign]"=&r"(sign), [coeff]"=&r"(coeff), - [level]"=&r"(level), [temp6]"=&r"(temp6), [ret]"+&r"(ret) - : [ppin]"r"(ppin), [pout]"r"(pout), [max_level1]"r"(max_level1), - [ppiq]"r"(ppiq), [max_level]"r"(max_level), - [ppbias]"r"(ppbias), [ppzthresh]"r"(ppzthresh), - [ppsharpen]"r"(ppsharpen), [ppq]"r"(ppq) - : "memory", "hi", "lo" - ); - - return (ret != 0); -} - -static int Quantize2Blocks_MIPSdspR2(int16_t in[32], int16_t out[32], - const VP8Matrix* const mtx) { - int nz; - nz = QuantizeBlock_MIPSdspR2(in + 0 * 16, out + 0 * 16, mtx) << 0; - nz |= QuantizeBlock_MIPSdspR2(in + 1 * 16, out + 1 * 16, mtx) << 1; - return nz; -} - -#undef QUANTIZE_ONE - -// macro for one horizontal pass in FTransformWHT -// temp0..temp7 holds tmp[0]..tmp[15] -// A, B, C, D - offset in bytes to load from in buffer -// TEMP0, TEMP1 - registers for corresponding tmp elements -#define HORIZONTAL_PASS_WHT(A, B, C, D, TEMP0, TEMP1) \ - "lh %[" #TEMP0 "], " #A "(%[in]) \n\t" \ - "lh %[" #TEMP1 "], " #B "(%[in]) \n\t" \ - "lh %[temp8], " #C "(%[in]) \n\t" \ - "lh %[temp9], " #D "(%[in]) \n\t" \ - "ins %[" #TEMP1 "], %[" #TEMP0 "], 16, 16 \n\t" \ - "ins %[temp9], %[temp8], 16, 16 \n\t" \ - "subq.ph %[temp8], %[" #TEMP1 "], %[temp9] \n\t" \ - "addq.ph %[temp9], %[" #TEMP1 "], %[temp9] \n\t" \ - "precrq.ph.w %[" #TEMP0 "], %[temp8], %[temp9] \n\t" \ - "append %[temp8], %[temp9], 16 \n\t" \ - "subq.ph %[" #TEMP1 "], %[" #TEMP0 "], %[temp8] \n\t" \ - "addq.ph %[" #TEMP0 "], %[" #TEMP0 "], %[temp8] \n\t" \ - "rotr %[" #TEMP1 "], %[" #TEMP1 "], 16 \n\t" - -// macro for one vertical pass in FTransformWHT -// temp0..temp7 holds tmp[0]..tmp[15] -// A, B, C, D - offsets in bytes to store to out buffer -// TEMP0, TEMP2, TEMP4 and TEMP6 - registers for corresponding tmp elements -#define VERTICAL_PASS_WHT(A, B, C, D, TEMP0, TEMP2, TEMP4, TEMP6) \ - "addq.ph %[temp8], %[" #TEMP0 "], %[" #TEMP4 "] \n\t" \ - "addq.ph %[temp9], %[" #TEMP2 "], %[" #TEMP6 "] \n\t" \ - "subq.ph %[" #TEMP2 "], %[" #TEMP2 "], %[" #TEMP6 "] \n\t" \ - "subq.ph %[" #TEMP6 "], %[" #TEMP0 "], %[" #TEMP4 "] \n\t" \ - "addqh.ph %[" #TEMP0 "], %[temp8], %[temp9] \n\t" \ - "subqh.ph %[" #TEMP4 "], %[" #TEMP6 "], %[" #TEMP2 "] \n\t" \ - "addqh.ph %[" #TEMP2 "], %[" #TEMP2 "], %[" #TEMP6 "] \n\t" \ - "subqh.ph %[" #TEMP6 "], %[temp8], %[temp9] \n\t" \ - "usw %[" #TEMP0 "], " #A "(%[out]) \n\t" \ - "usw %[" #TEMP2 "], " #B "(%[out]) \n\t" \ - "usw %[" #TEMP4 "], " #C "(%[out]) \n\t" \ - "usw %[" #TEMP6 "], " #D "(%[out]) \n\t" - -static void FTransformWHT_MIPSdspR2(const int16_t* in, int16_t* out) { - int temp0, temp1, temp2, temp3, temp4; - int temp5, temp6, temp7, temp8, temp9; - - __asm__ volatile ( - HORIZONTAL_PASS_WHT( 0, 32, 64, 96, temp0, temp1) - HORIZONTAL_PASS_WHT(128, 160, 192, 224, temp2, temp3) - HORIZONTAL_PASS_WHT(256, 288, 320, 352, temp4, temp5) - HORIZONTAL_PASS_WHT(384, 416, 448, 480, temp6, temp7) - VERTICAL_PASS_WHT(0, 8, 16, 24, temp0, temp2, temp4, temp6) - VERTICAL_PASS_WHT(4, 12, 20, 28, temp1, temp3, temp5, temp7) - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), - [temp9]"=&r"(temp9) - : [in]"r"(in), [out]"r"(out) - : "memory" - ); -} - -#undef VERTICAL_PASS_WHT -#undef HORIZONTAL_PASS_WHT - -// macro for converting coefficients to bin -// convert 8 coeffs at time -// A, B, C, D - offsets in bytes to load from out buffer -#define CONVERT_COEFFS_TO_BIN(A, B, C, D) \ - "ulw %[temp0], " #A "(%[out]) \n\t" \ - "ulw %[temp1], " #B "(%[out]) \n\t" \ - "ulw %[temp2], " #C "(%[out]) \n\t" \ - "ulw %[temp3], " #D "(%[out]) \n\t" \ - "absq_s.ph %[temp0], %[temp0] \n\t" \ - "absq_s.ph %[temp1], %[temp1] \n\t" \ - "absq_s.ph %[temp2], %[temp2] \n\t" \ - "absq_s.ph %[temp3], %[temp3] \n\t" \ - "shra.ph %[temp0], %[temp0], 3 \n\t" \ - "shra.ph %[temp1], %[temp1], 3 \n\t" \ - "shra.ph %[temp2], %[temp2], 3 \n\t" \ - "shra.ph %[temp3], %[temp3], 3 \n\t" \ - "shll_s.ph %[temp0], %[temp0], 10 \n\t" \ - "shll_s.ph %[temp1], %[temp1], 10 \n\t" \ - "shll_s.ph %[temp2], %[temp2], 10 \n\t" \ - "shll_s.ph %[temp3], %[temp3], 10 \n\t" \ - "shrl.ph %[temp0], %[temp0], 10 \n\t" \ - "shrl.ph %[temp1], %[temp1], 10 \n\t" \ - "shrl.ph %[temp2], %[temp2], 10 \n\t" \ - "shrl.ph %[temp3], %[temp3], 10 \n\t" \ - "shll.ph %[temp0], %[temp0], 2 \n\t" \ - "shll.ph %[temp1], %[temp1], 2 \n\t" \ - "shll.ph %[temp2], %[temp2], 2 \n\t" \ - "shll.ph %[temp3], %[temp3], 2 \n\t" \ - "ext %[temp4], %[temp0], 0, 16 \n\t" \ - "ext %[temp0], %[temp0], 16, 16 \n\t" \ - "addu %[temp4], %[temp4], %[dist] \n\t" \ - "addu %[temp0], %[temp0], %[dist] \n\t" \ - "ext %[temp5], %[temp1], 0, 16 \n\t" \ - "lw %[temp8], 0(%[temp4]) \n\t" \ - "ext %[temp1], %[temp1], 16, 16 \n\t" \ - "addu %[temp5], %[temp5], %[dist] \n\t" \ - "addiu %[temp8], %[temp8], 1 \n\t" \ - "sw %[temp8], 0(%[temp4]) \n\t" \ - "lw %[temp8], 0(%[temp0]) \n\t" \ - "addu %[temp1], %[temp1], %[dist] \n\t" \ - "ext %[temp6], %[temp2], 0, 16 \n\t" \ - "addiu %[temp8], %[temp8], 1 \n\t" \ - "sw %[temp8], 0(%[temp0]) \n\t" \ - "lw %[temp8], 0(%[temp5]) \n\t" \ - "ext %[temp2], %[temp2], 16, 16 \n\t" \ - "addu %[temp6], %[temp6], %[dist] \n\t" \ - "addiu %[temp8], %[temp8], 1 \n\t" \ - "sw %[temp8], 0(%[temp5]) \n\t" \ - "lw %[temp8], 0(%[temp1]) \n\t" \ - "addu %[temp2], %[temp2], %[dist] \n\t" \ - "ext %[temp7], %[temp3], 0, 16 \n\t" \ - "addiu %[temp8], %[temp8], 1 \n\t" \ - "sw %[temp8], 0(%[temp1]) \n\t" \ - "lw %[temp8], 0(%[temp6]) \n\t" \ - "ext %[temp3], %[temp3], 16, 16 \n\t" \ - "addu %[temp7], %[temp7], %[dist] \n\t" \ - "addiu %[temp8], %[temp8], 1 \n\t" \ - "sw %[temp8], 0(%[temp6]) \n\t" \ - "lw %[temp8], 0(%[temp2]) \n\t" \ - "addu %[temp3], %[temp3], %[dist] \n\t" \ - "addiu %[temp8], %[temp8], 1 \n\t" \ - "sw %[temp8], 0(%[temp2]) \n\t" \ - "lw %[temp8], 0(%[temp7]) \n\t" \ - "addiu %[temp8], %[temp8], 1 \n\t" \ - "sw %[temp8], 0(%[temp7]) \n\t" \ - "lw %[temp8], 0(%[temp3]) \n\t" \ - "addiu %[temp8], %[temp8], 1 \n\t" \ - "sw %[temp8], 0(%[temp3]) \n\t" - -static void CollectHistogram_MIPSdspR2(const uint8_t* ref, const uint8_t* pred, - int start_block, int end_block, - VP8Histogram* const histo) { - int j; - int distribution[MAX_COEFF_THRESH + 1] = { 0 }; - const int max_coeff = (MAX_COEFF_THRESH << 16) + MAX_COEFF_THRESH; - for (j = start_block; j < end_block; ++j) { - int16_t out[16]; - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8; - - VP8FTransform(ref + VP8DspScan[j], pred + VP8DspScan[j], out); - - // Convert coefficients to bin. - __asm__ volatile ( - CONVERT_COEFFS_TO_BIN( 0, 4, 8, 12) - CONVERT_COEFFS_TO_BIN(16, 20, 24, 28) - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [temp8]"=&r"(temp8) - : [dist]"r"(distribution), [out]"r"(out), [max_coeff]"r"(max_coeff) - : "memory" - ); - } - VP8SetHistogramData(distribution, histo); -} - -#undef CONVERT_COEFFS_TO_BIN - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspInitMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitMIPSdspR2(void) { - VP8FTransform = FTransform_MIPSdspR2; - VP8FTransformWHT = FTransformWHT_MIPSdspR2; - VP8ITransform = ITransform_MIPSdspR2; - - VP8TDisto4x4 = Disto4x4_MIPSdspR2; - VP8TDisto16x16 = Disto16x16_MIPSdspR2; - - VP8EncPredLuma16 = Intra16Preds_MIPSdspR2; - VP8EncPredChroma8 = IntraChromaPreds_MIPSdspR2; - VP8EncPredLuma4 = Intra4Preds_MIPSdspR2; - -#if !defined(WORK_AROUND_GCC) - VP8SSE16x16 = SSE16x16_MIPSdspR2; - VP8SSE8x8 = SSE8x8_MIPSdspR2; - VP8SSE16x8 = SSE16x8_MIPSdspR2; - VP8SSE4x4 = SSE4x4_MIPSdspR2; -#endif - - VP8EncQuantizeBlock = QuantizeBlock_MIPSdspR2; - VP8EncQuantize2Blocks = Quantize2Blocks_MIPSdspR2; - - VP8CollectHistogram = CollectHistogram_MIPSdspR2; -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(VP8EncDspInitMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_msa.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_msa.c deleted file mode 100644 index 6f85add4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_msa.c +++ /dev/null @@ -1,896 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MSA version of encoder dsp functions. -// -// Author: Prashant Patil (prashant.patil@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MSA) - -#include -#include "src/dsp/msa_macro.h" -#include "src/enc/vp8i_enc.h" - -//------------------------------------------------------------------------------ -// Transforms - -#define IDCT_1D_W(in0, in1, in2, in3, out0, out1, out2, out3) do { \ - v4i32 a1_m, b1_m, c1_m, d1_m; \ - const v4i32 cospi8sqrt2minus1 = __msa_fill_w(20091); \ - const v4i32 sinpi8sqrt2 = __msa_fill_w(35468); \ - v4i32 c_tmp1_m = in1 * sinpi8sqrt2; \ - v4i32 c_tmp2_m = in3 * cospi8sqrt2minus1; \ - v4i32 d_tmp1_m = in1 * cospi8sqrt2minus1; \ - v4i32 d_tmp2_m = in3 * sinpi8sqrt2; \ - \ - ADDSUB2(in0, in2, a1_m, b1_m); \ - SRAI_W2_SW(c_tmp1_m, c_tmp2_m, 16); \ - c_tmp2_m = c_tmp2_m + in3; \ - c1_m = c_tmp1_m - c_tmp2_m; \ - SRAI_W2_SW(d_tmp1_m, d_tmp2_m, 16); \ - d_tmp1_m = d_tmp1_m + in1; \ - d1_m = d_tmp1_m + d_tmp2_m; \ - BUTTERFLY_4(a1_m, b1_m, c1_m, d1_m, out0, out1, out2, out3); \ -} while (0) - -static WEBP_INLINE void ITransformOne(const uint8_t* ref, const int16_t* in, - uint8_t* dst) { - v8i16 input0, input1; - v4i32 in0, in1, in2, in3, hz0, hz1, hz2, hz3, vt0, vt1, vt2, vt3; - v4i32 res0, res1, res2, res3; - v16i8 dest0, dest1, dest2, dest3; - const v16i8 zero = { 0 }; - - LD_SH2(in, 8, input0, input1); - UNPCK_SH_SW(input0, in0, in1); - UNPCK_SH_SW(input1, in2, in3); - IDCT_1D_W(in0, in1, in2, in3, hz0, hz1, hz2, hz3); - TRANSPOSE4x4_SW_SW(hz0, hz1, hz2, hz3, hz0, hz1, hz2, hz3); - IDCT_1D_W(hz0, hz1, hz2, hz3, vt0, vt1, vt2, vt3); - SRARI_W4_SW(vt0, vt1, vt2, vt3, 3); - TRANSPOSE4x4_SW_SW(vt0, vt1, vt2, vt3, vt0, vt1, vt2, vt3); - LD_SB4(ref, BPS, dest0, dest1, dest2, dest3); - ILVR_B4_SW(zero, dest0, zero, dest1, zero, dest2, zero, dest3, - res0, res1, res2, res3); - ILVR_H4_SW(zero, res0, zero, res1, zero, res2, zero, res3, - res0, res1, res2, res3); - ADD4(res0, vt0, res1, vt1, res2, vt2, res3, vt3, res0, res1, res2, res3); - CLIP_SW4_0_255(res0, res1, res2, res3); - PCKEV_B2_SW(res0, res1, res2, res3, vt0, vt1); - res0 = (v4i32)__msa_pckev_b((v16i8)vt0, (v16i8)vt1); - ST4x4_UB(res0, res0, 3, 2, 1, 0, dst, BPS); -} - -static void ITransform_MSA(const uint8_t* ref, const int16_t* in, uint8_t* dst, - int do_two) { - ITransformOne(ref, in, dst); - if (do_two) { - ITransformOne(ref + 4, in + 16, dst + 4); - } -} - -static void FTransform_MSA(const uint8_t* src, const uint8_t* ref, - int16_t* out) { - uint64_t out0, out1, out2, out3; - uint32_t in0, in1, in2, in3; - v4i32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; - v8i16 t0, t1, t2, t3; - v16u8 srcl0, srcl1, src0 = { 0 }, src1 = { 0 }; - const v8i16 mask0 = { 0, 4, 8, 12, 1, 5, 9, 13 }; - const v8i16 mask1 = { 3, 7, 11, 15, 2, 6, 10, 14 }; - const v8i16 mask2 = { 4, 0, 5, 1, 6, 2, 7, 3 }; - const v8i16 mask3 = { 0, 4, 1, 5, 2, 6, 3, 7 }; - const v8i16 cnst0 = { 2217, -5352, 2217, -5352, 2217, -5352, 2217, -5352 }; - const v8i16 cnst1 = { 5352, 2217, 5352, 2217, 5352, 2217, 5352, 2217 }; - - LW4(src, BPS, in0, in1, in2, in3); - INSERT_W4_UB(in0, in1, in2, in3, src0); - LW4(ref, BPS, in0, in1, in2, in3); - INSERT_W4_UB(in0, in1, in2, in3, src1); - ILVRL_B2_UB(src0, src1, srcl0, srcl1); - HSUB_UB2_SH(srcl0, srcl1, t0, t1); - VSHF_H2_SH(t0, t1, t0, t1, mask0, mask1, t2, t3); - ADDSUB2(t2, t3, t0, t1); - t0 = SRLI_H(t0, 3); - VSHF_H2_SH(t0, t0, t1, t1, mask2, mask3, t3, t2); - tmp0 = __msa_hadd_s_w(t3, t3); - tmp2 = __msa_hsub_s_w(t3, t3); - FILL_W2_SW(1812, 937, tmp1, tmp3); - DPADD_SH2_SW(t2, t2, cnst0, cnst1, tmp3, tmp1); - SRAI_W2_SW(tmp1, tmp3, 9); - PCKEV_H2_SH(tmp1, tmp0, tmp3, tmp2, t0, t1); - VSHF_H2_SH(t0, t1, t0, t1, mask0, mask1, t2, t3); - ADDSUB2(t2, t3, t0, t1); - VSHF_H2_SH(t0, t0, t1, t1, mask2, mask3, t3, t2); - tmp0 = __msa_hadd_s_w(t3, t3); - tmp2 = __msa_hsub_s_w(t3, t3); - ADDVI_W2_SW(tmp0, 7, tmp2, 7, tmp0, tmp2); - SRAI_W2_SW(tmp0, tmp2, 4); - FILL_W2_SW(12000, 51000, tmp1, tmp3); - DPADD_SH2_SW(t2, t2, cnst0, cnst1, tmp3, tmp1); - SRAI_W2_SW(tmp1, tmp3, 16); - UNPCK_R_SH_SW(t1, tmp4); - tmp5 = __msa_ceqi_w(tmp4, 0); - tmp4 = (v4i32)__msa_nor_v((v16u8)tmp5, (v16u8)tmp5); - tmp5 = __msa_fill_w(1); - tmp5 = (v4i32)__msa_and_v((v16u8)tmp5, (v16u8)tmp4); - tmp1 += tmp5; - PCKEV_H2_SH(tmp1, tmp0, tmp3, tmp2, t0, t1); - out0 = __msa_copy_s_d((v2i64)t0, 0); - out1 = __msa_copy_s_d((v2i64)t0, 1); - out2 = __msa_copy_s_d((v2i64)t1, 0); - out3 = __msa_copy_s_d((v2i64)t1, 1); - SD4(out0, out1, out2, out3, out, 8); -} - -static void FTransformWHT_MSA(const int16_t* in, int16_t* out) { - v8i16 in0 = { 0 }; - v8i16 in1 = { 0 }; - v8i16 tmp0, tmp1, tmp2, tmp3; - v8i16 out0, out1; - const v8i16 mask0 = { 0, 1, 2, 3, 8, 9, 10, 11 }; - const v8i16 mask1 = { 4, 5, 6, 7, 12, 13, 14, 15 }; - const v8i16 mask2 = { 0, 4, 8, 12, 1, 5, 9, 13 }; - const v8i16 mask3 = { 3, 7, 11, 15, 2, 6, 10, 14 }; - - in0 = __msa_insert_h(in0, 0, in[ 0]); - in0 = __msa_insert_h(in0, 1, in[ 64]); - in0 = __msa_insert_h(in0, 2, in[128]); - in0 = __msa_insert_h(in0, 3, in[192]); - in0 = __msa_insert_h(in0, 4, in[ 16]); - in0 = __msa_insert_h(in0, 5, in[ 80]); - in0 = __msa_insert_h(in0, 6, in[144]); - in0 = __msa_insert_h(in0, 7, in[208]); - in1 = __msa_insert_h(in1, 0, in[ 48]); - in1 = __msa_insert_h(in1, 1, in[112]); - in1 = __msa_insert_h(in1, 2, in[176]); - in1 = __msa_insert_h(in1, 3, in[240]); - in1 = __msa_insert_h(in1, 4, in[ 32]); - in1 = __msa_insert_h(in1, 5, in[ 96]); - in1 = __msa_insert_h(in1, 6, in[160]); - in1 = __msa_insert_h(in1, 7, in[224]); - ADDSUB2(in0, in1, tmp0, tmp1); - VSHF_H2_SH(tmp0, tmp1, tmp0, tmp1, mask0, mask1, tmp2, tmp3); - ADDSUB2(tmp2, tmp3, tmp0, tmp1); - VSHF_H2_SH(tmp0, tmp1, tmp0, tmp1, mask2, mask3, in0, in1); - ADDSUB2(in0, in1, tmp0, tmp1); - VSHF_H2_SH(tmp0, tmp1, tmp0, tmp1, mask0, mask1, tmp2, tmp3); - ADDSUB2(tmp2, tmp3, out0, out1); - SRAI_H2_SH(out0, out1, 1); - ST_SH2(out0, out1, out, 8); -} - -static int TTransform_MSA(const uint8_t* in, const uint16_t* w) { - int sum; - uint32_t in0_m, in1_m, in2_m, in3_m; - v16i8 src0 = { 0 }; - v8i16 in0, in1, tmp0, tmp1, tmp2, tmp3; - v4i32 dst0, dst1; - const v16i8 zero = { 0 }; - const v8i16 mask0 = { 0, 1, 2, 3, 8, 9, 10, 11 }; - const v8i16 mask1 = { 4, 5, 6, 7, 12, 13, 14, 15 }; - const v8i16 mask2 = { 0, 4, 8, 12, 1, 5, 9, 13 }; - const v8i16 mask3 = { 3, 7, 11, 15, 2, 6, 10, 14 }; - - LW4(in, BPS, in0_m, in1_m, in2_m, in3_m); - INSERT_W4_SB(in0_m, in1_m, in2_m, in3_m, src0); - ILVRL_B2_SH(zero, src0, tmp0, tmp1); - VSHF_H2_SH(tmp0, tmp1, tmp0, tmp1, mask2, mask3, in0, in1); - ADDSUB2(in0, in1, tmp0, tmp1); - VSHF_H2_SH(tmp0, tmp1, tmp0, tmp1, mask0, mask1, tmp2, tmp3); - ADDSUB2(tmp2, tmp3, tmp0, tmp1); - VSHF_H2_SH(tmp0, tmp1, tmp0, tmp1, mask2, mask3, in0, in1); - ADDSUB2(in0, in1, tmp0, tmp1); - VSHF_H2_SH(tmp0, tmp1, tmp0, tmp1, mask0, mask1, tmp2, tmp3); - ADDSUB2(tmp2, tmp3, tmp0, tmp1); - tmp0 = __msa_add_a_h(tmp0, (v8i16)zero); - tmp1 = __msa_add_a_h(tmp1, (v8i16)zero); - LD_SH2(w, 8, tmp2, tmp3); - DOTP_SH2_SW(tmp0, tmp1, tmp2, tmp3, dst0, dst1); - dst0 = dst0 + dst1; - sum = HADD_SW_S32(dst0); - return sum; -} - -static int Disto4x4_MSA(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - const int sum1 = TTransform_MSA(a, w); - const int sum2 = TTransform_MSA(b, w); - return abs(sum2 - sum1) >> 5; -} - -static int Disto16x16_MSA(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - int D = 0; - int x, y; - for (y = 0; y < 16 * BPS; y += 4 * BPS) { - for (x = 0; x < 16; x += 4) { - D += Disto4x4_MSA(a + x + y, b + x + y, w); - } - } - return D; -} - -//------------------------------------------------------------------------------ -// Histogram - -static void CollectHistogram_MSA(const uint8_t* ref, const uint8_t* pred, - int start_block, int end_block, - VP8Histogram* const histo) { - int j; - int distribution[MAX_COEFF_THRESH + 1] = { 0 }; - for (j = start_block; j < end_block; ++j) { - int16_t out[16]; - VP8FTransform(ref + VP8DspScan[j], pred + VP8DspScan[j], out); - { - int k; - v8i16 coeff0, coeff1; - const v8i16 zero = { 0 }; - const v8i16 max_coeff_thr = __msa_ldi_h(MAX_COEFF_THRESH); - LD_SH2(&out[0], 8, coeff0, coeff1); - coeff0 = __msa_add_a_h(coeff0, zero); - coeff1 = __msa_add_a_h(coeff1, zero); - SRAI_H2_SH(coeff0, coeff1, 3); - coeff0 = __msa_min_s_h(coeff0, max_coeff_thr); - coeff1 = __msa_min_s_h(coeff1, max_coeff_thr); - ST_SH2(coeff0, coeff1, &out[0], 8); - for (k = 0; k < 16; ++k) { - ++distribution[out[k]]; - } - } - } - VP8SetHistogramData(distribution, histo); -} - -//------------------------------------------------------------------------------ -// Intra predictions - -// luma 4x4 prediction - -#define DST(x, y) dst[(x) + (y) * BPS] -#define AVG3(a, b, c) (((a) + 2 * (b) + (c) + 2) >> 2) -#define AVG2(a, b) (((a) + (b) + 1) >> 1) - -static WEBP_INLINE void VE4(uint8_t* dst, const uint8_t* top) { // vertical - const v16u8 A1 = { 0 }; - const uint64_t val_m = LD(top - 1); - const v16u8 A = (v16u8)__msa_insert_d((v2i64)A1, 0, val_m); - const v16u8 B = SLDI_UB(A, A, 1); - const v16u8 C = SLDI_UB(A, A, 2); - const v16u8 AC = __msa_ave_u_b(A, C); - const v16u8 B2 = __msa_ave_u_b(B, B); - const v16u8 R = __msa_aver_u_b(AC, B2); - const uint32_t out = __msa_copy_s_w((v4i32)R, 0); - SW4(out, out, out, out, dst, BPS); -} - -static WEBP_INLINE void HE4(uint8_t* dst, const uint8_t* top) { // horizontal - const int X = top[-1]; - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int L = top[-5]; - WebPUint32ToMem(dst + 0 * BPS, 0x01010101U * AVG3(X, I, J)); - WebPUint32ToMem(dst + 1 * BPS, 0x01010101U * AVG3(I, J, K)); - WebPUint32ToMem(dst + 2 * BPS, 0x01010101U * AVG3(J, K, L)); - WebPUint32ToMem(dst + 3 * BPS, 0x01010101U * AVG3(K, L, L)); -} - -static WEBP_INLINE void DC4(uint8_t* dst, const uint8_t* top) { - uint32_t dc = 4; - int i; - for (i = 0; i < 4; ++i) dc += top[i] + top[-5 + i]; - dc >>= 3; - dc = dc | (dc << 8) | (dc << 16) | (dc << 24); - SW4(dc, dc, dc, dc, dst, BPS); -} - -static WEBP_INLINE void RD4(uint8_t* dst, const uint8_t* top) { - const v16u8 A2 = { 0 }; - const uint64_t val_m = LD(top - 5); - const v16u8 A1 = (v16u8)__msa_insert_d((v2i64)A2, 0, val_m); - const v16u8 A = (v16u8)__msa_insert_b((v16i8)A1, 8, top[3]); - const v16u8 B = SLDI_UB(A, A, 1); - const v16u8 C = SLDI_UB(A, A, 2); - const v16u8 AC = __msa_ave_u_b(A, C); - const v16u8 B2 = __msa_ave_u_b(B, B); - const v16u8 R0 = __msa_aver_u_b(AC, B2); - const v16u8 R1 = SLDI_UB(R0, R0, 1); - const v16u8 R2 = SLDI_UB(R1, R1, 1); - const v16u8 R3 = SLDI_UB(R2, R2, 1); - const uint32_t val0 = __msa_copy_s_w((v4i32)R0, 0); - const uint32_t val1 = __msa_copy_s_w((v4i32)R1, 0); - const uint32_t val2 = __msa_copy_s_w((v4i32)R2, 0); - const uint32_t val3 = __msa_copy_s_w((v4i32)R3, 0); - SW4(val3, val2, val1, val0, dst, BPS); -} - -static WEBP_INLINE void LD4(uint8_t* dst, const uint8_t* top) { - const v16u8 A1 = { 0 }; - const uint64_t val_m = LD(top); - const v16u8 A = (v16u8)__msa_insert_d((v2i64)A1, 0, val_m); - const v16u8 B = SLDI_UB(A, A, 1); - const v16u8 C1 = SLDI_UB(A, A, 2); - const v16u8 C = (v16u8)__msa_insert_b((v16i8)C1, 6, top[7]); - const v16u8 AC = __msa_ave_u_b(A, C); - const v16u8 B2 = __msa_ave_u_b(B, B); - const v16u8 R0 = __msa_aver_u_b(AC, B2); - const v16u8 R1 = SLDI_UB(R0, R0, 1); - const v16u8 R2 = SLDI_UB(R1, R1, 1); - const v16u8 R3 = SLDI_UB(R2, R2, 1); - const uint32_t val0 = __msa_copy_s_w((v4i32)R0, 0); - const uint32_t val1 = __msa_copy_s_w((v4i32)R1, 0); - const uint32_t val2 = __msa_copy_s_w((v4i32)R2, 0); - const uint32_t val3 = __msa_copy_s_w((v4i32)R3, 0); - SW4(val0, val1, val2, val3, dst, BPS); -} - -static WEBP_INLINE void VR4(uint8_t* dst, const uint8_t* top) { - const int X = top[-1]; - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int A = top[0]; - const int B = top[1]; - const int C = top[2]; - const int D = top[3]; - DST(0, 0) = DST(1, 2) = AVG2(X, A); - DST(1, 0) = DST(2, 2) = AVG2(A, B); - DST(2, 0) = DST(3, 2) = AVG2(B, C); - DST(3, 0) = AVG2(C, D); - DST(0, 3) = AVG3(K, J, I); - DST(0, 2) = AVG3(J, I, X); - DST(0, 1) = DST(1, 3) = AVG3(I, X, A); - DST(1, 1) = DST(2, 3) = AVG3(X, A, B); - DST(2, 1) = DST(3, 3) = AVG3(A, B, C); - DST(3, 1) = AVG3(B, C, D); -} - -static WEBP_INLINE void VL4(uint8_t* dst, const uint8_t* top) { - const int A = top[0]; - const int B = top[1]; - const int C = top[2]; - const int D = top[3]; - const int E = top[4]; - const int F = top[5]; - const int G = top[6]; - const int H = top[7]; - DST(0, 0) = AVG2(A, B); - DST(1, 0) = DST(0, 2) = AVG2(B, C); - DST(2, 0) = DST(1, 2) = AVG2(C, D); - DST(3, 0) = DST(2, 2) = AVG2(D, E); - DST(0, 1) = AVG3(A, B, C); - DST(1, 1) = DST(0, 3) = AVG3(B, C, D); - DST(2, 1) = DST(1, 3) = AVG3(C, D, E); - DST(3, 1) = DST(2, 3) = AVG3(D, E, F); - DST(3, 2) = AVG3(E, F, G); - DST(3, 3) = AVG3(F, G, H); -} - -static WEBP_INLINE void HU4(uint8_t* dst, const uint8_t* top) { - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int L = top[-5]; - DST(0, 0) = AVG2(I, J); - DST(2, 0) = DST(0, 1) = AVG2(J, K); - DST(2, 1) = DST(0, 2) = AVG2(K, L); - DST(1, 0) = AVG3(I, J, K); - DST(3, 0) = DST(1, 1) = AVG3(J, K, L); - DST(3, 1) = DST(1, 2) = AVG3(K, L, L); - DST(3, 2) = DST(2, 2) = - DST(0, 3) = DST(1, 3) = DST(2, 3) = DST(3, 3) = L; -} - -static WEBP_INLINE void HD4(uint8_t* dst, const uint8_t* top) { - const int X = top[-1]; - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int L = top[-5]; - const int A = top[0]; - const int B = top[1]; - const int C = top[2]; - DST(0, 0) = DST(2, 1) = AVG2(I, X); - DST(0, 1) = DST(2, 2) = AVG2(J, I); - DST(0, 2) = DST(2, 3) = AVG2(K, J); - DST(0, 3) = AVG2(L, K); - DST(3, 0) = AVG3(A, B, C); - DST(2, 0) = AVG3(X, A, B); - DST(1, 0) = DST(3, 1) = AVG3(I, X, A); - DST(1, 1) = DST(3, 2) = AVG3(J, I, X); - DST(1, 2) = DST(3, 3) = AVG3(K, J, I); - DST(1, 3) = AVG3(L, K, J); -} - -static WEBP_INLINE void TM4(uint8_t* dst, const uint8_t* top) { - const v16i8 zero = { 0 }; - const v8i16 TL = (v8i16)__msa_fill_h(top[-1]); - const v8i16 L0 = (v8i16)__msa_fill_h(top[-2]); - const v8i16 L1 = (v8i16)__msa_fill_h(top[-3]); - const v8i16 L2 = (v8i16)__msa_fill_h(top[-4]); - const v8i16 L3 = (v8i16)__msa_fill_h(top[-5]); - const v16u8 T1 = LD_UB(top); - const v8i16 T = (v8i16)__msa_ilvr_b(zero, (v16i8)T1); - const v8i16 d = T - TL; - v8i16 r0, r1, r2, r3; - ADD4(d, L0, d, L1, d, L2, d, L3, r0, r1, r2, r3); - CLIP_SH4_0_255(r0, r1, r2, r3); - PCKEV_ST4x4_UB(r0, r1, r2, r3, dst, BPS); -} - -#undef DST -#undef AVG3 -#undef AVG2 - -static void Intra4Preds_MSA(uint8_t* dst, const uint8_t* top) { - DC4(I4DC4 + dst, top); - TM4(I4TM4 + dst, top); - VE4(I4VE4 + dst, top); - HE4(I4HE4 + dst, top); - RD4(I4RD4 + dst, top); - VR4(I4VR4 + dst, top); - LD4(I4LD4 + dst, top); - VL4(I4VL4 + dst, top); - HD4(I4HD4 + dst, top); - HU4(I4HU4 + dst, top); -} - -// luma 16x16 prediction - -#define STORE16x16(out, dst) do { \ - ST_UB8(out, out, out, out, out, out, out, out, dst + 0 * BPS, BPS); \ - ST_UB8(out, out, out, out, out, out, out, out, dst + 8 * BPS, BPS); \ -} while (0) - -static WEBP_INLINE void VerticalPred16x16(uint8_t* dst, const uint8_t* top) { - if (top != NULL) { - const v16u8 out = LD_UB(top); - STORE16x16(out, dst); - } else { - const v16u8 out = (v16u8)__msa_fill_b(0x7f); - STORE16x16(out, dst); - } -} - -static WEBP_INLINE void HorizontalPred16x16(uint8_t* dst, - const uint8_t* left) { - if (left != NULL) { - int j; - for (j = 0; j < 16; j += 4) { - const v16u8 L0 = (v16u8)__msa_fill_b(left[0]); - const v16u8 L1 = (v16u8)__msa_fill_b(left[1]); - const v16u8 L2 = (v16u8)__msa_fill_b(left[2]); - const v16u8 L3 = (v16u8)__msa_fill_b(left[3]); - ST_UB4(L0, L1, L2, L3, dst, BPS); - dst += 4 * BPS; - left += 4; - } - } else { - const v16u8 out = (v16u8)__msa_fill_b(0x81); - STORE16x16(out, dst); - } -} - -static WEBP_INLINE void TrueMotion16x16(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - if (left != NULL) { - if (top != NULL) { - int j; - v8i16 d1, d2; - const v16i8 zero = { 0 }; - const v8i16 TL = (v8i16)__msa_fill_h(left[-1]); - const v16u8 T = LD_UB(top); - ILVRL_B2_SH(zero, T, d1, d2); - SUB2(d1, TL, d2, TL, d1, d2); - for (j = 0; j < 16; j += 4) { - v16i8 t0, t1, t2, t3; - v8i16 r0, r1, r2, r3, r4, r5, r6, r7; - const v8i16 L0 = (v8i16)__msa_fill_h(left[j + 0]); - const v8i16 L1 = (v8i16)__msa_fill_h(left[j + 1]); - const v8i16 L2 = (v8i16)__msa_fill_h(left[j + 2]); - const v8i16 L3 = (v8i16)__msa_fill_h(left[j + 3]); - ADD4(d1, L0, d1, L1, d1, L2, d1, L3, r0, r1, r2, r3); - ADD4(d2, L0, d2, L1, d2, L2, d2, L3, r4, r5, r6, r7); - CLIP_SH4_0_255(r0, r1, r2, r3); - CLIP_SH4_0_255(r4, r5, r6, r7); - PCKEV_B4_SB(r4, r0, r5, r1, r6, r2, r7, r3, t0, t1, t2, t3); - ST_SB4(t0, t1, t2, t3, dst, BPS); - dst += 4 * BPS; - } - } else { - HorizontalPred16x16(dst, left); - } - } else { - if (top != NULL) { - VerticalPred16x16(dst, top); - } else { - const v16u8 out = (v16u8)__msa_fill_b(0x81); - STORE16x16(out, dst); - } - } -} - -static WEBP_INLINE void DCMode16x16(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - int DC; - v16u8 out; - if (top != NULL && left != NULL) { - const v16u8 rtop = LD_UB(top); - const v8u16 dctop = __msa_hadd_u_h(rtop, rtop); - const v16u8 rleft = LD_UB(left); - const v8u16 dcleft = __msa_hadd_u_h(rleft, rleft); - const v8u16 dctemp = dctop + dcleft; - DC = HADD_UH_U32(dctemp); - DC = (DC + 16) >> 5; - } else if (left != NULL) { // left but no top - const v16u8 rleft = LD_UB(left); - const v8u16 dcleft = __msa_hadd_u_h(rleft, rleft); - DC = HADD_UH_U32(dcleft); - DC = (DC + DC + 16) >> 5; - } else if (top != NULL) { // top but no left - const v16u8 rtop = LD_UB(top); - const v8u16 dctop = __msa_hadd_u_h(rtop, rtop); - DC = HADD_UH_U32(dctop); - DC = (DC + DC + 16) >> 5; - } else { // no top, no left, nothing. - DC = 0x80; - } - out = (v16u8)__msa_fill_b(DC); - STORE16x16(out, dst); -} - -static void Intra16Preds_MSA(uint8_t* dst, - const uint8_t* left, const uint8_t* top) { - DCMode16x16(I16DC16 + dst, left, top); - VerticalPred16x16(I16VE16 + dst, top); - HorizontalPred16x16(I16HE16 + dst, left); - TrueMotion16x16(I16TM16 + dst, left, top); -} - -// Chroma 8x8 prediction - -#define CALC_DC8(in, out) do { \ - const v8u16 temp0 = __msa_hadd_u_h(in, in); \ - const v4u32 temp1 = __msa_hadd_u_w(temp0, temp0); \ - const v2i64 temp2 = (v2i64)__msa_hadd_u_d(temp1, temp1); \ - const v2i64 temp3 = __msa_splati_d(temp2, 1); \ - const v2i64 temp4 = temp3 + temp2; \ - const v16i8 temp5 = (v16i8)__msa_srari_d(temp4, 4); \ - const v2i64 temp6 = (v2i64)__msa_splati_b(temp5, 0); \ - out = __msa_copy_s_d(temp6, 0); \ -} while (0) - -#define STORE8x8(out, dst) do { \ - SD4(out, out, out, out, dst + 0 * BPS, BPS); \ - SD4(out, out, out, out, dst + 4 * BPS, BPS); \ -} while (0) - -static WEBP_INLINE void VerticalPred8x8(uint8_t* dst, const uint8_t* top) { - if (top != NULL) { - const uint64_t out = LD(top); - STORE8x8(out, dst); - } else { - const uint64_t out = 0x7f7f7f7f7f7f7f7fULL; - STORE8x8(out, dst); - } -} - -static WEBP_INLINE void HorizontalPred8x8(uint8_t* dst, const uint8_t* left) { - if (left != NULL) { - int j; - for (j = 0; j < 8; j += 4) { - const v16u8 L0 = (v16u8)__msa_fill_b(left[0]); - const v16u8 L1 = (v16u8)__msa_fill_b(left[1]); - const v16u8 L2 = (v16u8)__msa_fill_b(left[2]); - const v16u8 L3 = (v16u8)__msa_fill_b(left[3]); - const uint64_t out0 = __msa_copy_s_d((v2i64)L0, 0); - const uint64_t out1 = __msa_copy_s_d((v2i64)L1, 0); - const uint64_t out2 = __msa_copy_s_d((v2i64)L2, 0); - const uint64_t out3 = __msa_copy_s_d((v2i64)L3, 0); - SD4(out0, out1, out2, out3, dst, BPS); - dst += 4 * BPS; - left += 4; - } - } else { - const uint64_t out = 0x8181818181818181ULL; - STORE8x8(out, dst); - } -} - -static WEBP_INLINE void TrueMotion8x8(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - if (left != NULL) { - if (top != NULL) { - int j; - const v8i16 TL = (v8i16)__msa_fill_h(left[-1]); - const v16u8 T1 = LD_UB(top); - const v16i8 zero = { 0 }; - const v8i16 T = (v8i16)__msa_ilvr_b(zero, (v16i8)T1); - const v8i16 d = T - TL; - for (j = 0; j < 8; j += 4) { - uint64_t out0, out1, out2, out3; - v16i8 t0, t1; - v8i16 r0 = (v8i16)__msa_fill_h(left[j + 0]); - v8i16 r1 = (v8i16)__msa_fill_h(left[j + 1]); - v8i16 r2 = (v8i16)__msa_fill_h(left[j + 2]); - v8i16 r3 = (v8i16)__msa_fill_h(left[j + 3]); - ADD4(d, r0, d, r1, d, r2, d, r3, r0, r1, r2, r3); - CLIP_SH4_0_255(r0, r1, r2, r3); - PCKEV_B2_SB(r1, r0, r3, r2, t0, t1); - out0 = __msa_copy_s_d((v2i64)t0, 0); - out1 = __msa_copy_s_d((v2i64)t0, 1); - out2 = __msa_copy_s_d((v2i64)t1, 0); - out3 = __msa_copy_s_d((v2i64)t1, 1); - SD4(out0, out1, out2, out3, dst, BPS); - dst += 4 * BPS; - } - } else { - HorizontalPred8x8(dst, left); - } - } else { - if (top != NULL) { - VerticalPred8x8(dst, top); - } else { - const uint64_t out = 0x8181818181818181ULL; - STORE8x8(out, dst); - } - } -} - -static WEBP_INLINE void DCMode8x8(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - uint64_t out; - v16u8 src = { 0 }; - if (top != NULL && left != NULL) { - const uint64_t left_m = LD(left); - const uint64_t top_m = LD(top); - INSERT_D2_UB(left_m, top_m, src); - CALC_DC8(src, out); - } else if (left != NULL) { // left but no top - const uint64_t left_m = LD(left); - INSERT_D2_UB(left_m, left_m, src); - CALC_DC8(src, out); - } else if (top != NULL) { // top but no left - const uint64_t top_m = LD(top); - INSERT_D2_UB(top_m, top_m, src); - CALC_DC8(src, out); - } else { // no top, no left, nothing. - src = (v16u8)__msa_fill_b(0x80); - out = __msa_copy_s_d((v2i64)src, 0); - } - STORE8x8(out, dst); -} - -static void IntraChromaPreds_MSA(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - // U block - DCMode8x8(C8DC8 + dst, left, top); - VerticalPred8x8(C8VE8 + dst, top); - HorizontalPred8x8(C8HE8 + dst, left); - TrueMotion8x8(C8TM8 + dst, left, top); - // V block - dst += 8; - if (top != NULL) top += 8; - if (left != NULL) left += 16; - DCMode8x8(C8DC8 + dst, left, top); - VerticalPred8x8(C8VE8 + dst, top); - HorizontalPred8x8(C8HE8 + dst, left); - TrueMotion8x8(C8TM8 + dst, left, top); -} - -//------------------------------------------------------------------------------ -// Metric - -#define PACK_DOTP_UB4_SW(in0, in1, in2, in3, out0, out1, out2, out3) do { \ - v16u8 tmp0, tmp1; \ - v8i16 tmp2, tmp3; \ - ILVRL_B2_UB(in0, in1, tmp0, tmp1); \ - HSUB_UB2_SH(tmp0, tmp1, tmp2, tmp3); \ - DOTP_SH2_SW(tmp2, tmp3, tmp2, tmp3, out0, out1); \ - ILVRL_B2_UB(in2, in3, tmp0, tmp1); \ - HSUB_UB2_SH(tmp0, tmp1, tmp2, tmp3); \ - DOTP_SH2_SW(tmp2, tmp3, tmp2, tmp3, out2, out3); \ -} while (0) - -#define PACK_DPADD_UB4_SW(in0, in1, in2, in3, out0, out1, out2, out3) do { \ - v16u8 tmp0, tmp1; \ - v8i16 tmp2, tmp3; \ - ILVRL_B2_UB(in0, in1, tmp0, tmp1); \ - HSUB_UB2_SH(tmp0, tmp1, tmp2, tmp3); \ - DPADD_SH2_SW(tmp2, tmp3, tmp2, tmp3, out0, out1); \ - ILVRL_B2_UB(in2, in3, tmp0, tmp1); \ - HSUB_UB2_SH(tmp0, tmp1, tmp2, tmp3); \ - DPADD_SH2_SW(tmp2, tmp3, tmp2, tmp3, out2, out3); \ -} while (0) - -static int SSE16x16_MSA(const uint8_t* a, const uint8_t* b) { - uint32_t sum; - v16u8 src0, src1, src2, src3, src4, src5, src6, src7; - v16u8 ref0, ref1, ref2, ref3, ref4, ref5, ref6, ref7; - v4i32 out0, out1, out2, out3; - - LD_UB8(a, BPS, src0, src1, src2, src3, src4, src5, src6, src7); - LD_UB8(b, BPS, ref0, ref1, ref2, ref3, ref4, ref5, ref6, ref7); - PACK_DOTP_UB4_SW(src0, ref0, src1, ref1, out0, out1, out2, out3); - PACK_DPADD_UB4_SW(src2, ref2, src3, ref3, out0, out1, out2, out3); - PACK_DPADD_UB4_SW(src4, ref4, src5, ref5, out0, out1, out2, out3); - PACK_DPADD_UB4_SW(src6, ref6, src7, ref7, out0, out1, out2, out3); - a += 8 * BPS; - b += 8 * BPS; - LD_UB8(a, BPS, src0, src1, src2, src3, src4, src5, src6, src7); - LD_UB8(b, BPS, ref0, ref1, ref2, ref3, ref4, ref5, ref6, ref7); - PACK_DPADD_UB4_SW(src0, ref0, src1, ref1, out0, out1, out2, out3); - PACK_DPADD_UB4_SW(src2, ref2, src3, ref3, out0, out1, out2, out3); - PACK_DPADD_UB4_SW(src4, ref4, src5, ref5, out0, out1, out2, out3); - PACK_DPADD_UB4_SW(src6, ref6, src7, ref7, out0, out1, out2, out3); - out0 += out1; - out2 += out3; - out0 += out2; - sum = HADD_SW_S32(out0); - return sum; -} - -static int SSE16x8_MSA(const uint8_t* a, const uint8_t* b) { - uint32_t sum; - v16u8 src0, src1, src2, src3, src4, src5, src6, src7; - v16u8 ref0, ref1, ref2, ref3, ref4, ref5, ref6, ref7; - v4i32 out0, out1, out2, out3; - - LD_UB8(a, BPS, src0, src1, src2, src3, src4, src5, src6, src7); - LD_UB8(b, BPS, ref0, ref1, ref2, ref3, ref4, ref5, ref6, ref7); - PACK_DOTP_UB4_SW(src0, ref0, src1, ref1, out0, out1, out2, out3); - PACK_DPADD_UB4_SW(src2, ref2, src3, ref3, out0, out1, out2, out3); - PACK_DPADD_UB4_SW(src4, ref4, src5, ref5, out0, out1, out2, out3); - PACK_DPADD_UB4_SW(src6, ref6, src7, ref7, out0, out1, out2, out3); - out0 += out1; - out2 += out3; - out0 += out2; - sum = HADD_SW_S32(out0); - return sum; -} - -static int SSE8x8_MSA(const uint8_t* a, const uint8_t* b) { - uint32_t sum; - v16u8 src0, src1, src2, src3, src4, src5, src6, src7; - v16u8 ref0, ref1, ref2, ref3, ref4, ref5, ref6, ref7; - v16u8 t0, t1, t2, t3; - v4i32 out0, out1, out2, out3; - - LD_UB8(a, BPS, src0, src1, src2, src3, src4, src5, src6, src7); - LD_UB8(b, BPS, ref0, ref1, ref2, ref3, ref4, ref5, ref6, ref7); - ILVR_B4_UB(src0, src1, src2, src3, ref0, ref1, ref2, ref3, t0, t1, t2, t3); - PACK_DOTP_UB4_SW(t0, t2, t1, t3, out0, out1, out2, out3); - ILVR_B4_UB(src4, src5, src6, src7, ref4, ref5, ref6, ref7, t0, t1, t2, t3); - PACK_DPADD_UB4_SW(t0, t2, t1, t3, out0, out1, out2, out3); - out0 += out1; - out2 += out3; - out0 += out2; - sum = HADD_SW_S32(out0); - return sum; -} - -static int SSE4x4_MSA(const uint8_t* a, const uint8_t* b) { - uint32_t sum = 0; - uint32_t src0, src1, src2, src3, ref0, ref1, ref2, ref3; - v16u8 src = { 0 }, ref = { 0 }, tmp0, tmp1; - v8i16 diff0, diff1; - v4i32 out0, out1; - - LW4(a, BPS, src0, src1, src2, src3); - LW4(b, BPS, ref0, ref1, ref2, ref3); - INSERT_W4_UB(src0, src1, src2, src3, src); - INSERT_W4_UB(ref0, ref1, ref2, ref3, ref); - ILVRL_B2_UB(src, ref, tmp0, tmp1); - HSUB_UB2_SH(tmp0, tmp1, diff0, diff1); - DOTP_SH2_SW(diff0, diff1, diff0, diff1, out0, out1); - out0 += out1; - sum = HADD_SW_S32(out0); - return sum; -} - -//------------------------------------------------------------------------------ -// Quantization - -static int QuantizeBlock_MSA(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { - int sum; - v8i16 in0, in1, sh0, sh1, out0, out1; - v8i16 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, sign0, sign1; - v4i32 s0, s1, s2, s3, b0, b1, b2, b3, t0, t1, t2, t3; - const v8i16 zero = { 0 }; - const v8i16 zigzag0 = { 0, 1, 4, 8, 5, 2, 3, 6 }; - const v8i16 zigzag1 = { 9, 12, 13, 10, 7, 11, 14, 15 }; - const v8i16 maxlevel = __msa_fill_h(MAX_LEVEL); - - LD_SH2(&in[0], 8, in0, in1); - LD_SH2(&mtx->sharpen_[0], 8, sh0, sh1); - tmp4 = __msa_add_a_h(in0, zero); - tmp5 = __msa_add_a_h(in1, zero); - ILVRL_H2_SH(sh0, tmp4, tmp0, tmp1); - ILVRL_H2_SH(sh1, tmp5, tmp2, tmp3); - HADD_SH4_SW(tmp0, tmp1, tmp2, tmp3, s0, s1, s2, s3); - sign0 = (in0 < zero); - sign1 = (in1 < zero); // sign - LD_SH2(&mtx->iq_[0], 8, tmp0, tmp1); // iq - ILVRL_H2_SW(zero, tmp0, t0, t1); - ILVRL_H2_SW(zero, tmp1, t2, t3); - LD_SW4(&mtx->bias_[0], 4, b0, b1, b2, b3); // bias - MUL4(t0, s0, t1, s1, t2, s2, t3, s3, t0, t1, t2, t3); - ADD4(b0, t0, b1, t1, b2, t2, b3, t3, b0, b1, b2, b3); - SRAI_W4_SW(b0, b1, b2, b3, 17); - PCKEV_H2_SH(b1, b0, b3, b2, tmp2, tmp3); - tmp0 = (tmp2 > maxlevel); - tmp1 = (tmp3 > maxlevel); - tmp2 = (v8i16)__msa_bmnz_v((v16u8)tmp2, (v16u8)maxlevel, (v16u8)tmp0); - tmp3 = (v8i16)__msa_bmnz_v((v16u8)tmp3, (v16u8)maxlevel, (v16u8)tmp1); - SUB2(zero, tmp2, zero, tmp3, tmp0, tmp1); - tmp2 = (v8i16)__msa_bmnz_v((v16u8)tmp2, (v16u8)tmp0, (v16u8)sign0); - tmp3 = (v8i16)__msa_bmnz_v((v16u8)tmp3, (v16u8)tmp1, (v16u8)sign1); - LD_SW4(&mtx->zthresh_[0], 4, t0, t1, t2, t3); // zthresh - t0 = (s0 > t0); - t1 = (s1 > t1); - t2 = (s2 > t2); - t3 = (s3 > t3); - PCKEV_H2_SH(t1, t0, t3, t2, tmp0, tmp1); - tmp4 = (v8i16)__msa_bmnz_v((v16u8)zero, (v16u8)tmp2, (v16u8)tmp0); - tmp5 = (v8i16)__msa_bmnz_v((v16u8)zero, (v16u8)tmp3, (v16u8)tmp1); - LD_SH2(&mtx->q_[0], 8, tmp0, tmp1); - MUL2(tmp4, tmp0, tmp5, tmp1, in0, in1); - VSHF_H2_SH(tmp4, tmp5, tmp4, tmp5, zigzag0, zigzag1, out0, out1); - ST_SH2(in0, in1, &in[0], 8); - ST_SH2(out0, out1, &out[0], 8); - out0 = __msa_add_a_h(out0, out1); - sum = HADD_SH_S32(out0); - return (sum > 0); -} - -static int Quantize2Blocks_MSA(int16_t in[32], int16_t out[32], - const VP8Matrix* const mtx) { - int nz; - nz = VP8EncQuantizeBlock(in + 0 * 16, out + 0 * 16, mtx) << 0; - nz |= VP8EncQuantizeBlock(in + 1 * 16, out + 1 * 16, mtx) << 1; - return nz; -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspInitMSA(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitMSA(void) { - VP8ITransform = ITransform_MSA; - VP8FTransform = FTransform_MSA; - VP8FTransformWHT = FTransformWHT_MSA; - - VP8TDisto4x4 = Disto4x4_MSA; - VP8TDisto16x16 = Disto16x16_MSA; - VP8CollectHistogram = CollectHistogram_MSA; - - VP8EncPredLuma4 = Intra4Preds_MSA; - VP8EncPredLuma16 = Intra16Preds_MSA; - VP8EncPredChroma8 = IntraChromaPreds_MSA; - - VP8SSE16x16 = SSE16x16_MSA; - VP8SSE16x8 = SSE16x8_MSA; - VP8SSE8x8 = SSE8x8_MSA; - VP8SSE4x4 = SSE4x4_MSA; - - VP8EncQuantizeBlock = QuantizeBlock_MSA; - VP8EncQuantize2Blocks = Quantize2Blocks_MSA; - VP8EncQuantizeBlockWHT = QuantizeBlock_MSA; -} - -#else // !WEBP_USE_MSA - -WEBP_DSP_INIT_STUB(VP8EncDspInitMSA) - -#endif // WEBP_USE_MSA diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_neon.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_neon.c deleted file mode 100644 index 43bf1245..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_neon.c +++ /dev/null @@ -1,938 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// ARM NEON version of speed-critical encoding functions. -// -// adapted from libvpx (http://www.webmproject.org/code/) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_NEON) - -#include - -#include "src/dsp/neon.h" -#include "src/enc/vp8i_enc.h" - -//------------------------------------------------------------------------------ -// Transforms (Paragraph 14.4) - -// Inverse transform. -// This code is pretty much the same as TransformOne in the dec_neon.c, except -// for subtraction to *ref. See the comments there for algorithmic explanations. - -static const int16_t kC1 = 20091; -static const int16_t kC2 = 17734; // half of kC2, actually. See comment above. - -// This code works but is *slower* than the inlined-asm version below -// (with gcc-4.6). So we disable it for now. Later, it'll be conditional to -// WEBP_USE_INTRINSICS define. -// With gcc-4.8, it's a little faster speed than inlined-assembly. -#if defined(WEBP_USE_INTRINSICS) - -// Treats 'v' as an uint8x8_t and zero extends to an int16x8_t. -static WEBP_INLINE int16x8_t ConvertU8ToS16_NEON(uint32x2_t v) { - return vreinterpretq_s16_u16(vmovl_u8(vreinterpret_u8_u32(v))); -} - -// Performs unsigned 8b saturation on 'dst01' and 'dst23' storing the result -// to the corresponding rows of 'dst'. -static WEBP_INLINE void SaturateAndStore4x4_NEON(uint8_t* const dst, - const int16x8_t dst01, - const int16x8_t dst23) { - // Unsigned saturate to 8b. - const uint8x8_t dst01_u8 = vqmovun_s16(dst01); - const uint8x8_t dst23_u8 = vqmovun_s16(dst23); - - // Store the results. - vst1_lane_u32((uint32_t*)(dst + 0 * BPS), vreinterpret_u32_u8(dst01_u8), 0); - vst1_lane_u32((uint32_t*)(dst + 1 * BPS), vreinterpret_u32_u8(dst01_u8), 1); - vst1_lane_u32((uint32_t*)(dst + 2 * BPS), vreinterpret_u32_u8(dst23_u8), 0); - vst1_lane_u32((uint32_t*)(dst + 3 * BPS), vreinterpret_u32_u8(dst23_u8), 1); -} - -static WEBP_INLINE void Add4x4_NEON(const int16x8_t row01, - const int16x8_t row23, - const uint8_t* const ref, - uint8_t* const dst) { - uint32x2_t dst01 = vdup_n_u32(0); - uint32x2_t dst23 = vdup_n_u32(0); - - // Load the source pixels. - dst01 = vld1_lane_u32((uint32_t*)(ref + 0 * BPS), dst01, 0); - dst23 = vld1_lane_u32((uint32_t*)(ref + 2 * BPS), dst23, 0); - dst01 = vld1_lane_u32((uint32_t*)(ref + 1 * BPS), dst01, 1); - dst23 = vld1_lane_u32((uint32_t*)(ref + 3 * BPS), dst23, 1); - - { - // Convert to 16b. - const int16x8_t dst01_s16 = ConvertU8ToS16_NEON(dst01); - const int16x8_t dst23_s16 = ConvertU8ToS16_NEON(dst23); - - // Descale with rounding. - const int16x8_t out01 = vrsraq_n_s16(dst01_s16, row01, 3); - const int16x8_t out23 = vrsraq_n_s16(dst23_s16, row23, 3); - // Add the inverse transform. - SaturateAndStore4x4_NEON(dst, out01, out23); - } -} - -static WEBP_INLINE void Transpose8x2_NEON(const int16x8_t in0, - const int16x8_t in1, - int16x8x2_t* const out) { - // a0 a1 a2 a3 | b0 b1 b2 b3 => a0 b0 c0 d0 | a1 b1 c1 d1 - // c0 c1 c2 c3 | d0 d1 d2 d3 a2 b2 c2 d2 | a3 b3 c3 d3 - const int16x8x2_t tmp0 = vzipq_s16(in0, in1); // a0 c0 a1 c1 a2 c2 ... - // b0 d0 b1 d1 b2 d2 ... - *out = vzipq_s16(tmp0.val[0], tmp0.val[1]); -} - -static WEBP_INLINE void TransformPass_NEON(int16x8x2_t* const rows) { - // {rows} = in0 | in4 - // in8 | in12 - // B1 = in4 | in12 - const int16x8_t B1 = - vcombine_s16(vget_high_s16(rows->val[0]), vget_high_s16(rows->val[1])); - // C0 = kC1 * in4 | kC1 * in12 - // C1 = kC2 * in4 | kC2 * in12 - const int16x8_t C0 = vsraq_n_s16(B1, vqdmulhq_n_s16(B1, kC1), 1); - const int16x8_t C1 = vqdmulhq_n_s16(B1, kC2); - const int16x4_t a = vqadd_s16(vget_low_s16(rows->val[0]), - vget_low_s16(rows->val[1])); // in0 + in8 - const int16x4_t b = vqsub_s16(vget_low_s16(rows->val[0]), - vget_low_s16(rows->val[1])); // in0 - in8 - // c = kC2 * in4 - kC1 * in12 - // d = kC1 * in4 + kC2 * in12 - const int16x4_t c = vqsub_s16(vget_low_s16(C1), vget_high_s16(C0)); - const int16x4_t d = vqadd_s16(vget_low_s16(C0), vget_high_s16(C1)); - const int16x8_t D0 = vcombine_s16(a, b); // D0 = a | b - const int16x8_t D1 = vcombine_s16(d, c); // D1 = d | c - const int16x8_t E0 = vqaddq_s16(D0, D1); // a+d | b+c - const int16x8_t E_tmp = vqsubq_s16(D0, D1); // a-d | b-c - const int16x8_t E1 = vcombine_s16(vget_high_s16(E_tmp), vget_low_s16(E_tmp)); - Transpose8x2_NEON(E0, E1, rows); -} - -static void ITransformOne_NEON(const uint8_t* ref, - const int16_t* in, uint8_t* dst) { - int16x8x2_t rows; - INIT_VECTOR2(rows, vld1q_s16(in + 0), vld1q_s16(in + 8)); - TransformPass_NEON(&rows); - TransformPass_NEON(&rows); - Add4x4_NEON(rows.val[0], rows.val[1], ref, dst); -} - -#else - -static void ITransformOne_NEON(const uint8_t* ref, - const int16_t* in, uint8_t* dst) { - const int kBPS = BPS; - const int16_t kC1C2[] = { kC1, kC2, 0, 0 }; - - __asm__ volatile ( - "vld1.16 {q1, q2}, [%[in]] \n" - "vld1.16 {d0}, [%[kC1C2]] \n" - - // d2: in[0] - // d3: in[8] - // d4: in[4] - // d5: in[12] - "vswp d3, d4 \n" - - // q8 = {in[4], in[12]} * kC1 * 2 >> 16 - // q9 = {in[4], in[12]} * kC2 >> 16 - "vqdmulh.s16 q8, q2, d0[0] \n" - "vqdmulh.s16 q9, q2, d0[1] \n" - - // d22 = a = in[0] + in[8] - // d23 = b = in[0] - in[8] - "vqadd.s16 d22, d2, d3 \n" - "vqsub.s16 d23, d2, d3 \n" - - // q8 = in[4]/[12] * kC1 >> 16 - "vshr.s16 q8, q8, #1 \n" - - // Add {in[4], in[12]} back after the multiplication. - "vqadd.s16 q8, q2, q8 \n" - - // d20 = c = in[4]*kC2 - in[12]*kC1 - // d21 = d = in[4]*kC1 + in[12]*kC2 - "vqsub.s16 d20, d18, d17 \n" - "vqadd.s16 d21, d19, d16 \n" - - // d2 = tmp[0] = a + d - // d3 = tmp[1] = b + c - // d4 = tmp[2] = b - c - // d5 = tmp[3] = a - d - "vqadd.s16 d2, d22, d21 \n" - "vqadd.s16 d3, d23, d20 \n" - "vqsub.s16 d4, d23, d20 \n" - "vqsub.s16 d5, d22, d21 \n" - - "vzip.16 q1, q2 \n" - "vzip.16 q1, q2 \n" - - "vswp d3, d4 \n" - - // q8 = {tmp[4], tmp[12]} * kC1 * 2 >> 16 - // q9 = {tmp[4], tmp[12]} * kC2 >> 16 - "vqdmulh.s16 q8, q2, d0[0] \n" - "vqdmulh.s16 q9, q2, d0[1] \n" - - // d22 = a = tmp[0] + tmp[8] - // d23 = b = tmp[0] - tmp[8] - "vqadd.s16 d22, d2, d3 \n" - "vqsub.s16 d23, d2, d3 \n" - - "vshr.s16 q8, q8, #1 \n" - "vqadd.s16 q8, q2, q8 \n" - - // d20 = c = in[4]*kC2 - in[12]*kC1 - // d21 = d = in[4]*kC1 + in[12]*kC2 - "vqsub.s16 d20, d18, d17 \n" - "vqadd.s16 d21, d19, d16 \n" - - // d2 = tmp[0] = a + d - // d3 = tmp[1] = b + c - // d4 = tmp[2] = b - c - // d5 = tmp[3] = a - d - "vqadd.s16 d2, d22, d21 \n" - "vqadd.s16 d3, d23, d20 \n" - "vqsub.s16 d4, d23, d20 \n" - "vqsub.s16 d5, d22, d21 \n" - - "vld1.32 d6[0], [%[ref]], %[kBPS] \n" - "vld1.32 d6[1], [%[ref]], %[kBPS] \n" - "vld1.32 d7[0], [%[ref]], %[kBPS] \n" - "vld1.32 d7[1], [%[ref]], %[kBPS] \n" - - "sub %[ref], %[ref], %[kBPS], lsl #2 \n" - - // (val) + 4 >> 3 - "vrshr.s16 d2, d2, #3 \n" - "vrshr.s16 d3, d3, #3 \n" - "vrshr.s16 d4, d4, #3 \n" - "vrshr.s16 d5, d5, #3 \n" - - "vzip.16 q1, q2 \n" - "vzip.16 q1, q2 \n" - - // Must accumulate before saturating - "vmovl.u8 q8, d6 \n" - "vmovl.u8 q9, d7 \n" - - "vqadd.s16 q1, q1, q8 \n" - "vqadd.s16 q2, q2, q9 \n" - - "vqmovun.s16 d0, q1 \n" - "vqmovun.s16 d1, q2 \n" - - "vst1.32 d0[0], [%[dst]], %[kBPS] \n" - "vst1.32 d0[1], [%[dst]], %[kBPS] \n" - "vst1.32 d1[0], [%[dst]], %[kBPS] \n" - "vst1.32 d1[1], [%[dst]] \n" - - : [in] "+r"(in), [dst] "+r"(dst) // modified registers - : [kBPS] "r"(kBPS), [kC1C2] "r"(kC1C2), [ref] "r"(ref) // constants - : "memory", "q0", "q1", "q2", "q8", "q9", "q10", "q11" // clobbered - ); -} - -#endif // WEBP_USE_INTRINSICS - -static void ITransform_NEON(const uint8_t* ref, - const int16_t* in, uint8_t* dst, int do_two) { - ITransformOne_NEON(ref, in, dst); - if (do_two) { - ITransformOne_NEON(ref + 4, in + 16, dst + 4); - } -} - -// Load all 4x4 pixels into a single uint8x16_t variable. -static uint8x16_t Load4x4_NEON(const uint8_t* src) { - uint32x4_t out = vdupq_n_u32(0); - out = vld1q_lane_u32((const uint32_t*)(src + 0 * BPS), out, 0); - out = vld1q_lane_u32((const uint32_t*)(src + 1 * BPS), out, 1); - out = vld1q_lane_u32((const uint32_t*)(src + 2 * BPS), out, 2); - out = vld1q_lane_u32((const uint32_t*)(src + 3 * BPS), out, 3); - return vreinterpretq_u8_u32(out); -} - -// Forward transform. - -#if defined(WEBP_USE_INTRINSICS) - -static WEBP_INLINE void Transpose4x4_S16_NEON(const int16x4_t A, - const int16x4_t B, - const int16x4_t C, - const int16x4_t D, - int16x8_t* const out01, - int16x8_t* const out32) { - const int16x4x2_t AB = vtrn_s16(A, B); - const int16x4x2_t CD = vtrn_s16(C, D); - const int32x2x2_t tmp02 = vtrn_s32(vreinterpret_s32_s16(AB.val[0]), - vreinterpret_s32_s16(CD.val[0])); - const int32x2x2_t tmp13 = vtrn_s32(vreinterpret_s32_s16(AB.val[1]), - vreinterpret_s32_s16(CD.val[1])); - *out01 = vreinterpretq_s16_s64( - vcombine_s64(vreinterpret_s64_s32(tmp02.val[0]), - vreinterpret_s64_s32(tmp13.val[0]))); - *out32 = vreinterpretq_s16_s64( - vcombine_s64(vreinterpret_s64_s32(tmp13.val[1]), - vreinterpret_s64_s32(tmp02.val[1]))); -} - -static WEBP_INLINE int16x8_t DiffU8ToS16_NEON(const uint8x8_t a, - const uint8x8_t b) { - return vreinterpretq_s16_u16(vsubl_u8(a, b)); -} - -static void FTransform_NEON(const uint8_t* src, const uint8_t* ref, - int16_t* out) { - int16x8_t d0d1, d3d2; // working 4x4 int16 variables - { - const uint8x16_t S0 = Load4x4_NEON(src); - const uint8x16_t R0 = Load4x4_NEON(ref); - const int16x8_t D0D1 = DiffU8ToS16_NEON(vget_low_u8(S0), vget_low_u8(R0)); - const int16x8_t D2D3 = DiffU8ToS16_NEON(vget_high_u8(S0), vget_high_u8(R0)); - const int16x4_t D0 = vget_low_s16(D0D1); - const int16x4_t D1 = vget_high_s16(D0D1); - const int16x4_t D2 = vget_low_s16(D2D3); - const int16x4_t D3 = vget_high_s16(D2D3); - Transpose4x4_S16_NEON(D0, D1, D2, D3, &d0d1, &d3d2); - } - { // 1rst pass - const int32x4_t kCst937 = vdupq_n_s32(937); - const int32x4_t kCst1812 = vdupq_n_s32(1812); - const int16x8_t a0a1 = vaddq_s16(d0d1, d3d2); // d0+d3 | d1+d2 (=a0|a1) - const int16x8_t a3a2 = vsubq_s16(d0d1, d3d2); // d0-d3 | d1-d2 (=a3|a2) - const int16x8_t a0a1_2 = vshlq_n_s16(a0a1, 3); - const int16x4_t tmp0 = vadd_s16(vget_low_s16(a0a1_2), - vget_high_s16(a0a1_2)); - const int16x4_t tmp2 = vsub_s16(vget_low_s16(a0a1_2), - vget_high_s16(a0a1_2)); - const int32x4_t a3_2217 = vmull_n_s16(vget_low_s16(a3a2), 2217); - const int32x4_t a2_2217 = vmull_n_s16(vget_high_s16(a3a2), 2217); - const int32x4_t a2_p_a3 = vmlal_n_s16(a2_2217, vget_low_s16(a3a2), 5352); - const int32x4_t a3_m_a2 = vmlsl_n_s16(a3_2217, vget_high_s16(a3a2), 5352); - const int16x4_t tmp1 = vshrn_n_s32(vaddq_s32(a2_p_a3, kCst1812), 9); - const int16x4_t tmp3 = vshrn_n_s32(vaddq_s32(a3_m_a2, kCst937), 9); - Transpose4x4_S16_NEON(tmp0, tmp1, tmp2, tmp3, &d0d1, &d3d2); - } - { // 2nd pass - // the (1<<16) addition is for the replacement: a3!=0 <-> 1-(a3==0) - const int32x4_t kCst12000 = vdupq_n_s32(12000 + (1 << 16)); - const int32x4_t kCst51000 = vdupq_n_s32(51000); - const int16x8_t a0a1 = vaddq_s16(d0d1, d3d2); // d0+d3 | d1+d2 (=a0|a1) - const int16x8_t a3a2 = vsubq_s16(d0d1, d3d2); // d0-d3 | d1-d2 (=a3|a2) - const int16x4_t a0_k7 = vadd_s16(vget_low_s16(a0a1), vdup_n_s16(7)); - const int16x4_t out0 = vshr_n_s16(vadd_s16(a0_k7, vget_high_s16(a0a1)), 4); - const int16x4_t out2 = vshr_n_s16(vsub_s16(a0_k7, vget_high_s16(a0a1)), 4); - const int32x4_t a3_2217 = vmull_n_s16(vget_low_s16(a3a2), 2217); - const int32x4_t a2_2217 = vmull_n_s16(vget_high_s16(a3a2), 2217); - const int32x4_t a2_p_a3 = vmlal_n_s16(a2_2217, vget_low_s16(a3a2), 5352); - const int32x4_t a3_m_a2 = vmlsl_n_s16(a3_2217, vget_high_s16(a3a2), 5352); - const int16x4_t tmp1 = vaddhn_s32(a2_p_a3, kCst12000); - const int16x4_t out3 = vaddhn_s32(a3_m_a2, kCst51000); - const int16x4_t a3_eq_0 = - vreinterpret_s16_u16(vceq_s16(vget_low_s16(a3a2), vdup_n_s16(0))); - const int16x4_t out1 = vadd_s16(tmp1, a3_eq_0); - vst1_s16(out + 0, out0); - vst1_s16(out + 4, out1); - vst1_s16(out + 8, out2); - vst1_s16(out + 12, out3); - } -} - -#else - -// adapted from vp8/encoder/arm/neon/shortfdct_neon.asm -static const int16_t kCoeff16[] = { - 5352, 5352, 5352, 5352, 2217, 2217, 2217, 2217 -}; -static const int32_t kCoeff32[] = { - 1812, 1812, 1812, 1812, - 937, 937, 937, 937, - 12000, 12000, 12000, 12000, - 51000, 51000, 51000, 51000 -}; - -static void FTransform_NEON(const uint8_t* src, const uint8_t* ref, - int16_t* out) { - const int kBPS = BPS; - const uint8_t* src_ptr = src; - const uint8_t* ref_ptr = ref; - const int16_t* coeff16 = kCoeff16; - const int32_t* coeff32 = kCoeff32; - - __asm__ volatile ( - // load src into q4, q5 in high half - "vld1.8 {d8}, [%[src_ptr]], %[kBPS] \n" - "vld1.8 {d10}, [%[src_ptr]], %[kBPS] \n" - "vld1.8 {d9}, [%[src_ptr]], %[kBPS] \n" - "vld1.8 {d11}, [%[src_ptr]] \n" - - // load ref into q6, q7 in high half - "vld1.8 {d12}, [%[ref_ptr]], %[kBPS] \n" - "vld1.8 {d14}, [%[ref_ptr]], %[kBPS] \n" - "vld1.8 {d13}, [%[ref_ptr]], %[kBPS] \n" - "vld1.8 {d15}, [%[ref_ptr]] \n" - - // Pack the high values in to q4 and q6 - "vtrn.32 q4, q5 \n" - "vtrn.32 q6, q7 \n" - - // d[0-3] = src - ref - "vsubl.u8 q0, d8, d12 \n" - "vsubl.u8 q1, d9, d13 \n" - - // load coeff16 into q8(d16=5352, d17=2217) - "vld1.16 {q8}, [%[coeff16]] \n" - - // load coeff32 high half into q9 = 1812, q10 = 937 - "vld1.32 {q9, q10}, [%[coeff32]]! \n" - - // load coeff32 low half into q11=12000, q12=51000 - "vld1.32 {q11,q12}, [%[coeff32]] \n" - - // part 1 - // Transpose. Register dN is the same as dN in C - "vtrn.32 d0, d2 \n" - "vtrn.32 d1, d3 \n" - "vtrn.16 d0, d1 \n" - "vtrn.16 d2, d3 \n" - - "vadd.s16 d4, d0, d3 \n" // a0 = d0 + d3 - "vadd.s16 d5, d1, d2 \n" // a1 = d1 + d2 - "vsub.s16 d6, d1, d2 \n" // a2 = d1 - d2 - "vsub.s16 d7, d0, d3 \n" // a3 = d0 - d3 - - "vadd.s16 d0, d4, d5 \n" // a0 + a1 - "vshl.s16 d0, d0, #3 \n" // temp[0+i*4] = (a0+a1) << 3 - "vsub.s16 d2, d4, d5 \n" // a0 - a1 - "vshl.s16 d2, d2, #3 \n" // (temp[2+i*4] = (a0-a1) << 3 - - "vmlal.s16 q9, d7, d16 \n" // a3*5352 + 1812 - "vmlal.s16 q10, d7, d17 \n" // a3*2217 + 937 - "vmlal.s16 q9, d6, d17 \n" // a2*2217 + a3*5352 + 1812 - "vmlsl.s16 q10, d6, d16 \n" // a3*2217 + 937 - a2*5352 - - // temp[1+i*4] = (d2*2217 + d3*5352 + 1812) >> 9 - // temp[3+i*4] = (d3*2217 + 937 - d2*5352) >> 9 - "vshrn.s32 d1, q9, #9 \n" - "vshrn.s32 d3, q10, #9 \n" - - // part 2 - // transpose d0=ip[0], d1=ip[4], d2=ip[8], d3=ip[12] - "vtrn.32 d0, d2 \n" - "vtrn.32 d1, d3 \n" - "vtrn.16 d0, d1 \n" - "vtrn.16 d2, d3 \n" - - "vmov.s16 d26, #7 \n" - - "vadd.s16 d4, d0, d3 \n" // a1 = ip[0] + ip[12] - "vadd.s16 d5, d1, d2 \n" // b1 = ip[4] + ip[8] - "vsub.s16 d6, d1, d2 \n" // c1 = ip[4] - ip[8] - "vadd.s16 d4, d4, d26 \n" // a1 + 7 - "vsub.s16 d7, d0, d3 \n" // d1 = ip[0] - ip[12] - - "vadd.s16 d0, d4, d5 \n" // op[0] = a1 + b1 + 7 - "vsub.s16 d2, d4, d5 \n" // op[8] = a1 - b1 + 7 - - "vmlal.s16 q11, d7, d16 \n" // d1*5352 + 12000 - "vmlal.s16 q12, d7, d17 \n" // d1*2217 + 51000 - - "vceq.s16 d4, d7, #0 \n" - - "vshr.s16 d0, d0, #4 \n" - "vshr.s16 d2, d2, #4 \n" - - "vmlal.s16 q11, d6, d17 \n" // c1*2217 + d1*5352 + 12000 - "vmlsl.s16 q12, d6, d16 \n" // d1*2217 - c1*5352 + 51000 - - "vmvn d4, d4 \n" // !(d1 == 0) - // op[4] = (c1*2217 + d1*5352 + 12000)>>16 - "vshrn.s32 d1, q11, #16 \n" - // op[4] += (d1!=0) - "vsub.s16 d1, d1, d4 \n" - // op[12]= (d1*2217 - c1*5352 + 51000)>>16 - "vshrn.s32 d3, q12, #16 \n" - - // set result to out array - "vst1.16 {q0, q1}, [%[out]] \n" - : [src_ptr] "+r"(src_ptr), [ref_ptr] "+r"(ref_ptr), - [coeff32] "+r"(coeff32) // modified registers - : [kBPS] "r"(kBPS), [coeff16] "r"(coeff16), - [out] "r"(out) // constants - : "memory", "q0", "q1", "q2", "q3", "q4", "q5", "q6", "q7", "q8", "q9", - "q10", "q11", "q12", "q13" // clobbered - ); -} - -#endif - -#define LOAD_LANE_16b(VALUE, LANE) do { \ - (VALUE) = vld1_lane_s16(src, (VALUE), (LANE)); \ - src += stride; \ -} while (0) - -static void FTransformWHT_NEON(const int16_t* src, int16_t* out) { - const int stride = 16; - const int16x4_t zero = vdup_n_s16(0); - int32x4x4_t tmp0; - int16x4x4_t in; - INIT_VECTOR4(in, zero, zero, zero, zero); - LOAD_LANE_16b(in.val[0], 0); - LOAD_LANE_16b(in.val[1], 0); - LOAD_LANE_16b(in.val[2], 0); - LOAD_LANE_16b(in.val[3], 0); - LOAD_LANE_16b(in.val[0], 1); - LOAD_LANE_16b(in.val[1], 1); - LOAD_LANE_16b(in.val[2], 1); - LOAD_LANE_16b(in.val[3], 1); - LOAD_LANE_16b(in.val[0], 2); - LOAD_LANE_16b(in.val[1], 2); - LOAD_LANE_16b(in.val[2], 2); - LOAD_LANE_16b(in.val[3], 2); - LOAD_LANE_16b(in.val[0], 3); - LOAD_LANE_16b(in.val[1], 3); - LOAD_LANE_16b(in.val[2], 3); - LOAD_LANE_16b(in.val[3], 3); - - { - // a0 = in[0 * 16] + in[2 * 16] - // a1 = in[1 * 16] + in[3 * 16] - // a2 = in[1 * 16] - in[3 * 16] - // a3 = in[0 * 16] - in[2 * 16] - const int32x4_t a0 = vaddl_s16(in.val[0], in.val[2]); - const int32x4_t a1 = vaddl_s16(in.val[1], in.val[3]); - const int32x4_t a2 = vsubl_s16(in.val[1], in.val[3]); - const int32x4_t a3 = vsubl_s16(in.val[0], in.val[2]); - tmp0.val[0] = vaddq_s32(a0, a1); - tmp0.val[1] = vaddq_s32(a3, a2); - tmp0.val[2] = vsubq_s32(a3, a2); - tmp0.val[3] = vsubq_s32(a0, a1); - } - { - const int32x4x4_t tmp1 = Transpose4x4_NEON(tmp0); - // a0 = tmp[0 + i] + tmp[ 8 + i] - // a1 = tmp[4 + i] + tmp[12 + i] - // a2 = tmp[4 + i] - tmp[12 + i] - // a3 = tmp[0 + i] - tmp[ 8 + i] - const int32x4_t a0 = vaddq_s32(tmp1.val[0], tmp1.val[2]); - const int32x4_t a1 = vaddq_s32(tmp1.val[1], tmp1.val[3]); - const int32x4_t a2 = vsubq_s32(tmp1.val[1], tmp1.val[3]); - const int32x4_t a3 = vsubq_s32(tmp1.val[0], tmp1.val[2]); - const int32x4_t b0 = vhaddq_s32(a0, a1); // (a0 + a1) >> 1 - const int32x4_t b1 = vhaddq_s32(a3, a2); // (a3 + a2) >> 1 - const int32x4_t b2 = vhsubq_s32(a3, a2); // (a3 - a2) >> 1 - const int32x4_t b3 = vhsubq_s32(a0, a1); // (a0 - a1) >> 1 - const int16x4_t out0 = vmovn_s32(b0); - const int16x4_t out1 = vmovn_s32(b1); - const int16x4_t out2 = vmovn_s32(b2); - const int16x4_t out3 = vmovn_s32(b3); - - vst1_s16(out + 0, out0); - vst1_s16(out + 4, out1); - vst1_s16(out + 8, out2); - vst1_s16(out + 12, out3); - } -} -#undef LOAD_LANE_16b - -//------------------------------------------------------------------------------ -// Texture distortion -// -// We try to match the spectral content (weighted) between source and -// reconstructed samples. - -// a 0123, b 0123 -// a 4567, b 4567 -// a 89ab, b 89ab -// a cdef, b cdef -// -// transpose -// -// a 048c, b 048c -// a 159d, b 159d -// a 26ae, b 26ae -// a 37bf, b 37bf -// -static WEBP_INLINE int16x8x4_t DistoTranspose4x4S16_NEON(int16x8x4_t q4_in) { - const int16x8x2_t q2_tmp0 = vtrnq_s16(q4_in.val[0], q4_in.val[1]); - const int16x8x2_t q2_tmp1 = vtrnq_s16(q4_in.val[2], q4_in.val[3]); - const int32x4x2_t q2_tmp2 = vtrnq_s32(vreinterpretq_s32_s16(q2_tmp0.val[0]), - vreinterpretq_s32_s16(q2_tmp1.val[0])); - const int32x4x2_t q2_tmp3 = vtrnq_s32(vreinterpretq_s32_s16(q2_tmp0.val[1]), - vreinterpretq_s32_s16(q2_tmp1.val[1])); - q4_in.val[0] = vreinterpretq_s16_s32(q2_tmp2.val[0]); - q4_in.val[2] = vreinterpretq_s16_s32(q2_tmp2.val[1]); - q4_in.val[1] = vreinterpretq_s16_s32(q2_tmp3.val[0]); - q4_in.val[3] = vreinterpretq_s16_s32(q2_tmp3.val[1]); - return q4_in; -} - -static WEBP_INLINE int16x8x4_t DistoHorizontalPass_NEON( - const int16x8x4_t q4_in) { - // {a0, a1} = {in[0] + in[2], in[1] + in[3]} - // {a3, a2} = {in[0] - in[2], in[1] - in[3]} - const int16x8_t q_a0 = vaddq_s16(q4_in.val[0], q4_in.val[2]); - const int16x8_t q_a1 = vaddq_s16(q4_in.val[1], q4_in.val[3]); - const int16x8_t q_a3 = vsubq_s16(q4_in.val[0], q4_in.val[2]); - const int16x8_t q_a2 = vsubq_s16(q4_in.val[1], q4_in.val[3]); - int16x8x4_t q4_out; - // tmp[0] = a0 + a1 - // tmp[1] = a3 + a2 - // tmp[2] = a3 - a2 - // tmp[3] = a0 - a1 - INIT_VECTOR4(q4_out, - vabsq_s16(vaddq_s16(q_a0, q_a1)), - vabsq_s16(vaddq_s16(q_a3, q_a2)), - vabdq_s16(q_a3, q_a2), vabdq_s16(q_a0, q_a1)); - return q4_out; -} - -static WEBP_INLINE int16x8x4_t DistoVerticalPass_NEON(const uint8x8x4_t q4_in) { - const int16x8_t q_a0 = vreinterpretq_s16_u16(vaddl_u8(q4_in.val[0], - q4_in.val[2])); - const int16x8_t q_a1 = vreinterpretq_s16_u16(vaddl_u8(q4_in.val[1], - q4_in.val[3])); - const int16x8_t q_a2 = vreinterpretq_s16_u16(vsubl_u8(q4_in.val[1], - q4_in.val[3])); - const int16x8_t q_a3 = vreinterpretq_s16_u16(vsubl_u8(q4_in.val[0], - q4_in.val[2])); - int16x8x4_t q4_out; - - INIT_VECTOR4(q4_out, - vaddq_s16(q_a0, q_a1), vaddq_s16(q_a3, q_a2), - vsubq_s16(q_a3, q_a2), vsubq_s16(q_a0, q_a1)); - return q4_out; -} - -static WEBP_INLINE int16x4x4_t DistoLoadW_NEON(const uint16_t* w) { - const uint16x8_t q_w07 = vld1q_u16(&w[0]); - const uint16x8_t q_w8f = vld1q_u16(&w[8]); - int16x4x4_t d4_w; - INIT_VECTOR4(d4_w, - vget_low_s16(vreinterpretq_s16_u16(q_w07)), - vget_high_s16(vreinterpretq_s16_u16(q_w07)), - vget_low_s16(vreinterpretq_s16_u16(q_w8f)), - vget_high_s16(vreinterpretq_s16_u16(q_w8f))); - return d4_w; -} - -static WEBP_INLINE int32x2_t DistoSum_NEON(const int16x8x4_t q4_in, - const int16x4x4_t d4_w) { - int32x2_t d_sum; - // sum += w[ 0] * abs(b0); - // sum += w[ 4] * abs(b1); - // sum += w[ 8] * abs(b2); - // sum += w[12] * abs(b3); - int32x4_t q_sum0 = vmull_s16(d4_w.val[0], vget_low_s16(q4_in.val[0])); - int32x4_t q_sum1 = vmull_s16(d4_w.val[1], vget_low_s16(q4_in.val[1])); - int32x4_t q_sum2 = vmull_s16(d4_w.val[2], vget_low_s16(q4_in.val[2])); - int32x4_t q_sum3 = vmull_s16(d4_w.val[3], vget_low_s16(q4_in.val[3])); - q_sum0 = vmlsl_s16(q_sum0, d4_w.val[0], vget_high_s16(q4_in.val[0])); - q_sum1 = vmlsl_s16(q_sum1, d4_w.val[1], vget_high_s16(q4_in.val[1])); - q_sum2 = vmlsl_s16(q_sum2, d4_w.val[2], vget_high_s16(q4_in.val[2])); - q_sum3 = vmlsl_s16(q_sum3, d4_w.val[3], vget_high_s16(q4_in.val[3])); - - q_sum0 = vaddq_s32(q_sum0, q_sum1); - q_sum2 = vaddq_s32(q_sum2, q_sum3); - q_sum2 = vaddq_s32(q_sum0, q_sum2); - d_sum = vpadd_s32(vget_low_s32(q_sum2), vget_high_s32(q_sum2)); - d_sum = vpadd_s32(d_sum, d_sum); - return d_sum; -} - -#define LOAD_LANE_32b(src, VALUE, LANE) \ - (VALUE) = vld1_lane_u32((const uint32_t*)(src), (VALUE), (LANE)) - -// Hadamard transform -// Returns the weighted sum of the absolute value of transformed coefficients. -// w[] contains a row-major 4 by 4 symmetric matrix. -static int Disto4x4_NEON(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - uint32x2_t d_in_ab_0123 = vdup_n_u32(0); - uint32x2_t d_in_ab_4567 = vdup_n_u32(0); - uint32x2_t d_in_ab_89ab = vdup_n_u32(0); - uint32x2_t d_in_ab_cdef = vdup_n_u32(0); - uint8x8x4_t d4_in; - - // load data a, b - LOAD_LANE_32b(a + 0 * BPS, d_in_ab_0123, 0); - LOAD_LANE_32b(a + 1 * BPS, d_in_ab_4567, 0); - LOAD_LANE_32b(a + 2 * BPS, d_in_ab_89ab, 0); - LOAD_LANE_32b(a + 3 * BPS, d_in_ab_cdef, 0); - LOAD_LANE_32b(b + 0 * BPS, d_in_ab_0123, 1); - LOAD_LANE_32b(b + 1 * BPS, d_in_ab_4567, 1); - LOAD_LANE_32b(b + 2 * BPS, d_in_ab_89ab, 1); - LOAD_LANE_32b(b + 3 * BPS, d_in_ab_cdef, 1); - INIT_VECTOR4(d4_in, - vreinterpret_u8_u32(d_in_ab_0123), - vreinterpret_u8_u32(d_in_ab_4567), - vreinterpret_u8_u32(d_in_ab_89ab), - vreinterpret_u8_u32(d_in_ab_cdef)); - - { - // Vertical pass first to avoid a transpose (vertical and horizontal passes - // are commutative because w/kWeightY is symmetric) and subsequent - // transpose. - const int16x8x4_t q4_v = DistoVerticalPass_NEON(d4_in); - const int16x4x4_t d4_w = DistoLoadW_NEON(w); - // horizontal pass - const int16x8x4_t q4_t = DistoTranspose4x4S16_NEON(q4_v); - const int16x8x4_t q4_h = DistoHorizontalPass_NEON(q4_t); - int32x2_t d_sum = DistoSum_NEON(q4_h, d4_w); - - // abs(sum2 - sum1) >> 5 - d_sum = vabs_s32(d_sum); - d_sum = vshr_n_s32(d_sum, 5); - return vget_lane_s32(d_sum, 0); - } -} -#undef LOAD_LANE_32b - -static int Disto16x16_NEON(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - int D = 0; - int x, y; - for (y = 0; y < 16 * BPS; y += 4 * BPS) { - for (x = 0; x < 16; x += 4) { - D += Disto4x4_NEON(a + x + y, b + x + y, w); - } - } - return D; -} - -//------------------------------------------------------------------------------ - -static void CollectHistogram_NEON(const uint8_t* ref, const uint8_t* pred, - int start_block, int end_block, - VP8Histogram* const histo) { - const uint16x8_t max_coeff_thresh = vdupq_n_u16(MAX_COEFF_THRESH); - int j; - int distribution[MAX_COEFF_THRESH + 1] = { 0 }; - for (j = start_block; j < end_block; ++j) { - int16_t out[16]; - FTransform_NEON(ref + VP8DspScan[j], pred + VP8DspScan[j], out); - { - int k; - const int16x8_t a0 = vld1q_s16(out + 0); - const int16x8_t b0 = vld1q_s16(out + 8); - const uint16x8_t a1 = vreinterpretq_u16_s16(vabsq_s16(a0)); - const uint16x8_t b1 = vreinterpretq_u16_s16(vabsq_s16(b0)); - const uint16x8_t a2 = vshrq_n_u16(a1, 3); - const uint16x8_t b2 = vshrq_n_u16(b1, 3); - const uint16x8_t a3 = vminq_u16(a2, max_coeff_thresh); - const uint16x8_t b3 = vminq_u16(b2, max_coeff_thresh); - vst1q_s16(out + 0, vreinterpretq_s16_u16(a3)); - vst1q_s16(out + 8, vreinterpretq_s16_u16(b3)); - // Convert coefficients to bin. - for (k = 0; k < 16; ++k) { - ++distribution[out[k]]; - } - } - } - VP8SetHistogramData(distribution, histo); -} - -//------------------------------------------------------------------------------ - -static WEBP_INLINE void AccumulateSSE16_NEON(const uint8_t* const a, - const uint8_t* const b, - uint32x4_t* const sum) { - const uint8x16_t a0 = vld1q_u8(a); - const uint8x16_t b0 = vld1q_u8(b); - const uint8x16_t abs_diff = vabdq_u8(a0, b0); - const uint16x8_t prod1 = vmull_u8(vget_low_u8(abs_diff), - vget_low_u8(abs_diff)); - const uint16x8_t prod2 = vmull_u8(vget_high_u8(abs_diff), - vget_high_u8(abs_diff)); - /* pair-wise adds and widen */ - const uint32x4_t sum1 = vpaddlq_u16(prod1); - const uint32x4_t sum2 = vpaddlq_u16(prod2); - *sum = vaddq_u32(*sum, vaddq_u32(sum1, sum2)); -} - -// Horizontal sum of all four uint32_t values in 'sum'. -static int SumToInt_NEON(uint32x4_t sum) { - const uint64x2_t sum2 = vpaddlq_u32(sum); - const uint64_t sum3 = vgetq_lane_u64(sum2, 0) + vgetq_lane_u64(sum2, 1); - return (int)sum3; -} - -static int SSE16x16_NEON(const uint8_t* a, const uint8_t* b) { - uint32x4_t sum = vdupq_n_u32(0); - int y; - for (y = 0; y < 16; ++y) { - AccumulateSSE16_NEON(a + y * BPS, b + y * BPS, &sum); - } - return SumToInt_NEON(sum); -} - -static int SSE16x8_NEON(const uint8_t* a, const uint8_t* b) { - uint32x4_t sum = vdupq_n_u32(0); - int y; - for (y = 0; y < 8; ++y) { - AccumulateSSE16_NEON(a + y * BPS, b + y * BPS, &sum); - } - return SumToInt_NEON(sum); -} - -static int SSE8x8_NEON(const uint8_t* a, const uint8_t* b) { - uint32x4_t sum = vdupq_n_u32(0); - int y; - for (y = 0; y < 8; ++y) { - const uint8x8_t a0 = vld1_u8(a + y * BPS); - const uint8x8_t b0 = vld1_u8(b + y * BPS); - const uint8x8_t abs_diff = vabd_u8(a0, b0); - const uint16x8_t prod = vmull_u8(abs_diff, abs_diff); - sum = vpadalq_u16(sum, prod); - } - return SumToInt_NEON(sum); -} - -static int SSE4x4_NEON(const uint8_t* a, const uint8_t* b) { - const uint8x16_t a0 = Load4x4_NEON(a); - const uint8x16_t b0 = Load4x4_NEON(b); - const uint8x16_t abs_diff = vabdq_u8(a0, b0); - const uint16x8_t prod1 = vmull_u8(vget_low_u8(abs_diff), - vget_low_u8(abs_diff)); - const uint16x8_t prod2 = vmull_u8(vget_high_u8(abs_diff), - vget_high_u8(abs_diff)); - /* pair-wise adds and widen */ - const uint32x4_t sum1 = vpaddlq_u16(prod1); - const uint32x4_t sum2 = vpaddlq_u16(prod2); - return SumToInt_NEON(vaddq_u32(sum1, sum2)); -} - -//------------------------------------------------------------------------------ - -// Compilation with gcc-4.6.x is problematic for now. -#if !defined(WORK_AROUND_GCC) - -static int16x8_t Quantize_NEON(int16_t* const in, - const VP8Matrix* const mtx, int offset) { - const uint16x8_t sharp = vld1q_u16(&mtx->sharpen_[offset]); - const uint16x8_t q = vld1q_u16(&mtx->q_[offset]); - const uint16x8_t iq = vld1q_u16(&mtx->iq_[offset]); - const uint32x4_t bias0 = vld1q_u32(&mtx->bias_[offset + 0]); - const uint32x4_t bias1 = vld1q_u32(&mtx->bias_[offset + 4]); - - const int16x8_t a = vld1q_s16(in + offset); // in - const uint16x8_t b = vreinterpretq_u16_s16(vabsq_s16(a)); // coeff = abs(in) - const int16x8_t sign = vshrq_n_s16(a, 15); // sign - const uint16x8_t c = vaddq_u16(b, sharp); // + sharpen - const uint32x4_t m0 = vmull_u16(vget_low_u16(c), vget_low_u16(iq)); - const uint32x4_t m1 = vmull_u16(vget_high_u16(c), vget_high_u16(iq)); - const uint32x4_t m2 = vhaddq_u32(m0, bias0); - const uint32x4_t m3 = vhaddq_u32(m1, bias1); // (coeff * iQ + bias) >> 1 - const uint16x8_t c0 = vcombine_u16(vshrn_n_u32(m2, 16), - vshrn_n_u32(m3, 16)); // QFIX=17 = 16+1 - const uint16x8_t c1 = vminq_u16(c0, vdupq_n_u16(MAX_LEVEL)); - const int16x8_t c2 = veorq_s16(vreinterpretq_s16_u16(c1), sign); - const int16x8_t c3 = vsubq_s16(c2, sign); // restore sign - const int16x8_t c4 = vmulq_s16(c3, vreinterpretq_s16_u16(q)); - vst1q_s16(in + offset, c4); - assert(QFIX == 17); // this function can't work as is if QFIX != 16+1 - return c3; -} - -static const uint8_t kShuffles[4][8] = { - { 0, 1, 2, 3, 8, 9, 16, 17 }, - { 10, 11, 4, 5, 6, 7, 12, 13 }, - { 18, 19, 24, 25, 26, 27, 20, 21 }, - { 14, 15, 22, 23, 28, 29, 30, 31 } -}; - -static int QuantizeBlock_NEON(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { - const int16x8_t out0 = Quantize_NEON(in, mtx, 0); - const int16x8_t out1 = Quantize_NEON(in, mtx, 8); - uint8x8x4_t shuffles; - // vtbl?_u8 are marked unavailable for iOS arm64 with Xcode < 6.3, use - // non-standard versions there. -#if defined(__APPLE__) && defined(__aarch64__) && \ - defined(__apple_build_version__) && (__apple_build_version__< 6020037) - uint8x16x2_t all_out; - INIT_VECTOR2(all_out, vreinterpretq_u8_s16(out0), vreinterpretq_u8_s16(out1)); - INIT_VECTOR4(shuffles, - vtbl2q_u8(all_out, vld1_u8(kShuffles[0])), - vtbl2q_u8(all_out, vld1_u8(kShuffles[1])), - vtbl2q_u8(all_out, vld1_u8(kShuffles[2])), - vtbl2q_u8(all_out, vld1_u8(kShuffles[3]))); -#else - uint8x8x4_t all_out; - INIT_VECTOR4(all_out, - vreinterpret_u8_s16(vget_low_s16(out0)), - vreinterpret_u8_s16(vget_high_s16(out0)), - vreinterpret_u8_s16(vget_low_s16(out1)), - vreinterpret_u8_s16(vget_high_s16(out1))); - INIT_VECTOR4(shuffles, - vtbl4_u8(all_out, vld1_u8(kShuffles[0])), - vtbl4_u8(all_out, vld1_u8(kShuffles[1])), - vtbl4_u8(all_out, vld1_u8(kShuffles[2])), - vtbl4_u8(all_out, vld1_u8(kShuffles[3]))); -#endif - // Zigzag reordering - vst1_u8((uint8_t*)(out + 0), shuffles.val[0]); - vst1_u8((uint8_t*)(out + 4), shuffles.val[1]); - vst1_u8((uint8_t*)(out + 8), shuffles.val[2]); - vst1_u8((uint8_t*)(out + 12), shuffles.val[3]); - // test zeros - if (*(uint64_t*)(out + 0) != 0) return 1; - if (*(uint64_t*)(out + 4) != 0) return 1; - if (*(uint64_t*)(out + 8) != 0) return 1; - if (*(uint64_t*)(out + 12) != 0) return 1; - return 0; -} - -static int Quantize2Blocks_NEON(int16_t in[32], int16_t out[32], - const VP8Matrix* const mtx) { - int nz; - nz = QuantizeBlock_NEON(in + 0 * 16, out + 0 * 16, mtx) << 0; - nz |= QuantizeBlock_NEON(in + 1 * 16, out + 1 * 16, mtx) << 1; - return nz; -} - -#endif // !WORK_AROUND_GCC - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspInitNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitNEON(void) { - VP8ITransform = ITransform_NEON; - VP8FTransform = FTransform_NEON; - - VP8FTransformWHT = FTransformWHT_NEON; - - VP8TDisto4x4 = Disto4x4_NEON; - VP8TDisto16x16 = Disto16x16_NEON; - VP8CollectHistogram = CollectHistogram_NEON; - - VP8SSE16x16 = SSE16x16_NEON; - VP8SSE16x8 = SSE16x8_NEON; - VP8SSE8x8 = SSE8x8_NEON; - VP8SSE4x4 = SSE4x4_NEON; - -#if !defined(WORK_AROUND_GCC) - VP8EncQuantizeBlock = QuantizeBlock_NEON; - VP8EncQuantize2Blocks = Quantize2Blocks_NEON; -#endif -} - -#else // !WEBP_USE_NEON - -WEBP_DSP_INIT_STUB(VP8EncDspInitNEON) - -#endif // WEBP_USE_NEON diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_sse2.c deleted file mode 100644 index b2e78ed9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_sse2.c +++ /dev/null @@ -1,1381 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE2 version of speed-critical encoding functions. -// -// Author: Christian Duvivier (cduvivier@google.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE2) -#include -#include // for abs() -#include - -#include "src/dsp/common_sse2.h" -#include "src/enc/cost_enc.h" -#include "src/enc/vp8i_enc.h" - -//------------------------------------------------------------------------------ -// Transforms (Paragraph 14.4) - -// Does one or two inverse transforms. -static void ITransform_SSE2(const uint8_t* ref, const int16_t* in, uint8_t* dst, - int do_two) { - // This implementation makes use of 16-bit fixed point versions of two - // multiply constants: - // K1 = sqrt(2) * cos (pi/8) ~= 85627 / 2^16 - // K2 = sqrt(2) * sin (pi/8) ~= 35468 / 2^16 - // - // To be able to use signed 16-bit integers, we use the following trick to - // have constants within range: - // - Associated constants are obtained by subtracting the 16-bit fixed point - // version of one: - // k = K - (1 << 16) => K = k + (1 << 16) - // K1 = 85267 => k1 = 20091 - // K2 = 35468 => k2 = -30068 - // - The multiplication of a variable by a constant become the sum of the - // variable and the multiplication of that variable by the associated - // constant: - // (x * K) >> 16 = (x * (k + (1 << 16))) >> 16 = ((x * k ) >> 16) + x - const __m128i k1 = _mm_set1_epi16(20091); - const __m128i k2 = _mm_set1_epi16(-30068); - __m128i T0, T1, T2, T3; - - // Load and concatenate the transform coefficients (we'll do two inverse - // transforms in parallel). In the case of only one inverse transform, the - // second half of the vectors will just contain random value we'll never - // use nor store. - __m128i in0, in1, in2, in3; - { - in0 = _mm_loadl_epi64((const __m128i*)&in[0]); - in1 = _mm_loadl_epi64((const __m128i*)&in[4]); - in2 = _mm_loadl_epi64((const __m128i*)&in[8]); - in3 = _mm_loadl_epi64((const __m128i*)&in[12]); - // a00 a10 a20 a30 x x x x - // a01 a11 a21 a31 x x x x - // a02 a12 a22 a32 x x x x - // a03 a13 a23 a33 x x x x - if (do_two) { - const __m128i inB0 = _mm_loadl_epi64((const __m128i*)&in[16]); - const __m128i inB1 = _mm_loadl_epi64((const __m128i*)&in[20]); - const __m128i inB2 = _mm_loadl_epi64((const __m128i*)&in[24]); - const __m128i inB3 = _mm_loadl_epi64((const __m128i*)&in[28]); - in0 = _mm_unpacklo_epi64(in0, inB0); - in1 = _mm_unpacklo_epi64(in1, inB1); - in2 = _mm_unpacklo_epi64(in2, inB2); - in3 = _mm_unpacklo_epi64(in3, inB3); - // a00 a10 a20 a30 b00 b10 b20 b30 - // a01 a11 a21 a31 b01 b11 b21 b31 - // a02 a12 a22 a32 b02 b12 b22 b32 - // a03 a13 a23 a33 b03 b13 b23 b33 - } - } - - // Vertical pass and subsequent transpose. - { - // First pass, c and d calculations are longer because of the "trick" - // multiplications. - const __m128i a = _mm_add_epi16(in0, in2); - const __m128i b = _mm_sub_epi16(in0, in2); - // c = MUL(in1, K2) - MUL(in3, K1) = MUL(in1, k2) - MUL(in3, k1) + in1 - in3 - const __m128i c1 = _mm_mulhi_epi16(in1, k2); - const __m128i c2 = _mm_mulhi_epi16(in3, k1); - const __m128i c3 = _mm_sub_epi16(in1, in3); - const __m128i c4 = _mm_sub_epi16(c1, c2); - const __m128i c = _mm_add_epi16(c3, c4); - // d = MUL(in1, K1) + MUL(in3, K2) = MUL(in1, k1) + MUL(in3, k2) + in1 + in3 - const __m128i d1 = _mm_mulhi_epi16(in1, k1); - const __m128i d2 = _mm_mulhi_epi16(in3, k2); - const __m128i d3 = _mm_add_epi16(in1, in3); - const __m128i d4 = _mm_add_epi16(d1, d2); - const __m128i d = _mm_add_epi16(d3, d4); - - // Second pass. - const __m128i tmp0 = _mm_add_epi16(a, d); - const __m128i tmp1 = _mm_add_epi16(b, c); - const __m128i tmp2 = _mm_sub_epi16(b, c); - const __m128i tmp3 = _mm_sub_epi16(a, d); - - // Transpose the two 4x4. - VP8Transpose_2_4x4_16b(&tmp0, &tmp1, &tmp2, &tmp3, &T0, &T1, &T2, &T3); - } - - // Horizontal pass and subsequent transpose. - { - // First pass, c and d calculations are longer because of the "trick" - // multiplications. - const __m128i four = _mm_set1_epi16(4); - const __m128i dc = _mm_add_epi16(T0, four); - const __m128i a = _mm_add_epi16(dc, T2); - const __m128i b = _mm_sub_epi16(dc, T2); - // c = MUL(T1, K2) - MUL(T3, K1) = MUL(T1, k2) - MUL(T3, k1) + T1 - T3 - const __m128i c1 = _mm_mulhi_epi16(T1, k2); - const __m128i c2 = _mm_mulhi_epi16(T3, k1); - const __m128i c3 = _mm_sub_epi16(T1, T3); - const __m128i c4 = _mm_sub_epi16(c1, c2); - const __m128i c = _mm_add_epi16(c3, c4); - // d = MUL(T1, K1) + MUL(T3, K2) = MUL(T1, k1) + MUL(T3, k2) + T1 + T3 - const __m128i d1 = _mm_mulhi_epi16(T1, k1); - const __m128i d2 = _mm_mulhi_epi16(T3, k2); - const __m128i d3 = _mm_add_epi16(T1, T3); - const __m128i d4 = _mm_add_epi16(d1, d2); - const __m128i d = _mm_add_epi16(d3, d4); - - // Second pass. - const __m128i tmp0 = _mm_add_epi16(a, d); - const __m128i tmp1 = _mm_add_epi16(b, c); - const __m128i tmp2 = _mm_sub_epi16(b, c); - const __m128i tmp3 = _mm_sub_epi16(a, d); - const __m128i shifted0 = _mm_srai_epi16(tmp0, 3); - const __m128i shifted1 = _mm_srai_epi16(tmp1, 3); - const __m128i shifted2 = _mm_srai_epi16(tmp2, 3); - const __m128i shifted3 = _mm_srai_epi16(tmp3, 3); - - // Transpose the two 4x4. - VP8Transpose_2_4x4_16b(&shifted0, &shifted1, &shifted2, &shifted3, &T0, &T1, - &T2, &T3); - } - - // Add inverse transform to 'ref' and store. - { - const __m128i zero = _mm_setzero_si128(); - // Load the reference(s). - __m128i ref0, ref1, ref2, ref3; - if (do_two) { - // Load eight bytes/pixels per line. - ref0 = _mm_loadl_epi64((const __m128i*)&ref[0 * BPS]); - ref1 = _mm_loadl_epi64((const __m128i*)&ref[1 * BPS]); - ref2 = _mm_loadl_epi64((const __m128i*)&ref[2 * BPS]); - ref3 = _mm_loadl_epi64((const __m128i*)&ref[3 * BPS]); - } else { - // Load four bytes/pixels per line. - ref0 = _mm_cvtsi32_si128(WebPMemToUint32(&ref[0 * BPS])); - ref1 = _mm_cvtsi32_si128(WebPMemToUint32(&ref[1 * BPS])); - ref2 = _mm_cvtsi32_si128(WebPMemToUint32(&ref[2 * BPS])); - ref3 = _mm_cvtsi32_si128(WebPMemToUint32(&ref[3 * BPS])); - } - // Convert to 16b. - ref0 = _mm_unpacklo_epi8(ref0, zero); - ref1 = _mm_unpacklo_epi8(ref1, zero); - ref2 = _mm_unpacklo_epi8(ref2, zero); - ref3 = _mm_unpacklo_epi8(ref3, zero); - // Add the inverse transform(s). - ref0 = _mm_add_epi16(ref0, T0); - ref1 = _mm_add_epi16(ref1, T1); - ref2 = _mm_add_epi16(ref2, T2); - ref3 = _mm_add_epi16(ref3, T3); - // Unsigned saturate to 8b. - ref0 = _mm_packus_epi16(ref0, ref0); - ref1 = _mm_packus_epi16(ref1, ref1); - ref2 = _mm_packus_epi16(ref2, ref2); - ref3 = _mm_packus_epi16(ref3, ref3); - // Store the results. - if (do_two) { - // Store eight bytes/pixels per line. - _mm_storel_epi64((__m128i*)&dst[0 * BPS], ref0); - _mm_storel_epi64((__m128i*)&dst[1 * BPS], ref1); - _mm_storel_epi64((__m128i*)&dst[2 * BPS], ref2); - _mm_storel_epi64((__m128i*)&dst[3 * BPS], ref3); - } else { - // Store four bytes/pixels per line. - WebPUint32ToMem(&dst[0 * BPS], _mm_cvtsi128_si32(ref0)); - WebPUint32ToMem(&dst[1 * BPS], _mm_cvtsi128_si32(ref1)); - WebPUint32ToMem(&dst[2 * BPS], _mm_cvtsi128_si32(ref2)); - WebPUint32ToMem(&dst[3 * BPS], _mm_cvtsi128_si32(ref3)); - } - } -} - -static void FTransformPass1_SSE2(const __m128i* const in01, - const __m128i* const in23, - __m128i* const out01, - __m128i* const out32) { - const __m128i k937 = _mm_set1_epi32(937); - const __m128i k1812 = _mm_set1_epi32(1812); - - const __m128i k88p = _mm_set_epi16(8, 8, 8, 8, 8, 8, 8, 8); - const __m128i k88m = _mm_set_epi16(-8, 8, -8, 8, -8, 8, -8, 8); - const __m128i k5352_2217p = _mm_set_epi16(2217, 5352, 2217, 5352, - 2217, 5352, 2217, 5352); - const __m128i k5352_2217m = _mm_set_epi16(-5352, 2217, -5352, 2217, - -5352, 2217, -5352, 2217); - - // *in01 = 00 01 10 11 02 03 12 13 - // *in23 = 20 21 30 31 22 23 32 33 - const __m128i shuf01_p = _mm_shufflehi_epi16(*in01, _MM_SHUFFLE(2, 3, 0, 1)); - const __m128i shuf23_p = _mm_shufflehi_epi16(*in23, _MM_SHUFFLE(2, 3, 0, 1)); - // 00 01 10 11 03 02 13 12 - // 20 21 30 31 23 22 33 32 - const __m128i s01 = _mm_unpacklo_epi64(shuf01_p, shuf23_p); - const __m128i s32 = _mm_unpackhi_epi64(shuf01_p, shuf23_p); - // 00 01 10 11 20 21 30 31 - // 03 02 13 12 23 22 33 32 - const __m128i a01 = _mm_add_epi16(s01, s32); - const __m128i a32 = _mm_sub_epi16(s01, s32); - // [d0 + d3 | d1 + d2 | ...] = [a0 a1 | a0' a1' | ... ] - // [d0 - d3 | d1 - d2 | ...] = [a3 a2 | a3' a2' | ... ] - - const __m128i tmp0 = _mm_madd_epi16(a01, k88p); // [ (a0 + a1) << 3, ... ] - const __m128i tmp2 = _mm_madd_epi16(a01, k88m); // [ (a0 - a1) << 3, ... ] - const __m128i tmp1_1 = _mm_madd_epi16(a32, k5352_2217p); - const __m128i tmp3_1 = _mm_madd_epi16(a32, k5352_2217m); - const __m128i tmp1_2 = _mm_add_epi32(tmp1_1, k1812); - const __m128i tmp3_2 = _mm_add_epi32(tmp3_1, k937); - const __m128i tmp1 = _mm_srai_epi32(tmp1_2, 9); - const __m128i tmp3 = _mm_srai_epi32(tmp3_2, 9); - const __m128i s03 = _mm_packs_epi32(tmp0, tmp2); - const __m128i s12 = _mm_packs_epi32(tmp1, tmp3); - const __m128i s_lo = _mm_unpacklo_epi16(s03, s12); // 0 1 0 1 0 1... - const __m128i s_hi = _mm_unpackhi_epi16(s03, s12); // 2 3 2 3 2 3 - const __m128i v23 = _mm_unpackhi_epi32(s_lo, s_hi); - *out01 = _mm_unpacklo_epi32(s_lo, s_hi); - *out32 = _mm_shuffle_epi32(v23, _MM_SHUFFLE(1, 0, 3, 2)); // 3 2 3 2 3 2.. -} - -static void FTransformPass2_SSE2(const __m128i* const v01, - const __m128i* const v32, - int16_t* out) { - const __m128i zero = _mm_setzero_si128(); - const __m128i seven = _mm_set1_epi16(7); - const __m128i k5352_2217 = _mm_set_epi16(5352, 2217, 5352, 2217, - 5352, 2217, 5352, 2217); - const __m128i k2217_5352 = _mm_set_epi16(2217, -5352, 2217, -5352, - 2217, -5352, 2217, -5352); - const __m128i k12000_plus_one = _mm_set1_epi32(12000 + (1 << 16)); - const __m128i k51000 = _mm_set1_epi32(51000); - - // Same operations are done on the (0,3) and (1,2) pairs. - // a3 = v0 - v3 - // a2 = v1 - v2 - const __m128i a32 = _mm_sub_epi16(*v01, *v32); - const __m128i a22 = _mm_unpackhi_epi64(a32, a32); - - const __m128i b23 = _mm_unpacklo_epi16(a22, a32); - const __m128i c1 = _mm_madd_epi16(b23, k5352_2217); - const __m128i c3 = _mm_madd_epi16(b23, k2217_5352); - const __m128i d1 = _mm_add_epi32(c1, k12000_plus_one); - const __m128i d3 = _mm_add_epi32(c3, k51000); - const __m128i e1 = _mm_srai_epi32(d1, 16); - const __m128i e3 = _mm_srai_epi32(d3, 16); - // f1 = ((b3 * 5352 + b2 * 2217 + 12000) >> 16) - // f3 = ((b3 * 2217 - b2 * 5352 + 51000) >> 16) - const __m128i f1 = _mm_packs_epi32(e1, e1); - const __m128i f3 = _mm_packs_epi32(e3, e3); - // g1 = f1 + (a3 != 0); - // The compare will return (0xffff, 0) for (==0, !=0). To turn that into the - // desired (0, 1), we add one earlier through k12000_plus_one. - // -> g1 = f1 + 1 - (a3 == 0) - const __m128i g1 = _mm_add_epi16(f1, _mm_cmpeq_epi16(a32, zero)); - - // a0 = v0 + v3 - // a1 = v1 + v2 - const __m128i a01 = _mm_add_epi16(*v01, *v32); - const __m128i a01_plus_7 = _mm_add_epi16(a01, seven); - const __m128i a11 = _mm_unpackhi_epi64(a01, a01); - const __m128i c0 = _mm_add_epi16(a01_plus_7, a11); - const __m128i c2 = _mm_sub_epi16(a01_plus_7, a11); - // d0 = (a0 + a1 + 7) >> 4; - // d2 = (a0 - a1 + 7) >> 4; - const __m128i d0 = _mm_srai_epi16(c0, 4); - const __m128i d2 = _mm_srai_epi16(c2, 4); - - const __m128i d0_g1 = _mm_unpacklo_epi64(d0, g1); - const __m128i d2_f3 = _mm_unpacklo_epi64(d2, f3); - _mm_storeu_si128((__m128i*)&out[0], d0_g1); - _mm_storeu_si128((__m128i*)&out[8], d2_f3); -} - -static void FTransform_SSE2(const uint8_t* src, const uint8_t* ref, - int16_t* out) { - const __m128i zero = _mm_setzero_si128(); - // Load src. - const __m128i src0 = _mm_loadl_epi64((const __m128i*)&src[0 * BPS]); - const __m128i src1 = _mm_loadl_epi64((const __m128i*)&src[1 * BPS]); - const __m128i src2 = _mm_loadl_epi64((const __m128i*)&src[2 * BPS]); - const __m128i src3 = _mm_loadl_epi64((const __m128i*)&src[3 * BPS]); - // 00 01 02 03 * - // 10 11 12 13 * - // 20 21 22 23 * - // 30 31 32 33 * - // Shuffle. - const __m128i src_0 = _mm_unpacklo_epi16(src0, src1); - const __m128i src_1 = _mm_unpacklo_epi16(src2, src3); - // 00 01 10 11 02 03 12 13 * * ... - // 20 21 30 31 22 22 32 33 * * ... - - // Load ref. - const __m128i ref0 = _mm_loadl_epi64((const __m128i*)&ref[0 * BPS]); - const __m128i ref1 = _mm_loadl_epi64((const __m128i*)&ref[1 * BPS]); - const __m128i ref2 = _mm_loadl_epi64((const __m128i*)&ref[2 * BPS]); - const __m128i ref3 = _mm_loadl_epi64((const __m128i*)&ref[3 * BPS]); - const __m128i ref_0 = _mm_unpacklo_epi16(ref0, ref1); - const __m128i ref_1 = _mm_unpacklo_epi16(ref2, ref3); - - // Convert both to 16 bit. - const __m128i src_0_16b = _mm_unpacklo_epi8(src_0, zero); - const __m128i src_1_16b = _mm_unpacklo_epi8(src_1, zero); - const __m128i ref_0_16b = _mm_unpacklo_epi8(ref_0, zero); - const __m128i ref_1_16b = _mm_unpacklo_epi8(ref_1, zero); - - // Compute the difference. - const __m128i row01 = _mm_sub_epi16(src_0_16b, ref_0_16b); - const __m128i row23 = _mm_sub_epi16(src_1_16b, ref_1_16b); - __m128i v01, v32; - - // First pass - FTransformPass1_SSE2(&row01, &row23, &v01, &v32); - - // Second pass - FTransformPass2_SSE2(&v01, &v32, out); -} - -static void FTransform2_SSE2(const uint8_t* src, const uint8_t* ref, - int16_t* out) { - const __m128i zero = _mm_setzero_si128(); - - // Load src and convert to 16b. - const __m128i src0 = _mm_loadl_epi64((const __m128i*)&src[0 * BPS]); - const __m128i src1 = _mm_loadl_epi64((const __m128i*)&src[1 * BPS]); - const __m128i src2 = _mm_loadl_epi64((const __m128i*)&src[2 * BPS]); - const __m128i src3 = _mm_loadl_epi64((const __m128i*)&src[3 * BPS]); - const __m128i src_0 = _mm_unpacklo_epi8(src0, zero); - const __m128i src_1 = _mm_unpacklo_epi8(src1, zero); - const __m128i src_2 = _mm_unpacklo_epi8(src2, zero); - const __m128i src_3 = _mm_unpacklo_epi8(src3, zero); - // Load ref and convert to 16b. - const __m128i ref0 = _mm_loadl_epi64((const __m128i*)&ref[0 * BPS]); - const __m128i ref1 = _mm_loadl_epi64((const __m128i*)&ref[1 * BPS]); - const __m128i ref2 = _mm_loadl_epi64((const __m128i*)&ref[2 * BPS]); - const __m128i ref3 = _mm_loadl_epi64((const __m128i*)&ref[3 * BPS]); - const __m128i ref_0 = _mm_unpacklo_epi8(ref0, zero); - const __m128i ref_1 = _mm_unpacklo_epi8(ref1, zero); - const __m128i ref_2 = _mm_unpacklo_epi8(ref2, zero); - const __m128i ref_3 = _mm_unpacklo_epi8(ref3, zero); - // Compute difference. -> 00 01 02 03 00' 01' 02' 03' - const __m128i diff0 = _mm_sub_epi16(src_0, ref_0); - const __m128i diff1 = _mm_sub_epi16(src_1, ref_1); - const __m128i diff2 = _mm_sub_epi16(src_2, ref_2); - const __m128i diff3 = _mm_sub_epi16(src_3, ref_3); - - // Unpack and shuffle - // 00 01 02 03 0 0 0 0 - // 10 11 12 13 0 0 0 0 - // 20 21 22 23 0 0 0 0 - // 30 31 32 33 0 0 0 0 - const __m128i shuf01l = _mm_unpacklo_epi32(diff0, diff1); - const __m128i shuf23l = _mm_unpacklo_epi32(diff2, diff3); - const __m128i shuf01h = _mm_unpackhi_epi32(diff0, diff1); - const __m128i shuf23h = _mm_unpackhi_epi32(diff2, diff3); - __m128i v01l, v32l; - __m128i v01h, v32h; - - // First pass - FTransformPass1_SSE2(&shuf01l, &shuf23l, &v01l, &v32l); - FTransformPass1_SSE2(&shuf01h, &shuf23h, &v01h, &v32h); - - // Second pass - FTransformPass2_SSE2(&v01l, &v32l, out + 0); - FTransformPass2_SSE2(&v01h, &v32h, out + 16); -} - -static void FTransformWHTRow_SSE2(const int16_t* const in, __m128i* const out) { - const __m128i kMult = _mm_set_epi16(-1, 1, -1, 1, 1, 1, 1, 1); - const __m128i src0 = _mm_loadl_epi64((__m128i*)&in[0 * 16]); - const __m128i src1 = _mm_loadl_epi64((__m128i*)&in[1 * 16]); - const __m128i src2 = _mm_loadl_epi64((__m128i*)&in[2 * 16]); - const __m128i src3 = _mm_loadl_epi64((__m128i*)&in[3 * 16]); - const __m128i A01 = _mm_unpacklo_epi16(src0, src1); // A0 A1 | ... - const __m128i A23 = _mm_unpacklo_epi16(src2, src3); // A2 A3 | ... - const __m128i B0 = _mm_adds_epi16(A01, A23); // a0 | a1 | ... - const __m128i B1 = _mm_subs_epi16(A01, A23); // a3 | a2 | ... - const __m128i C0 = _mm_unpacklo_epi32(B0, B1); // a0 | a1 | a3 | a2 | ... - const __m128i C1 = _mm_unpacklo_epi32(B1, B0); // a3 | a2 | a0 | a1 | ... - const __m128i D = _mm_unpacklo_epi64(C0, C1); // a0 a1 a3 a2 a3 a2 a0 a1 - *out = _mm_madd_epi16(D, kMult); -} - -static void FTransformWHT_SSE2(const int16_t* in, int16_t* out) { - // Input is 12b signed. - __m128i row0, row1, row2, row3; - // Rows are 14b signed. - FTransformWHTRow_SSE2(in + 0 * 64, &row0); - FTransformWHTRow_SSE2(in + 1 * 64, &row1); - FTransformWHTRow_SSE2(in + 2 * 64, &row2); - FTransformWHTRow_SSE2(in + 3 * 64, &row3); - - { - // The a* are 15b signed. - const __m128i a0 = _mm_add_epi32(row0, row2); - const __m128i a1 = _mm_add_epi32(row1, row3); - const __m128i a2 = _mm_sub_epi32(row1, row3); - const __m128i a3 = _mm_sub_epi32(row0, row2); - const __m128i a0a3 = _mm_packs_epi32(a0, a3); - const __m128i a1a2 = _mm_packs_epi32(a1, a2); - - // The b* are 16b signed. - const __m128i b0b1 = _mm_add_epi16(a0a3, a1a2); - const __m128i b3b2 = _mm_sub_epi16(a0a3, a1a2); - const __m128i tmp_b2b3 = _mm_unpackhi_epi64(b3b2, b3b2); - const __m128i b2b3 = _mm_unpacklo_epi64(tmp_b2b3, b3b2); - - _mm_storeu_si128((__m128i*)&out[0], _mm_srai_epi16(b0b1, 1)); - _mm_storeu_si128((__m128i*)&out[8], _mm_srai_epi16(b2b3, 1)); - } -} - -//------------------------------------------------------------------------------ -// Compute susceptibility based on DCT-coeff histograms: -// the higher, the "easier" the macroblock is to compress. - -static void CollectHistogram_SSE2(const uint8_t* ref, const uint8_t* pred, - int start_block, int end_block, - VP8Histogram* const histo) { - const __m128i zero = _mm_setzero_si128(); - const __m128i max_coeff_thresh = _mm_set1_epi16(MAX_COEFF_THRESH); - int j; - int distribution[MAX_COEFF_THRESH + 1] = { 0 }; - for (j = start_block; j < end_block; ++j) { - int16_t out[16]; - int k; - - FTransform_SSE2(ref + VP8DspScan[j], pred + VP8DspScan[j], out); - - // Convert coefficients to bin (within out[]). - { - // Load. - const __m128i out0 = _mm_loadu_si128((__m128i*)&out[0]); - const __m128i out1 = _mm_loadu_si128((__m128i*)&out[8]); - const __m128i d0 = _mm_sub_epi16(zero, out0); - const __m128i d1 = _mm_sub_epi16(zero, out1); - const __m128i abs0 = _mm_max_epi16(out0, d0); // abs(v), 16b - const __m128i abs1 = _mm_max_epi16(out1, d1); - // v = abs(out) >> 3 - const __m128i v0 = _mm_srai_epi16(abs0, 3); - const __m128i v1 = _mm_srai_epi16(abs1, 3); - // bin = min(v, MAX_COEFF_THRESH) - const __m128i bin0 = _mm_min_epi16(v0, max_coeff_thresh); - const __m128i bin1 = _mm_min_epi16(v1, max_coeff_thresh); - // Store. - _mm_storeu_si128((__m128i*)&out[0], bin0); - _mm_storeu_si128((__m128i*)&out[8], bin1); - } - - // Convert coefficients to bin. - for (k = 0; k < 16; ++k) { - ++distribution[out[k]]; - } - } - VP8SetHistogramData(distribution, histo); -} - -//------------------------------------------------------------------------------ -// Intra predictions - -// helper for chroma-DC predictions -static WEBP_INLINE void Put8x8uv_SSE2(uint8_t v, uint8_t* dst) { - int j; - const __m128i values = _mm_set1_epi8(v); - for (j = 0; j < 8; ++j) { - _mm_storel_epi64((__m128i*)(dst + j * BPS), values); - } -} - -static WEBP_INLINE void Put16_SSE2(uint8_t v, uint8_t* dst) { - int j; - const __m128i values = _mm_set1_epi8(v); - for (j = 0; j < 16; ++j) { - _mm_store_si128((__m128i*)(dst + j * BPS), values); - } -} - -static WEBP_INLINE void Fill_SSE2(uint8_t* dst, int value, int size) { - if (size == 4) { - int j; - for (j = 0; j < 4; ++j) { - memset(dst + j * BPS, value, 4); - } - } else if (size == 8) { - Put8x8uv_SSE2(value, dst); - } else { - Put16_SSE2(value, dst); - } -} - -static WEBP_INLINE void VE8uv_SSE2(uint8_t* dst, const uint8_t* top) { - int j; - const __m128i top_values = _mm_loadl_epi64((const __m128i*)top); - for (j = 0; j < 8; ++j) { - _mm_storel_epi64((__m128i*)(dst + j * BPS), top_values); - } -} - -static WEBP_INLINE void VE16_SSE2(uint8_t* dst, const uint8_t* top) { - const __m128i top_values = _mm_load_si128((const __m128i*)top); - int j; - for (j = 0; j < 16; ++j) { - _mm_store_si128((__m128i*)(dst + j * BPS), top_values); - } -} - -static WEBP_INLINE void VerticalPred_SSE2(uint8_t* dst, - const uint8_t* top, int size) { - if (top != NULL) { - if (size == 8) { - VE8uv_SSE2(dst, top); - } else { - VE16_SSE2(dst, top); - } - } else { - Fill_SSE2(dst, 127, size); - } -} - -static WEBP_INLINE void HE8uv_SSE2(uint8_t* dst, const uint8_t* left) { - int j; - for (j = 0; j < 8; ++j) { - const __m128i values = _mm_set1_epi8(left[j]); - _mm_storel_epi64((__m128i*)dst, values); - dst += BPS; - } -} - -static WEBP_INLINE void HE16_SSE2(uint8_t* dst, const uint8_t* left) { - int j; - for (j = 0; j < 16; ++j) { - const __m128i values = _mm_set1_epi8(left[j]); - _mm_store_si128((__m128i*)dst, values); - dst += BPS; - } -} - -static WEBP_INLINE void HorizontalPred_SSE2(uint8_t* dst, - const uint8_t* left, int size) { - if (left != NULL) { - if (size == 8) { - HE8uv_SSE2(dst, left); - } else { - HE16_SSE2(dst, left); - } - } else { - Fill_SSE2(dst, 129, size); - } -} - -static WEBP_INLINE void TM_SSE2(uint8_t* dst, const uint8_t* left, - const uint8_t* top, int size) { - const __m128i zero = _mm_setzero_si128(); - int y; - if (size == 8) { - const __m128i top_values = _mm_loadl_epi64((const __m128i*)top); - const __m128i top_base = _mm_unpacklo_epi8(top_values, zero); - for (y = 0; y < 8; ++y, dst += BPS) { - const int val = left[y] - left[-1]; - const __m128i base = _mm_set1_epi16(val); - const __m128i out = _mm_packus_epi16(_mm_add_epi16(base, top_base), zero); - _mm_storel_epi64((__m128i*)dst, out); - } - } else { - const __m128i top_values = _mm_load_si128((const __m128i*)top); - const __m128i top_base_0 = _mm_unpacklo_epi8(top_values, zero); - const __m128i top_base_1 = _mm_unpackhi_epi8(top_values, zero); - for (y = 0; y < 16; ++y, dst += BPS) { - const int val = left[y] - left[-1]; - const __m128i base = _mm_set1_epi16(val); - const __m128i out_0 = _mm_add_epi16(base, top_base_0); - const __m128i out_1 = _mm_add_epi16(base, top_base_1); - const __m128i out = _mm_packus_epi16(out_0, out_1); - _mm_store_si128((__m128i*)dst, out); - } - } -} - -static WEBP_INLINE void TrueMotion_SSE2(uint8_t* dst, const uint8_t* left, - const uint8_t* top, int size) { - if (left != NULL) { - if (top != NULL) { - TM_SSE2(dst, left, top, size); - } else { - HorizontalPred_SSE2(dst, left, size); - } - } else { - // true motion without left samples (hence: with default 129 value) - // is equivalent to VE prediction where you just copy the top samples. - // Note that if top samples are not available, the default value is - // then 129, and not 127 as in the VerticalPred case. - if (top != NULL) { - VerticalPred_SSE2(dst, top, size); - } else { - Fill_SSE2(dst, 129, size); - } - } -} - -static WEBP_INLINE void DC8uv_SSE2(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - const __m128i top_values = _mm_loadl_epi64((const __m128i*)top); - const __m128i left_values = _mm_loadl_epi64((const __m128i*)left); - const __m128i combined = _mm_unpacklo_epi64(top_values, left_values); - const int DC = VP8HorizontalAdd8b(&combined) + 8; - Put8x8uv_SSE2(DC >> 4, dst); -} - -static WEBP_INLINE void DC8uvNoLeft_SSE2(uint8_t* dst, const uint8_t* top) { - const __m128i zero = _mm_setzero_si128(); - const __m128i top_values = _mm_loadl_epi64((const __m128i*)top); - const __m128i sum = _mm_sad_epu8(top_values, zero); - const int DC = _mm_cvtsi128_si32(sum) + 4; - Put8x8uv_SSE2(DC >> 3, dst); -} - -static WEBP_INLINE void DC8uvNoTop_SSE2(uint8_t* dst, const uint8_t* left) { - // 'left' is contiguous so we can reuse the top summation. - DC8uvNoLeft_SSE2(dst, left); -} - -static WEBP_INLINE void DC8uvNoTopLeft_SSE2(uint8_t* dst) { - Put8x8uv_SSE2(0x80, dst); -} - -static WEBP_INLINE void DC8uvMode_SSE2(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - if (top != NULL) { - if (left != NULL) { // top and left present - DC8uv_SSE2(dst, left, top); - } else { // top, but no left - DC8uvNoLeft_SSE2(dst, top); - } - } else if (left != NULL) { // left but no top - DC8uvNoTop_SSE2(dst, left); - } else { // no top, no left, nothing. - DC8uvNoTopLeft_SSE2(dst); - } -} - -static WEBP_INLINE void DC16_SSE2(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - const __m128i top_row = _mm_load_si128((const __m128i*)top); - const __m128i left_row = _mm_load_si128((const __m128i*)left); - const int DC = - VP8HorizontalAdd8b(&top_row) + VP8HorizontalAdd8b(&left_row) + 16; - Put16_SSE2(DC >> 5, dst); -} - -static WEBP_INLINE void DC16NoLeft_SSE2(uint8_t* dst, const uint8_t* top) { - const __m128i top_row = _mm_load_si128((const __m128i*)top); - const int DC = VP8HorizontalAdd8b(&top_row) + 8; - Put16_SSE2(DC >> 4, dst); -} - -static WEBP_INLINE void DC16NoTop_SSE2(uint8_t* dst, const uint8_t* left) { - // 'left' is contiguous so we can reuse the top summation. - DC16NoLeft_SSE2(dst, left); -} - -static WEBP_INLINE void DC16NoTopLeft_SSE2(uint8_t* dst) { - Put16_SSE2(0x80, dst); -} - -static WEBP_INLINE void DC16Mode_SSE2(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - if (top != NULL) { - if (left != NULL) { // top and left present - DC16_SSE2(dst, left, top); - } else { // top, but no left - DC16NoLeft_SSE2(dst, top); - } - } else if (left != NULL) { // left but no top - DC16NoTop_SSE2(dst, left); - } else { // no top, no left, nothing. - DC16NoTopLeft_SSE2(dst); - } -} - -//------------------------------------------------------------------------------ -// 4x4 predictions - -#define DST(x, y) dst[(x) + (y) * BPS] -#define AVG3(a, b, c) (((a) + 2 * (b) + (c) + 2) >> 2) -#define AVG2(a, b) (((a) + (b) + 1) >> 1) - -// We use the following 8b-arithmetic tricks: -// (a + 2 * b + c + 2) >> 2 = (AC + b + 1) >> 1 -// where: AC = (a + c) >> 1 = [(a + c + 1) >> 1] - [(a^c) & 1] -// and: -// (a + 2 * b + c + 2) >> 2 = (AB + BC + 1) >> 1 - (ab|bc)&lsb -// where: AC = (a + b + 1) >> 1, BC = (b + c + 1) >> 1 -// and ab = a ^ b, bc = b ^ c, lsb = (AC^BC)&1 - -static WEBP_INLINE void VE4_SSE2(uint8_t* dst, - const uint8_t* top) { // vertical - const __m128i one = _mm_set1_epi8(1); - const __m128i ABCDEFGH = _mm_loadl_epi64((__m128i*)(top - 1)); - const __m128i BCDEFGH0 = _mm_srli_si128(ABCDEFGH, 1); - const __m128i CDEFGH00 = _mm_srli_si128(ABCDEFGH, 2); - const __m128i a = _mm_avg_epu8(ABCDEFGH, CDEFGH00); - const __m128i lsb = _mm_and_si128(_mm_xor_si128(ABCDEFGH, CDEFGH00), one); - const __m128i b = _mm_subs_epu8(a, lsb); - const __m128i avg = _mm_avg_epu8(b, BCDEFGH0); - const uint32_t vals = _mm_cvtsi128_si32(avg); - int i; - for (i = 0; i < 4; ++i) { - WebPUint32ToMem(dst + i * BPS, vals); - } -} - -static WEBP_INLINE void HE4_SSE2(uint8_t* dst, - const uint8_t* top) { // horizontal - const int X = top[-1]; - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int L = top[-5]; - WebPUint32ToMem(dst + 0 * BPS, 0x01010101U * AVG3(X, I, J)); - WebPUint32ToMem(dst + 1 * BPS, 0x01010101U * AVG3(I, J, K)); - WebPUint32ToMem(dst + 2 * BPS, 0x01010101U * AVG3(J, K, L)); - WebPUint32ToMem(dst + 3 * BPS, 0x01010101U * AVG3(K, L, L)); -} - -static WEBP_INLINE void DC4_SSE2(uint8_t* dst, const uint8_t* top) { - uint32_t dc = 4; - int i; - for (i = 0; i < 4; ++i) dc += top[i] + top[-5 + i]; - Fill_SSE2(dst, dc >> 3, 4); -} - -static WEBP_INLINE void LD4_SSE2(uint8_t* dst, - const uint8_t* top) { // Down-Left - const __m128i one = _mm_set1_epi8(1); - const __m128i ABCDEFGH = _mm_loadl_epi64((const __m128i*)top); - const __m128i BCDEFGH0 = _mm_srli_si128(ABCDEFGH, 1); - const __m128i CDEFGH00 = _mm_srli_si128(ABCDEFGH, 2); - const __m128i CDEFGHH0 = _mm_insert_epi16(CDEFGH00, top[7], 3); - const __m128i avg1 = _mm_avg_epu8(ABCDEFGH, CDEFGHH0); - const __m128i lsb = _mm_and_si128(_mm_xor_si128(ABCDEFGH, CDEFGHH0), one); - const __m128i avg2 = _mm_subs_epu8(avg1, lsb); - const __m128i abcdefg = _mm_avg_epu8(avg2, BCDEFGH0); - WebPUint32ToMem(dst + 0 * BPS, _mm_cvtsi128_si32( abcdefg )); - WebPUint32ToMem(dst + 1 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 1))); - WebPUint32ToMem(dst + 2 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 2))); - WebPUint32ToMem(dst + 3 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 3))); -} - -static WEBP_INLINE void VR4_SSE2(uint8_t* dst, - const uint8_t* top) { // Vertical-Right - const __m128i one = _mm_set1_epi8(1); - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int X = top[-1]; - const __m128i XABCD = _mm_loadl_epi64((const __m128i*)(top - 1)); - const __m128i ABCD0 = _mm_srli_si128(XABCD, 1); - const __m128i abcd = _mm_avg_epu8(XABCD, ABCD0); - const __m128i _XABCD = _mm_slli_si128(XABCD, 1); - const __m128i IXABCD = _mm_insert_epi16(_XABCD, (short)(I | (X << 8)), 0); - const __m128i avg1 = _mm_avg_epu8(IXABCD, ABCD0); - const __m128i lsb = _mm_and_si128(_mm_xor_si128(IXABCD, ABCD0), one); - const __m128i avg2 = _mm_subs_epu8(avg1, lsb); - const __m128i efgh = _mm_avg_epu8(avg2, XABCD); - WebPUint32ToMem(dst + 0 * BPS, _mm_cvtsi128_si32( abcd )); - WebPUint32ToMem(dst + 1 * BPS, _mm_cvtsi128_si32( efgh )); - WebPUint32ToMem(dst + 2 * BPS, _mm_cvtsi128_si32(_mm_slli_si128(abcd, 1))); - WebPUint32ToMem(dst + 3 * BPS, _mm_cvtsi128_si32(_mm_slli_si128(efgh, 1))); - - // these two are hard to implement in SSE2, so we keep the C-version: - DST(0, 2) = AVG3(J, I, X); - DST(0, 3) = AVG3(K, J, I); -} - -static WEBP_INLINE void VL4_SSE2(uint8_t* dst, - const uint8_t* top) { // Vertical-Left - const __m128i one = _mm_set1_epi8(1); - const __m128i ABCDEFGH = _mm_loadl_epi64((const __m128i*)top); - const __m128i BCDEFGH_ = _mm_srli_si128(ABCDEFGH, 1); - const __m128i CDEFGH__ = _mm_srli_si128(ABCDEFGH, 2); - const __m128i avg1 = _mm_avg_epu8(ABCDEFGH, BCDEFGH_); - const __m128i avg2 = _mm_avg_epu8(CDEFGH__, BCDEFGH_); - const __m128i avg3 = _mm_avg_epu8(avg1, avg2); - const __m128i lsb1 = _mm_and_si128(_mm_xor_si128(avg1, avg2), one); - const __m128i ab = _mm_xor_si128(ABCDEFGH, BCDEFGH_); - const __m128i bc = _mm_xor_si128(CDEFGH__, BCDEFGH_); - const __m128i abbc = _mm_or_si128(ab, bc); - const __m128i lsb2 = _mm_and_si128(abbc, lsb1); - const __m128i avg4 = _mm_subs_epu8(avg3, lsb2); - const uint32_t extra_out = _mm_cvtsi128_si32(_mm_srli_si128(avg4, 4)); - WebPUint32ToMem(dst + 0 * BPS, _mm_cvtsi128_si32( avg1 )); - WebPUint32ToMem(dst + 1 * BPS, _mm_cvtsi128_si32( avg4 )); - WebPUint32ToMem(dst + 2 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(avg1, 1))); - WebPUint32ToMem(dst + 3 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(avg4, 1))); - - // these two are hard to get and irregular - DST(3, 2) = (extra_out >> 0) & 0xff; - DST(3, 3) = (extra_out >> 8) & 0xff; -} - -static WEBP_INLINE void RD4_SSE2(uint8_t* dst, - const uint8_t* top) { // Down-right - const __m128i one = _mm_set1_epi8(1); - const __m128i LKJIXABC = _mm_loadl_epi64((const __m128i*)(top - 5)); - const __m128i LKJIXABCD = _mm_insert_epi16(LKJIXABC, top[3], 4); - const __m128i KJIXABCD_ = _mm_srli_si128(LKJIXABCD, 1); - const __m128i JIXABCD__ = _mm_srli_si128(LKJIXABCD, 2); - const __m128i avg1 = _mm_avg_epu8(JIXABCD__, LKJIXABCD); - const __m128i lsb = _mm_and_si128(_mm_xor_si128(JIXABCD__, LKJIXABCD), one); - const __m128i avg2 = _mm_subs_epu8(avg1, lsb); - const __m128i abcdefg = _mm_avg_epu8(avg2, KJIXABCD_); - WebPUint32ToMem(dst + 3 * BPS, _mm_cvtsi128_si32( abcdefg )); - WebPUint32ToMem(dst + 2 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 1))); - WebPUint32ToMem(dst + 1 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 2))); - WebPUint32ToMem(dst + 0 * BPS, _mm_cvtsi128_si32(_mm_srli_si128(abcdefg, 3))); -} - -static WEBP_INLINE void HU4_SSE2(uint8_t* dst, const uint8_t* top) { - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int L = top[-5]; - DST(0, 0) = AVG2(I, J); - DST(2, 0) = DST(0, 1) = AVG2(J, K); - DST(2, 1) = DST(0, 2) = AVG2(K, L); - DST(1, 0) = AVG3(I, J, K); - DST(3, 0) = DST(1, 1) = AVG3(J, K, L); - DST(3, 1) = DST(1, 2) = AVG3(K, L, L); - DST(3, 2) = DST(2, 2) = - DST(0, 3) = DST(1, 3) = DST(2, 3) = DST(3, 3) = L; -} - -static WEBP_INLINE void HD4_SSE2(uint8_t* dst, const uint8_t* top) { - const int X = top[-1]; - const int I = top[-2]; - const int J = top[-3]; - const int K = top[-4]; - const int L = top[-5]; - const int A = top[0]; - const int B = top[1]; - const int C = top[2]; - - DST(0, 0) = DST(2, 1) = AVG2(I, X); - DST(0, 1) = DST(2, 2) = AVG2(J, I); - DST(0, 2) = DST(2, 3) = AVG2(K, J); - DST(0, 3) = AVG2(L, K); - - DST(3, 0) = AVG3(A, B, C); - DST(2, 0) = AVG3(X, A, B); - DST(1, 0) = DST(3, 1) = AVG3(I, X, A); - DST(1, 1) = DST(3, 2) = AVG3(J, I, X); - DST(1, 2) = DST(3, 3) = AVG3(K, J, I); - DST(1, 3) = AVG3(L, K, J); -} - -static WEBP_INLINE void TM4_SSE2(uint8_t* dst, const uint8_t* top) { - const __m128i zero = _mm_setzero_si128(); - const __m128i top_values = _mm_cvtsi32_si128(WebPMemToUint32(top)); - const __m128i top_base = _mm_unpacklo_epi8(top_values, zero); - int y; - for (y = 0; y < 4; ++y, dst += BPS) { - const int val = top[-2 - y] - top[-1]; - const __m128i base = _mm_set1_epi16(val); - const __m128i out = _mm_packus_epi16(_mm_add_epi16(base, top_base), zero); - WebPUint32ToMem(dst, _mm_cvtsi128_si32(out)); - } -} - -#undef DST -#undef AVG3 -#undef AVG2 - -//------------------------------------------------------------------------------ -// luma 4x4 prediction - -// Left samples are top[-5 .. -2], top_left is top[-1], top are -// located at top[0..3], and top right is top[4..7] -static void Intra4Preds_SSE2(uint8_t* dst, const uint8_t* top) { - DC4_SSE2(I4DC4 + dst, top); - TM4_SSE2(I4TM4 + dst, top); - VE4_SSE2(I4VE4 + dst, top); - HE4_SSE2(I4HE4 + dst, top); - RD4_SSE2(I4RD4 + dst, top); - VR4_SSE2(I4VR4 + dst, top); - LD4_SSE2(I4LD4 + dst, top); - VL4_SSE2(I4VL4 + dst, top); - HD4_SSE2(I4HD4 + dst, top); - HU4_SSE2(I4HU4 + dst, top); -} - -//------------------------------------------------------------------------------ -// Chroma 8x8 prediction (paragraph 12.2) - -static void IntraChromaPreds_SSE2(uint8_t* dst, const uint8_t* left, - const uint8_t* top) { - // U block - DC8uvMode_SSE2(C8DC8 + dst, left, top); - VerticalPred_SSE2(C8VE8 + dst, top, 8); - HorizontalPred_SSE2(C8HE8 + dst, left, 8); - TrueMotion_SSE2(C8TM8 + dst, left, top, 8); - // V block - dst += 8; - if (top != NULL) top += 8; - if (left != NULL) left += 16; - DC8uvMode_SSE2(C8DC8 + dst, left, top); - VerticalPred_SSE2(C8VE8 + dst, top, 8); - HorizontalPred_SSE2(C8HE8 + dst, left, 8); - TrueMotion_SSE2(C8TM8 + dst, left, top, 8); -} - -//------------------------------------------------------------------------------ -// luma 16x16 prediction (paragraph 12.3) - -static void Intra16Preds_SSE2(uint8_t* dst, - const uint8_t* left, const uint8_t* top) { - DC16Mode_SSE2(I16DC16 + dst, left, top); - VerticalPred_SSE2(I16VE16 + dst, top, 16); - HorizontalPred_SSE2(I16HE16 + dst, left, 16); - TrueMotion_SSE2(I16TM16 + dst, left, top, 16); -} - -//------------------------------------------------------------------------------ -// Metric - -static WEBP_INLINE void SubtractAndAccumulate_SSE2(const __m128i a, - const __m128i b, - __m128i* const sum) { - // take abs(a-b) in 8b - const __m128i a_b = _mm_subs_epu8(a, b); - const __m128i b_a = _mm_subs_epu8(b, a); - const __m128i abs_a_b = _mm_or_si128(a_b, b_a); - // zero-extend to 16b - const __m128i zero = _mm_setzero_si128(); - const __m128i C0 = _mm_unpacklo_epi8(abs_a_b, zero); - const __m128i C1 = _mm_unpackhi_epi8(abs_a_b, zero); - // multiply with self - const __m128i sum1 = _mm_madd_epi16(C0, C0); - const __m128i sum2 = _mm_madd_epi16(C1, C1); - *sum = _mm_add_epi32(sum1, sum2); -} - -static WEBP_INLINE int SSE_16xN_SSE2(const uint8_t* a, const uint8_t* b, - int num_pairs) { - __m128i sum = _mm_setzero_si128(); - int32_t tmp[4]; - int i; - - for (i = 0; i < num_pairs; ++i) { - const __m128i a0 = _mm_loadu_si128((const __m128i*)&a[BPS * 0]); - const __m128i b0 = _mm_loadu_si128((const __m128i*)&b[BPS * 0]); - const __m128i a1 = _mm_loadu_si128((const __m128i*)&a[BPS * 1]); - const __m128i b1 = _mm_loadu_si128((const __m128i*)&b[BPS * 1]); - __m128i sum1, sum2; - SubtractAndAccumulate_SSE2(a0, b0, &sum1); - SubtractAndAccumulate_SSE2(a1, b1, &sum2); - sum = _mm_add_epi32(sum, _mm_add_epi32(sum1, sum2)); - a += 2 * BPS; - b += 2 * BPS; - } - _mm_storeu_si128((__m128i*)tmp, sum); - return (tmp[3] + tmp[2] + tmp[1] + tmp[0]); -} - -static int SSE16x16_SSE2(const uint8_t* a, const uint8_t* b) { - return SSE_16xN_SSE2(a, b, 8); -} - -static int SSE16x8_SSE2(const uint8_t* a, const uint8_t* b) { - return SSE_16xN_SSE2(a, b, 4); -} - -#define LOAD_8x16b(ptr) \ - _mm_unpacklo_epi8(_mm_loadl_epi64((const __m128i*)(ptr)), zero) - -static int SSE8x8_SSE2(const uint8_t* a, const uint8_t* b) { - const __m128i zero = _mm_setzero_si128(); - int num_pairs = 4; - __m128i sum = zero; - int32_t tmp[4]; - while (num_pairs-- > 0) { - const __m128i a0 = LOAD_8x16b(&a[BPS * 0]); - const __m128i a1 = LOAD_8x16b(&a[BPS * 1]); - const __m128i b0 = LOAD_8x16b(&b[BPS * 0]); - const __m128i b1 = LOAD_8x16b(&b[BPS * 1]); - // subtract - const __m128i c0 = _mm_subs_epi16(a0, b0); - const __m128i c1 = _mm_subs_epi16(a1, b1); - // multiply/accumulate with self - const __m128i d0 = _mm_madd_epi16(c0, c0); - const __m128i d1 = _mm_madd_epi16(c1, c1); - // collect - const __m128i sum01 = _mm_add_epi32(d0, d1); - sum = _mm_add_epi32(sum, sum01); - a += 2 * BPS; - b += 2 * BPS; - } - _mm_storeu_si128((__m128i*)tmp, sum); - return (tmp[3] + tmp[2] + tmp[1] + tmp[0]); -} -#undef LOAD_8x16b - -static int SSE4x4_SSE2(const uint8_t* a, const uint8_t* b) { - const __m128i zero = _mm_setzero_si128(); - - // Load values. Note that we read 8 pixels instead of 4, - // but the a/b buffers are over-allocated to that effect. - const __m128i a0 = _mm_loadl_epi64((const __m128i*)&a[BPS * 0]); - const __m128i a1 = _mm_loadl_epi64((const __m128i*)&a[BPS * 1]); - const __m128i a2 = _mm_loadl_epi64((const __m128i*)&a[BPS * 2]); - const __m128i a3 = _mm_loadl_epi64((const __m128i*)&a[BPS * 3]); - const __m128i b0 = _mm_loadl_epi64((const __m128i*)&b[BPS * 0]); - const __m128i b1 = _mm_loadl_epi64((const __m128i*)&b[BPS * 1]); - const __m128i b2 = _mm_loadl_epi64((const __m128i*)&b[BPS * 2]); - const __m128i b3 = _mm_loadl_epi64((const __m128i*)&b[BPS * 3]); - // Combine pair of lines. - const __m128i a01 = _mm_unpacklo_epi32(a0, a1); - const __m128i a23 = _mm_unpacklo_epi32(a2, a3); - const __m128i b01 = _mm_unpacklo_epi32(b0, b1); - const __m128i b23 = _mm_unpacklo_epi32(b2, b3); - // Convert to 16b. - const __m128i a01s = _mm_unpacklo_epi8(a01, zero); - const __m128i a23s = _mm_unpacklo_epi8(a23, zero); - const __m128i b01s = _mm_unpacklo_epi8(b01, zero); - const __m128i b23s = _mm_unpacklo_epi8(b23, zero); - // subtract, square and accumulate - const __m128i d0 = _mm_subs_epi16(a01s, b01s); - const __m128i d1 = _mm_subs_epi16(a23s, b23s); - const __m128i e0 = _mm_madd_epi16(d0, d0); - const __m128i e1 = _mm_madd_epi16(d1, d1); - const __m128i sum = _mm_add_epi32(e0, e1); - - int32_t tmp[4]; - _mm_storeu_si128((__m128i*)tmp, sum); - return (tmp[3] + tmp[2] + tmp[1] + tmp[0]); -} - -//------------------------------------------------------------------------------ - -static void Mean16x4_SSE2(const uint8_t* ref, uint32_t dc[4]) { - const __m128i mask = _mm_set1_epi16(0x00ff); - const __m128i a0 = _mm_loadu_si128((const __m128i*)&ref[BPS * 0]); - const __m128i a1 = _mm_loadu_si128((const __m128i*)&ref[BPS * 1]); - const __m128i a2 = _mm_loadu_si128((const __m128i*)&ref[BPS * 2]); - const __m128i a3 = _mm_loadu_si128((const __m128i*)&ref[BPS * 3]); - const __m128i b0 = _mm_srli_epi16(a0, 8); // hi byte - const __m128i b1 = _mm_srli_epi16(a1, 8); - const __m128i b2 = _mm_srli_epi16(a2, 8); - const __m128i b3 = _mm_srli_epi16(a3, 8); - const __m128i c0 = _mm_and_si128(a0, mask); // lo byte - const __m128i c1 = _mm_and_si128(a1, mask); - const __m128i c2 = _mm_and_si128(a2, mask); - const __m128i c3 = _mm_and_si128(a3, mask); - const __m128i d0 = _mm_add_epi32(b0, c0); - const __m128i d1 = _mm_add_epi32(b1, c1); - const __m128i d2 = _mm_add_epi32(b2, c2); - const __m128i d3 = _mm_add_epi32(b3, c3); - const __m128i e0 = _mm_add_epi32(d0, d1); - const __m128i e1 = _mm_add_epi32(d2, d3); - const __m128i f0 = _mm_add_epi32(e0, e1); - uint16_t tmp[8]; - _mm_storeu_si128((__m128i*)tmp, f0); - dc[0] = tmp[0] + tmp[1]; - dc[1] = tmp[2] + tmp[3]; - dc[2] = tmp[4] + tmp[5]; - dc[3] = tmp[6] + tmp[7]; -} - -//------------------------------------------------------------------------------ -// Texture distortion -// -// We try to match the spectral content (weighted) between source and -// reconstructed samples. - -// Hadamard transform -// Returns the weighted sum of the absolute value of transformed coefficients. -// w[] contains a row-major 4 by 4 symmetric matrix. -static int TTransform_SSE2(const uint8_t* inA, const uint8_t* inB, - const uint16_t* const w) { - int32_t sum[4]; - __m128i tmp_0, tmp_1, tmp_2, tmp_3; - const __m128i zero = _mm_setzero_si128(); - - // Load and combine inputs. - { - const __m128i inA_0 = _mm_loadl_epi64((const __m128i*)&inA[BPS * 0]); - const __m128i inA_1 = _mm_loadl_epi64((const __m128i*)&inA[BPS * 1]); - const __m128i inA_2 = _mm_loadl_epi64((const __m128i*)&inA[BPS * 2]); - const __m128i inA_3 = _mm_loadl_epi64((const __m128i*)&inA[BPS * 3]); - const __m128i inB_0 = _mm_loadl_epi64((const __m128i*)&inB[BPS * 0]); - const __m128i inB_1 = _mm_loadl_epi64((const __m128i*)&inB[BPS * 1]); - const __m128i inB_2 = _mm_loadl_epi64((const __m128i*)&inB[BPS * 2]); - const __m128i inB_3 = _mm_loadl_epi64((const __m128i*)&inB[BPS * 3]); - - // Combine inA and inB (we'll do two transforms in parallel). - const __m128i inAB_0 = _mm_unpacklo_epi32(inA_0, inB_0); - const __m128i inAB_1 = _mm_unpacklo_epi32(inA_1, inB_1); - const __m128i inAB_2 = _mm_unpacklo_epi32(inA_2, inB_2); - const __m128i inAB_3 = _mm_unpacklo_epi32(inA_3, inB_3); - tmp_0 = _mm_unpacklo_epi8(inAB_0, zero); - tmp_1 = _mm_unpacklo_epi8(inAB_1, zero); - tmp_2 = _mm_unpacklo_epi8(inAB_2, zero); - tmp_3 = _mm_unpacklo_epi8(inAB_3, zero); - // a00 a01 a02 a03 b00 b01 b02 b03 - // a10 a11 a12 a13 b10 b11 b12 b13 - // a20 a21 a22 a23 b20 b21 b22 b23 - // a30 a31 a32 a33 b30 b31 b32 b33 - } - - // Vertical pass first to avoid a transpose (vertical and horizontal passes - // are commutative because w/kWeightY is symmetric) and subsequent transpose. - { - // Calculate a and b (two 4x4 at once). - const __m128i a0 = _mm_add_epi16(tmp_0, tmp_2); - const __m128i a1 = _mm_add_epi16(tmp_1, tmp_3); - const __m128i a2 = _mm_sub_epi16(tmp_1, tmp_3); - const __m128i a3 = _mm_sub_epi16(tmp_0, tmp_2); - const __m128i b0 = _mm_add_epi16(a0, a1); - const __m128i b1 = _mm_add_epi16(a3, a2); - const __m128i b2 = _mm_sub_epi16(a3, a2); - const __m128i b3 = _mm_sub_epi16(a0, a1); - // a00 a01 a02 a03 b00 b01 b02 b03 - // a10 a11 a12 a13 b10 b11 b12 b13 - // a20 a21 a22 a23 b20 b21 b22 b23 - // a30 a31 a32 a33 b30 b31 b32 b33 - - // Transpose the two 4x4. - VP8Transpose_2_4x4_16b(&b0, &b1, &b2, &b3, &tmp_0, &tmp_1, &tmp_2, &tmp_3); - } - - // Horizontal pass and difference of weighted sums. - { - // Load all inputs. - const __m128i w_0 = _mm_loadu_si128((const __m128i*)&w[0]); - const __m128i w_8 = _mm_loadu_si128((const __m128i*)&w[8]); - - // Calculate a and b (two 4x4 at once). - const __m128i a0 = _mm_add_epi16(tmp_0, tmp_2); - const __m128i a1 = _mm_add_epi16(tmp_1, tmp_3); - const __m128i a2 = _mm_sub_epi16(tmp_1, tmp_3); - const __m128i a3 = _mm_sub_epi16(tmp_0, tmp_2); - const __m128i b0 = _mm_add_epi16(a0, a1); - const __m128i b1 = _mm_add_epi16(a3, a2); - const __m128i b2 = _mm_sub_epi16(a3, a2); - const __m128i b3 = _mm_sub_epi16(a0, a1); - - // Separate the transforms of inA and inB. - __m128i A_b0 = _mm_unpacklo_epi64(b0, b1); - __m128i A_b2 = _mm_unpacklo_epi64(b2, b3); - __m128i B_b0 = _mm_unpackhi_epi64(b0, b1); - __m128i B_b2 = _mm_unpackhi_epi64(b2, b3); - - { - const __m128i d0 = _mm_sub_epi16(zero, A_b0); - const __m128i d1 = _mm_sub_epi16(zero, A_b2); - const __m128i d2 = _mm_sub_epi16(zero, B_b0); - const __m128i d3 = _mm_sub_epi16(zero, B_b2); - A_b0 = _mm_max_epi16(A_b0, d0); // abs(v), 16b - A_b2 = _mm_max_epi16(A_b2, d1); - B_b0 = _mm_max_epi16(B_b0, d2); - B_b2 = _mm_max_epi16(B_b2, d3); - } - - // weighted sums - A_b0 = _mm_madd_epi16(A_b0, w_0); - A_b2 = _mm_madd_epi16(A_b2, w_8); - B_b0 = _mm_madd_epi16(B_b0, w_0); - B_b2 = _mm_madd_epi16(B_b2, w_8); - A_b0 = _mm_add_epi32(A_b0, A_b2); - B_b0 = _mm_add_epi32(B_b0, B_b2); - - // difference of weighted sums - A_b0 = _mm_sub_epi32(A_b0, B_b0); - _mm_storeu_si128((__m128i*)&sum[0], A_b0); - } - return sum[0] + sum[1] + sum[2] + sum[3]; -} - -static int Disto4x4_SSE2(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - const int diff_sum = TTransform_SSE2(a, b, w); - return abs(diff_sum) >> 5; -} - -static int Disto16x16_SSE2(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - int D = 0; - int x, y; - for (y = 0; y < 16 * BPS; y += 4 * BPS) { - for (x = 0; x < 16; x += 4) { - D += Disto4x4_SSE2(a + x + y, b + x + y, w); - } - } - return D; -} - -//------------------------------------------------------------------------------ -// Quantization -// - -static WEBP_INLINE int DoQuantizeBlock_SSE2(int16_t in[16], int16_t out[16], - const uint16_t* const sharpen, - const VP8Matrix* const mtx) { - const __m128i max_coeff_2047 = _mm_set1_epi16(MAX_LEVEL); - const __m128i zero = _mm_setzero_si128(); - __m128i coeff0, coeff8; - __m128i out0, out8; - __m128i packed_out; - - // Load all inputs. - __m128i in0 = _mm_loadu_si128((__m128i*)&in[0]); - __m128i in8 = _mm_loadu_si128((__m128i*)&in[8]); - const __m128i iq0 = _mm_loadu_si128((const __m128i*)&mtx->iq_[0]); - const __m128i iq8 = _mm_loadu_si128((const __m128i*)&mtx->iq_[8]); - const __m128i q0 = _mm_loadu_si128((const __m128i*)&mtx->q_[0]); - const __m128i q8 = _mm_loadu_si128((const __m128i*)&mtx->q_[8]); - - // extract sign(in) (0x0000 if positive, 0xffff if negative) - const __m128i sign0 = _mm_cmpgt_epi16(zero, in0); - const __m128i sign8 = _mm_cmpgt_epi16(zero, in8); - - // coeff = abs(in) = (in ^ sign) - sign - coeff0 = _mm_xor_si128(in0, sign0); - coeff8 = _mm_xor_si128(in8, sign8); - coeff0 = _mm_sub_epi16(coeff0, sign0); - coeff8 = _mm_sub_epi16(coeff8, sign8); - - // coeff = abs(in) + sharpen - if (sharpen != NULL) { - const __m128i sharpen0 = _mm_loadu_si128((const __m128i*)&sharpen[0]); - const __m128i sharpen8 = _mm_loadu_si128((const __m128i*)&sharpen[8]); - coeff0 = _mm_add_epi16(coeff0, sharpen0); - coeff8 = _mm_add_epi16(coeff8, sharpen8); - } - - // out = (coeff * iQ + B) >> QFIX - { - // doing calculations with 32b precision (QFIX=17) - // out = (coeff * iQ) - const __m128i coeff_iQ0H = _mm_mulhi_epu16(coeff0, iq0); - const __m128i coeff_iQ0L = _mm_mullo_epi16(coeff0, iq0); - const __m128i coeff_iQ8H = _mm_mulhi_epu16(coeff8, iq8); - const __m128i coeff_iQ8L = _mm_mullo_epi16(coeff8, iq8); - __m128i out_00 = _mm_unpacklo_epi16(coeff_iQ0L, coeff_iQ0H); - __m128i out_04 = _mm_unpackhi_epi16(coeff_iQ0L, coeff_iQ0H); - __m128i out_08 = _mm_unpacklo_epi16(coeff_iQ8L, coeff_iQ8H); - __m128i out_12 = _mm_unpackhi_epi16(coeff_iQ8L, coeff_iQ8H); - // out = (coeff * iQ + B) - const __m128i bias_00 = _mm_loadu_si128((const __m128i*)&mtx->bias_[0]); - const __m128i bias_04 = _mm_loadu_si128((const __m128i*)&mtx->bias_[4]); - const __m128i bias_08 = _mm_loadu_si128((const __m128i*)&mtx->bias_[8]); - const __m128i bias_12 = _mm_loadu_si128((const __m128i*)&mtx->bias_[12]); - out_00 = _mm_add_epi32(out_00, bias_00); - out_04 = _mm_add_epi32(out_04, bias_04); - out_08 = _mm_add_epi32(out_08, bias_08); - out_12 = _mm_add_epi32(out_12, bias_12); - // out = QUANTDIV(coeff, iQ, B, QFIX) - out_00 = _mm_srai_epi32(out_00, QFIX); - out_04 = _mm_srai_epi32(out_04, QFIX); - out_08 = _mm_srai_epi32(out_08, QFIX); - out_12 = _mm_srai_epi32(out_12, QFIX); - - // pack result as 16b - out0 = _mm_packs_epi32(out_00, out_04); - out8 = _mm_packs_epi32(out_08, out_12); - - // if (coeff > 2047) coeff = 2047 - out0 = _mm_min_epi16(out0, max_coeff_2047); - out8 = _mm_min_epi16(out8, max_coeff_2047); - } - - // get sign back (if (sign[j]) out_n = -out_n) - out0 = _mm_xor_si128(out0, sign0); - out8 = _mm_xor_si128(out8, sign8); - out0 = _mm_sub_epi16(out0, sign0); - out8 = _mm_sub_epi16(out8, sign8); - - // in = out * Q - in0 = _mm_mullo_epi16(out0, q0); - in8 = _mm_mullo_epi16(out8, q8); - - _mm_storeu_si128((__m128i*)&in[0], in0); - _mm_storeu_si128((__m128i*)&in[8], in8); - - // zigzag the output before storing it. - // - // The zigzag pattern can almost be reproduced with a small sequence of - // shuffles. After it, we only need to swap the 7th (ending up in third - // position instead of twelfth) and 8th values. - { - __m128i outZ0, outZ8; - outZ0 = _mm_shufflehi_epi16(out0, _MM_SHUFFLE(2, 1, 3, 0)); - outZ0 = _mm_shuffle_epi32 (outZ0, _MM_SHUFFLE(3, 1, 2, 0)); - outZ0 = _mm_shufflehi_epi16(outZ0, _MM_SHUFFLE(3, 1, 0, 2)); - outZ8 = _mm_shufflelo_epi16(out8, _MM_SHUFFLE(3, 0, 2, 1)); - outZ8 = _mm_shuffle_epi32 (outZ8, _MM_SHUFFLE(3, 1, 2, 0)); - outZ8 = _mm_shufflelo_epi16(outZ8, _MM_SHUFFLE(1, 3, 2, 0)); - _mm_storeu_si128((__m128i*)&out[0], outZ0); - _mm_storeu_si128((__m128i*)&out[8], outZ8); - packed_out = _mm_packs_epi16(outZ0, outZ8); - } - { - const int16_t outZ_12 = out[12]; - const int16_t outZ_3 = out[3]; - out[3] = outZ_12; - out[12] = outZ_3; - } - - // detect if all 'out' values are zeroes or not - return (_mm_movemask_epi8(_mm_cmpeq_epi8(packed_out, zero)) != 0xffff); -} - -static int QuantizeBlock_SSE2(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { - return DoQuantizeBlock_SSE2(in, out, &mtx->sharpen_[0], mtx); -} - -static int QuantizeBlockWHT_SSE2(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { - return DoQuantizeBlock_SSE2(in, out, NULL, mtx); -} - -static int Quantize2Blocks_SSE2(int16_t in[32], int16_t out[32], - const VP8Matrix* const mtx) { - int nz; - const uint16_t* const sharpen = &mtx->sharpen_[0]; - nz = DoQuantizeBlock_SSE2(in + 0 * 16, out + 0 * 16, sharpen, mtx) << 0; - nz |= DoQuantizeBlock_SSE2(in + 1 * 16, out + 1 * 16, sharpen, mtx) << 1; - return nz; -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspInitSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitSSE2(void) { - VP8CollectHistogram = CollectHistogram_SSE2; - VP8EncPredLuma16 = Intra16Preds_SSE2; - VP8EncPredChroma8 = IntraChromaPreds_SSE2; - VP8EncPredLuma4 = Intra4Preds_SSE2; - VP8EncQuantizeBlock = QuantizeBlock_SSE2; - VP8EncQuantize2Blocks = Quantize2Blocks_SSE2; - VP8EncQuantizeBlockWHT = QuantizeBlockWHT_SSE2; - VP8ITransform = ITransform_SSE2; - VP8FTransform = FTransform_SSE2; - VP8FTransform2 = FTransform2_SSE2; - VP8FTransformWHT = FTransformWHT_SSE2; - VP8SSE16x16 = SSE16x16_SSE2; - VP8SSE16x8 = SSE16x8_SSE2; - VP8SSE8x8 = SSE8x8_SSE2; - VP8SSE4x4 = SSE4x4_SSE2; - VP8TDisto4x4 = Disto4x4_SSE2; - VP8TDisto16x16 = Disto16x16_SSE2; - VP8Mean16x4 = Mean16x4_SSE2; -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(VP8EncDspInitSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_sse41.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_sse41.c deleted file mode 100644 index 924035a6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/enc_sse41.c +++ /dev/null @@ -1,339 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE4 version of some encoding functions. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE41) -#include -#include // for abs() - -#include "src/dsp/common_sse2.h" -#include "src/enc/vp8i_enc.h" - -//------------------------------------------------------------------------------ -// Compute susceptibility based on DCT-coeff histograms. - -static void CollectHistogram_SSE41(const uint8_t* ref, const uint8_t* pred, - int start_block, int end_block, - VP8Histogram* const histo) { - const __m128i max_coeff_thresh = _mm_set1_epi16(MAX_COEFF_THRESH); - int j; - int distribution[MAX_COEFF_THRESH + 1] = { 0 }; - for (j = start_block; j < end_block; ++j) { - int16_t out[16]; - int k; - - VP8FTransform(ref + VP8DspScan[j], pred + VP8DspScan[j], out); - - // Convert coefficients to bin (within out[]). - { - // Load. - const __m128i out0 = _mm_loadu_si128((__m128i*)&out[0]); - const __m128i out1 = _mm_loadu_si128((__m128i*)&out[8]); - // v = abs(out) >> 3 - const __m128i abs0 = _mm_abs_epi16(out0); - const __m128i abs1 = _mm_abs_epi16(out1); - const __m128i v0 = _mm_srai_epi16(abs0, 3); - const __m128i v1 = _mm_srai_epi16(abs1, 3); - // bin = min(v, MAX_COEFF_THRESH) - const __m128i bin0 = _mm_min_epi16(v0, max_coeff_thresh); - const __m128i bin1 = _mm_min_epi16(v1, max_coeff_thresh); - // Store. - _mm_storeu_si128((__m128i*)&out[0], bin0); - _mm_storeu_si128((__m128i*)&out[8], bin1); - } - - // Convert coefficients to bin. - for (k = 0; k < 16; ++k) { - ++distribution[out[k]]; - } - } - VP8SetHistogramData(distribution, histo); -} - -//------------------------------------------------------------------------------ -// Texture distortion -// -// We try to match the spectral content (weighted) between source and -// reconstructed samples. - -// Hadamard transform -// Returns the weighted sum of the absolute value of transformed coefficients. -// w[] contains a row-major 4 by 4 symmetric matrix. -static int TTransform_SSE41(const uint8_t* inA, const uint8_t* inB, - const uint16_t* const w) { - int32_t sum[4]; - __m128i tmp_0, tmp_1, tmp_2, tmp_3; - - // Load and combine inputs. - { - const __m128i inA_0 = _mm_loadu_si128((const __m128i*)&inA[BPS * 0]); - const __m128i inA_1 = _mm_loadu_si128((const __m128i*)&inA[BPS * 1]); - const __m128i inA_2 = _mm_loadu_si128((const __m128i*)&inA[BPS * 2]); - // In SSE4.1, with gcc 4.8 at least (maybe other versions), - // _mm_loadu_si128 is faster than _mm_loadl_epi64. But for the last lump - // of inA and inB, _mm_loadl_epi64 is still used not to have an out of - // bound read. - const __m128i inA_3 = _mm_loadl_epi64((const __m128i*)&inA[BPS * 3]); - const __m128i inB_0 = _mm_loadu_si128((const __m128i*)&inB[BPS * 0]); - const __m128i inB_1 = _mm_loadu_si128((const __m128i*)&inB[BPS * 1]); - const __m128i inB_2 = _mm_loadu_si128((const __m128i*)&inB[BPS * 2]); - const __m128i inB_3 = _mm_loadl_epi64((const __m128i*)&inB[BPS * 3]); - - // Combine inA and inB (we'll do two transforms in parallel). - const __m128i inAB_0 = _mm_unpacklo_epi32(inA_0, inB_0); - const __m128i inAB_1 = _mm_unpacklo_epi32(inA_1, inB_1); - const __m128i inAB_2 = _mm_unpacklo_epi32(inA_2, inB_2); - const __m128i inAB_3 = _mm_unpacklo_epi32(inA_3, inB_3); - tmp_0 = _mm_cvtepu8_epi16(inAB_0); - tmp_1 = _mm_cvtepu8_epi16(inAB_1); - tmp_2 = _mm_cvtepu8_epi16(inAB_2); - tmp_3 = _mm_cvtepu8_epi16(inAB_3); - // a00 a01 a02 a03 b00 b01 b02 b03 - // a10 a11 a12 a13 b10 b11 b12 b13 - // a20 a21 a22 a23 b20 b21 b22 b23 - // a30 a31 a32 a33 b30 b31 b32 b33 - } - - // Vertical pass first to avoid a transpose (vertical and horizontal passes - // are commutative because w/kWeightY is symmetric) and subsequent transpose. - { - // Calculate a and b (two 4x4 at once). - const __m128i a0 = _mm_add_epi16(tmp_0, tmp_2); - const __m128i a1 = _mm_add_epi16(tmp_1, tmp_3); - const __m128i a2 = _mm_sub_epi16(tmp_1, tmp_3); - const __m128i a3 = _mm_sub_epi16(tmp_0, tmp_2); - const __m128i b0 = _mm_add_epi16(a0, a1); - const __m128i b1 = _mm_add_epi16(a3, a2); - const __m128i b2 = _mm_sub_epi16(a3, a2); - const __m128i b3 = _mm_sub_epi16(a0, a1); - // a00 a01 a02 a03 b00 b01 b02 b03 - // a10 a11 a12 a13 b10 b11 b12 b13 - // a20 a21 a22 a23 b20 b21 b22 b23 - // a30 a31 a32 a33 b30 b31 b32 b33 - - // Transpose the two 4x4. - VP8Transpose_2_4x4_16b(&b0, &b1, &b2, &b3, &tmp_0, &tmp_1, &tmp_2, &tmp_3); - } - - // Horizontal pass and difference of weighted sums. - { - // Load all inputs. - const __m128i w_0 = _mm_loadu_si128((const __m128i*)&w[0]); - const __m128i w_8 = _mm_loadu_si128((const __m128i*)&w[8]); - - // Calculate a and b (two 4x4 at once). - const __m128i a0 = _mm_add_epi16(tmp_0, tmp_2); - const __m128i a1 = _mm_add_epi16(tmp_1, tmp_3); - const __m128i a2 = _mm_sub_epi16(tmp_1, tmp_3); - const __m128i a3 = _mm_sub_epi16(tmp_0, tmp_2); - const __m128i b0 = _mm_add_epi16(a0, a1); - const __m128i b1 = _mm_add_epi16(a3, a2); - const __m128i b2 = _mm_sub_epi16(a3, a2); - const __m128i b3 = _mm_sub_epi16(a0, a1); - - // Separate the transforms of inA and inB. - __m128i A_b0 = _mm_unpacklo_epi64(b0, b1); - __m128i A_b2 = _mm_unpacklo_epi64(b2, b3); - __m128i B_b0 = _mm_unpackhi_epi64(b0, b1); - __m128i B_b2 = _mm_unpackhi_epi64(b2, b3); - - A_b0 = _mm_abs_epi16(A_b0); - A_b2 = _mm_abs_epi16(A_b2); - B_b0 = _mm_abs_epi16(B_b0); - B_b2 = _mm_abs_epi16(B_b2); - - // weighted sums - A_b0 = _mm_madd_epi16(A_b0, w_0); - A_b2 = _mm_madd_epi16(A_b2, w_8); - B_b0 = _mm_madd_epi16(B_b0, w_0); - B_b2 = _mm_madd_epi16(B_b2, w_8); - A_b0 = _mm_add_epi32(A_b0, A_b2); - B_b0 = _mm_add_epi32(B_b0, B_b2); - - // difference of weighted sums - A_b2 = _mm_sub_epi32(A_b0, B_b0); - _mm_storeu_si128((__m128i*)&sum[0], A_b2); - } - return sum[0] + sum[1] + sum[2] + sum[3]; -} - -static int Disto4x4_SSE41(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - const int diff_sum = TTransform_SSE41(a, b, w); - return abs(diff_sum) >> 5; -} - -static int Disto16x16_SSE41(const uint8_t* const a, const uint8_t* const b, - const uint16_t* const w) { - int D = 0; - int x, y; - for (y = 0; y < 16 * BPS; y += 4 * BPS) { - for (x = 0; x < 16; x += 4) { - D += Disto4x4_SSE41(a + x + y, b + x + y, w); - } - } - return D; -} - -//------------------------------------------------------------------------------ -// Quantization -// - -// Generates a pshufb constant for shuffling 16b words. -#define PSHUFB_CST(A,B,C,D,E,F,G,H) \ - _mm_set_epi8(2 * (H) + 1, 2 * (H) + 0, 2 * (G) + 1, 2 * (G) + 0, \ - 2 * (F) + 1, 2 * (F) + 0, 2 * (E) + 1, 2 * (E) + 0, \ - 2 * (D) + 1, 2 * (D) + 0, 2 * (C) + 1, 2 * (C) + 0, \ - 2 * (B) + 1, 2 * (B) + 0, 2 * (A) + 1, 2 * (A) + 0) - -static WEBP_INLINE int DoQuantizeBlock_SSE41(int16_t in[16], int16_t out[16], - const uint16_t* const sharpen, - const VP8Matrix* const mtx) { - const __m128i max_coeff_2047 = _mm_set1_epi16(MAX_LEVEL); - const __m128i zero = _mm_setzero_si128(); - __m128i out0, out8; - __m128i packed_out; - - // Load all inputs. - __m128i in0 = _mm_loadu_si128((__m128i*)&in[0]); - __m128i in8 = _mm_loadu_si128((__m128i*)&in[8]); - const __m128i iq0 = _mm_loadu_si128((const __m128i*)&mtx->iq_[0]); - const __m128i iq8 = _mm_loadu_si128((const __m128i*)&mtx->iq_[8]); - const __m128i q0 = _mm_loadu_si128((const __m128i*)&mtx->q_[0]); - const __m128i q8 = _mm_loadu_si128((const __m128i*)&mtx->q_[8]); - - // coeff = abs(in) - __m128i coeff0 = _mm_abs_epi16(in0); - __m128i coeff8 = _mm_abs_epi16(in8); - - // coeff = abs(in) + sharpen - if (sharpen != NULL) { - const __m128i sharpen0 = _mm_loadu_si128((const __m128i*)&sharpen[0]); - const __m128i sharpen8 = _mm_loadu_si128((const __m128i*)&sharpen[8]); - coeff0 = _mm_add_epi16(coeff0, sharpen0); - coeff8 = _mm_add_epi16(coeff8, sharpen8); - } - - // out = (coeff * iQ + B) >> QFIX - { - // doing calculations with 32b precision (QFIX=17) - // out = (coeff * iQ) - const __m128i coeff_iQ0H = _mm_mulhi_epu16(coeff0, iq0); - const __m128i coeff_iQ0L = _mm_mullo_epi16(coeff0, iq0); - const __m128i coeff_iQ8H = _mm_mulhi_epu16(coeff8, iq8); - const __m128i coeff_iQ8L = _mm_mullo_epi16(coeff8, iq8); - __m128i out_00 = _mm_unpacklo_epi16(coeff_iQ0L, coeff_iQ0H); - __m128i out_04 = _mm_unpackhi_epi16(coeff_iQ0L, coeff_iQ0H); - __m128i out_08 = _mm_unpacklo_epi16(coeff_iQ8L, coeff_iQ8H); - __m128i out_12 = _mm_unpackhi_epi16(coeff_iQ8L, coeff_iQ8H); - // out = (coeff * iQ + B) - const __m128i bias_00 = _mm_loadu_si128((const __m128i*)&mtx->bias_[0]); - const __m128i bias_04 = _mm_loadu_si128((const __m128i*)&mtx->bias_[4]); - const __m128i bias_08 = _mm_loadu_si128((const __m128i*)&mtx->bias_[8]); - const __m128i bias_12 = _mm_loadu_si128((const __m128i*)&mtx->bias_[12]); - out_00 = _mm_add_epi32(out_00, bias_00); - out_04 = _mm_add_epi32(out_04, bias_04); - out_08 = _mm_add_epi32(out_08, bias_08); - out_12 = _mm_add_epi32(out_12, bias_12); - // out = QUANTDIV(coeff, iQ, B, QFIX) - out_00 = _mm_srai_epi32(out_00, QFIX); - out_04 = _mm_srai_epi32(out_04, QFIX); - out_08 = _mm_srai_epi32(out_08, QFIX); - out_12 = _mm_srai_epi32(out_12, QFIX); - - // pack result as 16b - out0 = _mm_packs_epi32(out_00, out_04); - out8 = _mm_packs_epi32(out_08, out_12); - - // if (coeff > 2047) coeff = 2047 - out0 = _mm_min_epi16(out0, max_coeff_2047); - out8 = _mm_min_epi16(out8, max_coeff_2047); - } - - // put sign back - out0 = _mm_sign_epi16(out0, in0); - out8 = _mm_sign_epi16(out8, in8); - - // in = out * Q - in0 = _mm_mullo_epi16(out0, q0); - in8 = _mm_mullo_epi16(out8, q8); - - _mm_storeu_si128((__m128i*)&in[0], in0); - _mm_storeu_si128((__m128i*)&in[8], in8); - - // zigzag the output before storing it. The re-ordering is: - // 0 1 2 3 4 5 6 7 | 8 9 10 11 12 13 14 15 - // -> 0 1 4[8]5 2 3 6 | 9 12 13 10 [7]11 14 15 - // There's only two misplaced entries ([8] and [7]) that are crossing the - // reg's boundaries. - // We use pshufb instead of pshuflo/pshufhi. - { - const __m128i kCst_lo = PSHUFB_CST(0, 1, 4, -1, 5, 2, 3, 6); - const __m128i kCst_7 = PSHUFB_CST(-1, -1, -1, -1, 7, -1, -1, -1); - const __m128i tmp_lo = _mm_shuffle_epi8(out0, kCst_lo); - const __m128i tmp_7 = _mm_shuffle_epi8(out0, kCst_7); // extract #7 - const __m128i kCst_hi = PSHUFB_CST(1, 4, 5, 2, -1, 3, 6, 7); - const __m128i kCst_8 = PSHUFB_CST(-1, -1, -1, 0, -1, -1, -1, -1); - const __m128i tmp_hi = _mm_shuffle_epi8(out8, kCst_hi); - const __m128i tmp_8 = _mm_shuffle_epi8(out8, kCst_8); // extract #8 - const __m128i out_z0 = _mm_or_si128(tmp_lo, tmp_8); - const __m128i out_z8 = _mm_or_si128(tmp_hi, tmp_7); - _mm_storeu_si128((__m128i*)&out[0], out_z0); - _mm_storeu_si128((__m128i*)&out[8], out_z8); - packed_out = _mm_packs_epi16(out_z0, out_z8); - } - - // detect if all 'out' values are zeroes or not - return (_mm_movemask_epi8(_mm_cmpeq_epi8(packed_out, zero)) != 0xffff); -} - -#undef PSHUFB_CST - -static int QuantizeBlock_SSE41(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { - return DoQuantizeBlock_SSE41(in, out, &mtx->sharpen_[0], mtx); -} - -static int QuantizeBlockWHT_SSE41(int16_t in[16], int16_t out[16], - const VP8Matrix* const mtx) { - return DoQuantizeBlock_SSE41(in, out, NULL, mtx); -} - -static int Quantize2Blocks_SSE41(int16_t in[32], int16_t out[32], - const VP8Matrix* const mtx) { - int nz; - const uint16_t* const sharpen = &mtx->sharpen_[0]; - nz = DoQuantizeBlock_SSE41(in + 0 * 16, out + 0 * 16, sharpen, mtx) << 0; - nz |= DoQuantizeBlock_SSE41(in + 1 * 16, out + 1 * 16, sharpen, mtx) << 1; - return nz; -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8EncDspInitSSE41(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitSSE41(void) { - VP8CollectHistogram = CollectHistogram_SSE41; - VP8EncQuantizeBlock = QuantizeBlock_SSE41; - VP8EncQuantize2Blocks = Quantize2Blocks_SSE41; - VP8EncQuantizeBlockWHT = QuantizeBlockWHT_SSE41; - VP8TDisto4x4 = Disto4x4_SSE41; - VP8TDisto16x16 = Disto16x16_SSE41; -} - -#else // !WEBP_USE_SSE41 - -WEBP_DSP_INIT_STUB(VP8EncDspInitSSE41) - -#endif // WEBP_USE_SSE41 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters.c deleted file mode 100644 index 9e910d99..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters.c +++ /dev/null @@ -1,287 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Spatial prediction using various filters -// -// Author: Urvang (urvang@google.com) - -#include "src/dsp/dsp.h" -#include -#include -#include - -//------------------------------------------------------------------------------ -// Helpful macro. - -# define SANITY_CHECK(in, out) \ - assert((in) != NULL); \ - assert((out) != NULL); \ - assert(width > 0); \ - assert(height > 0); \ - assert(stride >= width); \ - assert(row >= 0 && num_rows > 0 && row + num_rows <= height); \ - (void)height; // Silence unused warning. - -#if !WEBP_NEON_OMIT_C_CODE -static WEBP_INLINE void PredictLine_C(const uint8_t* src, const uint8_t* pred, - uint8_t* dst, int length, int inverse) { - int i; - if (inverse) { - for (i = 0; i < length; ++i) dst[i] = (uint8_t)(src[i] + pred[i]); - } else { - for (i = 0; i < length; ++i) dst[i] = (uint8_t)(src[i] - pred[i]); - } -} - -//------------------------------------------------------------------------------ -// Horizontal filter. - -static WEBP_INLINE void DoHorizontalFilter_C(const uint8_t* in, - int width, int height, int stride, - int row, int num_rows, - int inverse, uint8_t* out) { - const uint8_t* preds; - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - preds = inverse ? out : in; - - if (row == 0) { - // Leftmost pixel is the same as input for topmost scanline. - out[0] = in[0]; - PredictLine_C(in + 1, preds, out + 1, width - 1, inverse); - row = 1; - preds += stride; - in += stride; - out += stride; - } - - // Filter line-by-line. - while (row < last_row) { - // Leftmost pixel is predicted from above. - PredictLine_C(in, preds - stride, out, 1, inverse); - PredictLine_C(in + 1, preds, out + 1, width - 1, inverse); - ++row; - preds += stride; - in += stride; - out += stride; - } -} - -//------------------------------------------------------------------------------ -// Vertical filter. - -static WEBP_INLINE void DoVerticalFilter_C(const uint8_t* in, - int width, int height, int stride, - int row, int num_rows, - int inverse, uint8_t* out) { - const uint8_t* preds; - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - preds = inverse ? out : in; - - if (row == 0) { - // Very first top-left pixel is copied. - out[0] = in[0]; - // Rest of top scan-line is left-predicted. - PredictLine_C(in + 1, preds, out + 1, width - 1, inverse); - row = 1; - in += stride; - out += stride; - } else { - // We are starting from in-between. Make sure 'preds' points to prev row. - preds -= stride; - } - - // Filter line-by-line. - while (row < last_row) { - PredictLine_C(in, preds, out, width, inverse); - ++row; - preds += stride; - in += stride; - out += stride; - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -//------------------------------------------------------------------------------ -// Gradient filter. - -static WEBP_INLINE int GradientPredictor_C(uint8_t a, uint8_t b, uint8_t c) { - const int g = a + b - c; - return ((g & ~0xff) == 0) ? g : (g < 0) ? 0 : 255; // clip to 8bit -} - -#if !WEBP_NEON_OMIT_C_CODE -static WEBP_INLINE void DoGradientFilter_C(const uint8_t* in, - int width, int height, int stride, - int row, int num_rows, - int inverse, uint8_t* out) { - const uint8_t* preds; - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - preds = inverse ? out : in; - - // left prediction for top scan-line - if (row == 0) { - out[0] = in[0]; - PredictLine_C(in + 1, preds, out + 1, width - 1, inverse); - row = 1; - preds += stride; - in += stride; - out += stride; - } - - // Filter line-by-line. - while (row < last_row) { - int w; - // leftmost pixel: predict from above. - PredictLine_C(in, preds - stride, out, 1, inverse); - for (w = 1; w < width; ++w) { - const int pred = GradientPredictor_C(preds[w - 1], - preds[w - stride], - preds[w - stride - 1]); - out[w] = (uint8_t)(in[w] + (inverse ? pred : -pred)); - } - ++row; - preds += stride; - in += stride; - out += stride; - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -#undef SANITY_CHECK - -//------------------------------------------------------------------------------ - -#if !WEBP_NEON_OMIT_C_CODE -static void HorizontalFilter_C(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoHorizontalFilter_C(data, width, height, stride, 0, height, 0, - filtered_data); -} - -static void VerticalFilter_C(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoVerticalFilter_C(data, width, height, stride, 0, height, 0, filtered_data); -} - -static void GradientFilter_C(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoGradientFilter_C(data, width, height, stride, 0, height, 0, filtered_data); -} -#endif // !WEBP_NEON_OMIT_C_CODE - -//------------------------------------------------------------------------------ - -static void HorizontalUnfilter_C(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - uint8_t pred = (prev == NULL) ? 0 : prev[0]; - int i; - for (i = 0; i < width; ++i) { - out[i] = (uint8_t)(pred + in[i]); - pred = out[i]; - } -} - -#if !WEBP_NEON_OMIT_C_CODE -static void VerticalUnfilter_C(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - if (prev == NULL) { - HorizontalUnfilter_C(NULL, in, out, width); - } else { - int i; - for (i = 0; i < width; ++i) out[i] = (uint8_t)(prev[i] + in[i]); - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -static void GradientUnfilter_C(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - if (prev == NULL) { - HorizontalUnfilter_C(NULL, in, out, width); - } else { - uint8_t top = prev[0], top_left = top, left = top; - int i; - for (i = 0; i < width; ++i) { - top = prev[i]; // need to read this first, in case prev==out - left = (uint8_t)(in[i] + GradientPredictor_C(left, top, top_left)); - top_left = top; - out[i] = left; - } - } -} - -//------------------------------------------------------------------------------ -// Init function - -WebPFilterFunc WebPFilters[WEBP_FILTER_LAST]; -WebPUnfilterFunc WebPUnfilters[WEBP_FILTER_LAST]; - -extern void VP8FiltersInitMIPSdspR2(void); -extern void VP8FiltersInitMSA(void); -extern void VP8FiltersInitNEON(void); -extern void VP8FiltersInitSSE2(void); - -WEBP_DSP_INIT_FUNC(VP8FiltersInit) { - WebPUnfilters[WEBP_FILTER_NONE] = NULL; -#if !WEBP_NEON_OMIT_C_CODE - WebPUnfilters[WEBP_FILTER_HORIZONTAL] = HorizontalUnfilter_C; - WebPUnfilters[WEBP_FILTER_VERTICAL] = VerticalUnfilter_C; -#endif - WebPUnfilters[WEBP_FILTER_GRADIENT] = GradientUnfilter_C; - - WebPFilters[WEBP_FILTER_NONE] = NULL; -#if !WEBP_NEON_OMIT_C_CODE - WebPFilters[WEBP_FILTER_HORIZONTAL] = HorizontalFilter_C; - WebPFilters[WEBP_FILTER_VERTICAL] = VerticalFilter_C; - WebPFilters[WEBP_FILTER_GRADIENT] = GradientFilter_C; -#endif - - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - VP8FiltersInitSSE2(); - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - VP8FiltersInitMIPSdspR2(); - } -#endif -#if defined(WEBP_USE_MSA) - if (VP8GetCPUInfo(kMSA)) { - VP8FiltersInitMSA(); - } -#endif - } - -#if defined(WEBP_USE_NEON) - if (WEBP_NEON_OMIT_C_CODE || - (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { - VP8FiltersInitNEON(); - } -#endif - - assert(WebPUnfilters[WEBP_FILTER_HORIZONTAL] != NULL); - assert(WebPUnfilters[WEBP_FILTER_VERTICAL] != NULL); - assert(WebPUnfilters[WEBP_FILTER_GRADIENT] != NULL); - assert(WebPFilters[WEBP_FILTER_HORIZONTAL] != NULL); - assert(WebPFilters[WEBP_FILTER_VERTICAL] != NULL); - assert(WebPFilters[WEBP_FILTER_GRADIENT] != NULL); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_mips_dsp_r2.c deleted file mode 100644 index 9382b128..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_mips_dsp_r2.c +++ /dev/null @@ -1,402 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Spatial prediction using various filters -// -// Author(s): Branimir Vasic (branimir.vasic@imgtec.com) -// Djordje Pesut (djordje.pesut@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) - -#include "src/dsp/dsp.h" -#include -#include -#include - -//------------------------------------------------------------------------------ -// Helpful macro. - -# define SANITY_CHECK(in, out) \ - assert(in != NULL); \ - assert(out != NULL); \ - assert(width > 0); \ - assert(height > 0); \ - assert(stride >= width); \ - assert(row >= 0 && num_rows > 0 && row + num_rows <= height); \ - (void)height; // Silence unused warning. - -#define DO_PREDICT_LINE(SRC, DST, LENGTH, INVERSE) do { \ - const uint8_t* psrc = (uint8_t*)(SRC); \ - uint8_t* pdst = (uint8_t*)(DST); \ - const int ilength = (int)(LENGTH); \ - int temp0, temp1, temp2, temp3, temp4, temp5, temp6; \ - __asm__ volatile ( \ - ".set push \n\t" \ - ".set noreorder \n\t" \ - "srl %[temp0], %[length], 2 \n\t" \ - "beqz %[temp0], 4f \n\t" \ - " andi %[temp6], %[length], 3 \n\t" \ - ".if " #INVERSE " \n\t" \ - "1: \n\t" \ - "lbu %[temp1], -1(%[dst]) \n\t" \ - "lbu %[temp2], 0(%[src]) \n\t" \ - "lbu %[temp3], 1(%[src]) \n\t" \ - "lbu %[temp4], 2(%[src]) \n\t" \ - "lbu %[temp5], 3(%[src]) \n\t" \ - "addu %[temp1], %[temp1], %[temp2] \n\t" \ - "addu %[temp2], %[temp1], %[temp3] \n\t" \ - "addu %[temp3], %[temp2], %[temp4] \n\t" \ - "addu %[temp4], %[temp3], %[temp5] \n\t" \ - "sb %[temp1], 0(%[dst]) \n\t" \ - "sb %[temp2], 1(%[dst]) \n\t" \ - "sb %[temp3], 2(%[dst]) \n\t" \ - "sb %[temp4], 3(%[dst]) \n\t" \ - "addiu %[src], %[src], 4 \n\t" \ - "addiu %[temp0], %[temp0], -1 \n\t" \ - "bnez %[temp0], 1b \n\t" \ - " addiu %[dst], %[dst], 4 \n\t" \ - ".else \n\t" \ - "1: \n\t" \ - "ulw %[temp1], -1(%[src]) \n\t" \ - "ulw %[temp2], 0(%[src]) \n\t" \ - "addiu %[src], %[src], 4 \n\t" \ - "addiu %[temp0], %[temp0], -1 \n\t" \ - "subu.qb %[temp3], %[temp2], %[temp1] \n\t" \ - "usw %[temp3], 0(%[dst]) \n\t" \ - "bnez %[temp0], 1b \n\t" \ - " addiu %[dst], %[dst], 4 \n\t" \ - ".endif \n\t" \ - "4: \n\t" \ - "beqz %[temp6], 3f \n\t" \ - " nop \n\t" \ - "2: \n\t" \ - "lbu %[temp2], 0(%[src]) \n\t" \ - ".if " #INVERSE " \n\t" \ - "lbu %[temp1], -1(%[dst]) \n\t" \ - "addu %[temp3], %[temp1], %[temp2] \n\t" \ - ".else \n\t" \ - "lbu %[temp1], -1(%[src]) \n\t" \ - "subu %[temp3], %[temp1], %[temp2] \n\t" \ - ".endif \n\t" \ - "addiu %[src], %[src], 1 \n\t" \ - "sb %[temp3], 0(%[dst]) \n\t" \ - "addiu %[temp6], %[temp6], -1 \n\t" \ - "bnez %[temp6], 2b \n\t" \ - " addiu %[dst], %[dst], 1 \n\t" \ - "3: \n\t" \ - ".set pop \n\t" \ - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), \ - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), \ - [temp6]"=&r"(temp6), [dst]"+&r"(pdst), [src]"+&r"(psrc) \ - : [length]"r"(ilength) \ - : "memory" \ - ); \ - } while (0) - -static WEBP_INLINE void PredictLine_MIPSdspR2(const uint8_t* src, uint8_t* dst, - int length) { - DO_PREDICT_LINE(src, dst, length, 0); -} - -#define DO_PREDICT_LINE_VERTICAL(SRC, PRED, DST, LENGTH, INVERSE) do { \ - const uint8_t* psrc = (uint8_t*)(SRC); \ - const uint8_t* ppred = (uint8_t*)(PRED); \ - uint8_t* pdst = (uint8_t*)(DST); \ - const int ilength = (int)(LENGTH); \ - int temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; \ - __asm__ volatile ( \ - ".set push \n\t" \ - ".set noreorder \n\t" \ - "srl %[temp0], %[length], 0x3 \n\t" \ - "beqz %[temp0], 4f \n\t" \ - " andi %[temp7], %[length], 0x7 \n\t" \ - "1: \n\t" \ - "ulw %[temp1], 0(%[src]) \n\t" \ - "ulw %[temp2], 0(%[pred]) \n\t" \ - "ulw %[temp3], 4(%[src]) \n\t" \ - "ulw %[temp4], 4(%[pred]) \n\t" \ - "addiu %[src], %[src], 8 \n\t" \ - ".if " #INVERSE " \n\t" \ - "addu.qb %[temp5], %[temp1], %[temp2] \n\t" \ - "addu.qb %[temp6], %[temp3], %[temp4] \n\t" \ - ".else \n\t" \ - "subu.qb %[temp5], %[temp1], %[temp2] \n\t" \ - "subu.qb %[temp6], %[temp3], %[temp4] \n\t" \ - ".endif \n\t" \ - "addiu %[pred], %[pred], 8 \n\t" \ - "usw %[temp5], 0(%[dst]) \n\t" \ - "usw %[temp6], 4(%[dst]) \n\t" \ - "addiu %[temp0], %[temp0], -1 \n\t" \ - "bnez %[temp0], 1b \n\t" \ - " addiu %[dst], %[dst], 8 \n\t" \ - "4: \n\t" \ - "beqz %[temp7], 3f \n\t" \ - " nop \n\t" \ - "2: \n\t" \ - "lbu %[temp1], 0(%[src]) \n\t" \ - "lbu %[temp2], 0(%[pred]) \n\t" \ - "addiu %[src], %[src], 1 \n\t" \ - "addiu %[pred], %[pred], 1 \n\t" \ - ".if " #INVERSE " \n\t" \ - "addu %[temp3], %[temp1], %[temp2] \n\t" \ - ".else \n\t" \ - "subu %[temp3], %[temp1], %[temp2] \n\t" \ - ".endif \n\t" \ - "sb %[temp3], 0(%[dst]) \n\t" \ - "addiu %[temp7], %[temp7], -1 \n\t" \ - "bnez %[temp7], 2b \n\t" \ - " addiu %[dst], %[dst], 1 \n\t" \ - "3: \n\t" \ - ".set pop \n\t" \ - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), \ - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), \ - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), [pred]"+&r"(ppred), \ - [dst]"+&r"(pdst), [src]"+&r"(psrc) \ - : [length]"r"(ilength) \ - : "memory" \ - ); \ - } while (0) - -#define PREDICT_LINE_ONE_PASS(SRC, PRED, DST) do { \ - int temp1, temp2, temp3; \ - __asm__ volatile ( \ - "lbu %[temp1], 0(%[src]) \n\t" \ - "lbu %[temp2], 0(%[pred]) \n\t" \ - "subu %[temp3], %[temp1], %[temp2] \n\t" \ - "sb %[temp3], 0(%[dst]) \n\t" \ - : [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), [temp3]"=&r"(temp3) \ - : [pred]"r"((PRED)), [dst]"r"((DST)), [src]"r"((SRC)) \ - : "memory" \ - ); \ - } while (0) - -//------------------------------------------------------------------------------ -// Horizontal filter. - -#define FILTER_LINE_BY_LINE do { \ - while (row < last_row) { \ - PREDICT_LINE_ONE_PASS(in, preds - stride, out); \ - DO_PREDICT_LINE(in + 1, out + 1, width - 1, 0); \ - ++row; \ - preds += stride; \ - in += stride; \ - out += stride; \ - } \ - } while (0) - -static WEBP_INLINE void DoHorizontalFilter_MIPSdspR2(const uint8_t* in, - int width, int height, - int stride, - int row, int num_rows, - uint8_t* out) { - const uint8_t* preds; - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - preds = in; - - if (row == 0) { - // Leftmost pixel is the same as input for topmost scanline. - out[0] = in[0]; - PredictLine_MIPSdspR2(in + 1, out + 1, width - 1); - row = 1; - preds += stride; - in += stride; - out += stride; - } - - // Filter line-by-line. - FILTER_LINE_BY_LINE; -} -#undef FILTER_LINE_BY_LINE - -static void HorizontalFilter_MIPSdspR2(const uint8_t* data, - int width, int height, - int stride, uint8_t* filtered_data) { - DoHorizontalFilter_MIPSdspR2(data, width, height, stride, 0, height, - filtered_data); -} - -//------------------------------------------------------------------------------ -// Vertical filter. - -#define FILTER_LINE_BY_LINE do { \ - while (row < last_row) { \ - DO_PREDICT_LINE_VERTICAL(in, preds, out, width, 0); \ - ++row; \ - preds += stride; \ - in += stride; \ - out += stride; \ - } \ - } while (0) - -static WEBP_INLINE void DoVerticalFilter_MIPSdspR2(const uint8_t* in, - int width, int height, - int stride, - int row, int num_rows, - uint8_t* out) { - const uint8_t* preds; - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - preds = in; - - if (row == 0) { - // Very first top-left pixel is copied. - out[0] = in[0]; - // Rest of top scan-line is left-predicted. - PredictLine_MIPSdspR2(in + 1, out + 1, width - 1); - row = 1; - in += stride; - out += stride; - } else { - // We are starting from in-between. Make sure 'preds' points to prev row. - preds -= stride; - } - - // Filter line-by-line. - FILTER_LINE_BY_LINE; -} -#undef FILTER_LINE_BY_LINE - -static void VerticalFilter_MIPSdspR2(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoVerticalFilter_MIPSdspR2(data, width, height, stride, 0, height, - filtered_data); -} - -//------------------------------------------------------------------------------ -// Gradient filter. - -static int GradientPredictor_MIPSdspR2(uint8_t a, uint8_t b, uint8_t c) { - int temp0; - __asm__ volatile ( - "addu %[temp0], %[a], %[b] \n\t" - "subu %[temp0], %[temp0], %[c] \n\t" - "shll_s.w %[temp0], %[temp0], 23 \n\t" - "precrqu_s.qb.ph %[temp0], %[temp0], $zero \n\t" - "srl %[temp0], %[temp0], 24 \n\t" - : [temp0]"=&r"(temp0) - : [a]"r"(a),[b]"r"(b),[c]"r"(c) - ); - return temp0; -} - -#define FILTER_LINE_BY_LINE(PREDS, OPERATION) do { \ - while (row < last_row) { \ - int w; \ - PREDICT_LINE_ONE_PASS(in, PREDS - stride, out); \ - for (w = 1; w < width; ++w) { \ - const int pred = GradientPredictor_MIPSdspR2(PREDS[w - 1], \ - PREDS[w - stride], \ - PREDS[w - stride - 1]); \ - out[w] = in[w] OPERATION pred; \ - } \ - ++row; \ - in += stride; \ - out += stride; \ - } \ - } while (0) - -static void DoGradientFilter_MIPSdspR2(const uint8_t* in, - int width, int height, int stride, - int row, int num_rows, uint8_t* out) { - const uint8_t* preds; - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - preds = in; - - // left prediction for top scan-line - if (row == 0) { - out[0] = in[0]; - PredictLine_MIPSdspR2(in + 1, out + 1, width - 1); - row = 1; - preds += stride; - in += stride; - out += stride; - } - - // Filter line-by-line. - FILTER_LINE_BY_LINE(in, -); -} -#undef FILTER_LINE_BY_LINE - -static void GradientFilter_MIPSdspR2(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoGradientFilter_MIPSdspR2(data, width, height, stride, 0, height, - filtered_data); -} - -//------------------------------------------------------------------------------ - -static void HorizontalUnfilter_MIPSdspR2(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - out[0] = in[0] + (prev == NULL ? 0 : prev[0]); - DO_PREDICT_LINE(in + 1, out + 1, width - 1, 1); -} - -static void VerticalUnfilter_MIPSdspR2(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - if (prev == NULL) { - HorizontalUnfilter_MIPSdspR2(NULL, in, out, width); - } else { - DO_PREDICT_LINE_VERTICAL(in, prev, out, width, 1); - } -} - -static void GradientUnfilter_MIPSdspR2(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - if (prev == NULL) { - HorizontalUnfilter_MIPSdspR2(NULL, in, out, width); - } else { - uint8_t top = prev[0], top_left = top, left = top; - int i; - for (i = 0; i < width; ++i) { - top = prev[i]; // need to read this first, in case prev==dst - left = in[i] + GradientPredictor_MIPSdspR2(left, top, top_left); - top_left = top; - out[i] = left; - } - } -} - -#undef DO_PREDICT_LINE_VERTICAL -#undef PREDICT_LINE_ONE_PASS -#undef DO_PREDICT_LINE -#undef SANITY_CHECK - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8FiltersInitMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8FiltersInitMIPSdspR2(void) { - WebPUnfilters[WEBP_FILTER_HORIZONTAL] = HorizontalUnfilter_MIPSdspR2; - WebPUnfilters[WEBP_FILTER_VERTICAL] = VerticalUnfilter_MIPSdspR2; - WebPUnfilters[WEBP_FILTER_GRADIENT] = GradientUnfilter_MIPSdspR2; - - WebPFilters[WEBP_FILTER_HORIZONTAL] = HorizontalFilter_MIPSdspR2; - WebPFilters[WEBP_FILTER_VERTICAL] = VerticalFilter_MIPSdspR2; - WebPFilters[WEBP_FILTER_GRADIENT] = GradientFilter_MIPSdspR2; -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(VP8FiltersInitMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_msa.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_msa.c deleted file mode 100644 index 14c437d1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_msa.c +++ /dev/null @@ -1,202 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MSA variant of alpha filters -// -// Author: Prashant Patil (prashant.patil@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MSA) - -#include "src/dsp/msa_macro.h" - -#include - -static WEBP_INLINE void PredictLineInverse0(const uint8_t* src, - const uint8_t* pred, - uint8_t* dst, int length) { - v16u8 src0, pred0, dst0; - assert(length >= 0); - while (length >= 32) { - v16u8 src1, pred1, dst1; - LD_UB2(src, 16, src0, src1); - LD_UB2(pred, 16, pred0, pred1); - SUB2(src0, pred0, src1, pred1, dst0, dst1); - ST_UB2(dst0, dst1, dst, 16); - src += 32; - pred += 32; - dst += 32; - length -= 32; - } - if (length > 0) { - int i; - if (length >= 16) { - src0 = LD_UB(src); - pred0 = LD_UB(pred); - dst0 = src0 - pred0; - ST_UB(dst0, dst); - src += 16; - pred += 16; - dst += 16; - length -= 16; - } - for (i = 0; i < length; i++) { - dst[i] = src[i] - pred[i]; - } - } -} - -//------------------------------------------------------------------------------ -// Helpful macro. - -#define SANITY_CHECK(in, out) \ - assert(in != NULL); \ - assert(out != NULL); \ - assert(width > 0); \ - assert(height > 0); \ - assert(stride >= width); - -//------------------------------------------------------------------------------ -// Horrizontal filter - -static void HorizontalFilter_MSA(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - const uint8_t* preds = data; - const uint8_t* in = data; - uint8_t* out = filtered_data; - int row = 1; - SANITY_CHECK(in, out); - - // Leftmost pixel is the same as input for topmost scanline. - out[0] = in[0]; - PredictLineInverse0(in + 1, preds, out + 1, width - 1); - preds += stride; - in += stride; - out += stride; - // Filter line-by-line. - while (row < height) { - // Leftmost pixel is predicted from above. - PredictLineInverse0(in, preds - stride, out, 1); - PredictLineInverse0(in + 1, preds, out + 1, width - 1); - ++row; - preds += stride; - in += stride; - out += stride; - } -} - -//------------------------------------------------------------------------------ -// Gradient filter - -static WEBP_INLINE void PredictLineGradient(const uint8_t* pinput, - const uint8_t* ppred, - uint8_t* poutput, int stride, - int size) { - int w; - const v16i8 zero = { 0 }; - while (size >= 16) { - v16u8 pred0, dst0; - v8i16 a0, a1, b0, b1, c0, c1; - const v16u8 tmp0 = LD_UB(ppred - 1); - const v16u8 tmp1 = LD_UB(ppred - stride); - const v16u8 tmp2 = LD_UB(ppred - stride - 1); - const v16u8 src0 = LD_UB(pinput); - ILVRL_B2_SH(zero, tmp0, a0, a1); - ILVRL_B2_SH(zero, tmp1, b0, b1); - ILVRL_B2_SH(zero, tmp2, c0, c1); - ADD2(a0, b0, a1, b1, a0, a1); - SUB2(a0, c0, a1, c1, a0, a1); - CLIP_SH2_0_255(a0, a1); - pred0 = (v16u8)__msa_pckev_b((v16i8)a1, (v16i8)a0); - dst0 = src0 - pred0; - ST_UB(dst0, poutput); - ppred += 16; - pinput += 16; - poutput += 16; - size -= 16; - } - for (w = 0; w < size; ++w) { - const int pred = ppred[w - 1] + ppred[w - stride] - ppred[w - stride - 1]; - poutput[w] = pinput[w] - (pred < 0 ? 0 : pred > 255 ? 255 : pred); - } -} - - -static void GradientFilter_MSA(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - const uint8_t* in = data; - const uint8_t* preds = data; - uint8_t* out = filtered_data; - int row = 1; - SANITY_CHECK(in, out); - - // left prediction for top scan-line - out[0] = in[0]; - PredictLineInverse0(in + 1, preds, out + 1, width - 1); - preds += stride; - in += stride; - out += stride; - // Filter line-by-line. - while (row < height) { - out[0] = in[0] - preds[- stride]; - PredictLineGradient(preds + 1, in + 1, out + 1, stride, width - 1); - ++row; - preds += stride; - in += stride; - out += stride; - } -} - -//------------------------------------------------------------------------------ -// Vertical filter - -static void VerticalFilter_MSA(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - const uint8_t* in = data; - const uint8_t* preds = data; - uint8_t* out = filtered_data; - int row = 1; - SANITY_CHECK(in, out); - - // Very first top-left pixel is copied. - out[0] = in[0]; - // Rest of top scan-line is left-predicted. - PredictLineInverse0(in + 1, preds, out + 1, width - 1); - in += stride; - out += stride; - - // Filter line-by-line. - while (row < height) { - PredictLineInverse0(in, preds, out, width); - ++row; - preds += stride; - in += stride; - out += stride; - } -} - -#undef SANITY_CHECK - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8FiltersInitMSA(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8FiltersInitMSA(void) { - WebPFilters[WEBP_FILTER_HORIZONTAL] = HorizontalFilter_MSA; - WebPFilters[WEBP_FILTER_VERTICAL] = VerticalFilter_MSA; - WebPFilters[WEBP_FILTER_GRADIENT] = GradientFilter_MSA; -} - -#else // !WEBP_USE_MSA - -WEBP_DSP_INIT_STUB(VP8FiltersInitMSA) - -#endif // WEBP_USE_MSA diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_neon.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_neon.c deleted file mode 100644 index 3e6a578e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_neon.c +++ /dev/null @@ -1,329 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// NEON variant of alpha filters -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_NEON) - -#include -#include "src/dsp/neon.h" - -//------------------------------------------------------------------------------ -// Helpful macros. - -# define SANITY_CHECK(in, out) \ - assert(in != NULL); \ - assert(out != NULL); \ - assert(width > 0); \ - assert(height > 0); \ - assert(stride >= width); \ - assert(row >= 0 && num_rows > 0 && row + num_rows <= height); \ - (void)height; // Silence unused warning. - -// load eight u8 and widen to s16 -#define U8_TO_S16(A) vreinterpretq_s16_u16(vmovl_u8(A)) -#define LOAD_U8_TO_S16(A) U8_TO_S16(vld1_u8(A)) - -// shift left or right by N byte, inserting zeros -#define SHIFT_RIGHT_N_Q(A, N) vextq_u8((A), zero, (N)) -#define SHIFT_LEFT_N_Q(A, N) vextq_u8(zero, (A), (16 - (N)) % 16) - -// rotate left by N bytes -#define ROTATE_LEFT_N(A, N) vext_u8((A), (A), (N)) -// rotate right by N bytes -#define ROTATE_RIGHT_N(A, N) vext_u8((A), (A), (8 - (N)) % 8) - -static void PredictLine_NEON(const uint8_t* src, const uint8_t* pred, - uint8_t* dst, int length) { - int i; - assert(length >= 0); - for (i = 0; i + 16 <= length; i += 16) { - const uint8x16_t A = vld1q_u8(&src[i]); - const uint8x16_t B = vld1q_u8(&pred[i]); - const uint8x16_t C = vsubq_u8(A, B); - vst1q_u8(&dst[i], C); - } - for (; i < length; ++i) dst[i] = src[i] - pred[i]; -} - -// Special case for left-based prediction (when preds==dst-1 or preds==src-1). -static void PredictLineLeft_NEON(const uint8_t* src, uint8_t* dst, int length) { - PredictLine_NEON(src, src - 1, dst, length); -} - -//------------------------------------------------------------------------------ -// Horizontal filter. - -static WEBP_INLINE void DoHorizontalFilter_NEON(const uint8_t* in, - int width, int height, - int stride, - int row, int num_rows, - uint8_t* out) { - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - - if (row == 0) { - // Leftmost pixel is the same as input for topmost scanline. - out[0] = in[0]; - PredictLineLeft_NEON(in + 1, out + 1, width - 1); - row = 1; - in += stride; - out += stride; - } - - // Filter line-by-line. - while (row < last_row) { - // Leftmost pixel is predicted from above. - out[0] = in[0] - in[-stride]; - PredictLineLeft_NEON(in + 1, out + 1, width - 1); - ++row; - in += stride; - out += stride; - } -} - -static void HorizontalFilter_NEON(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoHorizontalFilter_NEON(data, width, height, stride, 0, height, - filtered_data); -} - -//------------------------------------------------------------------------------ -// Vertical filter. - -static WEBP_INLINE void DoVerticalFilter_NEON(const uint8_t* in, - int width, int height, int stride, - int row, int num_rows, - uint8_t* out) { - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - - if (row == 0) { - // Very first top-left pixel is copied. - out[0] = in[0]; - // Rest of top scan-line is left-predicted. - PredictLineLeft_NEON(in + 1, out + 1, width - 1); - row = 1; - in += stride; - out += stride; - } - - // Filter line-by-line. - while (row < last_row) { - PredictLine_NEON(in, in - stride, out, width); - ++row; - in += stride; - out += stride; - } -} - -static void VerticalFilter_NEON(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoVerticalFilter_NEON(data, width, height, stride, 0, height, - filtered_data); -} - -//------------------------------------------------------------------------------ -// Gradient filter. - -static WEBP_INLINE int GradientPredictor_C(uint8_t a, uint8_t b, uint8_t c) { - const int g = a + b - c; - return ((g & ~0xff) == 0) ? g : (g < 0) ? 0 : 255; // clip to 8bit -} - -static void GradientPredictDirect_NEON(const uint8_t* const row, - const uint8_t* const top, - uint8_t* const out, int length) { - int i; - for (i = 0; i + 8 <= length; i += 8) { - const uint8x8_t A = vld1_u8(&row[i - 1]); - const uint8x8_t B = vld1_u8(&top[i + 0]); - const int16x8_t C = vreinterpretq_s16_u16(vaddl_u8(A, B)); - const int16x8_t D = LOAD_U8_TO_S16(&top[i - 1]); - const uint8x8_t E = vqmovun_s16(vsubq_s16(C, D)); - const uint8x8_t F = vld1_u8(&row[i + 0]); - vst1_u8(&out[i], vsub_u8(F, E)); - } - for (; i < length; ++i) { - out[i] = row[i] - GradientPredictor_C(row[i - 1], top[i], top[i - 1]); - } -} - -static WEBP_INLINE void DoGradientFilter_NEON(const uint8_t* in, - int width, int height, - int stride, - int row, int num_rows, - uint8_t* out) { - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - - // left prediction for top scan-line - if (row == 0) { - out[0] = in[0]; - PredictLineLeft_NEON(in + 1, out + 1, width - 1); - row = 1; - in += stride; - out += stride; - } - - // Filter line-by-line. - while (row < last_row) { - out[0] = in[0] - in[-stride]; - GradientPredictDirect_NEON(in + 1, in + 1 - stride, out + 1, width - 1); - ++row; - in += stride; - out += stride; - } -} - -static void GradientFilter_NEON(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoGradientFilter_NEON(data, width, height, stride, 0, height, - filtered_data); -} - -#undef SANITY_CHECK - -//------------------------------------------------------------------------------ -// Inverse transforms - -static void HorizontalUnfilter_NEON(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - int i; - const uint8x16_t zero = vdupq_n_u8(0); - uint8x16_t last; - out[0] = in[0] + (prev == NULL ? 0 : prev[0]); - if (width <= 1) return; - last = vsetq_lane_u8(out[0], zero, 0); - for (i = 1; i + 16 <= width; i += 16) { - const uint8x16_t A0 = vld1q_u8(&in[i]); - const uint8x16_t A1 = vaddq_u8(A0, last); - const uint8x16_t A2 = SHIFT_LEFT_N_Q(A1, 1); - const uint8x16_t A3 = vaddq_u8(A1, A2); - const uint8x16_t A4 = SHIFT_LEFT_N_Q(A3, 2); - const uint8x16_t A5 = vaddq_u8(A3, A4); - const uint8x16_t A6 = SHIFT_LEFT_N_Q(A5, 4); - const uint8x16_t A7 = vaddq_u8(A5, A6); - const uint8x16_t A8 = SHIFT_LEFT_N_Q(A7, 8); - const uint8x16_t A9 = vaddq_u8(A7, A8); - vst1q_u8(&out[i], A9); - last = SHIFT_RIGHT_N_Q(A9, 15); - } - for (; i < width; ++i) out[i] = in[i] + out[i - 1]; -} - -static void VerticalUnfilter_NEON(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - if (prev == NULL) { - HorizontalUnfilter_NEON(NULL, in, out, width); - } else { - int i; - assert(width >= 0); - for (i = 0; i + 16 <= width; i += 16) { - const uint8x16_t A = vld1q_u8(&in[i]); - const uint8x16_t B = vld1q_u8(&prev[i]); - const uint8x16_t C = vaddq_u8(A, B); - vst1q_u8(&out[i], C); - } - for (; i < width; ++i) out[i] = in[i] + prev[i]; - } -} - -// GradientUnfilter_NEON is correct but slower than the C-version, -// at least on ARM64. For armv7, it's a wash. -// So best is to disable it for now, but keep the idea around... -#if !defined(USE_GRADIENT_UNFILTER) -#define USE_GRADIENT_UNFILTER 0 // ALTERNATE_CODE -#endif - -#if (USE_GRADIENT_UNFILTER == 1) -#define GRAD_PROCESS_LANE(L) do { \ - const uint8x8_t tmp1 = ROTATE_RIGHT_N(pred, 1); /* rotate predictor in */ \ - const int16x8_t tmp2 = vaddq_s16(BC, U8_TO_S16(tmp1)); \ - const uint8x8_t delta = vqmovun_s16(tmp2); \ - pred = vadd_u8(D, delta); \ - out = vext_u8(out, ROTATE_LEFT_N(pred, (L)), 1); \ -} while (0) - -static void GradientPredictInverse_NEON(const uint8_t* const in, - const uint8_t* const top, - uint8_t* const row, int length) { - if (length > 0) { - int i; - uint8x8_t pred = vdup_n_u8(row[-1]); // left sample - uint8x8_t out = vdup_n_u8(0); - for (i = 0; i + 8 <= length; i += 8) { - const int16x8_t B = LOAD_U8_TO_S16(&top[i + 0]); - const int16x8_t C = LOAD_U8_TO_S16(&top[i - 1]); - const int16x8_t BC = vsubq_s16(B, C); // unclipped gradient basis B - C - const uint8x8_t D = vld1_u8(&in[i]); // base input - GRAD_PROCESS_LANE(0); - GRAD_PROCESS_LANE(1); - GRAD_PROCESS_LANE(2); - GRAD_PROCESS_LANE(3); - GRAD_PROCESS_LANE(4); - GRAD_PROCESS_LANE(5); - GRAD_PROCESS_LANE(6); - GRAD_PROCESS_LANE(7); - vst1_u8(&row[i], out); - } - for (; i < length; ++i) { - row[i] = in[i] + GradientPredictor_C(row[i - 1], top[i], top[i - 1]); - } - } -} -#undef GRAD_PROCESS_LANE - -static void GradientUnfilter_NEON(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - if (prev == NULL) { - HorizontalUnfilter_NEON(NULL, in, out, width); - } else { - out[0] = in[0] + prev[0]; // predict from above - GradientPredictInverse_NEON(in + 1, prev + 1, out + 1, width - 1); - } -} - -#endif // USE_GRADIENT_UNFILTER - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8FiltersInitNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8FiltersInitNEON(void) { - WebPUnfilters[WEBP_FILTER_HORIZONTAL] = HorizontalUnfilter_NEON; - WebPUnfilters[WEBP_FILTER_VERTICAL] = VerticalUnfilter_NEON; -#if (USE_GRADIENT_UNFILTER == 1) - WebPUnfilters[WEBP_FILTER_GRADIENT] = GradientUnfilter_NEON; -#endif - - WebPFilters[WEBP_FILTER_HORIZONTAL] = HorizontalFilter_NEON; - WebPFilters[WEBP_FILTER_VERTICAL] = VerticalFilter_NEON; - WebPFilters[WEBP_FILTER_GRADIENT] = GradientFilter_NEON; -} - -#else // !WEBP_USE_NEON - -WEBP_DSP_INIT_STUB(VP8FiltersInitNEON) - -#endif // WEBP_USE_NEON diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_sse2.c deleted file mode 100644 index 4b3f2d02..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/filters_sse2.c +++ /dev/null @@ -1,335 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE2 variant of alpha filters -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE2) - -#include -#include -#include -#include - -//------------------------------------------------------------------------------ -// Helpful macro. - -# define SANITY_CHECK(in, out) \ - assert((in) != NULL); \ - assert((out) != NULL); \ - assert(width > 0); \ - assert(height > 0); \ - assert(stride >= width); \ - assert(row >= 0 && num_rows > 0 && row + num_rows <= height); \ - (void)height; // Silence unused warning. - -static void PredictLineTop_SSE2(const uint8_t* src, const uint8_t* pred, - uint8_t* dst, int length) { - int i; - const int max_pos = length & ~31; - assert(length >= 0); - for (i = 0; i < max_pos; i += 32) { - const __m128i A0 = _mm_loadu_si128((const __m128i*)&src[i + 0]); - const __m128i A1 = _mm_loadu_si128((const __m128i*)&src[i + 16]); - const __m128i B0 = _mm_loadu_si128((const __m128i*)&pred[i + 0]); - const __m128i B1 = _mm_loadu_si128((const __m128i*)&pred[i + 16]); - const __m128i C0 = _mm_sub_epi8(A0, B0); - const __m128i C1 = _mm_sub_epi8(A1, B1); - _mm_storeu_si128((__m128i*)&dst[i + 0], C0); - _mm_storeu_si128((__m128i*)&dst[i + 16], C1); - } - for (; i < length; ++i) dst[i] = src[i] - pred[i]; -} - -// Special case for left-based prediction (when preds==dst-1 or preds==src-1). -static void PredictLineLeft_SSE2(const uint8_t* src, uint8_t* dst, int length) { - int i; - const int max_pos = length & ~31; - assert(length >= 0); - for (i = 0; i < max_pos; i += 32) { - const __m128i A0 = _mm_loadu_si128((const __m128i*)(src + i + 0 )); - const __m128i B0 = _mm_loadu_si128((const __m128i*)(src + i + 0 - 1)); - const __m128i A1 = _mm_loadu_si128((const __m128i*)(src + i + 16 )); - const __m128i B1 = _mm_loadu_si128((const __m128i*)(src + i + 16 - 1)); - const __m128i C0 = _mm_sub_epi8(A0, B0); - const __m128i C1 = _mm_sub_epi8(A1, B1); - _mm_storeu_si128((__m128i*)(dst + i + 0), C0); - _mm_storeu_si128((__m128i*)(dst + i + 16), C1); - } - for (; i < length; ++i) dst[i] = src[i] - src[i - 1]; -} - -//------------------------------------------------------------------------------ -// Horizontal filter. - -static WEBP_INLINE void DoHorizontalFilter_SSE2(const uint8_t* in, - int width, int height, - int stride, - int row, int num_rows, - uint8_t* out) { - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - - if (row == 0) { - // Leftmost pixel is the same as input for topmost scanline. - out[0] = in[0]; - PredictLineLeft_SSE2(in + 1, out + 1, width - 1); - row = 1; - in += stride; - out += stride; - } - - // Filter line-by-line. - while (row < last_row) { - // Leftmost pixel is predicted from above. - out[0] = in[0] - in[-stride]; - PredictLineLeft_SSE2(in + 1, out + 1, width - 1); - ++row; - in += stride; - out += stride; - } -} - -//------------------------------------------------------------------------------ -// Vertical filter. - -static WEBP_INLINE void DoVerticalFilter_SSE2(const uint8_t* in, - int width, int height, int stride, - int row, int num_rows, - uint8_t* out) { - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - - if (row == 0) { - // Very first top-left pixel is copied. - out[0] = in[0]; - // Rest of top scan-line is left-predicted. - PredictLineLeft_SSE2(in + 1, out + 1, width - 1); - row = 1; - in += stride; - out += stride; - } - - // Filter line-by-line. - while (row < last_row) { - PredictLineTop_SSE2(in, in - stride, out, width); - ++row; - in += stride; - out += stride; - } -} - -//------------------------------------------------------------------------------ -// Gradient filter. - -static WEBP_INLINE int GradientPredictor_SSE2(uint8_t a, uint8_t b, uint8_t c) { - const int g = a + b - c; - return ((g & ~0xff) == 0) ? g : (g < 0) ? 0 : 255; // clip to 8bit -} - -static void GradientPredictDirect_SSE2(const uint8_t* const row, - const uint8_t* const top, - uint8_t* const out, int length) { - const int max_pos = length & ~7; - int i; - const __m128i zero = _mm_setzero_si128(); - for (i = 0; i < max_pos; i += 8) { - const __m128i A0 = _mm_loadl_epi64((const __m128i*)&row[i - 1]); - const __m128i B0 = _mm_loadl_epi64((const __m128i*)&top[i]); - const __m128i C0 = _mm_loadl_epi64((const __m128i*)&top[i - 1]); - const __m128i D = _mm_loadl_epi64((const __m128i*)&row[i]); - const __m128i A1 = _mm_unpacklo_epi8(A0, zero); - const __m128i B1 = _mm_unpacklo_epi8(B0, zero); - const __m128i C1 = _mm_unpacklo_epi8(C0, zero); - const __m128i E = _mm_add_epi16(A1, B1); - const __m128i F = _mm_sub_epi16(E, C1); - const __m128i G = _mm_packus_epi16(F, zero); - const __m128i H = _mm_sub_epi8(D, G); - _mm_storel_epi64((__m128i*)(out + i), H); - } - for (; i < length; ++i) { - const int delta = GradientPredictor_SSE2(row[i - 1], top[i], top[i - 1]); - out[i] = (uint8_t)(row[i] - delta); - } -} - -static WEBP_INLINE void DoGradientFilter_SSE2(const uint8_t* in, - int width, int height, int stride, - int row, int num_rows, - uint8_t* out) { - const size_t start_offset = row * stride; - const int last_row = row + num_rows; - SANITY_CHECK(in, out); - in += start_offset; - out += start_offset; - - // left prediction for top scan-line - if (row == 0) { - out[0] = in[0]; - PredictLineLeft_SSE2(in + 1, out + 1, width - 1); - row = 1; - in += stride; - out += stride; - } - - // Filter line-by-line. - while (row < last_row) { - out[0] = (uint8_t)(in[0] - in[-stride]); - GradientPredictDirect_SSE2(in + 1, in + 1 - stride, out + 1, width - 1); - ++row; - in += stride; - out += stride; - } -} - -#undef SANITY_CHECK - -//------------------------------------------------------------------------------ - -static void HorizontalFilter_SSE2(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoHorizontalFilter_SSE2(data, width, height, stride, 0, height, - filtered_data); -} - -static void VerticalFilter_SSE2(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoVerticalFilter_SSE2(data, width, height, stride, 0, height, filtered_data); -} - -static void GradientFilter_SSE2(const uint8_t* data, int width, int height, - int stride, uint8_t* filtered_data) { - DoGradientFilter_SSE2(data, width, height, stride, 0, height, filtered_data); -} - -//------------------------------------------------------------------------------ -// Inverse transforms - -static void HorizontalUnfilter_SSE2(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - int i; - __m128i last; - out[0] = (uint8_t)(in[0] + (prev == NULL ? 0 : prev[0])); - if (width <= 1) return; - last = _mm_set_epi32(0, 0, 0, out[0]); - for (i = 1; i + 8 <= width; i += 8) { - const __m128i A0 = _mm_loadl_epi64((const __m128i*)(in + i)); - const __m128i A1 = _mm_add_epi8(A0, last); - const __m128i A2 = _mm_slli_si128(A1, 1); - const __m128i A3 = _mm_add_epi8(A1, A2); - const __m128i A4 = _mm_slli_si128(A3, 2); - const __m128i A5 = _mm_add_epi8(A3, A4); - const __m128i A6 = _mm_slli_si128(A5, 4); - const __m128i A7 = _mm_add_epi8(A5, A6); - _mm_storel_epi64((__m128i*)(out + i), A7); - last = _mm_srli_epi64(A7, 56); - } - for (; i < width; ++i) out[i] = (uint8_t)(in[i] + out[i - 1]); -} - -static void VerticalUnfilter_SSE2(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - if (prev == NULL) { - HorizontalUnfilter_SSE2(NULL, in, out, width); - } else { - int i; - const int max_pos = width & ~31; - assert(width >= 0); - for (i = 0; i < max_pos; i += 32) { - const __m128i A0 = _mm_loadu_si128((const __m128i*)&in[i + 0]); - const __m128i A1 = _mm_loadu_si128((const __m128i*)&in[i + 16]); - const __m128i B0 = _mm_loadu_si128((const __m128i*)&prev[i + 0]); - const __m128i B1 = _mm_loadu_si128((const __m128i*)&prev[i + 16]); - const __m128i C0 = _mm_add_epi8(A0, B0); - const __m128i C1 = _mm_add_epi8(A1, B1); - _mm_storeu_si128((__m128i*)&out[i + 0], C0); - _mm_storeu_si128((__m128i*)&out[i + 16], C1); - } - for (; i < width; ++i) out[i] = (uint8_t)(in[i] + prev[i]); - } -} - -static void GradientPredictInverse_SSE2(const uint8_t* const in, - const uint8_t* const top, - uint8_t* const row, int length) { - if (length > 0) { - int i; - const int max_pos = length & ~7; - const __m128i zero = _mm_setzero_si128(); - __m128i A = _mm_set_epi32(0, 0, 0, row[-1]); // left sample - for (i = 0; i < max_pos; i += 8) { - const __m128i tmp0 = _mm_loadl_epi64((const __m128i*)&top[i]); - const __m128i tmp1 = _mm_loadl_epi64((const __m128i*)&top[i - 1]); - const __m128i B = _mm_unpacklo_epi8(tmp0, zero); - const __m128i C = _mm_unpacklo_epi8(tmp1, zero); - const __m128i D = _mm_loadl_epi64((const __m128i*)&in[i]); // base input - const __m128i E = _mm_sub_epi16(B, C); // unclipped gradient basis B - C - __m128i out = zero; // accumulator for output - __m128i mask_hi = _mm_set_epi32(0, 0, 0, 0xff); - int k = 8; - while (1) { - const __m128i tmp3 = _mm_add_epi16(A, E); // delta = A + B - C - const __m128i tmp4 = _mm_packus_epi16(tmp3, zero); // saturate delta - const __m128i tmp5 = _mm_add_epi8(tmp4, D); // add to in[] - A = _mm_and_si128(tmp5, mask_hi); // 1-complement clip - out = _mm_or_si128(out, A); // accumulate output - if (--k == 0) break; - A = _mm_slli_si128(A, 1); // rotate left sample - mask_hi = _mm_slli_si128(mask_hi, 1); // rotate mask - A = _mm_unpacklo_epi8(A, zero); // convert 8b->16b - } - A = _mm_srli_si128(A, 7); // prepare left sample for next iteration - _mm_storel_epi64((__m128i*)&row[i], out); - } - for (; i < length; ++i) { - const int delta = GradientPredictor_SSE2(row[i - 1], top[i], top[i - 1]); - row[i] = (uint8_t)(in[i] + delta); - } - } -} - -static void GradientUnfilter_SSE2(const uint8_t* prev, const uint8_t* in, - uint8_t* out, int width) { - if (prev == NULL) { - HorizontalUnfilter_SSE2(NULL, in, out, width); - } else { - out[0] = (uint8_t)(in[0] + prev[0]); // predict from above - GradientPredictInverse_SSE2(in + 1, prev + 1, out + 1, width - 1); - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8FiltersInitSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8FiltersInitSSE2(void) { - WebPUnfilters[WEBP_FILTER_HORIZONTAL] = HorizontalUnfilter_SSE2; - WebPUnfilters[WEBP_FILTER_VERTICAL] = VerticalUnfilter_SSE2; - WebPUnfilters[WEBP_FILTER_GRADIENT] = GradientUnfilter_SSE2; - - WebPFilters[WEBP_FILTER_HORIZONTAL] = HorizontalFilter_SSE2; - WebPFilters[WEBP_FILTER_VERTICAL] = VerticalFilter_SSE2; - WebPFilters[WEBP_FILTER_GRADIENT] = GradientFilter_SSE2; -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(VP8FiltersInitSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless.c deleted file mode 100644 index aad5f43e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless.c +++ /dev/null @@ -1,662 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Image transforms and color space conversion methods for lossless decoder. -// -// Authors: Vikas Arora (vikaas.arora@gmail.com) -// Jyrki Alakuijala (jyrki@google.com) -// Urvang Joshi (urvang@google.com) - -#include "src/dsp/dsp.h" - -#include -#include -#include -#include "src/dec/vp8li_dec.h" -#include "src/utils/endian_inl_utils.h" -#include "src/dsp/lossless.h" -#include "src/dsp/lossless_common.h" - -//------------------------------------------------------------------------------ -// Image transforms. - -static WEBP_INLINE uint32_t Average2(uint32_t a0, uint32_t a1) { - return (((a0 ^ a1) & 0xfefefefeu) >> 1) + (a0 & a1); -} - -static WEBP_INLINE uint32_t Average3(uint32_t a0, uint32_t a1, uint32_t a2) { - return Average2(Average2(a0, a2), a1); -} - -static WEBP_INLINE uint32_t Average4(uint32_t a0, uint32_t a1, - uint32_t a2, uint32_t a3) { - return Average2(Average2(a0, a1), Average2(a2, a3)); -} - -static WEBP_INLINE uint32_t Clip255(uint32_t a) { - if (a < 256) { - return a; - } - // return 0, when a is a negative integer. - // return 255, when a is positive. - return ~a >> 24; -} - -static WEBP_INLINE int AddSubtractComponentFull(int a, int b, int c) { - return Clip255(a + b - c); -} - -static WEBP_INLINE uint32_t ClampedAddSubtractFull(uint32_t c0, uint32_t c1, - uint32_t c2) { - const int a = AddSubtractComponentFull(c0 >> 24, c1 >> 24, c2 >> 24); - const int r = AddSubtractComponentFull((c0 >> 16) & 0xff, - (c1 >> 16) & 0xff, - (c2 >> 16) & 0xff); - const int g = AddSubtractComponentFull((c0 >> 8) & 0xff, - (c1 >> 8) & 0xff, - (c2 >> 8) & 0xff); - const int b = AddSubtractComponentFull(c0 & 0xff, c1 & 0xff, c2 & 0xff); - return ((uint32_t)a << 24) | (r << 16) | (g << 8) | b; -} - -static WEBP_INLINE int AddSubtractComponentHalf(int a, int b) { - return Clip255(a + (a - b) / 2); -} - -static WEBP_INLINE uint32_t ClampedAddSubtractHalf(uint32_t c0, uint32_t c1, - uint32_t c2) { - const uint32_t ave = Average2(c0, c1); - const int a = AddSubtractComponentHalf(ave >> 24, c2 >> 24); - const int r = AddSubtractComponentHalf((ave >> 16) & 0xff, (c2 >> 16) & 0xff); - const int g = AddSubtractComponentHalf((ave >> 8) & 0xff, (c2 >> 8) & 0xff); - const int b = AddSubtractComponentHalf((ave >> 0) & 0xff, (c2 >> 0) & 0xff); - return ((uint32_t)a << 24) | (r << 16) | (g << 8) | b; -} - -// gcc <= 4.9 on ARM generates incorrect code in Select() when Sub3() is -// inlined. -#if defined(__arm__) && defined(__GNUC__) && LOCAL_GCC_VERSION <= 0x409 -# define LOCAL_INLINE __attribute__ ((noinline)) -#else -# define LOCAL_INLINE WEBP_INLINE -#endif - -static LOCAL_INLINE int Sub3(int a, int b, int c) { - const int pb = b - c; - const int pa = a - c; - return abs(pb) - abs(pa); -} - -#undef LOCAL_INLINE - -static WEBP_INLINE uint32_t Select(uint32_t a, uint32_t b, uint32_t c) { - const int pa_minus_pb = - Sub3((a >> 24) , (b >> 24) , (c >> 24) ) + - Sub3((a >> 16) & 0xff, (b >> 16) & 0xff, (c >> 16) & 0xff) + - Sub3((a >> 8) & 0xff, (b >> 8) & 0xff, (c >> 8) & 0xff) + - Sub3((a ) & 0xff, (b ) & 0xff, (c ) & 0xff); - return (pa_minus_pb <= 0) ? a : b; -} - -//------------------------------------------------------------------------------ -// Predictors - -static uint32_t Predictor0_C(uint32_t left, const uint32_t* const top) { - (void)top; - (void)left; - return ARGB_BLACK; -} -static uint32_t Predictor1_C(uint32_t left, const uint32_t* const top) { - (void)top; - return left; -} -static uint32_t Predictor2_C(uint32_t left, const uint32_t* const top) { - (void)left; - return top[0]; -} -static uint32_t Predictor3_C(uint32_t left, const uint32_t* const top) { - (void)left; - return top[1]; -} -static uint32_t Predictor4_C(uint32_t left, const uint32_t* const top) { - (void)left; - return top[-1]; -} -static uint32_t Predictor5_C(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average3(left, top[0], top[1]); - return pred; -} -static uint32_t Predictor6_C(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2(left, top[-1]); - return pred; -} -static uint32_t Predictor7_C(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2(left, top[0]); - return pred; -} -static uint32_t Predictor8_C(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2(top[-1], top[0]); - (void)left; - return pred; -} -static uint32_t Predictor9_C(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2(top[0], top[1]); - (void)left; - return pred; -} -static uint32_t Predictor10_C(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average4(left, top[-1], top[0], top[1]); - return pred; -} -static uint32_t Predictor11_C(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Select(top[0], left, top[-1]); - return pred; -} -static uint32_t Predictor12_C(uint32_t left, const uint32_t* const top) { - const uint32_t pred = ClampedAddSubtractFull(left, top[0], top[-1]); - return pred; -} -static uint32_t Predictor13_C(uint32_t left, const uint32_t* const top) { - const uint32_t pred = ClampedAddSubtractHalf(left, top[0], top[-1]); - return pred; -} - -static void PredictorAdd0_C(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int x; - (void)upper; - for (x = 0; x < num_pixels; ++x) out[x] = VP8LAddPixels(in[x], ARGB_BLACK); -} -static void PredictorAdd1_C(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - uint32_t left = out[-1]; - (void)upper; - for (i = 0; i < num_pixels; ++i) { - out[i] = left = VP8LAddPixels(in[i], left); - } -} -GENERATE_PREDICTOR_ADD(Predictor2_C, PredictorAdd2_C) -GENERATE_PREDICTOR_ADD(Predictor3_C, PredictorAdd3_C) -GENERATE_PREDICTOR_ADD(Predictor4_C, PredictorAdd4_C) -GENERATE_PREDICTOR_ADD(Predictor5_C, PredictorAdd5_C) -GENERATE_PREDICTOR_ADD(Predictor6_C, PredictorAdd6_C) -GENERATE_PREDICTOR_ADD(Predictor7_C, PredictorAdd7_C) -GENERATE_PREDICTOR_ADD(Predictor8_C, PredictorAdd8_C) -GENERATE_PREDICTOR_ADD(Predictor9_C, PredictorAdd9_C) -GENERATE_PREDICTOR_ADD(Predictor10_C, PredictorAdd10_C) -GENERATE_PREDICTOR_ADD(Predictor11_C, PredictorAdd11_C) -GENERATE_PREDICTOR_ADD(Predictor12_C, PredictorAdd12_C) -GENERATE_PREDICTOR_ADD(Predictor13_C, PredictorAdd13_C) - -//------------------------------------------------------------------------------ - -// Inverse prediction. -static void PredictorInverseTransform_C(const VP8LTransform* const transform, - int y_start, int y_end, - const uint32_t* in, uint32_t* out) { - const int width = transform->xsize_; - if (y_start == 0) { // First Row follows the L (mode=1) mode. - PredictorAdd0_C(in, NULL, 1, out); - PredictorAdd1_C(in + 1, NULL, width - 1, out + 1); - in += width; - out += width; - ++y_start; - } - - { - int y = y_start; - const int tile_width = 1 << transform->bits_; - const int mask = tile_width - 1; - const int tiles_per_row = VP8LSubSampleSize(width, transform->bits_); - const uint32_t* pred_mode_base = - transform->data_ + (y >> transform->bits_) * tiles_per_row; - - while (y < y_end) { - const uint32_t* pred_mode_src = pred_mode_base; - int x = 1; - // First pixel follows the T (mode=2) mode. - PredictorAdd2_C(in, out - width, 1, out); - // .. the rest: - while (x < width) { - const VP8LPredictorAddSubFunc pred_func = - VP8LPredictorsAdd[((*pred_mode_src++) >> 8) & 0xf]; - int x_end = (x & ~mask) + tile_width; - if (x_end > width) x_end = width; - pred_func(in + x, out + x - width, x_end - x, out + x); - x = x_end; - } - in += width; - out += width; - ++y; - if ((y & mask) == 0) { // Use the same mask, since tiles are squares. - pred_mode_base += tiles_per_row; - } - } - } -} - -// Add green to blue and red channels (i.e. perform the inverse transform of -// 'subtract green'). -void VP8LAddGreenToBlueAndRed_C(const uint32_t* src, int num_pixels, - uint32_t* dst) { - int i; - for (i = 0; i < num_pixels; ++i) { - const uint32_t argb = src[i]; - const uint32_t green = ((argb >> 8) & 0xff); - uint32_t red_blue = (argb & 0x00ff00ffu); - red_blue += (green << 16) | green; - red_blue &= 0x00ff00ffu; - dst[i] = (argb & 0xff00ff00u) | red_blue; - } -} - -static WEBP_INLINE int ColorTransformDelta(int8_t color_pred, - int8_t color) { - return ((int)color_pred * color) >> 5; -} - -static WEBP_INLINE void ColorCodeToMultipliers(uint32_t color_code, - VP8LMultipliers* const m) { - m->green_to_red_ = (color_code >> 0) & 0xff; - m->green_to_blue_ = (color_code >> 8) & 0xff; - m->red_to_blue_ = (color_code >> 16) & 0xff; -} - -void VP8LTransformColorInverse_C(const VP8LMultipliers* const m, - const uint32_t* src, int num_pixels, - uint32_t* dst) { - int i; - for (i = 0; i < num_pixels; ++i) { - const uint32_t argb = src[i]; - const int8_t green = (int8_t)(argb >> 8); - const uint32_t red = argb >> 16; - int new_red = red & 0xff; - int new_blue = argb & 0xff; - new_red += ColorTransformDelta(m->green_to_red_, green); - new_red &= 0xff; - new_blue += ColorTransformDelta(m->green_to_blue_, green); - new_blue += ColorTransformDelta(m->red_to_blue_, (int8_t)new_red); - new_blue &= 0xff; - dst[i] = (argb & 0xff00ff00u) | (new_red << 16) | (new_blue); - } -} - -// Color space inverse transform. -static void ColorSpaceInverseTransform_C(const VP8LTransform* const transform, - int y_start, int y_end, - const uint32_t* src, uint32_t* dst) { - const int width = transform->xsize_; - const int tile_width = 1 << transform->bits_; - const int mask = tile_width - 1; - const int safe_width = width & ~mask; - const int remaining_width = width - safe_width; - const int tiles_per_row = VP8LSubSampleSize(width, transform->bits_); - int y = y_start; - const uint32_t* pred_row = - transform->data_ + (y >> transform->bits_) * tiles_per_row; - - while (y < y_end) { - const uint32_t* pred = pred_row; - VP8LMultipliers m = { 0, 0, 0 }; - const uint32_t* const src_safe_end = src + safe_width; - const uint32_t* const src_end = src + width; - while (src < src_safe_end) { - ColorCodeToMultipliers(*pred++, &m); - VP8LTransformColorInverse(&m, src, tile_width, dst); - src += tile_width; - dst += tile_width; - } - if (src < src_end) { // Left-overs using C-version. - ColorCodeToMultipliers(*pred++, &m); - VP8LTransformColorInverse(&m, src, remaining_width, dst); - src += remaining_width; - dst += remaining_width; - } - ++y; - if ((y & mask) == 0) pred_row += tiles_per_row; - } -} - -// Separate out pixels packed together using pixel-bundling. -// We define two methods for ARGB data (uint32_t) and alpha-only data (uint8_t). -#define COLOR_INDEX_INVERSE(FUNC_NAME, F_NAME, STATIC_DECL, TYPE, BIT_SUFFIX, \ - GET_INDEX, GET_VALUE) \ -static void F_NAME(const TYPE* src, const uint32_t* const color_map, \ - TYPE* dst, int y_start, int y_end, int width) { \ - int y; \ - for (y = y_start; y < y_end; ++y) { \ - int x; \ - for (x = 0; x < width; ++x) { \ - *dst++ = GET_VALUE(color_map[GET_INDEX(*src++)]); \ - } \ - } \ -} \ -STATIC_DECL void FUNC_NAME(const VP8LTransform* const transform, \ - int y_start, int y_end, const TYPE* src, \ - TYPE* dst) { \ - int y; \ - const int bits_per_pixel = 8 >> transform->bits_; \ - const int width = transform->xsize_; \ - const uint32_t* const color_map = transform->data_; \ - if (bits_per_pixel < 8) { \ - const int pixels_per_byte = 1 << transform->bits_; \ - const int count_mask = pixels_per_byte - 1; \ - const uint32_t bit_mask = (1 << bits_per_pixel) - 1; \ - for (y = y_start; y < y_end; ++y) { \ - uint32_t packed_pixels = 0; \ - int x; \ - for (x = 0; x < width; ++x) { \ - /* We need to load fresh 'packed_pixels' once every */ \ - /* 'pixels_per_byte' increments of x. Fortunately, pixels_per_byte */ \ - /* is a power of 2, so can just use a mask for that, instead of */ \ - /* decrementing a counter. */ \ - if ((x & count_mask) == 0) packed_pixels = GET_INDEX(*src++); \ - *dst++ = GET_VALUE(color_map[packed_pixels & bit_mask]); \ - packed_pixels >>= bits_per_pixel; \ - } \ - } \ - } else { \ - VP8LMapColor##BIT_SUFFIX(src, color_map, dst, y_start, y_end, width); \ - } \ -} - -COLOR_INDEX_INVERSE(ColorIndexInverseTransform_C, MapARGB_C, static, - uint32_t, 32b, VP8GetARGBIndex, VP8GetARGBValue) -COLOR_INDEX_INVERSE(VP8LColorIndexInverseTransformAlpha, MapAlpha_C, , - uint8_t, 8b, VP8GetAlphaIndex, VP8GetAlphaValue) - -#undef COLOR_INDEX_INVERSE - -void VP8LInverseTransform(const VP8LTransform* const transform, - int row_start, int row_end, - const uint32_t* const in, uint32_t* const out) { - const int width = transform->xsize_; - assert(row_start < row_end); - assert(row_end <= transform->ysize_); - switch (transform->type_) { - case SUBTRACT_GREEN: - VP8LAddGreenToBlueAndRed(in, (row_end - row_start) * width, out); - break; - case PREDICTOR_TRANSFORM: - PredictorInverseTransform_C(transform, row_start, row_end, in, out); - if (row_end != transform->ysize_) { - // The last predicted row in this iteration will be the top-pred row - // for the first row in next iteration. - memcpy(out - width, out + (row_end - row_start - 1) * width, - width * sizeof(*out)); - } - break; - case CROSS_COLOR_TRANSFORM: - ColorSpaceInverseTransform_C(transform, row_start, row_end, in, out); - break; - case COLOR_INDEXING_TRANSFORM: - if (in == out && transform->bits_ > 0) { - // Move packed pixels to the end of unpacked region, so that unpacking - // can occur seamlessly. - // Also, note that this is the only transform that applies on - // the effective width of VP8LSubSampleSize(xsize_, bits_). All other - // transforms work on effective width of xsize_. - const int out_stride = (row_end - row_start) * width; - const int in_stride = (row_end - row_start) * - VP8LSubSampleSize(transform->xsize_, transform->bits_); - uint32_t* const src = out + out_stride - in_stride; - memmove(src, out, in_stride * sizeof(*src)); - ColorIndexInverseTransform_C(transform, row_start, row_end, src, out); - } else { - ColorIndexInverseTransform_C(transform, row_start, row_end, in, out); - } - break; - } -} - -//------------------------------------------------------------------------------ -// Color space conversion. - -static int is_big_endian(void) { - static const union { - uint16_t w; - uint8_t b[2]; - } tmp = { 1 }; - return (tmp.b[0] != 1); -} - -void VP8LConvertBGRAToRGB_C(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const src_end = src + num_pixels; - while (src < src_end) { - const uint32_t argb = *src++; - *dst++ = (argb >> 16) & 0xff; - *dst++ = (argb >> 8) & 0xff; - *dst++ = (argb >> 0) & 0xff; - } -} - -void VP8LConvertBGRAToRGBA_C(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const src_end = src + num_pixels; - while (src < src_end) { - const uint32_t argb = *src++; - *dst++ = (argb >> 16) & 0xff; - *dst++ = (argb >> 8) & 0xff; - *dst++ = (argb >> 0) & 0xff; - *dst++ = (argb >> 24) & 0xff; - } -} - -void VP8LConvertBGRAToRGBA4444_C(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const src_end = src + num_pixels; - while (src < src_end) { - const uint32_t argb = *src++; - const uint8_t rg = ((argb >> 16) & 0xf0) | ((argb >> 12) & 0xf); - const uint8_t ba = ((argb >> 0) & 0xf0) | ((argb >> 28) & 0xf); -#if (WEBP_SWAP_16BIT_CSP == 1) - *dst++ = ba; - *dst++ = rg; -#else - *dst++ = rg; - *dst++ = ba; -#endif - } -} - -void VP8LConvertBGRAToRGB565_C(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const src_end = src + num_pixels; - while (src < src_end) { - const uint32_t argb = *src++; - const uint8_t rg = ((argb >> 16) & 0xf8) | ((argb >> 13) & 0x7); - const uint8_t gb = ((argb >> 5) & 0xe0) | ((argb >> 3) & 0x1f); -#if (WEBP_SWAP_16BIT_CSP == 1) - *dst++ = gb; - *dst++ = rg; -#else - *dst++ = rg; - *dst++ = gb; -#endif - } -} - -void VP8LConvertBGRAToBGR_C(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const src_end = src + num_pixels; - while (src < src_end) { - const uint32_t argb = *src++; - *dst++ = (argb >> 0) & 0xff; - *dst++ = (argb >> 8) & 0xff; - *dst++ = (argb >> 16) & 0xff; - } -} - -static void CopyOrSwap(const uint32_t* src, int num_pixels, uint8_t* dst, - int swap_on_big_endian) { - if (is_big_endian() == swap_on_big_endian) { - const uint32_t* const src_end = src + num_pixels; - while (src < src_end) { - const uint32_t argb = *src++; - WebPUint32ToMem(dst, BSwap32(argb)); - dst += sizeof(argb); - } - } else { - memcpy(dst, src, num_pixels * sizeof(*src)); - } -} - -void VP8LConvertFromBGRA(const uint32_t* const in_data, int num_pixels, - WEBP_CSP_MODE out_colorspace, uint8_t* const rgba) { - switch (out_colorspace) { - case MODE_RGB: - VP8LConvertBGRAToRGB(in_data, num_pixels, rgba); - break; - case MODE_RGBA: - VP8LConvertBGRAToRGBA(in_data, num_pixels, rgba); - break; - case MODE_rgbA: - VP8LConvertBGRAToRGBA(in_data, num_pixels, rgba); - WebPApplyAlphaMultiply(rgba, 0, num_pixels, 1, 0); - break; - case MODE_BGR: - VP8LConvertBGRAToBGR(in_data, num_pixels, rgba); - break; - case MODE_BGRA: - CopyOrSwap(in_data, num_pixels, rgba, 1); - break; - case MODE_bgrA: - CopyOrSwap(in_data, num_pixels, rgba, 1); - WebPApplyAlphaMultiply(rgba, 0, num_pixels, 1, 0); - break; - case MODE_ARGB: - CopyOrSwap(in_data, num_pixels, rgba, 0); - break; - case MODE_Argb: - CopyOrSwap(in_data, num_pixels, rgba, 0); - WebPApplyAlphaMultiply(rgba, 1, num_pixels, 1, 0); - break; - case MODE_RGBA_4444: - VP8LConvertBGRAToRGBA4444(in_data, num_pixels, rgba); - break; - case MODE_rgbA_4444: - VP8LConvertBGRAToRGBA4444(in_data, num_pixels, rgba); - WebPApplyAlphaMultiply4444(rgba, num_pixels, 1, 0); - break; - case MODE_RGB_565: - VP8LConvertBGRAToRGB565(in_data, num_pixels, rgba); - break; - default: - assert(0); // Code flow should not reach here. - } -} - -//------------------------------------------------------------------------------ - -VP8LProcessDecBlueAndRedFunc VP8LAddGreenToBlueAndRed; -VP8LPredictorAddSubFunc VP8LPredictorsAdd[16]; -VP8LPredictorFunc VP8LPredictors[16]; - -// exposed plain-C implementations -VP8LPredictorAddSubFunc VP8LPredictorsAdd_C[16]; -VP8LPredictorFunc VP8LPredictors_C[16]; - -VP8LTransformColorInverseFunc VP8LTransformColorInverse; - -VP8LConvertFunc VP8LConvertBGRAToRGB; -VP8LConvertFunc VP8LConvertBGRAToRGBA; -VP8LConvertFunc VP8LConvertBGRAToRGBA4444; -VP8LConvertFunc VP8LConvertBGRAToRGB565; -VP8LConvertFunc VP8LConvertBGRAToBGR; - -VP8LMapARGBFunc VP8LMapColor32b; -VP8LMapAlphaFunc VP8LMapColor8b; - -extern void VP8LDspInitSSE2(void); -extern void VP8LDspInitNEON(void); -extern void VP8LDspInitMIPSdspR2(void); -extern void VP8LDspInitMSA(void); - -#define COPY_PREDICTOR_ARRAY(IN, OUT) do { \ - (OUT)[0] = IN##0_C; \ - (OUT)[1] = IN##1_C; \ - (OUT)[2] = IN##2_C; \ - (OUT)[3] = IN##3_C; \ - (OUT)[4] = IN##4_C; \ - (OUT)[5] = IN##5_C; \ - (OUT)[6] = IN##6_C; \ - (OUT)[7] = IN##7_C; \ - (OUT)[8] = IN##8_C; \ - (OUT)[9] = IN##9_C; \ - (OUT)[10] = IN##10_C; \ - (OUT)[11] = IN##11_C; \ - (OUT)[12] = IN##12_C; \ - (OUT)[13] = IN##13_C; \ - (OUT)[14] = IN##0_C; /* <- padding security sentinels*/ \ - (OUT)[15] = IN##0_C; \ -} while (0); - -WEBP_DSP_INIT_FUNC(VP8LDspInit) { - COPY_PREDICTOR_ARRAY(Predictor, VP8LPredictors) - COPY_PREDICTOR_ARRAY(Predictor, VP8LPredictors_C) - COPY_PREDICTOR_ARRAY(PredictorAdd, VP8LPredictorsAdd) - COPY_PREDICTOR_ARRAY(PredictorAdd, VP8LPredictorsAdd_C) - -#if !WEBP_NEON_OMIT_C_CODE - VP8LAddGreenToBlueAndRed = VP8LAddGreenToBlueAndRed_C; - - VP8LTransformColorInverse = VP8LTransformColorInverse_C; - - VP8LConvertBGRAToRGBA = VP8LConvertBGRAToRGBA_C; - VP8LConvertBGRAToRGB = VP8LConvertBGRAToRGB_C; - VP8LConvertBGRAToBGR = VP8LConvertBGRAToBGR_C; -#endif - - VP8LConvertBGRAToRGBA4444 = VP8LConvertBGRAToRGBA4444_C; - VP8LConvertBGRAToRGB565 = VP8LConvertBGRAToRGB565_C; - - VP8LMapColor32b = MapARGB_C; - VP8LMapColor8b = MapAlpha_C; - - // If defined, use CPUInfo() to overwrite some pointers with faster versions. - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - VP8LDspInitSSE2(); - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - VP8LDspInitMIPSdspR2(); - } -#endif -#if defined(WEBP_USE_MSA) - if (VP8GetCPUInfo(kMSA)) { - VP8LDspInitMSA(); - } -#endif - } - -#if defined(WEBP_USE_NEON) - if (WEBP_NEON_OMIT_C_CODE || - (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { - VP8LDspInitNEON(); - } -#endif - - assert(VP8LAddGreenToBlueAndRed != NULL); - assert(VP8LTransformColorInverse != NULL); - assert(VP8LConvertBGRAToRGBA != NULL); - assert(VP8LConvertBGRAToRGB != NULL); - assert(VP8LConvertBGRAToBGR != NULL); - assert(VP8LConvertBGRAToRGBA4444 != NULL); - assert(VP8LConvertBGRAToRGB565 != NULL); - assert(VP8LMapColor32b != NULL); - assert(VP8LMapColor8b != NULL); -} -#undef COPY_PREDICTOR_ARRAY - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless.h deleted file mode 100644 index f709cc86..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless.h +++ /dev/null @@ -1,229 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Image transforms and color space conversion methods for lossless decoder. -// -// Authors: Vikas Arora (vikaas.arora@gmail.com) -// Jyrki Alakuijala (jyrki@google.com) - -#ifndef WEBP_DSP_LOSSLESS_H_ -#define WEBP_DSP_LOSSLESS_H_ - -#include "src/webp/types.h" -#include "src/webp/decode.h" - -#include "src/enc/histogram_enc.h" -#include "src/utils/utils.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// Decoding - -typedef uint32_t (*VP8LPredictorFunc)(uint32_t left, const uint32_t* const top); -extern VP8LPredictorFunc VP8LPredictors[16]; -extern VP8LPredictorFunc VP8LPredictors_C[16]; -// These Add/Sub function expects upper[-1] and out[-1] to be readable. -typedef void (*VP8LPredictorAddSubFunc)(const uint32_t* in, - const uint32_t* upper, int num_pixels, - uint32_t* out); -extern VP8LPredictorAddSubFunc VP8LPredictorsAdd[16]; -extern VP8LPredictorAddSubFunc VP8LPredictorsAdd_C[16]; - -typedef void (*VP8LProcessDecBlueAndRedFunc)(const uint32_t* src, - int num_pixels, uint32_t* dst); -extern VP8LProcessDecBlueAndRedFunc VP8LAddGreenToBlueAndRed; - -typedef struct { - // Note: the members are uint8_t, so that any negative values are - // automatically converted to "mod 256" values. - uint8_t green_to_red_; - uint8_t green_to_blue_; - uint8_t red_to_blue_; -} VP8LMultipliers; -typedef void (*VP8LTransformColorInverseFunc)(const VP8LMultipliers* const m, - const uint32_t* src, - int num_pixels, uint32_t* dst); -extern VP8LTransformColorInverseFunc VP8LTransformColorInverse; - -struct VP8LTransform; // Defined in dec/vp8li.h. - -// Performs inverse transform of data given transform information, start and end -// rows. Transform will be applied to rows [row_start, row_end[. -// The *in and *out pointers refer to source and destination data respectively -// corresponding to the intermediate row (row_start). -void VP8LInverseTransform(const struct VP8LTransform* const transform, - int row_start, int row_end, - const uint32_t* const in, uint32_t* const out); - -// Color space conversion. -typedef void (*VP8LConvertFunc)(const uint32_t* src, int num_pixels, - uint8_t* dst); -extern VP8LConvertFunc VP8LConvertBGRAToRGB; -extern VP8LConvertFunc VP8LConvertBGRAToRGBA; -extern VP8LConvertFunc VP8LConvertBGRAToRGBA4444; -extern VP8LConvertFunc VP8LConvertBGRAToRGB565; -extern VP8LConvertFunc VP8LConvertBGRAToBGR; - -// Converts from BGRA to other color spaces. -void VP8LConvertFromBGRA(const uint32_t* const in_data, int num_pixels, - WEBP_CSP_MODE out_colorspace, uint8_t* const rgba); - -typedef void (*VP8LMapARGBFunc)(const uint32_t* src, - const uint32_t* const color_map, - uint32_t* dst, int y_start, - int y_end, int width); -typedef void (*VP8LMapAlphaFunc)(const uint8_t* src, - const uint32_t* const color_map, - uint8_t* dst, int y_start, - int y_end, int width); - -extern VP8LMapARGBFunc VP8LMapColor32b; -extern VP8LMapAlphaFunc VP8LMapColor8b; - -// Similar to the static method ColorIndexInverseTransform() that is part of -// lossless.c, but used only for alpha decoding. It takes uint8_t (rather than -// uint32_t) arguments for 'src' and 'dst'. -void VP8LColorIndexInverseTransformAlpha( - const struct VP8LTransform* const transform, int y_start, int y_end, - const uint8_t* src, uint8_t* dst); - -// Expose some C-only fallback functions -void VP8LTransformColorInverse_C(const VP8LMultipliers* const m, - const uint32_t* src, int num_pixels, - uint32_t* dst); - -void VP8LConvertBGRAToRGB_C(const uint32_t* src, int num_pixels, uint8_t* dst); -void VP8LConvertBGRAToRGBA_C(const uint32_t* src, int num_pixels, uint8_t* dst); -void VP8LConvertBGRAToRGBA4444_C(const uint32_t* src, - int num_pixels, uint8_t* dst); -void VP8LConvertBGRAToRGB565_C(const uint32_t* src, - int num_pixels, uint8_t* dst); -void VP8LConvertBGRAToBGR_C(const uint32_t* src, int num_pixels, uint8_t* dst); -void VP8LAddGreenToBlueAndRed_C(const uint32_t* src, int num_pixels, - uint32_t* dst); - -// Must be called before calling any of the above methods. -void VP8LDspInit(void); - -//------------------------------------------------------------------------------ -// Encoding - -typedef void (*VP8LProcessEncBlueAndRedFunc)(uint32_t* dst, int num_pixels); -extern VP8LProcessEncBlueAndRedFunc VP8LSubtractGreenFromBlueAndRed; -typedef void (*VP8LTransformColorFunc)(const VP8LMultipliers* const m, - uint32_t* dst, int num_pixels); -extern VP8LTransformColorFunc VP8LTransformColor; -typedef void (*VP8LCollectColorBlueTransformsFunc)( - const uint32_t* argb, int stride, - int tile_width, int tile_height, - int green_to_blue, int red_to_blue, int histo[]); -extern VP8LCollectColorBlueTransformsFunc VP8LCollectColorBlueTransforms; - -typedef void (*VP8LCollectColorRedTransformsFunc)( - const uint32_t* argb, int stride, - int tile_width, int tile_height, - int green_to_red, int histo[]); -extern VP8LCollectColorRedTransformsFunc VP8LCollectColorRedTransforms; - -// Expose some C-only fallback functions -void VP8LTransformColor_C(const VP8LMultipliers* const m, - uint32_t* data, int num_pixels); -void VP8LSubtractGreenFromBlueAndRed_C(uint32_t* argb_data, int num_pixels); -void VP8LCollectColorRedTransforms_C(const uint32_t* argb, int stride, - int tile_width, int tile_height, - int green_to_red, int histo[]); -void VP8LCollectColorBlueTransforms_C(const uint32_t* argb, int stride, - int tile_width, int tile_height, - int green_to_blue, int red_to_blue, - int histo[]); - -extern VP8LPredictorAddSubFunc VP8LPredictorsSub[16]; -extern VP8LPredictorAddSubFunc VP8LPredictorsSub_C[16]; - -// ----------------------------------------------------------------------------- -// Huffman-cost related functions. - -typedef double (*VP8LCostFunc)(const uint32_t* population, int length); -typedef double (*VP8LCostCombinedFunc)(const uint32_t* X, const uint32_t* Y, - int length); -typedef float (*VP8LCombinedShannonEntropyFunc)(const int X[256], - const int Y[256]); - -extern VP8LCostFunc VP8LExtraCost; -extern VP8LCostCombinedFunc VP8LExtraCostCombined; -extern VP8LCombinedShannonEntropyFunc VP8LCombinedShannonEntropy; - -typedef struct { // small struct to hold counters - int counts[2]; // index: 0=zero streak, 1=non-zero streak - int streaks[2][2]; // [zero/non-zero][streak<3 / streak>=3] -} VP8LStreaks; - -typedef struct { // small struct to hold bit entropy results - double entropy; // entropy - uint32_t sum; // sum of the population - int nonzeros; // number of non-zero elements in the population - uint32_t max_val; // maximum value in the population - uint32_t nonzero_code; // index of the last non-zero in the population -} VP8LBitEntropy; - -void VP8LBitEntropyInit(VP8LBitEntropy* const entropy); - -// Get the combined symbol bit entropy and Huffman cost stats for the -// distributions 'X' and 'Y'. Those results can then be refined according to -// codec specific heuristics. -typedef void (*VP8LGetCombinedEntropyUnrefinedFunc)( - const uint32_t X[], const uint32_t Y[], int length, - VP8LBitEntropy* const bit_entropy, VP8LStreaks* const stats); -extern VP8LGetCombinedEntropyUnrefinedFunc VP8LGetCombinedEntropyUnrefined; - -// Get the entropy for the distribution 'X'. -typedef void (*VP8LGetEntropyUnrefinedFunc)(const uint32_t X[], int length, - VP8LBitEntropy* const bit_entropy, - VP8LStreaks* const stats); -extern VP8LGetEntropyUnrefinedFunc VP8LGetEntropyUnrefined; - -void VP8LBitsEntropyUnrefined(const uint32_t* const array, int n, - VP8LBitEntropy* const entropy); - -typedef void (*VP8LAddVectorFunc)(const uint32_t* a, const uint32_t* b, - uint32_t* out, int size); -extern VP8LAddVectorFunc VP8LAddVector; -typedef void (*VP8LAddVectorEqFunc)(const uint32_t* a, uint32_t* out, int size); -extern VP8LAddVectorEqFunc VP8LAddVectorEq; -void VP8LHistogramAdd(const VP8LHistogram* const a, - const VP8LHistogram* const b, - VP8LHistogram* const out); - -// ----------------------------------------------------------------------------- -// PrefixEncode() - -typedef int (*VP8LVectorMismatchFunc)(const uint32_t* const array1, - const uint32_t* const array2, int length); -// Returns the first index where array1 and array2 are different. -extern VP8LVectorMismatchFunc VP8LVectorMismatch; - -typedef void (*VP8LBundleColorMapFunc)(const uint8_t* const row, int width, - int xbits, uint32_t* dst); -extern VP8LBundleColorMapFunc VP8LBundleColorMap; -void VP8LBundleColorMap_C(const uint8_t* const row, int width, int xbits, - uint32_t* dst); - -// Must be called before calling any of the above methods. -void VP8LEncDspInit(void); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DSP_LOSSLESS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_common.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_common.h deleted file mode 100644 index 9c2ebe68..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_common.h +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Image transforms and color space conversion methods for lossless decoder. -// -// Authors: Vikas Arora (vikaas.arora@gmail.com) -// Jyrki Alakuijala (jyrki@google.com) -// Vincent Rabaud (vrabaud@google.com) - -#ifndef WEBP_DSP_LOSSLESS_COMMON_H_ -#define WEBP_DSP_LOSSLESS_COMMON_H_ - -#include "src/webp/types.h" - -#include "src/utils/utils.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// Decoding - -// color mapping related functions. -static WEBP_INLINE uint32_t VP8GetARGBIndex(uint32_t idx) { - return (idx >> 8) & 0xff; -} - -static WEBP_INLINE uint8_t VP8GetAlphaIndex(uint8_t idx) { - return idx; -} - -static WEBP_INLINE uint32_t VP8GetARGBValue(uint32_t val) { - return val; -} - -static WEBP_INLINE uint8_t VP8GetAlphaValue(uint32_t val) { - return (val >> 8) & 0xff; -} - -//------------------------------------------------------------------------------ -// Misc methods. - -// Computes sampled size of 'size' when sampling using 'sampling bits'. -static WEBP_INLINE uint32_t VP8LSubSampleSize(uint32_t size, - uint32_t sampling_bits) { - return (size + (1 << sampling_bits) - 1) >> sampling_bits; -} - -// Converts near lossless quality into max number of bits shaved off. -static WEBP_INLINE int VP8LNearLosslessBits(int near_lossless_quality) { - // 100 -> 0 - // 80..99 -> 1 - // 60..79 -> 2 - // 40..59 -> 3 - // 20..39 -> 4 - // 0..19 -> 5 - return 5 - near_lossless_quality / 20; -} - -// ----------------------------------------------------------------------------- -// Faster logarithm for integers. Small values use a look-up table. - -// The threshold till approximate version of log_2 can be used. -// Practically, we can get rid of the call to log() as the two values match to -// very high degree (the ratio of these two is 0.99999x). -// Keeping a high threshold for now. -#define APPROX_LOG_WITH_CORRECTION_MAX 65536 -#define APPROX_LOG_MAX 4096 -#define LOG_2_RECIPROCAL 1.44269504088896338700465094007086 -#define LOG_LOOKUP_IDX_MAX 256 -extern const float kLog2Table[LOG_LOOKUP_IDX_MAX]; -extern const float kSLog2Table[LOG_LOOKUP_IDX_MAX]; -typedef float (*VP8LFastLog2SlowFunc)(uint32_t v); - -extern VP8LFastLog2SlowFunc VP8LFastLog2Slow; -extern VP8LFastLog2SlowFunc VP8LFastSLog2Slow; - -static WEBP_INLINE float VP8LFastLog2(uint32_t v) { - return (v < LOG_LOOKUP_IDX_MAX) ? kLog2Table[v] : VP8LFastLog2Slow(v); -} -// Fast calculation of v * log2(v) for integer input. -static WEBP_INLINE float VP8LFastSLog2(uint32_t v) { - return (v < LOG_LOOKUP_IDX_MAX) ? kSLog2Table[v] : VP8LFastSLog2Slow(v); -} - -// ----------------------------------------------------------------------------- -// PrefixEncode() - -// Splitting of distance and length codes into prefixes and -// extra bits. The prefixes are encoded with an entropy code -// while the extra bits are stored just as normal bits. -static WEBP_INLINE void VP8LPrefixEncodeBitsNoLUT(int distance, int* const code, - int* const extra_bits) { - const int highest_bit = BitsLog2Floor(--distance); - const int second_highest_bit = (distance >> (highest_bit - 1)) & 1; - *extra_bits = highest_bit - 1; - *code = 2 * highest_bit + second_highest_bit; -} - -static WEBP_INLINE void VP8LPrefixEncodeNoLUT(int distance, int* const code, - int* const extra_bits, - int* const extra_bits_value) { - const int highest_bit = BitsLog2Floor(--distance); - const int second_highest_bit = (distance >> (highest_bit - 1)) & 1; - *extra_bits = highest_bit - 1; - *extra_bits_value = distance & ((1 << *extra_bits) - 1); - *code = 2 * highest_bit + second_highest_bit; -} - -#define PREFIX_LOOKUP_IDX_MAX 512 -typedef struct { - int8_t code_; - int8_t extra_bits_; -} VP8LPrefixCode; - -// These tables are derived using VP8LPrefixEncodeNoLUT. -extern const VP8LPrefixCode kPrefixEncodeCode[PREFIX_LOOKUP_IDX_MAX]; -extern const uint8_t kPrefixEncodeExtraBitsValue[PREFIX_LOOKUP_IDX_MAX]; -static WEBP_INLINE void VP8LPrefixEncodeBits(int distance, int* const code, - int* const extra_bits) { - if (distance < PREFIX_LOOKUP_IDX_MAX) { - const VP8LPrefixCode prefix_code = kPrefixEncodeCode[distance]; - *code = prefix_code.code_; - *extra_bits = prefix_code.extra_bits_; - } else { - VP8LPrefixEncodeBitsNoLUT(distance, code, extra_bits); - } -} - -static WEBP_INLINE void VP8LPrefixEncode(int distance, int* const code, - int* const extra_bits, - int* const extra_bits_value) { - if (distance < PREFIX_LOOKUP_IDX_MAX) { - const VP8LPrefixCode prefix_code = kPrefixEncodeCode[distance]; - *code = prefix_code.code_; - *extra_bits = prefix_code.extra_bits_; - *extra_bits_value = kPrefixEncodeExtraBitsValue[distance]; - } else { - VP8LPrefixEncodeNoLUT(distance, code, extra_bits, extra_bits_value); - } -} - -// Sum of each component, mod 256. -static WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW WEBP_INLINE -uint32_t VP8LAddPixels(uint32_t a, uint32_t b) { - const uint32_t alpha_and_green = (a & 0xff00ff00u) + (b & 0xff00ff00u); - const uint32_t red_and_blue = (a & 0x00ff00ffu) + (b & 0x00ff00ffu); - return (alpha_and_green & 0xff00ff00u) | (red_and_blue & 0x00ff00ffu); -} - -// Difference of each component, mod 256. -static WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW WEBP_INLINE -uint32_t VP8LSubPixels(uint32_t a, uint32_t b) { - const uint32_t alpha_and_green = - 0x00ff00ffu + (a & 0xff00ff00u) - (b & 0xff00ff00u); - const uint32_t red_and_blue = - 0xff00ff00u + (a & 0x00ff00ffu) - (b & 0x00ff00ffu); - return (alpha_and_green & 0xff00ff00u) | (red_and_blue & 0x00ff00ffu); -} - -//------------------------------------------------------------------------------ -// Transform-related functions use din both encoding and decoding. - -// Macros used to create a batch predictor that iteratively uses a -// one-pixel predictor. - -// The predictor is added to the output pixel (which -// is therefore considered as a residual) to get the final prediction. -#define GENERATE_PREDICTOR_ADD(PREDICTOR, PREDICTOR_ADD) \ -static void PREDICTOR_ADD(const uint32_t* in, const uint32_t* upper, \ - int num_pixels, uint32_t* out) { \ - int x; \ - assert(upper != NULL); \ - for (x = 0; x < num_pixels; ++x) { \ - const uint32_t pred = (PREDICTOR)(out[x - 1], upper + x); \ - out[x] = VP8LAddPixels(in[x], pred); \ - } \ -} - -// It subtracts the prediction from the input pixel and stores the residual -// in the output pixel. -#define GENERATE_PREDICTOR_SUB(PREDICTOR, PREDICTOR_SUB) \ -static void PREDICTOR_SUB(const uint32_t* in, const uint32_t* upper, \ - int num_pixels, uint32_t* out) { \ - int x; \ - assert(upper != NULL); \ - for (x = 0; x < num_pixels; ++x) { \ - const uint32_t pred = (PREDICTOR)(in[x - 1], upper + x); \ - out[x] = VP8LSubPixels(in[x], pred); \ - } \ -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DSP_LOSSLESS_COMMON_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc.c deleted file mode 100644 index 9c36055a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc.c +++ /dev/null @@ -1,1048 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Image transform methods for lossless encoder. -// -// Authors: Vikas Arora (vikaas.arora@gmail.com) -// Jyrki Alakuijala (jyrki@google.com) -// Urvang Joshi (urvang@google.com) - -#include "src/dsp/dsp.h" - -#include -#include -#include -#include "src/dec/vp8li_dec.h" -#include "src/utils/endian_inl_utils.h" -#include "src/dsp/lossless.h" -#include "src/dsp/lossless_common.h" -#include "src/dsp/yuv.h" - -// lookup table for small values of log2(int) -const float kLog2Table[LOG_LOOKUP_IDX_MAX] = { - 0.0000000000000000f, 0.0000000000000000f, - 1.0000000000000000f, 1.5849625007211560f, - 2.0000000000000000f, 2.3219280948873621f, - 2.5849625007211560f, 2.8073549220576041f, - 3.0000000000000000f, 3.1699250014423121f, - 3.3219280948873621f, 3.4594316186372973f, - 3.5849625007211560f, 3.7004397181410921f, - 3.8073549220576041f, 3.9068905956085187f, - 4.0000000000000000f, 4.0874628412503390f, - 4.1699250014423121f, 4.2479275134435852f, - 4.3219280948873626f, 4.3923174227787606f, - 4.4594316186372973f, 4.5235619560570130f, - 4.5849625007211560f, 4.6438561897747243f, - 4.7004397181410917f, 4.7548875021634682f, - 4.8073549220576037f, 4.8579809951275718f, - 4.9068905956085187f, 4.9541963103868749f, - 5.0000000000000000f, 5.0443941193584533f, - 5.0874628412503390f, 5.1292830169449663f, - 5.1699250014423121f, 5.2094533656289501f, - 5.2479275134435852f, 5.2854022188622487f, - 5.3219280948873626f, 5.3575520046180837f, - 5.3923174227787606f, 5.4262647547020979f, - 5.4594316186372973f, 5.4918530963296747f, - 5.5235619560570130f, 5.5545888516776376f, - 5.5849625007211560f, 5.6147098441152083f, - 5.6438561897747243f, 5.6724253419714951f, - 5.7004397181410917f, 5.7279204545631987f, - 5.7548875021634682f, 5.7813597135246599f, - 5.8073549220576037f, 5.8328900141647412f, - 5.8579809951275718f, 5.8826430493618415f, - 5.9068905956085187f, 5.9307373375628866f, - 5.9541963103868749f, 5.9772799234999167f, - 6.0000000000000000f, 6.0223678130284543f, - 6.0443941193584533f, 6.0660891904577720f, - 6.0874628412503390f, 6.1085244567781691f, - 6.1292830169449663f, 6.1497471195046822f, - 6.1699250014423121f, 6.1898245588800175f, - 6.2094533656289501f, 6.2288186904958804f, - 6.2479275134435852f, 6.2667865406949010f, - 6.2854022188622487f, 6.3037807481771030f, - 6.3219280948873626f, 6.3398500028846243f, - 6.3575520046180837f, 6.3750394313469245f, - 6.3923174227787606f, 6.4093909361377017f, - 6.4262647547020979f, 6.4429434958487279f, - 6.4594316186372973f, 6.4757334309663976f, - 6.4918530963296747f, 6.5077946401986963f, - 6.5235619560570130f, 6.5391588111080309f, - 6.5545888516776376f, 6.5698556083309478f, - 6.5849625007211560f, 6.5999128421871278f, - 6.6147098441152083f, 6.6293566200796094f, - 6.6438561897747243f, 6.6582114827517946f, - 6.6724253419714951f, 6.6865005271832185f, - 6.7004397181410917f, 6.7142455176661224f, - 6.7279204545631987f, 6.7414669864011464f, - 6.7548875021634682f, 6.7681843247769259f, - 6.7813597135246599f, 6.7944158663501061f, - 6.8073549220576037f, 6.8201789624151878f, - 6.8328900141647412f, 6.8454900509443747f, - 6.8579809951275718f, 6.8703647195834047f, - 6.8826430493618415f, 6.8948177633079437f, - 6.9068905956085187f, 6.9188632372745946f, - 6.9307373375628866f, 6.9425145053392398f, - 6.9541963103868749f, 6.9657842846620869f, - 6.9772799234999167f, 6.9886846867721654f, - 7.0000000000000000f, 7.0112272554232539f, - 7.0223678130284543f, 7.0334230015374501f, - 7.0443941193584533f, 7.0552824355011898f, - 7.0660891904577720f, 7.0768155970508308f, - 7.0874628412503390f, 7.0980320829605263f, - 7.1085244567781691f, 7.1189410727235076f, - 7.1292830169449663f, 7.1395513523987936f, - 7.1497471195046822f, 7.1598713367783890f, - 7.1699250014423121f, 7.1799090900149344f, - 7.1898245588800175f, 7.1996723448363644f, - 7.2094533656289501f, 7.2191685204621611f, - 7.2288186904958804f, 7.2384047393250785f, - 7.2479275134435852f, 7.2573878426926521f, - 7.2667865406949010f, 7.2761244052742375f, - 7.2854022188622487f, 7.2946207488916270f, - 7.3037807481771030f, 7.3128829552843557f, - 7.3219280948873626f, 7.3309168781146167f, - 7.3398500028846243f, 7.3487281542310771f, - 7.3575520046180837f, 7.3663222142458160f, - 7.3750394313469245f, 7.3837042924740519f, - 7.3923174227787606f, 7.4008794362821843f, - 7.4093909361377017f, 7.4178525148858982f, - 7.4262647547020979f, 7.4346282276367245f, - 7.4429434958487279f, 7.4512111118323289f, - 7.4594316186372973f, 7.4676055500829976f, - 7.4757334309663976f, 7.4838157772642563f, - 7.4918530963296747f, 7.4998458870832056f, - 7.5077946401986963f, 7.5156998382840427f, - 7.5235619560570130f, 7.5313814605163118f, - 7.5391588111080309f, 7.5468944598876364f, - 7.5545888516776376f, 7.5622424242210728f, - 7.5698556083309478f, 7.5774288280357486f, - 7.5849625007211560f, 7.5924570372680806f, - 7.5999128421871278f, 7.6073303137496104f, - 7.6147098441152083f, 7.6220518194563764f, - 7.6293566200796094f, 7.6366246205436487f, - 7.6438561897747243f, 7.6510516911789281f, - 7.6582114827517946f, 7.6653359171851764f, - 7.6724253419714951f, 7.6794800995054464f, - 7.6865005271832185f, 7.6934869574993252f, - 7.7004397181410917f, 7.7073591320808825f, - 7.7142455176661224f, 7.7210991887071855f, - 7.7279204545631987f, 7.7347096202258383f, - 7.7414669864011464f, 7.7481928495894605f, - 7.7548875021634682f, 7.7615512324444795f, - 7.7681843247769259f, 7.7747870596011736f, - 7.7813597135246599f, 7.7879025593914317f, - 7.7944158663501061f, 7.8008998999203047f, - 7.8073549220576037f, 7.8137811912170374f, - 7.8201789624151878f, 7.8265484872909150f, - 7.8328900141647412f, 7.8392037880969436f, - 7.8454900509443747f, 7.8517490414160571f, - 7.8579809951275718f, 7.8641861446542797f, - 7.8703647195834047f, 7.8765169465649993f, - 7.8826430493618415f, 7.8887432488982591f, - 7.8948177633079437f, 7.9008668079807486f, - 7.9068905956085187f, 7.9128893362299619f, - 7.9188632372745946f, 7.9248125036057812f, - 7.9307373375628866f, 7.9366379390025709f, - 7.9425145053392398f, 7.9483672315846778f, - 7.9541963103868749f, 7.9600019320680805f, - 7.9657842846620869f, 7.9715435539507719f, - 7.9772799234999167f, 7.9829935746943103f, - 7.9886846867721654f, 7.9943534368588577f -}; - -const float kSLog2Table[LOG_LOOKUP_IDX_MAX] = { - 0.00000000f, 0.00000000f, 2.00000000f, 4.75488750f, - 8.00000000f, 11.60964047f, 15.50977500f, 19.65148445f, - 24.00000000f, 28.52932501f, 33.21928095f, 38.05374781f, - 43.01955001f, 48.10571634f, 53.30296891f, 58.60335893f, - 64.00000000f, 69.48686830f, 75.05865003f, 80.71062276f, - 86.43856190f, 92.23866588f, 98.10749561f, 104.04192499f, - 110.03910002f, 116.09640474f, 122.21143267f, 128.38196256f, - 134.60593782f, 140.88144886f, 147.20671787f, 153.58008562f, - 160.00000000f, 166.46500594f, 172.97373660f, 179.52490559f, - 186.11730005f, 192.74977453f, 199.42124551f, 206.13068654f, - 212.87712380f, 219.65963219f, 226.47733176f, 233.32938445f, - 240.21499122f, 247.13338933f, 254.08384998f, 261.06567603f, - 268.07820003f, 275.12078236f, 282.19280949f, 289.29369244f, - 296.42286534f, 303.57978409f, 310.76392512f, 317.97478424f, - 325.21187564f, 332.47473081f, 339.76289772f, 347.07593991f, - 354.41343574f, 361.77497759f, 369.16017124f, 376.56863518f, - 384.00000000f, 391.45390785f, 398.93001188f, 406.42797576f, - 413.94747321f, 421.48818752f, 429.04981119f, 436.63204548f, - 444.23460010f, 451.85719280f, 459.49954906f, 467.16140179f, - 474.84249102f, 482.54256363f, 490.26137307f, 497.99867911f, - 505.75424759f, 513.52785023f, 521.31926438f, 529.12827280f, - 536.95466351f, 544.79822957f, 552.65876890f, 560.53608414f, - 568.42998244f, 576.34027536f, 584.26677867f, 592.20931226f, - 600.16769996f, 608.14176943f, 616.13135206f, 624.13628279f, - 632.15640007f, 640.19154569f, 648.24156472f, 656.30630539f, - 664.38561898f, 672.47935976f, 680.58738488f, 688.70955430f, - 696.84573069f, 704.99577935f, 713.15956818f, 721.33696754f, - 729.52785023f, 737.73209140f, 745.94956849f, 754.18016116f, - 762.42375127f, 770.68022275f, 778.94946161f, 787.23135586f, - 795.52579543f, 803.83267219f, 812.15187982f, 820.48331383f, - 828.82687147f, 837.18245171f, 845.54995518f, 853.92928416f, - 862.32034249f, 870.72303558f, 879.13727036f, 887.56295522f, - 896.00000000f, 904.44831595f, 912.90781569f, 921.37841320f, - 929.86002376f, 938.35256392f, 946.85595152f, 955.37010560f, - 963.89494641f, 972.43039537f, 980.97637504f, 989.53280911f, - 998.09962237f, 1006.67674069f, 1015.26409097f, 1023.86160116f, - 1032.46920021f, 1041.08681805f, 1049.71438560f, 1058.35183469f, - 1066.99909811f, 1075.65610955f, 1084.32280357f, 1092.99911564f, - 1101.68498204f, 1110.38033993f, 1119.08512727f, 1127.79928282f, - 1136.52274614f, 1145.25545758f, 1153.99735821f, 1162.74838989f, - 1171.50849518f, 1180.27761738f, 1189.05570047f, 1197.84268914f, - 1206.63852876f, 1215.44316535f, 1224.25654560f, 1233.07861684f, - 1241.90932703f, 1250.74862473f, 1259.59645914f, 1268.45278005f, - 1277.31753781f, 1286.19068338f, 1295.07216828f, 1303.96194457f, - 1312.85996488f, 1321.76618236f, 1330.68055071f, 1339.60302413f, - 1348.53355734f, 1357.47210556f, 1366.41862452f, 1375.37307041f, - 1384.33539991f, 1393.30557020f, 1402.28353887f, 1411.26926400f, - 1420.26270412f, 1429.26381818f, 1438.27256558f, 1447.28890615f, - 1456.31280014f, 1465.34420819f, 1474.38309138f, 1483.42941118f, - 1492.48312945f, 1501.54420843f, 1510.61261078f, 1519.68829949f, - 1528.77123795f, 1537.86138993f, 1546.95871952f, 1556.06319119f, - 1565.17476976f, 1574.29342040f, 1583.41910860f, 1592.55180020f, - 1601.69146137f, 1610.83805860f, 1619.99155871f, 1629.15192882f, - 1638.31913637f, 1647.49314911f, 1656.67393509f, 1665.86146266f, - 1675.05570047f, 1684.25661744f, 1693.46418280f, 1702.67836605f, - 1711.89913698f, 1721.12646563f, 1730.36032233f, 1739.60067768f, - 1748.84750254f, 1758.10076802f, 1767.36044551f, 1776.62650662f, - 1785.89892323f, 1795.17766747f, 1804.46271172f, 1813.75402857f, - 1823.05159087f, 1832.35537170f, 1841.66534438f, 1850.98148244f, - 1860.30375965f, 1869.63214999f, 1878.96662767f, 1888.30716711f, - 1897.65374295f, 1907.00633003f, 1916.36490342f, 1925.72943838f, - 1935.09991037f, 1944.47629506f, 1953.85856831f, 1963.24670620f, - 1972.64068498f, 1982.04048108f, 1991.44607117f, 2000.85743204f, - 2010.27454072f, 2019.69737440f, 2029.12591044f, 2038.56012640f -}; - -const VP8LPrefixCode kPrefixEncodeCode[PREFIX_LOOKUP_IDX_MAX] = { - { 0, 0}, { 0, 0}, { 1, 0}, { 2, 0}, { 3, 0}, { 4, 1}, { 4, 1}, { 5, 1}, - { 5, 1}, { 6, 2}, { 6, 2}, { 6, 2}, { 6, 2}, { 7, 2}, { 7, 2}, { 7, 2}, - { 7, 2}, { 8, 3}, { 8, 3}, { 8, 3}, { 8, 3}, { 8, 3}, { 8, 3}, { 8, 3}, - { 8, 3}, { 9, 3}, { 9, 3}, { 9, 3}, { 9, 3}, { 9, 3}, { 9, 3}, { 9, 3}, - { 9, 3}, {10, 4}, {10, 4}, {10, 4}, {10, 4}, {10, 4}, {10, 4}, {10, 4}, - {10, 4}, {10, 4}, {10, 4}, {10, 4}, {10, 4}, {10, 4}, {10, 4}, {10, 4}, - {10, 4}, {11, 4}, {11, 4}, {11, 4}, {11, 4}, {11, 4}, {11, 4}, {11, 4}, - {11, 4}, {11, 4}, {11, 4}, {11, 4}, {11, 4}, {11, 4}, {11, 4}, {11, 4}, - {11, 4}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, - {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, - {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, - {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, {12, 5}, - {12, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, - {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, - {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, - {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, {13, 5}, - {13, 5}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, - {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, - {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, - {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, - {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, - {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, - {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, - {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, {14, 6}, - {14, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, - {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, - {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, - {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, - {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, - {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, - {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, - {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, {15, 6}, - {15, 6}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, {16, 7}, - {16, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, - {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, {17, 7}, -}; - -const uint8_t kPrefixEncodeExtraBitsValue[PREFIX_LOOKUP_IDX_MAX] = { - 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 2, 3, 0, 1, 2, 3, - 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126 -}; - -static float FastSLog2Slow_C(uint32_t v) { - assert(v >= LOG_LOOKUP_IDX_MAX); - if (v < APPROX_LOG_WITH_CORRECTION_MAX) { - int log_cnt = 0; - uint32_t y = 1; - int correction = 0; - const float v_f = (float)v; - const uint32_t orig_v = v; - do { - ++log_cnt; - v = v >> 1; - y = y << 1; - } while (v >= LOG_LOOKUP_IDX_MAX); - // vf = (2^log_cnt) * Xf; where y = 2^log_cnt and Xf < 256 - // Xf = floor(Xf) * (1 + (v % y) / v) - // log2(Xf) = log2(floor(Xf)) + log2(1 + (v % y) / v) - // The correction factor: log(1 + d) ~ d; for very small d values, so - // log2(1 + (v % y) / v) ~ LOG_2_RECIPROCAL * (v % y)/v - // LOG_2_RECIPROCAL ~ 23/16 - correction = (23 * (orig_v & (y - 1))) >> 4; - return v_f * (kLog2Table[v] + log_cnt) + correction; - } else { - return (float)(LOG_2_RECIPROCAL * v * log((double)v)); - } -} - -static float FastLog2Slow_C(uint32_t v) { - assert(v >= LOG_LOOKUP_IDX_MAX); - if (v < APPROX_LOG_WITH_CORRECTION_MAX) { - int log_cnt = 0; - uint32_t y = 1; - const uint32_t orig_v = v; - double log_2; - do { - ++log_cnt; - v = v >> 1; - y = y << 1; - } while (v >= LOG_LOOKUP_IDX_MAX); - log_2 = kLog2Table[v] + log_cnt; - if (orig_v >= APPROX_LOG_MAX) { - // Since the division is still expensive, add this correction factor only - // for large values of 'v'. - const int correction = (23 * (orig_v & (y - 1))) >> 4; - log_2 += (double)correction / orig_v; - } - return (float)log_2; - } else { - return (float)(LOG_2_RECIPROCAL * log((double)v)); - } -} - -//------------------------------------------------------------------------------ -// Methods to calculate Entropy (Shannon). - -// Compute the combined Shanon's entropy for distribution {X} and {X+Y} -static float CombinedShannonEntropy_C(const int X[256], const int Y[256]) { - int i; - double retval = 0.; - int sumX = 0, sumXY = 0; - for (i = 0; i < 256; ++i) { - const int x = X[i]; - if (x != 0) { - const int xy = x + Y[i]; - sumX += x; - retval -= VP8LFastSLog2(x); - sumXY += xy; - retval -= VP8LFastSLog2(xy); - } else if (Y[i] != 0) { - sumXY += Y[i]; - retval -= VP8LFastSLog2(Y[i]); - } - } - retval += VP8LFastSLog2(sumX) + VP8LFastSLog2(sumXY); - return (float)retval; -} - -void VP8LBitEntropyInit(VP8LBitEntropy* const entropy) { - entropy->entropy = 0.; - entropy->sum = 0; - entropy->nonzeros = 0; - entropy->max_val = 0; - entropy->nonzero_code = VP8L_NON_TRIVIAL_SYM; -} - -void VP8LBitsEntropyUnrefined(const uint32_t* const array, int n, - VP8LBitEntropy* const entropy) { - int i; - - VP8LBitEntropyInit(entropy); - - for (i = 0; i < n; ++i) { - if (array[i] != 0) { - entropy->sum += array[i]; - entropy->nonzero_code = i; - ++entropy->nonzeros; - entropy->entropy -= VP8LFastSLog2(array[i]); - if (entropy->max_val < array[i]) { - entropy->max_val = array[i]; - } - } - } - entropy->entropy += VP8LFastSLog2(entropy->sum); -} - -static WEBP_INLINE void GetEntropyUnrefinedHelper( - uint32_t val, int i, uint32_t* const val_prev, int* const i_prev, - VP8LBitEntropy* const bit_entropy, VP8LStreaks* const stats) { - const int streak = i - *i_prev; - - // Gather info for the bit entropy. - if (*val_prev != 0) { - bit_entropy->sum += (*val_prev) * streak; - bit_entropy->nonzeros += streak; - bit_entropy->nonzero_code = *i_prev; - bit_entropy->entropy -= VP8LFastSLog2(*val_prev) * streak; - if (bit_entropy->max_val < *val_prev) { - bit_entropy->max_val = *val_prev; - } - } - - // Gather info for the Huffman cost. - stats->counts[*val_prev != 0] += (streak > 3); - stats->streaks[*val_prev != 0][(streak > 3)] += streak; - - *val_prev = val; - *i_prev = i; -} - -static void GetEntropyUnrefined_C(const uint32_t X[], int length, - VP8LBitEntropy* const bit_entropy, - VP8LStreaks* const stats) { - int i; - int i_prev = 0; - uint32_t x_prev = X[0]; - - memset(stats, 0, sizeof(*stats)); - VP8LBitEntropyInit(bit_entropy); - - for (i = 1; i < length; ++i) { - const uint32_t x = X[i]; - if (x != x_prev) { - GetEntropyUnrefinedHelper(x, i, &x_prev, &i_prev, bit_entropy, stats); - } - } - GetEntropyUnrefinedHelper(0, i, &x_prev, &i_prev, bit_entropy, stats); - - bit_entropy->entropy += VP8LFastSLog2(bit_entropy->sum); -} - -static void GetCombinedEntropyUnrefined_C(const uint32_t X[], - const uint32_t Y[], - int length, - VP8LBitEntropy* const bit_entropy, - VP8LStreaks* const stats) { - int i = 1; - int i_prev = 0; - uint32_t xy_prev = X[0] + Y[0]; - - memset(stats, 0, sizeof(*stats)); - VP8LBitEntropyInit(bit_entropy); - - for (i = 1; i < length; ++i) { - const uint32_t xy = X[i] + Y[i]; - if (xy != xy_prev) { - GetEntropyUnrefinedHelper(xy, i, &xy_prev, &i_prev, bit_entropy, stats); - } - } - GetEntropyUnrefinedHelper(0, i, &xy_prev, &i_prev, bit_entropy, stats); - - bit_entropy->entropy += VP8LFastSLog2(bit_entropy->sum); -} - -//------------------------------------------------------------------------------ - -void VP8LSubtractGreenFromBlueAndRed_C(uint32_t* argb_data, int num_pixels) { - int i; - for (i = 0; i < num_pixels; ++i) { - const int argb = argb_data[i]; - const int green = (argb >> 8) & 0xff; - const uint32_t new_r = (((argb >> 16) & 0xff) - green) & 0xff; - const uint32_t new_b = (((argb >> 0) & 0xff) - green) & 0xff; - argb_data[i] = (argb & 0xff00ff00u) | (new_r << 16) | new_b; - } -} - -static WEBP_INLINE int ColorTransformDelta(int8_t color_pred, int8_t color) { - return ((int)color_pred * color) >> 5; -} - -static WEBP_INLINE int8_t U32ToS8(uint32_t v) { - return (int8_t)(v & 0xff); -} - -void VP8LTransformColor_C(const VP8LMultipliers* const m, uint32_t* data, - int num_pixels) { - int i; - for (i = 0; i < num_pixels; ++i) { - const uint32_t argb = data[i]; - const int8_t green = U32ToS8(argb >> 8); - const int8_t red = U32ToS8(argb >> 16); - int new_red = red & 0xff; - int new_blue = argb & 0xff; - new_red -= ColorTransformDelta(m->green_to_red_, green); - new_red &= 0xff; - new_blue -= ColorTransformDelta(m->green_to_blue_, green); - new_blue -= ColorTransformDelta(m->red_to_blue_, red); - new_blue &= 0xff; - data[i] = (argb & 0xff00ff00u) | (new_red << 16) | (new_blue); - } -} - -static WEBP_INLINE uint8_t TransformColorRed(uint8_t green_to_red, - uint32_t argb) { - const int8_t green = U32ToS8(argb >> 8); - int new_red = argb >> 16; - new_red -= ColorTransformDelta(green_to_red, green); - return (new_red & 0xff); -} - -static WEBP_INLINE uint8_t TransformColorBlue(uint8_t green_to_blue, - uint8_t red_to_blue, - uint32_t argb) { - const int8_t green = U32ToS8(argb >> 8); - const int8_t red = U32ToS8(argb >> 16); - uint8_t new_blue = argb & 0xff; - new_blue -= ColorTransformDelta(green_to_blue, green); - new_blue -= ColorTransformDelta(red_to_blue, red); - return (new_blue & 0xff); -} - -void VP8LCollectColorRedTransforms_C(const uint32_t* argb, int stride, - int tile_width, int tile_height, - int green_to_red, int histo[]) { - while (tile_height-- > 0) { - int x; - for (x = 0; x < tile_width; ++x) { - ++histo[TransformColorRed((uint8_t)green_to_red, argb[x])]; - } - argb += stride; - } -} - -void VP8LCollectColorBlueTransforms_C(const uint32_t* argb, int stride, - int tile_width, int tile_height, - int green_to_blue, int red_to_blue, - int histo[]) { - while (tile_height-- > 0) { - int x; - for (x = 0; x < tile_width; ++x) { - ++histo[TransformColorBlue((uint8_t)green_to_blue, (uint8_t)red_to_blue, - argb[x])]; - } - argb += stride; - } -} - -//------------------------------------------------------------------------------ - -static int VectorMismatch_C(const uint32_t* const array1, - const uint32_t* const array2, int length) { - int match_len = 0; - - while (match_len < length && array1[match_len] == array2[match_len]) { - ++match_len; - } - return match_len; -} - -// Bundles multiple (1, 2, 4 or 8) pixels into a single pixel. -void VP8LBundleColorMap_C(const uint8_t* const row, int width, int xbits, - uint32_t* dst) { - int x; - if (xbits > 0) { - const int bit_depth = 1 << (3 - xbits); - const int mask = (1 << xbits) - 1; - uint32_t code = 0xff000000; - for (x = 0; x < width; ++x) { - const int xsub = x & mask; - if (xsub == 0) { - code = 0xff000000; - } - code |= row[x] << (8 + bit_depth * xsub); - dst[x >> xbits] = code; - } - } else { - for (x = 0; x < width; ++x) dst[x] = 0xff000000 | (row[x] << 8); - } -} - -//------------------------------------------------------------------------------ - -static double ExtraCost_C(const uint32_t* population, int length) { - int i; - double cost = 0.; - for (i = 2; i < length - 2; ++i) cost += (i >> 1) * population[i + 2]; - return cost; -} - -static double ExtraCostCombined_C(const uint32_t* X, const uint32_t* Y, - int length) { - int i; - double cost = 0.; - for (i = 2; i < length - 2; ++i) { - const int xy = X[i + 2] + Y[i + 2]; - cost += (i >> 1) * xy; - } - return cost; -} - -//------------------------------------------------------------------------------ - -static void AddVector_C(const uint32_t* a, const uint32_t* b, uint32_t* out, - int size) { - int i; - for (i = 0; i < size; ++i) out[i] = a[i] + b[i]; -} - -static void AddVectorEq_C(const uint32_t* a, uint32_t* out, int size) { - int i; - for (i = 0; i < size; ++i) out[i] += a[i]; -} - -#define ADD(X, ARG, LEN) do { \ - if (a->is_used_[X]) { \ - if (b->is_used_[X]) { \ - VP8LAddVector(a->ARG, b->ARG, out->ARG, (LEN)); \ - } else { \ - memcpy(&out->ARG[0], &a->ARG[0], (LEN) * sizeof(out->ARG[0])); \ - } \ - } else if (b->is_used_[X]) { \ - memcpy(&out->ARG[0], &b->ARG[0], (LEN) * sizeof(out->ARG[0])); \ - } else { \ - memset(&out->ARG[0], 0, (LEN) * sizeof(out->ARG[0])); \ - } \ -} while (0) - -#define ADD_EQ(X, ARG, LEN) do { \ - if (a->is_used_[X]) { \ - if (out->is_used_[X]) { \ - VP8LAddVectorEq(a->ARG, out->ARG, (LEN)); \ - } else { \ - memcpy(&out->ARG[0], &a->ARG[0], (LEN) * sizeof(out->ARG[0])); \ - } \ - } \ -} while (0) - -void VP8LHistogramAdd(const VP8LHistogram* const a, - const VP8LHistogram* const b, VP8LHistogram* const out) { - int i; - const int literal_size = VP8LHistogramNumCodes(a->palette_code_bits_); - assert(a->palette_code_bits_ == b->palette_code_bits_); - - if (b != out) { - ADD(0, literal_, literal_size); - ADD(1, red_, NUM_LITERAL_CODES); - ADD(2, blue_, NUM_LITERAL_CODES); - ADD(3, alpha_, NUM_LITERAL_CODES); - ADD(4, distance_, NUM_DISTANCE_CODES); - for (i = 0; i < 5; ++i) { - out->is_used_[i] = (a->is_used_[i] | b->is_used_[i]); - } - } else { - ADD_EQ(0, literal_, literal_size); - ADD_EQ(1, red_, NUM_LITERAL_CODES); - ADD_EQ(2, blue_, NUM_LITERAL_CODES); - ADD_EQ(3, alpha_, NUM_LITERAL_CODES); - ADD_EQ(4, distance_, NUM_DISTANCE_CODES); - for (i = 0; i < 5; ++i) out->is_used_[i] |= a->is_used_[i]; - } -} -#undef ADD -#undef ADD_EQ - -//------------------------------------------------------------------------------ -// Image transforms. - -static WEBP_INLINE uint32_t Average2(uint32_t a0, uint32_t a1) { - return (((a0 ^ a1) & 0xfefefefeu) >> 1) + (a0 & a1); -} - -static WEBP_INLINE uint32_t Average3(uint32_t a0, uint32_t a1, uint32_t a2) { - return Average2(Average2(a0, a2), a1); -} - -static WEBP_INLINE uint32_t Average4(uint32_t a0, uint32_t a1, - uint32_t a2, uint32_t a3) { - return Average2(Average2(a0, a1), Average2(a2, a3)); -} - -static WEBP_INLINE uint32_t Clip255(uint32_t a) { - if (a < 256) { - return a; - } - // return 0, when a is a negative integer. - // return 255, when a is positive. - return ~a >> 24; -} - -static WEBP_INLINE int AddSubtractComponentFull(int a, int b, int c) { - return Clip255(a + b - c); -} - -static WEBP_INLINE uint32_t ClampedAddSubtractFull(uint32_t c0, uint32_t c1, - uint32_t c2) { - const int a = AddSubtractComponentFull(c0 >> 24, c1 >> 24, c2 >> 24); - const int r = AddSubtractComponentFull((c0 >> 16) & 0xff, - (c1 >> 16) & 0xff, - (c2 >> 16) & 0xff); - const int g = AddSubtractComponentFull((c0 >> 8) & 0xff, - (c1 >> 8) & 0xff, - (c2 >> 8) & 0xff); - const int b = AddSubtractComponentFull(c0 & 0xff, c1 & 0xff, c2 & 0xff); - return ((uint32_t)a << 24) | (r << 16) | (g << 8) | b; -} - -static WEBP_INLINE int AddSubtractComponentHalf(int a, int b) { - return Clip255(a + (a - b) / 2); -} - -static WEBP_INLINE uint32_t ClampedAddSubtractHalf(uint32_t c0, uint32_t c1, - uint32_t c2) { - const uint32_t ave = Average2(c0, c1); - const int a = AddSubtractComponentHalf(ave >> 24, c2 >> 24); - const int r = AddSubtractComponentHalf((ave >> 16) & 0xff, (c2 >> 16) & 0xff); - const int g = AddSubtractComponentHalf((ave >> 8) & 0xff, (c2 >> 8) & 0xff); - const int b = AddSubtractComponentHalf((ave >> 0) & 0xff, (c2 >> 0) & 0xff); - return ((uint32_t)a << 24) | (r << 16) | (g << 8) | b; -} - -// gcc-4.9 on ARM generates incorrect code in Select() when Sub3() is inlined. -#if defined(__arm__) && \ - (LOCAL_GCC_VERSION == 0x409 || LOCAL_GCC_VERSION == 0x408) -# define LOCAL_INLINE __attribute__ ((noinline)) -#else -# define LOCAL_INLINE WEBP_INLINE -#endif - -static LOCAL_INLINE int Sub3(int a, int b, int c) { - const int pb = b - c; - const int pa = a - c; - return abs(pb) - abs(pa); -} - -#undef LOCAL_INLINE - -static WEBP_INLINE uint32_t Select(uint32_t a, uint32_t b, uint32_t c) { - const int pa_minus_pb = - Sub3((a >> 24) , (b >> 24) , (c >> 24) ) + - Sub3((a >> 16) & 0xff, (b >> 16) & 0xff, (c >> 16) & 0xff) + - Sub3((a >> 8) & 0xff, (b >> 8) & 0xff, (c >> 8) & 0xff) + - Sub3((a ) & 0xff, (b ) & 0xff, (c ) & 0xff); - return (pa_minus_pb <= 0) ? a : b; -} - -//------------------------------------------------------------------------------ -// Predictors - -static uint32_t Predictor2(uint32_t left, const uint32_t* const top) { - (void)left; - return top[0]; -} -static uint32_t Predictor3(uint32_t left, const uint32_t* const top) { - (void)left; - return top[1]; -} -static uint32_t Predictor4(uint32_t left, const uint32_t* const top) { - (void)left; - return top[-1]; -} -static uint32_t Predictor5(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average3(left, top[0], top[1]); - return pred; -} -static uint32_t Predictor6(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2(left, top[-1]); - return pred; -} -static uint32_t Predictor7(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2(left, top[0]); - return pred; -} -static uint32_t Predictor8(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2(top[-1], top[0]); - (void)left; - return pred; -} -static uint32_t Predictor9(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2(top[0], top[1]); - (void)left; - return pred; -} -static uint32_t Predictor10(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average4(left, top[-1], top[0], top[1]); - return pred; -} -static uint32_t Predictor11(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Select(top[0], left, top[-1]); - return pred; -} -static uint32_t Predictor12(uint32_t left, const uint32_t* const top) { - const uint32_t pred = ClampedAddSubtractFull(left, top[0], top[-1]); - return pred; -} -static uint32_t Predictor13(uint32_t left, const uint32_t* const top) { - const uint32_t pred = ClampedAddSubtractHalf(left, top[0], top[-1]); - return pred; -} - -//------------------------------------------------------------------------------ - -static void PredictorSub0_C(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - for (i = 0; i < num_pixels; ++i) out[i] = VP8LSubPixels(in[i], ARGB_BLACK); - (void)upper; -} - -static void PredictorSub1_C(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - for (i = 0; i < num_pixels; ++i) out[i] = VP8LSubPixels(in[i], in[i - 1]); - (void)upper; -} - -GENERATE_PREDICTOR_SUB(Predictor2, PredictorSub2_C) -GENERATE_PREDICTOR_SUB(Predictor3, PredictorSub3_C) -GENERATE_PREDICTOR_SUB(Predictor4, PredictorSub4_C) -GENERATE_PREDICTOR_SUB(Predictor5, PredictorSub5_C) -GENERATE_PREDICTOR_SUB(Predictor6, PredictorSub6_C) -GENERATE_PREDICTOR_SUB(Predictor7, PredictorSub7_C) -GENERATE_PREDICTOR_SUB(Predictor8, PredictorSub8_C) -GENERATE_PREDICTOR_SUB(Predictor9, PredictorSub9_C) -GENERATE_PREDICTOR_SUB(Predictor10, PredictorSub10_C) -GENERATE_PREDICTOR_SUB(Predictor11, PredictorSub11_C) -GENERATE_PREDICTOR_SUB(Predictor12, PredictorSub12_C) -GENERATE_PREDICTOR_SUB(Predictor13, PredictorSub13_C) - -//------------------------------------------------------------------------------ - -VP8LProcessEncBlueAndRedFunc VP8LSubtractGreenFromBlueAndRed; - -VP8LTransformColorFunc VP8LTransformColor; - -VP8LCollectColorBlueTransformsFunc VP8LCollectColorBlueTransforms; -VP8LCollectColorRedTransformsFunc VP8LCollectColorRedTransforms; - -VP8LFastLog2SlowFunc VP8LFastLog2Slow; -VP8LFastLog2SlowFunc VP8LFastSLog2Slow; - -VP8LCostFunc VP8LExtraCost; -VP8LCostCombinedFunc VP8LExtraCostCombined; -VP8LCombinedShannonEntropyFunc VP8LCombinedShannonEntropy; - -VP8LGetEntropyUnrefinedFunc VP8LGetEntropyUnrefined; -VP8LGetCombinedEntropyUnrefinedFunc VP8LGetCombinedEntropyUnrefined; - -VP8LAddVectorFunc VP8LAddVector; -VP8LAddVectorEqFunc VP8LAddVectorEq; - -VP8LVectorMismatchFunc VP8LVectorMismatch; -VP8LBundleColorMapFunc VP8LBundleColorMap; - -VP8LPredictorAddSubFunc VP8LPredictorsSub[16]; -VP8LPredictorAddSubFunc VP8LPredictorsSub_C[16]; - -extern void VP8LEncDspInitSSE2(void); -extern void VP8LEncDspInitSSE41(void); -extern void VP8LEncDspInitNEON(void); -extern void VP8LEncDspInitMIPS32(void); -extern void VP8LEncDspInitMIPSdspR2(void); -extern void VP8LEncDspInitMSA(void); - -WEBP_DSP_INIT_FUNC(VP8LEncDspInit) { - VP8LDspInit(); - -#if !WEBP_NEON_OMIT_C_CODE - VP8LSubtractGreenFromBlueAndRed = VP8LSubtractGreenFromBlueAndRed_C; - - VP8LTransformColor = VP8LTransformColor_C; -#endif - - VP8LCollectColorBlueTransforms = VP8LCollectColorBlueTransforms_C; - VP8LCollectColorRedTransforms = VP8LCollectColorRedTransforms_C; - - VP8LFastLog2Slow = FastLog2Slow_C; - VP8LFastSLog2Slow = FastSLog2Slow_C; - - VP8LExtraCost = ExtraCost_C; - VP8LExtraCostCombined = ExtraCostCombined_C; - VP8LCombinedShannonEntropy = CombinedShannonEntropy_C; - - VP8LGetEntropyUnrefined = GetEntropyUnrefined_C; - VP8LGetCombinedEntropyUnrefined = GetCombinedEntropyUnrefined_C; - - VP8LAddVector = AddVector_C; - VP8LAddVectorEq = AddVectorEq_C; - - VP8LVectorMismatch = VectorMismatch_C; - VP8LBundleColorMap = VP8LBundleColorMap_C; - - VP8LPredictorsSub[0] = PredictorSub0_C; - VP8LPredictorsSub[1] = PredictorSub1_C; - VP8LPredictorsSub[2] = PredictorSub2_C; - VP8LPredictorsSub[3] = PredictorSub3_C; - VP8LPredictorsSub[4] = PredictorSub4_C; - VP8LPredictorsSub[5] = PredictorSub5_C; - VP8LPredictorsSub[6] = PredictorSub6_C; - VP8LPredictorsSub[7] = PredictorSub7_C; - VP8LPredictorsSub[8] = PredictorSub8_C; - VP8LPredictorsSub[9] = PredictorSub9_C; - VP8LPredictorsSub[10] = PredictorSub10_C; - VP8LPredictorsSub[11] = PredictorSub11_C; - VP8LPredictorsSub[12] = PredictorSub12_C; - VP8LPredictorsSub[13] = PredictorSub13_C; - VP8LPredictorsSub[14] = PredictorSub0_C; // <- padding security sentinels - VP8LPredictorsSub[15] = PredictorSub0_C; - - VP8LPredictorsSub_C[0] = PredictorSub0_C; - VP8LPredictorsSub_C[1] = PredictorSub1_C; - VP8LPredictorsSub_C[2] = PredictorSub2_C; - VP8LPredictorsSub_C[3] = PredictorSub3_C; - VP8LPredictorsSub_C[4] = PredictorSub4_C; - VP8LPredictorsSub_C[5] = PredictorSub5_C; - VP8LPredictorsSub_C[6] = PredictorSub6_C; - VP8LPredictorsSub_C[7] = PredictorSub7_C; - VP8LPredictorsSub_C[8] = PredictorSub8_C; - VP8LPredictorsSub_C[9] = PredictorSub9_C; - VP8LPredictorsSub_C[10] = PredictorSub10_C; - VP8LPredictorsSub_C[11] = PredictorSub11_C; - VP8LPredictorsSub_C[12] = PredictorSub12_C; - VP8LPredictorsSub_C[13] = PredictorSub13_C; - VP8LPredictorsSub_C[14] = PredictorSub0_C; // <- padding security sentinels - VP8LPredictorsSub_C[15] = PredictorSub0_C; - - // If defined, use CPUInfo() to overwrite some pointers with faster versions. - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - VP8LEncDspInitSSE2(); -#if defined(WEBP_USE_SSE41) - if (VP8GetCPUInfo(kSSE4_1)) { - VP8LEncDspInitSSE41(); - } -#endif - } -#endif -#if defined(WEBP_USE_MIPS32) - if (VP8GetCPUInfo(kMIPS32)) { - VP8LEncDspInitMIPS32(); - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - VP8LEncDspInitMIPSdspR2(); - } -#endif -#if defined(WEBP_USE_MSA) - if (VP8GetCPUInfo(kMSA)) { - VP8LEncDspInitMSA(); - } -#endif - } - -#if defined(WEBP_USE_NEON) - if (WEBP_NEON_OMIT_C_CODE || - (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { - VP8LEncDspInitNEON(); - } -#endif - - assert(VP8LSubtractGreenFromBlueAndRed != NULL); - assert(VP8LTransformColor != NULL); - assert(VP8LCollectColorBlueTransforms != NULL); - assert(VP8LCollectColorRedTransforms != NULL); - assert(VP8LFastLog2Slow != NULL); - assert(VP8LFastSLog2Slow != NULL); - assert(VP8LExtraCost != NULL); - assert(VP8LExtraCostCombined != NULL); - assert(VP8LCombinedShannonEntropy != NULL); - assert(VP8LGetEntropyUnrefined != NULL); - assert(VP8LGetCombinedEntropyUnrefined != NULL); - assert(VP8LAddVector != NULL); - assert(VP8LAddVectorEq != NULL); - assert(VP8LVectorMismatch != NULL); - assert(VP8LBundleColorMap != NULL); - assert(VP8LPredictorsSub[0] != NULL); - assert(VP8LPredictorsSub[1] != NULL); - assert(VP8LPredictorsSub[2] != NULL); - assert(VP8LPredictorsSub[3] != NULL); - assert(VP8LPredictorsSub[4] != NULL); - assert(VP8LPredictorsSub[5] != NULL); - assert(VP8LPredictorsSub[6] != NULL); - assert(VP8LPredictorsSub[7] != NULL); - assert(VP8LPredictorsSub[8] != NULL); - assert(VP8LPredictorsSub[9] != NULL); - assert(VP8LPredictorsSub[10] != NULL); - assert(VP8LPredictorsSub[11] != NULL); - assert(VP8LPredictorsSub[12] != NULL); - assert(VP8LPredictorsSub[13] != NULL); - assert(VP8LPredictorsSub[14] != NULL); - assert(VP8LPredictorsSub[15] != NULL); - assert(VP8LPredictorsSub_C[0] != NULL); - assert(VP8LPredictorsSub_C[1] != NULL); - assert(VP8LPredictorsSub_C[2] != NULL); - assert(VP8LPredictorsSub_C[3] != NULL); - assert(VP8LPredictorsSub_C[4] != NULL); - assert(VP8LPredictorsSub_C[5] != NULL); - assert(VP8LPredictorsSub_C[6] != NULL); - assert(VP8LPredictorsSub_C[7] != NULL); - assert(VP8LPredictorsSub_C[8] != NULL); - assert(VP8LPredictorsSub_C[9] != NULL); - assert(VP8LPredictorsSub_C[10] != NULL); - assert(VP8LPredictorsSub_C[11] != NULL); - assert(VP8LPredictorsSub_C[12] != NULL); - assert(VP8LPredictorsSub_C[13] != NULL); - assert(VP8LPredictorsSub_C[14] != NULL); - assert(VP8LPredictorsSub_C[15] != NULL); -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_mips32.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_mips32.c deleted file mode 100644 index 0412a093..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_mips32.c +++ /dev/null @@ -1,397 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MIPS version of lossless functions -// -// Author(s): Djordje Pesut (djordje.pesut@imgtec.com) -// Jovan Zelincevic (jovan.zelincevic@imgtec.com) - -#include "src/dsp/dsp.h" -#include "src/dsp/lossless.h" -#include "src/dsp/lossless_common.h" - -#if defined(WEBP_USE_MIPS32) - -#include -#include -#include -#include - -static float FastSLog2Slow_MIPS32(uint32_t v) { - assert(v >= LOG_LOOKUP_IDX_MAX); - if (v < APPROX_LOG_WITH_CORRECTION_MAX) { - uint32_t log_cnt, y, correction; - const int c24 = 24; - const float v_f = (float)v; - uint32_t temp; - - // Xf = 256 = 2^8 - // log_cnt is index of leading one in upper 24 bits - __asm__ volatile( - "clz %[log_cnt], %[v] \n\t" - "addiu %[y], $zero, 1 \n\t" - "subu %[log_cnt], %[c24], %[log_cnt] \n\t" - "sllv %[y], %[y], %[log_cnt] \n\t" - "srlv %[temp], %[v], %[log_cnt] \n\t" - : [log_cnt]"=&r"(log_cnt), [y]"=&r"(y), - [temp]"=r"(temp) - : [c24]"r"(c24), [v]"r"(v) - ); - - // vf = (2^log_cnt) * Xf; where y = 2^log_cnt and Xf < 256 - // Xf = floor(Xf) * (1 + (v % y) / v) - // log2(Xf) = log2(floor(Xf)) + log2(1 + (v % y) / v) - // The correction factor: log(1 + d) ~ d; for very small d values, so - // log2(1 + (v % y) / v) ~ LOG_2_RECIPROCAL * (v % y)/v - // LOG_2_RECIPROCAL ~ 23/16 - - // (v % y) = (v % 2^log_cnt) = v & (2^log_cnt - 1) - correction = (23 * (v & (y - 1))) >> 4; - return v_f * (kLog2Table[temp] + log_cnt) + correction; - } else { - return (float)(LOG_2_RECIPROCAL * v * log((double)v)); - } -} - -static float FastLog2Slow_MIPS32(uint32_t v) { - assert(v >= LOG_LOOKUP_IDX_MAX); - if (v < APPROX_LOG_WITH_CORRECTION_MAX) { - uint32_t log_cnt, y; - const int c24 = 24; - double log_2; - uint32_t temp; - - __asm__ volatile( - "clz %[log_cnt], %[v] \n\t" - "addiu %[y], $zero, 1 \n\t" - "subu %[log_cnt], %[c24], %[log_cnt] \n\t" - "sllv %[y], %[y], %[log_cnt] \n\t" - "srlv %[temp], %[v], %[log_cnt] \n\t" - : [log_cnt]"=&r"(log_cnt), [y]"=&r"(y), - [temp]"=r"(temp) - : [c24]"r"(c24), [v]"r"(v) - ); - - log_2 = kLog2Table[temp] + log_cnt; - if (v >= APPROX_LOG_MAX) { - // Since the division is still expensive, add this correction factor only - // for large values of 'v'. - - const uint32_t correction = (23 * (v & (y - 1))) >> 4; - log_2 += (double)correction / v; - } - return (float)log_2; - } else { - return (float)(LOG_2_RECIPROCAL * log((double)v)); - } -} - -// C version of this function: -// int i = 0; -// int64_t cost = 0; -// const uint32_t* pop = &population[4]; -// const uint32_t* LoopEnd = &population[length]; -// while (pop != LoopEnd) { -// ++i; -// cost += i * *pop; -// cost += i * *(pop + 1); -// pop += 2; -// } -// return (double)cost; -static double ExtraCost_MIPS32(const uint32_t* const population, int length) { - int i, temp0, temp1; - const uint32_t* pop = &population[4]; - const uint32_t* const LoopEnd = &population[length]; - - __asm__ volatile( - "mult $zero, $zero \n\t" - "xor %[i], %[i], %[i] \n\t" - "beq %[pop], %[LoopEnd], 2f \n\t" - "1: \n\t" - "lw %[temp0], 0(%[pop]) \n\t" - "lw %[temp1], 4(%[pop]) \n\t" - "addiu %[i], %[i], 1 \n\t" - "addiu %[pop], %[pop], 8 \n\t" - "madd %[i], %[temp0] \n\t" - "madd %[i], %[temp1] \n\t" - "bne %[pop], %[LoopEnd], 1b \n\t" - "2: \n\t" - "mfhi %[temp0] \n\t" - "mflo %[temp1] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), - [i]"=&r"(i), [pop]"+r"(pop) - : [LoopEnd]"r"(LoopEnd) - : "memory", "hi", "lo" - ); - - return (double)((int64_t)temp0 << 32 | temp1); -} - -// C version of this function: -// int i = 0; -// int64_t cost = 0; -// const uint32_t* pX = &X[4]; -// const uint32_t* pY = &Y[4]; -// const uint32_t* LoopEnd = &X[length]; -// while (pX != LoopEnd) { -// const uint32_t xy0 = *pX + *pY; -// const uint32_t xy1 = *(pX + 1) + *(pY + 1); -// ++i; -// cost += i * xy0; -// cost += i * xy1; -// pX += 2; -// pY += 2; -// } -// return (double)cost; -static double ExtraCostCombined_MIPS32(const uint32_t* const X, - const uint32_t* const Y, int length) { - int i, temp0, temp1, temp2, temp3; - const uint32_t* pX = &X[4]; - const uint32_t* pY = &Y[4]; - const uint32_t* const LoopEnd = &X[length]; - - __asm__ volatile( - "mult $zero, $zero \n\t" - "xor %[i], %[i], %[i] \n\t" - "beq %[pX], %[LoopEnd], 2f \n\t" - "1: \n\t" - "lw %[temp0], 0(%[pX]) \n\t" - "lw %[temp1], 0(%[pY]) \n\t" - "lw %[temp2], 4(%[pX]) \n\t" - "lw %[temp3], 4(%[pY]) \n\t" - "addiu %[i], %[i], 1 \n\t" - "addu %[temp0], %[temp0], %[temp1] \n\t" - "addu %[temp2], %[temp2], %[temp3] \n\t" - "addiu %[pX], %[pX], 8 \n\t" - "addiu %[pY], %[pY], 8 \n\t" - "madd %[i], %[temp0] \n\t" - "madd %[i], %[temp2] \n\t" - "bne %[pX], %[LoopEnd], 1b \n\t" - "2: \n\t" - "mfhi %[temp0] \n\t" - "mflo %[temp1] \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), - [i]"=&r"(i), [pX]"+r"(pX), [pY]"+r"(pY) - : [LoopEnd]"r"(LoopEnd) - : "memory", "hi", "lo" - ); - - return (double)((int64_t)temp0 << 32 | temp1); -} - -#define HUFFMAN_COST_PASS \ - __asm__ volatile( \ - "sll %[temp1], %[temp0], 3 \n\t" \ - "addiu %[temp3], %[streak], -3 \n\t" \ - "addu %[temp2], %[pstreaks], %[temp1] \n\t" \ - "blez %[temp3], 1f \n\t" \ - "srl %[temp1], %[temp1], 1 \n\t" \ - "addu %[temp3], %[pcnts], %[temp1] \n\t" \ - "lw %[temp0], 4(%[temp2]) \n\t" \ - "lw %[temp1], 0(%[temp3]) \n\t" \ - "addu %[temp0], %[temp0], %[streak] \n\t" \ - "addiu %[temp1], %[temp1], 1 \n\t" \ - "sw %[temp0], 4(%[temp2]) \n\t" \ - "sw %[temp1], 0(%[temp3]) \n\t" \ - "b 2f \n\t" \ - "1: \n\t" \ - "lw %[temp0], 0(%[temp2]) \n\t" \ - "addu %[temp0], %[temp0], %[streak] \n\t" \ - "sw %[temp0], 0(%[temp2]) \n\t" \ - "2: \n\t" \ - : [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), \ - [temp3]"=&r"(temp3), [temp0]"+r"(temp0) \ - : [pstreaks]"r"(pstreaks), [pcnts]"r"(pcnts), \ - [streak]"r"(streak) \ - : "memory" \ - ); - -// Returns the various RLE counts -static WEBP_INLINE void GetEntropyUnrefinedHelper( - uint32_t val, int i, uint32_t* const val_prev, int* const i_prev, - VP8LBitEntropy* const bit_entropy, VP8LStreaks* const stats) { - int* const pstreaks = &stats->streaks[0][0]; - int* const pcnts = &stats->counts[0]; - int temp0, temp1, temp2, temp3; - const int streak = i - *i_prev; - - // Gather info for the bit entropy. - if (*val_prev != 0) { - bit_entropy->sum += (*val_prev) * streak; - bit_entropy->nonzeros += streak; - bit_entropy->nonzero_code = *i_prev; - bit_entropy->entropy -= VP8LFastSLog2(*val_prev) * streak; - if (bit_entropy->max_val < *val_prev) { - bit_entropy->max_val = *val_prev; - } - } - - // Gather info for the Huffman cost. - temp0 = (*val_prev != 0); - HUFFMAN_COST_PASS - - *val_prev = val; - *i_prev = i; -} - -static void GetEntropyUnrefined_MIPS32(const uint32_t X[], int length, - VP8LBitEntropy* const bit_entropy, - VP8LStreaks* const stats) { - int i; - int i_prev = 0; - uint32_t x_prev = X[0]; - - memset(stats, 0, sizeof(*stats)); - VP8LBitEntropyInit(bit_entropy); - - for (i = 1; i < length; ++i) { - const uint32_t x = X[i]; - if (x != x_prev) { - GetEntropyUnrefinedHelper(x, i, &x_prev, &i_prev, bit_entropy, stats); - } - } - GetEntropyUnrefinedHelper(0, i, &x_prev, &i_prev, bit_entropy, stats); - - bit_entropy->entropy += VP8LFastSLog2(bit_entropy->sum); -} - -static void GetCombinedEntropyUnrefined_MIPS32(const uint32_t X[], - const uint32_t Y[], - int length, - VP8LBitEntropy* const entropy, - VP8LStreaks* const stats) { - int i = 1; - int i_prev = 0; - uint32_t xy_prev = X[0] + Y[0]; - - memset(stats, 0, sizeof(*stats)); - VP8LBitEntropyInit(entropy); - - for (i = 1; i < length; ++i) { - const uint32_t xy = X[i] + Y[i]; - if (xy != xy_prev) { - GetEntropyUnrefinedHelper(xy, i, &xy_prev, &i_prev, entropy, stats); - } - } - GetEntropyUnrefinedHelper(0, i, &xy_prev, &i_prev, entropy, stats); - - entropy->entropy += VP8LFastSLog2(entropy->sum); -} - -#define ASM_START \ - __asm__ volatile( \ - ".set push \n\t" \ - ".set at \n\t" \ - ".set macro \n\t" \ - "1: \n\t" - -// P2 = P0 + P1 -// A..D - offsets -// E - temp variable to tell macro -// if pointer should be incremented -// literal_ and successive histograms could be unaligned -// so we must use ulw and usw -#define ADD_TO_OUT(A, B, C, D, E, P0, P1, P2) \ - "ulw %[temp0], " #A "(%[" #P0 "]) \n\t" \ - "ulw %[temp1], " #B "(%[" #P0 "]) \n\t" \ - "ulw %[temp2], " #C "(%[" #P0 "]) \n\t" \ - "ulw %[temp3], " #D "(%[" #P0 "]) \n\t" \ - "ulw %[temp4], " #A "(%[" #P1 "]) \n\t" \ - "ulw %[temp5], " #B "(%[" #P1 "]) \n\t" \ - "ulw %[temp6], " #C "(%[" #P1 "]) \n\t" \ - "ulw %[temp7], " #D "(%[" #P1 "]) \n\t" \ - "addu %[temp4], %[temp4], %[temp0] \n\t" \ - "addu %[temp5], %[temp5], %[temp1] \n\t" \ - "addu %[temp6], %[temp6], %[temp2] \n\t" \ - "addu %[temp7], %[temp7], %[temp3] \n\t" \ - "addiu %[" #P0 "], %[" #P0 "], 16 \n\t" \ - ".if " #E " == 1 \n\t" \ - "addiu %[" #P1 "], %[" #P1 "], 16 \n\t" \ - ".endif \n\t" \ - "usw %[temp4], " #A "(%[" #P2 "]) \n\t" \ - "usw %[temp5], " #B "(%[" #P2 "]) \n\t" \ - "usw %[temp6], " #C "(%[" #P2 "]) \n\t" \ - "usw %[temp7], " #D "(%[" #P2 "]) \n\t" \ - "addiu %[" #P2 "], %[" #P2 "], 16 \n\t" \ - "bne %[" #P0 "], %[LoopEnd], 1b \n\t" \ - ".set pop \n\t" \ - -#define ASM_END_COMMON_0 \ - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), \ - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), \ - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), \ - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), \ - [pa]"+r"(pa), [pout]"+r"(pout) - -#define ASM_END_COMMON_1 \ - : [LoopEnd]"r"(LoopEnd) \ - : "memory", "at" \ - ); - -#define ASM_END_0 \ - ASM_END_COMMON_0 \ - , [pb]"+r"(pb) \ - ASM_END_COMMON_1 - -#define ASM_END_1 \ - ASM_END_COMMON_0 \ - ASM_END_COMMON_1 - -static void AddVector_MIPS32(const uint32_t* pa, const uint32_t* pb, - uint32_t* pout, int size) { - uint32_t temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; - const uint32_t end = ((size) / 4) * 4; - const uint32_t* const LoopEnd = pa + end; - int i; - ASM_START - ADD_TO_OUT(0, 4, 8, 12, 1, pa, pb, pout) - ASM_END_0 - for (i = end; i < size; ++i) pout[i] = pa[i] + pb[i]; -} - -static void AddVectorEq_MIPS32(const uint32_t* pa, uint32_t* pout, int size) { - uint32_t temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; - const uint32_t end = ((size) / 4) * 4; - const uint32_t* const LoopEnd = pa + end; - int i; - ASM_START - ADD_TO_OUT(0, 4, 8, 12, 0, pa, pout, pout) - ASM_END_1 - for (i = end; i < size; ++i) pout[i] += pa[i]; -} - -#undef ASM_END_1 -#undef ASM_END_0 -#undef ASM_END_COMMON_1 -#undef ASM_END_COMMON_0 -#undef ADD_TO_OUT -#undef ASM_START - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8LEncDspInitMIPS32(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitMIPS32(void) { - VP8LFastSLog2Slow = FastSLog2Slow_MIPS32; - VP8LFastLog2Slow = FastLog2Slow_MIPS32; - VP8LExtraCost = ExtraCost_MIPS32; - VP8LExtraCostCombined = ExtraCostCombined_MIPS32; - VP8LGetEntropyUnrefined = GetEntropyUnrefined_MIPS32; - VP8LGetCombinedEntropyUnrefined = GetCombinedEntropyUnrefined_MIPS32; - VP8LAddVector = AddVector_MIPS32; - VP8LAddVectorEq = AddVectorEq_MIPS32; -} - -#else // !WEBP_USE_MIPS32 - -WEBP_DSP_INIT_STUB(VP8LEncDspInitMIPS32) - -#endif // WEBP_USE_MIPS32 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c deleted file mode 100644 index 5855e6ae..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c +++ /dev/null @@ -1,281 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Image transform methods for lossless encoder. -// -// Author(s): Djordje Pesut (djordje.pesut@imgtec.com) -// Jovan Zelincevic (jovan.zelincevic@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) - -#include "src/dsp/lossless.h" - -static void SubtractGreenFromBlueAndRed_MIPSdspR2(uint32_t* argb_data, - int num_pixels) { - uint32_t temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; - uint32_t* const p_loop1_end = argb_data + (num_pixels & ~3); - uint32_t* const p_loop2_end = p_loop1_end + (num_pixels & 3); - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "beq %[argb_data], %[p_loop1_end], 3f \n\t" - " nop \n\t" - "0: \n\t" - "lw %[temp0], 0(%[argb_data]) \n\t" - "lw %[temp1], 4(%[argb_data]) \n\t" - "lw %[temp2], 8(%[argb_data]) \n\t" - "lw %[temp3], 12(%[argb_data]) \n\t" - "ext %[temp4], %[temp0], 8, 8 \n\t" - "ext %[temp5], %[temp1], 8, 8 \n\t" - "ext %[temp6], %[temp2], 8, 8 \n\t" - "ext %[temp7], %[temp3], 8, 8 \n\t" - "addiu %[argb_data], %[argb_data], 16 \n\t" - "replv.ph %[temp4], %[temp4] \n\t" - "replv.ph %[temp5], %[temp5] \n\t" - "replv.ph %[temp6], %[temp6] \n\t" - "replv.ph %[temp7], %[temp7] \n\t" - "subu.qb %[temp0], %[temp0], %[temp4] \n\t" - "subu.qb %[temp1], %[temp1], %[temp5] \n\t" - "subu.qb %[temp2], %[temp2], %[temp6] \n\t" - "subu.qb %[temp3], %[temp3], %[temp7] \n\t" - "sw %[temp0], -16(%[argb_data]) \n\t" - "sw %[temp1], -12(%[argb_data]) \n\t" - "sw %[temp2], -8(%[argb_data]) \n\t" - "bne %[argb_data], %[p_loop1_end], 0b \n\t" - " sw %[temp3], -4(%[argb_data]) \n\t" - "3: \n\t" - "beq %[argb_data], %[p_loop2_end], 2f \n\t" - " nop \n\t" - "1: \n\t" - "lw %[temp0], 0(%[argb_data]) \n\t" - "addiu %[argb_data], %[argb_data], 4 \n\t" - "ext %[temp4], %[temp0], 8, 8 \n\t" - "replv.ph %[temp4], %[temp4] \n\t" - "subu.qb %[temp0], %[temp0], %[temp4] \n\t" - "bne %[argb_data], %[p_loop2_end], 1b \n\t" - " sw %[temp0], -4(%[argb_data]) \n\t" - "2: \n\t" - ".set pop \n\t" - : [argb_data]"+&r"(argb_data), [temp0]"=&r"(temp0), - [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [temp6]"=&r"(temp6), - [temp7]"=&r"(temp7) - : [p_loop1_end]"r"(p_loop1_end), [p_loop2_end]"r"(p_loop2_end) - : "memory" - ); -} - -static WEBP_INLINE uint32_t ColorTransformDelta(int8_t color_pred, - int8_t color) { - return (uint32_t)((int)(color_pred) * color) >> 5; -} - -static void TransformColor_MIPSdspR2(const VP8LMultipliers* const m, - uint32_t* data, int num_pixels) { - int temp0, temp1, temp2, temp3, temp4, temp5; - uint32_t argb, argb1, new_red, new_red1; - const uint32_t G_to_R = m->green_to_red_; - const uint32_t G_to_B = m->green_to_blue_; - const uint32_t R_to_B = m->red_to_blue_; - uint32_t* const p_loop_end = data + (num_pixels & ~1); - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "beq %[data], %[p_loop_end], 1f \n\t" - " nop \n\t" - "replv.ph %[temp0], %[G_to_R] \n\t" - "replv.ph %[temp1], %[G_to_B] \n\t" - "replv.ph %[temp2], %[R_to_B] \n\t" - "shll.ph %[temp0], %[temp0], 8 \n\t" - "shll.ph %[temp1], %[temp1], 8 \n\t" - "shll.ph %[temp2], %[temp2], 8 \n\t" - "shra.ph %[temp0], %[temp0], 8 \n\t" - "shra.ph %[temp1], %[temp1], 8 \n\t" - "shra.ph %[temp2], %[temp2], 8 \n\t" - "0: \n\t" - "lw %[argb], 0(%[data]) \n\t" - "lw %[argb1], 4(%[data]) \n\t" - "lhu %[new_red], 2(%[data]) \n\t" - "lhu %[new_red1], 6(%[data]) \n\t" - "precrq.qb.ph %[temp3], %[argb], %[argb1] \n\t" - "precr.qb.ph %[temp4], %[argb], %[argb1] \n\t" - "preceu.ph.qbra %[temp3], %[temp3] \n\t" - "preceu.ph.qbla %[temp4], %[temp4] \n\t" - "shll.ph %[temp3], %[temp3], 8 \n\t" - "shll.ph %[temp4], %[temp4], 8 \n\t" - "shra.ph %[temp3], %[temp3], 8 \n\t" - "shra.ph %[temp4], %[temp4], 8 \n\t" - "mul.ph %[temp5], %[temp3], %[temp0] \n\t" - "mul.ph %[temp3], %[temp3], %[temp1] \n\t" - "mul.ph %[temp4], %[temp4], %[temp2] \n\t" - "addiu %[data], %[data], 8 \n\t" - "ins %[new_red1], %[new_red], 16, 16 \n\t" - "ins %[argb1], %[argb], 16, 16 \n\t" - "shra.ph %[temp5], %[temp5], 5 \n\t" - "shra.ph %[temp3], %[temp3], 5 \n\t" - "shra.ph %[temp4], %[temp4], 5 \n\t" - "subu.ph %[new_red1], %[new_red1], %[temp5] \n\t" - "subu.ph %[argb1], %[argb1], %[temp3] \n\t" - "preceu.ph.qbra %[temp5], %[new_red1] \n\t" - "subu.ph %[argb1], %[argb1], %[temp4] \n\t" - "preceu.ph.qbra %[temp3], %[argb1] \n\t" - "sb %[temp5], -2(%[data]) \n\t" - "sb %[temp3], -4(%[data]) \n\t" - "sra %[temp5], %[temp5], 16 \n\t" - "sra %[temp3], %[temp3], 16 \n\t" - "sb %[temp5], -6(%[data]) \n\t" - "bne %[data], %[p_loop_end], 0b \n\t" - " sb %[temp3], -8(%[data]) \n\t" - "1: \n\t" - ".set pop \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [new_red1]"=&r"(new_red1), [new_red]"=&r"(new_red), - [argb]"=&r"(argb), [argb1]"=&r"(argb1), [data]"+&r"(data) - : [G_to_R]"r"(G_to_R), [R_to_B]"r"(R_to_B), - [G_to_B]"r"(G_to_B), [p_loop_end]"r"(p_loop_end) - : "memory", "hi", "lo" - ); - - if (num_pixels & 1) { - const uint32_t argb_ = data[0]; - const uint32_t green = argb_ >> 8; - const uint32_t red = argb_ >> 16; - uint32_t new_blue = argb_; - new_red = red; - new_red -= ColorTransformDelta(m->green_to_red_, green); - new_red &= 0xff; - new_blue -= ColorTransformDelta(m->green_to_blue_, green); - new_blue -= ColorTransformDelta(m->red_to_blue_, red); - new_blue &= 0xff; - data[0] = (argb_ & 0xff00ff00u) | (new_red << 16) | (new_blue); - } -} - -static WEBP_INLINE uint8_t TransformColorBlue(uint8_t green_to_blue, - uint8_t red_to_blue, - uint32_t argb) { - const uint32_t green = argb >> 8; - const uint32_t red = argb >> 16; - uint8_t new_blue = argb; - new_blue -= ColorTransformDelta(green_to_blue, green); - new_blue -= ColorTransformDelta(red_to_blue, red); - return (new_blue & 0xff); -} - -static void CollectColorBlueTransforms_MIPSdspR2(const uint32_t* argb, - int stride, - int tile_width, - int tile_height, - int green_to_blue, - int red_to_blue, - int histo[]) { - const int rtb = (red_to_blue << 16) | (red_to_blue & 0xffff); - const int gtb = (green_to_blue << 16) | (green_to_blue & 0xffff); - const uint32_t mask = 0xff00ffu; - while (tile_height-- > 0) { - int x; - const uint32_t* p_argb = argb; - argb += stride; - for (x = 0; x < (tile_width >> 1); ++x) { - int temp0, temp1, temp2, temp3, temp4, temp5, temp6; - __asm__ volatile ( - "lw %[temp0], 0(%[p_argb]) \n\t" - "lw %[temp1], 4(%[p_argb]) \n\t" - "precr.qb.ph %[temp2], %[temp0], %[temp1] \n\t" - "ins %[temp1], %[temp0], 16, 16 \n\t" - "shra.ph %[temp2], %[temp2], 8 \n\t" - "shra.ph %[temp3], %[temp1], 8 \n\t" - "mul.ph %[temp5], %[temp2], %[rtb] \n\t" - "mul.ph %[temp6], %[temp3], %[gtb] \n\t" - "and %[temp4], %[temp1], %[mask] \n\t" - "addiu %[p_argb], %[p_argb], 8 \n\t" - "shra.ph %[temp5], %[temp5], 5 \n\t" - "shra.ph %[temp6], %[temp6], 5 \n\t" - "subu.qb %[temp2], %[temp4], %[temp5] \n\t" - "subu.qb %[temp2], %[temp2], %[temp6] \n\t" - : [p_argb]"+&r"(p_argb), [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), - [temp5]"=&r"(temp5), [temp6]"=&r"(temp6) - : [rtb]"r"(rtb), [gtb]"r"(gtb), [mask]"r"(mask) - : "memory", "hi", "lo" - ); - ++histo[(uint8_t)(temp2 >> 16)]; - ++histo[(uint8_t)temp2]; - } - if (tile_width & 1) { - ++histo[TransformColorBlue(green_to_blue, red_to_blue, *p_argb)]; - } - } -} - -static WEBP_INLINE uint8_t TransformColorRed(uint8_t green_to_red, - uint32_t argb) { - const uint32_t green = argb >> 8; - uint32_t new_red = argb >> 16; - new_red -= ColorTransformDelta(green_to_red, green); - return (new_red & 0xff); -} - -static void CollectColorRedTransforms_MIPSdspR2(const uint32_t* argb, - int stride, - int tile_width, - int tile_height, - int green_to_red, - int histo[]) { - const int gtr = (green_to_red << 16) | (green_to_red & 0xffff); - while (tile_height-- > 0) { - int x; - const uint32_t* p_argb = argb; - argb += stride; - for (x = 0; x < (tile_width >> 1); ++x) { - int temp0, temp1, temp2, temp3, temp4; - __asm__ volatile ( - "lw %[temp0], 0(%[p_argb]) \n\t" - "lw %[temp1], 4(%[p_argb]) \n\t" - "precrq.ph.w %[temp4], %[temp0], %[temp1] \n\t" - "ins %[temp1], %[temp0], 16, 16 \n\t" - "shra.ph %[temp3], %[temp1], 8 \n\t" - "mul.ph %[temp2], %[temp3], %[gtr] \n\t" - "addiu %[p_argb], %[p_argb], 8 \n\t" - "shra.ph %[temp2], %[temp2], 5 \n\t" - "subu.qb %[temp2], %[temp4], %[temp2] \n\t" - : [p_argb]"+&r"(p_argb), [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), [temp4]"=&r"(temp4) - : [gtr]"r"(gtr) - : "memory", "hi", "lo" - ); - ++histo[(uint8_t)(temp2 >> 16)]; - ++histo[(uint8_t)temp2]; - } - if (tile_width & 1) { - ++histo[TransformColorRed(green_to_red, *p_argb)]; - } - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8LEncDspInitMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitMIPSdspR2(void) { - VP8LSubtractGreenFromBlueAndRed = SubtractGreenFromBlueAndRed_MIPSdspR2; - VP8LTransformColor = TransformColor_MIPSdspR2; - VP8LCollectColorBlueTransforms = CollectColorBlueTransforms_MIPSdspR2; - VP8LCollectColorRedTransforms = CollectColorRedTransforms_MIPSdspR2; -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(VP8LEncDspInitMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_msa.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_msa.c deleted file mode 100644 index 600dddfb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_msa.c +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MSA variant of Image transform methods for lossless encoder. -// -// Authors: Prashant Patil (Prashant.Patil@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MSA) - -#include "src/dsp/lossless.h" -#include "src/dsp/msa_macro.h" - -#define TRANSFORM_COLOR_8(src0, src1, dst0, dst1, c0, c1, mask0, mask1) do { \ - v8i16 g0, g1, t0, t1, t2, t3; \ - v4i32 t4, t5; \ - VSHF_B2_SH(src0, src0, src1, src1, mask0, mask0, g0, g1); \ - DOTP_SB2_SH(g0, g1, c0, c0, t0, t1); \ - SRAI_H2_SH(t0, t1, 5); \ - t0 = __msa_subv_h((v8i16)src0, t0); \ - t1 = __msa_subv_h((v8i16)src1, t1); \ - t4 = __msa_srli_w((v4i32)src0, 16); \ - t5 = __msa_srli_w((v4i32)src1, 16); \ - DOTP_SB2_SH(t4, t5, c1, c1, t2, t3); \ - SRAI_H2_SH(t2, t3, 5); \ - SUB2(t0, t2, t1, t3, t0, t1); \ - VSHF_B2_UB(src0, t0, src1, t1, mask1, mask1, dst0, dst1); \ -} while (0) - -#define TRANSFORM_COLOR_4(src, dst, c0, c1, mask0, mask1) do { \ - const v16i8 g0 = VSHF_SB(src, src, mask0); \ - v8i16 t0 = __msa_dotp_s_h(c0, g0); \ - v8i16 t1; \ - v4i32 t2; \ - t0 = SRAI_H(t0, 5); \ - t0 = __msa_subv_h((v8i16)src, t0); \ - t2 = __msa_srli_w((v4i32)src, 16); \ - t1 = __msa_dotp_s_h(c1, (v16i8)t2); \ - t1 = SRAI_H(t1, 5); \ - t0 = t0 - t1; \ - dst = VSHF_UB(src, t0, mask1); \ -} while (0) - -static void TransformColor_MSA(const VP8LMultipliers* const m, uint32_t* data, - int num_pixels) { - v16u8 src0, dst0; - const v16i8 g2br = (v16i8)__msa_fill_w(m->green_to_blue_ | - (m->green_to_red_ << 16)); - const v16i8 r2b = (v16i8)__msa_fill_w(m->red_to_blue_); - const v16u8 mask0 = { 1, 255, 1, 255, 5, 255, 5, 255, 9, 255, 9, 255, - 13, 255, 13, 255 }; - const v16u8 mask1 = { 16, 1, 18, 3, 20, 5, 22, 7, 24, 9, 26, 11, - 28, 13, 30, 15 }; - - while (num_pixels >= 8) { - v16u8 src1, dst1; - LD_UB2(data, 4, src0, src1); - TRANSFORM_COLOR_8(src0, src1, dst0, dst1, g2br, r2b, mask0, mask1); - ST_UB2(dst0, dst1, data, 4); - data += 8; - num_pixels -= 8; - } - if (num_pixels > 0) { - if (num_pixels >= 4) { - src0 = LD_UB(data); - TRANSFORM_COLOR_4(src0, dst0, g2br, r2b, mask0, mask1); - ST_UB(dst0, data); - data += 4; - num_pixels -= 4; - } - if (num_pixels > 0) { - src0 = LD_UB(data); - TRANSFORM_COLOR_4(src0, dst0, g2br, r2b, mask0, mask1); - if (num_pixels == 3) { - const uint64_t pix_d = __msa_copy_s_d((v2i64)dst0, 0); - const uint32_t pix_w = __msa_copy_s_w((v4i32)dst0, 2); - SD(pix_d, data + 0); - SW(pix_w, data + 2); - } else if (num_pixels == 2) { - const uint64_t pix_d = __msa_copy_s_d((v2i64)dst0, 0); - SD(pix_d, data); - } else { - const uint32_t pix_w = __msa_copy_s_w((v4i32)dst0, 0); - SW(pix_w, data); - } - } - } -} - -static void SubtractGreenFromBlueAndRed_MSA(uint32_t* argb_data, - int num_pixels) { - int i; - uint8_t* ptemp_data = (uint8_t*)argb_data; - v16u8 src0, dst0, tmp0; - const v16u8 mask = { 1, 255, 1, 255, 5, 255, 5, 255, 9, 255, 9, 255, - 13, 255, 13, 255 }; - - while (num_pixels >= 8) { - v16u8 src1, dst1, tmp1; - LD_UB2(ptemp_data, 16, src0, src1); - VSHF_B2_UB(src0, src1, src1, src0, mask, mask, tmp0, tmp1); - SUB2(src0, tmp0, src1, tmp1, dst0, dst1); - ST_UB2(dst0, dst1, ptemp_data, 16); - ptemp_data += 8 * 4; - num_pixels -= 8; - } - if (num_pixels > 0) { - if (num_pixels >= 4) { - src0 = LD_UB(ptemp_data); - tmp0 = VSHF_UB(src0, src0, mask); - dst0 = src0 - tmp0; - ST_UB(dst0, ptemp_data); - ptemp_data += 4 * 4; - num_pixels -= 4; - } - for (i = 0; i < num_pixels; i++) { - const uint8_t b = ptemp_data[0]; - const uint8_t g = ptemp_data[1]; - const uint8_t r = ptemp_data[2]; - ptemp_data[0] = (b - g) & 0xff; - ptemp_data[2] = (r - g) & 0xff; - ptemp_data += 4; - } - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8LEncDspInitMSA(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitMSA(void) { - VP8LSubtractGreenFromBlueAndRed = SubtractGreenFromBlueAndRed_MSA; - VP8LTransformColor = TransformColor_MSA; -} - -#else // !WEBP_USE_MSA - -WEBP_DSP_INIT_STUB(VP8LEncDspInitMSA) - -#endif // WEBP_USE_MSA diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_neon.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_neon.c deleted file mode 100644 index 7c7b73f8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_neon.c +++ /dev/null @@ -1,144 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// NEON variant of methods for lossless encoder -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_NEON) - -#include - -#include "src/dsp/lossless.h" -#include "src/dsp/neon.h" - -//------------------------------------------------------------------------------ -// Subtract-Green Transform - -// vtbl?_u8 are marked unavailable for iOS arm64 with Xcode < 6.3, use -// non-standard versions there. -#if defined(__APPLE__) && defined(__aarch64__) && \ - defined(__apple_build_version__) && (__apple_build_version__< 6020037) -#define USE_VTBLQ -#endif - -#ifdef USE_VTBLQ -// 255 = byte will be zeroed -static const uint8_t kGreenShuffle[16] = { - 1, 255, 1, 255, 5, 255, 5, 255, 9, 255, 9, 255, 13, 255, 13, 255 -}; - -static WEBP_INLINE uint8x16_t DoGreenShuffle_NEON(const uint8x16_t argb, - const uint8x16_t shuffle) { - return vcombine_u8(vtbl1q_u8(argb, vget_low_u8(shuffle)), - vtbl1q_u8(argb, vget_high_u8(shuffle))); -} -#else // !USE_VTBLQ -// 255 = byte will be zeroed -static const uint8_t kGreenShuffle[8] = { 1, 255, 1, 255, 5, 255, 5, 255 }; - -static WEBP_INLINE uint8x16_t DoGreenShuffle_NEON(const uint8x16_t argb, - const uint8x8_t shuffle) { - return vcombine_u8(vtbl1_u8(vget_low_u8(argb), shuffle), - vtbl1_u8(vget_high_u8(argb), shuffle)); -} -#endif // USE_VTBLQ - -static void SubtractGreenFromBlueAndRed_NEON(uint32_t* argb_data, - int num_pixels) { - const uint32_t* const end = argb_data + (num_pixels & ~3); -#ifdef USE_VTBLQ - const uint8x16_t shuffle = vld1q_u8(kGreenShuffle); -#else - const uint8x8_t shuffle = vld1_u8(kGreenShuffle); -#endif - for (; argb_data < end; argb_data += 4) { - const uint8x16_t argb = vld1q_u8((uint8_t*)argb_data); - const uint8x16_t greens = DoGreenShuffle_NEON(argb, shuffle); - vst1q_u8((uint8_t*)argb_data, vsubq_u8(argb, greens)); - } - // fallthrough and finish off with plain-C - VP8LSubtractGreenFromBlueAndRed_C(argb_data, num_pixels & 3); -} - -//------------------------------------------------------------------------------ -// Color Transform - -static void TransformColor_NEON(const VP8LMultipliers* const m, - uint32_t* argb_data, int num_pixels) { - // sign-extended multiplying constants, pre-shifted by 6. -#define CST(X) (((int16_t)(m->X << 8)) >> 6) - const int16_t rb[8] = { - CST(green_to_blue_), CST(green_to_red_), - CST(green_to_blue_), CST(green_to_red_), - CST(green_to_blue_), CST(green_to_red_), - CST(green_to_blue_), CST(green_to_red_) - }; - const int16x8_t mults_rb = vld1q_s16(rb); - const int16_t b2[8] = { - 0, CST(red_to_blue_), 0, CST(red_to_blue_), - 0, CST(red_to_blue_), 0, CST(red_to_blue_), - }; - const int16x8_t mults_b2 = vld1q_s16(b2); -#undef CST -#ifdef USE_VTBLQ - static const uint8_t kg0g0[16] = { - 255, 1, 255, 1, 255, 5, 255, 5, 255, 9, 255, 9, 255, 13, 255, 13 - }; - const uint8x16_t shuffle = vld1q_u8(kg0g0); -#else - static const uint8_t k0g0g[8] = { 255, 1, 255, 1, 255, 5, 255, 5 }; - const uint8x8_t shuffle = vld1_u8(k0g0g); -#endif - const uint32x4_t mask_rb = vdupq_n_u32(0x00ff00ffu); // red-blue masks - int i; - for (i = 0; i + 4 <= num_pixels; i += 4) { - const uint8x16_t in = vld1q_u8((uint8_t*)(argb_data + i)); - // 0 g 0 g - const uint8x16_t greens = DoGreenShuffle_NEON(in, shuffle); - // x dr x db1 - const int16x8_t A = vqdmulhq_s16(vreinterpretq_s16_u8(greens), mults_rb); - // r 0 b 0 - const int16x8_t B = vshlq_n_s16(vreinterpretq_s16_u8(in), 8); - // x db2 0 0 - const int16x8_t C = vqdmulhq_s16(B, mults_b2); - // 0 0 x db2 - const uint32x4_t D = vshrq_n_u32(vreinterpretq_u32_s16(C), 16); - // x dr x db - const int8x16_t E = vaddq_s8(vreinterpretq_s8_u32(D), - vreinterpretq_s8_s16(A)); - // 0 dr 0 db - const uint32x4_t F = vandq_u32(vreinterpretq_u32_s8(E), mask_rb); - const int8x16_t out = vsubq_s8(vreinterpretq_s8_u8(in), - vreinterpretq_s8_u32(F)); - vst1q_s8((int8_t*)(argb_data + i), out); - } - // fallthrough and finish off with plain-C - VP8LTransformColor_C(m, argb_data + i, num_pixels - i); -} - -#undef USE_VTBLQ - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8LEncDspInitNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitNEON(void) { - VP8LSubtractGreenFromBlueAndRed = SubtractGreenFromBlueAndRed_NEON; - VP8LTransformColor = TransformColor_NEON; -} - -#else // !WEBP_USE_NEON - -WEBP_DSP_INIT_STUB(VP8LEncDspInitNEON) - -#endif // WEBP_USE_NEON diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_sse2.c deleted file mode 100644 index e676f6fd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_sse2.c +++ /dev/null @@ -1,686 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE2 variant of methods for lossless encoder -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE2) -#include -#include -#include "src/dsp/lossless.h" -#include "src/dsp/common_sse2.h" -#include "src/dsp/lossless_common.h" - -// For sign-extended multiplying constants, pre-shifted by 5: -#define CST_5b(X) (((int16_t)((uint16_t)(X) << 8)) >> 5) - -//------------------------------------------------------------------------------ -// Subtract-Green Transform - -static void SubtractGreenFromBlueAndRed_SSE2(uint32_t* argb_data, - int num_pixels) { - int i; - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i in = _mm_loadu_si128((__m128i*)&argb_data[i]); // argb - const __m128i A = _mm_srli_epi16(in, 8); // 0 a 0 g - const __m128i B = _mm_shufflelo_epi16(A, _MM_SHUFFLE(2, 2, 0, 0)); - const __m128i C = _mm_shufflehi_epi16(B, _MM_SHUFFLE(2, 2, 0, 0)); // 0g0g - const __m128i out = _mm_sub_epi8(in, C); - _mm_storeu_si128((__m128i*)&argb_data[i], out); - } - // fallthrough and finish off with plain-C - if (i != num_pixels) { - VP8LSubtractGreenFromBlueAndRed_C(argb_data + i, num_pixels - i); - } -} - -//------------------------------------------------------------------------------ -// Color Transform - -#define MK_CST_16(HI, LO) \ - _mm_set1_epi32((int)(((uint32_t)(HI) << 16) | ((LO) & 0xffff))) - -static void TransformColor_SSE2(const VP8LMultipliers* const m, - uint32_t* argb_data, int num_pixels) { - const __m128i mults_rb = MK_CST_16(CST_5b(m->green_to_red_), - CST_5b(m->green_to_blue_)); - const __m128i mults_b2 = MK_CST_16(CST_5b(m->red_to_blue_), 0); - const __m128i mask_ag = _mm_set1_epi32(0xff00ff00); // alpha-green masks - const __m128i mask_rb = _mm_set1_epi32(0x00ff00ff); // red-blue masks - int i; - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i in = _mm_loadu_si128((__m128i*)&argb_data[i]); // argb - const __m128i A = _mm_and_si128(in, mask_ag); // a 0 g 0 - const __m128i B = _mm_shufflelo_epi16(A, _MM_SHUFFLE(2, 2, 0, 0)); - const __m128i C = _mm_shufflehi_epi16(B, _MM_SHUFFLE(2, 2, 0, 0)); // g0g0 - const __m128i D = _mm_mulhi_epi16(C, mults_rb); // x dr x db1 - const __m128i E = _mm_slli_epi16(in, 8); // r 0 b 0 - const __m128i F = _mm_mulhi_epi16(E, mults_b2); // x db2 0 0 - const __m128i G = _mm_srli_epi32(F, 16); // 0 0 x db2 - const __m128i H = _mm_add_epi8(G, D); // x dr x db - const __m128i I = _mm_and_si128(H, mask_rb); // 0 dr 0 db - const __m128i out = _mm_sub_epi8(in, I); - _mm_storeu_si128((__m128i*)&argb_data[i], out); - } - // fallthrough and finish off with plain-C - if (i != num_pixels) { - VP8LTransformColor_C(m, argb_data + i, num_pixels - i); - } -} - -//------------------------------------------------------------------------------ -#define SPAN 8 -static void CollectColorBlueTransforms_SSE2(const uint32_t* argb, int stride, - int tile_width, int tile_height, - int green_to_blue, int red_to_blue, - int histo[]) { - const __m128i mults_r = MK_CST_16(CST_5b(red_to_blue), 0); - const __m128i mults_g = MK_CST_16(0, CST_5b(green_to_blue)); - const __m128i mask_g = _mm_set1_epi32(0x00ff00); // green mask - const __m128i mask_b = _mm_set1_epi32(0x0000ff); // blue mask - int y; - for (y = 0; y < tile_height; ++y) { - const uint32_t* const src = argb + y * stride; - int i, x; - for (x = 0; x + SPAN <= tile_width; x += SPAN) { - uint16_t values[SPAN]; - const __m128i in0 = _mm_loadu_si128((__m128i*)&src[x + 0]); - const __m128i in1 = _mm_loadu_si128((__m128i*)&src[x + SPAN / 2]); - const __m128i A0 = _mm_slli_epi16(in0, 8); // r 0 | b 0 - const __m128i A1 = _mm_slli_epi16(in1, 8); - const __m128i B0 = _mm_and_si128(in0, mask_g); // 0 0 | g 0 - const __m128i B1 = _mm_and_si128(in1, mask_g); - const __m128i C0 = _mm_mulhi_epi16(A0, mults_r); // x db | 0 0 - const __m128i C1 = _mm_mulhi_epi16(A1, mults_r); - const __m128i D0 = _mm_mulhi_epi16(B0, mults_g); // 0 0 | x db - const __m128i D1 = _mm_mulhi_epi16(B1, mults_g); - const __m128i E0 = _mm_sub_epi8(in0, D0); // x x | x b' - const __m128i E1 = _mm_sub_epi8(in1, D1); - const __m128i F0 = _mm_srli_epi32(C0, 16); // 0 0 | x db - const __m128i F1 = _mm_srli_epi32(C1, 16); - const __m128i G0 = _mm_sub_epi8(E0, F0); // 0 0 | x b' - const __m128i G1 = _mm_sub_epi8(E1, F1); - const __m128i H0 = _mm_and_si128(G0, mask_b); // 0 0 | 0 b - const __m128i H1 = _mm_and_si128(G1, mask_b); - const __m128i I = _mm_packs_epi32(H0, H1); // 0 b' | 0 b' - _mm_storeu_si128((__m128i*)values, I); - for (i = 0; i < SPAN; ++i) ++histo[values[i]]; - } - } - { - const int left_over = tile_width & (SPAN - 1); - if (left_over > 0) { - VP8LCollectColorBlueTransforms_C(argb + tile_width - left_over, stride, - left_over, tile_height, - green_to_blue, red_to_blue, histo); - } - } -} - -static void CollectColorRedTransforms_SSE2(const uint32_t* argb, int stride, - int tile_width, int tile_height, - int green_to_red, int histo[]) { - const __m128i mults_g = MK_CST_16(0, CST_5b(green_to_red)); - const __m128i mask_g = _mm_set1_epi32(0x00ff00); // green mask - const __m128i mask = _mm_set1_epi32(0xff); - - int y; - for (y = 0; y < tile_height; ++y) { - const uint32_t* const src = argb + y * stride; - int i, x; - for (x = 0; x + SPAN <= tile_width; x += SPAN) { - uint16_t values[SPAN]; - const __m128i in0 = _mm_loadu_si128((__m128i*)&src[x + 0]); - const __m128i in1 = _mm_loadu_si128((__m128i*)&src[x + SPAN / 2]); - const __m128i A0 = _mm_and_si128(in0, mask_g); // 0 0 | g 0 - const __m128i A1 = _mm_and_si128(in1, mask_g); - const __m128i B0 = _mm_srli_epi32(in0, 16); // 0 0 | x r - const __m128i B1 = _mm_srli_epi32(in1, 16); - const __m128i C0 = _mm_mulhi_epi16(A0, mults_g); // 0 0 | x dr - const __m128i C1 = _mm_mulhi_epi16(A1, mults_g); - const __m128i E0 = _mm_sub_epi8(B0, C0); // x x | x r' - const __m128i E1 = _mm_sub_epi8(B1, C1); - const __m128i F0 = _mm_and_si128(E0, mask); // 0 0 | 0 r' - const __m128i F1 = _mm_and_si128(E1, mask); - const __m128i I = _mm_packs_epi32(F0, F1); - _mm_storeu_si128((__m128i*)values, I); - for (i = 0; i < SPAN; ++i) ++histo[values[i]]; - } - } - { - const int left_over = tile_width & (SPAN - 1); - if (left_over > 0) { - VP8LCollectColorRedTransforms_C(argb + tile_width - left_over, stride, - left_over, tile_height, - green_to_red, histo); - } - } -} -#undef SPAN -#undef MK_CST_16 - -//------------------------------------------------------------------------------ - -// Note we are adding uint32_t's as *signed* int32's (using _mm_add_epi32). But -// that's ok since the histogram values are less than 1<<28 (max picture size). -#define LINE_SIZE 16 // 8 or 16 -static void AddVector_SSE2(const uint32_t* a, const uint32_t* b, uint32_t* out, - int size) { - int i; - for (i = 0; i + LINE_SIZE <= size; i += LINE_SIZE) { - const __m128i a0 = _mm_loadu_si128((const __m128i*)&a[i + 0]); - const __m128i a1 = _mm_loadu_si128((const __m128i*)&a[i + 4]); -#if (LINE_SIZE == 16) - const __m128i a2 = _mm_loadu_si128((const __m128i*)&a[i + 8]); - const __m128i a3 = _mm_loadu_si128((const __m128i*)&a[i + 12]); -#endif - const __m128i b0 = _mm_loadu_si128((const __m128i*)&b[i + 0]); - const __m128i b1 = _mm_loadu_si128((const __m128i*)&b[i + 4]); -#if (LINE_SIZE == 16) - const __m128i b2 = _mm_loadu_si128((const __m128i*)&b[i + 8]); - const __m128i b3 = _mm_loadu_si128((const __m128i*)&b[i + 12]); -#endif - _mm_storeu_si128((__m128i*)&out[i + 0], _mm_add_epi32(a0, b0)); - _mm_storeu_si128((__m128i*)&out[i + 4], _mm_add_epi32(a1, b1)); -#if (LINE_SIZE == 16) - _mm_storeu_si128((__m128i*)&out[i + 8], _mm_add_epi32(a2, b2)); - _mm_storeu_si128((__m128i*)&out[i + 12], _mm_add_epi32(a3, b3)); -#endif - } - for (; i < size; ++i) { - out[i] = a[i] + b[i]; - } -} - -static void AddVectorEq_SSE2(const uint32_t* a, uint32_t* out, int size) { - int i; - for (i = 0; i + LINE_SIZE <= size; i += LINE_SIZE) { - const __m128i a0 = _mm_loadu_si128((const __m128i*)&a[i + 0]); - const __m128i a1 = _mm_loadu_si128((const __m128i*)&a[i + 4]); -#if (LINE_SIZE == 16) - const __m128i a2 = _mm_loadu_si128((const __m128i*)&a[i + 8]); - const __m128i a3 = _mm_loadu_si128((const __m128i*)&a[i + 12]); -#endif - const __m128i b0 = _mm_loadu_si128((const __m128i*)&out[i + 0]); - const __m128i b1 = _mm_loadu_si128((const __m128i*)&out[i + 4]); -#if (LINE_SIZE == 16) - const __m128i b2 = _mm_loadu_si128((const __m128i*)&out[i + 8]); - const __m128i b3 = _mm_loadu_si128((const __m128i*)&out[i + 12]); -#endif - _mm_storeu_si128((__m128i*)&out[i + 0], _mm_add_epi32(a0, b0)); - _mm_storeu_si128((__m128i*)&out[i + 4], _mm_add_epi32(a1, b1)); -#if (LINE_SIZE == 16) - _mm_storeu_si128((__m128i*)&out[i + 8], _mm_add_epi32(a2, b2)); - _mm_storeu_si128((__m128i*)&out[i + 12], _mm_add_epi32(a3, b3)); -#endif - } - for (; i < size; ++i) { - out[i] += a[i]; - } -} -#undef LINE_SIZE - -//------------------------------------------------------------------------------ -// Entropy - -// Checks whether the X or Y contribution is worth computing and adding. -// Used in loop unrolling. -#define ANALYZE_X_OR_Y(x_or_y, j) \ - do { \ - if ((x_or_y)[i + (j)] != 0) retval -= VP8LFastSLog2((x_or_y)[i + (j)]); \ - } while (0) - -// Checks whether the X + Y contribution is worth computing and adding. -// Used in loop unrolling. -#define ANALYZE_XY(j) \ - do { \ - if (tmp[j] != 0) { \ - retval -= VP8LFastSLog2(tmp[j]); \ - ANALYZE_X_OR_Y(X, j); \ - } \ - } while (0) - -static float CombinedShannonEntropy_SSE2(const int X[256], const int Y[256]) { - int i; - double retval = 0.; - int sumX, sumXY; - int32_t tmp[4]; - __m128i zero = _mm_setzero_si128(); - // Sums up X + Y, 4 ints at a time (and will merge it at the end for sumXY). - __m128i sumXY_128 = zero; - __m128i sumX_128 = zero; - - for (i = 0; i < 256; i += 4) { - const __m128i x = _mm_loadu_si128((const __m128i*)(X + i)); - const __m128i y = _mm_loadu_si128((const __m128i*)(Y + i)); - - // Check if any X is non-zero: this actually provides a speedup as X is - // usually sparse. - if (_mm_movemask_epi8(_mm_cmpeq_epi32(x, zero)) != 0xFFFF) { - const __m128i xy_128 = _mm_add_epi32(x, y); - sumXY_128 = _mm_add_epi32(sumXY_128, xy_128); - - sumX_128 = _mm_add_epi32(sumX_128, x); - - // Analyze the different X + Y. - _mm_storeu_si128((__m128i*)tmp, xy_128); - - ANALYZE_XY(0); - ANALYZE_XY(1); - ANALYZE_XY(2); - ANALYZE_XY(3); - } else { - // X is fully 0, so only deal with Y. - sumXY_128 = _mm_add_epi32(sumXY_128, y); - - ANALYZE_X_OR_Y(Y, 0); - ANALYZE_X_OR_Y(Y, 1); - ANALYZE_X_OR_Y(Y, 2); - ANALYZE_X_OR_Y(Y, 3); - } - } - - // Sum up sumX_128 to get sumX. - _mm_storeu_si128((__m128i*)tmp, sumX_128); - sumX = tmp[3] + tmp[2] + tmp[1] + tmp[0]; - - // Sum up sumXY_128 to get sumXY. - _mm_storeu_si128((__m128i*)tmp, sumXY_128); - sumXY = tmp[3] + tmp[2] + tmp[1] + tmp[0]; - - retval += VP8LFastSLog2(sumX) + VP8LFastSLog2(sumXY); - return (float)retval; -} -#undef ANALYZE_X_OR_Y -#undef ANALYZE_XY - -//------------------------------------------------------------------------------ - -static int VectorMismatch_SSE2(const uint32_t* const array1, - const uint32_t* const array2, int length) { - int match_len; - - if (length >= 12) { - __m128i A0 = _mm_loadu_si128((const __m128i*)&array1[0]); - __m128i A1 = _mm_loadu_si128((const __m128i*)&array2[0]); - match_len = 0; - do { - // Loop unrolling and early load both provide a speedup of 10% for the - // current function. Also, max_limit can be MAX_LENGTH=4096 at most. - const __m128i cmpA = _mm_cmpeq_epi32(A0, A1); - const __m128i B0 = - _mm_loadu_si128((const __m128i*)&array1[match_len + 4]); - const __m128i B1 = - _mm_loadu_si128((const __m128i*)&array2[match_len + 4]); - if (_mm_movemask_epi8(cmpA) != 0xffff) break; - match_len += 4; - - { - const __m128i cmpB = _mm_cmpeq_epi32(B0, B1); - A0 = _mm_loadu_si128((const __m128i*)&array1[match_len + 4]); - A1 = _mm_loadu_si128((const __m128i*)&array2[match_len + 4]); - if (_mm_movemask_epi8(cmpB) != 0xffff) break; - match_len += 4; - } - } while (match_len + 12 < length); - } else { - match_len = 0; - // Unroll the potential first two loops. - if (length >= 4 && - _mm_movemask_epi8(_mm_cmpeq_epi32( - _mm_loadu_si128((const __m128i*)&array1[0]), - _mm_loadu_si128((const __m128i*)&array2[0]))) == 0xffff) { - match_len = 4; - if (length >= 8 && - _mm_movemask_epi8(_mm_cmpeq_epi32( - _mm_loadu_si128((const __m128i*)&array1[4]), - _mm_loadu_si128((const __m128i*)&array2[4]))) == 0xffff) { - match_len = 8; - } - } - } - - while (match_len < length && array1[match_len] == array2[match_len]) { - ++match_len; - } - return match_len; -} - -// Bundles multiple (1, 2, 4 or 8) pixels into a single pixel. -static void BundleColorMap_SSE2(const uint8_t* const row, int width, int xbits, - uint32_t* dst) { - int x; - assert(xbits >= 0); - assert(xbits <= 3); - switch (xbits) { - case 0: { - const __m128i ff = _mm_set1_epi16((short)0xff00); - const __m128i zero = _mm_setzero_si128(); - // Store 0xff000000 | (row[x] << 8). - for (x = 0; x + 16 <= width; x += 16, dst += 16) { - const __m128i in = _mm_loadu_si128((const __m128i*)&row[x]); - const __m128i in_lo = _mm_unpacklo_epi8(zero, in); - const __m128i dst0 = _mm_unpacklo_epi16(in_lo, ff); - const __m128i dst1 = _mm_unpackhi_epi16(in_lo, ff); - const __m128i in_hi = _mm_unpackhi_epi8(zero, in); - const __m128i dst2 = _mm_unpacklo_epi16(in_hi, ff); - const __m128i dst3 = _mm_unpackhi_epi16(in_hi, ff); - _mm_storeu_si128((__m128i*)&dst[0], dst0); - _mm_storeu_si128((__m128i*)&dst[4], dst1); - _mm_storeu_si128((__m128i*)&dst[8], dst2); - _mm_storeu_si128((__m128i*)&dst[12], dst3); - } - break; - } - case 1: { - const __m128i ff = _mm_set1_epi16((short)0xff00); - const __m128i mul = _mm_set1_epi16(0x110); - for (x = 0; x + 16 <= width; x += 16, dst += 8) { - // 0a0b | (where a/b are 4 bits). - const __m128i in = _mm_loadu_si128((const __m128i*)&row[x]); - const __m128i tmp = _mm_mullo_epi16(in, mul); // aba0 - const __m128i pack = _mm_and_si128(tmp, ff); // ab00 - const __m128i dst0 = _mm_unpacklo_epi16(pack, ff); - const __m128i dst1 = _mm_unpackhi_epi16(pack, ff); - _mm_storeu_si128((__m128i*)&dst[0], dst0); - _mm_storeu_si128((__m128i*)&dst[4], dst1); - } - break; - } - case 2: { - const __m128i mask_or = _mm_set1_epi32(0xff000000); - const __m128i mul_cst = _mm_set1_epi16(0x0104); - const __m128i mask_mul = _mm_set1_epi16(0x0f00); - for (x = 0; x + 16 <= width; x += 16, dst += 4) { - // 000a000b000c000d | (where a/b/c/d are 2 bits). - const __m128i in = _mm_loadu_si128((const __m128i*)&row[x]); - const __m128i mul = _mm_mullo_epi16(in, mul_cst); // 00ab00b000cd00d0 - const __m128i tmp = _mm_and_si128(mul, mask_mul); // 00ab000000cd0000 - const __m128i shift = _mm_srli_epi32(tmp, 12); // 00000000ab000000 - const __m128i pack = _mm_or_si128(shift, tmp); // 00000000abcd0000 - // Convert to 0xff00**00. - const __m128i res = _mm_or_si128(pack, mask_or); - _mm_storeu_si128((__m128i*)dst, res); - } - break; - } - default: { - assert(xbits == 3); - for (x = 0; x + 16 <= width; x += 16, dst += 2) { - // 0000000a00000000b... | (where a/b are 1 bit). - const __m128i in = _mm_loadu_si128((const __m128i*)&row[x]); - const __m128i shift = _mm_slli_epi64(in, 7); - const uint32_t move = _mm_movemask_epi8(shift); - dst[0] = 0xff000000 | ((move & 0xff) << 8); - dst[1] = 0xff000000 | (move & 0xff00); - } - break; - } - } - if (x != width) { - VP8LBundleColorMap_C(row + x, width - x, xbits, dst); - } -} - -//------------------------------------------------------------------------------ -// Batch version of Predictor Transform subtraction - -static WEBP_INLINE void Average2_m128i(const __m128i* const a0, - const __m128i* const a1, - __m128i* const avg) { - // (a + b) >> 1 = ((a + b + 1) >> 1) - ((a ^ b) & 1) - const __m128i ones = _mm_set1_epi8(1); - const __m128i avg1 = _mm_avg_epu8(*a0, *a1); - const __m128i one = _mm_and_si128(_mm_xor_si128(*a0, *a1), ones); - *avg = _mm_sub_epi8(avg1, one); -} - -// Predictor0: ARGB_BLACK. -static void PredictorSub0_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - const __m128i black = _mm_set1_epi32(ARGB_BLACK); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); - const __m128i res = _mm_sub_epi8(src, black); - _mm_storeu_si128((__m128i*)&out[i], res); - } - if (i != num_pixels) { - VP8LPredictorsSub_C[0](in + i, NULL, num_pixels - i, out + i); - } - (void)upper; -} - -#define GENERATE_PREDICTOR_1(X, IN) \ -static void PredictorSub##X##_SSE2(const uint32_t* in, const uint32_t* upper, \ - int num_pixels, uint32_t* out) { \ - int i; \ - for (i = 0; i + 4 <= num_pixels; i += 4) { \ - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); \ - const __m128i pred = _mm_loadu_si128((const __m128i*)&(IN)); \ - const __m128i res = _mm_sub_epi8(src, pred); \ - _mm_storeu_si128((__m128i*)&out[i], res); \ - } \ - if (i != num_pixels) { \ - VP8LPredictorsSub_C[(X)](in + i, upper + i, num_pixels - i, out + i); \ - } \ -} - -GENERATE_PREDICTOR_1(1, in[i - 1]) // Predictor1: L -GENERATE_PREDICTOR_1(2, upper[i]) // Predictor2: T -GENERATE_PREDICTOR_1(3, upper[i + 1]) // Predictor3: TR -GENERATE_PREDICTOR_1(4, upper[i - 1]) // Predictor4: TL -#undef GENERATE_PREDICTOR_1 - -// Predictor5: avg2(avg2(L, TR), T) -static void PredictorSub5_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i L = _mm_loadu_si128((const __m128i*)&in[i - 1]); - const __m128i T = _mm_loadu_si128((const __m128i*)&upper[i]); - const __m128i TR = _mm_loadu_si128((const __m128i*)&upper[i + 1]); - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); - __m128i avg, pred, res; - Average2_m128i(&L, &TR, &avg); - Average2_m128i(&avg, &T, &pred); - res = _mm_sub_epi8(src, pred); - _mm_storeu_si128((__m128i*)&out[i], res); - } - if (i != num_pixels) { - VP8LPredictorsSub_C[5](in + i, upper + i, num_pixels - i, out + i); - } -} - -#define GENERATE_PREDICTOR_2(X, A, B) \ -static void PredictorSub##X##_SSE2(const uint32_t* in, const uint32_t* upper, \ - int num_pixels, uint32_t* out) { \ - int i; \ - for (i = 0; i + 4 <= num_pixels; i += 4) { \ - const __m128i tA = _mm_loadu_si128((const __m128i*)&(A)); \ - const __m128i tB = _mm_loadu_si128((const __m128i*)&(B)); \ - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); \ - __m128i pred, res; \ - Average2_m128i(&tA, &tB, &pred); \ - res = _mm_sub_epi8(src, pred); \ - _mm_storeu_si128((__m128i*)&out[i], res); \ - } \ - if (i != num_pixels) { \ - VP8LPredictorsSub_C[(X)](in + i, upper + i, num_pixels - i, out + i); \ - } \ -} - -GENERATE_PREDICTOR_2(6, in[i - 1], upper[i - 1]) // Predictor6: avg(L, TL) -GENERATE_PREDICTOR_2(7, in[i - 1], upper[i]) // Predictor7: avg(L, T) -GENERATE_PREDICTOR_2(8, upper[i - 1], upper[i]) // Predictor8: avg(TL, T) -GENERATE_PREDICTOR_2(9, upper[i], upper[i + 1]) // Predictor9: average(T, TR) -#undef GENERATE_PREDICTOR_2 - -// Predictor10: avg(avg(L,TL), avg(T, TR)). -static void PredictorSub10_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i L = _mm_loadu_si128((const __m128i*)&in[i - 1]); - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); - const __m128i TL = _mm_loadu_si128((const __m128i*)&upper[i - 1]); - const __m128i T = _mm_loadu_si128((const __m128i*)&upper[i]); - const __m128i TR = _mm_loadu_si128((const __m128i*)&upper[i + 1]); - __m128i avgTTR, avgLTL, avg, res; - Average2_m128i(&T, &TR, &avgTTR); - Average2_m128i(&L, &TL, &avgLTL); - Average2_m128i(&avgTTR, &avgLTL, &avg); - res = _mm_sub_epi8(src, avg); - _mm_storeu_si128((__m128i*)&out[i], res); - } - if (i != num_pixels) { - VP8LPredictorsSub_C[10](in + i, upper + i, num_pixels - i, out + i); - } -} - -// Predictor11: select. -static void GetSumAbsDiff32_SSE2(const __m128i* const A, const __m128i* const B, - __m128i* const out) { - // We can unpack with any value on the upper 32 bits, provided it's the same - // on both operands (to that their sum of abs diff is zero). Here we use *A. - const __m128i A_lo = _mm_unpacklo_epi32(*A, *A); - const __m128i B_lo = _mm_unpacklo_epi32(*B, *A); - const __m128i A_hi = _mm_unpackhi_epi32(*A, *A); - const __m128i B_hi = _mm_unpackhi_epi32(*B, *A); - const __m128i s_lo = _mm_sad_epu8(A_lo, B_lo); - const __m128i s_hi = _mm_sad_epu8(A_hi, B_hi); - *out = _mm_packs_epi32(s_lo, s_hi); -} - -static void PredictorSub11_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i L = _mm_loadu_si128((const __m128i*)&in[i - 1]); - const __m128i T = _mm_loadu_si128((const __m128i*)&upper[i]); - const __m128i TL = _mm_loadu_si128((const __m128i*)&upper[i - 1]); - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); - __m128i pa, pb; - GetSumAbsDiff32_SSE2(&T, &TL, &pa); // pa = sum |T-TL| - GetSumAbsDiff32_SSE2(&L, &TL, &pb); // pb = sum |L-TL| - { - const __m128i mask = _mm_cmpgt_epi32(pb, pa); - const __m128i A = _mm_and_si128(mask, L); - const __m128i B = _mm_andnot_si128(mask, T); - const __m128i pred = _mm_or_si128(A, B); // pred = (L > T)? L : T - const __m128i res = _mm_sub_epi8(src, pred); - _mm_storeu_si128((__m128i*)&out[i], res); - } - } - if (i != num_pixels) { - VP8LPredictorsSub_C[11](in + i, upper + i, num_pixels - i, out + i); - } -} - -// Predictor12: ClampedSubSubtractFull. -static void PredictorSub12_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - const __m128i zero = _mm_setzero_si128(); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); - const __m128i L = _mm_loadu_si128((const __m128i*)&in[i - 1]); - const __m128i L_lo = _mm_unpacklo_epi8(L, zero); - const __m128i L_hi = _mm_unpackhi_epi8(L, zero); - const __m128i T = _mm_loadu_si128((const __m128i*)&upper[i]); - const __m128i T_lo = _mm_unpacklo_epi8(T, zero); - const __m128i T_hi = _mm_unpackhi_epi8(T, zero); - const __m128i TL = _mm_loadu_si128((const __m128i*)&upper[i - 1]); - const __m128i TL_lo = _mm_unpacklo_epi8(TL, zero); - const __m128i TL_hi = _mm_unpackhi_epi8(TL, zero); - const __m128i diff_lo = _mm_sub_epi16(T_lo, TL_lo); - const __m128i diff_hi = _mm_sub_epi16(T_hi, TL_hi); - const __m128i pred_lo = _mm_add_epi16(L_lo, diff_lo); - const __m128i pred_hi = _mm_add_epi16(L_hi, diff_hi); - const __m128i pred = _mm_packus_epi16(pred_lo, pred_hi); - const __m128i res = _mm_sub_epi8(src, pred); - _mm_storeu_si128((__m128i*)&out[i], res); - } - if (i != num_pixels) { - VP8LPredictorsSub_C[12](in + i, upper + i, num_pixels - i, out + i); - } -} - -// Predictors13: ClampedAddSubtractHalf -static void PredictorSub13_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - const __m128i zero = _mm_setzero_si128(); - for (i = 0; i + 2 <= num_pixels; i += 2) { - // we can only process two pixels at a time - const __m128i L = _mm_loadl_epi64((const __m128i*)&in[i - 1]); - const __m128i src = _mm_loadl_epi64((const __m128i*)&in[i]); - const __m128i T = _mm_loadl_epi64((const __m128i*)&upper[i]); - const __m128i TL = _mm_loadl_epi64((const __m128i*)&upper[i - 1]); - const __m128i L_lo = _mm_unpacklo_epi8(L, zero); - const __m128i T_lo = _mm_unpacklo_epi8(T, zero); - const __m128i TL_lo = _mm_unpacklo_epi8(TL, zero); - const __m128i sum = _mm_add_epi16(T_lo, L_lo); - const __m128i avg = _mm_srli_epi16(sum, 1); - const __m128i A1 = _mm_sub_epi16(avg, TL_lo); - const __m128i bit_fix = _mm_cmpgt_epi16(TL_lo, avg); - const __m128i A2 = _mm_sub_epi16(A1, bit_fix); - const __m128i A3 = _mm_srai_epi16(A2, 1); - const __m128i A4 = _mm_add_epi16(avg, A3); - const __m128i pred = _mm_packus_epi16(A4, A4); - const __m128i res = _mm_sub_epi8(src, pred); - _mm_storel_epi64((__m128i*)&out[i], res); - } - if (i != num_pixels) { - VP8LPredictorsSub_C[13](in + i, upper + i, num_pixels - i, out + i); - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8LEncDspInitSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitSSE2(void) { - VP8LSubtractGreenFromBlueAndRed = SubtractGreenFromBlueAndRed_SSE2; - VP8LTransformColor = TransformColor_SSE2; - VP8LCollectColorBlueTransforms = CollectColorBlueTransforms_SSE2; - VP8LCollectColorRedTransforms = CollectColorRedTransforms_SSE2; - VP8LAddVector = AddVector_SSE2; - VP8LAddVectorEq = AddVectorEq_SSE2; - VP8LCombinedShannonEntropy = CombinedShannonEntropy_SSE2; - VP8LVectorMismatch = VectorMismatch_SSE2; - VP8LBundleColorMap = BundleColorMap_SSE2; - - VP8LPredictorsSub[0] = PredictorSub0_SSE2; - VP8LPredictorsSub[1] = PredictorSub1_SSE2; - VP8LPredictorsSub[2] = PredictorSub2_SSE2; - VP8LPredictorsSub[3] = PredictorSub3_SSE2; - VP8LPredictorsSub[4] = PredictorSub4_SSE2; - VP8LPredictorsSub[5] = PredictorSub5_SSE2; - VP8LPredictorsSub[6] = PredictorSub6_SSE2; - VP8LPredictorsSub[7] = PredictorSub7_SSE2; - VP8LPredictorsSub[8] = PredictorSub8_SSE2; - VP8LPredictorsSub[9] = PredictorSub9_SSE2; - VP8LPredictorsSub[10] = PredictorSub10_SSE2; - VP8LPredictorsSub[11] = PredictorSub11_SSE2; - VP8LPredictorsSub[12] = PredictorSub12_SSE2; - VP8LPredictorsSub[13] = PredictorSub13_SSE2; - VP8LPredictorsSub[14] = PredictorSub0_SSE2; // <- padding security sentinels - VP8LPredictorsSub[15] = PredictorSub0_SSE2; -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(VP8LEncDspInitSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_sse41.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_sse41.c deleted file mode 100644 index 719d8ed2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_enc_sse41.c +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE4.1 variant of methods for lossless encoder -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE41) -#include -#include -#include "src/dsp/lossless.h" - -// For sign-extended multiplying constants, pre-shifted by 5: -#define CST_5b(X) (((int16_t)((uint16_t)(X) << 8)) >> 5) - -//------------------------------------------------------------------------------ -// Subtract-Green Transform - -static void SubtractGreenFromBlueAndRed_SSE41(uint32_t* argb_data, - int num_pixels) { - int i; - const __m128i kCstShuffle = _mm_set_epi8(-1, 13, -1, 13, -1, 9, -1, 9, - -1, 5, -1, 5, -1, 1, -1, 1); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i in = _mm_loadu_si128((__m128i*)&argb_data[i]); - const __m128i in_0g0g = _mm_shuffle_epi8(in, kCstShuffle); - const __m128i out = _mm_sub_epi8(in, in_0g0g); - _mm_storeu_si128((__m128i*)&argb_data[i], out); - } - // fallthrough and finish off with plain-C - if (i != num_pixels) { - VP8LSubtractGreenFromBlueAndRed_C(argb_data + i, num_pixels - i); - } -} - -//------------------------------------------------------------------------------ -// Color Transform - -#define SPAN 8 -static void CollectColorBlueTransforms_SSE41(const uint32_t* argb, int stride, - int tile_width, int tile_height, - int green_to_blue, int red_to_blue, - int histo[]) { - const __m128i mults_r = _mm_set1_epi16(CST_5b(red_to_blue)); - const __m128i mults_g = _mm_set1_epi16(CST_5b(green_to_blue)); - const __m128i mask_g = _mm_set1_epi16((short)0xff00); // green mask - const __m128i mask_gb = _mm_set1_epi32(0xffff); // green/blue mask - const __m128i mask_b = _mm_set1_epi16(0x00ff); // blue mask - const __m128i shuffler_lo = _mm_setr_epi8(-1, 2, -1, 6, -1, 10, -1, 14, -1, - -1, -1, -1, -1, -1, -1, -1); - const __m128i shuffler_hi = _mm_setr_epi8(-1, -1, -1, -1, -1, -1, -1, -1, -1, - 2, -1, 6, -1, 10, -1, 14); - int y; - for (y = 0; y < tile_height; ++y) { - const uint32_t* const src = argb + y * stride; - int i, x; - for (x = 0; x + SPAN <= tile_width; x += SPAN) { - uint16_t values[SPAN]; - const __m128i in0 = _mm_loadu_si128((__m128i*)&src[x + 0]); - const __m128i in1 = _mm_loadu_si128((__m128i*)&src[x + SPAN / 2]); - const __m128i r0 = _mm_shuffle_epi8(in0, shuffler_lo); - const __m128i r1 = _mm_shuffle_epi8(in1, shuffler_hi); - const __m128i r = _mm_or_si128(r0, r1); // r 0 - const __m128i gb0 = _mm_and_si128(in0, mask_gb); - const __m128i gb1 = _mm_and_si128(in1, mask_gb); - const __m128i gb = _mm_packus_epi32(gb0, gb1); // g b - const __m128i g = _mm_and_si128(gb, mask_g); // g 0 - const __m128i A = _mm_mulhi_epi16(r, mults_r); // x dbr - const __m128i B = _mm_mulhi_epi16(g, mults_g); // x dbg - const __m128i C = _mm_sub_epi8(gb, B); // x b' - const __m128i D = _mm_sub_epi8(C, A); // x b'' - const __m128i E = _mm_and_si128(D, mask_b); // 0 b'' - _mm_storeu_si128((__m128i*)values, E); - for (i = 0; i < SPAN; ++i) ++histo[values[i]]; - } - } - { - const int left_over = tile_width & (SPAN - 1); - if (left_over > 0) { - VP8LCollectColorBlueTransforms_C(argb + tile_width - left_over, stride, - left_over, tile_height, - green_to_blue, red_to_blue, histo); - } - } -} - -static void CollectColorRedTransforms_SSE41(const uint32_t* argb, int stride, - int tile_width, int tile_height, - int green_to_red, int histo[]) { - const __m128i mults_g = _mm_set1_epi16(CST_5b(green_to_red)); - const __m128i mask_g = _mm_set1_epi32(0x00ff00); // green mask - const __m128i mask = _mm_set1_epi16(0xff); - - int y; - for (y = 0; y < tile_height; ++y) { - const uint32_t* const src = argb + y * stride; - int i, x; - for (x = 0; x + SPAN <= tile_width; x += SPAN) { - uint16_t values[SPAN]; - const __m128i in0 = _mm_loadu_si128((__m128i*)&src[x + 0]); - const __m128i in1 = _mm_loadu_si128((__m128i*)&src[x + SPAN / 2]); - const __m128i g0 = _mm_and_si128(in0, mask_g); // 0 0 | g 0 - const __m128i g1 = _mm_and_si128(in1, mask_g); - const __m128i g = _mm_packus_epi32(g0, g1); // g 0 - const __m128i A0 = _mm_srli_epi32(in0, 16); // 0 0 | x r - const __m128i A1 = _mm_srli_epi32(in1, 16); - const __m128i A = _mm_packus_epi32(A0, A1); // x r - const __m128i B = _mm_mulhi_epi16(g, mults_g); // x dr - const __m128i C = _mm_sub_epi8(A, B); // x r' - const __m128i D = _mm_and_si128(C, mask); // 0 r' - _mm_storeu_si128((__m128i*)values, D); - for (i = 0; i < SPAN; ++i) ++histo[values[i]]; - } - } - { - const int left_over = tile_width & (SPAN - 1); - if (left_over > 0) { - VP8LCollectColorRedTransforms_C(argb + tile_width - left_over, stride, - left_over, tile_height, green_to_red, - histo); - } - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8LEncDspInitSSE41(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitSSE41(void) { - VP8LSubtractGreenFromBlueAndRed = SubtractGreenFromBlueAndRed_SSE41; - VP8LCollectColorBlueTransforms = CollectColorBlueTransforms_SSE41; - VP8LCollectColorRedTransforms = CollectColorRedTransforms_SSE41; -} - -#else // !WEBP_USE_SSE41 - -WEBP_DSP_INIT_STUB(VP8LEncDspInitSSE41) - -#endif // WEBP_USE_SSE41 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_mips_dsp_r2.c deleted file mode 100644 index 9888854d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_mips_dsp_r2.c +++ /dev/null @@ -1,696 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Image transforms and color space conversion methods for lossless decoder. -// -// Author(s): Djordje Pesut (djordje.pesut@imgtec.com) -// Jovan Zelincevic (jovan.zelincevic@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) - -#include "src/dsp/lossless.h" -#include "src/dsp/lossless_common.h" - -#define MAP_COLOR_FUNCS(FUNC_NAME, TYPE, GET_INDEX, GET_VALUE) \ -static void FUNC_NAME(const TYPE* src, \ - const uint32_t* const color_map, \ - TYPE* dst, int y_start, int y_end, \ - int width) { \ - int y; \ - for (y = y_start; y < y_end; ++y) { \ - int x; \ - for (x = 0; x < (width >> 2); ++x) { \ - int tmp1, tmp2, tmp3, tmp4; \ - __asm__ volatile ( \ - ".ifc " #TYPE ", uint8_t \n\t" \ - "lbu %[tmp1], 0(%[src]) \n\t" \ - "lbu %[tmp2], 1(%[src]) \n\t" \ - "lbu %[tmp3], 2(%[src]) \n\t" \ - "lbu %[tmp4], 3(%[src]) \n\t" \ - "addiu %[src], %[src], 4 \n\t" \ - ".endif \n\t" \ - ".ifc " #TYPE ", uint32_t \n\t" \ - "lw %[tmp1], 0(%[src]) \n\t" \ - "lw %[tmp2], 4(%[src]) \n\t" \ - "lw %[tmp3], 8(%[src]) \n\t" \ - "lw %[tmp4], 12(%[src]) \n\t" \ - "ext %[tmp1], %[tmp1], 8, 8 \n\t" \ - "ext %[tmp2], %[tmp2], 8, 8 \n\t" \ - "ext %[tmp3], %[tmp3], 8, 8 \n\t" \ - "ext %[tmp4], %[tmp4], 8, 8 \n\t" \ - "addiu %[src], %[src], 16 \n\t" \ - ".endif \n\t" \ - "sll %[tmp1], %[tmp1], 2 \n\t" \ - "sll %[tmp2], %[tmp2], 2 \n\t" \ - "sll %[tmp3], %[tmp3], 2 \n\t" \ - "sll %[tmp4], %[tmp4], 2 \n\t" \ - "lwx %[tmp1], %[tmp1](%[color_map]) \n\t" \ - "lwx %[tmp2], %[tmp2](%[color_map]) \n\t" \ - "lwx %[tmp3], %[tmp3](%[color_map]) \n\t" \ - "lwx %[tmp4], %[tmp4](%[color_map]) \n\t" \ - ".ifc " #TYPE ", uint8_t \n\t" \ - "ext %[tmp1], %[tmp1], 8, 8 \n\t" \ - "ext %[tmp2], %[tmp2], 8, 8 \n\t" \ - "ext %[tmp3], %[tmp3], 8, 8 \n\t" \ - "ext %[tmp4], %[tmp4], 8, 8 \n\t" \ - "sb %[tmp1], 0(%[dst]) \n\t" \ - "sb %[tmp2], 1(%[dst]) \n\t" \ - "sb %[tmp3], 2(%[dst]) \n\t" \ - "sb %[tmp4], 3(%[dst]) \n\t" \ - "addiu %[dst], %[dst], 4 \n\t" \ - ".endif \n\t" \ - ".ifc " #TYPE ", uint32_t \n\t" \ - "sw %[tmp1], 0(%[dst]) \n\t" \ - "sw %[tmp2], 4(%[dst]) \n\t" \ - "sw %[tmp3], 8(%[dst]) \n\t" \ - "sw %[tmp4], 12(%[dst]) \n\t" \ - "addiu %[dst], %[dst], 16 \n\t" \ - ".endif \n\t" \ - : [tmp1]"=&r"(tmp1), [tmp2]"=&r"(tmp2), [tmp3]"=&r"(tmp3), \ - [tmp4]"=&r"(tmp4), [src]"+&r"(src), [dst]"+r"(dst) \ - : [color_map]"r"(color_map) \ - : "memory" \ - ); \ - } \ - for (x = 0; x < (width & 3); ++x) { \ - *dst++ = GET_VALUE(color_map[GET_INDEX(*src++)]); \ - } \ - } \ -} - -MAP_COLOR_FUNCS(MapARGB_MIPSdspR2, uint32_t, VP8GetARGBIndex, VP8GetARGBValue) -MAP_COLOR_FUNCS(MapAlpha_MIPSdspR2, uint8_t, VP8GetAlphaIndex, VP8GetAlphaValue) - -#undef MAP_COLOR_FUNCS - -static WEBP_INLINE uint32_t ClampedAddSubtractFull(uint32_t c0, uint32_t c1, - uint32_t c2) { - int temp0, temp1, temp2, temp3, temp4, temp5; - __asm__ volatile ( - "preceu.ph.qbr %[temp1], %[c0] \n\t" - "preceu.ph.qbl %[temp2], %[c0] \n\t" - "preceu.ph.qbr %[temp3], %[c1] \n\t" - "preceu.ph.qbl %[temp4], %[c1] \n\t" - "preceu.ph.qbr %[temp5], %[c2] \n\t" - "preceu.ph.qbl %[temp0], %[c2] \n\t" - "subq.ph %[temp3], %[temp3], %[temp5] \n\t" - "subq.ph %[temp4], %[temp4], %[temp0] \n\t" - "addq.ph %[temp1], %[temp1], %[temp3] \n\t" - "addq.ph %[temp2], %[temp2], %[temp4] \n\t" - "shll_s.ph %[temp1], %[temp1], 7 \n\t" - "shll_s.ph %[temp2], %[temp2], 7 \n\t" - "precrqu_s.qb.ph %[temp2], %[temp2], %[temp1] \n\t" - : [temp0]"=r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5) - : [c0]"r"(c0), [c1]"r"(c1), [c2]"r"(c2) - : "memory" - ); - return temp2; -} - -static WEBP_INLINE uint32_t ClampedAddSubtractHalf(uint32_t c0, uint32_t c1, - uint32_t c2) { - int temp0, temp1, temp2, temp3, temp4, temp5; - __asm__ volatile ( - "adduh.qb %[temp5], %[c0], %[c1] \n\t" - "preceu.ph.qbr %[temp3], %[c2] \n\t" - "preceu.ph.qbr %[temp1], %[temp5] \n\t" - "preceu.ph.qbl %[temp2], %[temp5] \n\t" - "preceu.ph.qbl %[temp4], %[c2] \n\t" - "subq.ph %[temp3], %[temp1], %[temp3] \n\t" - "subq.ph %[temp4], %[temp2], %[temp4] \n\t" - "shrl.ph %[temp5], %[temp3], 15 \n\t" - "shrl.ph %[temp0], %[temp4], 15 \n\t" - "addq.ph %[temp3], %[temp3], %[temp5] \n\t" - "addq.ph %[temp4], %[temp0], %[temp4] \n\t" - "shra.ph %[temp3], %[temp3], 1 \n\t" - "shra.ph %[temp4], %[temp4], 1 \n\t" - "addq.ph %[temp1], %[temp1], %[temp3] \n\t" - "addq.ph %[temp2], %[temp2], %[temp4] \n\t" - "shll_s.ph %[temp1], %[temp1], 7 \n\t" - "shll_s.ph %[temp2], %[temp2], 7 \n\t" - "precrqu_s.qb.ph %[temp1], %[temp2], %[temp1] \n\t" - : [temp0]"=r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=r"(temp4), [temp5]"=&r"(temp5) - : [c0]"r"(c0), [c1]"r"(c1), [c2]"r"(c2) - : "memory" - ); - return temp1; -} - -static WEBP_INLINE uint32_t Select(uint32_t a, uint32_t b, uint32_t c) { - int temp0, temp1, temp2, temp3, temp4, temp5; - __asm__ volatile ( - "cmpgdu.lt.qb %[temp1], %[c], %[b] \n\t" - "pick.qb %[temp1], %[b], %[c] \n\t" - "pick.qb %[temp2], %[c], %[b] \n\t" - "cmpgdu.lt.qb %[temp4], %[c], %[a] \n\t" - "pick.qb %[temp4], %[a], %[c] \n\t" - "pick.qb %[temp5], %[c], %[a] \n\t" - "subu.qb %[temp3], %[temp1], %[temp2] \n\t" - "subu.qb %[temp0], %[temp4], %[temp5] \n\t" - "raddu.w.qb %[temp3], %[temp3] \n\t" - "raddu.w.qb %[temp0], %[temp0] \n\t" - "subu %[temp3], %[temp3], %[temp0] \n\t" - "slti %[temp0], %[temp3], 0x1 \n\t" - "movz %[a], %[b], %[temp0] \n\t" - : [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [temp0]"=&r"(temp0), - [a]"+&r"(a) - : [b]"r"(b), [c]"r"(c) - ); - return a; -} - -static WEBP_INLINE uint32_t Average2(uint32_t a0, uint32_t a1) { - __asm__ volatile ( - "adduh.qb %[a0], %[a0], %[a1] \n\t" - : [a0]"+r"(a0) - : [a1]"r"(a1) - ); - return a0; -} - -static WEBP_INLINE uint32_t Average3(uint32_t a0, uint32_t a1, uint32_t a2) { - return Average2(Average2(a0, a2), a1); -} - -static WEBP_INLINE uint32_t Average4(uint32_t a0, uint32_t a1, - uint32_t a2, uint32_t a3) { - return Average2(Average2(a0, a1), Average2(a2, a3)); -} - -static uint32_t Predictor5_MIPSdspR2(uint32_t left, const uint32_t* const top) { - return Average3(left, top[0], top[1]); -} - -static uint32_t Predictor6_MIPSdspR2(uint32_t left, const uint32_t* const top) { - return Average2(left, top[-1]); -} - -static uint32_t Predictor7_MIPSdspR2(uint32_t left, const uint32_t* const top) { - return Average2(left, top[0]); -} - -static uint32_t Predictor8_MIPSdspR2(uint32_t left, const uint32_t* const top) { - (void)left; - return Average2(top[-1], top[0]); -} - -static uint32_t Predictor9_MIPSdspR2(uint32_t left, const uint32_t* const top) { - (void)left; - return Average2(top[0], top[1]); -} - -static uint32_t Predictor10_MIPSdspR2(uint32_t left, - const uint32_t* const top) { - return Average4(left, top[-1], top[0], top[1]); -} - -static uint32_t Predictor11_MIPSdspR2(uint32_t left, - const uint32_t* const top) { - return Select(top[0], left, top[-1]); -} - -static uint32_t Predictor12_MIPSdspR2(uint32_t left, - const uint32_t* const top) { - return ClampedAddSubtractFull(left, top[0], top[-1]); -} - -static uint32_t Predictor13_MIPSdspR2(uint32_t left, - const uint32_t* const top) { - return ClampedAddSubtractHalf(left, top[0], top[-1]); -} - -// Add green to blue and red channels (i.e. perform the inverse transform of -// 'subtract green'). -static void AddGreenToBlueAndRed_MIPSdspR2(const uint32_t* src, int num_pixels, - uint32_t* dst) { - uint32_t temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; - const uint32_t* const p_loop1_end = src + (num_pixels & ~3); - const uint32_t* const p_loop2_end = src + num_pixels; - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "beq %[src], %[p_loop1_end], 3f \n\t" - " nop \n\t" - "0: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "lw %[temp1], 4(%[src]) \n\t" - "lw %[temp2], 8(%[src]) \n\t" - "lw %[temp3], 12(%[src]) \n\t" - "ext %[temp4], %[temp0], 8, 8 \n\t" - "ext %[temp5], %[temp1], 8, 8 \n\t" - "ext %[temp6], %[temp2], 8, 8 \n\t" - "ext %[temp7], %[temp3], 8, 8 \n\t" - "addiu %[src], %[src], 16 \n\t" - "addiu %[dst], %[dst], 16 \n\t" - "replv.ph %[temp4], %[temp4] \n\t" - "replv.ph %[temp5], %[temp5] \n\t" - "replv.ph %[temp6], %[temp6] \n\t" - "replv.ph %[temp7], %[temp7] \n\t" - "addu.qb %[temp0], %[temp0], %[temp4] \n\t" - "addu.qb %[temp1], %[temp1], %[temp5] \n\t" - "addu.qb %[temp2], %[temp2], %[temp6] \n\t" - "addu.qb %[temp3], %[temp3], %[temp7] \n\t" - "sw %[temp0], -16(%[dst]) \n\t" - "sw %[temp1], -12(%[dst]) \n\t" - "sw %[temp2], -8(%[dst]) \n\t" - "bne %[src], %[p_loop1_end], 0b \n\t" - " sw %[temp3], -4(%[dst]) \n\t" - "3: \n\t" - "beq %[src], %[p_loop2_end], 2f \n\t" - " nop \n\t" - "1: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "addiu %[src], %[src], 4 \n\t" - "addiu %[dst], %[dst], 4 \n\t" - "ext %[temp4], %[temp0], 8, 8 \n\t" - "replv.ph %[temp4], %[temp4] \n\t" - "addu.qb %[temp0], %[temp0], %[temp4] \n\t" - "bne %[src], %[p_loop2_end], 1b \n\t" - " sw %[temp0], -4(%[dst]) \n\t" - "2: \n\t" - ".set pop \n\t" - : [dst]"+&r"(dst), [src]"+&r"(src), [temp0]"=&r"(temp0), - [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [temp6]"=&r"(temp6), - [temp7]"=&r"(temp7) - : [p_loop1_end]"r"(p_loop1_end), [p_loop2_end]"r"(p_loop2_end) - : "memory" - ); -} - -static void TransformColorInverse_MIPSdspR2(const VP8LMultipliers* const m, - const uint32_t* src, int num_pixels, - uint32_t* dst) { - int temp0, temp1, temp2, temp3, temp4, temp5; - uint32_t argb, argb1, new_red; - const uint32_t G_to_R = m->green_to_red_; - const uint32_t G_to_B = m->green_to_blue_; - const uint32_t R_to_B = m->red_to_blue_; - const uint32_t* const p_loop_end = src + (num_pixels & ~1); - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "beq %[src], %[p_loop_end], 1f \n\t" - " nop \n\t" - "replv.ph %[temp0], %[G_to_R] \n\t" - "replv.ph %[temp1], %[G_to_B] \n\t" - "replv.ph %[temp2], %[R_to_B] \n\t" - "shll.ph %[temp0], %[temp0], 8 \n\t" - "shll.ph %[temp1], %[temp1], 8 \n\t" - "shll.ph %[temp2], %[temp2], 8 \n\t" - "shra.ph %[temp0], %[temp0], 8 \n\t" - "shra.ph %[temp1], %[temp1], 8 \n\t" - "shra.ph %[temp2], %[temp2], 8 \n\t" - "0: \n\t" - "lw %[argb], 0(%[src]) \n\t" - "lw %[argb1], 4(%[src]) \n\t" - "sw %[argb], 0(%[dst]) \n\t" - "sw %[argb1], 4(%[dst]) \n\t" - "addiu %[src], %[src], 8 \n\t" - "addiu %[dst], %[dst], 8 \n\t" - "precrq.qb.ph %[temp3], %[argb], %[argb1] \n\t" - "preceu.ph.qbra %[temp3], %[temp3] \n\t" - "shll.ph %[temp3], %[temp3], 8 \n\t" - "shra.ph %[temp3], %[temp3], 8 \n\t" - "mul.ph %[temp5], %[temp3], %[temp0] \n\t" - "mul.ph %[temp3], %[temp3], %[temp1] \n\t" - "precrq.ph.w %[new_red], %[argb], %[argb1] \n\t" - "ins %[argb1], %[argb], 16, 16 \n\t" - "shra.ph %[temp5], %[temp5], 5 \n\t" - "shra.ph %[temp3], %[temp3], 5 \n\t" - "addu.ph %[new_red], %[new_red], %[temp5] \n\t" - "addu.ph %[argb1], %[argb1], %[temp3] \n\t" - "preceu.ph.qbra %[temp5], %[new_red] \n\t" - "shll.ph %[temp4], %[temp5], 8 \n\t" - "shra.ph %[temp4], %[temp4], 8 \n\t" - "mul.ph %[temp4], %[temp4], %[temp2] \n\t" - "sb %[temp5], -2(%[dst]) \n\t" - "sra %[temp5], %[temp5], 16 \n\t" - "shra.ph %[temp4], %[temp4], 5 \n\t" - "addu.ph %[argb1], %[argb1], %[temp4] \n\t" - "preceu.ph.qbra %[temp3], %[argb1] \n\t" - "sb %[temp5], -6(%[dst]) \n\t" - "sb %[temp3], -4(%[dst]) \n\t" - "sra %[temp3], %[temp3], 16 \n\t" - "bne %[src], %[p_loop_end], 0b \n\t" - " sb %[temp3], -8(%[dst]) \n\t" - "1: \n\t" - ".set pop \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [new_red]"=&r"(new_red), [argb]"=&r"(argb), - [argb1]"=&r"(argb1), [dst]"+&r"(dst), [src]"+&r"(src) - : [G_to_R]"r"(G_to_R), [R_to_B]"r"(R_to_B), - [G_to_B]"r"(G_to_B), [p_loop_end]"r"(p_loop_end) - : "memory", "hi", "lo" - ); - - // Fall-back to C-version for left-overs. - if (num_pixels & 1) VP8LTransformColorInverse_C(m, src, 1, dst); -} - -static void ConvertBGRAToRGB_MIPSdspR2(const uint32_t* src, - int num_pixels, uint8_t* dst) { - int temp0, temp1, temp2, temp3; - const uint32_t* const p_loop1_end = src + (num_pixels & ~3); - const uint32_t* const p_loop2_end = src + num_pixels; - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "beq %[src], %[p_loop1_end], 3f \n\t" - " nop \n\t" - "0: \n\t" - "lw %[temp3], 12(%[src]) \n\t" - "lw %[temp2], 8(%[src]) \n\t" - "lw %[temp1], 4(%[src]) \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "ins %[temp3], %[temp2], 24, 8 \n\t" - "sll %[temp2], %[temp2], 8 \n\t" - "rotr %[temp3], %[temp3], 16 \n\t" - "ins %[temp2], %[temp1], 0, 16 \n\t" - "sll %[temp1], %[temp1], 8 \n\t" - "wsbh %[temp3], %[temp3] \n\t" - "balign %[temp0], %[temp1], 1 \n\t" - "wsbh %[temp2], %[temp2] \n\t" - "wsbh %[temp0], %[temp0] \n\t" - "usw %[temp3], 8(%[dst]) \n\t" - "rotr %[temp0], %[temp0], 16 \n\t" - "usw %[temp2], 4(%[dst]) \n\t" - "addiu %[src], %[src], 16 \n\t" - "usw %[temp0], 0(%[dst]) \n\t" - "bne %[src], %[p_loop1_end], 0b \n\t" - " addiu %[dst], %[dst], 12 \n\t" - "3: \n\t" - "beq %[src], %[p_loop2_end], 2f \n\t" - " nop \n\t" - "1: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "addiu %[src], %[src], 4 \n\t" - "wsbh %[temp1], %[temp0] \n\t" - "addiu %[dst], %[dst], 3 \n\t" - "ush %[temp1], -2(%[dst]) \n\t" - "sra %[temp0], %[temp0], 16 \n\t" - "bne %[src], %[p_loop2_end], 1b \n\t" - " sb %[temp0], -3(%[dst]) \n\t" - "2: \n\t" - ".set pop \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [dst]"+&r"(dst), [src]"+&r"(src) - : [p_loop1_end]"r"(p_loop1_end), [p_loop2_end]"r"(p_loop2_end) - : "memory" - ); -} - -static void ConvertBGRAToRGBA_MIPSdspR2(const uint32_t* src, - int num_pixels, uint8_t* dst) { - int temp0, temp1, temp2, temp3; - const uint32_t* const p_loop1_end = src + (num_pixels & ~3); - const uint32_t* const p_loop2_end = src + num_pixels; - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "beq %[src], %[p_loop1_end], 3f \n\t" - " nop \n\t" - "0: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "lw %[temp1], 4(%[src]) \n\t" - "lw %[temp2], 8(%[src]) \n\t" - "lw %[temp3], 12(%[src]) \n\t" - "wsbh %[temp0], %[temp0] \n\t" - "wsbh %[temp1], %[temp1] \n\t" - "wsbh %[temp2], %[temp2] \n\t" - "wsbh %[temp3], %[temp3] \n\t" - "addiu %[src], %[src], 16 \n\t" - "balign %[temp0], %[temp0], 1 \n\t" - "balign %[temp1], %[temp1], 1 \n\t" - "balign %[temp2], %[temp2], 1 \n\t" - "balign %[temp3], %[temp3], 1 \n\t" - "usw %[temp0], 0(%[dst]) \n\t" - "usw %[temp1], 4(%[dst]) \n\t" - "usw %[temp2], 8(%[dst]) \n\t" - "usw %[temp3], 12(%[dst]) \n\t" - "bne %[src], %[p_loop1_end], 0b \n\t" - " addiu %[dst], %[dst], 16 \n\t" - "3: \n\t" - "beq %[src], %[p_loop2_end], 2f \n\t" - " nop \n\t" - "1: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "wsbh %[temp0], %[temp0] \n\t" - "addiu %[src], %[src], 4 \n\t" - "balign %[temp0], %[temp0], 1 \n\t" - "usw %[temp0], 0(%[dst]) \n\t" - "bne %[src], %[p_loop2_end], 1b \n\t" - " addiu %[dst], %[dst], 4 \n\t" - "2: \n\t" - ".set pop \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [dst]"+&r"(dst), [src]"+&r"(src) - : [p_loop1_end]"r"(p_loop1_end), [p_loop2_end]"r"(p_loop2_end) - : "memory" - ); -} - -static void ConvertBGRAToRGBA4444_MIPSdspR2(const uint32_t* src, - int num_pixels, uint8_t* dst) { - int temp0, temp1, temp2, temp3, temp4, temp5; - const uint32_t* const p_loop1_end = src + (num_pixels & ~3); - const uint32_t* const p_loop2_end = src + num_pixels; - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "beq %[src], %[p_loop1_end], 3f \n\t" - " nop \n\t" - "0: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "lw %[temp1], 4(%[src]) \n\t" - "lw %[temp2], 8(%[src]) \n\t" - "lw %[temp3], 12(%[src]) \n\t" - "ext %[temp4], %[temp0], 28, 4 \n\t" - "ext %[temp5], %[temp0], 12, 4 \n\t" - "ins %[temp0], %[temp4], 0, 4 \n\t" - "ext %[temp4], %[temp1], 28, 4 \n\t" - "ins %[temp0], %[temp5], 16, 4 \n\t" - "ext %[temp5], %[temp1], 12, 4 \n\t" - "ins %[temp1], %[temp4], 0, 4 \n\t" - "ext %[temp4], %[temp2], 28, 4 \n\t" - "ins %[temp1], %[temp5], 16, 4 \n\t" - "ext %[temp5], %[temp2], 12, 4 \n\t" - "ins %[temp2], %[temp4], 0, 4 \n\t" - "ext %[temp4], %[temp3], 28, 4 \n\t" - "ins %[temp2], %[temp5], 16, 4 \n\t" - "ext %[temp5], %[temp3], 12, 4 \n\t" - "ins %[temp3], %[temp4], 0, 4 \n\t" - "precr.qb.ph %[temp1], %[temp1], %[temp0] \n\t" - "ins %[temp3], %[temp5], 16, 4 \n\t" - "addiu %[src], %[src], 16 \n\t" - "precr.qb.ph %[temp3], %[temp3], %[temp2] \n\t" -#if (WEBP_SWAP_16BIT_CSP == 1) - "usw %[temp1], 0(%[dst]) \n\t" - "usw %[temp3], 4(%[dst]) \n\t" -#else - "wsbh %[temp1], %[temp1] \n\t" - "wsbh %[temp3], %[temp3] \n\t" - "usw %[temp1], 0(%[dst]) \n\t" - "usw %[temp3], 4(%[dst]) \n\t" -#endif - "bne %[src], %[p_loop1_end], 0b \n\t" - " addiu %[dst], %[dst], 8 \n\t" - "3: \n\t" - "beq %[src], %[p_loop2_end], 2f \n\t" - " nop \n\t" - "1: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "ext %[temp4], %[temp0], 28, 4 \n\t" - "ext %[temp5], %[temp0], 12, 4 \n\t" - "ins %[temp0], %[temp4], 0, 4 \n\t" - "ins %[temp0], %[temp5], 16, 4 \n\t" - "addiu %[src], %[src], 4 \n\t" - "precr.qb.ph %[temp0], %[temp0], %[temp0] \n\t" -#if (WEBP_SWAP_16BIT_CSP == 1) - "ush %[temp0], 0(%[dst]) \n\t" -#else - "wsbh %[temp0], %[temp0] \n\t" - "ush %[temp0], 0(%[dst]) \n\t" -#endif - "bne %[src], %[p_loop2_end], 1b \n\t" - " addiu %[dst], %[dst], 2 \n\t" - "2: \n\t" - ".set pop \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [dst]"+&r"(dst), [src]"+&r"(src) - : [p_loop1_end]"r"(p_loop1_end), [p_loop2_end]"r"(p_loop2_end) - : "memory" - ); -} - -static void ConvertBGRAToRGB565_MIPSdspR2(const uint32_t* src, - int num_pixels, uint8_t* dst) { - int temp0, temp1, temp2, temp3, temp4, temp5; - const uint32_t* const p_loop1_end = src + (num_pixels & ~3); - const uint32_t* const p_loop2_end = src + num_pixels; - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "beq %[src], %[p_loop1_end], 3f \n\t" - " nop \n\t" - "0: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "lw %[temp1], 4(%[src]) \n\t" - "lw %[temp2], 8(%[src]) \n\t" - "lw %[temp3], 12(%[src]) \n\t" - "ext %[temp4], %[temp0], 8, 16 \n\t" - "ext %[temp5], %[temp0], 5, 11 \n\t" - "ext %[temp0], %[temp0], 3, 5 \n\t" - "ins %[temp4], %[temp5], 0, 11 \n\t" - "ext %[temp5], %[temp1], 5, 11 \n\t" - "ins %[temp4], %[temp0], 0, 5 \n\t" - "ext %[temp0], %[temp1], 8, 16 \n\t" - "ext %[temp1], %[temp1], 3, 5 \n\t" - "ins %[temp0], %[temp5], 0, 11 \n\t" - "ext %[temp5], %[temp2], 5, 11 \n\t" - "ins %[temp0], %[temp1], 0, 5 \n\t" - "ext %[temp1], %[temp2], 8, 16 \n\t" - "ext %[temp2], %[temp2], 3, 5 \n\t" - "ins %[temp1], %[temp5], 0, 11 \n\t" - "ext %[temp5], %[temp3], 5, 11 \n\t" - "ins %[temp1], %[temp2], 0, 5 \n\t" - "ext %[temp2], %[temp3], 8, 16 \n\t" - "ext %[temp3], %[temp3], 3, 5 \n\t" - "ins %[temp2], %[temp5], 0, 11 \n\t" - "append %[temp0], %[temp4], 16 \n\t" - "ins %[temp2], %[temp3], 0, 5 \n\t" - "addiu %[src], %[src], 16 \n\t" - "append %[temp2], %[temp1], 16 \n\t" -#if (WEBP_SWAP_16BIT_CSP == 1) - "usw %[temp0], 0(%[dst]) \n\t" - "usw %[temp2], 4(%[dst]) \n\t" -#else - "wsbh %[temp0], %[temp0] \n\t" - "wsbh %[temp2], %[temp2] \n\t" - "usw %[temp0], 0(%[dst]) \n\t" - "usw %[temp2], 4(%[dst]) \n\t" -#endif - "bne %[src], %[p_loop1_end], 0b \n\t" - " addiu %[dst], %[dst], 8 \n\t" - "3: \n\t" - "beq %[src], %[p_loop2_end], 2f \n\t" - " nop \n\t" - "1: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "ext %[temp4], %[temp0], 8, 16 \n\t" - "ext %[temp5], %[temp0], 5, 11 \n\t" - "ext %[temp0], %[temp0], 3, 5 \n\t" - "ins %[temp4], %[temp5], 0, 11 \n\t" - "addiu %[src], %[src], 4 \n\t" - "ins %[temp4], %[temp0], 0, 5 \n\t" -#if (WEBP_SWAP_16BIT_CSP == 1) - "ush %[temp4], 0(%[dst]) \n\t" -#else - "wsbh %[temp4], %[temp4] \n\t" - "ush %[temp4], 0(%[dst]) \n\t" -#endif - "bne %[src], %[p_loop2_end], 1b \n\t" - " addiu %[dst], %[dst], 2 \n\t" - "2: \n\t" - ".set pop \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), - [dst]"+&r"(dst), [src]"+&r"(src) - : [p_loop1_end]"r"(p_loop1_end), [p_loop2_end]"r"(p_loop2_end) - : "memory" - ); -} - -static void ConvertBGRAToBGR_MIPSdspR2(const uint32_t* src, - int num_pixels, uint8_t* dst) { - int temp0, temp1, temp2, temp3; - const uint32_t* const p_loop1_end = src + (num_pixels & ~3); - const uint32_t* const p_loop2_end = src + num_pixels; - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - "beq %[src], %[p_loop1_end], 3f \n\t" - " nop \n\t" - "0: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "lw %[temp1], 4(%[src]) \n\t" - "lw %[temp2], 8(%[src]) \n\t" - "lw %[temp3], 12(%[src]) \n\t" - "ins %[temp0], %[temp1], 24, 8 \n\t" - "sra %[temp1], %[temp1], 8 \n\t" - "ins %[temp1], %[temp2], 16, 16 \n\t" - "sll %[temp2], %[temp2], 8 \n\t" - "balign %[temp3], %[temp2], 1 \n\t" - "addiu %[src], %[src], 16 \n\t" - "usw %[temp0], 0(%[dst]) \n\t" - "usw %[temp1], 4(%[dst]) \n\t" - "usw %[temp3], 8(%[dst]) \n\t" - "bne %[src], %[p_loop1_end], 0b \n\t" - " addiu %[dst], %[dst], 12 \n\t" - "3: \n\t" - "beq %[src], %[p_loop2_end], 2f \n\t" - " nop \n\t" - "1: \n\t" - "lw %[temp0], 0(%[src]) \n\t" - "addiu %[src], %[src], 4 \n\t" - "addiu %[dst], %[dst], 3 \n\t" - "ush %[temp0], -3(%[dst]) \n\t" - "sra %[temp0], %[temp0], 16 \n\t" - "bne %[src], %[p_loop2_end], 1b \n\t" - " sb %[temp0], -1(%[dst]) \n\t" - "2: \n\t" - ".set pop \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), - [temp3]"=&r"(temp3), [dst]"+&r"(dst), [src]"+&r"(src) - : [p_loop1_end]"r"(p_loop1_end), [p_loop2_end]"r"(p_loop2_end) - : "memory" - ); -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8LDspInitMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8LDspInitMIPSdspR2(void) { - VP8LMapColor32b = MapARGB_MIPSdspR2; - VP8LMapColor8b = MapAlpha_MIPSdspR2; - - VP8LPredictors[5] = Predictor5_MIPSdspR2; - VP8LPredictors[6] = Predictor6_MIPSdspR2; - VP8LPredictors[7] = Predictor7_MIPSdspR2; - VP8LPredictors[8] = Predictor8_MIPSdspR2; - VP8LPredictors[9] = Predictor9_MIPSdspR2; - VP8LPredictors[10] = Predictor10_MIPSdspR2; - VP8LPredictors[11] = Predictor11_MIPSdspR2; - VP8LPredictors[12] = Predictor12_MIPSdspR2; - VP8LPredictors[13] = Predictor13_MIPSdspR2; - - VP8LAddGreenToBlueAndRed = AddGreenToBlueAndRed_MIPSdspR2; - VP8LTransformColorInverse = TransformColorInverse_MIPSdspR2; - - VP8LConvertBGRAToRGB = ConvertBGRAToRGB_MIPSdspR2; - VP8LConvertBGRAToRGBA = ConvertBGRAToRGBA_MIPSdspR2; - VP8LConvertBGRAToRGBA4444 = ConvertBGRAToRGBA4444_MIPSdspR2; - VP8LConvertBGRAToRGB565 = ConvertBGRAToRGB565_MIPSdspR2; - VP8LConvertBGRAToBGR = ConvertBGRAToBGR_MIPSdspR2; -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(VP8LDspInitMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_msa.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_msa.c deleted file mode 100644 index 9f547207..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_msa.c +++ /dev/null @@ -1,356 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MSA variant of methods for lossless decoder -// -// Author: Prashant Patil (prashant.patil@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MSA) - -#include "src/dsp/lossless.h" -#include "src/dsp/msa_macro.h" - -//------------------------------------------------------------------------------ -// Colorspace conversion functions - -#define CONVERT16_BGRA_XXX(psrc, pdst, m0, m1, m2) do { \ - v16u8 src0, src1, src2, src3, dst0, dst1, dst2; \ - LD_UB4(psrc, 16, src0, src1, src2, src3); \ - VSHF_B2_UB(src0, src1, src1, src2, m0, m1, dst0, dst1); \ - dst2 = VSHF_UB(src2, src3, m2); \ - ST_UB2(dst0, dst1, pdst, 16); \ - ST_UB(dst2, pdst + 32); \ -} while (0) - -#define CONVERT12_BGRA_XXX(psrc, pdst, m0, m1, m2) do { \ - uint32_t pix_w; \ - v16u8 src0, src1, src2, dst0, dst1, dst2; \ - LD_UB3(psrc, 16, src0, src1, src2); \ - VSHF_B2_UB(src0, src1, src1, src2, m0, m1, dst0, dst1); \ - dst2 = VSHF_UB(src2, src2, m2); \ - ST_UB2(dst0, dst1, pdst, 16); \ - pix_w = __msa_copy_s_w((v4i32)dst2, 0); \ - SW(pix_w, pdst + 32); \ -} while (0) - -#define CONVERT8_BGRA_XXX(psrc, pdst, m0, m1) do { \ - uint64_t pix_d; \ - v16u8 src0, src1, src2 = { 0 }, dst0, dst1; \ - LD_UB2(psrc, 16, src0, src1); \ - VSHF_B2_UB(src0, src1, src1, src2, m0, m1, dst0, dst1); \ - ST_UB(dst0, pdst); \ - pix_d = __msa_copy_s_d((v2i64)dst1, 0); \ - SD(pix_d, pdst + 16); \ -} while (0) - -#define CONVERT4_BGRA_XXX(psrc, pdst, m) do { \ - const v16u8 src0 = LD_UB(psrc); \ - const v16u8 dst0 = VSHF_UB(src0, src0, m); \ - uint64_t pix_d = __msa_copy_s_d((v2i64)dst0, 0); \ - uint32_t pix_w = __msa_copy_s_w((v4i32)dst0, 2); \ - SD(pix_d, pdst + 0); \ - SW(pix_w, pdst + 8); \ -} while (0) - -#define CONVERT1_BGRA_BGR(psrc, pdst) do { \ - const int32_t b = (psrc)[0]; \ - const int32_t g = (psrc)[1]; \ - const int32_t r = (psrc)[2]; \ - (pdst)[0] = b; \ - (pdst)[1] = g; \ - (pdst)[2] = r; \ -} while (0) - -#define CONVERT1_BGRA_RGB(psrc, pdst) do { \ - const int32_t b = (psrc)[0]; \ - const int32_t g = (psrc)[1]; \ - const int32_t r = (psrc)[2]; \ - (pdst)[0] = r; \ - (pdst)[1] = g; \ - (pdst)[2] = b; \ -} while (0) - -#define TRANSFORM_COLOR_INVERSE_8(src0, src1, dst0, dst1, \ - c0, c1, mask0, mask1) do { \ - v8i16 g0, g1, t0, t1, t2, t3; \ - v4i32 t4, t5; \ - VSHF_B2_SH(src0, src0, src1, src1, mask0, mask0, g0, g1); \ - DOTP_SB2_SH(g0, g1, c0, c0, t0, t1); \ - SRAI_H2_SH(t0, t1, 5); \ - t0 = __msa_addv_h(t0, (v8i16)src0); \ - t1 = __msa_addv_h(t1, (v8i16)src1); \ - t4 = __msa_srli_w((v4i32)t0, 16); \ - t5 = __msa_srli_w((v4i32)t1, 16); \ - DOTP_SB2_SH(t4, t5, c1, c1, t2, t3); \ - SRAI_H2_SH(t2, t3, 5); \ - ADD2(t0, t2, t1, t3, t0, t1); \ - VSHF_B2_UB(src0, t0, src1, t1, mask1, mask1, dst0, dst1); \ -} while (0) - -#define TRANSFORM_COLOR_INVERSE_4(src, dst, c0, c1, mask0, mask1) do { \ - const v16i8 g0 = VSHF_SB(src, src, mask0); \ - v8i16 t0 = __msa_dotp_s_h(c0, g0); \ - v8i16 t1; \ - v4i32 t2; \ - t0 = SRAI_H(t0, 5); \ - t0 = __msa_addv_h(t0, (v8i16)src); \ - t2 = __msa_srli_w((v4i32)t0, 16); \ - t1 = __msa_dotp_s_h(c1, (v16i8)t2); \ - t1 = SRAI_H(t1, 5); \ - t0 = t0 + t1; \ - dst = VSHF_UB(src, t0, mask1); \ -} while (0) - -static void ConvertBGRAToRGBA_MSA(const uint32_t* src, - int num_pixels, uint8_t* dst) { - int i; - const uint8_t* ptemp_src = (const uint8_t*)src; - uint8_t* ptemp_dst = (uint8_t*)dst; - v16u8 src0, dst0; - const v16u8 mask = { 2, 1, 0, 3, 6, 5, 4, 7, 10, 9, 8, 11, 14, 13, 12, 15 }; - - while (num_pixels >= 8) { - v16u8 src1, dst1; - LD_UB2(ptemp_src, 16, src0, src1); - VSHF_B2_UB(src0, src0, src1, src1, mask, mask, dst0, dst1); - ST_UB2(dst0, dst1, ptemp_dst, 16); - ptemp_src += 32; - ptemp_dst += 32; - num_pixels -= 8; - } - if (num_pixels > 0) { - if (num_pixels >= 4) { - src0 = LD_UB(ptemp_src); - dst0 = VSHF_UB(src0, src0, mask); - ST_UB(dst0, ptemp_dst); - ptemp_src += 16; - ptemp_dst += 16; - num_pixels -= 4; - } - for (i = 0; i < num_pixels; i++) { - const uint8_t b = ptemp_src[2]; - const uint8_t g = ptemp_src[1]; - const uint8_t r = ptemp_src[0]; - const uint8_t a = ptemp_src[3]; - ptemp_dst[0] = b; - ptemp_dst[1] = g; - ptemp_dst[2] = r; - ptemp_dst[3] = a; - ptemp_src += 4; - ptemp_dst += 4; - } - } -} - -static void ConvertBGRAToBGR_MSA(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint8_t* ptemp_src = (const uint8_t*)src; - uint8_t* ptemp_dst = (uint8_t*)dst; - const v16u8 mask0 = { 0, 1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 14, - 16, 17, 18, 20 }; - const v16u8 mask1 = { 5, 6, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20, - 21, 22, 24, 25 }; - const v16u8 mask2 = { 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 24, 25, - 26, 28, 29, 30 }; - - while (num_pixels >= 16) { - CONVERT16_BGRA_XXX(ptemp_src, ptemp_dst, mask0, mask1, mask2); - ptemp_src += 64; - ptemp_dst += 48; - num_pixels -= 16; - } - if (num_pixels > 0) { - if (num_pixels >= 12) { - CONVERT12_BGRA_XXX(ptemp_src, ptemp_dst, mask0, mask1, mask2); - ptemp_src += 48; - ptemp_dst += 36; - num_pixels -= 12; - } else if (num_pixels >= 8) { - CONVERT8_BGRA_XXX(ptemp_src, ptemp_dst, mask0, mask1); - ptemp_src += 32; - ptemp_dst += 24; - num_pixels -= 8; - } else if (num_pixels >= 4) { - CONVERT4_BGRA_XXX(ptemp_src, ptemp_dst, mask0); - ptemp_src += 16; - ptemp_dst += 12; - num_pixels -= 4; - } - if (num_pixels == 3) { - CONVERT1_BGRA_BGR(ptemp_src + 0, ptemp_dst + 0); - CONVERT1_BGRA_BGR(ptemp_src + 4, ptemp_dst + 3); - CONVERT1_BGRA_BGR(ptemp_src + 8, ptemp_dst + 6); - } else if (num_pixels == 2) { - CONVERT1_BGRA_BGR(ptemp_src + 0, ptemp_dst + 0); - CONVERT1_BGRA_BGR(ptemp_src + 4, ptemp_dst + 3); - } else if (num_pixels == 1) { - CONVERT1_BGRA_BGR(ptemp_src, ptemp_dst); - } - } -} - -static void ConvertBGRAToRGB_MSA(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint8_t* ptemp_src = (const uint8_t*)src; - uint8_t* ptemp_dst = (uint8_t*)dst; - const v16u8 mask0 = { 2, 1, 0, 6, 5, 4, 10, 9, 8, 14, 13, 12, - 18, 17, 16, 22 }; - const v16u8 mask1 = { 5, 4, 10, 9, 8, 14, 13, 12, 18, 17, 16, 22, - 21, 20, 26, 25 }; - const v16u8 mask2 = { 8, 14, 13, 12, 18, 17, 16, 22, 21, 20, 26, 25, - 24, 30, 29, 28 }; - - while (num_pixels >= 16) { - CONVERT16_BGRA_XXX(ptemp_src, ptemp_dst, mask0, mask1, mask2); - ptemp_src += 64; - ptemp_dst += 48; - num_pixels -= 16; - } - if (num_pixels) { - if (num_pixels >= 12) { - CONVERT12_BGRA_XXX(ptemp_src, ptemp_dst, mask0, mask1, mask2); - ptemp_src += 48; - ptemp_dst += 36; - num_pixels -= 12; - } else if (num_pixels >= 8) { - CONVERT8_BGRA_XXX(ptemp_src, ptemp_dst, mask0, mask1); - ptemp_src += 32; - ptemp_dst += 24; - num_pixels -= 8; - } else if (num_pixels >= 4) { - CONVERT4_BGRA_XXX(ptemp_src, ptemp_dst, mask0); - ptemp_src += 16; - ptemp_dst += 12; - num_pixels -= 4; - } - if (num_pixels == 3) { - CONVERT1_BGRA_RGB(ptemp_src + 0, ptemp_dst + 0); - CONVERT1_BGRA_RGB(ptemp_src + 4, ptemp_dst + 3); - CONVERT1_BGRA_RGB(ptemp_src + 8, ptemp_dst + 6); - } else if (num_pixels == 2) { - CONVERT1_BGRA_RGB(ptemp_src + 0, ptemp_dst + 0); - CONVERT1_BGRA_RGB(ptemp_src + 4, ptemp_dst + 3); - } else if (num_pixels == 1) { - CONVERT1_BGRA_RGB(ptemp_src, ptemp_dst); - } - } -} - -static void AddGreenToBlueAndRed_MSA(const uint32_t* const src, int num_pixels, - uint32_t* dst) { - int i; - const uint8_t* in = (const uint8_t*)src; - uint8_t* out = (uint8_t*)dst; - v16u8 src0, dst0, tmp0; - const v16u8 mask = { 1, 255, 1, 255, 5, 255, 5, 255, 9, 255, 9, 255, - 13, 255, 13, 255 }; - - while (num_pixels >= 8) { - v16u8 src1, dst1, tmp1; - LD_UB2(in, 16, src0, src1); - VSHF_B2_UB(src0, src1, src1, src0, mask, mask, tmp0, tmp1); - ADD2(src0, tmp0, src1, tmp1, dst0, dst1); - ST_UB2(dst0, dst1, out, 16); - in += 32; - out += 32; - num_pixels -= 8; - } - if (num_pixels > 0) { - if (num_pixels >= 4) { - src0 = LD_UB(in); - tmp0 = VSHF_UB(src0, src0, mask); - dst0 = src0 + tmp0; - ST_UB(dst0, out); - in += 16; - out += 16; - num_pixels -= 4; - } - for (i = 0; i < num_pixels; i++) { - const uint8_t b = in[0]; - const uint8_t g = in[1]; - const uint8_t r = in[2]; - out[0] = (b + g) & 0xff; - out[1] = g; - out[2] = (r + g) & 0xff; - out[4] = in[4]; - out += 4; - } - } -} - -static void TransformColorInverse_MSA(const VP8LMultipliers* const m, - const uint32_t* src, int num_pixels, - uint32_t* dst) { - v16u8 src0, dst0; - const v16i8 g2br = (v16i8)__msa_fill_w(m->green_to_blue_ | - (m->green_to_red_ << 16)); - const v16i8 r2b = (v16i8)__msa_fill_w(m->red_to_blue_); - const v16u8 mask0 = { 1, 255, 1, 255, 5, 255, 5, 255, 9, 255, 9, 255, - 13, 255, 13, 255 }; - const v16u8 mask1 = { 16, 1, 18, 3, 20, 5, 22, 7, 24, 9, 26, 11, - 28, 13, 30, 15 }; - - while (num_pixels >= 8) { - v16u8 src1, dst1; - LD_UB2(src, 4, src0, src1); - TRANSFORM_COLOR_INVERSE_8(src0, src1, dst0, dst1, g2br, r2b, mask0, mask1); - ST_UB2(dst0, dst1, dst, 4); - src += 8; - dst += 8; - num_pixels -= 8; - } - if (num_pixels > 0) { - if (num_pixels >= 4) { - src0 = LD_UB(src); - TRANSFORM_COLOR_INVERSE_4(src0, dst0, g2br, r2b, mask0, mask1); - ST_UB(dst0, dst); - src += 4; - dst += 4; - num_pixels -= 4; - } - if (num_pixels > 0) { - src0 = LD_UB(src); - TRANSFORM_COLOR_INVERSE_4(src0, dst0, g2br, r2b, mask0, mask1); - if (num_pixels == 3) { - const uint64_t pix_d = __msa_copy_s_d((v2i64)dst0, 0); - const uint32_t pix_w = __msa_copy_s_w((v4i32)dst0, 2); - SD(pix_d, dst + 0); - SW(pix_w, dst + 2); - } else if (num_pixels == 2) { - const uint64_t pix_d = __msa_copy_s_d((v2i64)dst0, 0); - SD(pix_d, dst); - } else { - const uint32_t pix_w = __msa_copy_s_w((v4i32)dst0, 0); - SW(pix_w, dst); - } - } - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8LDspInitMSA(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8LDspInitMSA(void) { - VP8LConvertBGRAToRGBA = ConvertBGRAToRGBA_MSA; - VP8LConvertBGRAToBGR = ConvertBGRAToBGR_MSA; - VP8LConvertBGRAToRGB = ConvertBGRAToRGB_MSA; - - VP8LAddGreenToBlueAndRed = AddGreenToBlueAndRed_MSA; - VP8LTransformColorInverse = TransformColorInverse_MSA; -} - -#else // !WEBP_USE_MSA - -WEBP_DSP_INIT_STUB(VP8LDspInitMSA) - -#endif // WEBP_USE_MSA diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_neon.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_neon.c deleted file mode 100644 index 76a1b6f8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_neon.c +++ /dev/null @@ -1,641 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// NEON variant of methods for lossless decoder -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_NEON) - -#include - -#include "src/dsp/lossless.h" -#include "src/dsp/neon.h" - -//------------------------------------------------------------------------------ -// Colorspace conversion functions - -#if !defined(WORK_AROUND_GCC) -// gcc 4.6.0 had some trouble (NDK-r9) with this code. We only use it for -// gcc-4.8.x at least. -static void ConvertBGRAToRGBA_NEON(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const end = src + (num_pixels & ~15); - for (; src < end; src += 16) { - uint8x16x4_t pixel = vld4q_u8((uint8_t*)src); - // swap B and R. (VSWP d0,d2 has no intrinsics equivalent!) - const uint8x16_t tmp = pixel.val[0]; - pixel.val[0] = pixel.val[2]; - pixel.val[2] = tmp; - vst4q_u8(dst, pixel); - dst += 64; - } - VP8LConvertBGRAToRGBA_C(src, num_pixels & 15, dst); // left-overs -} - -static void ConvertBGRAToBGR_NEON(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const end = src + (num_pixels & ~15); - for (; src < end; src += 16) { - const uint8x16x4_t pixel = vld4q_u8((uint8_t*)src); - const uint8x16x3_t tmp = { { pixel.val[0], pixel.val[1], pixel.val[2] } }; - vst3q_u8(dst, tmp); - dst += 48; - } - VP8LConvertBGRAToBGR_C(src, num_pixels & 15, dst); // left-overs -} - -static void ConvertBGRAToRGB_NEON(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const end = src + (num_pixels & ~15); - for (; src < end; src += 16) { - const uint8x16x4_t pixel = vld4q_u8((uint8_t*)src); - const uint8x16x3_t tmp = { { pixel.val[2], pixel.val[1], pixel.val[0] } }; - vst3q_u8(dst, tmp); - dst += 48; - } - VP8LConvertBGRAToRGB_C(src, num_pixels & 15, dst); // left-overs -} - -#else // WORK_AROUND_GCC - -// gcc-4.6.0 fallback - -static const uint8_t kRGBAShuffle[8] = { 2, 1, 0, 3, 6, 5, 4, 7 }; - -static void ConvertBGRAToRGBA_NEON(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const end = src + (num_pixels & ~1); - const uint8x8_t shuffle = vld1_u8(kRGBAShuffle); - for (; src < end; src += 2) { - const uint8x8_t pixels = vld1_u8((uint8_t*)src); - vst1_u8(dst, vtbl1_u8(pixels, shuffle)); - dst += 8; - } - VP8LConvertBGRAToRGBA_C(src, num_pixels & 1, dst); // left-overs -} - -static const uint8_t kBGRShuffle[3][8] = { - { 0, 1, 2, 4, 5, 6, 8, 9 }, - { 10, 12, 13, 14, 16, 17, 18, 20 }, - { 21, 22, 24, 25, 26, 28, 29, 30 } -}; - -static void ConvertBGRAToBGR_NEON(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const end = src + (num_pixels & ~7); - const uint8x8_t shuffle0 = vld1_u8(kBGRShuffle[0]); - const uint8x8_t shuffle1 = vld1_u8(kBGRShuffle[1]); - const uint8x8_t shuffle2 = vld1_u8(kBGRShuffle[2]); - for (; src < end; src += 8) { - uint8x8x4_t pixels; - INIT_VECTOR4(pixels, - vld1_u8((const uint8_t*)(src + 0)), - vld1_u8((const uint8_t*)(src + 2)), - vld1_u8((const uint8_t*)(src + 4)), - vld1_u8((const uint8_t*)(src + 6))); - vst1_u8(dst + 0, vtbl4_u8(pixels, shuffle0)); - vst1_u8(dst + 8, vtbl4_u8(pixels, shuffle1)); - vst1_u8(dst + 16, vtbl4_u8(pixels, shuffle2)); - dst += 8 * 3; - } - VP8LConvertBGRAToBGR_C(src, num_pixels & 7, dst); // left-overs -} - -static const uint8_t kRGBShuffle[3][8] = { - { 2, 1, 0, 6, 5, 4, 10, 9 }, - { 8, 14, 13, 12, 18, 17, 16, 22 }, - { 21, 20, 26, 25, 24, 30, 29, 28 } -}; - -static void ConvertBGRAToRGB_NEON(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const uint32_t* const end = src + (num_pixels & ~7); - const uint8x8_t shuffle0 = vld1_u8(kRGBShuffle[0]); - const uint8x8_t shuffle1 = vld1_u8(kRGBShuffle[1]); - const uint8x8_t shuffle2 = vld1_u8(kRGBShuffle[2]); - for (; src < end; src += 8) { - uint8x8x4_t pixels; - INIT_VECTOR4(pixels, - vld1_u8((const uint8_t*)(src + 0)), - vld1_u8((const uint8_t*)(src + 2)), - vld1_u8((const uint8_t*)(src + 4)), - vld1_u8((const uint8_t*)(src + 6))); - vst1_u8(dst + 0, vtbl4_u8(pixels, shuffle0)); - vst1_u8(dst + 8, vtbl4_u8(pixels, shuffle1)); - vst1_u8(dst + 16, vtbl4_u8(pixels, shuffle2)); - dst += 8 * 3; - } - VP8LConvertBGRAToRGB_C(src, num_pixels & 7, dst); // left-overs -} - -#endif // !WORK_AROUND_GCC - -//------------------------------------------------------------------------------ -// Predictor Transform - -#define LOAD_U32_AS_U8(IN) vreinterpret_u8_u32(vdup_n_u32((IN))) -#define LOAD_U32P_AS_U8(IN) vreinterpret_u8_u32(vld1_u32((IN))) -#define LOADQ_U32_AS_U8(IN) vreinterpretq_u8_u32(vdupq_n_u32((IN))) -#define LOADQ_U32P_AS_U8(IN) vreinterpretq_u8_u32(vld1q_u32((IN))) -#define GET_U8_AS_U32(IN) vget_lane_u32(vreinterpret_u32_u8((IN)), 0); -#define GETQ_U8_AS_U32(IN) vgetq_lane_u32(vreinterpretq_u32_u8((IN)), 0); -#define STOREQ_U8_AS_U32P(OUT, IN) vst1q_u32((OUT), vreinterpretq_u32_u8((IN))); -#define ROTATE32_LEFT(L) vextq_u8((L), (L), 12) // D|C|B|A -> C|B|A|D - -static WEBP_INLINE uint8x8_t Average2_u8_NEON(uint32_t a0, uint32_t a1) { - const uint8x8_t A0 = LOAD_U32_AS_U8(a0); - const uint8x8_t A1 = LOAD_U32_AS_U8(a1); - return vhadd_u8(A0, A1); -} - -static WEBP_INLINE uint32_t ClampedAddSubtractHalf_NEON(uint32_t c0, - uint32_t c1, - uint32_t c2) { - const uint8x8_t avg = Average2_u8_NEON(c0, c1); - // Remove one to c2 when bigger than avg. - const uint8x8_t C2 = LOAD_U32_AS_U8(c2); - const uint8x8_t cmp = vcgt_u8(C2, avg); - const uint8x8_t C2_1 = vadd_u8(C2, cmp); - // Compute half of the difference between avg and c2. - const int8x8_t diff_avg = vreinterpret_s8_u8(vhsub_u8(avg, C2_1)); - // Compute the sum with avg and saturate. - const int16x8_t avg_16 = vreinterpretq_s16_u16(vmovl_u8(avg)); - const uint8x8_t res = vqmovun_s16(vaddw_s8(avg_16, diff_avg)); - const uint32_t output = GET_U8_AS_U32(res); - return output; -} - -static WEBP_INLINE uint32_t Average2_NEON(uint32_t a0, uint32_t a1) { - const uint8x8_t avg_u8x8 = Average2_u8_NEON(a0, a1); - const uint32_t avg = GET_U8_AS_U32(avg_u8x8); - return avg; -} - -static WEBP_INLINE uint32_t Average3_NEON(uint32_t a0, uint32_t a1, - uint32_t a2) { - const uint8x8_t avg0 = Average2_u8_NEON(a0, a2); - const uint8x8_t A1 = LOAD_U32_AS_U8(a1); - const uint32_t avg = GET_U8_AS_U32(vhadd_u8(avg0, A1)); - return avg; -} - -static uint32_t Predictor5_NEON(uint32_t left, const uint32_t* const top) { - return Average3_NEON(left, top[0], top[1]); -} -static uint32_t Predictor6_NEON(uint32_t left, const uint32_t* const top) { - return Average2_NEON(left, top[-1]); -} -static uint32_t Predictor7_NEON(uint32_t left, const uint32_t* const top) { - return Average2_NEON(left, top[0]); -} -static uint32_t Predictor13_NEON(uint32_t left, const uint32_t* const top) { - return ClampedAddSubtractHalf_NEON(left, top[0], top[-1]); -} - -// Batch versions of those functions. - -// Predictor0: ARGB_BLACK. -static void PredictorAdd0_NEON(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - const uint8x16_t black = vreinterpretq_u8_u32(vdupq_n_u32(ARGB_BLACK)); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); - const uint8x16_t res = vaddq_u8(src, black); - STOREQ_U8_AS_U32P(&out[i], res); - } - VP8LPredictorsAdd_C[0](in + i, upper + i, num_pixels - i, out + i); -} - -// Predictor1: left. -static void PredictorAdd1_NEON(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - const uint8x16_t zero = LOADQ_U32_AS_U8(0); - for (i = 0; i + 4 <= num_pixels; i += 4) { - // a | b | c | d - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); - // 0 | a | b | c - const uint8x16_t shift0 = vextq_u8(zero, src, 12); - // a | a + b | b + c | c + d - const uint8x16_t sum0 = vaddq_u8(src, shift0); - // 0 | 0 | a | a + b - const uint8x16_t shift1 = vextq_u8(zero, sum0, 8); - // a | a + b | a + b + c | a + b + c + d - const uint8x16_t sum1 = vaddq_u8(sum0, shift1); - const uint8x16_t prev = LOADQ_U32_AS_U8(out[i - 1]); - const uint8x16_t res = vaddq_u8(sum1, prev); - STOREQ_U8_AS_U32P(&out[i], res); - } - VP8LPredictorsAdd_C[1](in + i, upper + i, num_pixels - i, out + i); -} - -// Macro that adds 32-bit integers from IN using mod 256 arithmetic -// per 8 bit channel. -#define GENERATE_PREDICTOR_1(X, IN) \ -static void PredictorAdd##X##_NEON(const uint32_t* in, \ - const uint32_t* upper, int num_pixels, \ - uint32_t* out) { \ - int i; \ - for (i = 0; i + 4 <= num_pixels; i += 4) { \ - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); \ - const uint8x16_t other = LOADQ_U32P_AS_U8(&(IN)); \ - const uint8x16_t res = vaddq_u8(src, other); \ - STOREQ_U8_AS_U32P(&out[i], res); \ - } \ - VP8LPredictorsAdd_C[(X)](in + i, upper + i, num_pixels - i, out + i); \ -} -// Predictor2: Top. -GENERATE_PREDICTOR_1(2, upper[i]) -// Predictor3: Top-right. -GENERATE_PREDICTOR_1(3, upper[i + 1]) -// Predictor4: Top-left. -GENERATE_PREDICTOR_1(4, upper[i - 1]) -#undef GENERATE_PREDICTOR_1 - -// Predictor5: average(average(left, TR), T) -#define DO_PRED5(LANE) do { \ - const uint8x16_t avgLTR = vhaddq_u8(L, TR); \ - const uint8x16_t avg = vhaddq_u8(avgLTR, T); \ - const uint8x16_t res = vaddq_u8(avg, src); \ - vst1q_lane_u32(&out[i + (LANE)], vreinterpretq_u32_u8(res), (LANE)); \ - L = ROTATE32_LEFT(res); \ -} while (0) - -static void PredictorAdd5_NEON(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - uint8x16_t L = LOADQ_U32_AS_U8(out[-1]); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); - const uint8x16_t T = LOADQ_U32P_AS_U8(&upper[i + 0]); - const uint8x16_t TR = LOADQ_U32P_AS_U8(&upper[i + 1]); - DO_PRED5(0); - DO_PRED5(1); - DO_PRED5(2); - DO_PRED5(3); - } - VP8LPredictorsAdd_C[5](in + i, upper + i, num_pixels - i, out + i); -} -#undef DO_PRED5 - -#define DO_PRED67(LANE) do { \ - const uint8x16_t avg = vhaddq_u8(L, top); \ - const uint8x16_t res = vaddq_u8(avg, src); \ - vst1q_lane_u32(&out[i + (LANE)], vreinterpretq_u32_u8(res), (LANE)); \ - L = ROTATE32_LEFT(res); \ -} while (0) - -// Predictor6: average(left, TL) -static void PredictorAdd6_NEON(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - uint8x16_t L = LOADQ_U32_AS_U8(out[-1]); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); - const uint8x16_t top = LOADQ_U32P_AS_U8(&upper[i - 1]); - DO_PRED67(0); - DO_PRED67(1); - DO_PRED67(2); - DO_PRED67(3); - } - VP8LPredictorsAdd_C[6](in + i, upper + i, num_pixels - i, out + i); -} - -// Predictor7: average(left, T) -static void PredictorAdd7_NEON(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - uint8x16_t L = LOADQ_U32_AS_U8(out[-1]); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); - const uint8x16_t top = LOADQ_U32P_AS_U8(&upper[i]); - DO_PRED67(0); - DO_PRED67(1); - DO_PRED67(2); - DO_PRED67(3); - } - VP8LPredictorsAdd_C[7](in + i, upper + i, num_pixels - i, out + i); -} -#undef DO_PRED67 - -#define GENERATE_PREDICTOR_2(X, IN) \ -static void PredictorAdd##X##_NEON(const uint32_t* in, \ - const uint32_t* upper, int num_pixels, \ - uint32_t* out) { \ - int i; \ - for (i = 0; i + 4 <= num_pixels; i += 4) { \ - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); \ - const uint8x16_t Tother = LOADQ_U32P_AS_U8(&(IN)); \ - const uint8x16_t T = LOADQ_U32P_AS_U8(&upper[i]); \ - const uint8x16_t avg = vhaddq_u8(T, Tother); \ - const uint8x16_t res = vaddq_u8(avg, src); \ - STOREQ_U8_AS_U32P(&out[i], res); \ - } \ - VP8LPredictorsAdd_C[(X)](in + i, upper + i, num_pixels - i, out + i); \ -} -// Predictor8: average TL T. -GENERATE_PREDICTOR_2(8, upper[i - 1]) -// Predictor9: average T TR. -GENERATE_PREDICTOR_2(9, upper[i + 1]) -#undef GENERATE_PREDICTOR_2 - -// Predictor10: average of (average of (L,TL), average of (T, TR)). -#define DO_PRED10(LANE) do { \ - const uint8x16_t avgLTL = vhaddq_u8(L, TL); \ - const uint8x16_t avg = vhaddq_u8(avgTTR, avgLTL); \ - const uint8x16_t res = vaddq_u8(avg, src); \ - vst1q_lane_u32(&out[i + (LANE)], vreinterpretq_u32_u8(res), (LANE)); \ - L = ROTATE32_LEFT(res); \ -} while (0) - -static void PredictorAdd10_NEON(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - uint8x16_t L = LOADQ_U32_AS_U8(out[-1]); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); - const uint8x16_t TL = LOADQ_U32P_AS_U8(&upper[i - 1]); - const uint8x16_t T = LOADQ_U32P_AS_U8(&upper[i]); - const uint8x16_t TR = LOADQ_U32P_AS_U8(&upper[i + 1]); - const uint8x16_t avgTTR = vhaddq_u8(T, TR); - DO_PRED10(0); - DO_PRED10(1); - DO_PRED10(2); - DO_PRED10(3); - } - VP8LPredictorsAdd_C[10](in + i, upper + i, num_pixels - i, out + i); -} -#undef DO_PRED10 - -// Predictor11: select. -#define DO_PRED11(LANE) do { \ - const uint8x16_t sumLin = vaddq_u8(L, src); /* in + L */ \ - const uint8x16_t pLTL = vabdq_u8(L, TL); /* |L - TL| */ \ - const uint16x8_t sum_LTL = vpaddlq_u8(pLTL); \ - const uint32x4_t pa = vpaddlq_u16(sum_LTL); \ - const uint32x4_t mask = vcleq_u32(pa, pb); \ - const uint8x16_t res = vbslq_u8(vreinterpretq_u8_u32(mask), sumTin, sumLin); \ - vst1q_lane_u32(&out[i + (LANE)], vreinterpretq_u32_u8(res), (LANE)); \ - L = ROTATE32_LEFT(res); \ -} while (0) - -static void PredictorAdd11_NEON(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - uint8x16_t L = LOADQ_U32_AS_U8(out[-1]); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const uint8x16_t T = LOADQ_U32P_AS_U8(&upper[i]); - const uint8x16_t TL = LOADQ_U32P_AS_U8(&upper[i - 1]); - const uint8x16_t pTTL = vabdq_u8(T, TL); // |T - TL| - const uint16x8_t sum_TTL = vpaddlq_u8(pTTL); - const uint32x4_t pb = vpaddlq_u16(sum_TTL); - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); - const uint8x16_t sumTin = vaddq_u8(T, src); // in + T - DO_PRED11(0); - DO_PRED11(1); - DO_PRED11(2); - DO_PRED11(3); - } - VP8LPredictorsAdd_C[11](in + i, upper + i, num_pixels - i, out + i); -} -#undef DO_PRED11 - -// Predictor12: ClampedAddSubtractFull. -#define DO_PRED12(DIFF, LANE) do { \ - const uint8x8_t pred = \ - vqmovun_s16(vaddq_s16(vreinterpretq_s16_u16(L), (DIFF))); \ - const uint8x8_t res = \ - vadd_u8(pred, (LANE <= 1) ? vget_low_u8(src) : vget_high_u8(src)); \ - const uint16x8_t res16 = vmovl_u8(res); \ - vst1_lane_u32(&out[i + (LANE)], vreinterpret_u32_u8(res), (LANE) & 1); \ - /* rotate in the left predictor for next iteration */ \ - L = vextq_u16(res16, res16, 4); \ -} while (0) - -static void PredictorAdd12_NEON(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - uint16x8_t L = vmovl_u8(LOAD_U32_AS_U8(out[-1])); - for (i = 0; i + 4 <= num_pixels; i += 4) { - // load four pixels of source - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); - // precompute the difference T - TL once for all, stored as s16 - const uint8x16_t TL = LOADQ_U32P_AS_U8(&upper[i - 1]); - const uint8x16_t T = LOADQ_U32P_AS_U8(&upper[i]); - const int16x8_t diff_lo = - vreinterpretq_s16_u16(vsubl_u8(vget_low_u8(T), vget_low_u8(TL))); - const int16x8_t diff_hi = - vreinterpretq_s16_u16(vsubl_u8(vget_high_u8(T), vget_high_u8(TL))); - // loop over the four reconstructed pixels - DO_PRED12(diff_lo, 0); - DO_PRED12(diff_lo, 1); - DO_PRED12(diff_hi, 2); - DO_PRED12(diff_hi, 3); - } - VP8LPredictorsAdd_C[12](in + i, upper + i, num_pixels - i, out + i); -} -#undef DO_PRED12 - -// Predictor13: ClampedAddSubtractHalf -#define DO_PRED13(LANE, LOW_OR_HI) do { \ - const uint8x16_t avg = vhaddq_u8(L, T); \ - const uint8x16_t cmp = vcgtq_u8(TL, avg); \ - const uint8x16_t TL_1 = vaddq_u8(TL, cmp); \ - /* Compute half of the difference between avg and TL'. */ \ - const int8x8_t diff_avg = \ - vreinterpret_s8_u8(LOW_OR_HI(vhsubq_u8(avg, TL_1))); \ - /* Compute the sum with avg and saturate. */ \ - const int16x8_t avg_16 = vreinterpretq_s16_u16(vmovl_u8(LOW_OR_HI(avg))); \ - const uint8x8_t delta = vqmovun_s16(vaddw_s8(avg_16, diff_avg)); \ - const uint8x8_t res = vadd_u8(LOW_OR_HI(src), delta); \ - const uint8x16_t res2 = vcombine_u8(res, res); \ - vst1_lane_u32(&out[i + (LANE)], vreinterpret_u32_u8(res), (LANE) & 1); \ - L = ROTATE32_LEFT(res2); \ -} while (0) - -static void PredictorAdd13_NEON(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - uint8x16_t L = LOADQ_U32_AS_U8(out[-1]); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const uint8x16_t src = LOADQ_U32P_AS_U8(&in[i]); - const uint8x16_t T = LOADQ_U32P_AS_U8(&upper[i]); - const uint8x16_t TL = LOADQ_U32P_AS_U8(&upper[i - 1]); - DO_PRED13(0, vget_low_u8); - DO_PRED13(1, vget_low_u8); - DO_PRED13(2, vget_high_u8); - DO_PRED13(3, vget_high_u8); - } - VP8LPredictorsAdd_C[13](in + i, upper + i, num_pixels - i, out + i); -} -#undef DO_PRED13 - -#undef LOAD_U32_AS_U8 -#undef LOAD_U32P_AS_U8 -#undef LOADQ_U32_AS_U8 -#undef LOADQ_U32P_AS_U8 -#undef GET_U8_AS_U32 -#undef GETQ_U8_AS_U32 -#undef STOREQ_U8_AS_U32P -#undef ROTATE32_LEFT - -//------------------------------------------------------------------------------ -// Subtract-Green Transform - -// vtbl?_u8 are marked unavailable for iOS arm64 with Xcode < 6.3, use -// non-standard versions there. -#if defined(__APPLE__) && defined(__aarch64__) && \ - defined(__apple_build_version__) && (__apple_build_version__< 6020037) -#define USE_VTBLQ -#endif - -#ifdef USE_VTBLQ -// 255 = byte will be zeroed -static const uint8_t kGreenShuffle[16] = { - 1, 255, 1, 255, 5, 255, 5, 255, 9, 255, 9, 255, 13, 255, 13, 255 -}; - -static WEBP_INLINE uint8x16_t DoGreenShuffle_NEON(const uint8x16_t argb, - const uint8x16_t shuffle) { - return vcombine_u8(vtbl1q_u8(argb, vget_low_u8(shuffle)), - vtbl1q_u8(argb, vget_high_u8(shuffle))); -} -#else // !USE_VTBLQ -// 255 = byte will be zeroed -static const uint8_t kGreenShuffle[8] = { 1, 255, 1, 255, 5, 255, 5, 255 }; - -static WEBP_INLINE uint8x16_t DoGreenShuffle_NEON(const uint8x16_t argb, - const uint8x8_t shuffle) { - return vcombine_u8(vtbl1_u8(vget_low_u8(argb), shuffle), - vtbl1_u8(vget_high_u8(argb), shuffle)); -} -#endif // USE_VTBLQ - -static void AddGreenToBlueAndRed_NEON(const uint32_t* src, int num_pixels, - uint32_t* dst) { - const uint32_t* const end = src + (num_pixels & ~3); -#ifdef USE_VTBLQ - const uint8x16_t shuffle = vld1q_u8(kGreenShuffle); -#else - const uint8x8_t shuffle = vld1_u8(kGreenShuffle); -#endif - for (; src < end; src += 4, dst += 4) { - const uint8x16_t argb = vld1q_u8((const uint8_t*)src); - const uint8x16_t greens = DoGreenShuffle_NEON(argb, shuffle); - vst1q_u8((uint8_t*)dst, vaddq_u8(argb, greens)); - } - // fallthrough and finish off with plain-C - VP8LAddGreenToBlueAndRed_C(src, num_pixels & 3, dst); -} - -//------------------------------------------------------------------------------ -// Color Transform - -static void TransformColorInverse_NEON(const VP8LMultipliers* const m, - const uint32_t* const src, - int num_pixels, uint32_t* dst) { -// sign-extended multiplying constants, pre-shifted by 6. -#define CST(X) (((int16_t)(m->X << 8)) >> 6) - const int16_t rb[8] = { - CST(green_to_blue_), CST(green_to_red_), - CST(green_to_blue_), CST(green_to_red_), - CST(green_to_blue_), CST(green_to_red_), - CST(green_to_blue_), CST(green_to_red_) - }; - const int16x8_t mults_rb = vld1q_s16(rb); - const int16_t b2[8] = { - 0, CST(red_to_blue_), 0, CST(red_to_blue_), - 0, CST(red_to_blue_), 0, CST(red_to_blue_), - }; - const int16x8_t mults_b2 = vld1q_s16(b2); -#undef CST -#ifdef USE_VTBLQ - static const uint8_t kg0g0[16] = { - 255, 1, 255, 1, 255, 5, 255, 5, 255, 9, 255, 9, 255, 13, 255, 13 - }; - const uint8x16_t shuffle = vld1q_u8(kg0g0); -#else - static const uint8_t k0g0g[8] = { 255, 1, 255, 1, 255, 5, 255, 5 }; - const uint8x8_t shuffle = vld1_u8(k0g0g); -#endif - const uint32x4_t mask_ag = vdupq_n_u32(0xff00ff00u); - int i; - for (i = 0; i + 4 <= num_pixels; i += 4) { - const uint8x16_t in = vld1q_u8((const uint8_t*)(src + i)); - const uint32x4_t a0g0 = vandq_u32(vreinterpretq_u32_u8(in), mask_ag); - // 0 g 0 g - const uint8x16_t greens = DoGreenShuffle_NEON(in, shuffle); - // x dr x db1 - const int16x8_t A = vqdmulhq_s16(vreinterpretq_s16_u8(greens), mults_rb); - // x r' x b' - const int8x16_t B = vaddq_s8(vreinterpretq_s8_u8(in), - vreinterpretq_s8_s16(A)); - // r' 0 b' 0 - const int16x8_t C = vshlq_n_s16(vreinterpretq_s16_s8(B), 8); - // x db2 0 0 - const int16x8_t D = vqdmulhq_s16(C, mults_b2); - // 0 x db2 0 - const uint32x4_t E = vshrq_n_u32(vreinterpretq_u32_s16(D), 8); - // r' x b'' 0 - const int8x16_t F = vaddq_s8(vreinterpretq_s8_u32(E), - vreinterpretq_s8_s16(C)); - // 0 r' 0 b'' - const uint16x8_t G = vshrq_n_u16(vreinterpretq_u16_s8(F), 8); - const uint32x4_t out = vorrq_u32(vreinterpretq_u32_u16(G), a0g0); - vst1q_u32(dst + i, out); - } - // Fall-back to C-version for left-overs. - VP8LTransformColorInverse_C(m, src + i, num_pixels - i, dst + i); -} - -#undef USE_VTBLQ - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8LDspInitNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8LDspInitNEON(void) { - VP8LPredictors[5] = Predictor5_NEON; - VP8LPredictors[6] = Predictor6_NEON; - VP8LPredictors[7] = Predictor7_NEON; - VP8LPredictors[13] = Predictor13_NEON; - - VP8LPredictorsAdd[0] = PredictorAdd0_NEON; - VP8LPredictorsAdd[1] = PredictorAdd1_NEON; - VP8LPredictorsAdd[2] = PredictorAdd2_NEON; - VP8LPredictorsAdd[3] = PredictorAdd3_NEON; - VP8LPredictorsAdd[4] = PredictorAdd4_NEON; - VP8LPredictorsAdd[5] = PredictorAdd5_NEON; - VP8LPredictorsAdd[6] = PredictorAdd6_NEON; - VP8LPredictorsAdd[7] = PredictorAdd7_NEON; - VP8LPredictorsAdd[8] = PredictorAdd8_NEON; - VP8LPredictorsAdd[9] = PredictorAdd9_NEON; - VP8LPredictorsAdd[10] = PredictorAdd10_NEON; - VP8LPredictorsAdd[11] = PredictorAdd11_NEON; - VP8LPredictorsAdd[12] = PredictorAdd12_NEON; - VP8LPredictorsAdd[13] = PredictorAdd13_NEON; - - VP8LConvertBGRAToRGBA = ConvertBGRAToRGBA_NEON; - VP8LConvertBGRAToBGR = ConvertBGRAToBGR_NEON; - VP8LConvertBGRAToRGB = ConvertBGRAToRGB_NEON; - - VP8LAddGreenToBlueAndRed = AddGreenToBlueAndRed_NEON; - VP8LTransformColorInverse = TransformColorInverse_NEON; -} - -#else // !WEBP_USE_NEON - -WEBP_DSP_INIT_STUB(VP8LDspInitNEON) - -#endif // WEBP_USE_NEON diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_sse2.c deleted file mode 100644 index aef0cee1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/lossless_sse2.c +++ /dev/null @@ -1,708 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE2 variant of methods for lossless decoder -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE2) - -#include "src/dsp/common_sse2.h" -#include "src/dsp/lossless.h" -#include "src/dsp/lossless_common.h" -#include -#include - -//------------------------------------------------------------------------------ -// Predictor Transform - -static WEBP_INLINE uint32_t ClampedAddSubtractFull_SSE2(uint32_t c0, - uint32_t c1, - uint32_t c2) { - const __m128i zero = _mm_setzero_si128(); - const __m128i C0 = _mm_unpacklo_epi8(_mm_cvtsi32_si128(c0), zero); - const __m128i C1 = _mm_unpacklo_epi8(_mm_cvtsi32_si128(c1), zero); - const __m128i C2 = _mm_unpacklo_epi8(_mm_cvtsi32_si128(c2), zero); - const __m128i V1 = _mm_add_epi16(C0, C1); - const __m128i V2 = _mm_sub_epi16(V1, C2); - const __m128i b = _mm_packus_epi16(V2, V2); - const uint32_t output = _mm_cvtsi128_si32(b); - return output; -} - -static WEBP_INLINE uint32_t ClampedAddSubtractHalf_SSE2(uint32_t c0, - uint32_t c1, - uint32_t c2) { - const __m128i zero = _mm_setzero_si128(); - const __m128i C0 = _mm_unpacklo_epi8(_mm_cvtsi32_si128(c0), zero); - const __m128i C1 = _mm_unpacklo_epi8(_mm_cvtsi32_si128(c1), zero); - const __m128i B0 = _mm_unpacklo_epi8(_mm_cvtsi32_si128(c2), zero); - const __m128i avg = _mm_add_epi16(C1, C0); - const __m128i A0 = _mm_srli_epi16(avg, 1); - const __m128i A1 = _mm_sub_epi16(A0, B0); - const __m128i BgtA = _mm_cmpgt_epi16(B0, A0); - const __m128i A2 = _mm_sub_epi16(A1, BgtA); - const __m128i A3 = _mm_srai_epi16(A2, 1); - const __m128i A4 = _mm_add_epi16(A0, A3); - const __m128i A5 = _mm_packus_epi16(A4, A4); - const uint32_t output = _mm_cvtsi128_si32(A5); - return output; -} - -static WEBP_INLINE uint32_t Select_SSE2(uint32_t a, uint32_t b, uint32_t c) { - int pa_minus_pb; - const __m128i zero = _mm_setzero_si128(); - const __m128i A0 = _mm_cvtsi32_si128(a); - const __m128i B0 = _mm_cvtsi32_si128(b); - const __m128i C0 = _mm_cvtsi32_si128(c); - const __m128i AC0 = _mm_subs_epu8(A0, C0); - const __m128i CA0 = _mm_subs_epu8(C0, A0); - const __m128i BC0 = _mm_subs_epu8(B0, C0); - const __m128i CB0 = _mm_subs_epu8(C0, B0); - const __m128i AC = _mm_or_si128(AC0, CA0); - const __m128i BC = _mm_or_si128(BC0, CB0); - const __m128i pa = _mm_unpacklo_epi8(AC, zero); // |a - c| - const __m128i pb = _mm_unpacklo_epi8(BC, zero); // |b - c| - const __m128i diff = _mm_sub_epi16(pb, pa); - { - int16_t out[8]; - _mm_storeu_si128((__m128i*)out, diff); - pa_minus_pb = out[0] + out[1] + out[2] + out[3]; - } - return (pa_minus_pb <= 0) ? a : b; -} - -static WEBP_INLINE void Average2_m128i(const __m128i* const a0, - const __m128i* const a1, - __m128i* const avg) { - // (a + b) >> 1 = ((a + b + 1) >> 1) - ((a ^ b) & 1) - const __m128i ones = _mm_set1_epi8(1); - const __m128i avg1 = _mm_avg_epu8(*a0, *a1); - const __m128i one = _mm_and_si128(_mm_xor_si128(*a0, *a1), ones); - *avg = _mm_sub_epi8(avg1, one); -} - -static WEBP_INLINE void Average2_uint32_SSE2(const uint32_t a0, - const uint32_t a1, - __m128i* const avg) { - // (a + b) >> 1 = ((a + b + 1) >> 1) - ((a ^ b) & 1) - const __m128i ones = _mm_set1_epi8(1); - const __m128i A0 = _mm_cvtsi32_si128(a0); - const __m128i A1 = _mm_cvtsi32_si128(a1); - const __m128i avg1 = _mm_avg_epu8(A0, A1); - const __m128i one = _mm_and_si128(_mm_xor_si128(A0, A1), ones); - *avg = _mm_sub_epi8(avg1, one); -} - -static WEBP_INLINE __m128i Average2_uint32_16_SSE2(uint32_t a0, uint32_t a1) { - const __m128i zero = _mm_setzero_si128(); - const __m128i A0 = _mm_unpacklo_epi8(_mm_cvtsi32_si128(a0), zero); - const __m128i A1 = _mm_unpacklo_epi8(_mm_cvtsi32_si128(a1), zero); - const __m128i sum = _mm_add_epi16(A1, A0); - return _mm_srli_epi16(sum, 1); -} - -static WEBP_INLINE uint32_t Average2_SSE2(uint32_t a0, uint32_t a1) { - __m128i output; - Average2_uint32_SSE2(a0, a1, &output); - return _mm_cvtsi128_si32(output); -} - -static WEBP_INLINE uint32_t Average3_SSE2(uint32_t a0, uint32_t a1, - uint32_t a2) { - const __m128i zero = _mm_setzero_si128(); - const __m128i avg1 = Average2_uint32_16_SSE2(a0, a2); - const __m128i A1 = _mm_unpacklo_epi8(_mm_cvtsi32_si128(a1), zero); - const __m128i sum = _mm_add_epi16(avg1, A1); - const __m128i avg2 = _mm_srli_epi16(sum, 1); - const __m128i A2 = _mm_packus_epi16(avg2, avg2); - const uint32_t output = _mm_cvtsi128_si32(A2); - return output; -} - -static WEBP_INLINE uint32_t Average4_SSE2(uint32_t a0, uint32_t a1, - uint32_t a2, uint32_t a3) { - const __m128i avg1 = Average2_uint32_16_SSE2(a0, a1); - const __m128i avg2 = Average2_uint32_16_SSE2(a2, a3); - const __m128i sum = _mm_add_epi16(avg2, avg1); - const __m128i avg3 = _mm_srli_epi16(sum, 1); - const __m128i A0 = _mm_packus_epi16(avg3, avg3); - const uint32_t output = _mm_cvtsi128_si32(A0); - return output; -} - -static uint32_t Predictor5_SSE2(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average3_SSE2(left, top[0], top[1]); - return pred; -} -static uint32_t Predictor6_SSE2(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2_SSE2(left, top[-1]); - return pred; -} -static uint32_t Predictor7_SSE2(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2_SSE2(left, top[0]); - return pred; -} -static uint32_t Predictor8_SSE2(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2_SSE2(top[-1], top[0]); - (void)left; - return pred; -} -static uint32_t Predictor9_SSE2(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average2_SSE2(top[0], top[1]); - (void)left; - return pred; -} -static uint32_t Predictor10_SSE2(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Average4_SSE2(left, top[-1], top[0], top[1]); - return pred; -} -static uint32_t Predictor11_SSE2(uint32_t left, const uint32_t* const top) { - const uint32_t pred = Select_SSE2(top[0], left, top[-1]); - return pred; -} -static uint32_t Predictor12_SSE2(uint32_t left, const uint32_t* const top) { - const uint32_t pred = ClampedAddSubtractFull_SSE2(left, top[0], top[-1]); - return pred; -} -static uint32_t Predictor13_SSE2(uint32_t left, const uint32_t* const top) { - const uint32_t pred = ClampedAddSubtractHalf_SSE2(left, top[0], top[-1]); - return pred; -} - -// Batch versions of those functions. - -// Predictor0: ARGB_BLACK. -static void PredictorAdd0_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - const __m128i black = _mm_set1_epi32(ARGB_BLACK); - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); - const __m128i res = _mm_add_epi8(src, black); - _mm_storeu_si128((__m128i*)&out[i], res); - } - if (i != num_pixels) { - VP8LPredictorsAdd_C[0](in + i, NULL, num_pixels - i, out + i); - } - (void)upper; -} - -// Predictor1: left. -static void PredictorAdd1_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - __m128i prev = _mm_set1_epi32(out[-1]); - for (i = 0; i + 4 <= num_pixels; i += 4) { - // a | b | c | d - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); - // 0 | a | b | c - const __m128i shift0 = _mm_slli_si128(src, 4); - // a | a + b | b + c | c + d - const __m128i sum0 = _mm_add_epi8(src, shift0); - // 0 | 0 | a | a + b - const __m128i shift1 = _mm_slli_si128(sum0, 8); - // a | a + b | a + b + c | a + b + c + d - const __m128i sum1 = _mm_add_epi8(sum0, shift1); - const __m128i res = _mm_add_epi8(sum1, prev); - _mm_storeu_si128((__m128i*)&out[i], res); - // replicate prev output on the four lanes - prev = _mm_shuffle_epi32(res, (3 << 0) | (3 << 2) | (3 << 4) | (3 << 6)); - } - if (i != num_pixels) { - VP8LPredictorsAdd_C[1](in + i, upper + i, num_pixels - i, out + i); - } -} - -// Macro that adds 32-bit integers from IN using mod 256 arithmetic -// per 8 bit channel. -#define GENERATE_PREDICTOR_1(X, IN) \ -static void PredictorAdd##X##_SSE2(const uint32_t* in, const uint32_t* upper, \ - int num_pixels, uint32_t* out) { \ - int i; \ - for (i = 0; i + 4 <= num_pixels; i += 4) { \ - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); \ - const __m128i other = _mm_loadu_si128((const __m128i*)&(IN)); \ - const __m128i res = _mm_add_epi8(src, other); \ - _mm_storeu_si128((__m128i*)&out[i], res); \ - } \ - if (i != num_pixels) { \ - VP8LPredictorsAdd_C[(X)](in + i, upper + i, num_pixels - i, out + i); \ - } \ -} - -// Predictor2: Top. -GENERATE_PREDICTOR_1(2, upper[i]) -// Predictor3: Top-right. -GENERATE_PREDICTOR_1(3, upper[i + 1]) -// Predictor4: Top-left. -GENERATE_PREDICTOR_1(4, upper[i - 1]) -#undef GENERATE_PREDICTOR_1 - -// Due to averages with integers, values cannot be accumulated in parallel for -// predictors 5 to 7. -GENERATE_PREDICTOR_ADD(Predictor5_SSE2, PredictorAdd5_SSE2) -GENERATE_PREDICTOR_ADD(Predictor6_SSE2, PredictorAdd6_SSE2) -GENERATE_PREDICTOR_ADD(Predictor7_SSE2, PredictorAdd7_SSE2) - -#define GENERATE_PREDICTOR_2(X, IN) \ -static void PredictorAdd##X##_SSE2(const uint32_t* in, const uint32_t* upper, \ - int num_pixels, uint32_t* out) { \ - int i; \ - for (i = 0; i + 4 <= num_pixels; i += 4) { \ - const __m128i Tother = _mm_loadu_si128((const __m128i*)&(IN)); \ - const __m128i T = _mm_loadu_si128((const __m128i*)&upper[i]); \ - const __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); \ - __m128i avg, res; \ - Average2_m128i(&T, &Tother, &avg); \ - res = _mm_add_epi8(avg, src); \ - _mm_storeu_si128((__m128i*)&out[i], res); \ - } \ - if (i != num_pixels) { \ - VP8LPredictorsAdd_C[(X)](in + i, upper + i, num_pixels - i, out + i); \ - } \ -} -// Predictor8: average TL T. -GENERATE_PREDICTOR_2(8, upper[i - 1]) -// Predictor9: average T TR. -GENERATE_PREDICTOR_2(9, upper[i + 1]) -#undef GENERATE_PREDICTOR_2 - -// Predictor10: average of (average of (L,TL), average of (T, TR)). -#define DO_PRED10(OUT) do { \ - __m128i avgLTL, avg; \ - Average2_m128i(&L, &TL, &avgLTL); \ - Average2_m128i(&avgTTR, &avgLTL, &avg); \ - L = _mm_add_epi8(avg, src); \ - out[i + (OUT)] = _mm_cvtsi128_si32(L); \ -} while (0) - -#define DO_PRED10_SHIFT do { \ - /* Rotate the pre-computed values for the next iteration.*/ \ - avgTTR = _mm_srli_si128(avgTTR, 4); \ - TL = _mm_srli_si128(TL, 4); \ - src = _mm_srli_si128(src, 4); \ -} while (0) - -static void PredictorAdd10_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - __m128i L = _mm_cvtsi32_si128(out[-1]); - for (i = 0; i + 4 <= num_pixels; i += 4) { - __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); - __m128i TL = _mm_loadu_si128((const __m128i*)&upper[i - 1]); - const __m128i T = _mm_loadu_si128((const __m128i*)&upper[i]); - const __m128i TR = _mm_loadu_si128((const __m128i*)&upper[i + 1]); - __m128i avgTTR; - Average2_m128i(&T, &TR, &avgTTR); - DO_PRED10(0); - DO_PRED10_SHIFT; - DO_PRED10(1); - DO_PRED10_SHIFT; - DO_PRED10(2); - DO_PRED10_SHIFT; - DO_PRED10(3); - } - if (i != num_pixels) { - VP8LPredictorsAdd_C[10](in + i, upper + i, num_pixels - i, out + i); - } -} -#undef DO_PRED10 -#undef DO_PRED10_SHIFT - -// Predictor11: select. -#define DO_PRED11(OUT) do { \ - const __m128i L_lo = _mm_unpacklo_epi32(L, T); \ - const __m128i TL_lo = _mm_unpacklo_epi32(TL, T); \ - const __m128i pb = _mm_sad_epu8(L_lo, TL_lo); /* pb = sum |L-TL|*/ \ - const __m128i mask = _mm_cmpgt_epi32(pb, pa); \ - const __m128i A = _mm_and_si128(mask, L); \ - const __m128i B = _mm_andnot_si128(mask, T); \ - const __m128i pred = _mm_or_si128(A, B); /* pred = (pa > b)? L : T*/ \ - L = _mm_add_epi8(src, pred); \ - out[i + (OUT)] = _mm_cvtsi128_si32(L); \ -} while (0) - -#define DO_PRED11_SHIFT do { \ - /* Shift the pre-computed value for the next iteration.*/ \ - T = _mm_srli_si128(T, 4); \ - TL = _mm_srli_si128(TL, 4); \ - src = _mm_srli_si128(src, 4); \ - pa = _mm_srli_si128(pa, 4); \ -} while (0) - -static void PredictorAdd11_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - __m128i pa; - __m128i L = _mm_cvtsi32_si128(out[-1]); - for (i = 0; i + 4 <= num_pixels; i += 4) { - __m128i T = _mm_loadu_si128((const __m128i*)&upper[i]); - __m128i TL = _mm_loadu_si128((const __m128i*)&upper[i - 1]); - __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); - { - // We can unpack with any value on the upper 32 bits, provided it's the - // same on both operands (so that their sum of abs diff is zero). Here we - // use T. - const __m128i T_lo = _mm_unpacklo_epi32(T, T); - const __m128i TL_lo = _mm_unpacklo_epi32(TL, T); - const __m128i T_hi = _mm_unpackhi_epi32(T, T); - const __m128i TL_hi = _mm_unpackhi_epi32(TL, T); - const __m128i s_lo = _mm_sad_epu8(T_lo, TL_lo); - const __m128i s_hi = _mm_sad_epu8(T_hi, TL_hi); - pa = _mm_packs_epi32(s_lo, s_hi); // pa = sum |T-TL| - } - DO_PRED11(0); - DO_PRED11_SHIFT; - DO_PRED11(1); - DO_PRED11_SHIFT; - DO_PRED11(2); - DO_PRED11_SHIFT; - DO_PRED11(3); - } - if (i != num_pixels) { - VP8LPredictorsAdd_C[11](in + i, upper + i, num_pixels - i, out + i); - } -} -#undef DO_PRED11 -#undef DO_PRED11_SHIFT - -// Predictor12: ClampedAddSubtractFull. -#define DO_PRED12(DIFF, LANE, OUT) do { \ - const __m128i all = _mm_add_epi16(L, (DIFF)); \ - const __m128i alls = _mm_packus_epi16(all, all); \ - const __m128i res = _mm_add_epi8(src, alls); \ - out[i + (OUT)] = _mm_cvtsi128_si32(res); \ - L = _mm_unpacklo_epi8(res, zero); \ -} while (0) - -#define DO_PRED12_SHIFT(DIFF, LANE) do { \ - /* Shift the pre-computed value for the next iteration.*/ \ - if ((LANE) == 0) (DIFF) = _mm_srli_si128((DIFF), 8); \ - src = _mm_srli_si128(src, 4); \ -} while (0) - -static void PredictorAdd12_SSE2(const uint32_t* in, const uint32_t* upper, - int num_pixels, uint32_t* out) { - int i; - const __m128i zero = _mm_setzero_si128(); - const __m128i L8 = _mm_cvtsi32_si128(out[-1]); - __m128i L = _mm_unpacklo_epi8(L8, zero); - for (i = 0; i + 4 <= num_pixels; i += 4) { - // Load 4 pixels at a time. - __m128i src = _mm_loadu_si128((const __m128i*)&in[i]); - const __m128i T = _mm_loadu_si128((const __m128i*)&upper[i]); - const __m128i T_lo = _mm_unpacklo_epi8(T, zero); - const __m128i T_hi = _mm_unpackhi_epi8(T, zero); - const __m128i TL = _mm_loadu_si128((const __m128i*)&upper[i - 1]); - const __m128i TL_lo = _mm_unpacklo_epi8(TL, zero); - const __m128i TL_hi = _mm_unpackhi_epi8(TL, zero); - __m128i diff_lo = _mm_sub_epi16(T_lo, TL_lo); - __m128i diff_hi = _mm_sub_epi16(T_hi, TL_hi); - DO_PRED12(diff_lo, 0, 0); - DO_PRED12_SHIFT(diff_lo, 0); - DO_PRED12(diff_lo, 1, 1); - DO_PRED12_SHIFT(diff_lo, 1); - DO_PRED12(diff_hi, 0, 2); - DO_PRED12_SHIFT(diff_hi, 0); - DO_PRED12(diff_hi, 1, 3); - } - if (i != num_pixels) { - VP8LPredictorsAdd_C[12](in + i, upper + i, num_pixels - i, out + i); - } -} -#undef DO_PRED12 -#undef DO_PRED12_SHIFT - -// Due to averages with integers, values cannot be accumulated in parallel for -// predictors 13. -GENERATE_PREDICTOR_ADD(Predictor13_SSE2, PredictorAdd13_SSE2) - -//------------------------------------------------------------------------------ -// Subtract-Green Transform - -static void AddGreenToBlueAndRed_SSE2(const uint32_t* const src, int num_pixels, - uint32_t* dst) { - int i; - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i in = _mm_loadu_si128((const __m128i*)&src[i]); // argb - const __m128i A = _mm_srli_epi16(in, 8); // 0 a 0 g - const __m128i B = _mm_shufflelo_epi16(A, _MM_SHUFFLE(2, 2, 0, 0)); - const __m128i C = _mm_shufflehi_epi16(B, _MM_SHUFFLE(2, 2, 0, 0)); // 0g0g - const __m128i out = _mm_add_epi8(in, C); - _mm_storeu_si128((__m128i*)&dst[i], out); - } - // fallthrough and finish off with plain-C - if (i != num_pixels) { - VP8LAddGreenToBlueAndRed_C(src + i, num_pixels - i, dst + i); - } -} - -//------------------------------------------------------------------------------ -// Color Transform - -static void TransformColorInverse_SSE2(const VP8LMultipliers* const m, - const uint32_t* const src, - int num_pixels, uint32_t* dst) { -// sign-extended multiplying constants, pre-shifted by 5. -#define CST(X) (((int16_t)(m->X << 8)) >> 5) // sign-extend -#define MK_CST_16(HI, LO) \ - _mm_set1_epi32((int)(((uint32_t)(HI) << 16) | ((LO) & 0xffff))) - const __m128i mults_rb = MK_CST_16(CST(green_to_red_), CST(green_to_blue_)); - const __m128i mults_b2 = MK_CST_16(CST(red_to_blue_), 0); -#undef MK_CST_16 -#undef CST - const __m128i mask_ag = _mm_set1_epi32(0xff00ff00); // alpha-green masks - int i; - for (i = 0; i + 4 <= num_pixels; i += 4) { - const __m128i in = _mm_loadu_si128((const __m128i*)&src[i]); // argb - const __m128i A = _mm_and_si128(in, mask_ag); // a 0 g 0 - const __m128i B = _mm_shufflelo_epi16(A, _MM_SHUFFLE(2, 2, 0, 0)); - const __m128i C = _mm_shufflehi_epi16(B, _MM_SHUFFLE(2, 2, 0, 0)); // g0g0 - const __m128i D = _mm_mulhi_epi16(C, mults_rb); // x dr x db1 - const __m128i E = _mm_add_epi8(in, D); // x r' x b' - const __m128i F = _mm_slli_epi16(E, 8); // r' 0 b' 0 - const __m128i G = _mm_mulhi_epi16(F, mults_b2); // x db2 0 0 - const __m128i H = _mm_srli_epi32(G, 8); // 0 x db2 0 - const __m128i I = _mm_add_epi8(H, F); // r' x b'' 0 - const __m128i J = _mm_srli_epi16(I, 8); // 0 r' 0 b'' - const __m128i out = _mm_or_si128(J, A); - _mm_storeu_si128((__m128i*)&dst[i], out); - } - // Fall-back to C-version for left-overs. - if (i != num_pixels) { - VP8LTransformColorInverse_C(m, src + i, num_pixels - i, dst + i); - } -} - -//------------------------------------------------------------------------------ -// Color-space conversion functions - -static void ConvertBGRAToRGB_SSE2(const uint32_t* src, int num_pixels, - uint8_t* dst) { - const __m128i* in = (const __m128i*)src; - __m128i* out = (__m128i*)dst; - - while (num_pixels >= 32) { - // Load the BGRA buffers. - __m128i in0 = _mm_loadu_si128(in + 0); - __m128i in1 = _mm_loadu_si128(in + 1); - __m128i in2 = _mm_loadu_si128(in + 2); - __m128i in3 = _mm_loadu_si128(in + 3); - __m128i in4 = _mm_loadu_si128(in + 4); - __m128i in5 = _mm_loadu_si128(in + 5); - __m128i in6 = _mm_loadu_si128(in + 6); - __m128i in7 = _mm_loadu_si128(in + 7); - VP8L32bToPlanar_SSE2(&in0, &in1, &in2, &in3); - VP8L32bToPlanar_SSE2(&in4, &in5, &in6, &in7); - // At this points, in1/in5 contains red only, in2/in6 green only ... - // Pack the colors in 24b RGB. - VP8PlanarTo24b_SSE2(&in1, &in5, &in2, &in6, &in3, &in7); - _mm_storeu_si128(out + 0, in1); - _mm_storeu_si128(out + 1, in5); - _mm_storeu_si128(out + 2, in2); - _mm_storeu_si128(out + 3, in6); - _mm_storeu_si128(out + 4, in3); - _mm_storeu_si128(out + 5, in7); - in += 8; - out += 6; - num_pixels -= 32; - } - // left-overs - if (num_pixels > 0) { - VP8LConvertBGRAToRGB_C((const uint32_t*)in, num_pixels, (uint8_t*)out); - } -} - -static void ConvertBGRAToRGBA_SSE2(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const __m128i red_blue_mask = _mm_set1_epi32(0x00ff00ffu); - const __m128i* in = (const __m128i*)src; - __m128i* out = (__m128i*)dst; - while (num_pixels >= 8) { - const __m128i A1 = _mm_loadu_si128(in++); - const __m128i A2 = _mm_loadu_si128(in++); - const __m128i B1 = _mm_and_si128(A1, red_blue_mask); // R 0 B 0 - const __m128i B2 = _mm_and_si128(A2, red_blue_mask); // R 0 B 0 - const __m128i C1 = _mm_andnot_si128(red_blue_mask, A1); // 0 G 0 A - const __m128i C2 = _mm_andnot_si128(red_blue_mask, A2); // 0 G 0 A - const __m128i D1 = _mm_shufflelo_epi16(B1, _MM_SHUFFLE(2, 3, 0, 1)); - const __m128i D2 = _mm_shufflelo_epi16(B2, _MM_SHUFFLE(2, 3, 0, 1)); - const __m128i E1 = _mm_shufflehi_epi16(D1, _MM_SHUFFLE(2, 3, 0, 1)); - const __m128i E2 = _mm_shufflehi_epi16(D2, _MM_SHUFFLE(2, 3, 0, 1)); - const __m128i F1 = _mm_or_si128(E1, C1); - const __m128i F2 = _mm_or_si128(E2, C2); - _mm_storeu_si128(out++, F1); - _mm_storeu_si128(out++, F2); - num_pixels -= 8; - } - // left-overs - if (num_pixels > 0) { - VP8LConvertBGRAToRGBA_C((const uint32_t*)in, num_pixels, (uint8_t*)out); - } -} - -static void ConvertBGRAToRGBA4444_SSE2(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const __m128i mask_0x0f = _mm_set1_epi8(0x0f); - const __m128i mask_0xf0 = _mm_set1_epi8(0xf0); - const __m128i* in = (const __m128i*)src; - __m128i* out = (__m128i*)dst; - while (num_pixels >= 8) { - const __m128i bgra0 = _mm_loadu_si128(in++); // bgra0|bgra1|bgra2|bgra3 - const __m128i bgra4 = _mm_loadu_si128(in++); // bgra4|bgra5|bgra6|bgra7 - const __m128i v0l = _mm_unpacklo_epi8(bgra0, bgra4); // b0b4g0g4r0r4a0a4... - const __m128i v0h = _mm_unpackhi_epi8(bgra0, bgra4); // b2b6g2g6r2r6a2a6... - const __m128i v1l = _mm_unpacklo_epi8(v0l, v0h); // b0b2b4b6g0g2g4g6... - const __m128i v1h = _mm_unpackhi_epi8(v0l, v0h); // b1b3b5b7g1g3g5g7... - const __m128i v2l = _mm_unpacklo_epi8(v1l, v1h); // b0...b7 | g0...g7 - const __m128i v2h = _mm_unpackhi_epi8(v1l, v1h); // r0...r7 | a0...a7 - const __m128i ga0 = _mm_unpackhi_epi64(v2l, v2h); // g0...g7 | a0...a7 - const __m128i rb0 = _mm_unpacklo_epi64(v2h, v2l); // r0...r7 | b0...b7 - const __m128i ga1 = _mm_srli_epi16(ga0, 4); // g0-|g1-|...|a6-|a7- - const __m128i rb1 = _mm_and_si128(rb0, mask_0xf0); // -r0|-r1|...|-b6|-a7 - const __m128i ga2 = _mm_and_si128(ga1, mask_0x0f); // g0-|g1-|...|a6-|a7- - const __m128i rgba0 = _mm_or_si128(ga2, rb1); // rg0..rg7 | ba0..ba7 - const __m128i rgba1 = _mm_srli_si128(rgba0, 8); // ba0..ba7 | 0 -#if (WEBP_SWAP_16BIT_CSP == 1) - const __m128i rgba = _mm_unpacklo_epi8(rgba1, rgba0); // barg0...barg7 -#else - const __m128i rgba = _mm_unpacklo_epi8(rgba0, rgba1); // rgba0...rgba7 -#endif - _mm_storeu_si128(out++, rgba); - num_pixels -= 8; - } - // left-overs - if (num_pixels > 0) { - VP8LConvertBGRAToRGBA4444_C((const uint32_t*)in, num_pixels, (uint8_t*)out); - } -} - -static void ConvertBGRAToRGB565_SSE2(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const __m128i mask_0xe0 = _mm_set1_epi8(0xe0); - const __m128i mask_0xf8 = _mm_set1_epi8(0xf8); - const __m128i mask_0x07 = _mm_set1_epi8(0x07); - const __m128i* in = (const __m128i*)src; - __m128i* out = (__m128i*)dst; - while (num_pixels >= 8) { - const __m128i bgra0 = _mm_loadu_si128(in++); // bgra0|bgra1|bgra2|bgra3 - const __m128i bgra4 = _mm_loadu_si128(in++); // bgra4|bgra5|bgra6|bgra7 - const __m128i v0l = _mm_unpacklo_epi8(bgra0, bgra4); // b0b4g0g4r0r4a0a4... - const __m128i v0h = _mm_unpackhi_epi8(bgra0, bgra4); // b2b6g2g6r2r6a2a6... - const __m128i v1l = _mm_unpacklo_epi8(v0l, v0h); // b0b2b4b6g0g2g4g6... - const __m128i v1h = _mm_unpackhi_epi8(v0l, v0h); // b1b3b5b7g1g3g5g7... - const __m128i v2l = _mm_unpacklo_epi8(v1l, v1h); // b0...b7 | g0...g7 - const __m128i v2h = _mm_unpackhi_epi8(v1l, v1h); // r0...r7 | a0...a7 - const __m128i ga0 = _mm_unpackhi_epi64(v2l, v2h); // g0...g7 | a0...a7 - const __m128i rb0 = _mm_unpacklo_epi64(v2h, v2l); // r0...r7 | b0...b7 - const __m128i rb1 = _mm_and_si128(rb0, mask_0xf8); // -r0..-r7|-b0..-b7 - const __m128i g_lo1 = _mm_srli_epi16(ga0, 5); - const __m128i g_lo2 = _mm_and_si128(g_lo1, mask_0x07); // g0-...g7-|xx (3b) - const __m128i g_hi1 = _mm_slli_epi16(ga0, 3); - const __m128i g_hi2 = _mm_and_si128(g_hi1, mask_0xe0); // -g0...-g7|xx (3b) - const __m128i b0 = _mm_srli_si128(rb1, 8); // -b0...-b7|0 - const __m128i rg1 = _mm_or_si128(rb1, g_lo2); // gr0...gr7|xx - const __m128i b1 = _mm_srli_epi16(b0, 3); - const __m128i gb1 = _mm_or_si128(b1, g_hi2); // bg0...bg7|xx -#if (WEBP_SWAP_16BIT_CSP == 1) - const __m128i rgba = _mm_unpacklo_epi8(gb1, rg1); // rggb0...rggb7 -#else - const __m128i rgba = _mm_unpacklo_epi8(rg1, gb1); // bgrb0...bgrb7 -#endif - _mm_storeu_si128(out++, rgba); - num_pixels -= 8; - } - // left-overs - if (num_pixels > 0) { - VP8LConvertBGRAToRGB565_C((const uint32_t*)in, num_pixels, (uint8_t*)out); - } -} - -static void ConvertBGRAToBGR_SSE2(const uint32_t* src, - int num_pixels, uint8_t* dst) { - const __m128i mask_l = _mm_set_epi32(0, 0x00ffffff, 0, 0x00ffffff); - const __m128i mask_h = _mm_set_epi32(0x00ffffff, 0, 0x00ffffff, 0); - const __m128i* in = (const __m128i*)src; - const uint8_t* const end = dst + num_pixels * 3; - // the last storel_epi64 below writes 8 bytes starting at offset 18 - while (dst + 26 <= end) { - const __m128i bgra0 = _mm_loadu_si128(in++); // bgra0|bgra1|bgra2|bgra3 - const __m128i bgra4 = _mm_loadu_si128(in++); // bgra4|bgra5|bgra6|bgra7 - const __m128i a0l = _mm_and_si128(bgra0, mask_l); // bgr0|0|bgr0|0 - const __m128i a4l = _mm_and_si128(bgra4, mask_l); // bgr0|0|bgr0|0 - const __m128i a0h = _mm_and_si128(bgra0, mask_h); // 0|bgr0|0|bgr0 - const __m128i a4h = _mm_and_si128(bgra4, mask_h); // 0|bgr0|0|bgr0 - const __m128i b0h = _mm_srli_epi64(a0h, 8); // 000b|gr00|000b|gr00 - const __m128i b4h = _mm_srli_epi64(a4h, 8); // 000b|gr00|000b|gr00 - const __m128i c0 = _mm_or_si128(a0l, b0h); // rgbrgb00|rgbrgb00 - const __m128i c4 = _mm_or_si128(a4l, b4h); // rgbrgb00|rgbrgb00 - const __m128i c2 = _mm_srli_si128(c0, 8); - const __m128i c6 = _mm_srli_si128(c4, 8); - _mm_storel_epi64((__m128i*)(dst + 0), c0); - _mm_storel_epi64((__m128i*)(dst + 6), c2); - _mm_storel_epi64((__m128i*)(dst + 12), c4); - _mm_storel_epi64((__m128i*)(dst + 18), c6); - dst += 24; - num_pixels -= 8; - } - // left-overs - if (num_pixels > 0) { - VP8LConvertBGRAToBGR_C((const uint32_t*)in, num_pixels, dst); - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void VP8LDspInitSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8LDspInitSSE2(void) { - VP8LPredictors[5] = Predictor5_SSE2; - VP8LPredictors[6] = Predictor6_SSE2; - VP8LPredictors[7] = Predictor7_SSE2; - VP8LPredictors[8] = Predictor8_SSE2; - VP8LPredictors[9] = Predictor9_SSE2; - VP8LPredictors[10] = Predictor10_SSE2; - VP8LPredictors[11] = Predictor11_SSE2; - VP8LPredictors[12] = Predictor12_SSE2; - VP8LPredictors[13] = Predictor13_SSE2; - - VP8LPredictorsAdd[0] = PredictorAdd0_SSE2; - VP8LPredictorsAdd[1] = PredictorAdd1_SSE2; - VP8LPredictorsAdd[2] = PredictorAdd2_SSE2; - VP8LPredictorsAdd[3] = PredictorAdd3_SSE2; - VP8LPredictorsAdd[4] = PredictorAdd4_SSE2; - VP8LPredictorsAdd[5] = PredictorAdd5_SSE2; - VP8LPredictorsAdd[6] = PredictorAdd6_SSE2; - VP8LPredictorsAdd[7] = PredictorAdd7_SSE2; - VP8LPredictorsAdd[8] = PredictorAdd8_SSE2; - VP8LPredictorsAdd[9] = PredictorAdd9_SSE2; - VP8LPredictorsAdd[10] = PredictorAdd10_SSE2; - VP8LPredictorsAdd[11] = PredictorAdd11_SSE2; - VP8LPredictorsAdd[12] = PredictorAdd12_SSE2; - VP8LPredictorsAdd[13] = PredictorAdd13_SSE2; - - VP8LAddGreenToBlueAndRed = AddGreenToBlueAndRed_SSE2; - VP8LTransformColorInverse = TransformColorInverse_SSE2; - - VP8LConvertBGRAToRGB = ConvertBGRAToRGB_SSE2; - VP8LConvertBGRAToRGBA = ConvertBGRAToRGBA_SSE2; - VP8LConvertBGRAToRGBA4444 = ConvertBGRAToRGBA4444_SSE2; - VP8LConvertBGRAToRGB565 = ConvertBGRAToRGB565_SSE2; - VP8LConvertBGRAToBGR = ConvertBGRAToBGR_SSE2; -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(VP8LDspInitSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/mips_macro.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/mips_macro.h deleted file mode 100644 index 44aba9b7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/mips_macro.h +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MIPS common macros - -#ifndef WEBP_DSP_MIPS_MACRO_H_ -#define WEBP_DSP_MIPS_MACRO_H_ - -#if defined(__GNUC__) && defined(__ANDROID__) && LOCAL_GCC_VERSION == 0x409 -#define WORK_AROUND_GCC -#endif - -#define STR(s) #s -#define XSTR(s) STR(s) - -// O0[31..16 | 15..0] = I0[31..16 | 15..0] + I1[31..16 | 15..0] -// O1[31..16 | 15..0] = I0[31..16 | 15..0] - I1[31..16 | 15..0] -// O - output -// I - input (macro doesn't change it) -#define ADD_SUB_HALVES(O0, O1, \ - I0, I1) \ - "addq.ph %[" #O0 "], %[" #I0 "], %[" #I1 "] \n\t" \ - "subq.ph %[" #O1 "], %[" #I0 "], %[" #I1 "] \n\t" - -// O - output -// I - input (macro doesn't change it) -// I[0/1] - offset in bytes -#define LOAD_IN_X2(O0, O1, \ - I0, I1) \ - "lh %[" #O0 "], " #I0 "(%[in]) \n\t" \ - "lh %[" #O1 "], " #I1 "(%[in]) \n\t" - -// I0 - location -// I1..I9 - offsets in bytes -#define LOAD_WITH_OFFSET_X4(O0, O1, O2, O3, \ - I0, I1, I2, I3, I4, I5, I6, I7, I8, I9) \ - "ulw %[" #O0 "], " #I1 "+" XSTR(I9) "*" #I5 "(%[" #I0 "]) \n\t" \ - "ulw %[" #O1 "], " #I2 "+" XSTR(I9) "*" #I6 "(%[" #I0 "]) \n\t" \ - "ulw %[" #O2 "], " #I3 "+" XSTR(I9) "*" #I7 "(%[" #I0 "]) \n\t" \ - "ulw %[" #O3 "], " #I4 "+" XSTR(I9) "*" #I8 "(%[" #I0 "]) \n\t" - -// O - output -// IO - input/output -// I - input (macro doesn't change it) -#define MUL_SHIFT_SUM(O0, O1, O2, O3, O4, O5, O6, O7, \ - IO0, IO1, IO2, IO3, \ - I0, I1, I2, I3, I4, I5, I6, I7) \ - "mul %[" #O0 "], %[" #I0 "], %[kC2] \n\t" \ - "mul %[" #O1 "], %[" #I0 "], %[kC1] \n\t" \ - "mul %[" #O2 "], %[" #I1 "], %[kC2] \n\t" \ - "mul %[" #O3 "], %[" #I1 "], %[kC1] \n\t" \ - "mul %[" #O4 "], %[" #I2 "], %[kC2] \n\t" \ - "mul %[" #O5 "], %[" #I2 "], %[kC1] \n\t" \ - "mul %[" #O6 "], %[" #I3 "], %[kC2] \n\t" \ - "mul %[" #O7 "], %[" #I3 "], %[kC1] \n\t" \ - "sra %[" #O0 "], %[" #O0 "], 16 \n\t" \ - "sra %[" #O1 "], %[" #O1 "], 16 \n\t" \ - "sra %[" #O2 "], %[" #O2 "], 16 \n\t" \ - "sra %[" #O3 "], %[" #O3 "], 16 \n\t" \ - "sra %[" #O4 "], %[" #O4 "], 16 \n\t" \ - "sra %[" #O5 "], %[" #O5 "], 16 \n\t" \ - "sra %[" #O6 "], %[" #O6 "], 16 \n\t" \ - "sra %[" #O7 "], %[" #O7 "], 16 \n\t" \ - "addu %[" #IO0 "], %[" #IO0 "], %[" #I4 "] \n\t" \ - "addu %[" #IO1 "], %[" #IO1 "], %[" #I5 "] \n\t" \ - "subu %[" #IO2 "], %[" #IO2 "], %[" #I6 "] \n\t" \ - "subu %[" #IO3 "], %[" #IO3 "], %[" #I7 "] \n\t" - -// O - output -// I - input (macro doesn't change it) -#define INSERT_HALF_X2(O0, O1, \ - I0, I1) \ - "ins %[" #O0 "], %[" #I0 "], 16, 16 \n\t" \ - "ins %[" #O1 "], %[" #I1 "], 16, 16 \n\t" - -// O - output -// I - input (macro doesn't change it) -#define SRA_16(O0, O1, O2, O3, \ - I0, I1, I2, I3) \ - "sra %[" #O0 "], %[" #I0 "], 16 \n\t" \ - "sra %[" #O1 "], %[" #I1 "], 16 \n\t" \ - "sra %[" #O2 "], %[" #I2 "], 16 \n\t" \ - "sra %[" #O3 "], %[" #I3 "], 16 \n\t" - -// temp0[31..16 | 15..0] = temp8[31..16 | 15..0] + temp12[31..16 | 15..0] -// temp1[31..16 | 15..0] = temp8[31..16 | 15..0] - temp12[31..16 | 15..0] -// temp0[31..16 | 15..0] = temp0[31..16 >> 3 | 15..0 >> 3] -// temp1[31..16 | 15..0] = temp1[31..16 >> 3 | 15..0 >> 3] -// O - output -// I - input (macro doesn't change it) -#define SHIFT_R_SUM_X2(O0, O1, O2, O3, O4, O5, O6, O7, \ - I0, I1, I2, I3, I4, I5, I6, I7) \ - "addq.ph %[" #O0 "], %[" #I0 "], %[" #I4 "] \n\t" \ - "subq.ph %[" #O1 "], %[" #I0 "], %[" #I4 "] \n\t" \ - "addq.ph %[" #O2 "], %[" #I1 "], %[" #I5 "] \n\t" \ - "subq.ph %[" #O3 "], %[" #I1 "], %[" #I5 "] \n\t" \ - "addq.ph %[" #O4 "], %[" #I2 "], %[" #I6 "] \n\t" \ - "subq.ph %[" #O5 "], %[" #I2 "], %[" #I6 "] \n\t" \ - "addq.ph %[" #O6 "], %[" #I3 "], %[" #I7 "] \n\t" \ - "subq.ph %[" #O7 "], %[" #I3 "], %[" #I7 "] \n\t" \ - "shra.ph %[" #O0 "], %[" #O0 "], 3 \n\t" \ - "shra.ph %[" #O1 "], %[" #O1 "], 3 \n\t" \ - "shra.ph %[" #O2 "], %[" #O2 "], 3 \n\t" \ - "shra.ph %[" #O3 "], %[" #O3 "], 3 \n\t" \ - "shra.ph %[" #O4 "], %[" #O4 "], 3 \n\t" \ - "shra.ph %[" #O5 "], %[" #O5 "], 3 \n\t" \ - "shra.ph %[" #O6 "], %[" #O6 "], 3 \n\t" \ - "shra.ph %[" #O7 "], %[" #O7 "], 3 \n\t" - -// precrq.ph.w temp0, temp8, temp2 -// temp0 = temp8[31..16] | temp2[31..16] -// ins temp2, temp8, 16, 16 -// temp2 = temp8[31..16] | temp2[15..0] -// O - output -// IO - input/output -// I - input (macro doesn't change it) -#define PACK_2_HALVES_TO_WORD(O0, O1, O2, O3, \ - IO0, IO1, IO2, IO3, \ - I0, I1, I2, I3) \ - "precrq.ph.w %[" #O0 "], %[" #I0 "], %[" #IO0 "] \n\t" \ - "precrq.ph.w %[" #O1 "], %[" #I1 "], %[" #IO1 "] \n\t" \ - "ins %[" #IO0 "], %[" #I0 "], 16, 16 \n\t" \ - "ins %[" #IO1 "], %[" #I1 "], 16, 16 \n\t" \ - "precrq.ph.w %[" #O2 "], %[" #I2 "], %[" #IO2 "] \n\t" \ - "precrq.ph.w %[" #O3 "], %[" #I3 "], %[" #IO3 "] \n\t" \ - "ins %[" #IO2 "], %[" #I2 "], 16, 16 \n\t" \ - "ins %[" #IO3 "], %[" #I3 "], 16, 16 \n\t" - -// preceu.ph.qbr temp0, temp8 -// temp0 = 0 | 0 | temp8[23..16] | temp8[7..0] -// preceu.ph.qbl temp1, temp8 -// temp1 = temp8[23..16] | temp8[7..0] | 0 | 0 -// O - output -// I - input (macro doesn't change it) -#define CONVERT_2_BYTES_TO_HALF(O0, O1, O2, O3, O4, O5, O6, O7, \ - I0, I1, I2, I3) \ - "preceu.ph.qbr %[" #O0 "], %[" #I0 "] \n\t" \ - "preceu.ph.qbl %[" #O1 "], %[" #I0 "] \n\t" \ - "preceu.ph.qbr %[" #O2 "], %[" #I1 "] \n\t" \ - "preceu.ph.qbl %[" #O3 "], %[" #I1 "] \n\t" \ - "preceu.ph.qbr %[" #O4 "], %[" #I2 "] \n\t" \ - "preceu.ph.qbl %[" #O5 "], %[" #I2 "] \n\t" \ - "preceu.ph.qbr %[" #O6 "], %[" #I3 "] \n\t" \ - "preceu.ph.qbl %[" #O7 "], %[" #I3 "] \n\t" - -// temp0[31..16 | 15..0] = temp0[31..16 | 15..0] + temp8[31..16 | 15..0] -// temp0[31..16 | 15..0] = temp0[31..16 <<(s) 7 | 15..0 <<(s) 7] -// temp1..temp7 same as temp0 -// precrqu_s.qb.ph temp0, temp1, temp0: -// temp0 = temp1[31..24] | temp1[15..8] | temp0[31..24] | temp0[15..8] -// store temp0 to dst -// IO - input/output -// I - input (macro doesn't change it) -#define STORE_SAT_SUM_X2(IO0, IO1, IO2, IO3, IO4, IO5, IO6, IO7, \ - I0, I1, I2, I3, I4, I5, I6, I7, \ - I8, I9, I10, I11, I12, I13) \ - "addq.ph %[" #IO0 "], %[" #IO0 "], %[" #I0 "] \n\t" \ - "addq.ph %[" #IO1 "], %[" #IO1 "], %[" #I1 "] \n\t" \ - "addq.ph %[" #IO2 "], %[" #IO2 "], %[" #I2 "] \n\t" \ - "addq.ph %[" #IO3 "], %[" #IO3 "], %[" #I3 "] \n\t" \ - "addq.ph %[" #IO4 "], %[" #IO4 "], %[" #I4 "] \n\t" \ - "addq.ph %[" #IO5 "], %[" #IO5 "], %[" #I5 "] \n\t" \ - "addq.ph %[" #IO6 "], %[" #IO6 "], %[" #I6 "] \n\t" \ - "addq.ph %[" #IO7 "], %[" #IO7 "], %[" #I7 "] \n\t" \ - "shll_s.ph %[" #IO0 "], %[" #IO0 "], 7 \n\t" \ - "shll_s.ph %[" #IO1 "], %[" #IO1 "], 7 \n\t" \ - "shll_s.ph %[" #IO2 "], %[" #IO2 "], 7 \n\t" \ - "shll_s.ph %[" #IO3 "], %[" #IO3 "], 7 \n\t" \ - "shll_s.ph %[" #IO4 "], %[" #IO4 "], 7 \n\t" \ - "shll_s.ph %[" #IO5 "], %[" #IO5 "], 7 \n\t" \ - "shll_s.ph %[" #IO6 "], %[" #IO6 "], 7 \n\t" \ - "shll_s.ph %[" #IO7 "], %[" #IO7 "], 7 \n\t" \ - "precrqu_s.qb.ph %[" #IO0 "], %[" #IO1 "], %[" #IO0 "] \n\t" \ - "precrqu_s.qb.ph %[" #IO2 "], %[" #IO3 "], %[" #IO2 "] \n\t" \ - "precrqu_s.qb.ph %[" #IO4 "], %[" #IO5 "], %[" #IO4 "] \n\t" \ - "precrqu_s.qb.ph %[" #IO6 "], %[" #IO7 "], %[" #IO6 "] \n\t" \ - "usw %[" #IO0 "], " XSTR(I13) "*" #I9 "(%[" #I8 "]) \n\t" \ - "usw %[" #IO2 "], " XSTR(I13) "*" #I10 "(%[" #I8 "]) \n\t" \ - "usw %[" #IO4 "], " XSTR(I13) "*" #I11 "(%[" #I8 "]) \n\t" \ - "usw %[" #IO6 "], " XSTR(I13) "*" #I12 "(%[" #I8 "]) \n\t" - -#define OUTPUT_EARLY_CLOBBER_REGS_10() \ - : [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), \ - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [temp6]"=&r"(temp6), \ - [temp7]"=&r"(temp7), [temp8]"=&r"(temp8), [temp9]"=&r"(temp9), \ - [temp10]"=&r"(temp10) - -#define OUTPUT_EARLY_CLOBBER_REGS_18() \ - OUTPUT_EARLY_CLOBBER_REGS_10(), \ - [temp11]"=&r"(temp11), [temp12]"=&r"(temp12), [temp13]"=&r"(temp13), \ - [temp14]"=&r"(temp14), [temp15]"=&r"(temp15), [temp16]"=&r"(temp16), \ - [temp17]"=&r"(temp17), [temp18]"=&r"(temp18) - -#endif // WEBP_DSP_MIPS_MACRO_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/msa_macro.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/msa_macro.h deleted file mode 100644 index de026a1d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/msa_macro.h +++ /dev/null @@ -1,1392 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MSA common macros -// -// Author(s): Prashant Patil (prashant.patil@imgtec.com) - -#ifndef WEBP_DSP_MSA_MACRO_H_ -#define WEBP_DSP_MSA_MACRO_H_ - -#include -#include - -#if defined(__clang__) - #define CLANG_BUILD -#endif - -#ifdef CLANG_BUILD - #define ALPHAVAL (-1) - #define ADDVI_H(a, b) __msa_addvi_h((v8i16)a, b) - #define ADDVI_W(a, b) __msa_addvi_w((v4i32)a, b) - #define SRAI_B(a, b) __msa_srai_b((v16i8)a, b) - #define SRAI_H(a, b) __msa_srai_h((v8i16)a, b) - #define SRAI_W(a, b) __msa_srai_w((v4i32)a, b) - #define SRLI_H(a, b) __msa_srli_h((v8i16)a, b) - #define SLLI_B(a, b) __msa_slli_b((v4i32)a, b) - #define ANDI_B(a, b) __msa_andi_b((v16u8)a, b) - #define ORI_B(a, b) __msa_ori_b((v16u8)a, b) -#else - #define ALPHAVAL (0xff) - #define ADDVI_H(a, b) (a + b) - #define ADDVI_W(a, b) (a + b) - #define SRAI_B(a, b) (a >> b) - #define SRAI_H(a, b) (a >> b) - #define SRAI_W(a, b) (a >> b) - #define SRLI_H(a, b) (a << b) - #define SLLI_B(a, b) (a << b) - #define ANDI_B(a, b) (a & b) - #define ORI_B(a, b) (a | b) -#endif - -#define LD_B(RTYPE, psrc) *((RTYPE*)(psrc)) -#define LD_UB(...) LD_B(v16u8, __VA_ARGS__) -#define LD_SB(...) LD_B(v16i8, __VA_ARGS__) - -#define LD_H(RTYPE, psrc) *((RTYPE*)(psrc)) -#define LD_UH(...) LD_H(v8u16, __VA_ARGS__) -#define LD_SH(...) LD_H(v8i16, __VA_ARGS__) - -#define LD_W(RTYPE, psrc) *((RTYPE*)(psrc)) -#define LD_UW(...) LD_W(v4u32, __VA_ARGS__) -#define LD_SW(...) LD_W(v4i32, __VA_ARGS__) - -#define ST_B(RTYPE, in, pdst) *((RTYPE*)(pdst)) = in -#define ST_UB(...) ST_B(v16u8, __VA_ARGS__) -#define ST_SB(...) ST_B(v16i8, __VA_ARGS__) - -#define ST_H(RTYPE, in, pdst) *((RTYPE*)(pdst)) = in -#define ST_UH(...) ST_H(v8u16, __VA_ARGS__) -#define ST_SH(...) ST_H(v8i16, __VA_ARGS__) - -#define ST_W(RTYPE, in, pdst) *((RTYPE*)(pdst)) = in -#define ST_UW(...) ST_W(v4u32, __VA_ARGS__) -#define ST_SW(...) ST_W(v4i32, __VA_ARGS__) - -#define MSA_LOAD_FUNC(TYPE, INSTR, FUNC_NAME) \ - static inline TYPE FUNC_NAME(const void* const psrc) { \ - const uint8_t* const psrc_m = (const uint8_t*)psrc; \ - TYPE val_m; \ - asm volatile ( \ - "" #INSTR " %[val_m], %[psrc_m] \n\t" \ - : [val_m] "=r" (val_m) \ - : [psrc_m] "m" (*psrc_m)); \ - return val_m; \ - } - -#define MSA_LOAD(psrc, FUNC_NAME) FUNC_NAME(psrc) - -#define MSA_STORE_FUNC(TYPE, INSTR, FUNC_NAME) \ - static inline void FUNC_NAME(TYPE val, void* const pdst) { \ - uint8_t* const pdst_m = (uint8_t*)pdst; \ - TYPE val_m = val; \ - asm volatile ( \ - " " #INSTR " %[val_m], %[pdst_m] \n\t" \ - : [pdst_m] "=m" (*pdst_m) \ - : [val_m] "r" (val_m)); \ - } - -#define MSA_STORE(val, pdst, FUNC_NAME) FUNC_NAME(val, pdst) - -#if (__mips_isa_rev >= 6) - MSA_LOAD_FUNC(uint16_t, lh, msa_lh); - #define LH(psrc) MSA_LOAD(psrc, msa_lh) - MSA_LOAD_FUNC(uint32_t, lw, msa_lw); - #define LW(psrc) MSA_LOAD(psrc, msa_lw) - #if (__mips == 64) - MSA_LOAD_FUNC(uint64_t, ld, msa_ld); - #define LD(psrc) MSA_LOAD(psrc, msa_ld) - #else // !(__mips == 64) - #define LD(psrc) ((((uint64_t)MSA_LOAD(psrc + 4, msa_lw)) << 32) | \ - MSA_LOAD(psrc, msa_lw)) - #endif // (__mips == 64) - - MSA_STORE_FUNC(uint16_t, sh, msa_sh); - #define SH(val, pdst) MSA_STORE(val, pdst, msa_sh) - MSA_STORE_FUNC(uint32_t, sw, msa_sw); - #define SW(val, pdst) MSA_STORE(val, pdst, msa_sw) - MSA_STORE_FUNC(uint64_t, sd, msa_sd); - #define SD(val, pdst) MSA_STORE(val, pdst, msa_sd) -#else // !(__mips_isa_rev >= 6) - MSA_LOAD_FUNC(uint16_t, ulh, msa_ulh); - #define LH(psrc) MSA_LOAD(psrc, msa_ulh) - MSA_LOAD_FUNC(uint32_t, ulw, msa_ulw); - #define LW(psrc) MSA_LOAD(psrc, msa_ulw) - #if (__mips == 64) - MSA_LOAD_FUNC(uint64_t, uld, msa_uld); - #define LD(psrc) MSA_LOAD(psrc, msa_uld) - #else // !(__mips == 64) - #define LD(psrc) ((((uint64_t)MSA_LOAD(psrc + 4, msa_ulw)) << 32) | \ - MSA_LOAD(psrc, msa_ulw)) - #endif // (__mips == 64) - - MSA_STORE_FUNC(uint16_t, ush, msa_ush); - #define SH(val, pdst) MSA_STORE(val, pdst, msa_ush) - MSA_STORE_FUNC(uint32_t, usw, msa_usw); - #define SW(val, pdst) MSA_STORE(val, pdst, msa_usw) - #define SD(val, pdst) do { \ - uint8_t* const pdst_sd_m = (uint8_t*)(pdst); \ - const uint32_t val0_m = (uint32_t)(val & 0x00000000FFFFFFFF); \ - const uint32_t val1_m = (uint32_t)((val >> 32) & 0x00000000FFFFFFFF); \ - SW(val0_m, pdst_sd_m); \ - SW(val1_m, pdst_sd_m + 4); \ - } while (0) -#endif // (__mips_isa_rev >= 6) - -/* Description : Load 4 words with stride - * Arguments : Inputs - psrc, stride - * Outputs - out0, out1, out2, out3 - * Details : Load word in 'out0' from (psrc) - * Load word in 'out1' from (psrc + stride) - * Load word in 'out2' from (psrc + 2 * stride) - * Load word in 'out3' from (psrc + 3 * stride) - */ -#define LW4(psrc, stride, out0, out1, out2, out3) do { \ - const uint8_t* ptmp = (const uint8_t*)psrc; \ - out0 = LW(ptmp); \ - ptmp += stride; \ - out1 = LW(ptmp); \ - ptmp += stride; \ - out2 = LW(ptmp); \ - ptmp += stride; \ - out3 = LW(ptmp); \ -} while (0) - -/* Description : Store words with stride - * Arguments : Inputs - in0, in1, in2, in3, pdst, stride - * Details : Store word from 'in0' to (pdst) - * Store word from 'in1' to (pdst + stride) - * Store word from 'in2' to (pdst + 2 * stride) - * Store word from 'in3' to (pdst + 3 * stride) - */ -#define SW4(in0, in1, in2, in3, pdst, stride) do { \ - uint8_t* ptmp = (uint8_t*)pdst; \ - SW(in0, ptmp); \ - ptmp += stride; \ - SW(in1, ptmp); \ - ptmp += stride; \ - SW(in2, ptmp); \ - ptmp += stride; \ - SW(in3, ptmp); \ -} while (0) - -#define SW3(in0, in1, in2, pdst, stride) do { \ - uint8_t* ptmp = (uint8_t*)pdst; \ - SW(in0, ptmp); \ - ptmp += stride; \ - SW(in1, ptmp); \ - ptmp += stride; \ - SW(in2, ptmp); \ -} while (0) - -#define SW2(in0, in1, pdst, stride) do { \ - uint8_t* ptmp = (uint8_t*)pdst; \ - SW(in0, ptmp); \ - ptmp += stride; \ - SW(in1, ptmp); \ -} while (0) - -/* Description : Store 4 double words with stride - * Arguments : Inputs - in0, in1, in2, in3, pdst, stride - * Details : Store double word from 'in0' to (pdst) - * Store double word from 'in1' to (pdst + stride) - * Store double word from 'in2' to (pdst + 2 * stride) - * Store double word from 'in3' to (pdst + 3 * stride) - */ -#define SD4(in0, in1, in2, in3, pdst, stride) do { \ - uint8_t* ptmp = (uint8_t*)pdst; \ - SD(in0, ptmp); \ - ptmp += stride; \ - SD(in1, ptmp); \ - ptmp += stride; \ - SD(in2, ptmp); \ - ptmp += stride; \ - SD(in3, ptmp); \ -} while (0) - -/* Description : Load vectors with 16 byte elements with stride - * Arguments : Inputs - psrc, stride - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Load 16 byte elements in 'out0' from (psrc) - * Load 16 byte elements in 'out1' from (psrc + stride) - */ -#define LD_B2(RTYPE, psrc, stride, out0, out1) do { \ - out0 = LD_B(RTYPE, psrc); \ - out1 = LD_B(RTYPE, psrc + stride); \ -} while (0) -#define LD_UB2(...) LD_B2(v16u8, __VA_ARGS__) -#define LD_SB2(...) LD_B2(v16i8, __VA_ARGS__) - -#define LD_B3(RTYPE, psrc, stride, out0, out1, out2) do { \ - LD_B2(RTYPE, psrc, stride, out0, out1); \ - out2 = LD_B(RTYPE, psrc + 2 * stride); \ -} while (0) -#define LD_UB3(...) LD_B3(v16u8, __VA_ARGS__) -#define LD_SB3(...) LD_B3(v16i8, __VA_ARGS__) - -#define LD_B4(RTYPE, psrc, stride, out0, out1, out2, out3) do { \ - LD_B2(RTYPE, psrc, stride, out0, out1); \ - LD_B2(RTYPE, psrc + 2 * stride , stride, out2, out3); \ -} while (0) -#define LD_UB4(...) LD_B4(v16u8, __VA_ARGS__) -#define LD_SB4(...) LD_B4(v16i8, __VA_ARGS__) - -#define LD_B8(RTYPE, psrc, stride, \ - out0, out1, out2, out3, out4, out5, out6, out7) do { \ - LD_B4(RTYPE, psrc, stride, out0, out1, out2, out3); \ - LD_B4(RTYPE, psrc + 4 * stride, stride, out4, out5, out6, out7); \ -} while (0) -#define LD_UB8(...) LD_B8(v16u8, __VA_ARGS__) -#define LD_SB8(...) LD_B8(v16i8, __VA_ARGS__) - -/* Description : Load vectors with 8 halfword elements with stride - * Arguments : Inputs - psrc, stride - * Outputs - out0, out1 - * Details : Load 8 halfword elements in 'out0' from (psrc) - * Load 8 halfword elements in 'out1' from (psrc + stride) - */ -#define LD_H2(RTYPE, psrc, stride, out0, out1) do { \ - out0 = LD_H(RTYPE, psrc); \ - out1 = LD_H(RTYPE, psrc + stride); \ -} while (0) -#define LD_UH2(...) LD_H2(v8u16, __VA_ARGS__) -#define LD_SH2(...) LD_H2(v8i16, __VA_ARGS__) - -/* Description : Load vectors with 4 word elements with stride - * Arguments : Inputs - psrc, stride - * Outputs - out0, out1, out2, out3 - * Details : Load 4 word elements in 'out0' from (psrc + 0 * stride) - * Load 4 word elements in 'out1' from (psrc + 1 * stride) - * Load 4 word elements in 'out2' from (psrc + 2 * stride) - * Load 4 word elements in 'out3' from (psrc + 3 * stride) - */ -#define LD_W2(RTYPE, psrc, stride, out0, out1) do { \ - out0 = LD_W(RTYPE, psrc); \ - out1 = LD_W(RTYPE, psrc + stride); \ -} while (0) -#define LD_UW2(...) LD_W2(v4u32, __VA_ARGS__) -#define LD_SW2(...) LD_W2(v4i32, __VA_ARGS__) - -#define LD_W3(RTYPE, psrc, stride, out0, out1, out2) do { \ - LD_W2(RTYPE, psrc, stride, out0, out1); \ - out2 = LD_W(RTYPE, psrc + 2 * stride); \ -} while (0) -#define LD_UW3(...) LD_W3(v4u32, __VA_ARGS__) -#define LD_SW3(...) LD_W3(v4i32, __VA_ARGS__) - -#define LD_W4(RTYPE, psrc, stride, out0, out1, out2, out3) do { \ - LD_W2(RTYPE, psrc, stride, out0, out1); \ - LD_W2(RTYPE, psrc + 2 * stride, stride, out2, out3); \ -} while (0) -#define LD_UW4(...) LD_W4(v4u32, __VA_ARGS__) -#define LD_SW4(...) LD_W4(v4i32, __VA_ARGS__) - -/* Description : Store vectors of 16 byte elements with stride - * Arguments : Inputs - in0, in1, pdst, stride - * Details : Store 16 byte elements from 'in0' to (pdst) - * Store 16 byte elements from 'in1' to (pdst + stride) - */ -#define ST_B2(RTYPE, in0, in1, pdst, stride) do { \ - ST_B(RTYPE, in0, pdst); \ - ST_B(RTYPE, in1, pdst + stride); \ -} while (0) -#define ST_UB2(...) ST_B2(v16u8, __VA_ARGS__) -#define ST_SB2(...) ST_B2(v16i8, __VA_ARGS__) - -#define ST_B4(RTYPE, in0, in1, in2, in3, pdst, stride) do { \ - ST_B2(RTYPE, in0, in1, pdst, stride); \ - ST_B2(RTYPE, in2, in3, pdst + 2 * stride, stride); \ -} while (0) -#define ST_UB4(...) ST_B4(v16u8, __VA_ARGS__) -#define ST_SB4(...) ST_B4(v16i8, __VA_ARGS__) - -#define ST_B8(RTYPE, in0, in1, in2, in3, in4, in5, in6, in7, \ - pdst, stride) do { \ - ST_B4(RTYPE, in0, in1, in2, in3, pdst, stride); \ - ST_B4(RTYPE, in4, in5, in6, in7, pdst + 4 * stride, stride); \ -} while (0) -#define ST_UB8(...) ST_B8(v16u8, __VA_ARGS__) - -/* Description : Store vectors of 4 word elements with stride - * Arguments : Inputs - in0, in1, in2, in3, pdst, stride - * Details : Store 4 word elements from 'in0' to (pdst + 0 * stride) - * Store 4 word elements from 'in1' to (pdst + 1 * stride) - * Store 4 word elements from 'in2' to (pdst + 2 * stride) - * Store 4 word elements from 'in3' to (pdst + 3 * stride) - */ -#define ST_W2(RTYPE, in0, in1, pdst, stride) do { \ - ST_W(RTYPE, in0, pdst); \ - ST_W(RTYPE, in1, pdst + stride); \ -} while (0) -#define ST_UW2(...) ST_W2(v4u32, __VA_ARGS__) -#define ST_SW2(...) ST_W2(v4i32, __VA_ARGS__) - -#define ST_W3(RTYPE, in0, in1, in2, pdst, stride) do { \ - ST_W2(RTYPE, in0, in1, pdst, stride); \ - ST_W(RTYPE, in2, pdst + 2 * stride); \ -} while (0) -#define ST_UW3(...) ST_W3(v4u32, __VA_ARGS__) -#define ST_SW3(...) ST_W3(v4i32, __VA_ARGS__) - -#define ST_W4(RTYPE, in0, in1, in2, in3, pdst, stride) do { \ - ST_W2(RTYPE, in0, in1, pdst, stride); \ - ST_W2(RTYPE, in2, in3, pdst + 2 * stride, stride); \ -} while (0) -#define ST_UW4(...) ST_W4(v4u32, __VA_ARGS__) -#define ST_SW4(...) ST_W4(v4i32, __VA_ARGS__) - -/* Description : Store vectors of 8 halfword elements with stride - * Arguments : Inputs - in0, in1, pdst, stride - * Details : Store 8 halfword elements from 'in0' to (pdst) - * Store 8 halfword elements from 'in1' to (pdst + stride) - */ -#define ST_H2(RTYPE, in0, in1, pdst, stride) do { \ - ST_H(RTYPE, in0, pdst); \ - ST_H(RTYPE, in1, pdst + stride); \ -} while (0) -#define ST_UH2(...) ST_H2(v8u16, __VA_ARGS__) -#define ST_SH2(...) ST_H2(v8i16, __VA_ARGS__) - -/* Description : Store 2x4 byte block to destination memory from input vector - * Arguments : Inputs - in, stidx, pdst, stride - * Details : Index 'stidx' halfword element from 'in' vector is copied to - * the GP register and stored to (pdst) - * Index 'stidx+1' halfword element from 'in' vector is copied to - * the GP register and stored to (pdst + stride) - * Index 'stidx+2' halfword element from 'in' vector is copied to - * the GP register and stored to (pdst + 2 * stride) - * Index 'stidx+3' halfword element from 'in' vector is copied to - * the GP register and stored to (pdst + 3 * stride) - */ -#define ST2x4_UB(in, stidx, pdst, stride) do { \ - uint8_t* pblk_2x4_m = (uint8_t*)pdst; \ - const uint16_t out0_m = __msa_copy_s_h((v8i16)in, stidx); \ - const uint16_t out1_m = __msa_copy_s_h((v8i16)in, stidx + 1); \ - const uint16_t out2_m = __msa_copy_s_h((v8i16)in, stidx + 2); \ - const uint16_t out3_m = __msa_copy_s_h((v8i16)in, stidx + 3); \ - SH(out0_m, pblk_2x4_m); \ - pblk_2x4_m += stride; \ - SH(out1_m, pblk_2x4_m); \ - pblk_2x4_m += stride; \ - SH(out2_m, pblk_2x4_m); \ - pblk_2x4_m += stride; \ - SH(out3_m, pblk_2x4_m); \ -} while (0) - -/* Description : Store 4x4 byte block to destination memory from input vector - * Arguments : Inputs - in0, in1, pdst, stride - * Details : 'Idx0' word element from input vector 'in0' is copied to the - * GP register and stored to (pdst) - * 'Idx1' word element from input vector 'in0' is copied to the - * GP register and stored to (pdst + stride) - * 'Idx2' word element from input vector 'in0' is copied to the - * GP register and stored to (pdst + 2 * stride) - * 'Idx3' word element from input vector 'in0' is copied to the - * GP register and stored to (pdst + 3 * stride) - */ -#define ST4x4_UB(in0, in1, idx0, idx1, idx2, idx3, pdst, stride) do { \ - uint8_t* const pblk_4x4_m = (uint8_t*)pdst; \ - const uint32_t out0_m = __msa_copy_s_w((v4i32)in0, idx0); \ - const uint32_t out1_m = __msa_copy_s_w((v4i32)in0, idx1); \ - const uint32_t out2_m = __msa_copy_s_w((v4i32)in1, idx2); \ - const uint32_t out3_m = __msa_copy_s_w((v4i32)in1, idx3); \ - SW4(out0_m, out1_m, out2_m, out3_m, pblk_4x4_m, stride); \ -} while (0) - -#define ST4x8_UB(in0, in1, pdst, stride) do { \ - uint8_t* const pblk_4x8 = (uint8_t*)pdst; \ - ST4x4_UB(in0, in0, 0, 1, 2, 3, pblk_4x8, stride); \ - ST4x4_UB(in1, in1, 0, 1, 2, 3, pblk_4x8 + 4 * stride, stride); \ -} while (0) - -/* Description : Immediate number of elements to slide - * Arguments : Inputs - in0, in1, slide_val - * Outputs - out - * Return Type - as per RTYPE - * Details : Byte elements from 'in1' vector are slid into 'in0' by - * value specified in the 'slide_val' - */ -#define SLDI_B(RTYPE, in0, in1, slide_val) \ - (RTYPE)__msa_sldi_b((v16i8)in0, (v16i8)in1, slide_val) \ - -#define SLDI_UB(...) SLDI_B(v16u8, __VA_ARGS__) -#define SLDI_SB(...) SLDI_B(v16i8, __VA_ARGS__) -#define SLDI_SH(...) SLDI_B(v8i16, __VA_ARGS__) - -/* Description : Shuffle byte vector elements as per mask vector - * Arguments : Inputs - in0, in1, in2, in3, mask0, mask1 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Byte elements from 'in0' & 'in1' are copied selectively to - * 'out0' as per control vector 'mask0' - */ -#define VSHF_B(RTYPE, in0, in1, mask) \ - (RTYPE)__msa_vshf_b((v16i8)mask, (v16i8)in1, (v16i8)in0) - -#define VSHF_UB(...) VSHF_B(v16u8, __VA_ARGS__) -#define VSHF_SB(...) VSHF_B(v16i8, __VA_ARGS__) -#define VSHF_UH(...) VSHF_B(v8u16, __VA_ARGS__) -#define VSHF_SH(...) VSHF_B(v8i16, __VA_ARGS__) - -#define VSHF_B2(RTYPE, in0, in1, in2, in3, mask0, mask1, out0, out1) do { \ - out0 = VSHF_B(RTYPE, in0, in1, mask0); \ - out1 = VSHF_B(RTYPE, in2, in3, mask1); \ -} while (0) -#define VSHF_B2_UB(...) VSHF_B2(v16u8, __VA_ARGS__) -#define VSHF_B2_SB(...) VSHF_B2(v16i8, __VA_ARGS__) -#define VSHF_B2_UH(...) VSHF_B2(v8u16, __VA_ARGS__) -#define VSHF_B2_SH(...) VSHF_B2(v8i16, __VA_ARGS__) - -/* Description : Shuffle halfword vector elements as per mask vector - * Arguments : Inputs - in0, in1, in2, in3, mask0, mask1 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : halfword elements from 'in0' & 'in1' are copied selectively to - * 'out0' as per control vector 'mask0' - */ -#define VSHF_H2(RTYPE, in0, in1, in2, in3, mask0, mask1, out0, out1) do { \ - out0 = (RTYPE)__msa_vshf_h((v8i16)mask0, (v8i16)in1, (v8i16)in0); \ - out1 = (RTYPE)__msa_vshf_h((v8i16)mask1, (v8i16)in3, (v8i16)in2); \ -} while (0) -#define VSHF_H2_UH(...) VSHF_H2(v8u16, __VA_ARGS__) -#define VSHF_H2_SH(...) VSHF_H2(v8i16, __VA_ARGS__) - -/* Description : Dot product of byte vector elements - * Arguments : Inputs - mult0, mult1, cnst0, cnst1 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Signed byte elements from 'mult0' are multiplied with - * signed byte elements from 'cnst0' producing a result - * twice the size of input i.e. signed halfword. - * The multiplication result of adjacent odd-even elements - * are added together and written to the 'out0' vector -*/ -#define DOTP_SB2(RTYPE, mult0, mult1, cnst0, cnst1, out0, out1) do { \ - out0 = (RTYPE)__msa_dotp_s_h((v16i8)mult0, (v16i8)cnst0); \ - out1 = (RTYPE)__msa_dotp_s_h((v16i8)mult1, (v16i8)cnst1); \ -} while (0) -#define DOTP_SB2_SH(...) DOTP_SB2(v8i16, __VA_ARGS__) - -/* Description : Dot product of halfword vector elements - * Arguments : Inputs - mult0, mult1, cnst0, cnst1 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Signed halfword elements from 'mult0' are multiplied with - * signed halfword elements from 'cnst0' producing a result - * twice the size of input i.e. signed word. - * The multiplication result of adjacent odd-even elements - * are added together and written to the 'out0' vector - */ -#define DOTP_SH2(RTYPE, mult0, mult1, cnst0, cnst1, out0, out1) do { \ - out0 = (RTYPE)__msa_dotp_s_w((v8i16)mult0, (v8i16)cnst0); \ - out1 = (RTYPE)__msa_dotp_s_w((v8i16)mult1, (v8i16)cnst1); \ -} while (0) -#define DOTP_SH2_SW(...) DOTP_SH2(v4i32, __VA_ARGS__) - -/* Description : Dot product of unsigned word vector elements - * Arguments : Inputs - mult0, mult1, cnst0, cnst1 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Unsigned word elements from 'mult0' are multiplied with - * unsigned word elements from 'cnst0' producing a result - * twice the size of input i.e. unsigned double word. - * The multiplication result of adjacent odd-even elements - * are added together and written to the 'out0' vector - */ -#define DOTP_UW2(RTYPE, mult0, mult1, cnst0, cnst1, out0, out1) do { \ - out0 = (RTYPE)__msa_dotp_u_d((v4u32)mult0, (v4u32)cnst0); \ - out1 = (RTYPE)__msa_dotp_u_d((v4u32)mult1, (v4u32)cnst1); \ -} while (0) -#define DOTP_UW2_UD(...) DOTP_UW2(v2u64, __VA_ARGS__) - -/* Description : Dot product & addition of halfword vector elements - * Arguments : Inputs - mult0, mult1, cnst0, cnst1 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Signed halfword elements from 'mult0' are multiplied with - * signed halfword elements from 'cnst0' producing a result - * twice the size of input i.e. signed word. - * The multiplication result of adjacent odd-even elements - * are added to the 'out0' vector - */ -#define DPADD_SH2(RTYPE, mult0, mult1, cnst0, cnst1, out0, out1) do { \ - out0 = (RTYPE)__msa_dpadd_s_w((v4i32)out0, (v8i16)mult0, (v8i16)cnst0); \ - out1 = (RTYPE)__msa_dpadd_s_w((v4i32)out1, (v8i16)mult1, (v8i16)cnst1); \ -} while (0) -#define DPADD_SH2_SW(...) DPADD_SH2(v4i32, __VA_ARGS__) - -/* Description : Clips all signed halfword elements of input vector - * between 0 & 255 - * Arguments : Input/output - val - * Return Type - signed halfword - */ -#define CLIP_SH_0_255(val) do { \ - const v8i16 max_m = __msa_ldi_h(255); \ - val = __msa_maxi_s_h((v8i16)val, 0); \ - val = __msa_min_s_h(max_m, (v8i16)val); \ -} while (0) - -#define CLIP_SH2_0_255(in0, in1) do { \ - CLIP_SH_0_255(in0); \ - CLIP_SH_0_255(in1); \ -} while (0) - -#define CLIP_SH4_0_255(in0, in1, in2, in3) do { \ - CLIP_SH2_0_255(in0, in1); \ - CLIP_SH2_0_255(in2, in3); \ -} while (0) - -/* Description : Clips all unsigned halfword elements of input vector - * between 0 & 255 - * Arguments : Input - in - * Output - out_m - * Return Type - unsigned halfword - */ -#define CLIP_UH_0_255(in) do { \ - const v8u16 max_m = (v8u16)__msa_ldi_h(255); \ - in = __msa_maxi_u_h((v8u16) in, 0); \ - in = __msa_min_u_h((v8u16) max_m, (v8u16) in); \ -} while (0) - -#define CLIP_UH2_0_255(in0, in1) do { \ - CLIP_UH_0_255(in0); \ - CLIP_UH_0_255(in1); \ -} while (0) - -/* Description : Clips all signed word elements of input vector - * between 0 & 255 - * Arguments : Input/output - val - * Return Type - signed word - */ -#define CLIP_SW_0_255(val) do { \ - const v4i32 max_m = __msa_ldi_w(255); \ - val = __msa_maxi_s_w((v4i32)val, 0); \ - val = __msa_min_s_w(max_m, (v4i32)val); \ -} while (0) - -#define CLIP_SW4_0_255(in0, in1, in2, in3) do { \ - CLIP_SW_0_255(in0); \ - CLIP_SW_0_255(in1); \ - CLIP_SW_0_255(in2); \ - CLIP_SW_0_255(in3); \ -} while (0) - -/* Description : Horizontal addition of 4 signed word elements of input vector - * Arguments : Input - in (signed word vector) - * Output - sum_m (i32 sum) - * Return Type - signed word (GP) - * Details : 4 signed word elements of 'in' vector are added together and - * the resulting integer sum is returned - */ -static WEBP_INLINE int32_t func_hadd_sw_s32(v4i32 in) { - const v2i64 res0_m = __msa_hadd_s_d((v4i32)in, (v4i32)in); - const v2i64 res1_m = __msa_splati_d(res0_m, 1); - const v2i64 out = res0_m + res1_m; - int32_t sum_m = __msa_copy_s_w((v4i32)out, 0); - return sum_m; -} -#define HADD_SW_S32(in) func_hadd_sw_s32(in) - -/* Description : Horizontal addition of 8 signed halfword elements - * Arguments : Input - in (signed halfword vector) - * Output - sum_m (s32 sum) - * Return Type - signed word - * Details : 8 signed halfword elements of input vector are added - * together and the resulting integer sum is returned - */ -static WEBP_INLINE int32_t func_hadd_sh_s32(v8i16 in) { - const v4i32 res = __msa_hadd_s_w(in, in); - const v2i64 res0 = __msa_hadd_s_d(res, res); - const v2i64 res1 = __msa_splati_d(res0, 1); - const v2i64 res2 = res0 + res1; - const int32_t sum_m = __msa_copy_s_w((v4i32)res2, 0); - return sum_m; -} -#define HADD_SH_S32(in) func_hadd_sh_s32(in) - -/* Description : Horizontal addition of 8 unsigned halfword elements - * Arguments : Input - in (unsigned halfword vector) - * Output - sum_m (u32 sum) - * Return Type - unsigned word - * Details : 8 unsigned halfword elements of input vector are added - * together and the resulting integer sum is returned - */ -static WEBP_INLINE uint32_t func_hadd_uh_u32(v8u16 in) { - uint32_t sum_m; - const v4u32 res_m = __msa_hadd_u_w(in, in); - v2u64 res0_m = __msa_hadd_u_d(res_m, res_m); - v2u64 res1_m = (v2u64)__msa_splati_d((v2i64)res0_m, 1); - res0_m = res0_m + res1_m; - sum_m = __msa_copy_s_w((v4i32)res0_m, 0); - return sum_m; -} -#define HADD_UH_U32(in) func_hadd_uh_u32(in) - -/* Description : Horizontal addition of signed half word vector elements - Arguments : Inputs - in0, in1 - Outputs - out0, out1 - Return Type - as per RTYPE - Details : Each signed odd half word element from 'in0' is added to - even signed half word element from 'in0' (pairwise) and the - halfword result is written in 'out0' -*/ -#define HADD_SH2(RTYPE, in0, in1, out0, out1) do { \ - out0 = (RTYPE)__msa_hadd_s_w((v8i16)in0, (v8i16)in0); \ - out1 = (RTYPE)__msa_hadd_s_w((v8i16)in1, (v8i16)in1); \ -} while (0) -#define HADD_SH2_SW(...) HADD_SH2(v4i32, __VA_ARGS__) - -#define HADD_SH4(RTYPE, in0, in1, in2, in3, out0, out1, out2, out3) do { \ - HADD_SH2(RTYPE, in0, in1, out0, out1); \ - HADD_SH2(RTYPE, in2, in3, out2, out3); \ -} while (0) -#define HADD_SH4_SW(...) HADD_SH4(v4i32, __VA_ARGS__) - -/* Description : Horizontal subtraction of unsigned byte vector elements - * Arguments : Inputs - in0, in1 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Each unsigned odd byte element from 'in0' is subtracted from - * even unsigned byte element from 'in0' (pairwise) and the - * halfword result is written to 'out0' - */ -#define HSUB_UB2(RTYPE, in0, in1, out0, out1) do { \ - out0 = (RTYPE)__msa_hsub_u_h((v16u8)in0, (v16u8)in0); \ - out1 = (RTYPE)__msa_hsub_u_h((v16u8)in1, (v16u8)in1); \ -} while (0) -#define HSUB_UB2_UH(...) HSUB_UB2(v8u16, __VA_ARGS__) -#define HSUB_UB2_SH(...) HSUB_UB2(v8i16, __VA_ARGS__) -#define HSUB_UB2_SW(...) HSUB_UB2(v4i32, __VA_ARGS__) - -/* Description : Set element n input vector to GPR value - * Arguments : Inputs - in0, in1, in2, in3 - * Output - out - * Return Type - as per RTYPE - * Details : Set element 0 in vector 'out' to value specified in 'in0' - */ -#define INSERT_W2(RTYPE, in0, in1, out) do { \ - out = (RTYPE)__msa_insert_w((v4i32)out, 0, in0); \ - out = (RTYPE)__msa_insert_w((v4i32)out, 1, in1); \ -} while (0) -#define INSERT_W2_UB(...) INSERT_W2(v16u8, __VA_ARGS__) -#define INSERT_W2_SB(...) INSERT_W2(v16i8, __VA_ARGS__) - -#define INSERT_W4(RTYPE, in0, in1, in2, in3, out) do { \ - out = (RTYPE)__msa_insert_w((v4i32)out, 0, in0); \ - out = (RTYPE)__msa_insert_w((v4i32)out, 1, in1); \ - out = (RTYPE)__msa_insert_w((v4i32)out, 2, in2); \ - out = (RTYPE)__msa_insert_w((v4i32)out, 3, in3); \ -} while (0) -#define INSERT_W4_UB(...) INSERT_W4(v16u8, __VA_ARGS__) -#define INSERT_W4_SB(...) INSERT_W4(v16i8, __VA_ARGS__) -#define INSERT_W4_SW(...) INSERT_W4(v4i32, __VA_ARGS__) - -/* Description : Set element n of double word input vector to GPR value - * Arguments : Inputs - in0, in1 - * Output - out - * Return Type - as per RTYPE - * Details : Set element 0 in vector 'out' to GPR value specified in 'in0' - * Set element 1 in vector 'out' to GPR value specified in 'in1' - */ -#define INSERT_D2(RTYPE, in0, in1, out) do { \ - out = (RTYPE)__msa_insert_d((v2i64)out, 0, in0); \ - out = (RTYPE)__msa_insert_d((v2i64)out, 1, in1); \ -} while (0) -#define INSERT_D2_UB(...) INSERT_D2(v16u8, __VA_ARGS__) -#define INSERT_D2_SB(...) INSERT_D2(v16i8, __VA_ARGS__) - -/* Description : Interleave even byte elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Even byte elements of 'in0' and 'in1' are interleaved - * and written to 'out0' - */ -#define ILVEV_B2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvev_b((v16i8)in1, (v16i8)in0); \ - out1 = (RTYPE)__msa_ilvev_b((v16i8)in3, (v16i8)in2); \ -} while (0) -#define ILVEV_B2_UB(...) ILVEV_B2(v16u8, __VA_ARGS__) -#define ILVEV_B2_SB(...) ILVEV_B2(v16i8, __VA_ARGS__) -#define ILVEV_B2_UH(...) ILVEV_B2(v8u16, __VA_ARGS__) -#define ILVEV_B2_SH(...) ILVEV_B2(v8i16, __VA_ARGS__) -#define ILVEV_B2_SD(...) ILVEV_B2(v2i64, __VA_ARGS__) - -/* Description : Interleave odd byte elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Odd byte elements of 'in0' and 'in1' are interleaved - * and written to 'out0' - */ -#define ILVOD_B2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvod_b((v16i8)in1, (v16i8)in0); \ - out1 = (RTYPE)__msa_ilvod_b((v16i8)in3, (v16i8)in2); \ -} while (0) -#define ILVOD_B2_UB(...) ILVOD_B2(v16u8, __VA_ARGS__) -#define ILVOD_B2_SB(...) ILVOD_B2(v16i8, __VA_ARGS__) -#define ILVOD_B2_UH(...) ILVOD_B2(v8u16, __VA_ARGS__) -#define ILVOD_B2_SH(...) ILVOD_B2(v8i16, __VA_ARGS__) -#define ILVOD_B2_SD(...) ILVOD_B2(v2i64, __VA_ARGS__) - -/* Description : Interleave even halfword elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Even halfword elements of 'in0' and 'in1' are interleaved - * and written to 'out0' - */ -#define ILVEV_H2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvev_h((v8i16)in1, (v8i16)in0); \ - out1 = (RTYPE)__msa_ilvev_h((v8i16)in3, (v8i16)in2); \ -} while (0) -#define ILVEV_H2_UB(...) ILVEV_H2(v16u8, __VA_ARGS__) -#define ILVEV_H2_UH(...) ILVEV_H2(v8u16, __VA_ARGS__) -#define ILVEV_H2_SH(...) ILVEV_H2(v8i16, __VA_ARGS__) -#define ILVEV_H2_SW(...) ILVEV_H2(v4i32, __VA_ARGS__) - -/* Description : Interleave odd halfword elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Odd halfword elements of 'in0' and 'in1' are interleaved - * and written to 'out0' - */ -#define ILVOD_H2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvod_h((v8i16)in1, (v8i16)in0); \ - out1 = (RTYPE)__msa_ilvod_h((v8i16)in3, (v8i16)in2); \ -} while (0) -#define ILVOD_H2_UB(...) ILVOD_H2(v16u8, __VA_ARGS__) -#define ILVOD_H2_UH(...) ILVOD_H2(v8u16, __VA_ARGS__) -#define ILVOD_H2_SH(...) ILVOD_H2(v8i16, __VA_ARGS__) -#define ILVOD_H2_SW(...) ILVOD_H2(v4i32, __VA_ARGS__) - -/* Description : Interleave even word elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Even word elements of 'in0' and 'in1' are interleaved - * and written to 'out0' - */ -#define ILVEV_W2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvev_w((v4i32)in1, (v4i32)in0); \ - out1 = (RTYPE)__msa_ilvev_w((v4i32)in3, (v4i32)in2); \ -} while (0) -#define ILVEV_W2_UB(...) ILVEV_W2(v16u8, __VA_ARGS__) -#define ILVEV_W2_SB(...) ILVEV_W2(v16i8, __VA_ARGS__) -#define ILVEV_W2_UH(...) ILVEV_W2(v8u16, __VA_ARGS__) -#define ILVEV_W2_SD(...) ILVEV_W2(v2i64, __VA_ARGS__) - -/* Description : Interleave even-odd word elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Even word elements of 'in0' and 'in1' are interleaved - * and written to 'out0' - * Odd word elements of 'in2' and 'in3' are interleaved - * and written to 'out1' - */ -#define ILVEVOD_W2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvev_w((v4i32)in1, (v4i32)in0); \ - out1 = (RTYPE)__msa_ilvod_w((v4i32)in3, (v4i32)in2); \ -} while (0) -#define ILVEVOD_W2_UB(...) ILVEVOD_W2(v16u8, __VA_ARGS__) -#define ILVEVOD_W2_UH(...) ILVEVOD_W2(v8u16, __VA_ARGS__) -#define ILVEVOD_W2_SH(...) ILVEVOD_W2(v8i16, __VA_ARGS__) -#define ILVEVOD_W2_SW(...) ILVEVOD_W2(v4i32, __VA_ARGS__) - -/* Description : Interleave even-odd half-word elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Even half-word elements of 'in0' and 'in1' are interleaved - * and written to 'out0' - * Odd half-word elements of 'in2' and 'in3' are interleaved - * and written to 'out1' - */ -#define ILVEVOD_H2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvev_h((v8i16)in1, (v8i16)in0); \ - out1 = (RTYPE)__msa_ilvod_h((v8i16)in3, (v8i16)in2); \ -} while (0) -#define ILVEVOD_H2_UB(...) ILVEVOD_H2(v16u8, __VA_ARGS__) -#define ILVEVOD_H2_UH(...) ILVEVOD_H2(v8u16, __VA_ARGS__) -#define ILVEVOD_H2_SH(...) ILVEVOD_H2(v8i16, __VA_ARGS__) -#define ILVEVOD_H2_SW(...) ILVEVOD_H2(v4i32, __VA_ARGS__) - -/* Description : Interleave even double word elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Even double word elements of 'in0' and 'in1' are interleaved - * and written to 'out0' - */ -#define ILVEV_D2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvev_d((v2i64)in1, (v2i64)in0); \ - out1 = (RTYPE)__msa_ilvev_d((v2i64)in3, (v2i64)in2); \ -} while (0) -#define ILVEV_D2_UB(...) ILVEV_D2(v16u8, __VA_ARGS__) -#define ILVEV_D2_SB(...) ILVEV_D2(v16i8, __VA_ARGS__) -#define ILVEV_D2_SW(...) ILVEV_D2(v4i32, __VA_ARGS__) -#define ILVEV_D2_SD(...) ILVEV_D2(v2i64, __VA_ARGS__) - -/* Description : Interleave left half of byte elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Left half of byte elements of 'in0' and 'in1' are interleaved - * and written to 'out0'. - */ -#define ILVL_B2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvl_b((v16i8)in0, (v16i8)in1); \ - out1 = (RTYPE)__msa_ilvl_b((v16i8)in2, (v16i8)in3); \ -} while (0) -#define ILVL_B2_UB(...) ILVL_B2(v16u8, __VA_ARGS__) -#define ILVL_B2_SB(...) ILVL_B2(v16i8, __VA_ARGS__) -#define ILVL_B2_UH(...) ILVL_B2(v8u16, __VA_ARGS__) -#define ILVL_B2_SH(...) ILVL_B2(v8i16, __VA_ARGS__) -#define ILVL_B2_SW(...) ILVL_B2(v4i32, __VA_ARGS__) - -/* Description : Interleave right half of byte elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Right half of byte elements of 'in0' and 'in1' are interleaved - * and written to out0. - */ -#define ILVR_B2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvr_b((v16i8)in0, (v16i8)in1); \ - out1 = (RTYPE)__msa_ilvr_b((v16i8)in2, (v16i8)in3); \ -} while (0) -#define ILVR_B2_UB(...) ILVR_B2(v16u8, __VA_ARGS__) -#define ILVR_B2_SB(...) ILVR_B2(v16i8, __VA_ARGS__) -#define ILVR_B2_UH(...) ILVR_B2(v8u16, __VA_ARGS__) -#define ILVR_B2_SH(...) ILVR_B2(v8i16, __VA_ARGS__) -#define ILVR_B2_SW(...) ILVR_B2(v4i32, __VA_ARGS__) - -#define ILVR_B4(RTYPE, in0, in1, in2, in3, in4, in5, in6, in7, \ - out0, out1, out2, out3) do { \ - ILVR_B2(RTYPE, in0, in1, in2, in3, out0, out1); \ - ILVR_B2(RTYPE, in4, in5, in6, in7, out2, out3); \ -} while (0) -#define ILVR_B4_UB(...) ILVR_B4(v16u8, __VA_ARGS__) -#define ILVR_B4_SB(...) ILVR_B4(v16i8, __VA_ARGS__) -#define ILVR_B4_UH(...) ILVR_B4(v8u16, __VA_ARGS__) -#define ILVR_B4_SH(...) ILVR_B4(v8i16, __VA_ARGS__) -#define ILVR_B4_SW(...) ILVR_B4(v4i32, __VA_ARGS__) - -/* Description : Interleave right half of halfword elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Right half of halfword elements of 'in0' and 'in1' are - * interleaved and written to 'out0'. - */ -#define ILVR_H2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvr_h((v8i16)in0, (v8i16)in1); \ - out1 = (RTYPE)__msa_ilvr_h((v8i16)in2, (v8i16)in3); \ -} while (0) -#define ILVR_H2_UB(...) ILVR_H2(v16u8, __VA_ARGS__) -#define ILVR_H2_SH(...) ILVR_H2(v8i16, __VA_ARGS__) -#define ILVR_H2_SW(...) ILVR_H2(v4i32, __VA_ARGS__) - -#define ILVR_H4(RTYPE, in0, in1, in2, in3, in4, in5, in6, in7, \ - out0, out1, out2, out3) do { \ - ILVR_H2(RTYPE, in0, in1, in2, in3, out0, out1); \ - ILVR_H2(RTYPE, in4, in5, in6, in7, out2, out3); \ -} while (0) -#define ILVR_H4_UB(...) ILVR_H4(v16u8, __VA_ARGS__) -#define ILVR_H4_SH(...) ILVR_H4(v8i16, __VA_ARGS__) -#define ILVR_H4_SW(...) ILVR_H4(v4i32, __VA_ARGS__) - -/* Description : Interleave right half of double word elements from vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Right half of double word elements of 'in0' and 'in1' are - * interleaved and written to 'out0'. - */ -#define ILVR_D2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvr_d((v2i64)in0, (v2i64)in1); \ - out1 = (RTYPE)__msa_ilvr_d((v2i64)in2, (v2i64)in3); \ -} while (0) -#define ILVR_D2_UB(...) ILVR_D2(v16u8, __VA_ARGS__) -#define ILVR_D2_SB(...) ILVR_D2(v16i8, __VA_ARGS__) -#define ILVR_D2_SH(...) ILVR_D2(v8i16, __VA_ARGS__) - -#define ILVR_D4(RTYPE, in0, in1, in2, in3, in4, in5, in6, in7, \ - out0, out1, out2, out3) do { \ - ILVR_D2(RTYPE, in0, in1, in2, in3, out0, out1); \ - ILVR_D2(RTYPE, in4, in5, in6, in7, out2, out3); \ -} while (0) -#define ILVR_D4_SB(...) ILVR_D4(v16i8, __VA_ARGS__) -#define ILVR_D4_UB(...) ILVR_D4(v16u8, __VA_ARGS__) - -/* Description : Interleave both left and right half of input vectors - * Arguments : Inputs - in0, in1 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Right half of byte elements from 'in0' and 'in1' are - * interleaved and written to 'out0' - */ -#define ILVRL_B2(RTYPE, in0, in1, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvr_b((v16i8)in0, (v16i8)in1); \ - out1 = (RTYPE)__msa_ilvl_b((v16i8)in0, (v16i8)in1); \ -} while (0) -#define ILVRL_B2_UB(...) ILVRL_B2(v16u8, __VA_ARGS__) -#define ILVRL_B2_SB(...) ILVRL_B2(v16i8, __VA_ARGS__) -#define ILVRL_B2_UH(...) ILVRL_B2(v8u16, __VA_ARGS__) -#define ILVRL_B2_SH(...) ILVRL_B2(v8i16, __VA_ARGS__) -#define ILVRL_B2_SW(...) ILVRL_B2(v4i32, __VA_ARGS__) - -#define ILVRL_H2(RTYPE, in0, in1, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvr_h((v8i16)in0, (v8i16)in1); \ - out1 = (RTYPE)__msa_ilvl_h((v8i16)in0, (v8i16)in1); \ -} while (0) -#define ILVRL_H2_UB(...) ILVRL_H2(v16u8, __VA_ARGS__) -#define ILVRL_H2_SB(...) ILVRL_H2(v16i8, __VA_ARGS__) -#define ILVRL_H2_SH(...) ILVRL_H2(v8i16, __VA_ARGS__) -#define ILVRL_H2_SW(...) ILVRL_H2(v4i32, __VA_ARGS__) -#define ILVRL_H2_UW(...) ILVRL_H2(v4u32, __VA_ARGS__) - -#define ILVRL_W2(RTYPE, in0, in1, out0, out1) do { \ - out0 = (RTYPE)__msa_ilvr_w((v4i32)in0, (v4i32)in1); \ - out1 = (RTYPE)__msa_ilvl_w((v4i32)in0, (v4i32)in1); \ -} while (0) -#define ILVRL_W2_UB(...) ILVRL_W2(v16u8, __VA_ARGS__) -#define ILVRL_W2_SH(...) ILVRL_W2(v8i16, __VA_ARGS__) -#define ILVRL_W2_SW(...) ILVRL_W2(v4i32, __VA_ARGS__) -#define ILVRL_W2_UW(...) ILVRL_W2(v4u32, __VA_ARGS__) - -/* Description : Pack even byte elements of vector pairs - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Even byte elements of 'in0' are copied to the left half of - * 'out0' & even byte elements of 'in1' are copied to the right - * half of 'out0'. - */ -#define PCKEV_B2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_pckev_b((v16i8)in0, (v16i8)in1); \ - out1 = (RTYPE)__msa_pckev_b((v16i8)in2, (v16i8)in3); \ -} while (0) -#define PCKEV_B2_SB(...) PCKEV_B2(v16i8, __VA_ARGS__) -#define PCKEV_B2_UB(...) PCKEV_B2(v16u8, __VA_ARGS__) -#define PCKEV_B2_SH(...) PCKEV_B2(v8i16, __VA_ARGS__) -#define PCKEV_B2_SW(...) PCKEV_B2(v4i32, __VA_ARGS__) - -#define PCKEV_B4(RTYPE, in0, in1, in2, in3, in4, in5, in6, in7, \ - out0, out1, out2, out3) do { \ - PCKEV_B2(RTYPE, in0, in1, in2, in3, out0, out1); \ - PCKEV_B2(RTYPE, in4, in5, in6, in7, out2, out3); \ -} while (0) -#define PCKEV_B4_SB(...) PCKEV_B4(v16i8, __VA_ARGS__) -#define PCKEV_B4_UB(...) PCKEV_B4(v16u8, __VA_ARGS__) -#define PCKEV_B4_SH(...) PCKEV_B4(v8i16, __VA_ARGS__) -#define PCKEV_B4_SW(...) PCKEV_B4(v4i32, __VA_ARGS__) - -/* Description : Pack even halfword elements of vector pairs - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Even halfword elements of 'in0' are copied to the left half of - * 'out0' & even halfword elements of 'in1' are copied to the - * right half of 'out0'. - */ -#define PCKEV_H2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_pckev_h((v8i16)in0, (v8i16)in1); \ - out1 = (RTYPE)__msa_pckev_h((v8i16)in2, (v8i16)in3); \ -} while (0) -#define PCKEV_H2_UH(...) PCKEV_H2(v8u16, __VA_ARGS__) -#define PCKEV_H2_SH(...) PCKEV_H2(v8i16, __VA_ARGS__) -#define PCKEV_H2_SW(...) PCKEV_H2(v4i32, __VA_ARGS__) -#define PCKEV_H2_UW(...) PCKEV_H2(v4u32, __VA_ARGS__) - -/* Description : Pack even word elements of vector pairs - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Even word elements of 'in0' are copied to the left half of - * 'out0' & even word elements of 'in1' are copied to the - * right half of 'out0'. - */ -#define PCKEV_W2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_pckev_w((v4i32)in0, (v4i32)in1); \ - out1 = (RTYPE)__msa_pckev_w((v4i32)in2, (v4i32)in3); \ -} while (0) -#define PCKEV_W2_UH(...) PCKEV_W2(v8u16, __VA_ARGS__) -#define PCKEV_W2_SH(...) PCKEV_W2(v8i16, __VA_ARGS__) -#define PCKEV_W2_SW(...) PCKEV_W2(v4i32, __VA_ARGS__) -#define PCKEV_W2_UW(...) PCKEV_W2(v4u32, __VA_ARGS__) - -/* Description : Pack odd halfword elements of vector pairs - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Odd halfword elements of 'in0' are copied to the left half of - * 'out0' & odd halfword elements of 'in1' are copied to the - * right half of 'out0'. - */ -#define PCKOD_H2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_pckod_h((v8i16)in0, (v8i16)in1); \ - out1 = (RTYPE)__msa_pckod_h((v8i16)in2, (v8i16)in3); \ -} while (0) -#define PCKOD_H2_UH(...) PCKOD_H2(v8u16, __VA_ARGS__) -#define PCKOD_H2_SH(...) PCKOD_H2(v8i16, __VA_ARGS__) -#define PCKOD_H2_SW(...) PCKOD_H2(v4i32, __VA_ARGS__) -#define PCKOD_H2_UW(...) PCKOD_H2(v4u32, __VA_ARGS__) - -/* Description : Arithmetic immediate shift right all elements of word vector - * Arguments : Inputs - in0, in1, shift - * Outputs - in place operation - * Return Type - as per input vector RTYPE - * Details : Each element of vector 'in0' is right shifted by 'shift' and - * the result is written in-place. 'shift' is a GP variable. - */ -#define SRAI_W2(RTYPE, in0, in1, shift_val) do { \ - in0 = (RTYPE)SRAI_W(in0, shift_val); \ - in1 = (RTYPE)SRAI_W(in1, shift_val); \ -} while (0) -#define SRAI_W2_SW(...) SRAI_W2(v4i32, __VA_ARGS__) -#define SRAI_W2_UW(...) SRAI_W2(v4u32, __VA_ARGS__) - -#define SRAI_W4(RTYPE, in0, in1, in2, in3, shift_val) do { \ - SRAI_W2(RTYPE, in0, in1, shift_val); \ - SRAI_W2(RTYPE, in2, in3, shift_val); \ -} while (0) -#define SRAI_W4_SW(...) SRAI_W4(v4i32, __VA_ARGS__) -#define SRAI_W4_UW(...) SRAI_W4(v4u32, __VA_ARGS__) - -/* Description : Arithmetic shift right all elements of half-word vector - * Arguments : Inputs - in0, in1, shift - * Outputs - in place operation - * Return Type - as per input vector RTYPE - * Details : Each element of vector 'in0' is right shifted by 'shift' and - * the result is written in-place. 'shift' is a GP variable. - */ -#define SRAI_H2(RTYPE, in0, in1, shift_val) do { \ - in0 = (RTYPE)SRAI_H(in0, shift_val); \ - in1 = (RTYPE)SRAI_H(in1, shift_val); \ -} while (0) -#define SRAI_H2_SH(...) SRAI_H2(v8i16, __VA_ARGS__) -#define SRAI_H2_UH(...) SRAI_H2(v8u16, __VA_ARGS__) - -/* Description : Arithmetic rounded shift right all elements of word vector - * Arguments : Inputs - in0, in1, shift - * Outputs - in place operation - * Return Type - as per input vector RTYPE - * Details : Each element of vector 'in0' is right shifted by 'shift' and - * the result is written in-place. 'shift' is a GP variable. - */ -#define SRARI_W2(RTYPE, in0, in1, shift) do { \ - in0 = (RTYPE)__msa_srari_w((v4i32)in0, shift); \ - in1 = (RTYPE)__msa_srari_w((v4i32)in1, shift); \ -} while (0) -#define SRARI_W2_SW(...) SRARI_W2(v4i32, __VA_ARGS__) - -#define SRARI_W4(RTYPE, in0, in1, in2, in3, shift) do { \ - SRARI_W2(RTYPE, in0, in1, shift); \ - SRARI_W2(RTYPE, in2, in3, shift); \ -} while (0) -#define SRARI_W4_SH(...) SRARI_W4(v8i16, __VA_ARGS__) -#define SRARI_W4_UW(...) SRARI_W4(v4u32, __VA_ARGS__) -#define SRARI_W4_SW(...) SRARI_W4(v4i32, __VA_ARGS__) - -/* Description : Shift right arithmetic rounded double words - * Arguments : Inputs - in0, in1, shift - * Outputs - in place operation - * Return Type - as per RTYPE - * Details : Each element of vector 'in0' is shifted right arithmetically by - * the number of bits in the corresponding element in the vector - * 'shift'. The last discarded bit is added to shifted value for - * rounding and the result is written in-place. - * 'shift' is a vector. - */ -#define SRAR_D2(RTYPE, in0, in1, shift) do { \ - in0 = (RTYPE)__msa_srar_d((v2i64)in0, (v2i64)shift); \ - in1 = (RTYPE)__msa_srar_d((v2i64)in1, (v2i64)shift); \ -} while (0) -#define SRAR_D2_SW(...) SRAR_D2(v4i32, __VA_ARGS__) -#define SRAR_D2_SD(...) SRAR_D2(v2i64, __VA_ARGS__) -#define SRAR_D2_UD(...) SRAR_D2(v2u64, __VA_ARGS__) - -#define SRAR_D4(RTYPE, in0, in1, in2, in3, shift) do { \ - SRAR_D2(RTYPE, in0, in1, shift); \ - SRAR_D2(RTYPE, in2, in3, shift); \ -} while (0) -#define SRAR_D4_SD(...) SRAR_D4(v2i64, __VA_ARGS__) -#define SRAR_D4_UD(...) SRAR_D4(v2u64, __VA_ARGS__) - -/* Description : Addition of 2 pairs of half-word vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Details : Each element in 'in0' is added to 'in1' and result is written - * to 'out0'. - */ -#define ADDVI_H2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)ADDVI_H(in0, in1); \ - out1 = (RTYPE)ADDVI_H(in2, in3); \ -} while (0) -#define ADDVI_H2_SH(...) ADDVI_H2(v8i16, __VA_ARGS__) -#define ADDVI_H2_UH(...) ADDVI_H2(v8u16, __VA_ARGS__) - -/* Description : Addition of 2 pairs of word vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Details : Each element in 'in0' is added to 'in1' and result is written - * to 'out0'. - */ -#define ADDVI_W2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)ADDVI_W(in0, in1); \ - out1 = (RTYPE)ADDVI_W(in2, in3); \ -} while (0) -#define ADDVI_W2_SW(...) ADDVI_W2(v4i32, __VA_ARGS__) - -/* Description : Fill 2 pairs of word vectors with GP registers - * Arguments : Inputs - in0, in1 - * Outputs - out0, out1 - * Details : GP register in0 is replicated in each word element of out0 - * GP register in1 is replicated in each word element of out1 - */ -#define FILL_W2(RTYPE, in0, in1, out0, out1) do { \ - out0 = (RTYPE)__msa_fill_w(in0); \ - out1 = (RTYPE)__msa_fill_w(in1); \ -} while (0) -#define FILL_W2_SW(...) FILL_W2(v4i32, __VA_ARGS__) - -/* Description : Addition of 2 pairs of vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Details : Each element in 'in0' is added to 'in1' and result is written - * to 'out0'. - */ -#define ADD2(in0, in1, in2, in3, out0, out1) do { \ - out0 = in0 + in1; \ - out1 = in2 + in3; \ -} while (0) - -#define ADD4(in0, in1, in2, in3, in4, in5, in6, in7, \ - out0, out1, out2, out3) do { \ - ADD2(in0, in1, in2, in3, out0, out1); \ - ADD2(in4, in5, in6, in7, out2, out3); \ -} while (0) - -/* Description : Subtraction of 2 pairs of vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Details : Each element in 'in1' is subtracted from 'in0' and result is - * written to 'out0'. - */ -#define SUB2(in0, in1, in2, in3, out0, out1) do { \ - out0 = in0 - in1; \ - out1 = in2 - in3; \ -} while (0) - -#define SUB3(in0, in1, in2, in3, in4, in5, out0, out1, out2) do { \ - out0 = in0 - in1; \ - out1 = in2 - in3; \ - out2 = in4 - in5; \ -} while (0) - -#define SUB4(in0, in1, in2, in3, in4, in5, in6, in7, \ - out0, out1, out2, out3) do { \ - out0 = in0 - in1; \ - out1 = in2 - in3; \ - out2 = in4 - in5; \ - out3 = in6 - in7; \ -} while (0) - -/* Description : Addition - Subtraction of input vectors - * Arguments : Inputs - in0, in1 - * Outputs - out0, out1 - * Details : Each element in 'in1' is added to 'in0' and result is - * written to 'out0'. - * Each element in 'in1' is subtracted from 'in0' and result is - * written to 'out1'. - */ -#define ADDSUB2(in0, in1, out0, out1) do { \ - out0 = in0 + in1; \ - out1 = in0 - in1; \ -} while (0) - -/* Description : Multiplication of pairs of vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1 - * Details : Each element from 'in0' is multiplied with elements from 'in1' - * and the result is written to 'out0' - */ -#define MUL2(in0, in1, in2, in3, out0, out1) do { \ - out0 = in0 * in1; \ - out1 = in2 * in3; \ -} while (0) - -#define MUL4(in0, in1, in2, in3, in4, in5, in6, in7, \ - out0, out1, out2, out3) do { \ - MUL2(in0, in1, in2, in3, out0, out1); \ - MUL2(in4, in5, in6, in7, out2, out3); \ -} while (0) - -/* Description : Sign extend halfword elements from right half of the vector - * Arguments : Input - in (halfword vector) - * Output - out (sign extended word vector) - * Return Type - signed word - * Details : Sign bit of halfword elements from input vector 'in' is - * extracted and interleaved with same vector 'in0' to generate - * 4 word elements keeping sign intact - */ -#define UNPCK_R_SH_SW(in, out) do { \ - const v8i16 sign_m = __msa_clti_s_h((v8i16)in, 0); \ - out = (v4i32)__msa_ilvr_h(sign_m, (v8i16)in); \ -} while (0) - -/* Description : Sign extend halfword elements from input vector and return - * the result in pair of vectors - * Arguments : Input - in (halfword vector) - * Outputs - out0, out1 (sign extended word vectors) - * Return Type - signed word - * Details : Sign bit of halfword elements from input vector 'in' is - * extracted and interleaved right with same vector 'in0' to - * generate 4 signed word elements in 'out0' - * Then interleaved left with same vector 'in0' to - * generate 4 signed word elements in 'out1' - */ -#define UNPCK_SH_SW(in, out0, out1) do { \ - const v8i16 tmp_m = __msa_clti_s_h((v8i16)in, 0); \ - ILVRL_H2_SW(tmp_m, in, out0, out1); \ -} while (0) - -/* Description : Butterfly of 4 input vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1, out2, out3 - * Details : Butterfly operation - */ -#define BUTTERFLY_4(in0, in1, in2, in3, out0, out1, out2, out3) do { \ - out0 = in0 + in3; \ - out1 = in1 + in2; \ - out2 = in1 - in2; \ - out3 = in0 - in3; \ -} while (0) - -/* Description : Transpose 16x4 block into 4x16 with byte elements in vectors - * Arguments : Inputs - in0, in1, in2, in3, in4, in5, in6, in7, - * in8, in9, in10, in11, in12, in13, in14, in15 - * Outputs - out0, out1, out2, out3 - * Return Type - unsigned byte - */ -#define TRANSPOSE16x4_UB_UB(in0, in1, in2, in3, in4, in5, in6, in7, \ - in8, in9, in10, in11, in12, in13, in14, in15, \ - out0, out1, out2, out3) do { \ - v2i64 tmp0_m, tmp1_m, tmp2_m, tmp3_m, tmp4_m, tmp5_m; \ - ILVEV_W2_SD(in0, in4, in8, in12, tmp2_m, tmp3_m); \ - ILVEV_W2_SD(in1, in5, in9, in13, tmp0_m, tmp1_m); \ - ILVEV_D2_UB(tmp2_m, tmp3_m, tmp0_m, tmp1_m, out1, out3); \ - ILVEV_W2_SD(in2, in6, in10, in14, tmp4_m, tmp5_m); \ - ILVEV_W2_SD(in3, in7, in11, in15, tmp0_m, tmp1_m); \ - ILVEV_D2_SD(tmp4_m, tmp5_m, tmp0_m, tmp1_m, tmp2_m, tmp3_m); \ - ILVEV_B2_SD(out1, out3, tmp2_m, tmp3_m, tmp0_m, tmp1_m); \ - ILVEVOD_H2_UB(tmp0_m, tmp1_m, tmp0_m, tmp1_m, out0, out2); \ - ILVOD_B2_SD(out1, out3, tmp2_m, tmp3_m, tmp0_m, tmp1_m); \ - ILVEVOD_H2_UB(tmp0_m, tmp1_m, tmp0_m, tmp1_m, out1, out3); \ -} while (0) - -/* Description : Transpose 16x8 block into 8x16 with byte elements in vectors - * Arguments : Inputs - in0, in1, in2, in3, in4, in5, in6, in7, - * in8, in9, in10, in11, in12, in13, in14, in15 - * Outputs - out0, out1, out2, out3, out4, out5, out6, out7 - * Return Type - unsigned byte - */ -#define TRANSPOSE16x8_UB_UB(in0, in1, in2, in3, in4, in5, in6, in7, \ - in8, in9, in10, in11, in12, in13, in14, in15, \ - out0, out1, out2, out3, out4, out5, \ - out6, out7) do { \ - v8i16 tmp0_m, tmp1_m, tmp4_m, tmp5_m, tmp6_m, tmp7_m; \ - v4i32 tmp2_m, tmp3_m; \ - ILVEV_D2_UB(in0, in8, in1, in9, out7, out6); \ - ILVEV_D2_UB(in2, in10, in3, in11, out5, out4); \ - ILVEV_D2_UB(in4, in12, in5, in13, out3, out2); \ - ILVEV_D2_UB(in6, in14, in7, in15, out1, out0); \ - ILVEV_B2_SH(out7, out6, out5, out4, tmp0_m, tmp1_m); \ - ILVOD_B2_SH(out7, out6, out5, out4, tmp4_m, tmp5_m); \ - ILVEV_B2_UB(out3, out2, out1, out0, out5, out7); \ - ILVOD_B2_SH(out3, out2, out1, out0, tmp6_m, tmp7_m); \ - ILVEV_H2_SW(tmp0_m, tmp1_m, out5, out7, tmp2_m, tmp3_m); \ - ILVEVOD_W2_UB(tmp2_m, tmp3_m, tmp2_m, tmp3_m, out0, out4); \ - ILVOD_H2_SW(tmp0_m, tmp1_m, out5, out7, tmp2_m, tmp3_m); \ - ILVEVOD_W2_UB(tmp2_m, tmp3_m, tmp2_m, tmp3_m, out2, out6); \ - ILVEV_H2_SW(tmp4_m, tmp5_m, tmp6_m, tmp7_m, tmp2_m, tmp3_m); \ - ILVEVOD_W2_UB(tmp2_m, tmp3_m, tmp2_m, tmp3_m, out1, out5); \ - ILVOD_H2_SW(tmp4_m, tmp5_m, tmp6_m, tmp7_m, tmp2_m, tmp3_m); \ - ILVEVOD_W2_UB(tmp2_m, tmp3_m, tmp2_m, tmp3_m, out3, out7); \ -} while (0) - -/* Description : Transpose 4x4 block with word elements in vectors - * Arguments : Inputs - in0, in1, in2, in3 - * Outputs - out0, out1, out2, out3 - * Return Type - as per RTYPE - */ -#define TRANSPOSE4x4_W(RTYPE, in0, in1, in2, in3, \ - out0, out1, out2, out3) do { \ - v4i32 s0_m, s1_m, s2_m, s3_m; \ - ILVRL_W2_SW(in1, in0, s0_m, s1_m); \ - ILVRL_W2_SW(in3, in2, s2_m, s3_m); \ - out0 = (RTYPE)__msa_ilvr_d((v2i64)s2_m, (v2i64)s0_m); \ - out1 = (RTYPE)__msa_ilvl_d((v2i64)s2_m, (v2i64)s0_m); \ - out2 = (RTYPE)__msa_ilvr_d((v2i64)s3_m, (v2i64)s1_m); \ - out3 = (RTYPE)__msa_ilvl_d((v2i64)s3_m, (v2i64)s1_m); \ -} while (0) -#define TRANSPOSE4x4_SW_SW(...) TRANSPOSE4x4_W(v4i32, __VA_ARGS__) - -/* Description : Add block 4x4 - * Arguments : Inputs - in0, in1, in2, in3, pdst, stride - * Details : Least significant 4 bytes from each input vector are added to - * the destination bytes, clipped between 0-255 and stored. - */ -#define ADDBLK_ST4x4_UB(in0, in1, in2, in3, pdst, stride) do { \ - uint32_t src0_m, src1_m, src2_m, src3_m; \ - v8i16 inp0_m, inp1_m, res0_m, res1_m; \ - v16i8 dst0_m = { 0 }; \ - v16i8 dst1_m = { 0 }; \ - const v16i8 zero_m = { 0 }; \ - ILVR_D2_SH(in1, in0, in3, in2, inp0_m, inp1_m); \ - LW4(pdst, stride, src0_m, src1_m, src2_m, src3_m); \ - INSERT_W2_SB(src0_m, src1_m, dst0_m); \ - INSERT_W2_SB(src2_m, src3_m, dst1_m); \ - ILVR_B2_SH(zero_m, dst0_m, zero_m, dst1_m, res0_m, res1_m); \ - ADD2(res0_m, inp0_m, res1_m, inp1_m, res0_m, res1_m); \ - CLIP_SH2_0_255(res0_m, res1_m); \ - PCKEV_B2_SB(res0_m, res0_m, res1_m, res1_m, dst0_m, dst1_m); \ - ST4x4_UB(dst0_m, dst1_m, 0, 1, 0, 1, pdst, stride); \ -} while (0) - -/* Description : Pack even byte elements, extract 0 & 2 index words from pair - * of results and store 4 words in destination memory as per - * stride - * Arguments : Inputs - in0, in1, in2, in3, pdst, stride - */ -#define PCKEV_ST4x4_UB(in0, in1, in2, in3, pdst, stride) do { \ - v16i8 tmp0_m, tmp1_m; \ - PCKEV_B2_SB(in1, in0, in3, in2, tmp0_m, tmp1_m); \ - ST4x4_UB(tmp0_m, tmp1_m, 0, 2, 0, 2, pdst, stride); \ -} while (0) - -/* Description : average with rounding (in0 + in1 + 1) / 2. - * Arguments : Inputs - in0, in1, in2, in3, - * Outputs - out0, out1 - * Return Type - as per RTYPE - * Details : Each unsigned byte element from 'in0' vector is added with - * each unsigned byte element from 'in1' vector. Then the average - * with rounding is calculated and written to 'out0' - */ -#define AVER_UB2(RTYPE, in0, in1, in2, in3, out0, out1) do { \ - out0 = (RTYPE)__msa_aver_u_b((v16u8)in0, (v16u8)in1); \ - out1 = (RTYPE)__msa_aver_u_b((v16u8)in2, (v16u8)in3); \ -} while (0) -#define AVER_UB2_UB(...) AVER_UB2(v16u8, __VA_ARGS__) - -#endif // WEBP_DSP_MSA_MACRO_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/neon.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/neon.h deleted file mode 100644 index aa1dea13..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/neon.h +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// NEON common code. - -#ifndef WEBP_DSP_NEON_H_ -#define WEBP_DSP_NEON_H_ - -#include - -#include "src/dsp/dsp.h" - -// Right now, some intrinsics functions seem slower, so we disable them -// everywhere except newer clang/gcc or aarch64 where the inline assembly is -// incompatible. -#if LOCAL_CLANG_PREREQ(3,8) || LOCAL_GCC_PREREQ(4,9) || defined(__aarch64__) -#define WEBP_USE_INTRINSICS // use intrinsics when possible -#endif - -#define INIT_VECTOR2(v, a, b) do { \ - v.val[0] = a; \ - v.val[1] = b; \ -} while (0) - -#define INIT_VECTOR3(v, a, b, c) do { \ - v.val[0] = a; \ - v.val[1] = b; \ - v.val[2] = c; \ -} while (0) - -#define INIT_VECTOR4(v, a, b, c, d) do { \ - v.val[0] = a; \ - v.val[1] = b; \ - v.val[2] = c; \ - v.val[3] = d; \ -} while (0) - -// if using intrinsics, this flag avoids some functions that make gcc-4.6.3 -// crash ("internal compiler error: in immed_double_const, at emit-rtl."). -// (probably similar to gcc.gnu.org/bugzilla/show_bug.cgi?id=48183) -#if !(LOCAL_CLANG_PREREQ(3,8) || LOCAL_GCC_PREREQ(4,8) || defined(__aarch64__)) -#define WORK_AROUND_GCC -#endif - -static WEBP_INLINE int32x4x4_t Transpose4x4_NEON(const int32x4x4_t rows) { - uint64x2x2_t row01, row23; - - row01.val[0] = vreinterpretq_u64_s32(rows.val[0]); - row01.val[1] = vreinterpretq_u64_s32(rows.val[1]); - row23.val[0] = vreinterpretq_u64_s32(rows.val[2]); - row23.val[1] = vreinterpretq_u64_s32(rows.val[3]); - // Transpose 64-bit values (there's no vswp equivalent) - { - const uint64x1_t row0h = vget_high_u64(row01.val[0]); - const uint64x1_t row2l = vget_low_u64(row23.val[0]); - const uint64x1_t row1h = vget_high_u64(row01.val[1]); - const uint64x1_t row3l = vget_low_u64(row23.val[1]); - row01.val[0] = vcombine_u64(vget_low_u64(row01.val[0]), row2l); - row23.val[0] = vcombine_u64(row0h, vget_high_u64(row23.val[0])); - row01.val[1] = vcombine_u64(vget_low_u64(row01.val[1]), row3l); - row23.val[1] = vcombine_u64(row1h, vget_high_u64(row23.val[1])); - } - { - const int32x4x2_t out01 = vtrnq_s32(vreinterpretq_s32_u64(row01.val[0]), - vreinterpretq_s32_u64(row01.val[1])); - const int32x4x2_t out23 = vtrnq_s32(vreinterpretq_s32_u64(row23.val[0]), - vreinterpretq_s32_u64(row23.val[1])); - int32x4x4_t out; - out.val[0] = out01.val[0]; - out.val[1] = out01.val[1]; - out.val[2] = out23.val[0]; - out.val[3] = out23.val[1]; - return out; - } -} - -#if 0 // Useful debug macro. -#include -#define PRINT_REG(REG, SIZE) do { \ - int i; \ - printf("%s \t[%d]: 0x", #REG, SIZE); \ - if (SIZE == 8) { \ - uint8_t _tmp[8]; \ - vst1_u8(_tmp, (REG)); \ - for (i = 0; i < 8; ++i) printf("%.2x ", _tmp[i]); \ - } else if (SIZE == 16) { \ - uint16_t _tmp[4]; \ - vst1_u16(_tmp, (REG)); \ - for (i = 0; i < 4; ++i) printf("%.4x ", _tmp[i]); \ - } \ - printf("\n"); \ -} while (0) -#endif - -#endif // WEBP_DSP_NEON_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/quant.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/quant.h deleted file mode 100644 index 5e8dba8d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/quant.h +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2018 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- - -#ifndef WEBP_DSP_QUANT_H_ -#define WEBP_DSP_QUANT_H_ - -#include - -#include "src/dsp/dsp.h" -#include "src/webp/types.h" - -#if defined(WEBP_USE_NEON) && !defined(WEBP_ANDROID_NEON) && \ - !defined(WEBP_HAVE_NEON_RTCD) -#include - -#define IsFlat IsFlat_NEON - -static uint32x2_t horizontal_add_uint32x4(const uint32x4_t a) { - const uint64x2_t b = vpaddlq_u32(a); - return vadd_u32(vreinterpret_u32_u64(vget_low_u64(b)), - vreinterpret_u32_u64(vget_high_u64(b))); -} - -static WEBP_INLINE int IsFlat(const int16_t* levels, int num_blocks, - int thresh) { - const int16x8_t tst_ones = vdupq_n_s16(-1); - uint32x4_t sum = vdupq_n_u32(0); - - for (int i = 0; i < num_blocks; ++i) { - // Set DC to zero. - const int16x8_t a_0 = vsetq_lane_s16(0, vld1q_s16(levels), 0); - const int16x8_t a_1 = vld1q_s16(levels + 8); - - const uint16x8_t b_0 = vshrq_n_u16(vtstq_s16(a_0, tst_ones), 15); - const uint16x8_t b_1 = vshrq_n_u16(vtstq_s16(a_1, tst_ones), 15); - - sum = vpadalq_u16(sum, b_0); - sum = vpadalq_u16(sum, b_1); - - levels += 16; - } - return thresh >= (int32_t)vget_lane_u32(horizontal_add_uint32x4(sum), 0); -} - -#else - -#define IsFlat IsFlat_C - -static WEBP_INLINE int IsFlat(const int16_t* levels, int num_blocks, - int thresh) { - int score = 0; - while (num_blocks-- > 0) { // TODO(skal): refine positional scoring? - int i; - for (i = 1; i < 16; ++i) { // omit DC, we're only interested in AC - score += (levels[i] != 0); - if (score > thresh) return 0; - } - levels += 16; - } - return 1; -} - -#endif // defined(WEBP_USE_NEON) && !defined(WEBP_ANDROID_NEON) && - // !defined(WEBP_HAVE_NEON_RTCD) - -static WEBP_INLINE int IsFlatSource16(const uint8_t* src) { - const uint32_t v = src[0] * 0x01010101u; - int i; - for (i = 0; i < 16; ++i) { - if (memcmp(src + 0, &v, 4) || memcmp(src + 4, &v, 4) || - memcmp(src + 8, &v, 4) || memcmp(src + 12, &v, 4)) { - return 0; - } - src += BPS; - } - return 1; -} - -#endif // WEBP_DSP_QUANT_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler.c deleted file mode 100644 index c5a01e82..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler.c +++ /dev/null @@ -1,250 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Rescaling functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#include - -#include "src/dsp/dsp.h" -#include "src/utils/rescaler_utils.h" - -//------------------------------------------------------------------------------ -// Implementations of critical functions ImportRow / ExportRow - -#define ROUNDER (WEBP_RESCALER_ONE >> 1) -#define MULT_FIX(x, y) (((uint64_t)(x) * (y) + ROUNDER) >> WEBP_RESCALER_RFIX) -#define MULT_FIX_FLOOR(x, y) (((uint64_t)(x) * (y)) >> WEBP_RESCALER_RFIX) - -//------------------------------------------------------------------------------ -// Row import - -void WebPRescalerImportRowExpand_C(WebPRescaler* const wrk, - const uint8_t* src) { - const int x_stride = wrk->num_channels; - const int x_out_max = wrk->dst_width * wrk->num_channels; - int channel; - assert(!WebPRescalerInputDone(wrk)); - assert(wrk->x_expand); - for (channel = 0; channel < x_stride; ++channel) { - int x_in = channel; - int x_out = channel; - // simple bilinear interpolation - int accum = wrk->x_add; - int left = src[x_in]; - int right = (wrk->src_width > 1) ? src[x_in + x_stride] : left; - x_in += x_stride; - while (1) { - wrk->frow[x_out] = right * wrk->x_add + (left - right) * accum; - x_out += x_stride; - if (x_out >= x_out_max) break; - accum -= wrk->x_sub; - if (accum < 0) { - left = right; - x_in += x_stride; - assert(x_in < wrk->src_width * x_stride); - right = src[x_in]; - accum += wrk->x_add; - } - } - assert(wrk->x_sub == 0 /* <- special case for src_width=1 */ || accum == 0); - } -} - -void WebPRescalerImportRowShrink_C(WebPRescaler* const wrk, - const uint8_t* src) { - const int x_stride = wrk->num_channels; - const int x_out_max = wrk->dst_width * wrk->num_channels; - int channel; - assert(!WebPRescalerInputDone(wrk)); - assert(!wrk->x_expand); - for (channel = 0; channel < x_stride; ++channel) { - int x_in = channel; - int x_out = channel; - uint32_t sum = 0; - int accum = 0; - while (x_out < x_out_max) { - uint32_t base = 0; - accum += wrk->x_add; - while (accum > 0) { - accum -= wrk->x_sub; - assert(x_in < wrk->src_width * x_stride); - base = src[x_in]; - sum += base; - x_in += x_stride; - } - { // Emit next horizontal pixel. - const rescaler_t frac = base * (-accum); - wrk->frow[x_out] = sum * wrk->x_sub - frac; - // fresh fractional start for next pixel - sum = (int)MULT_FIX(frac, wrk->fx_scale); - } - x_out += x_stride; - } - assert(accum == 0); - } -} - -//------------------------------------------------------------------------------ -// Row export - -void WebPRescalerExportRowExpand_C(WebPRescaler* const wrk) { - int x_out; - uint8_t* const dst = wrk->dst; - rescaler_t* const irow = wrk->irow; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const rescaler_t* const frow = wrk->frow; - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(wrk->y_expand); - assert(wrk->y_sub != 0); - if (wrk->y_accum == 0) { - for (x_out = 0; x_out < x_out_max; ++x_out) { - const uint32_t J = frow[x_out]; - const int v = (int)MULT_FIX(J, wrk->fy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - } - } else { - const uint32_t B = WEBP_RESCALER_FRAC(-wrk->y_accum, wrk->y_sub); - const uint32_t A = (uint32_t)(WEBP_RESCALER_ONE - B); - for (x_out = 0; x_out < x_out_max; ++x_out) { - const uint64_t I = (uint64_t)A * frow[x_out] - + (uint64_t)B * irow[x_out]; - const uint32_t J = (uint32_t)((I + ROUNDER) >> WEBP_RESCALER_RFIX); - const int v = (int)MULT_FIX(J, wrk->fy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - } - } -} - -void WebPRescalerExportRowShrink_C(WebPRescaler* const wrk) { - int x_out; - uint8_t* const dst = wrk->dst; - rescaler_t* const irow = wrk->irow; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const rescaler_t* const frow = wrk->frow; - const uint32_t yscale = wrk->fy_scale * (-wrk->y_accum); - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(!wrk->y_expand); - if (yscale) { - for (x_out = 0; x_out < x_out_max; ++x_out) { - const uint32_t frac = (uint32_t)MULT_FIX_FLOOR(frow[x_out], yscale); - const int v = (int)MULT_FIX(irow[x_out] - frac, wrk->fxy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - irow[x_out] = frac; // new fractional start - } - } else { - for (x_out = 0; x_out < x_out_max; ++x_out) { - const int v = (int)MULT_FIX(irow[x_out], wrk->fxy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - irow[x_out] = 0; - } - } -} - -#undef MULT_FIX_FLOOR -#undef MULT_FIX -#undef ROUNDER - -//------------------------------------------------------------------------------ -// Main entry calls - -void WebPRescalerImportRow(WebPRescaler* const wrk, const uint8_t* src) { - assert(!WebPRescalerInputDone(wrk)); - if (!wrk->x_expand) { - WebPRescalerImportRowShrink(wrk, src); - } else { - WebPRescalerImportRowExpand(wrk, src); - } -} - -void WebPRescalerExportRow(WebPRescaler* const wrk) { - if (wrk->y_accum <= 0) { - assert(!WebPRescalerOutputDone(wrk)); - if (wrk->y_expand) { - WebPRescalerExportRowExpand(wrk); - } else if (wrk->fxy_scale) { - WebPRescalerExportRowShrink(wrk); - } else { // special case - int i; - assert(wrk->src_height == wrk->dst_height && wrk->x_add == 1); - assert(wrk->src_width == 1 && wrk->dst_width <= 2); - for (i = 0; i < wrk->num_channels * wrk->dst_width; ++i) { - wrk->dst[i] = wrk->irow[i]; - wrk->irow[i] = 0; - } - } - wrk->y_accum += wrk->y_add; - wrk->dst += wrk->dst_stride; - ++wrk->dst_y; - } -} - -//------------------------------------------------------------------------------ - -WebPRescalerImportRowFunc WebPRescalerImportRowExpand; -WebPRescalerImportRowFunc WebPRescalerImportRowShrink; - -WebPRescalerExportRowFunc WebPRescalerExportRowExpand; -WebPRescalerExportRowFunc WebPRescalerExportRowShrink; - -extern void WebPRescalerDspInitSSE2(void); -extern void WebPRescalerDspInitMIPS32(void); -extern void WebPRescalerDspInitMIPSdspR2(void); -extern void WebPRescalerDspInitMSA(void); -extern void WebPRescalerDspInitNEON(void); - -WEBP_DSP_INIT_FUNC(WebPRescalerDspInit) { -#if !defined(WEBP_REDUCE_SIZE) -#if !WEBP_NEON_OMIT_C_CODE - WebPRescalerExportRowExpand = WebPRescalerExportRowExpand_C; - WebPRescalerExportRowShrink = WebPRescalerExportRowShrink_C; -#endif - - WebPRescalerImportRowExpand = WebPRescalerImportRowExpand_C; - WebPRescalerImportRowShrink = WebPRescalerImportRowShrink_C; - - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - WebPRescalerDspInitSSE2(); - } -#endif -#if defined(WEBP_USE_MIPS32) - if (VP8GetCPUInfo(kMIPS32)) { - WebPRescalerDspInitMIPS32(); - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - WebPRescalerDspInitMIPSdspR2(); - } -#endif -#if defined(WEBP_USE_MSA) - if (VP8GetCPUInfo(kMSA)) { - WebPRescalerDspInitMSA(); - } -#endif - } - -#if defined(WEBP_USE_NEON) - if (WEBP_NEON_OMIT_C_CODE || - (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { - WebPRescalerDspInitNEON(); - } -#endif - - assert(WebPRescalerExportRowExpand != NULL); - assert(WebPRescalerExportRowShrink != NULL); - assert(WebPRescalerImportRowExpand != NULL); - assert(WebPRescalerImportRowShrink != NULL); -#endif // WEBP_REDUCE_SIZE -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_mips32.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_mips32.c deleted file mode 100644 index 61f63c61..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_mips32.c +++ /dev/null @@ -1,295 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MIPS version of rescaling functions -// -// Author(s): Djordje Pesut (djordje.pesut@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS32) && !defined(WEBP_REDUCE_SIZE) - -#include -#include "src/utils/rescaler_utils.h" - -//------------------------------------------------------------------------------ -// Row import - -static void ImportRowShrink_MIPS32(WebPRescaler* const wrk, - const uint8_t* src) { - const int x_stride = wrk->num_channels; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const int fx_scale = wrk->fx_scale; - const int x_add = wrk->x_add; - const int x_sub = wrk->x_sub; - const int x_stride1 = x_stride << 2; - int channel; - assert(!wrk->x_expand); - assert(!WebPRescalerInputDone(wrk)); - - for (channel = 0; channel < x_stride; ++channel) { - const uint8_t* src1 = src + channel; - rescaler_t* frow = wrk->frow + channel; - int temp1, temp2, temp3; - int base, frac, sum; - int accum, accum1; - int loop_c = x_out_max - channel; - - __asm__ volatile ( - "li %[temp1], 0x8000 \n\t" - "li %[temp2], 0x10000 \n\t" - "li %[sum], 0 \n\t" - "li %[accum], 0 \n\t" - "1: \n\t" - "addu %[accum], %[accum], %[x_add] \n\t" - "li %[base], 0 \n\t" - "blez %[accum], 3f \n\t" - "2: \n\t" - "lbu %[base], 0(%[src1]) \n\t" - "subu %[accum], %[accum], %[x_sub] \n\t" - "addu %[src1], %[src1], %[x_stride] \n\t" - "addu %[sum], %[sum], %[base] \n\t" - "bgtz %[accum], 2b \n\t" - "3: \n\t" - "negu %[accum1], %[accum] \n\t" - "mul %[frac], %[base], %[accum1] \n\t" - "mul %[temp3], %[sum], %[x_sub] \n\t" - "subu %[loop_c], %[loop_c], %[x_stride] \n\t" - "mult %[temp1], %[temp2] \n\t" - "maddu %[frac], %[fx_scale] \n\t" - "mfhi %[sum] \n\t" - "subu %[temp3], %[temp3], %[frac] \n\t" - "sw %[temp3], 0(%[frow]) \n\t" - "addu %[frow], %[frow], %[x_stride1] \n\t" - "bgtz %[loop_c], 1b \n\t" - : [accum]"=&r"(accum), [src1]"+r"(src1), [temp3]"=&r"(temp3), - [sum]"=&r"(sum), [base]"=&r"(base), [frac]"=&r"(frac), - [frow]"+r"(frow), [accum1]"=&r"(accum1), - [temp2]"=&r"(temp2), [temp1]"=&r"(temp1) - : [x_stride]"r"(x_stride), [fx_scale]"r"(fx_scale), - [x_sub]"r"(x_sub), [x_add]"r"(x_add), - [loop_c]"r"(loop_c), [x_stride1]"r"(x_stride1) - : "memory", "hi", "lo" - ); - assert(accum == 0); - } -} - -static void ImportRowExpand_MIPS32(WebPRescaler* const wrk, - const uint8_t* src) { - const int x_stride = wrk->num_channels; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const int x_add = wrk->x_add; - const int x_sub = wrk->x_sub; - const int src_width = wrk->src_width; - const int x_stride1 = x_stride << 2; - int channel; - assert(wrk->x_expand); - assert(!WebPRescalerInputDone(wrk)); - - for (channel = 0; channel < x_stride; ++channel) { - const uint8_t* src1 = src + channel; - rescaler_t* frow = wrk->frow + channel; - int temp1, temp2, temp3, temp4; - int frac; - int accum; - int x_out = channel; - - __asm__ volatile ( - "addiu %[temp3], %[src_width], -1 \n\t" - "lbu %[temp2], 0(%[src1]) \n\t" - "addu %[src1], %[src1], %[x_stride] \n\t" - "bgtz %[temp3], 0f \n\t" - "addiu %[temp1], %[temp2], 0 \n\t" - "b 3f \n\t" - "0: \n\t" - "lbu %[temp1], 0(%[src1]) \n\t" - "3: \n\t" - "addiu %[accum], %[x_add], 0 \n\t" - "1: \n\t" - "subu %[temp3], %[temp2], %[temp1] \n\t" - "mul %[temp3], %[temp3], %[accum] \n\t" - "mul %[temp4], %[temp1], %[x_add] \n\t" - "addu %[temp3], %[temp4], %[temp3] \n\t" - "sw %[temp3], 0(%[frow]) \n\t" - "addu %[frow], %[frow], %[x_stride1] \n\t" - "addu %[x_out], %[x_out], %[x_stride] \n\t" - "subu %[temp3], %[x_out], %[x_out_max] \n\t" - "bgez %[temp3], 2f \n\t" - "subu %[accum], %[accum], %[x_sub] \n\t" - "bgez %[accum], 4f \n\t" - "addiu %[temp2], %[temp1], 0 \n\t" - "addu %[src1], %[src1], %[x_stride] \n\t" - "lbu %[temp1], 0(%[src1]) \n\t" - "addu %[accum], %[accum], %[x_add] \n\t" - "4: \n\t" - "b 1b \n\t" - "2: \n\t" - : [src1]"+r"(src1), [accum]"=&r"(accum), [temp1]"=&r"(temp1), - [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), - [x_out]"+r"(x_out), [frac]"=&r"(frac), [frow]"+r"(frow) - : [x_stride]"r"(x_stride), [x_add]"r"(x_add), [x_sub]"r"(x_sub), - [x_stride1]"r"(x_stride1), [src_width]"r"(src_width), - [x_out_max]"r"(x_out_max) - : "memory", "hi", "lo" - ); - assert(wrk->x_sub == 0 /* <- special case for src_width=1 */ || accum == 0); - } -} - -//------------------------------------------------------------------------------ -// Row export - -static void ExportRowExpand_MIPS32(WebPRescaler* const wrk) { - uint8_t* dst = wrk->dst; - rescaler_t* irow = wrk->irow; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const rescaler_t* frow = wrk->frow; - int temp0, temp1, temp3, temp4, temp5, loop_end; - const int temp2 = (int)wrk->fy_scale; - const int temp6 = x_out_max << 2; - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(wrk->y_expand); - assert(wrk->y_sub != 0); - if (wrk->y_accum == 0) { - __asm__ volatile ( - "li %[temp3], 0x10000 \n\t" - "li %[temp4], 0x8000 \n\t" - "addu %[loop_end], %[frow], %[temp6] \n\t" - "1: \n\t" - "lw %[temp0], 0(%[frow]) \n\t" - "addiu %[dst], %[dst], 1 \n\t" - "addiu %[frow], %[frow], 4 \n\t" - "mult %[temp3], %[temp4] \n\t" - "maddu %[temp0], %[temp2] \n\t" - "mfhi %[temp5] \n\t" - "sb %[temp5], -1(%[dst]) \n\t" - "bne %[frow], %[loop_end], 1b \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [frow]"+r"(frow), - [dst]"+r"(dst), [loop_end]"=&r"(loop_end) - : [temp2]"r"(temp2), [temp6]"r"(temp6) - : "memory", "hi", "lo" - ); - } else { - const uint32_t B = WEBP_RESCALER_FRAC(-wrk->y_accum, wrk->y_sub); - const uint32_t A = (uint32_t)(WEBP_RESCALER_ONE - B); - __asm__ volatile ( - "li %[temp3], 0x10000 \n\t" - "li %[temp4], 0x8000 \n\t" - "addu %[loop_end], %[frow], %[temp6] \n\t" - "1: \n\t" - "lw %[temp0], 0(%[frow]) \n\t" - "lw %[temp1], 0(%[irow]) \n\t" - "addiu %[dst], %[dst], 1 \n\t" - "mult %[temp3], %[temp4] \n\t" - "maddu %[A], %[temp0] \n\t" - "maddu %[B], %[temp1] \n\t" - "addiu %[frow], %[frow], 4 \n\t" - "addiu %[irow], %[irow], 4 \n\t" - "mfhi %[temp5] \n\t" - "mult %[temp3], %[temp4] \n\t" - "maddu %[temp5], %[temp2] \n\t" - "mfhi %[temp5] \n\t" - "sb %[temp5], -1(%[dst]) \n\t" - "bne %[frow], %[loop_end], 1b \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [frow]"+r"(frow), - [irow]"+r"(irow), [dst]"+r"(dst), [loop_end]"=&r"(loop_end) - : [temp2]"r"(temp2), [temp6]"r"(temp6), [A]"r"(A), [B]"r"(B) - : "memory", "hi", "lo" - ); - } -} - -#if 0 // disabled for now. TODO(skal): make match the C-code -static void ExportRowShrink_MIPS32(WebPRescaler* const wrk) { - const int x_out_max = wrk->dst_width * wrk->num_channels; - uint8_t* dst = wrk->dst; - rescaler_t* irow = wrk->irow; - const rescaler_t* frow = wrk->frow; - const int yscale = wrk->fy_scale * (-wrk->y_accum); - int temp0, temp1, temp3, temp4, temp5, loop_end; - const int temp2 = (int)wrk->fxy_scale; - const int temp6 = x_out_max << 2; - - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(!wrk->y_expand); - assert(wrk->fxy_scale != 0); - if (yscale) { - __asm__ volatile ( - "li %[temp3], 0x10000 \n\t" - "li %[temp4], 0x8000 \n\t" - "addu %[loop_end], %[frow], %[temp6] \n\t" - "1: \n\t" - "lw %[temp0], 0(%[frow]) \n\t" - "mult %[temp3], %[temp4] \n\t" - "addiu %[frow], %[frow], 4 \n\t" - "maddu %[temp0], %[yscale] \n\t" - "mfhi %[temp1] \n\t" - "lw %[temp0], 0(%[irow]) \n\t" - "addiu %[dst], %[dst], 1 \n\t" - "addiu %[irow], %[irow], 4 \n\t" - "subu %[temp0], %[temp0], %[temp1] \n\t" - "mult %[temp3], %[temp4] \n\t" - "maddu %[temp0], %[temp2] \n\t" - "mfhi %[temp5] \n\t" - "sw %[temp1], -4(%[irow]) \n\t" - "sb %[temp5], -1(%[dst]) \n\t" - "bne %[frow], %[loop_end], 1b \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [frow]"+r"(frow), - [irow]"+r"(irow), [dst]"+r"(dst), [loop_end]"=&r"(loop_end) - : [temp2]"r"(temp2), [yscale]"r"(yscale), [temp6]"r"(temp6) - : "memory", "hi", "lo" - ); - } else { - __asm__ volatile ( - "li %[temp3], 0x10000 \n\t" - "li %[temp4], 0x8000 \n\t" - "addu %[loop_end], %[irow], %[temp6] \n\t" - "1: \n\t" - "lw %[temp0], 0(%[irow]) \n\t" - "addiu %[dst], %[dst], 1 \n\t" - "addiu %[irow], %[irow], 4 \n\t" - "mult %[temp3], %[temp4] \n\t" - "maddu %[temp0], %[temp2] \n\t" - "mfhi %[temp5] \n\t" - "sw $zero, -4(%[irow]) \n\t" - "sb %[temp5], -1(%[dst]) \n\t" - "bne %[irow], %[loop_end], 1b \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [irow]"+r"(irow), - [dst]"+r"(dst), [loop_end]"=&r"(loop_end) - : [temp2]"r"(temp2), [temp6]"r"(temp6) - : "memory", "hi", "lo" - ); - } -} -#endif // 0 - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPRescalerDspInitMIPS32(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPRescalerDspInitMIPS32(void) { - WebPRescalerImportRowExpand = ImportRowExpand_MIPS32; - WebPRescalerImportRowShrink = ImportRowShrink_MIPS32; - WebPRescalerExportRowExpand = ExportRowExpand_MIPS32; -// WebPRescalerExportRowShrink = ExportRowShrink_MIPS32; -} - -#else // !WEBP_USE_MIPS32 - -WEBP_DSP_INIT_STUB(WebPRescalerDspInitMIPS32) - -#endif // WEBP_USE_MIPS32 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_mips_dsp_r2.c deleted file mode 100644 index 419b741f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_mips_dsp_r2.c +++ /dev/null @@ -1,314 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MIPS version of rescaling functions -// -// Author(s): Djordje Pesut (djordje.pesut@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) && !defined(WEBP_REDUCE_SIZE) - -#include -#include "src/utils/rescaler_utils.h" - -#define ROUNDER (WEBP_RESCALER_ONE >> 1) -#define MULT_FIX(x, y) (((uint64_t)(x) * (y) + ROUNDER) >> WEBP_RESCALER_RFIX) -#define MULT_FIX_FLOOR(x, y) (((uint64_t)(x) * (y)) >> WEBP_RESCALER_RFIX) - -//------------------------------------------------------------------------------ -// Row export - -#if 0 // disabled for now. TODO(skal): make match the C-code -static void ExportRowShrink_MIPSdspR2(WebPRescaler* const wrk) { - int i; - const int x_out_max = wrk->dst_width * wrk->num_channels; - uint8_t* dst = wrk->dst; - rescaler_t* irow = wrk->irow; - const rescaler_t* frow = wrk->frow; - const int yscale = wrk->fy_scale * (-wrk->y_accum); - int temp0, temp1, temp2, temp3, temp4, temp5, loop_end; - const int temp7 = (int)wrk->fxy_scale; - const int temp6 = (x_out_max & ~0x3) << 2; - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(!wrk->y_expand); - assert(wrk->fxy_scale != 0); - if (yscale) { - if (x_out_max >= 4) { - int temp8, temp9, temp10, temp11; - __asm__ volatile ( - "li %[temp3], 0x10000 \n\t" - "li %[temp4], 0x8000 \n\t" - "addu %[loop_end], %[frow], %[temp6] \n\t" - "1: \n\t" - "lw %[temp0], 0(%[frow]) \n\t" - "lw %[temp1], 4(%[frow]) \n\t" - "lw %[temp2], 8(%[frow]) \n\t" - "lw %[temp5], 12(%[frow]) \n\t" - "mult $ac0, %[temp3], %[temp4] \n\t" - "maddu $ac0, %[temp0], %[yscale] \n\t" - "mult $ac1, %[temp3], %[temp4] \n\t" - "maddu $ac1, %[temp1], %[yscale] \n\t" - "mult $ac2, %[temp3], %[temp4] \n\t" - "maddu $ac2, %[temp2], %[yscale] \n\t" - "mult $ac3, %[temp3], %[temp4] \n\t" - "maddu $ac3, %[temp5], %[yscale] \n\t" - "addiu %[frow], %[frow], 16 \n\t" - "mfhi %[temp0], $ac0 \n\t" - "mfhi %[temp1], $ac1 \n\t" - "mfhi %[temp2], $ac2 \n\t" - "mfhi %[temp5], $ac3 \n\t" - "lw %[temp8], 0(%[irow]) \n\t" - "lw %[temp9], 4(%[irow]) \n\t" - "lw %[temp10], 8(%[irow]) \n\t" - "lw %[temp11], 12(%[irow]) \n\t" - "addiu %[dst], %[dst], 4 \n\t" - "addiu %[irow], %[irow], 16 \n\t" - "subu %[temp8], %[temp8], %[temp0] \n\t" - "subu %[temp9], %[temp9], %[temp1] \n\t" - "subu %[temp10], %[temp10], %[temp2] \n\t" - "subu %[temp11], %[temp11], %[temp5] \n\t" - "mult $ac0, %[temp3], %[temp4] \n\t" - "maddu $ac0, %[temp8], %[temp7] \n\t" - "mult $ac1, %[temp3], %[temp4] \n\t" - "maddu $ac1, %[temp9], %[temp7] \n\t" - "mult $ac2, %[temp3], %[temp4] \n\t" - "maddu $ac2, %[temp10], %[temp7] \n\t" - "mult $ac3, %[temp3], %[temp4] \n\t" - "maddu $ac3, %[temp11], %[temp7] \n\t" - "mfhi %[temp8], $ac0 \n\t" - "mfhi %[temp9], $ac1 \n\t" - "mfhi %[temp10], $ac2 \n\t" - "mfhi %[temp11], $ac3 \n\t" - "sw %[temp0], -16(%[irow]) \n\t" - "sw %[temp1], -12(%[irow]) \n\t" - "sw %[temp2], -8(%[irow]) \n\t" - "sw %[temp5], -4(%[irow]) \n\t" - "sb %[temp8], -4(%[dst]) \n\t" - "sb %[temp9], -3(%[dst]) \n\t" - "sb %[temp10], -2(%[dst]) \n\t" - "sb %[temp11], -1(%[dst]) \n\t" - "bne %[frow], %[loop_end], 1b \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [frow]"+r"(frow), - [irow]"+r"(irow), [dst]"+r"(dst), [loop_end]"=&r"(loop_end), - [temp8]"=&r"(temp8), [temp9]"=&r"(temp9), [temp10]"=&r"(temp10), - [temp11]"=&r"(temp11), [temp2]"=&r"(temp2) - : [temp7]"r"(temp7), [yscale]"r"(yscale), [temp6]"r"(temp6) - : "memory", "hi", "lo", "$ac1hi", "$ac1lo", - "$ac2hi", "$ac2lo", "$ac3hi", "$ac3lo" - ); - } - for (i = 0; i < (x_out_max & 0x3); ++i) { - const uint32_t frac = (uint32_t)MULT_FIX_FLOOR(*frow++, yscale); - const int v = (int)MULT_FIX(*irow - frac, wrk->fxy_scale); - *dst++ = (v > 255) ? 255u : (uint8_t)v; - *irow++ = frac; // new fractional start - } - } else { - if (x_out_max >= 4) { - __asm__ volatile ( - "li %[temp3], 0x10000 \n\t" - "li %[temp4], 0x8000 \n\t" - "addu %[loop_end], %[irow], %[temp6] \n\t" - "1: \n\t" - "lw %[temp0], 0(%[irow]) \n\t" - "lw %[temp1], 4(%[irow]) \n\t" - "lw %[temp2], 8(%[irow]) \n\t" - "lw %[temp5], 12(%[irow]) \n\t" - "addiu %[dst], %[dst], 4 \n\t" - "addiu %[irow], %[irow], 16 \n\t" - "mult $ac0, %[temp3], %[temp4] \n\t" - "maddu $ac0, %[temp0], %[temp7] \n\t" - "mult $ac1, %[temp3], %[temp4] \n\t" - "maddu $ac1, %[temp1], %[temp7] \n\t" - "mult $ac2, %[temp3], %[temp4] \n\t" - "maddu $ac2, %[temp2], %[temp7] \n\t" - "mult $ac3, %[temp3], %[temp4] \n\t" - "maddu $ac3, %[temp5], %[temp7] \n\t" - "mfhi %[temp0], $ac0 \n\t" - "mfhi %[temp1], $ac1 \n\t" - "mfhi %[temp2], $ac2 \n\t" - "mfhi %[temp5], $ac3 \n\t" - "sw $zero, -16(%[irow]) \n\t" - "sw $zero, -12(%[irow]) \n\t" - "sw $zero, -8(%[irow]) \n\t" - "sw $zero, -4(%[irow]) \n\t" - "sb %[temp0], -4(%[dst]) \n\t" - "sb %[temp1], -3(%[dst]) \n\t" - "sb %[temp2], -2(%[dst]) \n\t" - "sb %[temp5], -1(%[dst]) \n\t" - "bne %[irow], %[loop_end], 1b \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [irow]"+r"(irow), - [dst]"+r"(dst), [loop_end]"=&r"(loop_end), [temp2]"=&r"(temp2) - : [temp7]"r"(temp7), [temp6]"r"(temp6) - : "memory", "hi", "lo", "$ac1hi", "$ac1lo", - "$ac2hi", "$ac2lo", "$ac3hi", "$ac3lo" - ); - } - for (i = 0; i < (x_out_max & 0x3); ++i) { - const int v = (int)MULT_FIX_FLOOR(*irow, wrk->fxy_scale); - *dst++ = (v > 255) ? 255u : (uint8_t)v; - *irow++ = 0; - } - } -} -#endif // 0 - -static void ExportRowExpand_MIPSdspR2(WebPRescaler* const wrk) { - int i; - uint8_t* dst = wrk->dst; - rescaler_t* irow = wrk->irow; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const rescaler_t* frow = wrk->frow; - int temp0, temp1, temp2, temp3, temp4, temp5, loop_end; - const int temp6 = (x_out_max & ~0x3) << 2; - const int temp7 = (int)wrk->fy_scale; - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(wrk->y_expand); - assert(wrk->y_sub != 0); - if (wrk->y_accum == 0) { - if (x_out_max >= 4) { - __asm__ volatile ( - "li %[temp4], 0x10000 \n\t" - "li %[temp5], 0x8000 \n\t" - "addu %[loop_end], %[frow], %[temp6] \n\t" - "1: \n\t" - "lw %[temp0], 0(%[frow]) \n\t" - "lw %[temp1], 4(%[frow]) \n\t" - "lw %[temp2], 8(%[frow]) \n\t" - "lw %[temp3], 12(%[frow]) \n\t" - "addiu %[dst], %[dst], 4 \n\t" - "addiu %[frow], %[frow], 16 \n\t" - "mult $ac0, %[temp4], %[temp5] \n\t" - "maddu $ac0, %[temp0], %[temp7] \n\t" - "mult $ac1, %[temp4], %[temp5] \n\t" - "maddu $ac1, %[temp1], %[temp7] \n\t" - "mult $ac2, %[temp4], %[temp5] \n\t" - "maddu $ac2, %[temp2], %[temp7] \n\t" - "mult $ac3, %[temp4], %[temp5] \n\t" - "maddu $ac3, %[temp3], %[temp7] \n\t" - "mfhi %[temp0], $ac0 \n\t" - "mfhi %[temp1], $ac1 \n\t" - "mfhi %[temp2], $ac2 \n\t" - "mfhi %[temp3], $ac3 \n\t" - "sb %[temp0], -4(%[dst]) \n\t" - "sb %[temp1], -3(%[dst]) \n\t" - "sb %[temp2], -2(%[dst]) \n\t" - "sb %[temp3], -1(%[dst]) \n\t" - "bne %[frow], %[loop_end], 1b \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [frow]"+r"(frow), - [dst]"+r"(dst), [loop_end]"=&r"(loop_end), [temp2]"=&r"(temp2) - : [temp7]"r"(temp7), [temp6]"r"(temp6) - : "memory", "hi", "lo", "$ac1hi", "$ac1lo", - "$ac2hi", "$ac2lo", "$ac3hi", "$ac3lo" - ); - } - for (i = 0; i < (x_out_max & 0x3); ++i) { - const uint32_t J = *frow++; - const int v = (int)MULT_FIX(J, wrk->fy_scale); - *dst++ = (v > 255) ? 255u : (uint8_t)v; - } - } else { - const uint32_t B = WEBP_RESCALER_FRAC(-wrk->y_accum, wrk->y_sub); - const uint32_t A = (uint32_t)(WEBP_RESCALER_ONE - B); - if (x_out_max >= 4) { - int temp8, temp9, temp10, temp11; - __asm__ volatile ( - "li %[temp8], 0x10000 \n\t" - "li %[temp9], 0x8000 \n\t" - "addu %[loop_end], %[frow], %[temp6] \n\t" - "1: \n\t" - "lw %[temp0], 0(%[frow]) \n\t" - "lw %[temp1], 4(%[frow]) \n\t" - "lw %[temp2], 8(%[frow]) \n\t" - "lw %[temp3], 12(%[frow]) \n\t" - "lw %[temp4], 0(%[irow]) \n\t" - "lw %[temp5], 4(%[irow]) \n\t" - "lw %[temp10], 8(%[irow]) \n\t" - "lw %[temp11], 12(%[irow]) \n\t" - "addiu %[dst], %[dst], 4 \n\t" - "mult $ac0, %[temp8], %[temp9] \n\t" - "maddu $ac0, %[A], %[temp0] \n\t" - "maddu $ac0, %[B], %[temp4] \n\t" - "mult $ac1, %[temp8], %[temp9] \n\t" - "maddu $ac1, %[A], %[temp1] \n\t" - "maddu $ac1, %[B], %[temp5] \n\t" - "mult $ac2, %[temp8], %[temp9] \n\t" - "maddu $ac2, %[A], %[temp2] \n\t" - "maddu $ac2, %[B], %[temp10] \n\t" - "mult $ac3, %[temp8], %[temp9] \n\t" - "maddu $ac3, %[A], %[temp3] \n\t" - "maddu $ac3, %[B], %[temp11] \n\t" - "addiu %[frow], %[frow], 16 \n\t" - "addiu %[irow], %[irow], 16 \n\t" - "mfhi %[temp0], $ac0 \n\t" - "mfhi %[temp1], $ac1 \n\t" - "mfhi %[temp2], $ac2 \n\t" - "mfhi %[temp3], $ac3 \n\t" - "mult $ac0, %[temp8], %[temp9] \n\t" - "maddu $ac0, %[temp0], %[temp7] \n\t" - "mult $ac1, %[temp8], %[temp9] \n\t" - "maddu $ac1, %[temp1], %[temp7] \n\t" - "mult $ac2, %[temp8], %[temp9] \n\t" - "maddu $ac2, %[temp2], %[temp7] \n\t" - "mult $ac3, %[temp8], %[temp9] \n\t" - "maddu $ac3, %[temp3], %[temp7] \n\t" - "mfhi %[temp0], $ac0 \n\t" - "mfhi %[temp1], $ac1 \n\t" - "mfhi %[temp2], $ac2 \n\t" - "mfhi %[temp3], $ac3 \n\t" - "sb %[temp0], -4(%[dst]) \n\t" - "sb %[temp1], -3(%[dst]) \n\t" - "sb %[temp2], -2(%[dst]) \n\t" - "sb %[temp3], -1(%[dst]) \n\t" - "bne %[frow], %[loop_end], 1b \n\t" - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp3]"=&r"(temp3), - [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), [frow]"+r"(frow), - [irow]"+r"(irow), [dst]"+r"(dst), [loop_end]"=&r"(loop_end), - [temp8]"=&r"(temp8), [temp9]"=&r"(temp9), [temp10]"=&r"(temp10), - [temp11]"=&r"(temp11), [temp2]"=&r"(temp2) - : [temp7]"r"(temp7), [temp6]"r"(temp6), [A]"r"(A), [B]"r"(B) - : "memory", "hi", "lo", "$ac1hi", "$ac1lo", - "$ac2hi", "$ac2lo", "$ac3hi", "$ac3lo" - ); - } - for (i = 0; i < (x_out_max & 0x3); ++i) { - const uint64_t I = (uint64_t)A * *frow++ - + (uint64_t)B * *irow++; - const uint32_t J = (uint32_t)((I + ROUNDER) >> WEBP_RESCALER_RFIX); - const int v = (int)MULT_FIX(J, wrk->fy_scale); - *dst++ = (v > 255) ? 255u : (uint8_t)v; - } - } -} - -#undef MULT_FIX_FLOOR -#undef MULT_FIX -#undef ROUNDER - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPRescalerDspInitMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPRescalerDspInitMIPSdspR2(void) { - WebPRescalerExportRowExpand = ExportRowExpand_MIPSdspR2; -// WebPRescalerExportRowShrink = ExportRowShrink_MIPSdspR2; -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(WebPRescalerDspInitMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_msa.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_msa.c deleted file mode 100644 index 256dbdd4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_msa.c +++ /dev/null @@ -1,443 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MSA version of rescaling functions -// -// Author: Prashant Patil (prashant.patil@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MSA) && !defined(WEBP_REDUCE_SIZE) - -#include - -#include "src/utils/rescaler_utils.h" -#include "src/dsp/msa_macro.h" - -#define ROUNDER (WEBP_RESCALER_ONE >> 1) -#define MULT_FIX(x, y) (((uint64_t)(x) * (y) + ROUNDER) >> WEBP_RESCALER_RFIX) -#define MULT_FIX_FLOOR(x, y) (((uint64_t)(x) * (y)) >> WEBP_RESCALER_RFIX) - -#define CALC_MULT_FIX_16(in0, in1, in2, in3, scale, shift, dst) do { \ - v4u32 tmp0, tmp1, tmp2, tmp3; \ - v16u8 t0, t1, t2, t3, t4, t5; \ - v2u64 out0, out1, out2, out3; \ - ILVRL_W2_UW(zero, in0, tmp0, tmp1); \ - ILVRL_W2_UW(zero, in1, tmp2, tmp3); \ - DOTP_UW2_UD(tmp0, tmp1, scale, scale, out0, out1); \ - DOTP_UW2_UD(tmp2, tmp3, scale, scale, out2, out3); \ - SRAR_D4_UD(out0, out1, out2, out3, shift); \ - PCKEV_B2_UB(out1, out0, out3, out2, t0, t1); \ - ILVRL_W2_UW(zero, in2, tmp0, tmp1); \ - ILVRL_W2_UW(zero, in3, tmp2, tmp3); \ - DOTP_UW2_UD(tmp0, tmp1, scale, scale, out0, out1); \ - DOTP_UW2_UD(tmp2, tmp3, scale, scale, out2, out3); \ - SRAR_D4_UD(out0, out1, out2, out3, shift); \ - PCKEV_B2_UB(out1, out0, out3, out2, t2, t3); \ - PCKEV_B2_UB(t1, t0, t3, t2, t4, t5); \ - dst = (v16u8)__msa_pckev_b((v16i8)t5, (v16i8)t4); \ -} while (0) - -#define CALC_MULT_FIX_4(in0, scale, shift, dst) do { \ - v4u32 tmp0, tmp1; \ - v16i8 t0, t1; \ - v2u64 out0, out1; \ - ILVRL_W2_UW(zero, in0, tmp0, tmp1); \ - DOTP_UW2_UD(tmp0, tmp1, scale, scale, out0, out1); \ - SRAR_D2_UD(out0, out1, shift); \ - t0 = __msa_pckev_b((v16i8)out1, (v16i8)out0); \ - t1 = __msa_pckev_b(t0, t0); \ - t0 = __msa_pckev_b(t1, t1); \ - dst = __msa_copy_s_w((v4i32)t0, 0); \ -} while (0) - -#define CALC_MULT_FIX1_16(in0, in1, in2, in3, fyscale, shift, \ - dst0, dst1, dst2, dst3) do { \ - v4u32 tmp0, tmp1, tmp2, tmp3; \ - v2u64 out0, out1, out2, out3; \ - ILVRL_W2_UW(zero, in0, tmp0, tmp1); \ - ILVRL_W2_UW(zero, in1, tmp2, tmp3); \ - DOTP_UW2_UD(tmp0, tmp1, fyscale, fyscale, out0, out1); \ - DOTP_UW2_UD(tmp2, tmp3, fyscale, fyscale, out2, out3); \ - SRAR_D4_UD(out0, out1, out2, out3, shift); \ - PCKEV_W2_UW(out1, out0, out3, out2, dst0, dst1); \ - ILVRL_W2_UW(zero, in2, tmp0, tmp1); \ - ILVRL_W2_UW(zero, in3, tmp2, tmp3); \ - DOTP_UW2_UD(tmp0, tmp1, fyscale, fyscale, out0, out1); \ - DOTP_UW2_UD(tmp2, tmp3, fyscale, fyscale, out2, out3); \ - SRAR_D4_UD(out0, out1, out2, out3, shift); \ - PCKEV_W2_UW(out1, out0, out3, out2, dst2, dst3); \ -} while (0) - -#define CALC_MULT_FIX1_4(in0, scale, shift, dst) do { \ - v4u32 tmp0, tmp1; \ - v2u64 out0, out1; \ - ILVRL_W2_UW(zero, in0, tmp0, tmp1); \ - DOTP_UW2_UD(tmp0, tmp1, scale, scale, out0, out1); \ - SRAR_D2_UD(out0, out1, shift); \ - dst = (v4u32)__msa_pckev_w((v4i32)out1, (v4i32)out0); \ -} while (0) - -#define CALC_MULT_FIX2_16(in0, in1, in2, in3, mult, scale, shift, \ - dst0, dst1) do { \ - v4u32 tmp0, tmp1, tmp2, tmp3; \ - v2u64 out0, out1, out2, out3; \ - ILVRL_W2_UW(in0, in2, tmp0, tmp1); \ - ILVRL_W2_UW(in1, in3, tmp2, tmp3); \ - DOTP_UW2_UD(tmp0, tmp1, mult, mult, out0, out1); \ - DOTP_UW2_UD(tmp2, tmp3, mult, mult, out2, out3); \ - SRAR_D4_UD(out0, out1, out2, out3, shift); \ - DOTP_UW2_UD(out0, out1, scale, scale, out0, out1); \ - DOTP_UW2_UD(out2, out3, scale, scale, out2, out3); \ - SRAR_D4_UD(out0, out1, out2, out3, shift); \ - PCKEV_B2_UB(out1, out0, out3, out2, dst0, dst1); \ -} while (0) - -#define CALC_MULT_FIX2_4(in0, in1, mult, scale, shift, dst) do { \ - v4u32 tmp0, tmp1; \ - v2u64 out0, out1; \ - v16i8 t0, t1; \ - ILVRL_W2_UW(in0, in1, tmp0, tmp1); \ - DOTP_UW2_UD(tmp0, tmp1, mult, mult, out0, out1); \ - SRAR_D2_UD(out0, out1, shift); \ - DOTP_UW2_UD(out0, out1, scale, scale, out0, out1); \ - SRAR_D2_UD(out0, out1, shift); \ - t0 = __msa_pckev_b((v16i8)out1, (v16i8)out0); \ - t1 = __msa_pckev_b(t0, t0); \ - t0 = __msa_pckev_b(t1, t1); \ - dst = __msa_copy_s_w((v4i32)t0, 0); \ -} while (0) - -static WEBP_INLINE void ExportRowExpand_0(const uint32_t* frow, uint8_t* dst, - int length, - WebPRescaler* const wrk) { - const v4u32 scale = (v4u32)__msa_fill_w(wrk->fy_scale); - const v4u32 shift = (v4u32)__msa_fill_w(WEBP_RESCALER_RFIX); - const v4i32 zero = { 0 }; - - while (length >= 16) { - v4u32 src0, src1, src2, src3; - v16u8 out; - LD_UW4(frow, 4, src0, src1, src2, src3); - CALC_MULT_FIX_16(src0, src1, src2, src3, scale, shift, out); - ST_UB(out, dst); - length -= 16; - frow += 16; - dst += 16; - } - if (length > 0) { - int x_out; - if (length >= 12) { - uint32_t val0_m, val1_m, val2_m; - v4u32 src0, src1, src2; - LD_UW3(frow, 4, src0, src1, src2); - CALC_MULT_FIX_4(src0, scale, shift, val0_m); - CALC_MULT_FIX_4(src1, scale, shift, val1_m); - CALC_MULT_FIX_4(src2, scale, shift, val2_m); - SW3(val0_m, val1_m, val2_m, dst, 4); - length -= 12; - frow += 12; - dst += 12; - } else if (length >= 8) { - uint32_t val0_m, val1_m; - v4u32 src0, src1; - LD_UW2(frow, 4, src0, src1); - CALC_MULT_FIX_4(src0, scale, shift, val0_m); - CALC_MULT_FIX_4(src1, scale, shift, val1_m); - SW2(val0_m, val1_m, dst, 4); - length -= 8; - frow += 8; - dst += 8; - } else if (length >= 4) { - uint32_t val0_m; - const v4u32 src0 = LD_UW(frow); - CALC_MULT_FIX_4(src0, scale, shift, val0_m); - SW(val0_m, dst); - length -= 4; - frow += 4; - dst += 4; - } - for (x_out = 0; x_out < length; ++x_out) { - const uint32_t J = frow[x_out]; - const int v = (int)MULT_FIX(J, wrk->fy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - } - } -} - -static WEBP_INLINE void ExportRowExpand_1(const uint32_t* frow, uint32_t* irow, - uint8_t* dst, int length, - WebPRescaler* const wrk) { - const uint32_t B = WEBP_RESCALER_FRAC(-wrk->y_accum, wrk->y_sub); - const uint32_t A = (uint32_t)(WEBP_RESCALER_ONE - B); - const v4i32 B1 = __msa_fill_w(B); - const v4i32 A1 = __msa_fill_w(A); - const v4i32 AB = __msa_ilvr_w(A1, B1); - const v4u32 scale = (v4u32)__msa_fill_w(wrk->fy_scale); - const v4u32 shift = (v4u32)__msa_fill_w(WEBP_RESCALER_RFIX); - - while (length >= 16) { - v4u32 frow0, frow1, frow2, frow3, irow0, irow1, irow2, irow3; - v16u8 t0, t1, t2, t3, t4, t5; - LD_UW4(frow, 4, frow0, frow1, frow2, frow3); - LD_UW4(irow, 4, irow0, irow1, irow2, irow3); - CALC_MULT_FIX2_16(frow0, frow1, irow0, irow1, AB, scale, shift, t0, t1); - CALC_MULT_FIX2_16(frow2, frow3, irow2, irow3, AB, scale, shift, t2, t3); - PCKEV_B2_UB(t1, t0, t3, t2, t4, t5); - t0 = (v16u8)__msa_pckev_b((v16i8)t5, (v16i8)t4); - ST_UB(t0, dst); - frow += 16; - irow += 16; - dst += 16; - length -= 16; - } - if (length > 0) { - int x_out; - if (length >= 12) { - uint32_t val0_m, val1_m, val2_m; - v4u32 frow0, frow1, frow2, irow0, irow1, irow2; - LD_UW3(frow, 4, frow0, frow1, frow2); - LD_UW3(irow, 4, irow0, irow1, irow2); - CALC_MULT_FIX2_4(frow0, irow0, AB, scale, shift, val0_m); - CALC_MULT_FIX2_4(frow1, irow1, AB, scale, shift, val1_m); - CALC_MULT_FIX2_4(frow2, irow2, AB, scale, shift, val2_m); - SW3(val0_m, val1_m, val2_m, dst, 4); - frow += 12; - irow += 12; - dst += 12; - length -= 12; - } else if (length >= 8) { - uint32_t val0_m, val1_m; - v4u32 frow0, frow1, irow0, irow1; - LD_UW2(frow, 4, frow0, frow1); - LD_UW2(irow, 4, irow0, irow1); - CALC_MULT_FIX2_4(frow0, irow0, AB, scale, shift, val0_m); - CALC_MULT_FIX2_4(frow1, irow1, AB, scale, shift, val1_m); - SW2(val0_m, val1_m, dst, 4); - frow += 4; - irow += 4; - dst += 4; - length -= 4; - } else if (length >= 4) { - uint32_t val0_m; - const v4u32 frow0 = LD_UW(frow + 0); - const v4u32 irow0 = LD_UW(irow + 0); - CALC_MULT_FIX2_4(frow0, irow0, AB, scale, shift, val0_m); - SW(val0_m, dst); - frow += 4; - irow += 4; - dst += 4; - length -= 4; - } - for (x_out = 0; x_out < length; ++x_out) { - const uint64_t I = (uint64_t)A * frow[x_out] - + (uint64_t)B * irow[x_out]; - const uint32_t J = (uint32_t)((I + ROUNDER) >> WEBP_RESCALER_RFIX); - const int v = (int)MULT_FIX(J, wrk->fy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - } - } -} - -static void RescalerExportRowExpand_MIPSdspR2(WebPRescaler* const wrk) { - uint8_t* dst = wrk->dst; - rescaler_t* irow = wrk->irow; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const rescaler_t* frow = wrk->frow; - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(wrk->y_expand); - assert(wrk->y_sub != 0); - if (wrk->y_accum == 0) { - ExportRowExpand_0(frow, dst, x_out_max, wrk); - } else { - ExportRowExpand_1(frow, irow, dst, x_out_max, wrk); - } -} - -#if 0 // disabled for now. TODO(skal): make match the C-code -static WEBP_INLINE void ExportRowShrink_0(const uint32_t* frow, uint32_t* irow, - uint8_t* dst, int length, - const uint32_t yscale, - WebPRescaler* const wrk) { - const v4u32 y_scale = (v4u32)__msa_fill_w(yscale); - const v4u32 fxyscale = (v4u32)__msa_fill_w(wrk->fxy_scale); - const v4u32 shiftval = (v4u32)__msa_fill_w(WEBP_RESCALER_RFIX); - const v4i32 zero = { 0 }; - - while (length >= 16) { - v4u32 src0, src1, src2, src3, frac0, frac1, frac2, frac3; - v16u8 out; - LD_UW4(frow, 4, src0, src1, src2, src3); - CALC_MULT_FIX1_16(src0, src1, src2, src3, y_scale, shiftval, - frac0, frac1, frac2, frac3); - LD_UW4(irow, 4, src0, src1, src2, src3); - SUB4(src0, frac0, src1, frac1, src2, frac2, src3, frac3, - src0, src1, src2, src3); - CALC_MULT_FIX_16(src0, src1, src2, src3, fxyscale, shiftval, out); - ST_UB(out, dst); - ST_UW4(frac0, frac1, frac2, frac3, irow, 4); - frow += 16; - irow += 16; - dst += 16; - length -= 16; - } - if (length > 0) { - int x_out; - if (length >= 12) { - uint32_t val0_m, val1_m, val2_m; - v4u32 src0, src1, src2, frac0, frac1, frac2; - LD_UW3(frow, 4, src0, src1, src2); - CALC_MULT_FIX1_4(src0, y_scale, shiftval, frac0); - CALC_MULT_FIX1_4(src1, y_scale, shiftval, frac1); - CALC_MULT_FIX1_4(src2, y_scale, shiftval, frac2); - LD_UW3(irow, 4, src0, src1, src2); - SUB3(src0, frac0, src1, frac1, src2, frac2, src0, src1, src2); - CALC_MULT_FIX_4(src0, fxyscale, shiftval, val0_m); - CALC_MULT_FIX_4(src1, fxyscale, shiftval, val1_m); - CALC_MULT_FIX_4(src2, fxyscale, shiftval, val2_m); - SW3(val0_m, val1_m, val2_m, dst, 4); - ST_UW3(frac0, frac1, frac2, irow, 4); - frow += 12; - irow += 12; - dst += 12; - length -= 12; - } else if (length >= 8) { - uint32_t val0_m, val1_m; - v4u32 src0, src1, frac0, frac1; - LD_UW2(frow, 4, src0, src1); - CALC_MULT_FIX1_4(src0, y_scale, shiftval, frac0); - CALC_MULT_FIX1_4(src1, y_scale, shiftval, frac1); - LD_UW2(irow, 4, src0, src1); - SUB2(src0, frac0, src1, frac1, src0, src1); - CALC_MULT_FIX_4(src0, fxyscale, shiftval, val0_m); - CALC_MULT_FIX_4(src1, fxyscale, shiftval, val1_m); - SW2(val0_m, val1_m, dst, 4); - ST_UW2(frac0, frac1, irow, 4); - frow += 8; - irow += 8; - dst += 8; - length -= 8; - } else if (length >= 4) { - uint32_t val0_m; - v4u32 frac0; - v4u32 src0 = LD_UW(frow); - CALC_MULT_FIX1_4(src0, y_scale, shiftval, frac0); - src0 = LD_UW(irow); - src0 = src0 - frac0; - CALC_MULT_FIX_4(src0, fxyscale, shiftval, val0_m); - SW(val0_m, dst); - ST_UW(frac0, irow); - frow += 4; - irow += 4; - dst += 4; - length -= 4; - } - for (x_out = 0; x_out < length; ++x_out) { - const uint32_t frac = (uint32_t)MULT_FIX_FLOOR(frow[x_out], yscale); - const int v = (int)MULT_FIX(irow[x_out] - frac, wrk->fxy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - irow[x_out] = frac; - } - } -} - -static WEBP_INLINE void ExportRowShrink_1(uint32_t* irow, uint8_t* dst, - int length, - WebPRescaler* const wrk) { - const v4u32 scale = (v4u32)__msa_fill_w(wrk->fxy_scale); - const v4u32 shift = (v4u32)__msa_fill_w(WEBP_RESCALER_RFIX); - const v4i32 zero = { 0 }; - - while (length >= 16) { - v4u32 src0, src1, src2, src3; - v16u8 dst0; - LD_UW4(irow, 4, src0, src1, src2, src3); - CALC_MULT_FIX_16(src0, src1, src2, src3, scale, shift, dst0); - ST_UB(dst0, dst); - ST_SW4(zero, zero, zero, zero, irow, 4); - length -= 16; - irow += 16; - dst += 16; - } - if (length > 0) { - int x_out; - if (length >= 12) { - uint32_t val0_m, val1_m, val2_m; - v4u32 src0, src1, src2; - LD_UW3(irow, 4, src0, src1, src2); - CALC_MULT_FIX_4(src0, scale, shift, val0_m); - CALC_MULT_FIX_4(src1, scale, shift, val1_m); - CALC_MULT_FIX_4(src2, scale, shift, val2_m); - SW3(val0_m, val1_m, val2_m, dst, 4); - ST_SW3(zero, zero, zero, irow, 4); - length -= 12; - irow += 12; - dst += 12; - } else if (length >= 8) { - uint32_t val0_m, val1_m; - v4u32 src0, src1; - LD_UW2(irow, 4, src0, src1); - CALC_MULT_FIX_4(src0, scale, shift, val0_m); - CALC_MULT_FIX_4(src1, scale, shift, val1_m); - SW2(val0_m, val1_m, dst, 4); - ST_SW2(zero, zero, irow, 4); - length -= 8; - irow += 8; - dst += 8; - } else if (length >= 4) { - uint32_t val0_m; - const v4u32 src0 = LD_UW(irow + 0); - CALC_MULT_FIX_4(src0, scale, shift, val0_m); - SW(val0_m, dst); - ST_SW(zero, irow); - length -= 4; - irow += 4; - dst += 4; - } - for (x_out = 0; x_out < length; ++x_out) { - const int v = (int)MULT_FIX(irow[x_out], wrk->fxy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - irow[x_out] = 0; - } - } -} - -static void RescalerExportRowShrink_MIPSdspR2(WebPRescaler* const wrk) { - uint8_t* dst = wrk->dst; - rescaler_t* irow = wrk->irow; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const rescaler_t* frow = wrk->frow; - const uint32_t yscale = wrk->fy_scale * (-wrk->y_accum); - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(!wrk->y_expand); - if (yscale) { - ExportRowShrink_0(frow, irow, dst, x_out_max, yscale, wrk); - } else { - ExportRowShrink_1(irow, dst, x_out_max, wrk); - } -} -#endif // 0 - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPRescalerDspInitMSA(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPRescalerDspInitMSA(void) { - WebPRescalerExportRowExpand = RescalerExportRowExpand_MIPSdspR2; -// WebPRescalerExportRowShrink = RescalerExportRowShrink_MIPSdspR2; -} - -#else // !WEBP_USE_MSA - -WEBP_DSP_INIT_STUB(WebPRescalerDspInitMSA) - -#endif // WEBP_USE_MSA diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_neon.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_neon.c deleted file mode 100644 index b976a852..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_neon.c +++ /dev/null @@ -1,192 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// NEON version of rescaling functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_NEON) && !defined(WEBP_REDUCE_SIZE) - -#include -#include -#include "src/dsp/neon.h" -#include "src/utils/rescaler_utils.h" - -#define ROUNDER (WEBP_RESCALER_ONE >> 1) -#define MULT_FIX_C(x, y) (((uint64_t)(x) * (y) + ROUNDER) >> WEBP_RESCALER_RFIX) -#define MULT_FIX_FLOOR_C(x, y) (((uint64_t)(x) * (y)) >> WEBP_RESCALER_RFIX) - -#define LOAD_32x4(SRC, DST) const uint32x4_t DST = vld1q_u32((SRC)) -#define LOAD_32x8(SRC, DST0, DST1) \ - LOAD_32x4(SRC + 0, DST0); \ - LOAD_32x4(SRC + 4, DST1) - -#define STORE_32x8(SRC0, SRC1, DST) do { \ - vst1q_u32((DST) + 0, SRC0); \ - vst1q_u32((DST) + 4, SRC1); \ -} while (0); - -#if (WEBP_RESCALER_RFIX == 32) -#define MAKE_HALF_CST(C) vdupq_n_s32((int32_t)((C) >> 1)) -// note: B is actualy scale>>1. See MAKE_HALF_CST -#define MULT_FIX(A, B) \ - vreinterpretq_u32_s32(vqrdmulhq_s32(vreinterpretq_s32_u32((A)), (B))) -#define MULT_FIX_FLOOR(A, B) \ - vreinterpretq_u32_s32(vqdmulhq_s32(vreinterpretq_s32_u32((A)), (B))) -#else -#error "MULT_FIX/WEBP_RESCALER_RFIX need some more work" -#endif - -static uint32x4_t Interpolate_NEON(const rescaler_t* const frow, - const rescaler_t* const irow, - uint32_t A, uint32_t B) { - LOAD_32x4(frow, A0); - LOAD_32x4(irow, B0); - const uint64x2_t C0 = vmull_n_u32(vget_low_u32(A0), A); - const uint64x2_t C1 = vmull_n_u32(vget_high_u32(A0), A); - const uint64x2_t D0 = vmlal_n_u32(C0, vget_low_u32(B0), B); - const uint64x2_t D1 = vmlal_n_u32(C1, vget_high_u32(B0), B); - const uint32x4_t E = vcombine_u32( - vrshrn_n_u64(D0, WEBP_RESCALER_RFIX), - vrshrn_n_u64(D1, WEBP_RESCALER_RFIX)); - return E; -} - -static void RescalerExportRowExpand_NEON(WebPRescaler* const wrk) { - int x_out; - uint8_t* const dst = wrk->dst; - rescaler_t* const irow = wrk->irow; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const int max_span = x_out_max & ~7; - const rescaler_t* const frow = wrk->frow; - const uint32_t fy_scale = wrk->fy_scale; - const int32x4_t fy_scale_half = MAKE_HALF_CST(fy_scale); - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(wrk->y_expand); - assert(wrk->y_sub != 0); - if (wrk->y_accum == 0) { - for (x_out = 0; x_out < max_span; x_out += 8) { - LOAD_32x4(frow + x_out + 0, A0); - LOAD_32x4(frow + x_out + 4, A1); - const uint32x4_t B0 = MULT_FIX(A0, fy_scale_half); - const uint32x4_t B1 = MULT_FIX(A1, fy_scale_half); - const uint16x4_t C0 = vmovn_u32(B0); - const uint16x4_t C1 = vmovn_u32(B1); - const uint8x8_t D = vqmovn_u16(vcombine_u16(C0, C1)); - vst1_u8(dst + x_out, D); - } - for (; x_out < x_out_max; ++x_out) { - const uint32_t J = frow[x_out]; - const int v = (int)MULT_FIX_C(J, fy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - } - } else { - const uint32_t B = WEBP_RESCALER_FRAC(-wrk->y_accum, wrk->y_sub); - const uint32_t A = (uint32_t)(WEBP_RESCALER_ONE - B); - for (x_out = 0; x_out < max_span; x_out += 8) { - const uint32x4_t C0 = - Interpolate_NEON(frow + x_out + 0, irow + x_out + 0, A, B); - const uint32x4_t C1 = - Interpolate_NEON(frow + x_out + 4, irow + x_out + 4, A, B); - const uint32x4_t D0 = MULT_FIX(C0, fy_scale_half); - const uint32x4_t D1 = MULT_FIX(C1, fy_scale_half); - const uint16x4_t E0 = vmovn_u32(D0); - const uint16x4_t E1 = vmovn_u32(D1); - const uint8x8_t F = vqmovn_u16(vcombine_u16(E0, E1)); - vst1_u8(dst + x_out, F); - } - for (; x_out < x_out_max; ++x_out) { - const uint64_t I = (uint64_t)A * frow[x_out] - + (uint64_t)B * irow[x_out]; - const uint32_t J = (uint32_t)((I + ROUNDER) >> WEBP_RESCALER_RFIX); - const int v = (int)MULT_FIX_C(J, fy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - } - } -} - -static void RescalerExportRowShrink_NEON(WebPRescaler* const wrk) { - int x_out; - uint8_t* const dst = wrk->dst; - rescaler_t* const irow = wrk->irow; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const int max_span = x_out_max & ~7; - const rescaler_t* const frow = wrk->frow; - const uint32_t yscale = wrk->fy_scale * (-wrk->y_accum); - const uint32_t fxy_scale = wrk->fxy_scale; - const uint32x4_t zero = vdupq_n_u32(0); - const int32x4_t yscale_half = MAKE_HALF_CST(yscale); - const int32x4_t fxy_scale_half = MAKE_HALF_CST(fxy_scale); - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(!wrk->y_expand); - if (yscale) { - for (x_out = 0; x_out < max_span; x_out += 8) { - LOAD_32x8(frow + x_out, in0, in1); - LOAD_32x8(irow + x_out, in2, in3); - const uint32x4_t A0 = MULT_FIX_FLOOR(in0, yscale_half); - const uint32x4_t A1 = MULT_FIX_FLOOR(in1, yscale_half); - const uint32x4_t B0 = vqsubq_u32(in2, A0); - const uint32x4_t B1 = vqsubq_u32(in3, A1); - const uint32x4_t C0 = MULT_FIX(B0, fxy_scale_half); - const uint32x4_t C1 = MULT_FIX(B1, fxy_scale_half); - const uint16x4_t D0 = vmovn_u32(C0); - const uint16x4_t D1 = vmovn_u32(C1); - const uint8x8_t E = vqmovn_u16(vcombine_u16(D0, D1)); - vst1_u8(dst + x_out, E); - STORE_32x8(A0, A1, irow + x_out); - } - for (; x_out < x_out_max; ++x_out) { - const uint32_t frac = (uint32_t)MULT_FIX_FLOOR_C(frow[x_out], yscale); - const int v = (int)MULT_FIX_C(irow[x_out] - frac, fxy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - irow[x_out] = frac; // new fractional start - } - } else { - for (x_out = 0; x_out < max_span; x_out += 8) { - LOAD_32x8(irow + x_out, in0, in1); - const uint32x4_t A0 = MULT_FIX(in0, fxy_scale_half); - const uint32x4_t A1 = MULT_FIX(in1, fxy_scale_half); - const uint16x4_t B0 = vmovn_u32(A0); - const uint16x4_t B1 = vmovn_u32(A1); - const uint8x8_t C = vqmovn_u16(vcombine_u16(B0, B1)); - vst1_u8(dst + x_out, C); - STORE_32x8(zero, zero, irow + x_out); - } - for (; x_out < x_out_max; ++x_out) { - const int v = (int)MULT_FIX_C(irow[x_out], fxy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - irow[x_out] = 0; - } - } -} - -#undef MULT_FIX_FLOOR_C -#undef MULT_FIX_C -#undef MULT_FIX_FLOOR -#undef MULT_FIX -#undef ROUNDER - -//------------------------------------------------------------------------------ - -extern void WebPRescalerDspInitNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPRescalerDspInitNEON(void) { - WebPRescalerExportRowExpand = RescalerExportRowExpand_NEON; - WebPRescalerExportRowShrink = RescalerExportRowShrink_NEON; -} - -#else // !WEBP_USE_NEON - -WEBP_DSP_INIT_STUB(WebPRescalerDspInitNEON) - -#endif // WEBP_USE_NEON diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_sse2.c deleted file mode 100644 index d7effea1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/rescaler_sse2.c +++ /dev/null @@ -1,366 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE2 Rescaling functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE2) && !defined(WEBP_REDUCE_SIZE) -#include - -#include -#include "src/utils/rescaler_utils.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// Implementations of critical functions ImportRow / ExportRow - -#define ROUNDER (WEBP_RESCALER_ONE >> 1) -#define MULT_FIX(x, y) (((uint64_t)(x) * (y) + ROUNDER) >> WEBP_RESCALER_RFIX) -#define MULT_FIX_FLOOR(x, y) (((uint64_t)(x) * (y)) >> WEBP_RESCALER_RFIX) - -// input: 8 bytes ABCDEFGH -> output: A0E0B0F0C0G0D0H0 -static void LoadTwoPixels_SSE2(const uint8_t* const src, __m128i* out) { - const __m128i zero = _mm_setzero_si128(); - const __m128i A = _mm_loadl_epi64((const __m128i*)(src)); // ABCDEFGH - const __m128i B = _mm_unpacklo_epi8(A, zero); // A0B0C0D0E0F0G0H0 - const __m128i C = _mm_srli_si128(B, 8); // E0F0G0H0 - *out = _mm_unpacklo_epi16(B, C); -} - -// input: 8 bytes ABCDEFGH -> output: A0B0C0D0E0F0G0H0 -static void LoadEightPixels_SSE2(const uint8_t* const src, __m128i* out) { - const __m128i zero = _mm_setzero_si128(); - const __m128i A = _mm_loadl_epi64((const __m128i*)(src)); // ABCDEFGH - *out = _mm_unpacklo_epi8(A, zero); -} - -static void RescalerImportRowExpand_SSE2(WebPRescaler* const wrk, - const uint8_t* src) { - rescaler_t* frow = wrk->frow; - const rescaler_t* const frow_end = frow + wrk->dst_width * wrk->num_channels; - const int x_add = wrk->x_add; - int accum = x_add; - __m128i cur_pixels; - - // SSE2 implementation only works with 16b signed arithmetic at max. - if (wrk->src_width < 8 || accum >= (1 << 15)) { - WebPRescalerImportRowExpand_C(wrk, src); - return; - } - - assert(!WebPRescalerInputDone(wrk)); - assert(wrk->x_expand); - if (wrk->num_channels == 4) { - LoadTwoPixels_SSE2(src, &cur_pixels); - src += 4; - while (1) { - const __m128i mult = _mm_set1_epi32(((x_add - accum) << 16) | accum); - const __m128i out = _mm_madd_epi16(cur_pixels, mult); - _mm_storeu_si128((__m128i*)frow, out); - frow += 4; - if (frow >= frow_end) break; - accum -= wrk->x_sub; - if (accum < 0) { - LoadTwoPixels_SSE2(src, &cur_pixels); - src += 4; - accum += x_add; - } - } - } else { - int left; - const uint8_t* const src_limit = src + wrk->src_width - 8; - LoadEightPixels_SSE2(src, &cur_pixels); - src += 7; - left = 7; - while (1) { - const __m128i mult = _mm_cvtsi32_si128(((x_add - accum) << 16) | accum); - const __m128i out = _mm_madd_epi16(cur_pixels, mult); - assert(sizeof(*frow) == sizeof(uint32_t)); - WebPUint32ToMem((uint8_t*)frow, _mm_cvtsi128_si32(out)); - frow += 1; - if (frow >= frow_end) break; - accum -= wrk->x_sub; - if (accum < 0) { - if (--left) { - cur_pixels = _mm_srli_si128(cur_pixels, 2); - } else if (src <= src_limit) { - LoadEightPixels_SSE2(src, &cur_pixels); - src += 7; - left = 7; - } else { // tail - cur_pixels = _mm_srli_si128(cur_pixels, 2); - cur_pixels = _mm_insert_epi16(cur_pixels, src[1], 1); - src += 1; - left = 1; - } - accum += x_add; - } - } - } - assert(accum == 0); -} - -static void RescalerImportRowShrink_SSE2(WebPRescaler* const wrk, - const uint8_t* src) { - const int x_sub = wrk->x_sub; - int accum = 0; - const __m128i zero = _mm_setzero_si128(); - const __m128i mult0 = _mm_set1_epi16(x_sub); - const __m128i mult1 = _mm_set1_epi32(wrk->fx_scale); - const __m128i rounder = _mm_set_epi32(0, ROUNDER, 0, ROUNDER); - __m128i sum = zero; - rescaler_t* frow = wrk->frow; - const rescaler_t* const frow_end = wrk->frow + 4 * wrk->dst_width; - - if (wrk->num_channels != 4 || wrk->x_add > (x_sub << 7)) { - WebPRescalerImportRowShrink_C(wrk, src); - return; - } - assert(!WebPRescalerInputDone(wrk)); - assert(!wrk->x_expand); - - for (; frow < frow_end; frow += 4) { - __m128i base = zero; - accum += wrk->x_add; - while (accum > 0) { - const __m128i A = _mm_cvtsi32_si128(WebPMemToUint32(src)); - src += 4; - base = _mm_unpacklo_epi8(A, zero); - // To avoid overflow, we need: base * x_add / x_sub < 32768 - // => x_add < x_sub << 7. That's a 1/128 reduction ratio limit. - sum = _mm_add_epi16(sum, base); - accum -= x_sub; - } - { // Emit next horizontal pixel. - const __m128i mult = _mm_set1_epi16(-accum); - const __m128i frac0 = _mm_mullo_epi16(base, mult); // 16b x 16b -> 32b - const __m128i frac1 = _mm_mulhi_epu16(base, mult); - const __m128i frac = _mm_unpacklo_epi16(frac0, frac1); // frac is 32b - const __m128i A0 = _mm_mullo_epi16(sum, mult0); - const __m128i A1 = _mm_mulhi_epu16(sum, mult0); - const __m128i B0 = _mm_unpacklo_epi16(A0, A1); // sum * x_sub - const __m128i frow_out = _mm_sub_epi32(B0, frac); // sum * x_sub - frac - const __m128i D0 = _mm_srli_epi64(frac, 32); - const __m128i D1 = _mm_mul_epu32(frac, mult1); // 32b x 16b -> 64b - const __m128i D2 = _mm_mul_epu32(D0, mult1); - const __m128i E1 = _mm_add_epi64(D1, rounder); - const __m128i E2 = _mm_add_epi64(D2, rounder); - const __m128i F1 = _mm_shuffle_epi32(E1, 1 | (3 << 2)); - const __m128i F2 = _mm_shuffle_epi32(E2, 1 | (3 << 2)); - const __m128i G = _mm_unpacklo_epi32(F1, F2); - sum = _mm_packs_epi32(G, zero); - _mm_storeu_si128((__m128i*)frow, frow_out); - } - } - assert(accum == 0); -} - -//------------------------------------------------------------------------------ -// Row export - -// load *src as epi64, multiply by mult and store result in [out0 ... out3] -static WEBP_INLINE void LoadDispatchAndMult_SSE2(const rescaler_t* const src, - const __m128i* const mult, - __m128i* const out0, - __m128i* const out1, - __m128i* const out2, - __m128i* const out3) { - const __m128i A0 = _mm_loadu_si128((const __m128i*)(src + 0)); - const __m128i A1 = _mm_loadu_si128((const __m128i*)(src + 4)); - const __m128i A2 = _mm_srli_epi64(A0, 32); - const __m128i A3 = _mm_srli_epi64(A1, 32); - if (mult != NULL) { - *out0 = _mm_mul_epu32(A0, *mult); - *out1 = _mm_mul_epu32(A1, *mult); - *out2 = _mm_mul_epu32(A2, *mult); - *out3 = _mm_mul_epu32(A3, *mult); - } else { - *out0 = A0; - *out1 = A1; - *out2 = A2; - *out3 = A3; - } -} - -static WEBP_INLINE void ProcessRow_SSE2(const __m128i* const A0, - const __m128i* const A1, - const __m128i* const A2, - const __m128i* const A3, - const __m128i* const mult, - uint8_t* const dst) { - const __m128i rounder = _mm_set_epi32(0, ROUNDER, 0, ROUNDER); - const __m128i mask = _mm_set_epi32(0xffffffffu, 0, 0xffffffffu, 0); - const __m128i B0 = _mm_mul_epu32(*A0, *mult); - const __m128i B1 = _mm_mul_epu32(*A1, *mult); - const __m128i B2 = _mm_mul_epu32(*A2, *mult); - const __m128i B3 = _mm_mul_epu32(*A3, *mult); - const __m128i C0 = _mm_add_epi64(B0, rounder); - const __m128i C1 = _mm_add_epi64(B1, rounder); - const __m128i C2 = _mm_add_epi64(B2, rounder); - const __m128i C3 = _mm_add_epi64(B3, rounder); - const __m128i D0 = _mm_srli_epi64(C0, WEBP_RESCALER_RFIX); - const __m128i D1 = _mm_srli_epi64(C1, WEBP_RESCALER_RFIX); -#if (WEBP_RESCALER_RFIX < 32) - const __m128i D2 = - _mm_and_si128(_mm_slli_epi64(C2, 32 - WEBP_RESCALER_RFIX), mask); - const __m128i D3 = - _mm_and_si128(_mm_slli_epi64(C3, 32 - WEBP_RESCALER_RFIX), mask); -#else - const __m128i D2 = _mm_and_si128(C2, mask); - const __m128i D3 = _mm_and_si128(C3, mask); -#endif - const __m128i E0 = _mm_or_si128(D0, D2); - const __m128i E1 = _mm_or_si128(D1, D3); - const __m128i F = _mm_packs_epi32(E0, E1); - const __m128i G = _mm_packus_epi16(F, F); - _mm_storel_epi64((__m128i*)dst, G); -} - -static void RescalerExportRowExpand_SSE2(WebPRescaler* const wrk) { - int x_out; - uint8_t* const dst = wrk->dst; - rescaler_t* const irow = wrk->irow; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const rescaler_t* const frow = wrk->frow; - const __m128i mult = _mm_set_epi32(0, wrk->fy_scale, 0, wrk->fy_scale); - - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0 && wrk->y_sub + wrk->y_accum >= 0); - assert(wrk->y_expand); - if (wrk->y_accum == 0) { - for (x_out = 0; x_out + 8 <= x_out_max; x_out += 8) { - __m128i A0, A1, A2, A3; - LoadDispatchAndMult_SSE2(frow + x_out, NULL, &A0, &A1, &A2, &A3); - ProcessRow_SSE2(&A0, &A1, &A2, &A3, &mult, dst + x_out); - } - for (; x_out < x_out_max; ++x_out) { - const uint32_t J = frow[x_out]; - const int v = (int)MULT_FIX(J, wrk->fy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - } - } else { - const uint32_t B = WEBP_RESCALER_FRAC(-wrk->y_accum, wrk->y_sub); - const uint32_t A = (uint32_t)(WEBP_RESCALER_ONE - B); - const __m128i mA = _mm_set_epi32(0, A, 0, A); - const __m128i mB = _mm_set_epi32(0, B, 0, B); - const __m128i rounder = _mm_set_epi32(0, ROUNDER, 0, ROUNDER); - for (x_out = 0; x_out + 8 <= x_out_max; x_out += 8) { - __m128i A0, A1, A2, A3, B0, B1, B2, B3; - LoadDispatchAndMult_SSE2(frow + x_out, &mA, &A0, &A1, &A2, &A3); - LoadDispatchAndMult_SSE2(irow + x_out, &mB, &B0, &B1, &B2, &B3); - { - const __m128i C0 = _mm_add_epi64(A0, B0); - const __m128i C1 = _mm_add_epi64(A1, B1); - const __m128i C2 = _mm_add_epi64(A2, B2); - const __m128i C3 = _mm_add_epi64(A3, B3); - const __m128i D0 = _mm_add_epi64(C0, rounder); - const __m128i D1 = _mm_add_epi64(C1, rounder); - const __m128i D2 = _mm_add_epi64(C2, rounder); - const __m128i D3 = _mm_add_epi64(C3, rounder); - const __m128i E0 = _mm_srli_epi64(D0, WEBP_RESCALER_RFIX); - const __m128i E1 = _mm_srli_epi64(D1, WEBP_RESCALER_RFIX); - const __m128i E2 = _mm_srli_epi64(D2, WEBP_RESCALER_RFIX); - const __m128i E3 = _mm_srli_epi64(D3, WEBP_RESCALER_RFIX); - ProcessRow_SSE2(&E0, &E1, &E2, &E3, &mult, dst + x_out); - } - } - for (; x_out < x_out_max; ++x_out) { - const uint64_t I = (uint64_t)A * frow[x_out] - + (uint64_t)B * irow[x_out]; - const uint32_t J = (uint32_t)((I + ROUNDER) >> WEBP_RESCALER_RFIX); - const int v = (int)MULT_FIX(J, wrk->fy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - } - } -} - -static void RescalerExportRowShrink_SSE2(WebPRescaler* const wrk) { - int x_out; - uint8_t* const dst = wrk->dst; - rescaler_t* const irow = wrk->irow; - const int x_out_max = wrk->dst_width * wrk->num_channels; - const rescaler_t* const frow = wrk->frow; - const uint32_t yscale = wrk->fy_scale * (-wrk->y_accum); - assert(!WebPRescalerOutputDone(wrk)); - assert(wrk->y_accum <= 0); - assert(!wrk->y_expand); - if (yscale) { - const int scale_xy = wrk->fxy_scale; - const __m128i mult_xy = _mm_set_epi32(0, scale_xy, 0, scale_xy); - const __m128i mult_y = _mm_set_epi32(0, yscale, 0, yscale); - for (x_out = 0; x_out + 8 <= x_out_max; x_out += 8) { - __m128i A0, A1, A2, A3, B0, B1, B2, B3; - LoadDispatchAndMult_SSE2(irow + x_out, NULL, &A0, &A1, &A2, &A3); - LoadDispatchAndMult_SSE2(frow + x_out, &mult_y, &B0, &B1, &B2, &B3); - { - const __m128i D0 = _mm_srli_epi64(B0, WEBP_RESCALER_RFIX); // = frac - const __m128i D1 = _mm_srli_epi64(B1, WEBP_RESCALER_RFIX); - const __m128i D2 = _mm_srli_epi64(B2, WEBP_RESCALER_RFIX); - const __m128i D3 = _mm_srli_epi64(B3, WEBP_RESCALER_RFIX); - const __m128i E0 = _mm_sub_epi64(A0, D0); // irow[x] - frac - const __m128i E1 = _mm_sub_epi64(A1, D1); - const __m128i E2 = _mm_sub_epi64(A2, D2); - const __m128i E3 = _mm_sub_epi64(A3, D3); - const __m128i F2 = _mm_slli_epi64(D2, 32); - const __m128i F3 = _mm_slli_epi64(D3, 32); - const __m128i G0 = _mm_or_si128(D0, F2); - const __m128i G1 = _mm_or_si128(D1, F3); - _mm_storeu_si128((__m128i*)(irow + x_out + 0), G0); - _mm_storeu_si128((__m128i*)(irow + x_out + 4), G1); - ProcessRow_SSE2(&E0, &E1, &E2, &E3, &mult_xy, dst + x_out); - } - } - for (; x_out < x_out_max; ++x_out) { - const uint32_t frac = (int)MULT_FIX_FLOOR(frow[x_out], yscale); - const int v = (int)MULT_FIX(irow[x_out] - frac, wrk->fxy_scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - irow[x_out] = frac; // new fractional start - } - } else { - const uint32_t scale = wrk->fxy_scale; - const __m128i mult = _mm_set_epi32(0, scale, 0, scale); - const __m128i zero = _mm_setzero_si128(); - for (x_out = 0; x_out + 8 <= x_out_max; x_out += 8) { - __m128i A0, A1, A2, A3; - LoadDispatchAndMult_SSE2(irow + x_out, NULL, &A0, &A1, &A2, &A3); - _mm_storeu_si128((__m128i*)(irow + x_out + 0), zero); - _mm_storeu_si128((__m128i*)(irow + x_out + 4), zero); - ProcessRow_SSE2(&A0, &A1, &A2, &A3, &mult, dst + x_out); - } - for (; x_out < x_out_max; ++x_out) { - const int v = (int)MULT_FIX(irow[x_out], scale); - dst[x_out] = (v > 255) ? 255u : (uint8_t)v; - irow[x_out] = 0; - } - } -} - -#undef MULT_FIX_FLOOR -#undef MULT_FIX -#undef ROUNDER - -//------------------------------------------------------------------------------ - -extern void WebPRescalerDspInitSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPRescalerDspInitSSE2(void) { - WebPRescalerImportRowExpand = RescalerImportRowExpand_SSE2; - WebPRescalerImportRowShrink = RescalerImportRowShrink_SSE2; - WebPRescalerExportRowExpand = RescalerExportRowExpand_SSE2; - WebPRescalerExportRowShrink = RescalerExportRowShrink_SSE2; -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(WebPRescalerDspInitSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/ssim.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/ssim.c deleted file mode 100644 index 989ce825..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/ssim.c +++ /dev/null @@ -1,159 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// distortion calculation -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include // for abs() - -#include "src/dsp/dsp.h" - -#if !defined(WEBP_REDUCE_SIZE) - -//------------------------------------------------------------------------------ -// SSIM / PSNR - -// hat-shaped filter. Sum of coefficients is equal to 16. -static const uint32_t kWeight[2 * VP8_SSIM_KERNEL + 1] = { - 1, 2, 3, 4, 3, 2, 1 -}; -static const uint32_t kWeightSum = 16 * 16; // sum{kWeight}^2 - -static WEBP_INLINE double SSIMCalculation( - const VP8DistoStats* const stats, uint32_t N /*num samples*/) { - const uint32_t w2 = N * N; - const uint32_t C1 = 20 * w2; - const uint32_t C2 = 60 * w2; - const uint32_t C3 = 8 * 8 * w2; // 'dark' limit ~= 6 - const uint64_t xmxm = (uint64_t)stats->xm * stats->xm; - const uint64_t ymym = (uint64_t)stats->ym * stats->ym; - if (xmxm + ymym >= C3) { - const int64_t xmym = (int64_t)stats->xm * stats->ym; - const int64_t sxy = (int64_t)stats->xym * N - xmym; // can be negative - const uint64_t sxx = (uint64_t)stats->xxm * N - xmxm; - const uint64_t syy = (uint64_t)stats->yym * N - ymym; - // we descale by 8 to prevent overflow during the fnum/fden multiply. - const uint64_t num_S = (2 * (uint64_t)(sxy < 0 ? 0 : sxy) + C2) >> 8; - const uint64_t den_S = (sxx + syy + C2) >> 8; - const uint64_t fnum = (2 * xmym + C1) * num_S; - const uint64_t fden = (xmxm + ymym + C1) * den_S; - const double r = (double)fnum / fden; - assert(r >= 0. && r <= 1.0); - return r; - } - return 1.; // area is too dark to contribute meaningfully -} - -double VP8SSIMFromStats(const VP8DistoStats* const stats) { - return SSIMCalculation(stats, kWeightSum); -} - -double VP8SSIMFromStatsClipped(const VP8DistoStats* const stats) { - return SSIMCalculation(stats, stats->w); -} - -static double SSIMGetClipped_C(const uint8_t* src1, int stride1, - const uint8_t* src2, int stride2, - int xo, int yo, int W, int H) { - VP8DistoStats stats = { 0, 0, 0, 0, 0, 0 }; - const int ymin = (yo - VP8_SSIM_KERNEL < 0) ? 0 : yo - VP8_SSIM_KERNEL; - const int ymax = (yo + VP8_SSIM_KERNEL > H - 1) ? H - 1 - : yo + VP8_SSIM_KERNEL; - const int xmin = (xo - VP8_SSIM_KERNEL < 0) ? 0 : xo - VP8_SSIM_KERNEL; - const int xmax = (xo + VP8_SSIM_KERNEL > W - 1) ? W - 1 - : xo + VP8_SSIM_KERNEL; - int x, y; - src1 += ymin * stride1; - src2 += ymin * stride2; - for (y = ymin; y <= ymax; ++y, src1 += stride1, src2 += stride2) { - for (x = xmin; x <= xmax; ++x) { - const uint32_t w = kWeight[VP8_SSIM_KERNEL + x - xo] - * kWeight[VP8_SSIM_KERNEL + y - yo]; - const uint32_t s1 = src1[x]; - const uint32_t s2 = src2[x]; - stats.w += w; - stats.xm += w * s1; - stats.ym += w * s2; - stats.xxm += w * s1 * s1; - stats.xym += w * s1 * s2; - stats.yym += w * s2 * s2; - } - } - return VP8SSIMFromStatsClipped(&stats); -} - -static double SSIMGet_C(const uint8_t* src1, int stride1, - const uint8_t* src2, int stride2) { - VP8DistoStats stats = { 0, 0, 0, 0, 0, 0 }; - int x, y; - for (y = 0; y <= 2 * VP8_SSIM_KERNEL; ++y, src1 += stride1, src2 += stride2) { - for (x = 0; x <= 2 * VP8_SSIM_KERNEL; ++x) { - const uint32_t w = kWeight[x] * kWeight[y]; - const uint32_t s1 = src1[x]; - const uint32_t s2 = src2[x]; - stats.xm += w * s1; - stats.ym += w * s2; - stats.xxm += w * s1 * s1; - stats.xym += w * s1 * s2; - stats.yym += w * s2 * s2; - } - } - return VP8SSIMFromStats(&stats); -} - -#endif // !defined(WEBP_REDUCE_SIZE) - -//------------------------------------------------------------------------------ - -#if !defined(WEBP_DISABLE_STATS) -static uint32_t AccumulateSSE_C(const uint8_t* src1, - const uint8_t* src2, int len) { - int i; - uint32_t sse2 = 0; - assert(len <= 65535); // to ensure that accumulation fits within uint32_t - for (i = 0; i < len; ++i) { - const int32_t diff = src1[i] - src2[i]; - sse2 += diff * diff; - } - return sse2; -} -#endif - -//------------------------------------------------------------------------------ - -#if !defined(WEBP_REDUCE_SIZE) -VP8SSIMGetFunc VP8SSIMGet; -VP8SSIMGetClippedFunc VP8SSIMGetClipped; -#endif -#if !defined(WEBP_DISABLE_STATS) -VP8AccumulateSSEFunc VP8AccumulateSSE; -#endif - -extern void VP8SSIMDspInitSSE2(void); - -WEBP_DSP_INIT_FUNC(VP8SSIMDspInit) { -#if !defined(WEBP_REDUCE_SIZE) - VP8SSIMGetClipped = SSIMGetClipped_C; - VP8SSIMGet = SSIMGet_C; -#endif - -#if !defined(WEBP_DISABLE_STATS) - VP8AccumulateSSE = AccumulateSSE_C; -#endif - - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - VP8SSIMDspInitSSE2(); - } -#endif - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/ssim_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/ssim_sse2.c deleted file mode 100644 index 1dcb0eb0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/ssim_sse2.c +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE2 version of distortion calculation -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE2) - -#include -#include - -#include "src/dsp/common_sse2.h" - -#if !defined(WEBP_DISABLE_STATS) - -// Helper function -static WEBP_INLINE void SubtractAndSquare_SSE2(const __m128i a, const __m128i b, - __m128i* const sum) { - // take abs(a-b) in 8b - const __m128i a_b = _mm_subs_epu8(a, b); - const __m128i b_a = _mm_subs_epu8(b, a); - const __m128i abs_a_b = _mm_or_si128(a_b, b_a); - // zero-extend to 16b - const __m128i zero = _mm_setzero_si128(); - const __m128i C0 = _mm_unpacklo_epi8(abs_a_b, zero); - const __m128i C1 = _mm_unpackhi_epi8(abs_a_b, zero); - // multiply with self - const __m128i sum1 = _mm_madd_epi16(C0, C0); - const __m128i sum2 = _mm_madd_epi16(C1, C1); - *sum = _mm_add_epi32(sum1, sum2); -} - -//------------------------------------------------------------------------------ -// SSIM / PSNR entry point - -static uint32_t AccumulateSSE_SSE2(const uint8_t* src1, - const uint8_t* src2, int len) { - int i = 0; - uint32_t sse2 = 0; - if (len >= 16) { - const int limit = len - 32; - int32_t tmp[4]; - __m128i sum1; - __m128i sum = _mm_setzero_si128(); - __m128i a0 = _mm_loadu_si128((const __m128i*)&src1[i]); - __m128i b0 = _mm_loadu_si128((const __m128i*)&src2[i]); - i += 16; - while (i <= limit) { - const __m128i a1 = _mm_loadu_si128((const __m128i*)&src1[i]); - const __m128i b1 = _mm_loadu_si128((const __m128i*)&src2[i]); - __m128i sum2; - i += 16; - SubtractAndSquare_SSE2(a0, b0, &sum1); - sum = _mm_add_epi32(sum, sum1); - a0 = _mm_loadu_si128((const __m128i*)&src1[i]); - b0 = _mm_loadu_si128((const __m128i*)&src2[i]); - i += 16; - SubtractAndSquare_SSE2(a1, b1, &sum2); - sum = _mm_add_epi32(sum, sum2); - } - SubtractAndSquare_SSE2(a0, b0, &sum1); - sum = _mm_add_epi32(sum, sum1); - _mm_storeu_si128((__m128i*)tmp, sum); - sse2 += (tmp[3] + tmp[2] + tmp[1] + tmp[0]); - } - - for (; i < len; ++i) { - const int32_t diff = src1[i] - src2[i]; - sse2 += diff * diff; - } - return sse2; -} -#endif // !defined(WEBP_DISABLE_STATS) - -#if !defined(WEBP_REDUCE_SIZE) - -static uint32_t HorizontalAdd16b_SSE2(const __m128i* const m) { - uint16_t tmp[8]; - const __m128i a = _mm_srli_si128(*m, 8); - const __m128i b = _mm_add_epi16(*m, a); - _mm_storeu_si128((__m128i*)tmp, b); - return (uint32_t)tmp[3] + tmp[2] + tmp[1] + tmp[0]; -} - -static uint32_t HorizontalAdd32b_SSE2(const __m128i* const m) { - const __m128i a = _mm_srli_si128(*m, 8); - const __m128i b = _mm_add_epi32(*m, a); - const __m128i c = _mm_add_epi32(b, _mm_srli_si128(b, 4)); - return (uint32_t)_mm_cvtsi128_si32(c); -} - -static const uint16_t kWeight[] = { 1, 2, 3, 4, 3, 2, 1, 0 }; - -#define ACCUMULATE_ROW(WEIGHT) do { \ - /* compute row weight (Wx * Wy) */ \ - const __m128i Wy = _mm_set1_epi16((WEIGHT)); \ - const __m128i W = _mm_mullo_epi16(Wx, Wy); \ - /* process 8 bytes at a time (7 bytes, actually) */ \ - const __m128i a0 = _mm_loadl_epi64((const __m128i*)src1); \ - const __m128i b0 = _mm_loadl_epi64((const __m128i*)src2); \ - /* convert to 16b and multiply by weight */ \ - const __m128i a1 = _mm_unpacklo_epi8(a0, zero); \ - const __m128i b1 = _mm_unpacklo_epi8(b0, zero); \ - const __m128i wa1 = _mm_mullo_epi16(a1, W); \ - const __m128i wb1 = _mm_mullo_epi16(b1, W); \ - /* accumulate */ \ - xm = _mm_add_epi16(xm, wa1); \ - ym = _mm_add_epi16(ym, wb1); \ - xxm = _mm_add_epi32(xxm, _mm_madd_epi16(a1, wa1)); \ - xym = _mm_add_epi32(xym, _mm_madd_epi16(a1, wb1)); \ - yym = _mm_add_epi32(yym, _mm_madd_epi16(b1, wb1)); \ - src1 += stride1; \ - src2 += stride2; \ -} while (0) - -static double SSIMGet_SSE2(const uint8_t* src1, int stride1, - const uint8_t* src2, int stride2) { - VP8DistoStats stats; - const __m128i zero = _mm_setzero_si128(); - __m128i xm = zero, ym = zero; // 16b accums - __m128i xxm = zero, yym = zero, xym = zero; // 32b accum - const __m128i Wx = _mm_loadu_si128((const __m128i*)kWeight); - assert(2 * VP8_SSIM_KERNEL + 1 == 7); - ACCUMULATE_ROW(1); - ACCUMULATE_ROW(2); - ACCUMULATE_ROW(3); - ACCUMULATE_ROW(4); - ACCUMULATE_ROW(3); - ACCUMULATE_ROW(2); - ACCUMULATE_ROW(1); - stats.xm = HorizontalAdd16b_SSE2(&xm); - stats.ym = HorizontalAdd16b_SSE2(&ym); - stats.xxm = HorizontalAdd32b_SSE2(&xxm); - stats.xym = HorizontalAdd32b_SSE2(&xym); - stats.yym = HorizontalAdd32b_SSE2(&yym); - return VP8SSIMFromStats(&stats); -} - -#endif // !defined(WEBP_REDUCE_SIZE) - -extern void VP8SSIMDspInitSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8SSIMDspInitSSE2(void) { -#if !defined(WEBP_DISABLE_STATS) - VP8AccumulateSSE = AccumulateSSE_SSE2; -#endif -#if !defined(WEBP_REDUCE_SIZE) - VP8SSIMGet = SSIMGet_SSE2; -#endif -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(VP8SSIMDspInitSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling.c deleted file mode 100644 index 9b60da5b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling.c +++ /dev/null @@ -1,327 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// YUV to RGB upsampling functions. -// -// Author: somnath@google.com (Somnath Banerjee) - -#include "src/dsp/dsp.h" -#include "src/dsp/yuv.h" - -#include - -//------------------------------------------------------------------------------ -// Fancy upsampler - -#ifdef FANCY_UPSAMPLING - -// Fancy upsampling functions to convert YUV to RGB -WebPUpsampleLinePairFunc WebPUpsamplers[MODE_LAST]; - -// Given samples laid out in a square as: -// [a b] -// [c d] -// we interpolate u/v as: -// ([9*a + 3*b + 3*c + d 3*a + 9*b + 3*c + d] + [8 8]) / 16 -// ([3*a + b + 9*c + 3*d a + 3*b + 3*c + 9*d] [8 8]) / 16 - -// We process u and v together stashed into 32bit (16bit each). -#define LOAD_UV(u, v) ((u) | ((v) << 16)) - -#define UPSAMPLE_FUNC(FUNC_NAME, FUNC, XSTEP) \ -static void FUNC_NAME(const uint8_t* top_y, const uint8_t* bottom_y, \ - const uint8_t* top_u, const uint8_t* top_v, \ - const uint8_t* cur_u, const uint8_t* cur_v, \ - uint8_t* top_dst, uint8_t* bottom_dst, int len) { \ - int x; \ - const int last_pixel_pair = (len - 1) >> 1; \ - uint32_t tl_uv = LOAD_UV(top_u[0], top_v[0]); /* top-left sample */ \ - uint32_t l_uv = LOAD_UV(cur_u[0], cur_v[0]); /* left-sample */ \ - assert(top_y != NULL); \ - { \ - const uint32_t uv0 = (3 * tl_uv + l_uv + 0x00020002u) >> 2; \ - FUNC(top_y[0], uv0 & 0xff, (uv0 >> 16), top_dst); \ - } \ - if (bottom_y != NULL) { \ - const uint32_t uv0 = (3 * l_uv + tl_uv + 0x00020002u) >> 2; \ - FUNC(bottom_y[0], uv0 & 0xff, (uv0 >> 16), bottom_dst); \ - } \ - for (x = 1; x <= last_pixel_pair; ++x) { \ - const uint32_t t_uv = LOAD_UV(top_u[x], top_v[x]); /* top sample */ \ - const uint32_t uv = LOAD_UV(cur_u[x], cur_v[x]); /* sample */ \ - /* precompute invariant values associated with first and second diagonals*/\ - const uint32_t avg = tl_uv + t_uv + l_uv + uv + 0x00080008u; \ - const uint32_t diag_12 = (avg + 2 * (t_uv + l_uv)) >> 3; \ - const uint32_t diag_03 = (avg + 2 * (tl_uv + uv)) >> 3; \ - { \ - const uint32_t uv0 = (diag_12 + tl_uv) >> 1; \ - const uint32_t uv1 = (diag_03 + t_uv) >> 1; \ - FUNC(top_y[2 * x - 1], uv0 & 0xff, (uv0 >> 16), \ - top_dst + (2 * x - 1) * (XSTEP)); \ - FUNC(top_y[2 * x - 0], uv1 & 0xff, (uv1 >> 16), \ - top_dst + (2 * x - 0) * (XSTEP)); \ - } \ - if (bottom_y != NULL) { \ - const uint32_t uv0 = (diag_03 + l_uv) >> 1; \ - const uint32_t uv1 = (diag_12 + uv) >> 1; \ - FUNC(bottom_y[2 * x - 1], uv0 & 0xff, (uv0 >> 16), \ - bottom_dst + (2 * x - 1) * (XSTEP)); \ - FUNC(bottom_y[2 * x + 0], uv1 & 0xff, (uv1 >> 16), \ - bottom_dst + (2 * x + 0) * (XSTEP)); \ - } \ - tl_uv = t_uv; \ - l_uv = uv; \ - } \ - if (!(len & 1)) { \ - { \ - const uint32_t uv0 = (3 * tl_uv + l_uv + 0x00020002u) >> 2; \ - FUNC(top_y[len - 1], uv0 & 0xff, (uv0 >> 16), \ - top_dst + (len - 1) * (XSTEP)); \ - } \ - if (bottom_y != NULL) { \ - const uint32_t uv0 = (3 * l_uv + tl_uv + 0x00020002u) >> 2; \ - FUNC(bottom_y[len - 1], uv0 & 0xff, (uv0 >> 16), \ - bottom_dst + (len - 1) * (XSTEP)); \ - } \ - } \ -} - -// All variants implemented. -#if !WEBP_NEON_OMIT_C_CODE -UPSAMPLE_FUNC(UpsampleRgbaLinePair_C, VP8YuvToRgba, 4) -UPSAMPLE_FUNC(UpsampleBgraLinePair_C, VP8YuvToBgra, 4) -#if !defined(WEBP_REDUCE_CSP) -UPSAMPLE_FUNC(UpsampleArgbLinePair_C, VP8YuvToArgb, 4) -UPSAMPLE_FUNC(UpsampleRgbLinePair_C, VP8YuvToRgb, 3) -UPSAMPLE_FUNC(UpsampleBgrLinePair_C, VP8YuvToBgr, 3) -UPSAMPLE_FUNC(UpsampleRgba4444LinePair_C, VP8YuvToRgba4444, 2) -UPSAMPLE_FUNC(UpsampleRgb565LinePair_C, VP8YuvToRgb565, 2) -#else -static void EmptyUpsampleFunc(const uint8_t* top_y, const uint8_t* bottom_y, - const uint8_t* top_u, const uint8_t* top_v, - const uint8_t* cur_u, const uint8_t* cur_v, - uint8_t* top_dst, uint8_t* bottom_dst, int len) { - (void)top_y; - (void)bottom_y; - (void)top_u; - (void)top_v; - (void)cur_u; - (void)cur_v; - (void)top_dst; - (void)bottom_dst; - (void)len; - assert(0); // COLORSPACE SUPPORT NOT COMPILED -} -#define UpsampleArgbLinePair_C EmptyUpsampleFunc -#define UpsampleRgbLinePair_C EmptyUpsampleFunc -#define UpsampleBgrLinePair_C EmptyUpsampleFunc -#define UpsampleRgba4444LinePair_C EmptyUpsampleFunc -#define UpsampleRgb565LinePair_C EmptyUpsampleFunc -#endif // WEBP_REDUCE_CSP - -#endif - -#undef LOAD_UV -#undef UPSAMPLE_FUNC - -#endif // FANCY_UPSAMPLING - -//------------------------------------------------------------------------------ - -#if !defined(FANCY_UPSAMPLING) -#define DUAL_SAMPLE_FUNC(FUNC_NAME, FUNC) \ -static void FUNC_NAME(const uint8_t* top_y, const uint8_t* bot_y, \ - const uint8_t* top_u, const uint8_t* top_v, \ - const uint8_t* bot_u, const uint8_t* bot_v, \ - uint8_t* top_dst, uint8_t* bot_dst, int len) { \ - const int half_len = len >> 1; \ - int x; \ - assert(top_dst != NULL); \ - { \ - for (x = 0; x < half_len; ++x) { \ - FUNC(top_y[2 * x + 0], top_u[x], top_v[x], top_dst + 8 * x + 0); \ - FUNC(top_y[2 * x + 1], top_u[x], top_v[x], top_dst + 8 * x + 4); \ - } \ - if (len & 1) FUNC(top_y[2 * x + 0], top_u[x], top_v[x], top_dst + 8 * x); \ - } \ - if (bot_dst != NULL) { \ - for (x = 0; x < half_len; ++x) { \ - FUNC(bot_y[2 * x + 0], bot_u[x], bot_v[x], bot_dst + 8 * x + 0); \ - FUNC(bot_y[2 * x + 1], bot_u[x], bot_v[x], bot_dst + 8 * x + 4); \ - } \ - if (len & 1) FUNC(bot_y[2 * x + 0], bot_u[x], bot_v[x], bot_dst + 8 * x); \ - } \ -} - -DUAL_SAMPLE_FUNC(DualLineSamplerBGRA, VP8YuvToBgra) -DUAL_SAMPLE_FUNC(DualLineSamplerARGB, VP8YuvToArgb) -#undef DUAL_SAMPLE_FUNC - -#endif // !FANCY_UPSAMPLING - -WebPUpsampleLinePairFunc WebPGetLinePairConverter(int alpha_is_last) { - WebPInitUpsamplers(); -#ifdef FANCY_UPSAMPLING - return WebPUpsamplers[alpha_is_last ? MODE_BGRA : MODE_ARGB]; -#else - return (alpha_is_last ? DualLineSamplerBGRA : DualLineSamplerARGB); -#endif -} - -//------------------------------------------------------------------------------ -// YUV444 converter - -#define YUV444_FUNC(FUNC_NAME, FUNC, XSTEP) \ -extern void FUNC_NAME(const uint8_t* y, const uint8_t* u, const uint8_t* v, \ - uint8_t* dst, int len); \ -void FUNC_NAME(const uint8_t* y, const uint8_t* u, const uint8_t* v, \ - uint8_t* dst, int len) { \ - int i; \ - for (i = 0; i < len; ++i) FUNC(y[i], u[i], v[i], &dst[i * (XSTEP)]); \ -} - -YUV444_FUNC(WebPYuv444ToRgba_C, VP8YuvToRgba, 4) -YUV444_FUNC(WebPYuv444ToBgra_C, VP8YuvToBgra, 4) -#if !defined(WEBP_REDUCE_CSP) -YUV444_FUNC(WebPYuv444ToRgb_C, VP8YuvToRgb, 3) -YUV444_FUNC(WebPYuv444ToBgr_C, VP8YuvToBgr, 3) -YUV444_FUNC(WebPYuv444ToArgb_C, VP8YuvToArgb, 4) -YUV444_FUNC(WebPYuv444ToRgba4444_C, VP8YuvToRgba4444, 2) -YUV444_FUNC(WebPYuv444ToRgb565_C, VP8YuvToRgb565, 2) -#else -static void EmptyYuv444Func(const uint8_t* y, - const uint8_t* u, const uint8_t* v, - uint8_t* dst, int len) { - (void)y; - (void)u; - (void)v; - (void)dst; - (void)len; -} -#define WebPYuv444ToRgb_C EmptyYuv444Func -#define WebPYuv444ToBgr_C EmptyYuv444Func -#define WebPYuv444ToArgb_C EmptyYuv444Func -#define WebPYuv444ToRgba4444_C EmptyYuv444Func -#define WebPYuv444ToRgb565_C EmptyYuv444Func -#endif // WEBP_REDUCE_CSP - -#undef YUV444_FUNC - -WebPYUV444Converter WebPYUV444Converters[MODE_LAST]; - -extern void WebPInitYUV444ConvertersMIPSdspR2(void); -extern void WebPInitYUV444ConvertersSSE2(void); -extern void WebPInitYUV444ConvertersSSE41(void); - -WEBP_DSP_INIT_FUNC(WebPInitYUV444Converters) { - WebPYUV444Converters[MODE_RGBA] = WebPYuv444ToRgba_C; - WebPYUV444Converters[MODE_BGRA] = WebPYuv444ToBgra_C; - WebPYUV444Converters[MODE_RGB] = WebPYuv444ToRgb_C; - WebPYUV444Converters[MODE_BGR] = WebPYuv444ToBgr_C; - WebPYUV444Converters[MODE_ARGB] = WebPYuv444ToArgb_C; - WebPYUV444Converters[MODE_RGBA_4444] = WebPYuv444ToRgba4444_C; - WebPYUV444Converters[MODE_RGB_565] = WebPYuv444ToRgb565_C; - WebPYUV444Converters[MODE_rgbA] = WebPYuv444ToRgba_C; - WebPYUV444Converters[MODE_bgrA] = WebPYuv444ToBgra_C; - WebPYUV444Converters[MODE_Argb] = WebPYuv444ToArgb_C; - WebPYUV444Converters[MODE_rgbA_4444] = WebPYuv444ToRgba4444_C; - - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - WebPInitYUV444ConvertersSSE2(); - } -#endif -#if defined(WEBP_USE_SSE41) - if (VP8GetCPUInfo(kSSE4_1)) { - WebPInitYUV444ConvertersSSE41(); - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - WebPInitYUV444ConvertersMIPSdspR2(); - } -#endif - } -} - -//------------------------------------------------------------------------------ -// Main calls - -extern void WebPInitUpsamplersSSE2(void); -extern void WebPInitUpsamplersSSE41(void); -extern void WebPInitUpsamplersNEON(void); -extern void WebPInitUpsamplersMIPSdspR2(void); -extern void WebPInitUpsamplersMSA(void); - -WEBP_DSP_INIT_FUNC(WebPInitUpsamplers) { -#ifdef FANCY_UPSAMPLING -#if !WEBP_NEON_OMIT_C_CODE - WebPUpsamplers[MODE_RGBA] = UpsampleRgbaLinePair_C; - WebPUpsamplers[MODE_BGRA] = UpsampleBgraLinePair_C; - WebPUpsamplers[MODE_rgbA] = UpsampleRgbaLinePair_C; - WebPUpsamplers[MODE_bgrA] = UpsampleBgraLinePair_C; - WebPUpsamplers[MODE_RGB] = UpsampleRgbLinePair_C; - WebPUpsamplers[MODE_BGR] = UpsampleBgrLinePair_C; - WebPUpsamplers[MODE_ARGB] = UpsampleArgbLinePair_C; - WebPUpsamplers[MODE_RGBA_4444] = UpsampleRgba4444LinePair_C; - WebPUpsamplers[MODE_RGB_565] = UpsampleRgb565LinePair_C; - WebPUpsamplers[MODE_Argb] = UpsampleArgbLinePair_C; - WebPUpsamplers[MODE_rgbA_4444] = UpsampleRgba4444LinePair_C; -#endif - - // If defined, use CPUInfo() to overwrite some pointers with faster versions. - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - WebPInitUpsamplersSSE2(); - } -#endif -#if defined(WEBP_USE_SSE41) - if (VP8GetCPUInfo(kSSE4_1)) { - WebPInitUpsamplersSSE41(); - } -#endif -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - WebPInitUpsamplersMIPSdspR2(); - } -#endif -#if defined(WEBP_USE_MSA) - if (VP8GetCPUInfo(kMSA)) { - WebPInitUpsamplersMSA(); - } -#endif - } - -#if defined(WEBP_USE_NEON) - if (WEBP_NEON_OMIT_C_CODE || - (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { - WebPInitUpsamplersNEON(); - } -#endif - - assert(WebPUpsamplers[MODE_RGBA] != NULL); - assert(WebPUpsamplers[MODE_BGRA] != NULL); - assert(WebPUpsamplers[MODE_rgbA] != NULL); - assert(WebPUpsamplers[MODE_bgrA] != NULL); -#if !defined(WEBP_REDUCE_CSP) || !WEBP_NEON_OMIT_C_CODE - assert(WebPUpsamplers[MODE_RGB] != NULL); - assert(WebPUpsamplers[MODE_BGR] != NULL); - assert(WebPUpsamplers[MODE_ARGB] != NULL); - assert(WebPUpsamplers[MODE_RGBA_4444] != NULL); - assert(WebPUpsamplers[MODE_RGB_565] != NULL); - assert(WebPUpsamplers[MODE_Argb] != NULL); - assert(WebPUpsamplers[MODE_rgbA_4444] != NULL); -#endif - -#endif // FANCY_UPSAMPLING -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_mips_dsp_r2.c deleted file mode 100644 index 10d499d7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_mips_dsp_r2.c +++ /dev/null @@ -1,291 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// YUV to RGB upsampling functions. -// -// Author(s): Branimir Vasic (branimir.vasic@imgtec.com) -// Djordje Pesut (djordje.pesut@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) - -#include -#include "src/dsp/yuv.h" - -#define YUV_TO_RGB(Y, U, V, R, G, B) do { \ - const int t1 = MultHi(Y, 19077); \ - const int t2 = MultHi(V, 13320); \ - R = MultHi(V, 26149); \ - G = MultHi(U, 6419); \ - B = MultHi(U, 33050); \ - R = t1 + R; \ - G = t1 - G; \ - B = t1 + B; \ - R = R - 14234; \ - G = G - t2 + 8708; \ - B = B - 17685; \ - __asm__ volatile ( \ - "shll_s.w %[" #R "], %[" #R "], 17 \n\t" \ - "shll_s.w %[" #G "], %[" #G "], 17 \n\t" \ - "shll_s.w %[" #B "], %[" #B "], 17 \n\t" \ - "precrqu_s.qb.ph %[" #R "], %[" #R "], $zero \n\t" \ - "precrqu_s.qb.ph %[" #G "], %[" #G "], $zero \n\t" \ - "precrqu_s.qb.ph %[" #B "], %[" #B "], $zero \n\t" \ - "srl %[" #R "], %[" #R "], 24 \n\t" \ - "srl %[" #G "], %[" #G "], 24 \n\t" \ - "srl %[" #B "], %[" #B "], 24 \n\t" \ - : [R]"+r"(R), [G]"+r"(G), [B]"+r"(B) \ - : \ - ); \ - } while (0) - -#if !defined(WEBP_REDUCE_CSP) -static WEBP_INLINE void YuvToRgb(int y, int u, int v, uint8_t* const rgb) { - int r, g, b; - YUV_TO_RGB(y, u, v, r, g, b); - rgb[0] = r; - rgb[1] = g; - rgb[2] = b; -} -static WEBP_INLINE void YuvToBgr(int y, int u, int v, uint8_t* const bgr) { - int r, g, b; - YUV_TO_RGB(y, u, v, r, g, b); - bgr[0] = b; - bgr[1] = g; - bgr[2] = r; -} -static WEBP_INLINE void YuvToRgb565(int y, int u, int v, uint8_t* const rgb) { - int r, g, b; - YUV_TO_RGB(y, u, v, r, g, b); - { - const int rg = (r & 0xf8) | (g >> 5); - const int gb = ((g << 3) & 0xe0) | (b >> 3); -#if (WEBP_SWAP_16BIT_CSP == 1) - rgb[0] = gb; - rgb[1] = rg; -#else - rgb[0] = rg; - rgb[1] = gb; -#endif - } -} -static WEBP_INLINE void YuvToRgba4444(int y, int u, int v, - uint8_t* const argb) { - int r, g, b; - YUV_TO_RGB(y, u, v, r, g, b); - { - const int rg = (r & 0xf0) | (g >> 4); - const int ba = (b & 0xf0) | 0x0f; // overwrite the lower 4 bits -#if (WEBP_SWAP_16BIT_CSP == 1) - argb[0] = ba; - argb[1] = rg; -#else - argb[0] = rg; - argb[1] = ba; -#endif - } -} -#endif // WEBP_REDUCE_CSP - -//----------------------------------------------------------------------------- -// Alpha handling variants - -#if !defined(WEBP_REDUCE_CSP) -static WEBP_INLINE void YuvToArgb(uint8_t y, uint8_t u, uint8_t v, - uint8_t* const argb) { - int r, g, b; - YUV_TO_RGB(y, u, v, r, g, b); - argb[0] = 0xff; - argb[1] = r; - argb[2] = g; - argb[3] = b; -} -#endif // WEBP_REDUCE_CSP -static WEBP_INLINE void YuvToBgra(uint8_t y, uint8_t u, uint8_t v, - uint8_t* const bgra) { - int r, g, b; - YUV_TO_RGB(y, u, v, r, g, b); - bgra[0] = b; - bgra[1] = g; - bgra[2] = r; - bgra[3] = 0xff; -} -static WEBP_INLINE void YuvToRgba(uint8_t y, uint8_t u, uint8_t v, - uint8_t* const rgba) { - int r, g, b; - YUV_TO_RGB(y, u, v, r, g, b); - rgba[0] = r; - rgba[1] = g; - rgba[2] = b; - rgba[3] = 0xff; -} - -//------------------------------------------------------------------------------ -// Fancy upsampler - -#ifdef FANCY_UPSAMPLING - -// Given samples laid out in a square as: -// [a b] -// [c d] -// we interpolate u/v as: -// ([9*a + 3*b + 3*c + d 3*a + 9*b + 3*c + d] + [8 8]) / 16 -// ([3*a + b + 9*c + 3*d a + 3*b + 3*c + 9*d] [8 8]) / 16 - -// We process u and v together stashed into 32bit (16bit each). -#define LOAD_UV(u, v) ((u) | ((v) << 16)) - -#define UPSAMPLE_FUNC(FUNC_NAME, FUNC, XSTEP) \ -static void FUNC_NAME(const uint8_t* top_y, const uint8_t* bottom_y, \ - const uint8_t* top_u, const uint8_t* top_v, \ - const uint8_t* cur_u, const uint8_t* cur_v, \ - uint8_t* top_dst, uint8_t* bottom_dst, int len) { \ - int x; \ - const int last_pixel_pair = (len - 1) >> 1; \ - uint32_t tl_uv = LOAD_UV(top_u[0], top_v[0]); /* top-left sample */ \ - uint32_t l_uv = LOAD_UV(cur_u[0], cur_v[0]); /* left-sample */ \ - assert(top_y != NULL); \ - { \ - const uint32_t uv0 = (3 * tl_uv + l_uv + 0x00020002u) >> 2; \ - FUNC(top_y[0], uv0 & 0xff, (uv0 >> 16), top_dst); \ - } \ - if (bottom_y != NULL) { \ - const uint32_t uv0 = (3 * l_uv + tl_uv + 0x00020002u) >> 2; \ - FUNC(bottom_y[0], uv0 & 0xff, (uv0 >> 16), bottom_dst); \ - } \ - for (x = 1; x <= last_pixel_pair; ++x) { \ - const uint32_t t_uv = LOAD_UV(top_u[x], top_v[x]); /* top sample */ \ - const uint32_t uv = LOAD_UV(cur_u[x], cur_v[x]); /* sample */ \ - /* precompute invariant values associated with first and second diagonals*/\ - const uint32_t avg = tl_uv + t_uv + l_uv + uv + 0x00080008u; \ - const uint32_t diag_12 = (avg + 2 * (t_uv + l_uv)) >> 3; \ - const uint32_t diag_03 = (avg + 2 * (tl_uv + uv)) >> 3; \ - { \ - const uint32_t uv0 = (diag_12 + tl_uv) >> 1; \ - const uint32_t uv1 = (diag_03 + t_uv) >> 1; \ - FUNC(top_y[2 * x - 1], uv0 & 0xff, (uv0 >> 16), \ - top_dst + (2 * x - 1) * XSTEP); \ - FUNC(top_y[2 * x - 0], uv1 & 0xff, (uv1 >> 16), \ - top_dst + (2 * x - 0) * XSTEP); \ - } \ - if (bottom_y != NULL) { \ - const uint32_t uv0 = (diag_03 + l_uv) >> 1; \ - const uint32_t uv1 = (diag_12 + uv) >> 1; \ - FUNC(bottom_y[2 * x - 1], uv0 & 0xff, (uv0 >> 16), \ - bottom_dst + (2 * x - 1) * XSTEP); \ - FUNC(bottom_y[2 * x + 0], uv1 & 0xff, (uv1 >> 16), \ - bottom_dst + (2 * x + 0) * XSTEP); \ - } \ - tl_uv = t_uv; \ - l_uv = uv; \ - } \ - if (!(len & 1)) { \ - { \ - const uint32_t uv0 = (3 * tl_uv + l_uv + 0x00020002u) >> 2; \ - FUNC(top_y[len - 1], uv0 & 0xff, (uv0 >> 16), \ - top_dst + (len - 1) * XSTEP); \ - } \ - if (bottom_y != NULL) { \ - const uint32_t uv0 = (3 * l_uv + tl_uv + 0x00020002u) >> 2; \ - FUNC(bottom_y[len - 1], uv0 & 0xff, (uv0 >> 16), \ - bottom_dst + (len - 1) * XSTEP); \ - } \ - } \ -} - -// All variants implemented. -UPSAMPLE_FUNC(UpsampleRgbaLinePair, YuvToRgba, 4) -UPSAMPLE_FUNC(UpsampleBgraLinePair, YuvToBgra, 4) -#if !defined(WEBP_REDUCE_CSP) -UPSAMPLE_FUNC(UpsampleRgbLinePair, YuvToRgb, 3) -UPSAMPLE_FUNC(UpsampleBgrLinePair, YuvToBgr, 3) -UPSAMPLE_FUNC(UpsampleArgbLinePair, YuvToArgb, 4) -UPSAMPLE_FUNC(UpsampleRgba4444LinePair, YuvToRgba4444, 2) -UPSAMPLE_FUNC(UpsampleRgb565LinePair, YuvToRgb565, 2) -#endif // WEBP_REDUCE_CSP - -#undef LOAD_UV -#undef UPSAMPLE_FUNC - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPInitUpsamplersMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersMIPSdspR2(void) { - WebPUpsamplers[MODE_RGBA] = UpsampleRgbaLinePair; - WebPUpsamplers[MODE_BGRA] = UpsampleBgraLinePair; - WebPUpsamplers[MODE_rgbA] = UpsampleRgbaLinePair; - WebPUpsamplers[MODE_bgrA] = UpsampleBgraLinePair; -#if !defined(WEBP_REDUCE_CSP) - WebPUpsamplers[MODE_RGB] = UpsampleRgbLinePair; - WebPUpsamplers[MODE_BGR] = UpsampleBgrLinePair; - WebPUpsamplers[MODE_ARGB] = UpsampleArgbLinePair; - WebPUpsamplers[MODE_RGBA_4444] = UpsampleRgba4444LinePair; - WebPUpsamplers[MODE_RGB_565] = UpsampleRgb565LinePair; - WebPUpsamplers[MODE_Argb] = UpsampleArgbLinePair; - WebPUpsamplers[MODE_rgbA_4444] = UpsampleRgba4444LinePair; -#endif // WEBP_REDUCE_CSP -} - -#endif // FANCY_UPSAMPLING - -//------------------------------------------------------------------------------ -// YUV444 converter - -#define YUV444_FUNC(FUNC_NAME, FUNC, XSTEP) \ -static void FUNC_NAME(const uint8_t* y, const uint8_t* u, const uint8_t* v, \ - uint8_t* dst, int len) { \ - int i; \ - for (i = 0; i < len; ++i) FUNC(y[i], u[i], v[i], &dst[i * XSTEP]); \ -} - -YUV444_FUNC(Yuv444ToRgba, YuvToRgba, 4) -YUV444_FUNC(Yuv444ToBgra, YuvToBgra, 4) -#if !defined(WEBP_REDUCE_CSP) -YUV444_FUNC(Yuv444ToRgb, YuvToRgb, 3) -YUV444_FUNC(Yuv444ToBgr, YuvToBgr, 3) -YUV444_FUNC(Yuv444ToArgb, YuvToArgb, 4) -YUV444_FUNC(Yuv444ToRgba4444, YuvToRgba4444, 2) -YUV444_FUNC(Yuv444ToRgb565, YuvToRgb565, 2) -#endif // WEBP_REDUCE_CSP - -#undef YUV444_FUNC - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPInitYUV444ConvertersMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitYUV444ConvertersMIPSdspR2(void) { - WebPYUV444Converters[MODE_RGBA] = Yuv444ToRgba; - WebPYUV444Converters[MODE_BGRA] = Yuv444ToBgra; - WebPYUV444Converters[MODE_rgbA] = Yuv444ToRgba; - WebPYUV444Converters[MODE_bgrA] = Yuv444ToBgra; -#if !defined(WEBP_REDUCE_CSP) - WebPYUV444Converters[MODE_RGB] = Yuv444ToRgb; - WebPYUV444Converters[MODE_BGR] = Yuv444ToBgr; - WebPYUV444Converters[MODE_ARGB] = Yuv444ToArgb; - WebPYUV444Converters[MODE_RGBA_4444] = Yuv444ToRgba4444; - WebPYUV444Converters[MODE_RGB_565] = Yuv444ToRgb565; - WebPYUV444Converters[MODE_Argb] = Yuv444ToArgb; - WebPYUV444Converters[MODE_rgbA_4444] = Yuv444ToRgba4444; -#endif // WEBP_REDUCE_CSP -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(WebPInitYUV444ConvertersMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 - -#if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_MIPS_DSP_R2)) -WEBP_DSP_INIT_STUB(WebPInitUpsamplersMIPSdspR2) -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_msa.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_msa.c deleted file mode 100644 index f2e03e85..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_msa.c +++ /dev/null @@ -1,688 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MSA version of YUV to RGB upsampling functions. -// -// Author: Prashant Patil (prashant.patil@imgtec.com) - -#include -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MSA) - -#include "src/dsp/msa_macro.h" -#include "src/dsp/yuv.h" - -#ifdef FANCY_UPSAMPLING - -#define ILVR_UW2(in, out0, out1) do { \ - const v8i16 t0 = (v8i16)__msa_ilvr_b((v16i8)zero, (v16i8)in); \ - out0 = (v4u32)__msa_ilvr_h((v8i16)zero, t0); \ - out1 = (v4u32)__msa_ilvl_h((v8i16)zero, t0); \ -} while (0) - -#define ILVRL_UW4(in, out0, out1, out2, out3) do { \ - v16u8 t0, t1; \ - ILVRL_B2_UB(zero, in, t0, t1); \ - ILVRL_H2_UW(zero, t0, out0, out1); \ - ILVRL_H2_UW(zero, t1, out2, out3); \ -} while (0) - -#define MULTHI_16(in0, in1, in2, in3, cnst, out0, out1) do { \ - const v4i32 const0 = (v4i32)__msa_fill_w(cnst * 256); \ - v4u32 temp0, temp1, temp2, temp3; \ - MUL4(in0, const0, in1, const0, in2, const0, in3, const0, \ - temp0, temp1, temp2, temp3); \ - PCKOD_H2_UH(temp1, temp0, temp3, temp2, out0, out1); \ -} while (0) - -#define MULTHI_8(in0, in1, cnst, out0) do { \ - const v4i32 const0 = (v4i32)__msa_fill_w(cnst * 256); \ - v4u32 temp0, temp1; \ - MUL2(in0, const0, in1, const0, temp0, temp1); \ - out0 = (v8u16)__msa_pckod_h((v8i16)temp1, (v8i16)temp0); \ -} while (0) - -#define CALC_R16(y0, y1, v0, v1, dst) do { \ - const v8i16 const_a = (v8i16)__msa_fill_h(14234); \ - const v8i16 a0 = __msa_adds_s_h((v8i16)y0, (v8i16)v0); \ - const v8i16 a1 = __msa_adds_s_h((v8i16)y1, (v8i16)v1); \ - v8i16 b0 = __msa_subs_s_h(a0, const_a); \ - v8i16 b1 = __msa_subs_s_h(a1, const_a); \ - SRAI_H2_SH(b0, b1, 6); \ - CLIP_SH2_0_255(b0, b1); \ - dst = (v16u8)__msa_pckev_b((v16i8)b1, (v16i8)b0); \ -} while (0) - -#define CALC_R8(y0, v0, dst) do { \ - const v8i16 const_a = (v8i16)__msa_fill_h(14234); \ - const v8i16 a0 = __msa_adds_s_h((v8i16)y0, (v8i16)v0); \ - v8i16 b0 = __msa_subs_s_h(a0, const_a); \ - b0 = SRAI_H(b0, 6); \ - CLIP_SH_0_255(b0); \ - dst = (v16u8)__msa_pckev_b((v16i8)b0, (v16i8)b0); \ -} while (0) - -#define CALC_G16(y0, y1, u0, u1, v0, v1, dst) do { \ - const v8i16 const_a = (v8i16)__msa_fill_h(8708); \ - v8i16 a0 = __msa_subs_s_h((v8i16)y0, (v8i16)u0); \ - v8i16 a1 = __msa_subs_s_h((v8i16)y1, (v8i16)u1); \ - const v8i16 b0 = __msa_subs_s_h(a0, (v8i16)v0); \ - const v8i16 b1 = __msa_subs_s_h(a1, (v8i16)v1); \ - a0 = __msa_adds_s_h(b0, const_a); \ - a1 = __msa_adds_s_h(b1, const_a); \ - SRAI_H2_SH(a0, a1, 6); \ - CLIP_SH2_0_255(a0, a1); \ - dst = (v16u8)__msa_pckev_b((v16i8)a1, (v16i8)a0); \ -} while (0) - -#define CALC_G8(y0, u0, v0, dst) do { \ - const v8i16 const_a = (v8i16)__msa_fill_h(8708); \ - v8i16 a0 = __msa_subs_s_h((v8i16)y0, (v8i16)u0); \ - const v8i16 b0 = __msa_subs_s_h(a0, (v8i16)v0); \ - a0 = __msa_adds_s_h(b0, const_a); \ - a0 = SRAI_H(a0, 6); \ - CLIP_SH_0_255(a0); \ - dst = (v16u8)__msa_pckev_b((v16i8)a0, (v16i8)a0); \ -} while (0) - -#define CALC_B16(y0, y1, u0, u1, dst) do { \ - const v8u16 const_a = (v8u16)__msa_fill_h(17685); \ - const v8u16 a0 = __msa_adds_u_h((v8u16)y0, u0); \ - const v8u16 a1 = __msa_adds_u_h((v8u16)y1, u1); \ - v8u16 b0 = __msa_subs_u_h(a0, const_a); \ - v8u16 b1 = __msa_subs_u_h(a1, const_a); \ - SRAI_H2_UH(b0, b1, 6); \ - CLIP_UH2_0_255(b0, b1); \ - dst = (v16u8)__msa_pckev_b((v16i8)b1, (v16i8)b0); \ -} while (0) - -#define CALC_B8(y0, u0, dst) do { \ - const v8u16 const_a = (v8u16)__msa_fill_h(17685); \ - const v8u16 a0 = __msa_adds_u_h((v8u16)y0, u0); \ - v8u16 b0 = __msa_subs_u_h(a0, const_a); \ - b0 = SRAI_H(b0, 6); \ - CLIP_UH_0_255(b0); \ - dst = (v16u8)__msa_pckev_b((v16i8)b0, (v16i8)b0); \ -} while (0) - -#define CALC_RGB16(y, u, v, R, G, B) do { \ - const v16u8 zero = { 0 }; \ - v8u16 y0, y1, u0, u1, v0, v1; \ - v4u32 p0, p1, p2, p3; \ - const v16u8 in_y = LD_UB(y); \ - const v16u8 in_u = LD_UB(u); \ - const v16u8 in_v = LD_UB(v); \ - ILVRL_UW4(in_y, p0, p1, p2, p3); \ - MULTHI_16(p0, p1, p2, p3, 19077, y0, y1); \ - ILVRL_UW4(in_v, p0, p1, p2, p3); \ - MULTHI_16(p0, p1, p2, p3, 26149, v0, v1); \ - CALC_R16(y0, y1, v0, v1, R); \ - MULTHI_16(p0, p1, p2, p3, 13320, v0, v1); \ - ILVRL_UW4(in_u, p0, p1, p2, p3); \ - MULTHI_16(p0, p1, p2, p3, 6419, u0, u1); \ - CALC_G16(y0, y1, u0, u1, v0, v1, G); \ - MULTHI_16(p0, p1, p2, p3, 33050, u0, u1); \ - CALC_B16(y0, y1, u0, u1, B); \ -} while (0) - -#define CALC_RGB8(y, u, v, R, G, B) do { \ - const v16u8 zero = { 0 }; \ - v8u16 y0, u0, v0; \ - v4u32 p0, p1; \ - const v16u8 in_y = LD_UB(y); \ - const v16u8 in_u = LD_UB(u); \ - const v16u8 in_v = LD_UB(v); \ - ILVR_UW2(in_y, p0, p1); \ - MULTHI_8(p0, p1, 19077, y0); \ - ILVR_UW2(in_v, p0, p1); \ - MULTHI_8(p0, p1, 26149, v0); \ - CALC_R8(y0, v0, R); \ - MULTHI_8(p0, p1, 13320, v0); \ - ILVR_UW2(in_u, p0, p1); \ - MULTHI_8(p0, p1, 6419, u0); \ - CALC_G8(y0, u0, v0, G); \ - MULTHI_8(p0, p1, 33050, u0); \ - CALC_B8(y0, u0, B); \ -} while (0) - -#define STORE16_3(a0, a1, a2, dst) do { \ - const v16u8 mask0 = { 0, 1, 16, 2, 3, 17, 4, 5, 18, 6, 7, 19, \ - 8, 9, 20, 10 }; \ - const v16u8 mask1 = { 0, 21, 1, 2, 22, 3, 4, 23, 5, 6, 24, 7, \ - 8, 25, 9, 10 }; \ - const v16u8 mask2 = { 26, 0, 1, 27, 2, 3, 28, 4, 5, 29, 6, 7, \ - 30, 8, 9, 31 }; \ - v16u8 out0, out1, out2, tmp0, tmp1, tmp2; \ - ILVRL_B2_UB(a1, a0, tmp0, tmp1); \ - out0 = VSHF_UB(tmp0, a2, mask0); \ - tmp2 = SLDI_UB(tmp1, tmp0, 11); \ - out1 = VSHF_UB(tmp2, a2, mask1); \ - tmp2 = SLDI_UB(tmp1, tmp1, 6); \ - out2 = VSHF_UB(tmp2, a2, mask2); \ - ST_UB(out0, dst + 0); \ - ST_UB(out1, dst + 16); \ - ST_UB(out2, dst + 32); \ -} while (0) - -#define STORE8_3(a0, a1, a2, dst) do { \ - int64_t out_m; \ - const v16u8 mask0 = { 0, 1, 16, 2, 3, 17, 4, 5, 18, 6, 7, 19, \ - 8, 9, 20, 10 }; \ - const v16u8 mask1 = { 11, 21, 12, 13, 22, 14, 15, 23, \ - 255, 255, 255, 255, 255, 255, 255, 255 }; \ - const v16u8 tmp0 = (v16u8)__msa_ilvr_b((v16i8)a1, (v16i8)a0); \ - v16u8 out0, out1; \ - VSHF_B2_UB(tmp0, a2, tmp0, a2, mask0, mask1, out0, out1); \ - ST_UB(out0, dst); \ - out_m = __msa_copy_s_d((v2i64)out1, 0); \ - SD(out_m, dst + 16); \ -} while (0) - -#define STORE16_4(a0, a1, a2, a3, dst) do { \ - v16u8 tmp0, tmp1, tmp2, tmp3; \ - v16u8 out0, out1, out2, out3; \ - ILVRL_B2_UB(a1, a0, tmp0, tmp1); \ - ILVRL_B2_UB(a3, a2, tmp2, tmp3); \ - ILVRL_H2_UB(tmp2, tmp0, out0, out1); \ - ILVRL_H2_UB(tmp3, tmp1, out2, out3); \ - ST_UB(out0, dst + 0); \ - ST_UB(out1, dst + 16); \ - ST_UB(out2, dst + 32); \ - ST_UB(out3, dst + 48); \ -} while (0) - -#define STORE8_4(a0, a1, a2, a3, dst) do { \ - v16u8 tmp0, tmp1, tmp2, tmp3; \ - ILVR_B2_UB(a1, a0, a3, a2, tmp0, tmp1); \ - ILVRL_H2_UB(tmp1, tmp0, tmp2, tmp3); \ - ST_UB(tmp2, dst + 0); \ - ST_UB(tmp3, dst + 16); \ -} while (0) - -#define STORE2_16(a0, a1, dst) do { \ - v16u8 out0, out1; \ - ILVRL_B2_UB(a1, a0, out0, out1); \ - ST_UB(out0, dst + 0); \ - ST_UB(out1, dst + 16); \ -} while (0) - -#define STORE2_8(a0, a1, dst) do { \ - const v16u8 out0 = (v16u8)__msa_ilvr_b((v16i8)a1, (v16i8)a0); \ - ST_UB(out0, dst); \ -} while (0) - -#define CALC_RGBA4444(y, u, v, out0, out1, N, dst) do { \ - CALC_RGB##N(y, u, v, R, G, B); \ - tmp0 = ANDI_B(R, 0xf0); \ - tmp1 = SRAI_B(G, 4); \ - RG = tmp0 | tmp1; \ - tmp0 = ANDI_B(B, 0xf0); \ - BA = ORI_B(tmp0, 0x0f); \ - STORE2_##N(out0, out1, dst); \ -} while (0) - -#define CALC_RGB565(y, u, v, out0, out1, N, dst) do { \ - CALC_RGB##N(y, u, v, R, G, B); \ - tmp0 = ANDI_B(R, 0xf8); \ - tmp1 = SRAI_B(G, 5); \ - RG = tmp0 | tmp1; \ - tmp0 = SLLI_B(G, 3); \ - tmp1 = ANDI_B(tmp0, 0xe0); \ - tmp0 = SRAI_B(B, 3); \ - GB = tmp0 | tmp1; \ - STORE2_##N(out0, out1, dst); \ -} while (0) - -static WEBP_INLINE int Clip8(int v) { - return v < 0 ? 0 : v > 255 ? 255 : v; -} - -static void YuvToRgb(int y, int u, int v, uint8_t* const rgb) { - const int y1 = MultHi(y, 19077); - const int r1 = y1 + MultHi(v, 26149) - 14234; - const int g1 = y1 - MultHi(u, 6419) - MultHi(v, 13320) + 8708; - const int b1 = y1 + MultHi(u, 33050) - 17685; - rgb[0] = Clip8(r1 >> 6); - rgb[1] = Clip8(g1 >> 6); - rgb[2] = Clip8(b1 >> 6); -} - -static void YuvToBgr(int y, int u, int v, uint8_t* const bgr) { - const int y1 = MultHi(y, 19077); - const int r1 = y1 + MultHi(v, 26149) - 14234; - const int g1 = y1 - MultHi(u, 6419) - MultHi(v, 13320) + 8708; - const int b1 = y1 + MultHi(u, 33050) - 17685; - bgr[0] = Clip8(b1 >> 6); - bgr[1] = Clip8(g1 >> 6); - bgr[2] = Clip8(r1 >> 6); -} - -#if !defined(WEBP_REDUCE_CSP) -static void YuvToRgb565(int y, int u, int v, uint8_t* const rgb) { - const int y1 = MultHi(y, 19077); - const int r1 = y1 + MultHi(v, 26149) - 14234; - const int g1 = y1 - MultHi(u, 6419) - MultHi(v, 13320) + 8708; - const int b1 = y1 + MultHi(u, 33050) - 17685; - const int r = Clip8(r1 >> 6); - const int g = Clip8(g1 >> 6); - const int b = Clip8(b1 >> 6); - const int rg = (r & 0xf8) | (g >> 5); - const int gb = ((g << 3) & 0xe0) | (b >> 3); -#if (WEBP_SWAP_16BIT_CSP == 1) - rgb[0] = gb; - rgb[1] = rg; -#else - rgb[0] = rg; - rgb[1] = gb; -#endif -} - -static void YuvToRgba4444(int y, int u, int v, uint8_t* const argb) { - const int y1 = MultHi(y, 19077); - const int r1 = y1 + MultHi(v, 26149) - 14234; - const int g1 = y1 - MultHi(u, 6419) - MultHi(v, 13320) + 8708; - const int b1 = y1 + MultHi(u, 33050) - 17685; - const int r = Clip8(r1 >> 6); - const int g = Clip8(g1 >> 6); - const int b = Clip8(b1 >> 6); - const int rg = (r & 0xf0) | (g >> 4); - const int ba = (b & 0xf0) | 0x0f; // overwrite the lower 4 bits -#if (WEBP_SWAP_16BIT_CSP == 1) - argb[0] = ba; - argb[1] = rg; -#else - argb[0] = rg; - argb[1] = ba; -#endif -} - -static void YuvToArgb(uint8_t y, uint8_t u, uint8_t v, uint8_t* const argb) { - argb[0] = 0xff; - YuvToRgb(y, u, v, argb + 1); -} -#endif // WEBP_REDUCE_CSP - -static void YuvToBgra(uint8_t y, uint8_t u, uint8_t v, uint8_t* const bgra) { - YuvToBgr(y, u, v, bgra); - bgra[3] = 0xff; -} - -static void YuvToRgba(uint8_t y, uint8_t u, uint8_t v, uint8_t* const rgba) { - YuvToRgb(y, u, v, rgba); - rgba[3] = 0xff; -} - -#if !defined(WEBP_REDUCE_CSP) -static void YuvToRgbLine(const uint8_t* y, const uint8_t* u, - const uint8_t* v, uint8_t* dst, int length) { - v16u8 R, G, B; - while (length >= 16) { - CALC_RGB16(y, u, v, R, G, B); - STORE16_3(R, G, B, dst); - y += 16; - u += 16; - v += 16; - dst += 16 * 3; - length -= 16; - } - if (length > 8) { - uint8_t temp[3 * 16] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); - CALC_RGB16(temp, u, v, R, G, B); - STORE16_3(R, G, B, temp); - memcpy(dst, temp, length * 3 * sizeof(*dst)); - } else if (length > 0) { - uint8_t temp[3 * 8] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); - CALC_RGB8(temp, u, v, R, G, B); - STORE8_3(R, G, B, temp); - memcpy(dst, temp, length * 3 * sizeof(*dst)); - } -} - -static void YuvToBgrLine(const uint8_t* y, const uint8_t* u, - const uint8_t* v, uint8_t* dst, int length) { - v16u8 R, G, B; - while (length >= 16) { - CALC_RGB16(y, u, v, R, G, B); - STORE16_3(B, G, R, dst); - y += 16; - u += 16; - v += 16; - dst += 16 * 3; - length -= 16; - } - if (length > 8) { - uint8_t temp[3 * 16] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); - CALC_RGB16(temp, u, v, R, G, B); - STORE16_3(B, G, R, temp); - memcpy(dst, temp, length * 3 * sizeof(*dst)); - } else if (length > 0) { - uint8_t temp[3 * 8] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); - CALC_RGB8(temp, u, v, R, G, B); - STORE8_3(B, G, R, temp); - memcpy(dst, temp, length * 3 * sizeof(*dst)); - } -} -#endif // WEBP_REDUCE_CSP - -static void YuvToRgbaLine(const uint8_t* y, const uint8_t* u, - const uint8_t* v, uint8_t* dst, int length) { - v16u8 R, G, B; - const v16u8 A = (v16u8)__msa_ldi_b(ALPHAVAL); - while (length >= 16) { - CALC_RGB16(y, u, v, R, G, B); - STORE16_4(R, G, B, A, dst); - y += 16; - u += 16; - v += 16; - dst += 16 * 4; - length -= 16; - } - if (length > 8) { - uint8_t temp[4 * 16] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); - CALC_RGB16(&temp[0], u, v, R, G, B); - STORE16_4(R, G, B, A, temp); - memcpy(dst, temp, length * 4 * sizeof(*dst)); - } else if (length > 0) { - uint8_t temp[4 * 8] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); - CALC_RGB8(temp, u, v, R, G, B); - STORE8_4(R, G, B, A, temp); - memcpy(dst, temp, length * 4 * sizeof(*dst)); - } -} - -static void YuvToBgraLine(const uint8_t* y, const uint8_t* u, - const uint8_t* v, uint8_t* dst, int length) { - v16u8 R, G, B; - const v16u8 A = (v16u8)__msa_ldi_b(ALPHAVAL); - while (length >= 16) { - CALC_RGB16(y, u, v, R, G, B); - STORE16_4(B, G, R, A, dst); - y += 16; - u += 16; - v += 16; - dst += 16 * 4; - length -= 16; - } - if (length > 8) { - uint8_t temp[4 * 16] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); - CALC_RGB16(temp, u, v, R, G, B); - STORE16_4(B, G, R, A, temp); - memcpy(dst, temp, length * 4 * sizeof(*dst)); - } else if (length > 0) { - uint8_t temp[4 * 8] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); - CALC_RGB8(temp, u, v, R, G, B); - STORE8_4(B, G, R, A, temp); - memcpy(dst, temp, length * 4 * sizeof(*dst)); - } -} - -#if !defined(WEBP_REDUCE_CSP) -static void YuvToArgbLine(const uint8_t* y, const uint8_t* u, - const uint8_t* v, uint8_t* dst, int length) { - v16u8 R, G, B; - const v16u8 A = (v16u8)__msa_ldi_b(ALPHAVAL); - while (length >= 16) { - CALC_RGB16(y, u, v, R, G, B); - STORE16_4(A, R, G, B, dst); - y += 16; - u += 16; - v += 16; - dst += 16 * 4; - length -= 16; - } - if (length > 8) { - uint8_t temp[4 * 16] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); - CALC_RGB16(temp, u, v, R, G, B); - STORE16_4(A, R, G, B, temp); - memcpy(dst, temp, length * 4 * sizeof(*dst)); - } else if (length > 0) { - uint8_t temp[4 * 8] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); - CALC_RGB8(temp, u, v, R, G, B); - STORE8_4(A, R, G, B, temp); - memcpy(dst, temp, length * 4 * sizeof(*dst)); - } -} - -static void YuvToRgba4444Line(const uint8_t* y, const uint8_t* u, - const uint8_t* v, uint8_t* dst, int length) { - v16u8 R, G, B, RG, BA, tmp0, tmp1; - while (length >= 16) { -#if (WEBP_SWAP_16BIT_CSP == 1) - CALC_RGBA4444(y, u, v, BA, RG, 16, dst); -#else - CALC_RGBA4444(y, u, v, RG, BA, 16, dst); -#endif - y += 16; - u += 16; - v += 16; - dst += 16 * 2; - length -= 16; - } - if (length > 8) { - uint8_t temp[2 * 16] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); -#if (WEBP_SWAP_16BIT_CSP == 1) - CALC_RGBA4444(temp, u, v, BA, RG, 16, temp); -#else - CALC_RGBA4444(temp, u, v, RG, BA, 16, temp); -#endif - memcpy(dst, temp, length * 2 * sizeof(*dst)); - } else if (length > 0) { - uint8_t temp[2 * 8] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); -#if (WEBP_SWAP_16BIT_CSP == 1) - CALC_RGBA4444(temp, u, v, BA, RG, 8, temp); -#else - CALC_RGBA4444(temp, u, v, RG, BA, 8, temp); -#endif - memcpy(dst, temp, length * 2 * sizeof(*dst)); - } -} - -static void YuvToRgb565Line(const uint8_t* y, const uint8_t* u, - const uint8_t* v, uint8_t* dst, int length) { - v16u8 R, G, B, RG, GB, tmp0, tmp1; - while (length >= 16) { -#if (WEBP_SWAP_16BIT_CSP == 1) - CALC_RGB565(y, u, v, GB, RG, 16, dst); -#else - CALC_RGB565(y, u, v, RG, GB, 16, dst); -#endif - y += 16; - u += 16; - v += 16; - dst += 16 * 2; - length -= 16; - } - if (length > 8) { - uint8_t temp[2 * 16] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); -#if (WEBP_SWAP_16BIT_CSP == 1) - CALC_RGB565(temp, u, v, GB, RG, 16, temp); -#else - CALC_RGB565(temp, u, v, RG, GB, 16, temp); -#endif - memcpy(dst, temp, length * 2 * sizeof(*dst)); - } else if (length > 0) { - uint8_t temp[2 * 8] = { 0 }; - memcpy(temp, y, length * sizeof(*temp)); -#if (WEBP_SWAP_16BIT_CSP == 1) - CALC_RGB565(temp, u, v, GB, RG, 8, temp); -#else - CALC_RGB565(temp, u, v, RG, GB, 8, temp); -#endif - memcpy(dst, temp, length * 2 * sizeof(*dst)); - } -} -#endif // WEBP_REDUCE_CSP - -#define UPSAMPLE_32PIXELS(a, b, c, d) do { \ - v16u8 s = __msa_aver_u_b(a, d); \ - v16u8 t = __msa_aver_u_b(b, c); \ - const v16u8 st = s ^ t; \ - v16u8 ad = a ^ d; \ - v16u8 bc = b ^ c; \ - v16u8 t0 = ad | bc; \ - v16u8 t1 = t0 | st; \ - v16u8 t2 = ANDI_B(t1, 1); \ - v16u8 t3 = __msa_aver_u_b(s, t); \ - const v16u8 k = t3 - t2; \ - v16u8 diag1, diag2; \ - AVER_UB2_UB(t, k, s, k, t0, t1); \ - bc = bc & st; \ - ad = ad & st; \ - t = t ^ k; \ - s = s ^ k; \ - t2 = bc | t; \ - t3 = ad | s; \ - t2 = ANDI_B(t2, 1); \ - t3 = ANDI_B(t3, 1); \ - SUB2(t0, t2, t1, t3, diag1, diag2); \ - AVER_UB2_UB(a, diag1, b, diag2, t0, t1); \ - ILVRL_B2_UB(t1, t0, a, b); \ - if (pbot_y != NULL) { \ - AVER_UB2_UB(c, diag2, d, diag1, t0, t1); \ - ILVRL_B2_UB(t1, t0, c, d); \ - } \ -} while (0) - -#define UPSAMPLE_FUNC(FUNC_NAME, FUNC, XSTEP) \ -static void FUNC_NAME(const uint8_t* top_y, const uint8_t* bot_y, \ - const uint8_t* top_u, const uint8_t* top_v, \ - const uint8_t* cur_u, const uint8_t* cur_v, \ - uint8_t* top_dst, uint8_t* bot_dst, int len) \ -{ \ - int size = (len - 1) >> 1; \ - uint8_t temp_u[64]; \ - uint8_t temp_v[64]; \ - const uint32_t tl_uv = ((top_u[0]) | ((top_v[0]) << 16)); \ - const uint32_t l_uv = ((cur_u[0]) | ((cur_v[0]) << 16)); \ - const uint32_t uv0 = (3 * tl_uv + l_uv + 0x00020002u) >> 2; \ - const uint8_t* ptop_y = &top_y[1]; \ - uint8_t* ptop_dst = top_dst + XSTEP; \ - const uint8_t* pbot_y = &bot_y[1]; \ - uint8_t* pbot_dst = bot_dst + XSTEP; \ - \ - FUNC(top_y[0], uv0 & 0xff, (uv0 >> 16), top_dst); \ - if (bot_y != NULL) { \ - const uint32_t uv1 = (3 * l_uv + tl_uv + 0x00020002u) >> 2; \ - FUNC(bot_y[0], uv1 & 0xff, (uv1 >> 16), bot_dst); \ - } \ - while (size >= 16) { \ - v16u8 tu0, tu1, tv0, tv1, cu0, cu1, cv0, cv1; \ - LD_UB2(top_u, 1, tu0, tu1); \ - LD_UB2(cur_u, 1, cu0, cu1); \ - LD_UB2(top_v, 1, tv0, tv1); \ - LD_UB2(cur_v, 1, cv0, cv1); \ - UPSAMPLE_32PIXELS(tu0, tu1, cu0, cu1); \ - UPSAMPLE_32PIXELS(tv0, tv1, cv0, cv1); \ - ST_UB4(tu0, tu1, cu0, cu1, &temp_u[0], 16); \ - ST_UB4(tv0, tv1, cv0, cv1, &temp_v[0], 16); \ - FUNC##Line(ptop_y, &temp_u[ 0], &temp_v[0], ptop_dst, 32); \ - if (bot_y != NULL) { \ - FUNC##Line(pbot_y, &temp_u[32], &temp_v[32], pbot_dst, 32); \ - } \ - ptop_y += 32; \ - pbot_y += 32; \ - ptop_dst += XSTEP * 32; \ - pbot_dst += XSTEP * 32; \ - top_u += 16; \ - top_v += 16; \ - cur_u += 16; \ - cur_v += 16; \ - size -= 16; \ - } \ - if (size > 0) { \ - v16u8 tu0, tu1, tv0, tv1, cu0, cu1, cv0, cv1; \ - memcpy(&temp_u[ 0], top_u, 17 * sizeof(uint8_t)); \ - memcpy(&temp_u[32], cur_u, 17 * sizeof(uint8_t)); \ - memcpy(&temp_v[ 0], top_v, 17 * sizeof(uint8_t)); \ - memcpy(&temp_v[32], cur_v, 17 * sizeof(uint8_t)); \ - LD_UB2(&temp_u[ 0], 1, tu0, tu1); \ - LD_UB2(&temp_u[32], 1, cu0, cu1); \ - LD_UB2(&temp_v[ 0], 1, tv0, tv1); \ - LD_UB2(&temp_v[32], 1, cv0, cv1); \ - UPSAMPLE_32PIXELS(tu0, tu1, cu0, cu1); \ - UPSAMPLE_32PIXELS(tv0, tv1, cv0, cv1); \ - ST_UB4(tu0, tu1, cu0, cu1, &temp_u[0], 16); \ - ST_UB4(tv0, tv1, cv0, cv1, &temp_v[0], 16); \ - FUNC##Line(ptop_y, &temp_u[ 0], &temp_v[0], ptop_dst, size * 2); \ - if (bot_y != NULL) { \ - FUNC##Line(pbot_y, &temp_u[32], &temp_v[32], pbot_dst, size * 2); \ - } \ - top_u += size; \ - top_v += size; \ - cur_u += size; \ - cur_v += size; \ - } \ - if (!(len & 1)) { \ - const uint32_t t0 = ((top_u[0]) | ((top_v[0]) << 16)); \ - const uint32_t c0 = ((cur_u[0]) | ((cur_v[0]) << 16)); \ - const uint32_t tmp0 = (3 * t0 + c0 + 0x00020002u) >> 2; \ - FUNC(top_y[len - 1], tmp0 & 0xff, (tmp0 >> 16), \ - top_dst + (len - 1) * XSTEP); \ - if (bot_y != NULL) { \ - const uint32_t tmp1 = (3 * c0 + t0 + 0x00020002u) >> 2; \ - FUNC(bot_y[len - 1], tmp1 & 0xff, (tmp1 >> 16), \ - bot_dst + (len - 1) * XSTEP); \ - } \ - } \ -} - -UPSAMPLE_FUNC(UpsampleRgbaLinePair, YuvToRgba, 4) -UPSAMPLE_FUNC(UpsampleBgraLinePair, YuvToBgra, 4) -#if !defined(WEBP_REDUCE_CSP) -UPSAMPLE_FUNC(UpsampleRgbLinePair, YuvToRgb, 3) -UPSAMPLE_FUNC(UpsampleBgrLinePair, YuvToBgr, 3) -UPSAMPLE_FUNC(UpsampleArgbLinePair, YuvToArgb, 4) -UPSAMPLE_FUNC(UpsampleRgba4444LinePair, YuvToRgba4444, 2) -UPSAMPLE_FUNC(UpsampleRgb565LinePair, YuvToRgb565, 2) -#endif // WEBP_REDUCE_CSP - -//------------------------------------------------------------------------------ -// Entry point - -extern WebPUpsampleLinePairFunc WebPUpsamplers[/* MODE_LAST */]; - -extern void WebPInitUpsamplersMSA(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersMSA(void) { - WebPUpsamplers[MODE_RGBA] = UpsampleRgbaLinePair; - WebPUpsamplers[MODE_BGRA] = UpsampleBgraLinePair; - WebPUpsamplers[MODE_rgbA] = UpsampleRgbaLinePair; - WebPUpsamplers[MODE_bgrA] = UpsampleBgraLinePair; -#if !defined(WEBP_REDUCE_CSP) - WebPUpsamplers[MODE_RGB] = UpsampleRgbLinePair; - WebPUpsamplers[MODE_BGR] = UpsampleBgrLinePair; - WebPUpsamplers[MODE_ARGB] = UpsampleArgbLinePair; - WebPUpsamplers[MODE_Argb] = UpsampleArgbLinePair; - WebPUpsamplers[MODE_RGB_565] = UpsampleRgb565LinePair; - WebPUpsamplers[MODE_RGBA_4444] = UpsampleRgba4444LinePair; - WebPUpsamplers[MODE_rgbA_4444] = UpsampleRgba4444LinePair; -#endif // WEBP_REDUCE_CSP -} - -#endif // FANCY_UPSAMPLING - -#endif // WEBP_USE_MSA - -#if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_MSA)) -WEBP_DSP_INIT_STUB(WebPInitUpsamplersMSA) -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_neon.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_neon.c deleted file mode 100644 index 6ba71a7d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_neon.c +++ /dev/null @@ -1,285 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// NEON version of YUV to RGB upsampling functions. -// -// Author: mans@mansr.com (Mans Rullgard) -// Based on SSE code by: somnath@google.com (Somnath Banerjee) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_NEON) - -#include -#include -#include -#include "src/dsp/neon.h" -#include "src/dsp/yuv.h" - -#ifdef FANCY_UPSAMPLING - -//----------------------------------------------------------------------------- -// U/V upsampling - -// Loads 9 pixels each from rows r1 and r2 and generates 16 pixels. -#define UPSAMPLE_16PIXELS(r1, r2, out) do { \ - const uint8x8_t a = vld1_u8(r1 + 0); \ - const uint8x8_t b = vld1_u8(r1 + 1); \ - const uint8x8_t c = vld1_u8(r2 + 0); \ - const uint8x8_t d = vld1_u8(r2 + 1); \ - /* a + b + c + d */ \ - const uint16x8_t ad = vaddl_u8(a, d); \ - const uint16x8_t bc = vaddl_u8(b, c); \ - const uint16x8_t abcd = vaddq_u16(ad, bc); \ - /* 3a + b + c + 3d */ \ - const uint16x8_t al = vaddq_u16(abcd, vshlq_n_u16(ad, 1)); \ - /* a + 3b + 3c + d */ \ - const uint16x8_t bl = vaddq_u16(abcd, vshlq_n_u16(bc, 1)); \ - \ - const uint8x8_t diag2 = vshrn_n_u16(al, 3); \ - const uint8x8_t diag1 = vshrn_n_u16(bl, 3); \ - \ - const uint8x8_t A = vrhadd_u8(a, diag1); \ - const uint8x8_t B = vrhadd_u8(b, diag2); \ - const uint8x8_t C = vrhadd_u8(c, diag2); \ - const uint8x8_t D = vrhadd_u8(d, diag1); \ - \ - uint8x8x2_t A_B, C_D; \ - INIT_VECTOR2(A_B, A, B); \ - INIT_VECTOR2(C_D, C, D); \ - vst2_u8(out + 0, A_B); \ - vst2_u8(out + 32, C_D); \ -} while (0) - -// Turn the macro into a function for reducing code-size when non-critical -static void Upsample16Pixels_NEON(const uint8_t* r1, const uint8_t* r2, - uint8_t* out) { - UPSAMPLE_16PIXELS(r1, r2, out); -} - -#define UPSAMPLE_LAST_BLOCK(tb, bb, num_pixels, out) { \ - uint8_t r1[9], r2[9]; \ - memcpy(r1, (tb), (num_pixels)); \ - memcpy(r2, (bb), (num_pixels)); \ - /* replicate last byte */ \ - memset(r1 + (num_pixels), r1[(num_pixels) - 1], 9 - (num_pixels)); \ - memset(r2 + (num_pixels), r2[(num_pixels) - 1], 9 - (num_pixels)); \ - Upsample16Pixels_NEON(r1, r2, out); \ -} - -//----------------------------------------------------------------------------- -// YUV->RGB conversion - -// note: we represent the 33050 large constant as 32768 + 282 -static const int16_t kCoeffs1[4] = { 19077, 26149, 6419, 13320 }; - -#define v255 vdup_n_u8(255) - -#define STORE_Rgb(out, r, g, b) do { \ - uint8x8x3_t r_g_b; \ - INIT_VECTOR3(r_g_b, r, g, b); \ - vst3_u8(out, r_g_b); \ -} while (0) - -#define STORE_Bgr(out, r, g, b) do { \ - uint8x8x3_t b_g_r; \ - INIT_VECTOR3(b_g_r, b, g, r); \ - vst3_u8(out, b_g_r); \ -} while (0) - -#define STORE_Rgba(out, r, g, b) do { \ - uint8x8x4_t r_g_b_v255; \ - INIT_VECTOR4(r_g_b_v255, r, g, b, v255); \ - vst4_u8(out, r_g_b_v255); \ -} while (0) - -#define STORE_Bgra(out, r, g, b) do { \ - uint8x8x4_t b_g_r_v255; \ - INIT_VECTOR4(b_g_r_v255, b, g, r, v255); \ - vst4_u8(out, b_g_r_v255); \ -} while (0) - -#define STORE_Argb(out, r, g, b) do { \ - uint8x8x4_t v255_r_g_b; \ - INIT_VECTOR4(v255_r_g_b, v255, r, g, b); \ - vst4_u8(out, v255_r_g_b); \ -} while (0) - -#if !defined(WEBP_SWAP_16BIT_CSP) -#define ZIP_U8(lo, hi) vzip_u8((lo), (hi)) -#else -#define ZIP_U8(lo, hi) vzip_u8((hi), (lo)) -#endif - -#define STORE_Rgba4444(out, r, g, b) do { \ - const uint8x8_t rg = vsri_n_u8(r, g, 4); /* shift g, insert r */ \ - const uint8x8_t ba = vsri_n_u8(b, v255, 4); /* shift a, insert b */ \ - const uint8x8x2_t rgba4444 = ZIP_U8(rg, ba); \ - vst1q_u8(out, vcombine_u8(rgba4444.val[0], rgba4444.val[1])); \ -} while (0) - -#define STORE_Rgb565(out, r, g, b) do { \ - const uint8x8_t rg = vsri_n_u8(r, g, 5); /* shift g and insert r */ \ - const uint8x8_t g1 = vshl_n_u8(g, 3); /* pre-shift g: 3bits */ \ - const uint8x8_t gb = vsri_n_u8(g1, b, 3); /* shift b and insert g */ \ - const uint8x8x2_t rgb565 = ZIP_U8(rg, gb); \ - vst1q_u8(out, vcombine_u8(rgb565.val[0], rgb565.val[1])); \ -} while (0) - -#define CONVERT8(FMT, XSTEP, N, src_y, src_uv, out, cur_x) do { \ - int i; \ - for (i = 0; i < N; i += 8) { \ - const int off = ((cur_x) + i) * XSTEP; \ - const uint8x8_t y = vld1_u8((src_y) + (cur_x) + i); \ - const uint8x8_t u = vld1_u8((src_uv) + i + 0); \ - const uint8x8_t v = vld1_u8((src_uv) + i + 16); \ - const int16x8_t Y0 = vreinterpretq_s16_u16(vshll_n_u8(y, 7)); \ - const int16x8_t U0 = vreinterpretq_s16_u16(vshll_n_u8(u, 7)); \ - const int16x8_t V0 = vreinterpretq_s16_u16(vshll_n_u8(v, 7)); \ - const int16x8_t Y1 = vqdmulhq_lane_s16(Y0, coeff1, 0); \ - const int16x8_t R0 = vqdmulhq_lane_s16(V0, coeff1, 1); \ - const int16x8_t G0 = vqdmulhq_lane_s16(U0, coeff1, 2); \ - const int16x8_t G1 = vqdmulhq_lane_s16(V0, coeff1, 3); \ - const int16x8_t B0 = vqdmulhq_n_s16(U0, 282); \ - const int16x8_t R1 = vqaddq_s16(Y1, R_Rounder); \ - const int16x8_t G2 = vqaddq_s16(Y1, G_Rounder); \ - const int16x8_t B1 = vqaddq_s16(Y1, B_Rounder); \ - const int16x8_t R2 = vqaddq_s16(R0, R1); \ - const int16x8_t G3 = vqaddq_s16(G0, G1); \ - const int16x8_t B2 = vqaddq_s16(B0, B1); \ - const int16x8_t G4 = vqsubq_s16(G2, G3); \ - const int16x8_t B3 = vqaddq_s16(B2, U0); \ - const uint8x8_t R = vqshrun_n_s16(R2, YUV_FIX2); \ - const uint8x8_t G = vqshrun_n_s16(G4, YUV_FIX2); \ - const uint8x8_t B = vqshrun_n_s16(B3, YUV_FIX2); \ - STORE_ ## FMT(out + off, R, G, B); \ - } \ -} while (0) - -#define CONVERT1(FUNC, XSTEP, N, src_y, src_uv, rgb, cur_x) { \ - int i; \ - for (i = 0; i < N; i++) { \ - const int off = ((cur_x) + i) * XSTEP; \ - const int y = src_y[(cur_x) + i]; \ - const int u = (src_uv)[i]; \ - const int v = (src_uv)[i + 16]; \ - FUNC(y, u, v, rgb + off); \ - } \ -} - -#define CONVERT2RGB_8(FMT, XSTEP, top_y, bottom_y, uv, \ - top_dst, bottom_dst, cur_x, len) { \ - CONVERT8(FMT, XSTEP, len, top_y, uv, top_dst, cur_x); \ - if (bottom_y != NULL) { \ - CONVERT8(FMT, XSTEP, len, bottom_y, (uv) + 32, bottom_dst, cur_x); \ - } \ -} - -#define CONVERT2RGB_1(FUNC, XSTEP, top_y, bottom_y, uv, \ - top_dst, bottom_dst, cur_x, len) { \ - CONVERT1(FUNC, XSTEP, len, top_y, uv, top_dst, cur_x); \ - if (bottom_y != NULL) { \ - CONVERT1(FUNC, XSTEP, len, bottom_y, (uv) + 32, bottom_dst, cur_x); \ - } \ -} - -#define NEON_UPSAMPLE_FUNC(FUNC_NAME, FMT, XSTEP) \ -static void FUNC_NAME(const uint8_t* top_y, const uint8_t* bottom_y, \ - const uint8_t* top_u, const uint8_t* top_v, \ - const uint8_t* cur_u, const uint8_t* cur_v, \ - uint8_t* top_dst, uint8_t* bottom_dst, int len) { \ - int block; \ - /* 16 byte aligned array to cache reconstructed u and v */ \ - uint8_t uv_buf[2 * 32 + 15]; \ - uint8_t* const r_uv = (uint8_t*)((uintptr_t)(uv_buf + 15) & ~15); \ - const int uv_len = (len + 1) >> 1; \ - /* 9 pixels must be read-able for each block */ \ - const int num_blocks = (uv_len - 1) >> 3; \ - const int leftover = uv_len - num_blocks * 8; \ - const int last_pos = 1 + 16 * num_blocks; \ - \ - const int u_diag = ((top_u[0] + cur_u[0]) >> 1) + 1; \ - const int v_diag = ((top_v[0] + cur_v[0]) >> 1) + 1; \ - \ - const int16x4_t coeff1 = vld1_s16(kCoeffs1); \ - const int16x8_t R_Rounder = vdupq_n_s16(-14234); \ - const int16x8_t G_Rounder = vdupq_n_s16(8708); \ - const int16x8_t B_Rounder = vdupq_n_s16(-17685); \ - \ - /* Treat the first pixel in regular way */ \ - assert(top_y != NULL); \ - { \ - const int u0 = (top_u[0] + u_diag) >> 1; \ - const int v0 = (top_v[0] + v_diag) >> 1; \ - VP8YuvTo ## FMT(top_y[0], u0, v0, top_dst); \ - } \ - if (bottom_y != NULL) { \ - const int u0 = (cur_u[0] + u_diag) >> 1; \ - const int v0 = (cur_v[0] + v_diag) >> 1; \ - VP8YuvTo ## FMT(bottom_y[0], u0, v0, bottom_dst); \ - } \ - \ - for (block = 0; block < num_blocks; ++block) { \ - UPSAMPLE_16PIXELS(top_u, cur_u, r_uv); \ - UPSAMPLE_16PIXELS(top_v, cur_v, r_uv + 16); \ - CONVERT2RGB_8(FMT, XSTEP, top_y, bottom_y, r_uv, \ - top_dst, bottom_dst, 16 * block + 1, 16); \ - top_u += 8; \ - cur_u += 8; \ - top_v += 8; \ - cur_v += 8; \ - } \ - \ - UPSAMPLE_LAST_BLOCK(top_u, cur_u, leftover, r_uv); \ - UPSAMPLE_LAST_BLOCK(top_v, cur_v, leftover, r_uv + 16); \ - CONVERT2RGB_1(VP8YuvTo ## FMT, XSTEP, top_y, bottom_y, r_uv, \ - top_dst, bottom_dst, last_pos, len - last_pos); \ -} - -// NEON variants of the fancy upsampler. -NEON_UPSAMPLE_FUNC(UpsampleRgbaLinePair_NEON, Rgba, 4) -NEON_UPSAMPLE_FUNC(UpsampleBgraLinePair_NEON, Bgra, 4) -#if !defined(WEBP_REDUCE_CSP) -NEON_UPSAMPLE_FUNC(UpsampleRgbLinePair_NEON, Rgb, 3) -NEON_UPSAMPLE_FUNC(UpsampleBgrLinePair_NEON, Bgr, 3) -NEON_UPSAMPLE_FUNC(UpsampleArgbLinePair_NEON, Argb, 4) -NEON_UPSAMPLE_FUNC(UpsampleRgba4444LinePair_NEON, Rgba4444, 2) -NEON_UPSAMPLE_FUNC(UpsampleRgb565LinePair_NEON, Rgb565, 2) -#endif // WEBP_REDUCE_CSP - -//------------------------------------------------------------------------------ -// Entry point - -extern WebPUpsampleLinePairFunc WebPUpsamplers[/* MODE_LAST */]; - -extern void WebPInitUpsamplersNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersNEON(void) { - WebPUpsamplers[MODE_RGBA] = UpsampleRgbaLinePair_NEON; - WebPUpsamplers[MODE_BGRA] = UpsampleBgraLinePair_NEON; - WebPUpsamplers[MODE_rgbA] = UpsampleRgbaLinePair_NEON; - WebPUpsamplers[MODE_bgrA] = UpsampleBgraLinePair_NEON; -#if !defined(WEBP_REDUCE_CSP) - WebPUpsamplers[MODE_RGB] = UpsampleRgbLinePair_NEON; - WebPUpsamplers[MODE_BGR] = UpsampleBgrLinePair_NEON; - WebPUpsamplers[MODE_ARGB] = UpsampleArgbLinePair_NEON; - WebPUpsamplers[MODE_Argb] = UpsampleArgbLinePair_NEON; - WebPUpsamplers[MODE_RGB_565] = UpsampleRgb565LinePair_NEON; - WebPUpsamplers[MODE_RGBA_4444] = UpsampleRgba4444LinePair_NEON; - WebPUpsamplers[MODE_rgbA_4444] = UpsampleRgba4444LinePair_NEON; -#endif // WEBP_REDUCE_CSP -} - -#endif // FANCY_UPSAMPLING - -#endif // WEBP_USE_NEON - -#if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_NEON)) -WEBP_DSP_INIT_STUB(WebPInitUpsamplersNEON) -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_sse2.c deleted file mode 100644 index 340f1e2a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_sse2.c +++ /dev/null @@ -1,267 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE2 version of YUV to RGB upsampling functions. -// -// Author: somnath@google.com (Somnath Banerjee) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE2) - -#include -#include -#include -#include "src/dsp/yuv.h" - -#ifdef FANCY_UPSAMPLING - -// We compute (9*a + 3*b + 3*c + d + 8) / 16 as follows -// u = (9*a + 3*b + 3*c + d + 8) / 16 -// = (a + (a + 3*b + 3*c + d) / 8 + 1) / 2 -// = (a + m + 1) / 2 -// where m = (a + 3*b + 3*c + d) / 8 -// = ((a + b + c + d) / 2 + b + c) / 4 -// -// Let's say k = (a + b + c + d) / 4. -// We can compute k as -// k = (s + t + 1) / 2 - ((a^d) | (b^c) | (s^t)) & 1 -// where s = (a + d + 1) / 2 and t = (b + c + 1) / 2 -// -// Then m can be written as -// m = (k + t + 1) / 2 - (((b^c) & (s^t)) | (k^t)) & 1 - -// Computes out = (k + in + 1) / 2 - ((ij & (s^t)) | (k^in)) & 1 -#define GET_M(ij, in, out) do { \ - const __m128i tmp0 = _mm_avg_epu8(k, (in)); /* (k + in + 1) / 2 */ \ - const __m128i tmp1 = _mm_and_si128((ij), st); /* (ij) & (s^t) */ \ - const __m128i tmp2 = _mm_xor_si128(k, (in)); /* (k^in) */ \ - const __m128i tmp3 = _mm_or_si128(tmp1, tmp2); /* ((ij) & (s^t)) | (k^in) */\ - const __m128i tmp4 = _mm_and_si128(tmp3, one); /* & 1 -> lsb_correction */ \ - (out) = _mm_sub_epi8(tmp0, tmp4); /* (k + in + 1) / 2 - lsb_correction */ \ -} while (0) - -// pack and store two alternating pixel rows -#define PACK_AND_STORE(a, b, da, db, out) do { \ - const __m128i t_a = _mm_avg_epu8(a, da); /* (9a + 3b + 3c + d + 8) / 16 */ \ - const __m128i t_b = _mm_avg_epu8(b, db); /* (3a + 9b + c + 3d + 8) / 16 */ \ - const __m128i t_1 = _mm_unpacklo_epi8(t_a, t_b); \ - const __m128i t_2 = _mm_unpackhi_epi8(t_a, t_b); \ - _mm_store_si128(((__m128i*)(out)) + 0, t_1); \ - _mm_store_si128(((__m128i*)(out)) + 1, t_2); \ -} while (0) - -// Loads 17 pixels each from rows r1 and r2 and generates 32 pixels. -#define UPSAMPLE_32PIXELS(r1, r2, out) { \ - const __m128i one = _mm_set1_epi8(1); \ - const __m128i a = _mm_loadu_si128((const __m128i*)&(r1)[0]); \ - const __m128i b = _mm_loadu_si128((const __m128i*)&(r1)[1]); \ - const __m128i c = _mm_loadu_si128((const __m128i*)&(r2)[0]); \ - const __m128i d = _mm_loadu_si128((const __m128i*)&(r2)[1]); \ - \ - const __m128i s = _mm_avg_epu8(a, d); /* s = (a + d + 1) / 2 */ \ - const __m128i t = _mm_avg_epu8(b, c); /* t = (b + c + 1) / 2 */ \ - const __m128i st = _mm_xor_si128(s, t); /* st = s^t */ \ - \ - const __m128i ad = _mm_xor_si128(a, d); /* ad = a^d */ \ - const __m128i bc = _mm_xor_si128(b, c); /* bc = b^c */ \ - \ - const __m128i t1 = _mm_or_si128(ad, bc); /* (a^d) | (b^c) */ \ - const __m128i t2 = _mm_or_si128(t1, st); /* (a^d) | (b^c) | (s^t) */ \ - const __m128i t3 = _mm_and_si128(t2, one); /* (a^d) | (b^c) | (s^t) & 1 */ \ - const __m128i t4 = _mm_avg_epu8(s, t); \ - const __m128i k = _mm_sub_epi8(t4, t3); /* k = (a + b + c + d) / 4 */ \ - __m128i diag1, diag2; \ - \ - GET_M(bc, t, diag1); /* diag1 = (a + 3b + 3c + d) / 8 */ \ - GET_M(ad, s, diag2); /* diag2 = (3a + b + c + 3d) / 8 */ \ - \ - /* pack the alternate pixels */ \ - PACK_AND_STORE(a, b, diag1, diag2, (out) + 0); /* store top */ \ - PACK_AND_STORE(c, d, diag2, diag1, (out) + 2 * 32); /* store bottom */ \ -} - -// Turn the macro into a function for reducing code-size when non-critical -static void Upsample32Pixels_SSE2(const uint8_t r1[], const uint8_t r2[], - uint8_t* const out) { - UPSAMPLE_32PIXELS(r1, r2, out); -} - -#define UPSAMPLE_LAST_BLOCK(tb, bb, num_pixels, out) { \ - uint8_t r1[17], r2[17]; \ - memcpy(r1, (tb), (num_pixels)); \ - memcpy(r2, (bb), (num_pixels)); \ - /* replicate last byte */ \ - memset(r1 + (num_pixels), r1[(num_pixels) - 1], 17 - (num_pixels)); \ - memset(r2 + (num_pixels), r2[(num_pixels) - 1], 17 - (num_pixels)); \ - /* using the shared function instead of the macro saves ~3k code size */ \ - Upsample32Pixels_SSE2(r1, r2, out); \ -} - -#define CONVERT2RGB_32(FUNC, XSTEP, top_y, bottom_y, \ - top_dst, bottom_dst, cur_x) do { \ - FUNC##32_SSE2((top_y) + (cur_x), r_u, r_v, (top_dst) + (cur_x) * (XSTEP)); \ - if ((bottom_y) != NULL) { \ - FUNC##32_SSE2((bottom_y) + (cur_x), r_u + 64, r_v + 64, \ - (bottom_dst) + (cur_x) * (XSTEP)); \ - } \ -} while (0) - -#define SSE2_UPSAMPLE_FUNC(FUNC_NAME, FUNC, XSTEP) \ -static void FUNC_NAME(const uint8_t* top_y, const uint8_t* bottom_y, \ - const uint8_t* top_u, const uint8_t* top_v, \ - const uint8_t* cur_u, const uint8_t* cur_v, \ - uint8_t* top_dst, uint8_t* bottom_dst, int len) { \ - int uv_pos, pos; \ - /* 16byte-aligned array to cache reconstructed u and v */ \ - uint8_t uv_buf[14 * 32 + 15] = { 0 }; \ - uint8_t* const r_u = (uint8_t*)((uintptr_t)(uv_buf + 15) & ~15); \ - uint8_t* const r_v = r_u + 32; \ - \ - assert(top_y != NULL); \ - { /* Treat the first pixel in regular way */ \ - const int u_diag = ((top_u[0] + cur_u[0]) >> 1) + 1; \ - const int v_diag = ((top_v[0] + cur_v[0]) >> 1) + 1; \ - const int u0_t = (top_u[0] + u_diag) >> 1; \ - const int v0_t = (top_v[0] + v_diag) >> 1; \ - FUNC(top_y[0], u0_t, v0_t, top_dst); \ - if (bottom_y != NULL) { \ - const int u0_b = (cur_u[0] + u_diag) >> 1; \ - const int v0_b = (cur_v[0] + v_diag) >> 1; \ - FUNC(bottom_y[0], u0_b, v0_b, bottom_dst); \ - } \ - } \ - /* For UPSAMPLE_32PIXELS, 17 u/v values must be read-able for each block */ \ - for (pos = 1, uv_pos = 0; pos + 32 + 1 <= len; pos += 32, uv_pos += 16) { \ - UPSAMPLE_32PIXELS(top_u + uv_pos, cur_u + uv_pos, r_u); \ - UPSAMPLE_32PIXELS(top_v + uv_pos, cur_v + uv_pos, r_v); \ - CONVERT2RGB_32(FUNC, XSTEP, top_y, bottom_y, top_dst, bottom_dst, pos); \ - } \ - if (len > 1) { \ - const int left_over = ((len + 1) >> 1) - (pos >> 1); \ - uint8_t* const tmp_top_dst = r_u + 4 * 32; \ - uint8_t* const tmp_bottom_dst = tmp_top_dst + 4 * 32; \ - uint8_t* const tmp_top = tmp_bottom_dst + 4 * 32; \ - uint8_t* const tmp_bottom = (bottom_y == NULL) ? NULL : tmp_top + 32; \ - assert(left_over > 0); \ - UPSAMPLE_LAST_BLOCK(top_u + uv_pos, cur_u + uv_pos, left_over, r_u); \ - UPSAMPLE_LAST_BLOCK(top_v + uv_pos, cur_v + uv_pos, left_over, r_v); \ - memcpy(tmp_top, top_y + pos, len - pos); \ - if (bottom_y != NULL) memcpy(tmp_bottom, bottom_y + pos, len - pos); \ - CONVERT2RGB_32(FUNC, XSTEP, tmp_top, tmp_bottom, tmp_top_dst, \ - tmp_bottom_dst, 0); \ - memcpy(top_dst + pos * (XSTEP), tmp_top_dst, (len - pos) * (XSTEP)); \ - if (bottom_y != NULL) { \ - memcpy(bottom_dst + pos * (XSTEP), tmp_bottom_dst, \ - (len - pos) * (XSTEP)); \ - } \ - } \ -} - -// SSE2 variants of the fancy upsampler. -SSE2_UPSAMPLE_FUNC(UpsampleRgbaLinePair_SSE2, VP8YuvToRgba, 4) -SSE2_UPSAMPLE_FUNC(UpsampleBgraLinePair_SSE2, VP8YuvToBgra, 4) - -#if !defined(WEBP_REDUCE_CSP) -SSE2_UPSAMPLE_FUNC(UpsampleRgbLinePair_SSE2, VP8YuvToRgb, 3) -SSE2_UPSAMPLE_FUNC(UpsampleBgrLinePair_SSE2, VP8YuvToBgr, 3) -SSE2_UPSAMPLE_FUNC(UpsampleArgbLinePair_SSE2, VP8YuvToArgb, 4) -SSE2_UPSAMPLE_FUNC(UpsampleRgba4444LinePair_SSE2, VP8YuvToRgba4444, 2) -SSE2_UPSAMPLE_FUNC(UpsampleRgb565LinePair_SSE2, VP8YuvToRgb565, 2) -#endif // WEBP_REDUCE_CSP - -#undef GET_M -#undef PACK_AND_STORE -#undef UPSAMPLE_32PIXELS -#undef UPSAMPLE_LAST_BLOCK -#undef CONVERT2RGB -#undef CONVERT2RGB_32 -#undef SSE2_UPSAMPLE_FUNC - -//------------------------------------------------------------------------------ -// Entry point - -extern WebPUpsampleLinePairFunc WebPUpsamplers[/* MODE_LAST */]; - -extern void WebPInitUpsamplersSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersSSE2(void) { - WebPUpsamplers[MODE_RGBA] = UpsampleRgbaLinePair_SSE2; - WebPUpsamplers[MODE_BGRA] = UpsampleBgraLinePair_SSE2; - WebPUpsamplers[MODE_rgbA] = UpsampleRgbaLinePair_SSE2; - WebPUpsamplers[MODE_bgrA] = UpsampleBgraLinePair_SSE2; -#if !defined(WEBP_REDUCE_CSP) - WebPUpsamplers[MODE_RGB] = UpsampleRgbLinePair_SSE2; - WebPUpsamplers[MODE_BGR] = UpsampleBgrLinePair_SSE2; - WebPUpsamplers[MODE_ARGB] = UpsampleArgbLinePair_SSE2; - WebPUpsamplers[MODE_Argb] = UpsampleArgbLinePair_SSE2; - WebPUpsamplers[MODE_RGB_565] = UpsampleRgb565LinePair_SSE2; - WebPUpsamplers[MODE_RGBA_4444] = UpsampleRgba4444LinePair_SSE2; - WebPUpsamplers[MODE_rgbA_4444] = UpsampleRgba4444LinePair_SSE2; -#endif // WEBP_REDUCE_CSP -} - -#endif // FANCY_UPSAMPLING - -//------------------------------------------------------------------------------ - -extern WebPYUV444Converter WebPYUV444Converters[/* MODE_LAST */]; -extern void WebPInitYUV444ConvertersSSE2(void); - -#define YUV444_FUNC(FUNC_NAME, CALL, CALL_C, XSTEP) \ -extern void CALL_C(const uint8_t* y, const uint8_t* u, const uint8_t* v, \ - uint8_t* dst, int len); \ -static void FUNC_NAME(const uint8_t* y, const uint8_t* u, const uint8_t* v, \ - uint8_t* dst, int len) { \ - int i; \ - const int max_len = len & ~31; \ - for (i = 0; i < max_len; i += 32) { \ - CALL(y + i, u + i, v + i, dst + i * (XSTEP)); \ - } \ - if (i < len) { /* C-fallback */ \ - CALL_C(y + i, u + i, v + i, dst + i * (XSTEP), len - i); \ - } \ -} - -YUV444_FUNC(Yuv444ToRgba_SSE2, VP8YuvToRgba32_SSE2, WebPYuv444ToRgba_C, 4); -YUV444_FUNC(Yuv444ToBgra_SSE2, VP8YuvToBgra32_SSE2, WebPYuv444ToBgra_C, 4); -#if !defined(WEBP_REDUCE_CSP) -YUV444_FUNC(Yuv444ToRgb_SSE2, VP8YuvToRgb32_SSE2, WebPYuv444ToRgb_C, 3); -YUV444_FUNC(Yuv444ToBgr_SSE2, VP8YuvToBgr32_SSE2, WebPYuv444ToBgr_C, 3); -YUV444_FUNC(Yuv444ToArgb_SSE2, VP8YuvToArgb32_SSE2, WebPYuv444ToArgb_C, 4) -YUV444_FUNC(Yuv444ToRgba4444_SSE2, VP8YuvToRgba444432_SSE2, \ - WebPYuv444ToRgba4444_C, 2) -YUV444_FUNC(Yuv444ToRgb565_SSE2, VP8YuvToRgb56532_SSE2, WebPYuv444ToRgb565_C, 2) -#endif // WEBP_REDUCE_CSP - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitYUV444ConvertersSSE2(void) { - WebPYUV444Converters[MODE_RGBA] = Yuv444ToRgba_SSE2; - WebPYUV444Converters[MODE_BGRA] = Yuv444ToBgra_SSE2; - WebPYUV444Converters[MODE_rgbA] = Yuv444ToRgba_SSE2; - WebPYUV444Converters[MODE_bgrA] = Yuv444ToBgra_SSE2; -#if !defined(WEBP_REDUCE_CSP) - WebPYUV444Converters[MODE_RGB] = Yuv444ToRgb_SSE2; - WebPYUV444Converters[MODE_BGR] = Yuv444ToBgr_SSE2; - WebPYUV444Converters[MODE_ARGB] = Yuv444ToArgb_SSE2; - WebPYUV444Converters[MODE_RGBA_4444] = Yuv444ToRgba4444_SSE2; - WebPYUV444Converters[MODE_RGB_565] = Yuv444ToRgb565_SSE2; - WebPYUV444Converters[MODE_Argb] = Yuv444ToArgb_SSE2; - WebPYUV444Converters[MODE_rgbA_4444] = Yuv444ToRgba4444_SSE2; -#endif // WEBP_REDUCE_CSP -} - -#else - -WEBP_DSP_INIT_STUB(WebPInitYUV444ConvertersSSE2) - -#endif // WEBP_USE_SSE2 - -#if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_SSE2)) -WEBP_DSP_INIT_STUB(WebPInitUpsamplersSSE2) -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_sse41.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_sse41.c deleted file mode 100644 index 648d4560..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/upsampling_sse41.c +++ /dev/null @@ -1,239 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// SSE41 version of YUV to RGB upsampling functions. -// -// Author: somnath@google.com (Somnath Banerjee) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_SSE41) - -#include -#include -#include -#include "src/dsp/yuv.h" - -#ifdef FANCY_UPSAMPLING - -#if !defined(WEBP_REDUCE_CSP) - -// We compute (9*a + 3*b + 3*c + d + 8) / 16 as follows -// u = (9*a + 3*b + 3*c + d + 8) / 16 -// = (a + (a + 3*b + 3*c + d) / 8 + 1) / 2 -// = (a + m + 1) / 2 -// where m = (a + 3*b + 3*c + d) / 8 -// = ((a + b + c + d) / 2 + b + c) / 4 -// -// Let's say k = (a + b + c + d) / 4. -// We can compute k as -// k = (s + t + 1) / 2 - ((a^d) | (b^c) | (s^t)) & 1 -// where s = (a + d + 1) / 2 and t = (b + c + 1) / 2 -// -// Then m can be written as -// m = (k + t + 1) / 2 - (((b^c) & (s^t)) | (k^t)) & 1 - -// Computes out = (k + in + 1) / 2 - ((ij & (s^t)) | (k^in)) & 1 -#define GET_M(ij, in, out) do { \ - const __m128i tmp0 = _mm_avg_epu8(k, (in)); /* (k + in + 1) / 2 */ \ - const __m128i tmp1 = _mm_and_si128((ij), st); /* (ij) & (s^t) */ \ - const __m128i tmp2 = _mm_xor_si128(k, (in)); /* (k^in) */ \ - const __m128i tmp3 = _mm_or_si128(tmp1, tmp2); /* ((ij) & (s^t)) | (k^in) */\ - const __m128i tmp4 = _mm_and_si128(tmp3, one); /* & 1 -> lsb_correction */ \ - (out) = _mm_sub_epi8(tmp0, tmp4); /* (k + in + 1) / 2 - lsb_correction */ \ -} while (0) - -// pack and store two alternating pixel rows -#define PACK_AND_STORE(a, b, da, db, out) do { \ - const __m128i t_a = _mm_avg_epu8(a, da); /* (9a + 3b + 3c + d + 8) / 16 */ \ - const __m128i t_b = _mm_avg_epu8(b, db); /* (3a + 9b + c + 3d + 8) / 16 */ \ - const __m128i t_1 = _mm_unpacklo_epi8(t_a, t_b); \ - const __m128i t_2 = _mm_unpackhi_epi8(t_a, t_b); \ - _mm_store_si128(((__m128i*)(out)) + 0, t_1); \ - _mm_store_si128(((__m128i*)(out)) + 1, t_2); \ -} while (0) - -// Loads 17 pixels each from rows r1 and r2 and generates 32 pixels. -#define UPSAMPLE_32PIXELS(r1, r2, out) { \ - const __m128i one = _mm_set1_epi8(1); \ - const __m128i a = _mm_loadu_si128((const __m128i*)&(r1)[0]); \ - const __m128i b = _mm_loadu_si128((const __m128i*)&(r1)[1]); \ - const __m128i c = _mm_loadu_si128((const __m128i*)&(r2)[0]); \ - const __m128i d = _mm_loadu_si128((const __m128i*)&(r2)[1]); \ - \ - const __m128i s = _mm_avg_epu8(a, d); /* s = (a + d + 1) / 2 */ \ - const __m128i t = _mm_avg_epu8(b, c); /* t = (b + c + 1) / 2 */ \ - const __m128i st = _mm_xor_si128(s, t); /* st = s^t */ \ - \ - const __m128i ad = _mm_xor_si128(a, d); /* ad = a^d */ \ - const __m128i bc = _mm_xor_si128(b, c); /* bc = b^c */ \ - \ - const __m128i t1 = _mm_or_si128(ad, bc); /* (a^d) | (b^c) */ \ - const __m128i t2 = _mm_or_si128(t1, st); /* (a^d) | (b^c) | (s^t) */ \ - const __m128i t3 = _mm_and_si128(t2, one); /* (a^d) | (b^c) | (s^t) & 1 */ \ - const __m128i t4 = _mm_avg_epu8(s, t); \ - const __m128i k = _mm_sub_epi8(t4, t3); /* k = (a + b + c + d) / 4 */ \ - __m128i diag1, diag2; \ - \ - GET_M(bc, t, diag1); /* diag1 = (a + 3b + 3c + d) / 8 */ \ - GET_M(ad, s, diag2); /* diag2 = (3a + b + c + 3d) / 8 */ \ - \ - /* pack the alternate pixels */ \ - PACK_AND_STORE(a, b, diag1, diag2, (out) + 0); /* store top */ \ - PACK_AND_STORE(c, d, diag2, diag1, (out) + 2 * 32); /* store bottom */ \ -} - -// Turn the macro into a function for reducing code-size when non-critical -static void Upsample32Pixels_SSE41(const uint8_t r1[], const uint8_t r2[], - uint8_t* const out) { - UPSAMPLE_32PIXELS(r1, r2, out); -} - -#define UPSAMPLE_LAST_BLOCK(tb, bb, num_pixels, out) { \ - uint8_t r1[17], r2[17]; \ - memcpy(r1, (tb), (num_pixels)); \ - memcpy(r2, (bb), (num_pixels)); \ - /* replicate last byte */ \ - memset(r1 + (num_pixels), r1[(num_pixels) - 1], 17 - (num_pixels)); \ - memset(r2 + (num_pixels), r2[(num_pixels) - 1], 17 - (num_pixels)); \ - /* using the shared function instead of the macro saves ~3k code size */ \ - Upsample32Pixels_SSE41(r1, r2, out); \ -} - -#define CONVERT2RGB_32(FUNC, XSTEP, top_y, bottom_y, \ - top_dst, bottom_dst, cur_x) do { \ - FUNC##32_SSE41((top_y) + (cur_x), r_u, r_v, (top_dst) + (cur_x) * (XSTEP)); \ - if ((bottom_y) != NULL) { \ - FUNC##32_SSE41((bottom_y) + (cur_x), r_u + 64, r_v + 64, \ - (bottom_dst) + (cur_x) * (XSTEP)); \ - } \ -} while (0) - -#define SSE4_UPSAMPLE_FUNC(FUNC_NAME, FUNC, XSTEP) \ -static void FUNC_NAME(const uint8_t* top_y, const uint8_t* bottom_y, \ - const uint8_t* top_u, const uint8_t* top_v, \ - const uint8_t* cur_u, const uint8_t* cur_v, \ - uint8_t* top_dst, uint8_t* bottom_dst, int len) { \ - int uv_pos, pos; \ - /* 16byte-aligned array to cache reconstructed u and v */ \ - uint8_t uv_buf[14 * 32 + 15] = { 0 }; \ - uint8_t* const r_u = (uint8_t*)((uintptr_t)(uv_buf + 15) & ~15); \ - uint8_t* const r_v = r_u + 32; \ - \ - assert(top_y != NULL); \ - { /* Treat the first pixel in regular way */ \ - const int u_diag = ((top_u[0] + cur_u[0]) >> 1) + 1; \ - const int v_diag = ((top_v[0] + cur_v[0]) >> 1) + 1; \ - const int u0_t = (top_u[0] + u_diag) >> 1; \ - const int v0_t = (top_v[0] + v_diag) >> 1; \ - FUNC(top_y[0], u0_t, v0_t, top_dst); \ - if (bottom_y != NULL) { \ - const int u0_b = (cur_u[0] + u_diag) >> 1; \ - const int v0_b = (cur_v[0] + v_diag) >> 1; \ - FUNC(bottom_y[0], u0_b, v0_b, bottom_dst); \ - } \ - } \ - /* For UPSAMPLE_32PIXELS, 17 u/v values must be read-able for each block */ \ - for (pos = 1, uv_pos = 0; pos + 32 + 1 <= len; pos += 32, uv_pos += 16) { \ - UPSAMPLE_32PIXELS(top_u + uv_pos, cur_u + uv_pos, r_u); \ - UPSAMPLE_32PIXELS(top_v + uv_pos, cur_v + uv_pos, r_v); \ - CONVERT2RGB_32(FUNC, XSTEP, top_y, bottom_y, top_dst, bottom_dst, pos); \ - } \ - if (len > 1) { \ - const int left_over = ((len + 1) >> 1) - (pos >> 1); \ - uint8_t* const tmp_top_dst = r_u + 4 * 32; \ - uint8_t* const tmp_bottom_dst = tmp_top_dst + 4 * 32; \ - uint8_t* const tmp_top = tmp_bottom_dst + 4 * 32; \ - uint8_t* const tmp_bottom = (bottom_y == NULL) ? NULL : tmp_top + 32; \ - assert(left_over > 0); \ - UPSAMPLE_LAST_BLOCK(top_u + uv_pos, cur_u + uv_pos, left_over, r_u); \ - UPSAMPLE_LAST_BLOCK(top_v + uv_pos, cur_v + uv_pos, left_over, r_v); \ - memcpy(tmp_top, top_y + pos, len - pos); \ - if (bottom_y != NULL) memcpy(tmp_bottom, bottom_y + pos, len - pos); \ - CONVERT2RGB_32(FUNC, XSTEP, tmp_top, tmp_bottom, tmp_top_dst, \ - tmp_bottom_dst, 0); \ - memcpy(top_dst + pos * (XSTEP), tmp_top_dst, (len - pos) * (XSTEP)); \ - if (bottom_y != NULL) { \ - memcpy(bottom_dst + pos * (XSTEP), tmp_bottom_dst, \ - (len - pos) * (XSTEP)); \ - } \ - } \ -} - -// SSE4 variants of the fancy upsampler. -SSE4_UPSAMPLE_FUNC(UpsampleRgbLinePair_SSE41, VP8YuvToRgb, 3) -SSE4_UPSAMPLE_FUNC(UpsampleBgrLinePair_SSE41, VP8YuvToBgr, 3) - -#undef GET_M -#undef PACK_AND_STORE -#undef UPSAMPLE_32PIXELS -#undef UPSAMPLE_LAST_BLOCK -#undef CONVERT2RGB -#undef CONVERT2RGB_32 -#undef SSE4_UPSAMPLE_FUNC - -#endif // WEBP_REDUCE_CSP - -//------------------------------------------------------------------------------ -// Entry point - -extern WebPUpsampleLinePairFunc WebPUpsamplers[/* MODE_LAST */]; - -extern void WebPInitUpsamplersSSE41(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersSSE41(void) { -#if !defined(WEBP_REDUCE_CSP) - WebPUpsamplers[MODE_RGB] = UpsampleRgbLinePair_SSE41; - WebPUpsamplers[MODE_BGR] = UpsampleBgrLinePair_SSE41; -#endif // WEBP_REDUCE_CSP -} - -#endif // FANCY_UPSAMPLING - -//------------------------------------------------------------------------------ - -extern WebPYUV444Converter WebPYUV444Converters[/* MODE_LAST */]; -extern void WebPInitYUV444ConvertersSSE41(void); - -#define YUV444_FUNC(FUNC_NAME, CALL, CALL_C, XSTEP) \ -extern void CALL_C(const uint8_t* y, const uint8_t* u, const uint8_t* v, \ - uint8_t* dst, int len); \ -static void FUNC_NAME(const uint8_t* y, const uint8_t* u, const uint8_t* v, \ - uint8_t* dst, int len) { \ - int i; \ - const int max_len = len & ~31; \ - for (i = 0; i < max_len; i += 32) { \ - CALL(y + i, u + i, v + i, dst + i * (XSTEP)); \ - } \ - if (i < len) { /* C-fallback */ \ - CALL_C(y + i, u + i, v + i, dst + i * (XSTEP), len - i); \ - } \ -} - -#if !defined(WEBP_REDUCE_CSP) -YUV444_FUNC(Yuv444ToRgb_SSE41, VP8YuvToRgb32_SSE41, WebPYuv444ToRgb_C, 3); -YUV444_FUNC(Yuv444ToBgr_SSE41, VP8YuvToBgr32_SSE41, WebPYuv444ToBgr_C, 3); -#endif // WEBP_REDUCE_CSP - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitYUV444ConvertersSSE41(void) { -#if !defined(WEBP_REDUCE_CSP) - WebPYUV444Converters[MODE_RGB] = Yuv444ToRgb_SSE41; - WebPYUV444Converters[MODE_BGR] = Yuv444ToBgr_SSE41; -#endif // WEBP_REDUCE_CSP -} - -#else - -WEBP_DSP_INIT_STUB(WebPInitYUV444ConvertersSSE41) - -#endif // WEBP_USE_SSE41 - -#if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_SSE41)) -WEBP_DSP_INIT_STUB(WebPInitUpsamplersSSE41) -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv.c deleted file mode 100644 index 14e67fc2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv.c +++ /dev/null @@ -1,308 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// YUV->RGB conversion functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/yuv.h" - -#include -#include - -//----------------------------------------------------------------------------- -// Plain-C version - -#define ROW_FUNC(FUNC_NAME, FUNC, XSTEP) \ -static void FUNC_NAME(const uint8_t* y, \ - const uint8_t* u, const uint8_t* v, \ - uint8_t* dst, int len) { \ - const uint8_t* const end = dst + (len & ~1) * (XSTEP); \ - while (dst != end) { \ - FUNC(y[0], u[0], v[0], dst); \ - FUNC(y[1], u[0], v[0], dst + (XSTEP)); \ - y += 2; \ - ++u; \ - ++v; \ - dst += 2 * (XSTEP); \ - } \ - if (len & 1) { \ - FUNC(y[0], u[0], v[0], dst); \ - } \ -} \ - -// All variants implemented. -ROW_FUNC(YuvToRgbRow, VP8YuvToRgb, 3) -ROW_FUNC(YuvToBgrRow, VP8YuvToBgr, 3) -ROW_FUNC(YuvToRgbaRow, VP8YuvToRgba, 4) -ROW_FUNC(YuvToBgraRow, VP8YuvToBgra, 4) -ROW_FUNC(YuvToArgbRow, VP8YuvToArgb, 4) -ROW_FUNC(YuvToRgba4444Row, VP8YuvToRgba4444, 2) -ROW_FUNC(YuvToRgb565Row, VP8YuvToRgb565, 2) - -#undef ROW_FUNC - -// Main call for processing a plane with a WebPSamplerRowFunc function: -void WebPSamplerProcessPlane(const uint8_t* y, int y_stride, - const uint8_t* u, const uint8_t* v, int uv_stride, - uint8_t* dst, int dst_stride, - int width, int height, WebPSamplerRowFunc func) { - int j; - for (j = 0; j < height; ++j) { - func(y, u, v, dst, width); - y += y_stride; - if (j & 1) { - u += uv_stride; - v += uv_stride; - } - dst += dst_stride; - } -} - -//----------------------------------------------------------------------------- -// Main call - -WebPSamplerRowFunc WebPSamplers[MODE_LAST]; - -extern void WebPInitSamplersSSE2(void); -extern void WebPInitSamplersSSE41(void); -extern void WebPInitSamplersMIPS32(void); -extern void WebPInitSamplersMIPSdspR2(void); - -WEBP_DSP_INIT_FUNC(WebPInitSamplers) { - WebPSamplers[MODE_RGB] = YuvToRgbRow; - WebPSamplers[MODE_RGBA] = YuvToRgbaRow; - WebPSamplers[MODE_BGR] = YuvToBgrRow; - WebPSamplers[MODE_BGRA] = YuvToBgraRow; - WebPSamplers[MODE_ARGB] = YuvToArgbRow; - WebPSamplers[MODE_RGBA_4444] = YuvToRgba4444Row; - WebPSamplers[MODE_RGB_565] = YuvToRgb565Row; - WebPSamplers[MODE_rgbA] = YuvToRgbaRow; - WebPSamplers[MODE_bgrA] = YuvToBgraRow; - WebPSamplers[MODE_Argb] = YuvToArgbRow; - WebPSamplers[MODE_rgbA_4444] = YuvToRgba4444Row; - - // If defined, use CPUInfo() to overwrite some pointers with faster versions. - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - WebPInitSamplersSSE2(); - } -#endif // WEBP_USE_SSE2 -#if defined(WEBP_USE_SSE41) - if (VP8GetCPUInfo(kSSE4_1)) { - WebPInitSamplersSSE41(); - } -#endif // WEBP_USE_SSE41 -#if defined(WEBP_USE_MIPS32) - if (VP8GetCPUInfo(kMIPS32)) { - WebPInitSamplersMIPS32(); - } -#endif // WEBP_USE_MIPS32 -#if defined(WEBP_USE_MIPS_DSP_R2) - if (VP8GetCPUInfo(kMIPSdspR2)) { - WebPInitSamplersMIPSdspR2(); - } -#endif // WEBP_USE_MIPS_DSP_R2 - } -} - -//----------------------------------------------------------------------------- -// ARGB -> YUV converters - -static void ConvertARGBToY_C(const uint32_t* argb, uint8_t* y, int width) { - int i; - for (i = 0; i < width; ++i) { - const uint32_t p = argb[i]; - y[i] = VP8RGBToY((p >> 16) & 0xff, (p >> 8) & 0xff, (p >> 0) & 0xff, - YUV_HALF); - } -} - -void WebPConvertARGBToUV_C(const uint32_t* argb, uint8_t* u, uint8_t* v, - int src_width, int do_store) { - // No rounding. Last pixel is dealt with separately. - const int uv_width = src_width >> 1; - int i; - for (i = 0; i < uv_width; ++i) { - const uint32_t v0 = argb[2 * i + 0]; - const uint32_t v1 = argb[2 * i + 1]; - // VP8RGBToU/V expects four accumulated pixels. Hence we need to - // scale r/g/b value by a factor 2. We just shift v0/v1 one bit less. - const int r = ((v0 >> 15) & 0x1fe) + ((v1 >> 15) & 0x1fe); - const int g = ((v0 >> 7) & 0x1fe) + ((v1 >> 7) & 0x1fe); - const int b = ((v0 << 1) & 0x1fe) + ((v1 << 1) & 0x1fe); - const int tmp_u = VP8RGBToU(r, g, b, YUV_HALF << 2); - const int tmp_v = VP8RGBToV(r, g, b, YUV_HALF << 2); - if (do_store) { - u[i] = tmp_u; - v[i] = tmp_v; - } else { - // Approximated average-of-four. But it's an acceptable diff. - u[i] = (u[i] + tmp_u + 1) >> 1; - v[i] = (v[i] + tmp_v + 1) >> 1; - } - } - if (src_width & 1) { // last pixel - const uint32_t v0 = argb[2 * i + 0]; - const int r = (v0 >> 14) & 0x3fc; - const int g = (v0 >> 6) & 0x3fc; - const int b = (v0 << 2) & 0x3fc; - const int tmp_u = VP8RGBToU(r, g, b, YUV_HALF << 2); - const int tmp_v = VP8RGBToV(r, g, b, YUV_HALF << 2); - if (do_store) { - u[i] = tmp_u; - v[i] = tmp_v; - } else { - u[i] = (u[i] + tmp_u + 1) >> 1; - v[i] = (v[i] + tmp_v + 1) >> 1; - } - } -} - -//----------------------------------------------------------------------------- - -static void ConvertRGB24ToY_C(const uint8_t* rgb, uint8_t* y, int width) { - int i; - for (i = 0; i < width; ++i, rgb += 3) { - y[i] = VP8RGBToY(rgb[0], rgb[1], rgb[2], YUV_HALF); - } -} - -static void ConvertBGR24ToY_C(const uint8_t* bgr, uint8_t* y, int width) { - int i; - for (i = 0; i < width; ++i, bgr += 3) { - y[i] = VP8RGBToY(bgr[2], bgr[1], bgr[0], YUV_HALF); - } -} - -void WebPConvertRGBA32ToUV_C(const uint16_t* rgb, - uint8_t* u, uint8_t* v, int width) { - int i; - for (i = 0; i < width; i += 1, rgb += 4) { - const int r = rgb[0], g = rgb[1], b = rgb[2]; - u[i] = VP8RGBToU(r, g, b, YUV_HALF << 2); - v[i] = VP8RGBToV(r, g, b, YUV_HALF << 2); - } -} - -//----------------------------------------------------------------------------- - -#if !WEBP_NEON_OMIT_C_CODE -#define MAX_Y ((1 << 10) - 1) // 10b precision over 16b-arithmetic -static uint16_t clip_y(int v) { - return (v < 0) ? 0 : (v > MAX_Y) ? MAX_Y : (uint16_t)v; -} - -static uint64_t SharpYUVUpdateY_C(const uint16_t* ref, const uint16_t* src, - uint16_t* dst, int len) { - uint64_t diff = 0; - int i; - for (i = 0; i < len; ++i) { - const int diff_y = ref[i] - src[i]; - const int new_y = (int)dst[i] + diff_y; - dst[i] = clip_y(new_y); - diff += (uint64_t)abs(diff_y); - } - return diff; -} - -static void SharpYUVUpdateRGB_C(const int16_t* ref, const int16_t* src, - int16_t* dst, int len) { - int i; - for (i = 0; i < len; ++i) { - const int diff_uv = ref[i] - src[i]; - dst[i] += diff_uv; - } -} - -static void SharpYUVFilterRow_C(const int16_t* A, const int16_t* B, int len, - const uint16_t* best_y, uint16_t* out) { - int i; - for (i = 0; i < len; ++i, ++A, ++B) { - const int v0 = (A[0] * 9 + A[1] * 3 + B[0] * 3 + B[1] + 8) >> 4; - const int v1 = (A[1] * 9 + A[0] * 3 + B[1] * 3 + B[0] + 8) >> 4; - out[2 * i + 0] = clip_y(best_y[2 * i + 0] + v0); - out[2 * i + 1] = clip_y(best_y[2 * i + 1] + v1); - } -} -#endif // !WEBP_NEON_OMIT_C_CODE - -#undef MAX_Y - -//----------------------------------------------------------------------------- - -void (*WebPConvertRGB24ToY)(const uint8_t* rgb, uint8_t* y, int width); -void (*WebPConvertBGR24ToY)(const uint8_t* bgr, uint8_t* y, int width); -void (*WebPConvertRGBA32ToUV)(const uint16_t* rgb, - uint8_t* u, uint8_t* v, int width); - -void (*WebPConvertARGBToY)(const uint32_t* argb, uint8_t* y, int width); -void (*WebPConvertARGBToUV)(const uint32_t* argb, uint8_t* u, uint8_t* v, - int src_width, int do_store); - -uint64_t (*WebPSharpYUVUpdateY)(const uint16_t* ref, const uint16_t* src, - uint16_t* dst, int len); -void (*WebPSharpYUVUpdateRGB)(const int16_t* ref, const int16_t* src, - int16_t* dst, int len); -void (*WebPSharpYUVFilterRow)(const int16_t* A, const int16_t* B, int len, - const uint16_t* best_y, uint16_t* out); - -extern void WebPInitConvertARGBToYUVSSE2(void); -extern void WebPInitConvertARGBToYUVSSE41(void); -extern void WebPInitConvertARGBToYUVNEON(void); -extern void WebPInitSharpYUVSSE2(void); -extern void WebPInitSharpYUVNEON(void); - -WEBP_DSP_INIT_FUNC(WebPInitConvertARGBToYUV) { - WebPConvertARGBToY = ConvertARGBToY_C; - WebPConvertARGBToUV = WebPConvertARGBToUV_C; - - WebPConvertRGB24ToY = ConvertRGB24ToY_C; - WebPConvertBGR24ToY = ConvertBGR24ToY_C; - - WebPConvertRGBA32ToUV = WebPConvertRGBA32ToUV_C; - -#if !WEBP_NEON_OMIT_C_CODE - WebPSharpYUVUpdateY = SharpYUVUpdateY_C; - WebPSharpYUVUpdateRGB = SharpYUVUpdateRGB_C; - WebPSharpYUVFilterRow = SharpYUVFilterRow_C; -#endif - - if (VP8GetCPUInfo != NULL) { -#if defined(WEBP_USE_SSE2) - if (VP8GetCPUInfo(kSSE2)) { - WebPInitConvertARGBToYUVSSE2(); - WebPInitSharpYUVSSE2(); - } -#endif // WEBP_USE_SSE2 -#if defined(WEBP_USE_SSE41) - if (VP8GetCPUInfo(kSSE4_1)) { - WebPInitConvertARGBToYUVSSE41(); - } -#endif // WEBP_USE_SSE41 - } - -#if defined(WEBP_USE_NEON) - if (WEBP_NEON_OMIT_C_CODE || - (VP8GetCPUInfo != NULL && VP8GetCPUInfo(kNEON))) { - WebPInitConvertARGBToYUVNEON(); - WebPInitSharpYUVNEON(); - } -#endif // WEBP_USE_NEON - - assert(WebPConvertARGBToY != NULL); - assert(WebPConvertARGBToUV != NULL); - assert(WebPConvertRGB24ToY != NULL); - assert(WebPConvertBGR24ToY != NULL); - assert(WebPConvertRGBA32ToUV != NULL); - assert(WebPSharpYUVUpdateY != NULL); - assert(WebPSharpYUVUpdateRGB != NULL); - assert(WebPSharpYUVFilterRow != NULL); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv.h deleted file mode 100644 index c12be1d0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv.h +++ /dev/null @@ -1,210 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// inline YUV<->RGB conversion function -// -// The exact naming is Y'CbCr, following the ITU-R BT.601 standard. -// More information at: http://en.wikipedia.org/wiki/YCbCr -// Y = 0.2569 * R + 0.5044 * G + 0.0979 * B + 16 -// U = -0.1483 * R - 0.2911 * G + 0.4394 * B + 128 -// V = 0.4394 * R - 0.3679 * G - 0.0715 * B + 128 -// We use 16bit fixed point operations for RGB->YUV conversion (YUV_FIX). -// -// For the Y'CbCr to RGB conversion, the BT.601 specification reads: -// R = 1.164 * (Y-16) + 1.596 * (V-128) -// G = 1.164 * (Y-16) - 0.813 * (V-128) - 0.391 * (U-128) -// B = 1.164 * (Y-16) + 2.018 * (U-128) -// where Y is in the [16,235] range, and U/V in the [16,240] range. -// -// The fixed-point implementation used here is: -// R = (19077 . y + 26149 . v - 14234) >> 6 -// G = (19077 . y - 6419 . u - 13320 . v + 8708) >> 6 -// B = (19077 . y + 33050 . u - 17685) >> 6 -// where the '.' operator is the mulhi_epu16 variant: -// a . b = ((a << 8) * b) >> 16 -// that preserves 8 bits of fractional precision before final descaling. - -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_DSP_YUV_H_ -#define WEBP_DSP_YUV_H_ - -#include "src/dsp/dsp.h" -#include "src/dec/vp8_dec.h" - -//------------------------------------------------------------------------------ -// YUV -> RGB conversion - -#ifdef __cplusplus -extern "C" { -#endif - -enum { - YUV_FIX = 16, // fixed-point precision for RGB->YUV - YUV_HALF = 1 << (YUV_FIX - 1), - - YUV_FIX2 = 6, // fixed-point precision for YUV->RGB - YUV_MASK2 = (256 << YUV_FIX2) - 1 -}; - -//------------------------------------------------------------------------------ -// slower on x86 by ~7-8%, but bit-exact with the SSE2/NEON version - -static WEBP_INLINE int MultHi(int v, int coeff) { // _mm_mulhi_epu16 emulation - return (v * coeff) >> 8; -} - -static WEBP_INLINE int VP8Clip8(int v) { - return ((v & ~YUV_MASK2) == 0) ? (v >> YUV_FIX2) : (v < 0) ? 0 : 255; -} - -static WEBP_INLINE int VP8YUVToR(int y, int v) { - return VP8Clip8(MultHi(y, 19077) + MultHi(v, 26149) - 14234); -} - -static WEBP_INLINE int VP8YUVToG(int y, int u, int v) { - return VP8Clip8(MultHi(y, 19077) - MultHi(u, 6419) - MultHi(v, 13320) + 8708); -} - -static WEBP_INLINE int VP8YUVToB(int y, int u) { - return VP8Clip8(MultHi(y, 19077) + MultHi(u, 33050) - 17685); -} - -static WEBP_INLINE void VP8YuvToRgb(int y, int u, int v, - uint8_t* const rgb) { - rgb[0] = VP8YUVToR(y, v); - rgb[1] = VP8YUVToG(y, u, v); - rgb[2] = VP8YUVToB(y, u); -} - -static WEBP_INLINE void VP8YuvToBgr(int y, int u, int v, - uint8_t* const bgr) { - bgr[0] = VP8YUVToB(y, u); - bgr[1] = VP8YUVToG(y, u, v); - bgr[2] = VP8YUVToR(y, v); -} - -static WEBP_INLINE void VP8YuvToRgb565(int y, int u, int v, - uint8_t* const rgb) { - const int r = VP8YUVToR(y, v); // 5 usable bits - const int g = VP8YUVToG(y, u, v); // 6 usable bits - const int b = VP8YUVToB(y, u); // 5 usable bits - const int rg = (r & 0xf8) | (g >> 5); - const int gb = ((g << 3) & 0xe0) | (b >> 3); -#if (WEBP_SWAP_16BIT_CSP == 1) - rgb[0] = gb; - rgb[1] = rg; -#else - rgb[0] = rg; - rgb[1] = gb; -#endif -} - -static WEBP_INLINE void VP8YuvToRgba4444(int y, int u, int v, - uint8_t* const argb) { - const int r = VP8YUVToR(y, v); // 4 usable bits - const int g = VP8YUVToG(y, u, v); // 4 usable bits - const int b = VP8YUVToB(y, u); // 4 usable bits - const int rg = (r & 0xf0) | (g >> 4); - const int ba = (b & 0xf0) | 0x0f; // overwrite the lower 4 bits -#if (WEBP_SWAP_16BIT_CSP == 1) - argb[0] = ba; - argb[1] = rg; -#else - argb[0] = rg; - argb[1] = ba; -#endif -} - -//----------------------------------------------------------------------------- -// Alpha handling variants - -static WEBP_INLINE void VP8YuvToArgb(uint8_t y, uint8_t u, uint8_t v, - uint8_t* const argb) { - argb[0] = 0xff; - VP8YuvToRgb(y, u, v, argb + 1); -} - -static WEBP_INLINE void VP8YuvToBgra(uint8_t y, uint8_t u, uint8_t v, - uint8_t* const bgra) { - VP8YuvToBgr(y, u, v, bgra); - bgra[3] = 0xff; -} - -static WEBP_INLINE void VP8YuvToRgba(uint8_t y, uint8_t u, uint8_t v, - uint8_t* const rgba) { - VP8YuvToRgb(y, u, v, rgba); - rgba[3] = 0xff; -} - -//----------------------------------------------------------------------------- -// SSE2 extra functions (mostly for upsampling_sse2.c) - -#if defined(WEBP_USE_SSE2) - -// Process 32 pixels and store the result (16b, 24b or 32b per pixel) in *dst. -void VP8YuvToRgba32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst); -void VP8YuvToRgb32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst); -void VP8YuvToBgra32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst); -void VP8YuvToBgr32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst); -void VP8YuvToArgb32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst); -void VP8YuvToRgba444432_SSE2(const uint8_t* y, const uint8_t* u, - const uint8_t* v, uint8_t* dst); -void VP8YuvToRgb56532_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst); - -#endif // WEBP_USE_SSE2 - -//----------------------------------------------------------------------------- -// SSE41 extra functions (mostly for upsampling_sse41.c) - -#if defined(WEBP_USE_SSE41) - -// Process 32 pixels and store the result (16b, 24b or 32b per pixel) in *dst. -void VP8YuvToRgb32_SSE41(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst); -void VP8YuvToBgr32_SSE41(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst); - -#endif // WEBP_USE_SSE41 - -//------------------------------------------------------------------------------ -// RGB -> YUV conversion - -// Stub functions that can be called with various rounding values: -static WEBP_INLINE int VP8ClipUV(int uv, int rounding) { - uv = (uv + rounding + (128 << (YUV_FIX + 2))) >> (YUV_FIX + 2); - return ((uv & ~0xff) == 0) ? uv : (uv < 0) ? 0 : 255; -} - -static WEBP_INLINE int VP8RGBToY(int r, int g, int b, int rounding) { - const int luma = 16839 * r + 33059 * g + 6420 * b; - return (luma + rounding + (16 << YUV_FIX)) >> YUV_FIX; // no need to clip -} - -static WEBP_INLINE int VP8RGBToU(int r, int g, int b, int rounding) { - const int u = -9719 * r - 19081 * g + 28800 * b; - return VP8ClipUV(u, rounding); -} - -static WEBP_INLINE int VP8RGBToV(int r, int g, int b, int rounding) { - const int v = +28800 * r - 24116 * g - 4684 * b; - return VP8ClipUV(v, rounding); -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_DSP_YUV_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_mips32.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_mips32.c deleted file mode 100644 index 9d0a8878..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_mips32.c +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MIPS version of YUV to RGB upsampling functions. -// -// Author(s): Djordje Pesut (djordje.pesut@imgtec.com) -// Jovan Zelincevic (jovan.zelincevic@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS32) - -#include "src/dsp/yuv.h" - -//------------------------------------------------------------------------------ -// simple point-sampling - -#define ROW_FUNC(FUNC_NAME, XSTEP, R, G, B, A) \ -static void FUNC_NAME(const uint8_t* y, \ - const uint8_t* u, const uint8_t* v, \ - uint8_t* dst, int len) { \ - int i, r, g, b; \ - int temp0, temp1, temp2, temp3, temp4; \ - for (i = 0; i < (len >> 1); i++) { \ - temp1 = MultHi(v[0], 26149); \ - temp3 = MultHi(v[0], 13320); \ - temp2 = MultHi(u[0], 6419); \ - temp4 = MultHi(u[0], 33050); \ - temp0 = MultHi(y[0], 19077); \ - temp1 -= 14234; \ - temp3 -= 8708; \ - temp2 += temp3; \ - temp4 -= 17685; \ - r = VP8Clip8(temp0 + temp1); \ - g = VP8Clip8(temp0 - temp2); \ - b = VP8Clip8(temp0 + temp4); \ - temp0 = MultHi(y[1], 19077); \ - dst[R] = r; \ - dst[G] = g; \ - dst[B] = b; \ - if (A) dst[A] = 0xff; \ - r = VP8Clip8(temp0 + temp1); \ - g = VP8Clip8(temp0 - temp2); \ - b = VP8Clip8(temp0 + temp4); \ - dst[R + XSTEP] = r; \ - dst[G + XSTEP] = g; \ - dst[B + XSTEP] = b; \ - if (A) dst[A + XSTEP] = 0xff; \ - y += 2; \ - ++u; \ - ++v; \ - dst += 2 * XSTEP; \ - } \ - if (len & 1) { \ - temp1 = MultHi(v[0], 26149); \ - temp3 = MultHi(v[0], 13320); \ - temp2 = MultHi(u[0], 6419); \ - temp4 = MultHi(u[0], 33050); \ - temp0 = MultHi(y[0], 19077); \ - temp1 -= 14234; \ - temp3 -= 8708; \ - temp2 += temp3; \ - temp4 -= 17685; \ - r = VP8Clip8(temp0 + temp1); \ - g = VP8Clip8(temp0 - temp2); \ - b = VP8Clip8(temp0 + temp4); \ - dst[R] = r; \ - dst[G] = g; \ - dst[B] = b; \ - if (A) dst[A] = 0xff; \ - } \ -} - -ROW_FUNC(YuvToRgbRow_MIPS32, 3, 0, 1, 2, 0) -ROW_FUNC(YuvToRgbaRow_MIPS32, 4, 0, 1, 2, 3) -ROW_FUNC(YuvToBgrRow_MIPS32, 3, 2, 1, 0, 0) -ROW_FUNC(YuvToBgraRow_MIPS32, 4, 2, 1, 0, 3) - -#undef ROW_FUNC - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPInitSamplersMIPS32(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersMIPS32(void) { - WebPSamplers[MODE_RGB] = YuvToRgbRow_MIPS32; - WebPSamplers[MODE_RGBA] = YuvToRgbaRow_MIPS32; - WebPSamplers[MODE_BGR] = YuvToBgrRow_MIPS32; - WebPSamplers[MODE_BGRA] = YuvToBgraRow_MIPS32; -} - -#else // !WEBP_USE_MIPS32 - -WEBP_DSP_INIT_STUB(WebPInitSamplersMIPS32) - -#endif // WEBP_USE_MIPS32 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_mips_dsp_r2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_mips_dsp_r2.c deleted file mode 100644 index cc8afcc7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_mips_dsp_r2.c +++ /dev/null @@ -1,134 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// MIPS DSPr2 version of YUV to RGB upsampling functions. -// -// Author(s): Branimir Vasic (branimir.vasic@imgtec.com) -// Djordje Pesut (djordje.pesut@imgtec.com) - -#include "src/dsp/dsp.h" - -#if defined(WEBP_USE_MIPS_DSP_R2) - -#include "src/dsp/yuv.h" - -//------------------------------------------------------------------------------ -// simple point-sampling - -#define ROW_FUNC_PART_1() \ - "lbu %[temp3], 0(%[v]) \n\t" \ - "lbu %[temp4], 0(%[u]) \n\t" \ - "lbu %[temp0], 0(%[y]) \n\t" \ - "mul %[temp1], %[t_con_1], %[temp3] \n\t" \ - "mul %[temp3], %[t_con_2], %[temp3] \n\t" \ - "mul %[temp2], %[t_con_3], %[temp4] \n\t" \ - "mul %[temp4], %[t_con_4], %[temp4] \n\t" \ - "mul %[temp0], %[t_con_5], %[temp0] \n\t" \ - "subu %[temp1], %[temp1], %[t_con_6] \n\t" \ - "subu %[temp3], %[temp3], %[t_con_7] \n\t" \ - "addu %[temp2], %[temp2], %[temp3] \n\t" \ - "subu %[temp4], %[temp4], %[t_con_8] \n\t" \ - -#define ROW_FUNC_PART_2(R, G, B, K) \ - "addu %[temp5], %[temp0], %[temp1] \n\t" \ - "subu %[temp6], %[temp0], %[temp2] \n\t" \ - "addu %[temp7], %[temp0], %[temp4] \n\t" \ -".if " #K " \n\t" \ - "lbu %[temp0], 1(%[y]) \n\t" \ -".endif \n\t" \ - "shll_s.w %[temp5], %[temp5], 17 \n\t" \ - "shll_s.w %[temp6], %[temp6], 17 \n\t" \ -".if " #K " \n\t" \ - "mul %[temp0], %[t_con_5], %[temp0] \n\t" \ -".endif \n\t" \ - "shll_s.w %[temp7], %[temp7], 17 \n\t" \ - "precrqu_s.qb.ph %[temp5], %[temp5], $zero \n\t" \ - "precrqu_s.qb.ph %[temp6], %[temp6], $zero \n\t" \ - "precrqu_s.qb.ph %[temp7], %[temp7], $zero \n\t" \ - "srl %[temp5], %[temp5], 24 \n\t" \ - "srl %[temp6], %[temp6], 24 \n\t" \ - "srl %[temp7], %[temp7], 24 \n\t" \ - "sb %[temp5], " #R "(%[dst]) \n\t" \ - "sb %[temp6], " #G "(%[dst]) \n\t" \ - "sb %[temp7], " #B "(%[dst]) \n\t" \ - -#define ASM_CLOBBER_LIST() \ - : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), [temp2]"=&r"(temp2), \ - [temp3]"=&r"(temp3), [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), \ - [temp6]"=&r"(temp6), [temp7]"=&r"(temp7) \ - : [t_con_1]"r"(t_con_1), [t_con_2]"r"(t_con_2), [t_con_3]"r"(t_con_3), \ - [t_con_4]"r"(t_con_4), [t_con_5]"r"(t_con_5), [t_con_6]"r"(t_con_6), \ - [u]"r"(u), [v]"r"(v), [y]"r"(y), [dst]"r"(dst), \ - [t_con_7]"r"(t_con_7), [t_con_8]"r"(t_con_8) \ - : "memory", "hi", "lo" \ - -#define ROW_FUNC(FUNC_NAME, XSTEP, R, G, B, A) \ -static void FUNC_NAME(const uint8_t* y, \ - const uint8_t* u, const uint8_t* v, \ - uint8_t* dst, int len) { \ - int i; \ - uint32_t temp0, temp1, temp2, temp3, temp4, temp5, temp6, temp7; \ - const int t_con_1 = 26149; \ - const int t_con_2 = 13320; \ - const int t_con_3 = 6419; \ - const int t_con_4 = 33050; \ - const int t_con_5 = 19077; \ - const int t_con_6 = 14234; \ - const int t_con_7 = 8708; \ - const int t_con_8 = 17685; \ - for (i = 0; i < (len >> 1); i++) { \ - __asm__ volatile ( \ - ROW_FUNC_PART_1() \ - ROW_FUNC_PART_2(R, G, B, 1) \ - ROW_FUNC_PART_2(R + XSTEP, G + XSTEP, B + XSTEP, 0) \ - ASM_CLOBBER_LIST() \ - ); \ - if (A) dst[A] = dst[A + XSTEP] = 0xff; \ - y += 2; \ - ++u; \ - ++v; \ - dst += 2 * XSTEP; \ - } \ - if (len & 1) { \ - __asm__ volatile ( \ - ROW_FUNC_PART_1() \ - ROW_FUNC_PART_2(R, G, B, 0) \ - ASM_CLOBBER_LIST() \ - ); \ - if (A) dst[A] = 0xff; \ - } \ -} - -ROW_FUNC(YuvToRgbRow_MIPSdspR2, 3, 0, 1, 2, 0) -ROW_FUNC(YuvToRgbaRow_MIPSdspR2, 4, 0, 1, 2, 3) -ROW_FUNC(YuvToBgrRow_MIPSdspR2, 3, 2, 1, 0, 0) -ROW_FUNC(YuvToBgraRow_MIPSdspR2, 4, 2, 1, 0, 3) - -#undef ROW_FUNC -#undef ASM_CLOBBER_LIST -#undef ROW_FUNC_PART_2 -#undef ROW_FUNC_PART_1 - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPInitSamplersMIPSdspR2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersMIPSdspR2(void) { - WebPSamplers[MODE_RGB] = YuvToRgbRow_MIPSdspR2; - WebPSamplers[MODE_RGBA] = YuvToRgbaRow_MIPSdspR2; - WebPSamplers[MODE_BGR] = YuvToBgrRow_MIPSdspR2; - WebPSamplers[MODE_BGRA] = YuvToBgraRow_MIPSdspR2; -} - -#else // !WEBP_USE_MIPS_DSP_R2 - -WEBP_DSP_INIT_STUB(WebPInitSamplersMIPSdspR2) - -#endif // WEBP_USE_MIPS_DSP_R2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_neon.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_neon.c deleted file mode 100644 index a34d6024..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_neon.c +++ /dev/null @@ -1,288 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// YUV->RGB conversion functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/yuv.h" - -#if defined(WEBP_USE_NEON) - -#include -#include - -#include "src/dsp/neon.h" - -//----------------------------------------------------------------------------- - -static uint8x8_t ConvertRGBToY_NEON(const uint8x8_t R, - const uint8x8_t G, - const uint8x8_t B) { - const uint16x8_t r = vmovl_u8(R); - const uint16x8_t g = vmovl_u8(G); - const uint16x8_t b = vmovl_u8(B); - const uint16x4_t r_lo = vget_low_u16(r); - const uint16x4_t r_hi = vget_high_u16(r); - const uint16x4_t g_lo = vget_low_u16(g); - const uint16x4_t g_hi = vget_high_u16(g); - const uint16x4_t b_lo = vget_low_u16(b); - const uint16x4_t b_hi = vget_high_u16(b); - const uint32x4_t tmp0_lo = vmull_n_u16( r_lo, 16839u); - const uint32x4_t tmp0_hi = vmull_n_u16( r_hi, 16839u); - const uint32x4_t tmp1_lo = vmlal_n_u16(tmp0_lo, g_lo, 33059u); - const uint32x4_t tmp1_hi = vmlal_n_u16(tmp0_hi, g_hi, 33059u); - const uint32x4_t tmp2_lo = vmlal_n_u16(tmp1_lo, b_lo, 6420u); - const uint32x4_t tmp2_hi = vmlal_n_u16(tmp1_hi, b_hi, 6420u); - const uint16x8_t Y1 = vcombine_u16(vrshrn_n_u32(tmp2_lo, 16), - vrshrn_n_u32(tmp2_hi, 16)); - const uint16x8_t Y2 = vaddq_u16(Y1, vdupq_n_u16(16)); - return vqmovn_u16(Y2); -} - -static void ConvertRGB24ToY_NEON(const uint8_t* rgb, uint8_t* y, int width) { - int i; - for (i = 0; i + 8 <= width; i += 8, rgb += 3 * 8) { - const uint8x8x3_t RGB = vld3_u8(rgb); - const uint8x8_t Y = ConvertRGBToY_NEON(RGB.val[0], RGB.val[1], RGB.val[2]); - vst1_u8(y + i, Y); - } - for (; i < width; ++i, rgb += 3) { // left-over - y[i] = VP8RGBToY(rgb[0], rgb[1], rgb[2], YUV_HALF); - } -} - -static void ConvertBGR24ToY_NEON(const uint8_t* bgr, uint8_t* y, int width) { - int i; - for (i = 0; i + 8 <= width; i += 8, bgr += 3 * 8) { - const uint8x8x3_t BGR = vld3_u8(bgr); - const uint8x8_t Y = ConvertRGBToY_NEON(BGR.val[2], BGR.val[1], BGR.val[0]); - vst1_u8(y + i, Y); - } - for (; i < width; ++i, bgr += 3) { // left-over - y[i] = VP8RGBToY(bgr[2], bgr[1], bgr[0], YUV_HALF); - } -} - -static void ConvertARGBToY_NEON(const uint32_t* argb, uint8_t* y, int width) { - int i; - for (i = 0; i + 8 <= width; i += 8) { - const uint8x8x4_t RGB = vld4_u8((const uint8_t*)&argb[i]); - const uint8x8_t Y = ConvertRGBToY_NEON(RGB.val[2], RGB.val[1], RGB.val[0]); - vst1_u8(y + i, Y); - } - for (; i < width; ++i) { // left-over - const uint32_t p = argb[i]; - y[i] = VP8RGBToY((p >> 16) & 0xff, (p >> 8) & 0xff, (p >> 0) & 0xff, - YUV_HALF); - } -} - -//----------------------------------------------------------------------------- - -// computes: DST_s16 = [(C0 * r + C1 * g + C2 * b) >> 16] + CST -#define MULTIPLY_16b_PREAMBLE(r, g, b) \ - const int16x4_t r_lo = vreinterpret_s16_u16(vget_low_u16(r)); \ - const int16x4_t r_hi = vreinterpret_s16_u16(vget_high_u16(r)); \ - const int16x4_t g_lo = vreinterpret_s16_u16(vget_low_u16(g)); \ - const int16x4_t g_hi = vreinterpret_s16_u16(vget_high_u16(g)); \ - const int16x4_t b_lo = vreinterpret_s16_u16(vget_low_u16(b)); \ - const int16x4_t b_hi = vreinterpret_s16_u16(vget_high_u16(b)) - -#define MULTIPLY_16b(C0, C1, C2, CST, DST_s16) do { \ - const int32x4_t tmp0_lo = vmull_n_s16( r_lo, C0); \ - const int32x4_t tmp0_hi = vmull_n_s16( r_hi, C0); \ - const int32x4_t tmp1_lo = vmlal_n_s16(tmp0_lo, g_lo, C1); \ - const int32x4_t tmp1_hi = vmlal_n_s16(tmp0_hi, g_hi, C1); \ - const int32x4_t tmp2_lo = vmlal_n_s16(tmp1_lo, b_lo, C2); \ - const int32x4_t tmp2_hi = vmlal_n_s16(tmp1_hi, b_hi, C2); \ - const int16x8_t tmp3 = vcombine_s16(vshrn_n_s32(tmp2_lo, 16), \ - vshrn_n_s32(tmp2_hi, 16)); \ - DST_s16 = vaddq_s16(tmp3, vdupq_n_s16(CST)); \ -} while (0) - -// This needs to be a macro, since (128 << SHIFT) needs to be an immediate. -#define CONVERT_RGB_TO_UV(r, g, b, SHIFT, U_DST, V_DST) do { \ - MULTIPLY_16b_PREAMBLE(r, g, b); \ - MULTIPLY_16b(-9719, -19081, 28800, 128 << SHIFT, U_DST); \ - MULTIPLY_16b(28800, -24116, -4684, 128 << SHIFT, V_DST); \ -} while (0) - -static void ConvertRGBA32ToUV_NEON(const uint16_t* rgb, - uint8_t* u, uint8_t* v, int width) { - int i; - for (i = 0; i + 8 <= width; i += 8, rgb += 4 * 8) { - const uint16x8x4_t RGB = vld4q_u16((const uint16_t*)rgb); - int16x8_t U, V; - CONVERT_RGB_TO_UV(RGB.val[0], RGB.val[1], RGB.val[2], 2, U, V); - vst1_u8(u + i, vqrshrun_n_s16(U, 2)); - vst1_u8(v + i, vqrshrun_n_s16(V, 2)); - } - for (; i < width; i += 1, rgb += 4) { - const int r = rgb[0], g = rgb[1], b = rgb[2]; - u[i] = VP8RGBToU(r, g, b, YUV_HALF << 2); - v[i] = VP8RGBToV(r, g, b, YUV_HALF << 2); - } -} - -static void ConvertARGBToUV_NEON(const uint32_t* argb, uint8_t* u, uint8_t* v, - int src_width, int do_store) { - int i; - for (i = 0; i + 16 <= src_width; i += 16, u += 8, v += 8) { - const uint8x16x4_t RGB = vld4q_u8((const uint8_t*)&argb[i]); - const uint16x8_t R = vpaddlq_u8(RGB.val[2]); // pair-wise adds - const uint16x8_t G = vpaddlq_u8(RGB.val[1]); - const uint16x8_t B = vpaddlq_u8(RGB.val[0]); - int16x8_t U_tmp, V_tmp; - CONVERT_RGB_TO_UV(R, G, B, 1, U_tmp, V_tmp); - { - const uint8x8_t U = vqrshrun_n_s16(U_tmp, 1); - const uint8x8_t V = vqrshrun_n_s16(V_tmp, 1); - if (do_store) { - vst1_u8(u, U); - vst1_u8(v, V); - } else { - const uint8x8_t prev_u = vld1_u8(u); - const uint8x8_t prev_v = vld1_u8(v); - vst1_u8(u, vrhadd_u8(U, prev_u)); - vst1_u8(v, vrhadd_u8(V, prev_v)); - } - } - } - if (i < src_width) { // left-over - WebPConvertARGBToUV_C(argb + i, u, v, src_width - i, do_store); - } -} - - -//------------------------------------------------------------------------------ - -extern void WebPInitConvertARGBToYUVNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitConvertARGBToYUVNEON(void) { - WebPConvertRGB24ToY = ConvertRGB24ToY_NEON; - WebPConvertBGR24ToY = ConvertBGR24ToY_NEON; - WebPConvertARGBToY = ConvertARGBToY_NEON; - WebPConvertARGBToUV = ConvertARGBToUV_NEON; - WebPConvertRGBA32ToUV = ConvertRGBA32ToUV_NEON; -} - -//------------------------------------------------------------------------------ - -#define MAX_Y ((1 << 10) - 1) // 10b precision over 16b-arithmetic -static uint16_t clip_y_NEON(int v) { - return (v < 0) ? 0 : (v > MAX_Y) ? MAX_Y : (uint16_t)v; -} - -static uint64_t SharpYUVUpdateY_NEON(const uint16_t* ref, const uint16_t* src, - uint16_t* dst, int len) { - int i; - const int16x8_t zero = vdupq_n_s16(0); - const int16x8_t max = vdupq_n_s16(MAX_Y); - uint64x2_t sum = vdupq_n_u64(0); - uint64_t diff; - - for (i = 0; i + 8 <= len; i += 8) { - const int16x8_t A = vreinterpretq_s16_u16(vld1q_u16(ref + i)); - const int16x8_t B = vreinterpretq_s16_u16(vld1q_u16(src + i)); - const int16x8_t C = vreinterpretq_s16_u16(vld1q_u16(dst + i)); - const int16x8_t D = vsubq_s16(A, B); // diff_y - const int16x8_t F = vaddq_s16(C, D); // new_y - const uint16x8_t H = - vreinterpretq_u16_s16(vmaxq_s16(vminq_s16(F, max), zero)); - const int16x8_t I = vabsq_s16(D); // abs(diff_y) - vst1q_u16(dst + i, H); - sum = vpadalq_u32(sum, vpaddlq_u16(vreinterpretq_u16_s16(I))); - } - diff = vgetq_lane_u64(sum, 0) + vgetq_lane_u64(sum, 1); - for (; i < len; ++i) { - const int diff_y = ref[i] - src[i]; - const int new_y = (int)(dst[i]) + diff_y; - dst[i] = clip_y_NEON(new_y); - diff += (uint64_t)(abs(diff_y)); - } - return diff; -} - -static void SharpYUVUpdateRGB_NEON(const int16_t* ref, const int16_t* src, - int16_t* dst, int len) { - int i; - for (i = 0; i + 8 <= len; i += 8) { - const int16x8_t A = vld1q_s16(ref + i); - const int16x8_t B = vld1q_s16(src + i); - const int16x8_t C = vld1q_s16(dst + i); - const int16x8_t D = vsubq_s16(A, B); // diff_uv - const int16x8_t E = vaddq_s16(C, D); // new_uv - vst1q_s16(dst + i, E); - } - for (; i < len; ++i) { - const int diff_uv = ref[i] - src[i]; - dst[i] += diff_uv; - } -} - -static void SharpYUVFilterRow_NEON(const int16_t* A, const int16_t* B, int len, - const uint16_t* best_y, uint16_t* out) { - int i; - const int16x8_t max = vdupq_n_s16(MAX_Y); - const int16x8_t zero = vdupq_n_s16(0); - for (i = 0; i + 8 <= len; i += 8) { - const int16x8_t a0 = vld1q_s16(A + i + 0); - const int16x8_t a1 = vld1q_s16(A + i + 1); - const int16x8_t b0 = vld1q_s16(B + i + 0); - const int16x8_t b1 = vld1q_s16(B + i + 1); - const int16x8_t a0b1 = vaddq_s16(a0, b1); - const int16x8_t a1b0 = vaddq_s16(a1, b0); - const int16x8_t a0a1b0b1 = vaddq_s16(a0b1, a1b0); // A0+A1+B0+B1 - const int16x8_t a0b1_2 = vaddq_s16(a0b1, a0b1); // 2*(A0+B1) - const int16x8_t a1b0_2 = vaddq_s16(a1b0, a1b0); // 2*(A1+B0) - const int16x8_t c0 = vshrq_n_s16(vaddq_s16(a0b1_2, a0a1b0b1), 3); - const int16x8_t c1 = vshrq_n_s16(vaddq_s16(a1b0_2, a0a1b0b1), 3); - const int16x8_t d0 = vaddq_s16(c1, a0); - const int16x8_t d1 = vaddq_s16(c0, a1); - const int16x8_t e0 = vrshrq_n_s16(d0, 1); - const int16x8_t e1 = vrshrq_n_s16(d1, 1); - const int16x8x2_t f = vzipq_s16(e0, e1); - const int16x8_t g0 = vreinterpretq_s16_u16(vld1q_u16(best_y + 2 * i + 0)); - const int16x8_t g1 = vreinterpretq_s16_u16(vld1q_u16(best_y + 2 * i + 8)); - const int16x8_t h0 = vaddq_s16(g0, f.val[0]); - const int16x8_t h1 = vaddq_s16(g1, f.val[1]); - const int16x8_t i0 = vmaxq_s16(vminq_s16(h0, max), zero); - const int16x8_t i1 = vmaxq_s16(vminq_s16(h1, max), zero); - vst1q_u16(out + 2 * i + 0, vreinterpretq_u16_s16(i0)); - vst1q_u16(out + 2 * i + 8, vreinterpretq_u16_s16(i1)); - } - for (; i < len; ++i) { - const int a0b1 = A[i + 0] + B[i + 1]; - const int a1b0 = A[i + 1] + B[i + 0]; - const int a0a1b0b1 = a0b1 + a1b0 + 8; - const int v0 = (8 * A[i + 0] + 2 * a1b0 + a0a1b0b1) >> 4; - const int v1 = (8 * A[i + 1] + 2 * a0b1 + a0a1b0b1) >> 4; - out[2 * i + 0] = clip_y_NEON(best_y[2 * i + 0] + v0); - out[2 * i + 1] = clip_y_NEON(best_y[2 * i + 1] + v1); - } -} -#undef MAX_Y - -//------------------------------------------------------------------------------ - -extern void WebPInitSharpYUVNEON(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitSharpYUVNEON(void) { - WebPSharpYUVUpdateY = SharpYUVUpdateY_NEON; - WebPSharpYUVUpdateRGB = SharpYUVUpdateRGB_NEON; - WebPSharpYUVFilterRow = SharpYUVFilterRow_NEON; -} - -#else // !WEBP_USE_NEON - -WEBP_DSP_INIT_STUB(WebPInitConvertARGBToYUVNEON) -WEBP_DSP_INIT_STUB(WebPInitSharpYUVNEON) - -#endif // WEBP_USE_NEON diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_sse2.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_sse2.c deleted file mode 100644 index baa48d53..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_sse2.c +++ /dev/null @@ -1,874 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// YUV->RGB conversion functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/yuv.h" - -#if defined(WEBP_USE_SSE2) - -#include "src/dsp/common_sse2.h" -#include -#include - -//----------------------------------------------------------------------------- -// Convert spans of 32 pixels to various RGB formats for the fancy upsampler. - -// These constants are 14b fixed-point version of ITU-R BT.601 constants. -// R = (19077 * y + 26149 * v - 14234) >> 6 -// G = (19077 * y - 6419 * u - 13320 * v + 8708) >> 6 -// B = (19077 * y + 33050 * u - 17685) >> 6 -static void ConvertYUV444ToRGB_SSE2(const __m128i* const Y0, - const __m128i* const U0, - const __m128i* const V0, - __m128i* const R, - __m128i* const G, - __m128i* const B) { - const __m128i k19077 = _mm_set1_epi16(19077); - const __m128i k26149 = _mm_set1_epi16(26149); - const __m128i k14234 = _mm_set1_epi16(14234); - // 33050 doesn't fit in a signed short: only use this with unsigned arithmetic - const __m128i k33050 = _mm_set1_epi16((short)33050); - const __m128i k17685 = _mm_set1_epi16(17685); - const __m128i k6419 = _mm_set1_epi16(6419); - const __m128i k13320 = _mm_set1_epi16(13320); - const __m128i k8708 = _mm_set1_epi16(8708); - - const __m128i Y1 = _mm_mulhi_epu16(*Y0, k19077); - - const __m128i R0 = _mm_mulhi_epu16(*V0, k26149); - const __m128i R1 = _mm_sub_epi16(Y1, k14234); - const __m128i R2 = _mm_add_epi16(R1, R0); - - const __m128i G0 = _mm_mulhi_epu16(*U0, k6419); - const __m128i G1 = _mm_mulhi_epu16(*V0, k13320); - const __m128i G2 = _mm_add_epi16(Y1, k8708); - const __m128i G3 = _mm_add_epi16(G0, G1); - const __m128i G4 = _mm_sub_epi16(G2, G3); - - // be careful with the saturated *unsigned* arithmetic here! - const __m128i B0 = _mm_mulhi_epu16(*U0, k33050); - const __m128i B1 = _mm_adds_epu16(B0, Y1); - const __m128i B2 = _mm_subs_epu16(B1, k17685); - - // use logical shift for B2, which can be larger than 32767 - *R = _mm_srai_epi16(R2, 6); // range: [-14234, 30815] - *G = _mm_srai_epi16(G4, 6); // range: [-10953, 27710] - *B = _mm_srli_epi16(B2, 6); // range: [0, 34238] -} - -// Load the bytes into the *upper* part of 16b words. That's "<< 8", basically. -static WEBP_INLINE __m128i Load_HI_16_SSE2(const uint8_t* src) { - const __m128i zero = _mm_setzero_si128(); - return _mm_unpacklo_epi8(zero, _mm_loadl_epi64((const __m128i*)src)); -} - -// Load and replicate the U/V samples -static WEBP_INLINE __m128i Load_UV_HI_8_SSE2(const uint8_t* src) { - const __m128i zero = _mm_setzero_si128(); - const __m128i tmp0 = _mm_cvtsi32_si128(*(const uint32_t*)src); - const __m128i tmp1 = _mm_unpacklo_epi8(zero, tmp0); - return _mm_unpacklo_epi16(tmp1, tmp1); // replicate samples -} - -// Convert 32 samples of YUV444 to R/G/B -static void YUV444ToRGB_SSE2(const uint8_t* const y, - const uint8_t* const u, - const uint8_t* const v, - __m128i* const R, __m128i* const G, - __m128i* const B) { - const __m128i Y0 = Load_HI_16_SSE2(y), U0 = Load_HI_16_SSE2(u), - V0 = Load_HI_16_SSE2(v); - ConvertYUV444ToRGB_SSE2(&Y0, &U0, &V0, R, G, B); -} - -// Convert 32 samples of YUV420 to R/G/B -static void YUV420ToRGB_SSE2(const uint8_t* const y, - const uint8_t* const u, - const uint8_t* const v, - __m128i* const R, __m128i* const G, - __m128i* const B) { - const __m128i Y0 = Load_HI_16_SSE2(y), U0 = Load_UV_HI_8_SSE2(u), - V0 = Load_UV_HI_8_SSE2(v); - ConvertYUV444ToRGB_SSE2(&Y0, &U0, &V0, R, G, B); -} - -// Pack R/G/B/A results into 32b output. -static WEBP_INLINE void PackAndStore4_SSE2(const __m128i* const R, - const __m128i* const G, - const __m128i* const B, - const __m128i* const A, - uint8_t* const dst) { - const __m128i rb = _mm_packus_epi16(*R, *B); - const __m128i ga = _mm_packus_epi16(*G, *A); - const __m128i rg = _mm_unpacklo_epi8(rb, ga); - const __m128i ba = _mm_unpackhi_epi8(rb, ga); - const __m128i RGBA_lo = _mm_unpacklo_epi16(rg, ba); - const __m128i RGBA_hi = _mm_unpackhi_epi16(rg, ba); - _mm_storeu_si128((__m128i*)(dst + 0), RGBA_lo); - _mm_storeu_si128((__m128i*)(dst + 16), RGBA_hi); -} - -// Pack R/G/B/A results into 16b output. -static WEBP_INLINE void PackAndStore4444_SSE2(const __m128i* const R, - const __m128i* const G, - const __m128i* const B, - const __m128i* const A, - uint8_t* const dst) { -#if (WEBP_SWAP_16BIT_CSP == 0) - const __m128i rg0 = _mm_packus_epi16(*R, *G); - const __m128i ba0 = _mm_packus_epi16(*B, *A); -#else - const __m128i rg0 = _mm_packus_epi16(*B, *A); - const __m128i ba0 = _mm_packus_epi16(*R, *G); -#endif - const __m128i mask_0xf0 = _mm_set1_epi8(0xf0); - const __m128i rb1 = _mm_unpacklo_epi8(rg0, ba0); // rbrbrbrbrb... - const __m128i ga1 = _mm_unpackhi_epi8(rg0, ba0); // gagagagaga... - const __m128i rb2 = _mm_and_si128(rb1, mask_0xf0); - const __m128i ga2 = _mm_srli_epi16(_mm_and_si128(ga1, mask_0xf0), 4); - const __m128i rgba4444 = _mm_or_si128(rb2, ga2); - _mm_storeu_si128((__m128i*)dst, rgba4444); -} - -// Pack R/G/B results into 16b output. -static WEBP_INLINE void PackAndStore565_SSE2(const __m128i* const R, - const __m128i* const G, - const __m128i* const B, - uint8_t* const dst) { - const __m128i r0 = _mm_packus_epi16(*R, *R); - const __m128i g0 = _mm_packus_epi16(*G, *G); - const __m128i b0 = _mm_packus_epi16(*B, *B); - const __m128i r1 = _mm_and_si128(r0, _mm_set1_epi8(0xf8)); - const __m128i b1 = _mm_and_si128(_mm_srli_epi16(b0, 3), _mm_set1_epi8(0x1f)); - const __m128i g1 = _mm_srli_epi16(_mm_and_si128(g0, _mm_set1_epi8(0xe0)), 5); - const __m128i g2 = _mm_slli_epi16(_mm_and_si128(g0, _mm_set1_epi8(0x1c)), 3); - const __m128i rg = _mm_or_si128(r1, g1); - const __m128i gb = _mm_or_si128(g2, b1); -#if (WEBP_SWAP_16BIT_CSP == 0) - const __m128i rgb565 = _mm_unpacklo_epi8(rg, gb); -#else - const __m128i rgb565 = _mm_unpacklo_epi8(gb, rg); -#endif - _mm_storeu_si128((__m128i*)dst, rgb565); -} - -// Pack the planar buffers -// rrrr... rrrr... gggg... gggg... bbbb... bbbb.... -// triplet by triplet in the output buffer rgb as rgbrgbrgbrgb ... -static WEBP_INLINE void PlanarTo24b_SSE2(__m128i* const in0, __m128i* const in1, - __m128i* const in2, __m128i* const in3, - __m128i* const in4, __m128i* const in5, - uint8_t* const rgb) { - // The input is 6 registers of sixteen 8b but for the sake of explanation, - // let's take 6 registers of four 8b values. - // To pack, we will keep taking one every two 8b integer and move it - // around as follows: - // Input: - // r0r1r2r3 | r4r5r6r7 | g0g1g2g3 | g4g5g6g7 | b0b1b2b3 | b4b5b6b7 - // Split the 6 registers in two sets of 3 registers: the first set as the even - // 8b bytes, the second the odd ones: - // r0r2r4r6 | g0g2g4g6 | b0b2b4b6 | r1r3r5r7 | g1g3g5g7 | b1b3b5b7 - // Repeat the same permutations twice more: - // r0r4g0g4 | b0b4r1r5 | g1g5b1b5 | r2r6g2g6 | b2b6r3r7 | g3g7b3b7 - // r0g0b0r1 | g1b1r2g2 | b2r3g3b3 | r4g4b4r5 | g5b5r6g6 | b6r7g7b7 - VP8PlanarTo24b_SSE2(in0, in1, in2, in3, in4, in5); - - _mm_storeu_si128((__m128i*)(rgb + 0), *in0); - _mm_storeu_si128((__m128i*)(rgb + 16), *in1); - _mm_storeu_si128((__m128i*)(rgb + 32), *in2); - _mm_storeu_si128((__m128i*)(rgb + 48), *in3); - _mm_storeu_si128((__m128i*)(rgb + 64), *in4); - _mm_storeu_si128((__m128i*)(rgb + 80), *in5); -} - -void VP8YuvToRgba32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst) { - const __m128i kAlpha = _mm_set1_epi16(255); - int n; - for (n = 0; n < 32; n += 8, dst += 32) { - __m128i R, G, B; - YUV444ToRGB_SSE2(y + n, u + n, v + n, &R, &G, &B); - PackAndStore4_SSE2(&R, &G, &B, &kAlpha, dst); - } -} - -void VP8YuvToBgra32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst) { - const __m128i kAlpha = _mm_set1_epi16(255); - int n; - for (n = 0; n < 32; n += 8, dst += 32) { - __m128i R, G, B; - YUV444ToRGB_SSE2(y + n, u + n, v + n, &R, &G, &B); - PackAndStore4_SSE2(&B, &G, &R, &kAlpha, dst); - } -} - -void VP8YuvToArgb32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst) { - const __m128i kAlpha = _mm_set1_epi16(255); - int n; - for (n = 0; n < 32; n += 8, dst += 32) { - __m128i R, G, B; - YUV444ToRGB_SSE2(y + n, u + n, v + n, &R, &G, &B); - PackAndStore4_SSE2(&kAlpha, &R, &G, &B, dst); - } -} - -void VP8YuvToRgba444432_SSE2(const uint8_t* y, const uint8_t* u, - const uint8_t* v, uint8_t* dst) { - const __m128i kAlpha = _mm_set1_epi16(255); - int n; - for (n = 0; n < 32; n += 8, dst += 16) { - __m128i R, G, B; - YUV444ToRGB_SSE2(y + n, u + n, v + n, &R, &G, &B); - PackAndStore4444_SSE2(&R, &G, &B, &kAlpha, dst); - } -} - -void VP8YuvToRgb56532_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst) { - int n; - for (n = 0; n < 32; n += 8, dst += 16) { - __m128i R, G, B; - YUV444ToRGB_SSE2(y + n, u + n, v + n, &R, &G, &B); - PackAndStore565_SSE2(&R, &G, &B, dst); - } -} - -void VP8YuvToRgb32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst) { - __m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3; - __m128i rgb0, rgb1, rgb2, rgb3, rgb4, rgb5; - - YUV444ToRGB_SSE2(y + 0, u + 0, v + 0, &R0, &G0, &B0); - YUV444ToRGB_SSE2(y + 8, u + 8, v + 8, &R1, &G1, &B1); - YUV444ToRGB_SSE2(y + 16, u + 16, v + 16, &R2, &G2, &B2); - YUV444ToRGB_SSE2(y + 24, u + 24, v + 24, &R3, &G3, &B3); - - // Cast to 8b and store as RRRRGGGGBBBB. - rgb0 = _mm_packus_epi16(R0, R1); - rgb1 = _mm_packus_epi16(R2, R3); - rgb2 = _mm_packus_epi16(G0, G1); - rgb3 = _mm_packus_epi16(G2, G3); - rgb4 = _mm_packus_epi16(B0, B1); - rgb5 = _mm_packus_epi16(B2, B3); - - // Pack as RGBRGBRGBRGB. - PlanarTo24b_SSE2(&rgb0, &rgb1, &rgb2, &rgb3, &rgb4, &rgb5, dst); -} - -void VP8YuvToBgr32_SSE2(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst) { - __m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3; - __m128i bgr0, bgr1, bgr2, bgr3, bgr4, bgr5; - - YUV444ToRGB_SSE2(y + 0, u + 0, v + 0, &R0, &G0, &B0); - YUV444ToRGB_SSE2(y + 8, u + 8, v + 8, &R1, &G1, &B1); - YUV444ToRGB_SSE2(y + 16, u + 16, v + 16, &R2, &G2, &B2); - YUV444ToRGB_SSE2(y + 24, u + 24, v + 24, &R3, &G3, &B3); - - // Cast to 8b and store as BBBBGGGGRRRR. - bgr0 = _mm_packus_epi16(B0, B1); - bgr1 = _mm_packus_epi16(B2, B3); - bgr2 = _mm_packus_epi16(G0, G1); - bgr3 = _mm_packus_epi16(G2, G3); - bgr4 = _mm_packus_epi16(R0, R1); - bgr5= _mm_packus_epi16(R2, R3); - - // Pack as BGRBGRBGRBGR. - PlanarTo24b_SSE2(&bgr0, &bgr1, &bgr2, &bgr3, &bgr4, &bgr5, dst); -} - -//----------------------------------------------------------------------------- -// Arbitrary-length row conversion functions - -static void YuvToRgbaRow_SSE2(const uint8_t* y, - const uint8_t* u, const uint8_t* v, - uint8_t* dst, int len) { - const __m128i kAlpha = _mm_set1_epi16(255); - int n; - for (n = 0; n + 8 <= len; n += 8, dst += 32) { - __m128i R, G, B; - YUV420ToRGB_SSE2(y, u, v, &R, &G, &B); - PackAndStore4_SSE2(&R, &G, &B, &kAlpha, dst); - y += 8; - u += 4; - v += 4; - } - for (; n < len; ++n) { // Finish off - VP8YuvToRgba(y[0], u[0], v[0], dst); - dst += 4; - y += 1; - u += (n & 1); - v += (n & 1); - } -} - -static void YuvToBgraRow_SSE2(const uint8_t* y, - const uint8_t* u, const uint8_t* v, - uint8_t* dst, int len) { - const __m128i kAlpha = _mm_set1_epi16(255); - int n; - for (n = 0; n + 8 <= len; n += 8, dst += 32) { - __m128i R, G, B; - YUV420ToRGB_SSE2(y, u, v, &R, &G, &B); - PackAndStore4_SSE2(&B, &G, &R, &kAlpha, dst); - y += 8; - u += 4; - v += 4; - } - for (; n < len; ++n) { // Finish off - VP8YuvToBgra(y[0], u[0], v[0], dst); - dst += 4; - y += 1; - u += (n & 1); - v += (n & 1); - } -} - -static void YuvToArgbRow_SSE2(const uint8_t* y, - const uint8_t* u, const uint8_t* v, - uint8_t* dst, int len) { - const __m128i kAlpha = _mm_set1_epi16(255); - int n; - for (n = 0; n + 8 <= len; n += 8, dst += 32) { - __m128i R, G, B; - YUV420ToRGB_SSE2(y, u, v, &R, &G, &B); - PackAndStore4_SSE2(&kAlpha, &R, &G, &B, dst); - y += 8; - u += 4; - v += 4; - } - for (; n < len; ++n) { // Finish off - VP8YuvToArgb(y[0], u[0], v[0], dst); - dst += 4; - y += 1; - u += (n & 1); - v += (n & 1); - } -} - -static void YuvToRgbRow_SSE2(const uint8_t* y, - const uint8_t* u, const uint8_t* v, - uint8_t* dst, int len) { - int n; - for (n = 0; n + 32 <= len; n += 32, dst += 32 * 3) { - __m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3; - __m128i rgb0, rgb1, rgb2, rgb3, rgb4, rgb5; - - YUV420ToRGB_SSE2(y + 0, u + 0, v + 0, &R0, &G0, &B0); - YUV420ToRGB_SSE2(y + 8, u + 4, v + 4, &R1, &G1, &B1); - YUV420ToRGB_SSE2(y + 16, u + 8, v + 8, &R2, &G2, &B2); - YUV420ToRGB_SSE2(y + 24, u + 12, v + 12, &R3, &G3, &B3); - - // Cast to 8b and store as RRRRGGGGBBBB. - rgb0 = _mm_packus_epi16(R0, R1); - rgb1 = _mm_packus_epi16(R2, R3); - rgb2 = _mm_packus_epi16(G0, G1); - rgb3 = _mm_packus_epi16(G2, G3); - rgb4 = _mm_packus_epi16(B0, B1); - rgb5 = _mm_packus_epi16(B2, B3); - - // Pack as RGBRGBRGBRGB. - PlanarTo24b_SSE2(&rgb0, &rgb1, &rgb2, &rgb3, &rgb4, &rgb5, dst); - - y += 32; - u += 16; - v += 16; - } - for (; n < len; ++n) { // Finish off - VP8YuvToRgb(y[0], u[0], v[0], dst); - dst += 3; - y += 1; - u += (n & 1); - v += (n & 1); - } -} - -static void YuvToBgrRow_SSE2(const uint8_t* y, - const uint8_t* u, const uint8_t* v, - uint8_t* dst, int len) { - int n; - for (n = 0; n + 32 <= len; n += 32, dst += 32 * 3) { - __m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3; - __m128i bgr0, bgr1, bgr2, bgr3, bgr4, bgr5; - - YUV420ToRGB_SSE2(y + 0, u + 0, v + 0, &R0, &G0, &B0); - YUV420ToRGB_SSE2(y + 8, u + 4, v + 4, &R1, &G1, &B1); - YUV420ToRGB_SSE2(y + 16, u + 8, v + 8, &R2, &G2, &B2); - YUV420ToRGB_SSE2(y + 24, u + 12, v + 12, &R3, &G3, &B3); - - // Cast to 8b and store as BBBBGGGGRRRR. - bgr0 = _mm_packus_epi16(B0, B1); - bgr1 = _mm_packus_epi16(B2, B3); - bgr2 = _mm_packus_epi16(G0, G1); - bgr3 = _mm_packus_epi16(G2, G3); - bgr4 = _mm_packus_epi16(R0, R1); - bgr5 = _mm_packus_epi16(R2, R3); - - // Pack as BGRBGRBGRBGR. - PlanarTo24b_SSE2(&bgr0, &bgr1, &bgr2, &bgr3, &bgr4, &bgr5, dst); - - y += 32; - u += 16; - v += 16; - } - for (; n < len; ++n) { // Finish off - VP8YuvToBgr(y[0], u[0], v[0], dst); - dst += 3; - y += 1; - u += (n & 1); - v += (n & 1); - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPInitSamplersSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersSSE2(void) { - WebPSamplers[MODE_RGB] = YuvToRgbRow_SSE2; - WebPSamplers[MODE_RGBA] = YuvToRgbaRow_SSE2; - WebPSamplers[MODE_BGR] = YuvToBgrRow_SSE2; - WebPSamplers[MODE_BGRA] = YuvToBgraRow_SSE2; - WebPSamplers[MODE_ARGB] = YuvToArgbRow_SSE2; -} - -//------------------------------------------------------------------------------ -// RGB24/32 -> YUV converters - -// Load eight 16b-words from *src. -#define LOAD_16(src) _mm_loadu_si128((const __m128i*)(src)) -// Store either 16b-words into *dst -#define STORE_16(V, dst) _mm_storeu_si128((__m128i*)(dst), (V)) - -// Function that inserts a value of the second half of the in buffer in between -// every two char of the first half. -static WEBP_INLINE void RGB24PackedToPlanarHelper_SSE2( - const __m128i* const in /*in[6]*/, __m128i* const out /*out[6]*/) { - out[0] = _mm_unpacklo_epi8(in[0], in[3]); - out[1] = _mm_unpackhi_epi8(in[0], in[3]); - out[2] = _mm_unpacklo_epi8(in[1], in[4]); - out[3] = _mm_unpackhi_epi8(in[1], in[4]); - out[4] = _mm_unpacklo_epi8(in[2], in[5]); - out[5] = _mm_unpackhi_epi8(in[2], in[5]); -} - -// Unpack the 8b input rgbrgbrgbrgb ... as contiguous registers: -// rrrr... rrrr... gggg... gggg... bbbb... bbbb.... -// Similar to PlanarTo24bHelper(), but in reverse order. -static WEBP_INLINE void RGB24PackedToPlanar_SSE2( - const uint8_t* const rgb, __m128i* const out /*out[6]*/) { - __m128i tmp[6]; - tmp[0] = _mm_loadu_si128((const __m128i*)(rgb + 0)); - tmp[1] = _mm_loadu_si128((const __m128i*)(rgb + 16)); - tmp[2] = _mm_loadu_si128((const __m128i*)(rgb + 32)); - tmp[3] = _mm_loadu_si128((const __m128i*)(rgb + 48)); - tmp[4] = _mm_loadu_si128((const __m128i*)(rgb + 64)); - tmp[5] = _mm_loadu_si128((const __m128i*)(rgb + 80)); - - RGB24PackedToPlanarHelper_SSE2(tmp, out); - RGB24PackedToPlanarHelper_SSE2(out, tmp); - RGB24PackedToPlanarHelper_SSE2(tmp, out); - RGB24PackedToPlanarHelper_SSE2(out, tmp); - RGB24PackedToPlanarHelper_SSE2(tmp, out); -} - -// Convert 8 packed ARGB to r[], g[], b[] -static WEBP_INLINE void RGB32PackedToPlanar_SSE2(const uint32_t* const argb, - __m128i* const rgb /*in[6]*/) { - const __m128i zero = _mm_setzero_si128(); - __m128i a0 = LOAD_16(argb + 0); - __m128i a1 = LOAD_16(argb + 4); - __m128i a2 = LOAD_16(argb + 8); - __m128i a3 = LOAD_16(argb + 12); - VP8L32bToPlanar_SSE2(&a0, &a1, &a2, &a3); - rgb[0] = _mm_unpacklo_epi8(a1, zero); - rgb[1] = _mm_unpackhi_epi8(a1, zero); - rgb[2] = _mm_unpacklo_epi8(a2, zero); - rgb[3] = _mm_unpackhi_epi8(a2, zero); - rgb[4] = _mm_unpacklo_epi8(a3, zero); - rgb[5] = _mm_unpackhi_epi8(a3, zero); -} - -// This macro computes (RG * MULT_RG + GB * MULT_GB + ROUNDER) >> DESCALE_FIX -// It's a macro and not a function because we need to use immediate values with -// srai_epi32, e.g. -#define TRANSFORM(RG_LO, RG_HI, GB_LO, GB_HI, MULT_RG, MULT_GB, \ - ROUNDER, DESCALE_FIX, OUT) do { \ - const __m128i V0_lo = _mm_madd_epi16(RG_LO, MULT_RG); \ - const __m128i V0_hi = _mm_madd_epi16(RG_HI, MULT_RG); \ - const __m128i V1_lo = _mm_madd_epi16(GB_LO, MULT_GB); \ - const __m128i V1_hi = _mm_madd_epi16(GB_HI, MULT_GB); \ - const __m128i V2_lo = _mm_add_epi32(V0_lo, V1_lo); \ - const __m128i V2_hi = _mm_add_epi32(V0_hi, V1_hi); \ - const __m128i V3_lo = _mm_add_epi32(V2_lo, ROUNDER); \ - const __m128i V3_hi = _mm_add_epi32(V2_hi, ROUNDER); \ - const __m128i V5_lo = _mm_srai_epi32(V3_lo, DESCALE_FIX); \ - const __m128i V5_hi = _mm_srai_epi32(V3_hi, DESCALE_FIX); \ - (OUT) = _mm_packs_epi32(V5_lo, V5_hi); \ -} while (0) - -#define MK_CST_16(A, B) _mm_set_epi16((B), (A), (B), (A), (B), (A), (B), (A)) -static WEBP_INLINE void ConvertRGBToY_SSE2(const __m128i* const R, - const __m128i* const G, - const __m128i* const B, - __m128i* const Y) { - const __m128i kRG_y = MK_CST_16(16839, 33059 - 16384); - const __m128i kGB_y = MK_CST_16(16384, 6420); - const __m128i kHALF_Y = _mm_set1_epi32((16 << YUV_FIX) + YUV_HALF); - - const __m128i RG_lo = _mm_unpacklo_epi16(*R, *G); - const __m128i RG_hi = _mm_unpackhi_epi16(*R, *G); - const __m128i GB_lo = _mm_unpacklo_epi16(*G, *B); - const __m128i GB_hi = _mm_unpackhi_epi16(*G, *B); - TRANSFORM(RG_lo, RG_hi, GB_lo, GB_hi, kRG_y, kGB_y, kHALF_Y, YUV_FIX, *Y); -} - -static WEBP_INLINE void ConvertRGBToUV_SSE2(const __m128i* const R, - const __m128i* const G, - const __m128i* const B, - __m128i* const U, - __m128i* const V) { - const __m128i kRG_u = MK_CST_16(-9719, -19081); - const __m128i kGB_u = MK_CST_16(0, 28800); - const __m128i kRG_v = MK_CST_16(28800, 0); - const __m128i kGB_v = MK_CST_16(-24116, -4684); - const __m128i kHALF_UV = _mm_set1_epi32(((128 << YUV_FIX) + YUV_HALF) << 2); - - const __m128i RG_lo = _mm_unpacklo_epi16(*R, *G); - const __m128i RG_hi = _mm_unpackhi_epi16(*R, *G); - const __m128i GB_lo = _mm_unpacklo_epi16(*G, *B); - const __m128i GB_hi = _mm_unpackhi_epi16(*G, *B); - TRANSFORM(RG_lo, RG_hi, GB_lo, GB_hi, kRG_u, kGB_u, - kHALF_UV, YUV_FIX + 2, *U); - TRANSFORM(RG_lo, RG_hi, GB_lo, GB_hi, kRG_v, kGB_v, - kHALF_UV, YUV_FIX + 2, *V); -} - -#undef MK_CST_16 -#undef TRANSFORM - -static void ConvertRGB24ToY_SSE2(const uint8_t* rgb, uint8_t* y, int width) { - const int max_width = width & ~31; - int i; - for (i = 0; i < max_width; rgb += 3 * 16 * 2) { - __m128i rgb_plane[6]; - int j; - - RGB24PackedToPlanar_SSE2(rgb, rgb_plane); - - for (j = 0; j < 2; ++j, i += 16) { - const __m128i zero = _mm_setzero_si128(); - __m128i r, g, b, Y0, Y1; - - // Convert to 16-bit Y. - r = _mm_unpacklo_epi8(rgb_plane[0 + j], zero); - g = _mm_unpacklo_epi8(rgb_plane[2 + j], zero); - b = _mm_unpacklo_epi8(rgb_plane[4 + j], zero); - ConvertRGBToY_SSE2(&r, &g, &b, &Y0); - - // Convert to 16-bit Y. - r = _mm_unpackhi_epi8(rgb_plane[0 + j], zero); - g = _mm_unpackhi_epi8(rgb_plane[2 + j], zero); - b = _mm_unpackhi_epi8(rgb_plane[4 + j], zero); - ConvertRGBToY_SSE2(&r, &g, &b, &Y1); - - // Cast to 8-bit and store. - STORE_16(_mm_packus_epi16(Y0, Y1), y + i); - } - } - for (; i < width; ++i, rgb += 3) { // left-over - y[i] = VP8RGBToY(rgb[0], rgb[1], rgb[2], YUV_HALF); - } -} - -static void ConvertBGR24ToY_SSE2(const uint8_t* bgr, uint8_t* y, int width) { - const int max_width = width & ~31; - int i; - for (i = 0; i < max_width; bgr += 3 * 16 * 2) { - __m128i bgr_plane[6]; - int j; - - RGB24PackedToPlanar_SSE2(bgr, bgr_plane); - - for (j = 0; j < 2; ++j, i += 16) { - const __m128i zero = _mm_setzero_si128(); - __m128i r, g, b, Y0, Y1; - - // Convert to 16-bit Y. - b = _mm_unpacklo_epi8(bgr_plane[0 + j], zero); - g = _mm_unpacklo_epi8(bgr_plane[2 + j], zero); - r = _mm_unpacklo_epi8(bgr_plane[4 + j], zero); - ConvertRGBToY_SSE2(&r, &g, &b, &Y0); - - // Convert to 16-bit Y. - b = _mm_unpackhi_epi8(bgr_plane[0 + j], zero); - g = _mm_unpackhi_epi8(bgr_plane[2 + j], zero); - r = _mm_unpackhi_epi8(bgr_plane[4 + j], zero); - ConvertRGBToY_SSE2(&r, &g, &b, &Y1); - - // Cast to 8-bit and store. - STORE_16(_mm_packus_epi16(Y0, Y1), y + i); - } - } - for (; i < width; ++i, bgr += 3) { // left-over - y[i] = VP8RGBToY(bgr[2], bgr[1], bgr[0], YUV_HALF); - } -} - -static void ConvertARGBToY_SSE2(const uint32_t* argb, uint8_t* y, int width) { - const int max_width = width & ~15; - int i; - for (i = 0; i < max_width; i += 16) { - __m128i Y0, Y1, rgb[6]; - RGB32PackedToPlanar_SSE2(&argb[i], rgb); - ConvertRGBToY_SSE2(&rgb[0], &rgb[2], &rgb[4], &Y0); - ConvertRGBToY_SSE2(&rgb[1], &rgb[3], &rgb[5], &Y1); - STORE_16(_mm_packus_epi16(Y0, Y1), y + i); - } - for (; i < width; ++i) { // left-over - const uint32_t p = argb[i]; - y[i] = VP8RGBToY((p >> 16) & 0xff, (p >> 8) & 0xff, (p >> 0) & 0xff, - YUV_HALF); - } -} - -// Horizontal add (doubled) of two 16b values, result is 16b. -// in: A | B | C | D | ... -> out: 2*(A+B) | 2*(C+D) | ... -static void HorizontalAddPack_SSE2(const __m128i* const A, - const __m128i* const B, - __m128i* const out) { - const __m128i k2 = _mm_set1_epi16(2); - const __m128i C = _mm_madd_epi16(*A, k2); - const __m128i D = _mm_madd_epi16(*B, k2); - *out = _mm_packs_epi32(C, D); -} - -static void ConvertARGBToUV_SSE2(const uint32_t* argb, - uint8_t* u, uint8_t* v, - int src_width, int do_store) { - const int max_width = src_width & ~31; - int i; - for (i = 0; i < max_width; i += 32, u += 16, v += 16) { - __m128i rgb[6], U0, V0, U1, V1; - RGB32PackedToPlanar_SSE2(&argb[i], rgb); - HorizontalAddPack_SSE2(&rgb[0], &rgb[1], &rgb[0]); - HorizontalAddPack_SSE2(&rgb[2], &rgb[3], &rgb[2]); - HorizontalAddPack_SSE2(&rgb[4], &rgb[5], &rgb[4]); - ConvertRGBToUV_SSE2(&rgb[0], &rgb[2], &rgb[4], &U0, &V0); - - RGB32PackedToPlanar_SSE2(&argb[i + 16], rgb); - HorizontalAddPack_SSE2(&rgb[0], &rgb[1], &rgb[0]); - HorizontalAddPack_SSE2(&rgb[2], &rgb[3], &rgb[2]); - HorizontalAddPack_SSE2(&rgb[4], &rgb[5], &rgb[4]); - ConvertRGBToUV_SSE2(&rgb[0], &rgb[2], &rgb[4], &U1, &V1); - - U0 = _mm_packus_epi16(U0, U1); - V0 = _mm_packus_epi16(V0, V1); - if (!do_store) { - const __m128i prev_u = LOAD_16(u); - const __m128i prev_v = LOAD_16(v); - U0 = _mm_avg_epu8(U0, prev_u); - V0 = _mm_avg_epu8(V0, prev_v); - } - STORE_16(U0, u); - STORE_16(V0, v); - } - if (i < src_width) { // left-over - WebPConvertARGBToUV_C(argb + i, u, v, src_width - i, do_store); - } -} - -// Convert 16 packed ARGB 16b-values to r[], g[], b[] -static WEBP_INLINE void RGBA32PackedToPlanar_16b_SSE2( - const uint16_t* const rgbx, - __m128i* const r, __m128i* const g, __m128i* const b) { - const __m128i in0 = LOAD_16(rgbx + 0); // r0 | g0 | b0 |x| r1 | g1 | b1 |x - const __m128i in1 = LOAD_16(rgbx + 8); // r2 | g2 | b2 |x| r3 | g3 | b3 |x - const __m128i in2 = LOAD_16(rgbx + 16); // r4 | ... - const __m128i in3 = LOAD_16(rgbx + 24); // r6 | ... - // column-wise transpose - const __m128i A0 = _mm_unpacklo_epi16(in0, in1); - const __m128i A1 = _mm_unpackhi_epi16(in0, in1); - const __m128i A2 = _mm_unpacklo_epi16(in2, in3); - const __m128i A3 = _mm_unpackhi_epi16(in2, in3); - const __m128i B0 = _mm_unpacklo_epi16(A0, A1); // r0 r1 r2 r3 | g0 g1 .. - const __m128i B1 = _mm_unpackhi_epi16(A0, A1); // b0 b1 b2 b3 | x x x x - const __m128i B2 = _mm_unpacklo_epi16(A2, A3); // r4 r5 r6 r7 | g4 g5 .. - const __m128i B3 = _mm_unpackhi_epi16(A2, A3); // b4 b5 b6 b7 | x x x x - *r = _mm_unpacklo_epi64(B0, B2); - *g = _mm_unpackhi_epi64(B0, B2); - *b = _mm_unpacklo_epi64(B1, B3); -} - -static void ConvertRGBA32ToUV_SSE2(const uint16_t* rgb, - uint8_t* u, uint8_t* v, int width) { - const int max_width = width & ~15; - const uint16_t* const last_rgb = rgb + 4 * max_width; - while (rgb < last_rgb) { - __m128i r, g, b, U0, V0, U1, V1; - RGBA32PackedToPlanar_16b_SSE2(rgb + 0, &r, &g, &b); - ConvertRGBToUV_SSE2(&r, &g, &b, &U0, &V0); - RGBA32PackedToPlanar_16b_SSE2(rgb + 32, &r, &g, &b); - ConvertRGBToUV_SSE2(&r, &g, &b, &U1, &V1); - STORE_16(_mm_packus_epi16(U0, U1), u); - STORE_16(_mm_packus_epi16(V0, V1), v); - u += 16; - v += 16; - rgb += 2 * 32; - } - if (max_width < width) { // left-over - WebPConvertRGBA32ToUV_C(rgb, u, v, width - max_width); - } -} - -//------------------------------------------------------------------------------ - -extern void WebPInitConvertARGBToYUVSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitConvertARGBToYUVSSE2(void) { - WebPConvertARGBToY = ConvertARGBToY_SSE2; - WebPConvertARGBToUV = ConvertARGBToUV_SSE2; - - WebPConvertRGB24ToY = ConvertRGB24ToY_SSE2; - WebPConvertBGR24ToY = ConvertBGR24ToY_SSE2; - - WebPConvertRGBA32ToUV = ConvertRGBA32ToUV_SSE2; -} - -//------------------------------------------------------------------------------ - -#define MAX_Y ((1 << 10) - 1) // 10b precision over 16b-arithmetic -static uint16_t clip_y(int v) { - return (v < 0) ? 0 : (v > MAX_Y) ? MAX_Y : (uint16_t)v; -} - -static uint64_t SharpYUVUpdateY_SSE2(const uint16_t* ref, const uint16_t* src, - uint16_t* dst, int len) { - uint64_t diff = 0; - uint32_t tmp[4]; - int i; - const __m128i zero = _mm_setzero_si128(); - const __m128i max = _mm_set1_epi16(MAX_Y); - const __m128i one = _mm_set1_epi16(1); - __m128i sum = zero; - - for (i = 0; i + 8 <= len; i += 8) { - const __m128i A = _mm_loadu_si128((const __m128i*)(ref + i)); - const __m128i B = _mm_loadu_si128((const __m128i*)(src + i)); - const __m128i C = _mm_loadu_si128((const __m128i*)(dst + i)); - const __m128i D = _mm_sub_epi16(A, B); // diff_y - const __m128i E = _mm_cmpgt_epi16(zero, D); // sign (-1 or 0) - const __m128i F = _mm_add_epi16(C, D); // new_y - const __m128i G = _mm_or_si128(E, one); // -1 or 1 - const __m128i H = _mm_max_epi16(_mm_min_epi16(F, max), zero); - const __m128i I = _mm_madd_epi16(D, G); // sum(abs(...)) - _mm_storeu_si128((__m128i*)(dst + i), H); - sum = _mm_add_epi32(sum, I); - } - _mm_storeu_si128((__m128i*)tmp, sum); - diff = tmp[3] + tmp[2] + tmp[1] + tmp[0]; - for (; i < len; ++i) { - const int diff_y = ref[i] - src[i]; - const int new_y = (int)dst[i] + diff_y; - dst[i] = clip_y(new_y); - diff += (uint64_t)abs(diff_y); - } - return diff; -} - -static void SharpYUVUpdateRGB_SSE2(const int16_t* ref, const int16_t* src, - int16_t* dst, int len) { - int i = 0; - for (i = 0; i + 8 <= len; i += 8) { - const __m128i A = _mm_loadu_si128((const __m128i*)(ref + i)); - const __m128i B = _mm_loadu_si128((const __m128i*)(src + i)); - const __m128i C = _mm_loadu_si128((const __m128i*)(dst + i)); - const __m128i D = _mm_sub_epi16(A, B); // diff_uv - const __m128i E = _mm_add_epi16(C, D); // new_uv - _mm_storeu_si128((__m128i*)(dst + i), E); - } - for (; i < len; ++i) { - const int diff_uv = ref[i] - src[i]; - dst[i] += diff_uv; - } -} - -static void SharpYUVFilterRow_SSE2(const int16_t* A, const int16_t* B, int len, - const uint16_t* best_y, uint16_t* out) { - int i; - const __m128i kCst8 = _mm_set1_epi16(8); - const __m128i max = _mm_set1_epi16(MAX_Y); - const __m128i zero = _mm_setzero_si128(); - for (i = 0; i + 8 <= len; i += 8) { - const __m128i a0 = _mm_loadu_si128((const __m128i*)(A + i + 0)); - const __m128i a1 = _mm_loadu_si128((const __m128i*)(A + i + 1)); - const __m128i b0 = _mm_loadu_si128((const __m128i*)(B + i + 0)); - const __m128i b1 = _mm_loadu_si128((const __m128i*)(B + i + 1)); - const __m128i a0b1 = _mm_add_epi16(a0, b1); - const __m128i a1b0 = _mm_add_epi16(a1, b0); - const __m128i a0a1b0b1 = _mm_add_epi16(a0b1, a1b0); // A0+A1+B0+B1 - const __m128i a0a1b0b1_8 = _mm_add_epi16(a0a1b0b1, kCst8); - const __m128i a0b1_2 = _mm_add_epi16(a0b1, a0b1); // 2*(A0+B1) - const __m128i a1b0_2 = _mm_add_epi16(a1b0, a1b0); // 2*(A1+B0) - const __m128i c0 = _mm_srai_epi16(_mm_add_epi16(a0b1_2, a0a1b0b1_8), 3); - const __m128i c1 = _mm_srai_epi16(_mm_add_epi16(a1b0_2, a0a1b0b1_8), 3); - const __m128i d0 = _mm_add_epi16(c1, a0); - const __m128i d1 = _mm_add_epi16(c0, a1); - const __m128i e0 = _mm_srai_epi16(d0, 1); - const __m128i e1 = _mm_srai_epi16(d1, 1); - const __m128i f0 = _mm_unpacklo_epi16(e0, e1); - const __m128i f1 = _mm_unpackhi_epi16(e0, e1); - const __m128i g0 = _mm_loadu_si128((const __m128i*)(best_y + 2 * i + 0)); - const __m128i g1 = _mm_loadu_si128((const __m128i*)(best_y + 2 * i + 8)); - const __m128i h0 = _mm_add_epi16(g0, f0); - const __m128i h1 = _mm_add_epi16(g1, f1); - const __m128i i0 = _mm_max_epi16(_mm_min_epi16(h0, max), zero); - const __m128i i1 = _mm_max_epi16(_mm_min_epi16(h1, max), zero); - _mm_storeu_si128((__m128i*)(out + 2 * i + 0), i0); - _mm_storeu_si128((__m128i*)(out + 2 * i + 8), i1); - } - for (; i < len; ++i) { - // (9 * A0 + 3 * A1 + 3 * B0 + B1 + 8) >> 4 = - // = (8 * A0 + 2 * (A1 + B0) + (A0 + A1 + B0 + B1 + 8)) >> 4 - // We reuse the common sub-expressions. - const int a0b1 = A[i + 0] + B[i + 1]; - const int a1b0 = A[i + 1] + B[i + 0]; - const int a0a1b0b1 = a0b1 + a1b0 + 8; - const int v0 = (8 * A[i + 0] + 2 * a1b0 + a0a1b0b1) >> 4; - const int v1 = (8 * A[i + 1] + 2 * a0b1 + a0a1b0b1) >> 4; - out[2 * i + 0] = clip_y(best_y[2 * i + 0] + v0); - out[2 * i + 1] = clip_y(best_y[2 * i + 1] + v1); - } -} - -#undef MAX_Y - -//------------------------------------------------------------------------------ - -extern void WebPInitSharpYUVSSE2(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitSharpYUVSSE2(void) { - WebPSharpYUVUpdateY = SharpYUVUpdateY_SSE2; - WebPSharpYUVUpdateRGB = SharpYUVUpdateRGB_SSE2; - WebPSharpYUVFilterRow = SharpYUVFilterRow_SSE2; -} - -#else // !WEBP_USE_SSE2 - -WEBP_DSP_INIT_STUB(WebPInitSamplersSSE2) -WEBP_DSP_INIT_STUB(WebPInitConvertARGBToYUVSSE2) -WEBP_DSP_INIT_STUB(WebPInitSharpYUVSSE2) - -#endif // WEBP_USE_SSE2 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_sse41.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_sse41.c deleted file mode 100644 index 579d1f74..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/dsp/yuv_sse41.c +++ /dev/null @@ -1,613 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// YUV->RGB conversion functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/dsp/yuv.h" - -#if defined(WEBP_USE_SSE41) - -#include "src/dsp/common_sse41.h" -#include -#include - -//----------------------------------------------------------------------------- -// Convert spans of 32 pixels to various RGB formats for the fancy upsampler. - -// These constants are 14b fixed-point version of ITU-R BT.601 constants. -// R = (19077 * y + 26149 * v - 14234) >> 6 -// G = (19077 * y - 6419 * u - 13320 * v + 8708) >> 6 -// B = (19077 * y + 33050 * u - 17685) >> 6 -static void ConvertYUV444ToRGB_SSE41(const __m128i* const Y0, - const __m128i* const U0, - const __m128i* const V0, - __m128i* const R, - __m128i* const G, - __m128i* const B) { - const __m128i k19077 = _mm_set1_epi16(19077); - const __m128i k26149 = _mm_set1_epi16(26149); - const __m128i k14234 = _mm_set1_epi16(14234); - // 33050 doesn't fit in a signed short: only use this with unsigned arithmetic - const __m128i k33050 = _mm_set1_epi16((short)33050); - const __m128i k17685 = _mm_set1_epi16(17685); - const __m128i k6419 = _mm_set1_epi16(6419); - const __m128i k13320 = _mm_set1_epi16(13320); - const __m128i k8708 = _mm_set1_epi16(8708); - - const __m128i Y1 = _mm_mulhi_epu16(*Y0, k19077); - - const __m128i R0 = _mm_mulhi_epu16(*V0, k26149); - const __m128i R1 = _mm_sub_epi16(Y1, k14234); - const __m128i R2 = _mm_add_epi16(R1, R0); - - const __m128i G0 = _mm_mulhi_epu16(*U0, k6419); - const __m128i G1 = _mm_mulhi_epu16(*V0, k13320); - const __m128i G2 = _mm_add_epi16(Y1, k8708); - const __m128i G3 = _mm_add_epi16(G0, G1); - const __m128i G4 = _mm_sub_epi16(G2, G3); - - // be careful with the saturated *unsigned* arithmetic here! - const __m128i B0 = _mm_mulhi_epu16(*U0, k33050); - const __m128i B1 = _mm_adds_epu16(B0, Y1); - const __m128i B2 = _mm_subs_epu16(B1, k17685); - - // use logical shift for B2, which can be larger than 32767 - *R = _mm_srai_epi16(R2, 6); // range: [-14234, 30815] - *G = _mm_srai_epi16(G4, 6); // range: [-10953, 27710] - *B = _mm_srli_epi16(B2, 6); // range: [0, 34238] -} - -// Load the bytes into the *upper* part of 16b words. That's "<< 8", basically. -static WEBP_INLINE __m128i Load_HI_16_SSE41(const uint8_t* src) { - const __m128i zero = _mm_setzero_si128(); - return _mm_unpacklo_epi8(zero, _mm_loadl_epi64((const __m128i*)src)); -} - -// Load and replicate the U/V samples -static WEBP_INLINE __m128i Load_UV_HI_8_SSE41(const uint8_t* src) { - const __m128i zero = _mm_setzero_si128(); - const __m128i tmp0 = _mm_cvtsi32_si128(*(const uint32_t*)src); - const __m128i tmp1 = _mm_unpacklo_epi8(zero, tmp0); - return _mm_unpacklo_epi16(tmp1, tmp1); // replicate samples -} - -// Convert 32 samples of YUV444 to R/G/B -static void YUV444ToRGB_SSE41(const uint8_t* const y, - const uint8_t* const u, - const uint8_t* const v, - __m128i* const R, __m128i* const G, - __m128i* const B) { - const __m128i Y0 = Load_HI_16_SSE41(y), U0 = Load_HI_16_SSE41(u), - V0 = Load_HI_16_SSE41(v); - ConvertYUV444ToRGB_SSE41(&Y0, &U0, &V0, R, G, B); -} - -// Convert 32 samples of YUV420 to R/G/B -static void YUV420ToRGB_SSE41(const uint8_t* const y, - const uint8_t* const u, - const uint8_t* const v, - __m128i* const R, __m128i* const G, - __m128i* const B) { - const __m128i Y0 = Load_HI_16_SSE41(y), U0 = Load_UV_HI_8_SSE41(u), - V0 = Load_UV_HI_8_SSE41(v); - ConvertYUV444ToRGB_SSE41(&Y0, &U0, &V0, R, G, B); -} - -// Pack the planar buffers -// rrrr... rrrr... gggg... gggg... bbbb... bbbb.... -// triplet by triplet in the output buffer rgb as rgbrgbrgbrgb ... -static WEBP_INLINE void PlanarTo24b_SSE41( - __m128i* const in0, __m128i* const in1, __m128i* const in2, - __m128i* const in3, __m128i* const in4, __m128i* const in5, - uint8_t* const rgb) { - // The input is 6 registers of sixteen 8b but for the sake of explanation, - // let's take 6 registers of four 8b values. - // To pack, we will keep taking one every two 8b integer and move it - // around as follows: - // Input: - // r0r1r2r3 | r4r5r6r7 | g0g1g2g3 | g4g5g6g7 | b0b1b2b3 | b4b5b6b7 - // Split the 6 registers in two sets of 3 registers: the first set as the even - // 8b bytes, the second the odd ones: - // r0r2r4r6 | g0g2g4g6 | b0b2b4b6 | r1r3r5r7 | g1g3g5g7 | b1b3b5b7 - // Repeat the same permutations twice more: - // r0r4g0g4 | b0b4r1r5 | g1g5b1b5 | r2r6g2g6 | b2b6r3r7 | g3g7b3b7 - // r0g0b0r1 | g1b1r2g2 | b2r3g3b3 | r4g4b4r5 | g5b5r6g6 | b6r7g7b7 - VP8PlanarTo24b_SSE41(in0, in1, in2, in3, in4, in5); - - _mm_storeu_si128((__m128i*)(rgb + 0), *in0); - _mm_storeu_si128((__m128i*)(rgb + 16), *in1); - _mm_storeu_si128((__m128i*)(rgb + 32), *in2); - _mm_storeu_si128((__m128i*)(rgb + 48), *in3); - _mm_storeu_si128((__m128i*)(rgb + 64), *in4); - _mm_storeu_si128((__m128i*)(rgb + 80), *in5); -} - -void VP8YuvToRgb32_SSE41(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst) { - __m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3; - __m128i rgb0, rgb1, rgb2, rgb3, rgb4, rgb5; - - YUV444ToRGB_SSE41(y + 0, u + 0, v + 0, &R0, &G0, &B0); - YUV444ToRGB_SSE41(y + 8, u + 8, v + 8, &R1, &G1, &B1); - YUV444ToRGB_SSE41(y + 16, u + 16, v + 16, &R2, &G2, &B2); - YUV444ToRGB_SSE41(y + 24, u + 24, v + 24, &R3, &G3, &B3); - - // Cast to 8b and store as RRRRGGGGBBBB. - rgb0 = _mm_packus_epi16(R0, R1); - rgb1 = _mm_packus_epi16(R2, R3); - rgb2 = _mm_packus_epi16(G0, G1); - rgb3 = _mm_packus_epi16(G2, G3); - rgb4 = _mm_packus_epi16(B0, B1); - rgb5 = _mm_packus_epi16(B2, B3); - - // Pack as RGBRGBRGBRGB. - PlanarTo24b_SSE41(&rgb0, &rgb1, &rgb2, &rgb3, &rgb4, &rgb5, dst); -} - -void VP8YuvToBgr32_SSE41(const uint8_t* y, const uint8_t* u, const uint8_t* v, - uint8_t* dst) { - __m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3; - __m128i bgr0, bgr1, bgr2, bgr3, bgr4, bgr5; - - YUV444ToRGB_SSE41(y + 0, u + 0, v + 0, &R0, &G0, &B0); - YUV444ToRGB_SSE41(y + 8, u + 8, v + 8, &R1, &G1, &B1); - YUV444ToRGB_SSE41(y + 16, u + 16, v + 16, &R2, &G2, &B2); - YUV444ToRGB_SSE41(y + 24, u + 24, v + 24, &R3, &G3, &B3); - - // Cast to 8b and store as BBBBGGGGRRRR. - bgr0 = _mm_packus_epi16(B0, B1); - bgr1 = _mm_packus_epi16(B2, B3); - bgr2 = _mm_packus_epi16(G0, G1); - bgr3 = _mm_packus_epi16(G2, G3); - bgr4 = _mm_packus_epi16(R0, R1); - bgr5= _mm_packus_epi16(R2, R3); - - // Pack as BGRBGRBGRBGR. - PlanarTo24b_SSE41(&bgr0, &bgr1, &bgr2, &bgr3, &bgr4, &bgr5, dst); -} - -//----------------------------------------------------------------------------- -// Arbitrary-length row conversion functions - -static void YuvToRgbRow_SSE41(const uint8_t* y, - const uint8_t* u, const uint8_t* v, - uint8_t* dst, int len) { - int n; - for (n = 0; n + 32 <= len; n += 32, dst += 32 * 3) { - __m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3; - __m128i rgb0, rgb1, rgb2, rgb3, rgb4, rgb5; - - YUV420ToRGB_SSE41(y + 0, u + 0, v + 0, &R0, &G0, &B0); - YUV420ToRGB_SSE41(y + 8, u + 4, v + 4, &R1, &G1, &B1); - YUV420ToRGB_SSE41(y + 16, u + 8, v + 8, &R2, &G2, &B2); - YUV420ToRGB_SSE41(y + 24, u + 12, v + 12, &R3, &G3, &B3); - - // Cast to 8b and store as RRRRGGGGBBBB. - rgb0 = _mm_packus_epi16(R0, R1); - rgb1 = _mm_packus_epi16(R2, R3); - rgb2 = _mm_packus_epi16(G0, G1); - rgb3 = _mm_packus_epi16(G2, G3); - rgb4 = _mm_packus_epi16(B0, B1); - rgb5 = _mm_packus_epi16(B2, B3); - - // Pack as RGBRGBRGBRGB. - PlanarTo24b_SSE41(&rgb0, &rgb1, &rgb2, &rgb3, &rgb4, &rgb5, dst); - - y += 32; - u += 16; - v += 16; - } - for (; n < len; ++n) { // Finish off - VP8YuvToRgb(y[0], u[0], v[0], dst); - dst += 3; - y += 1; - u += (n & 1); - v += (n & 1); - } -} - -static void YuvToBgrRow_SSE41(const uint8_t* y, - const uint8_t* u, const uint8_t* v, - uint8_t* dst, int len) { - int n; - for (n = 0; n + 32 <= len; n += 32, dst += 32 * 3) { - __m128i R0, R1, R2, R3, G0, G1, G2, G3, B0, B1, B2, B3; - __m128i bgr0, bgr1, bgr2, bgr3, bgr4, bgr5; - - YUV420ToRGB_SSE41(y + 0, u + 0, v + 0, &R0, &G0, &B0); - YUV420ToRGB_SSE41(y + 8, u + 4, v + 4, &R1, &G1, &B1); - YUV420ToRGB_SSE41(y + 16, u + 8, v + 8, &R2, &G2, &B2); - YUV420ToRGB_SSE41(y + 24, u + 12, v + 12, &R3, &G3, &B3); - - // Cast to 8b and store as BBBBGGGGRRRR. - bgr0 = _mm_packus_epi16(B0, B1); - bgr1 = _mm_packus_epi16(B2, B3); - bgr2 = _mm_packus_epi16(G0, G1); - bgr3 = _mm_packus_epi16(G2, G3); - bgr4 = _mm_packus_epi16(R0, R1); - bgr5 = _mm_packus_epi16(R2, R3); - - // Pack as BGRBGRBGRBGR. - PlanarTo24b_SSE41(&bgr0, &bgr1, &bgr2, &bgr3, &bgr4, &bgr5, dst); - - y += 32; - u += 16; - v += 16; - } - for (; n < len; ++n) { // Finish off - VP8YuvToBgr(y[0], u[0], v[0], dst); - dst += 3; - y += 1; - u += (n & 1); - v += (n & 1); - } -} - -//------------------------------------------------------------------------------ -// Entry point - -extern void WebPInitSamplersSSE41(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersSSE41(void) { - WebPSamplers[MODE_RGB] = YuvToRgbRow_SSE41; - WebPSamplers[MODE_BGR] = YuvToBgrRow_SSE41; -} - -//------------------------------------------------------------------------------ -// RGB24/32 -> YUV converters - -// Load eight 16b-words from *src. -#define LOAD_16(src) _mm_loadu_si128((const __m128i*)(src)) -// Store either 16b-words into *dst -#define STORE_16(V, dst) _mm_storeu_si128((__m128i*)(dst), (V)) - -#define WEBP_SSE41_SHUFF(OUT) do { \ - const __m128i tmp0 = _mm_shuffle_epi8(A0, shuff0); \ - const __m128i tmp1 = _mm_shuffle_epi8(A1, shuff1); \ - const __m128i tmp2 = _mm_shuffle_epi8(A2, shuff2); \ - const __m128i tmp3 = _mm_shuffle_epi8(A3, shuff0); \ - const __m128i tmp4 = _mm_shuffle_epi8(A4, shuff1); \ - const __m128i tmp5 = _mm_shuffle_epi8(A5, shuff2); \ - \ - /* OR everything to get one channel */ \ - const __m128i tmp6 = _mm_or_si128(tmp0, tmp1); \ - const __m128i tmp7 = _mm_or_si128(tmp3, tmp4); \ - out[OUT + 0] = _mm_or_si128(tmp6, tmp2); \ - out[OUT + 1] = _mm_or_si128(tmp7, tmp5); \ -} while (0); - -// Unpack the 8b input rgbrgbrgbrgb ... as contiguous registers: -// rrrr... rrrr... gggg... gggg... bbbb... bbbb.... -// Similar to PlanarTo24bHelper(), but in reverse order. -static WEBP_INLINE void RGB24PackedToPlanar_SSE41( - const uint8_t* const rgb, __m128i* const out /*out[6]*/) { - const __m128i A0 = _mm_loadu_si128((const __m128i*)(rgb + 0)); - const __m128i A1 = _mm_loadu_si128((const __m128i*)(rgb + 16)); - const __m128i A2 = _mm_loadu_si128((const __m128i*)(rgb + 32)); - const __m128i A3 = _mm_loadu_si128((const __m128i*)(rgb + 48)); - const __m128i A4 = _mm_loadu_si128((const __m128i*)(rgb + 64)); - const __m128i A5 = _mm_loadu_si128((const __m128i*)(rgb + 80)); - - // Compute RR. - { - const __m128i shuff0 = _mm_set_epi8( - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 12, 9, 6, 3, 0); - const __m128i shuff1 = _mm_set_epi8( - -1, -1, -1, -1, -1, 14, 11, 8, 5, 2, -1, -1, -1, -1, -1, -1); - const __m128i shuff2 = _mm_set_epi8( - 13, 10, 7, 4, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1); - WEBP_SSE41_SHUFF(0) - } - // Compute GG. - { - const __m128i shuff0 = _mm_set_epi8( - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13, 10, 7, 4, 1); - const __m128i shuff1 = _mm_set_epi8( - -1, -1, -1, -1, -1, 15, 12, 9, 6, 3, 0, -1, -1, -1, -1, -1); - const __m128i shuff2 = _mm_set_epi8( - 14, 11, 8, 5, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1); - WEBP_SSE41_SHUFF(2) - } - // Compute BB. - { - const __m128i shuff0 = _mm_set_epi8( - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14, 11, 8, 5, 2); - const __m128i shuff1 = _mm_set_epi8( - -1, -1, -1, -1, -1, -1, 13, 10, 7, 4, 1, -1, -1, -1, -1, -1); - const __m128i shuff2 = _mm_set_epi8( - 15, 12, 9, 6, 3, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1); - WEBP_SSE41_SHUFF(4) - } -} - -#undef WEBP_SSE41_SHUFF - -// Convert 8 packed ARGB to r[], g[], b[] -static WEBP_INLINE void RGB32PackedToPlanar_SSE41( - const uint32_t* const argb, __m128i* const rgb /*in[6]*/) { - const __m128i zero = _mm_setzero_si128(); - __m128i a0 = LOAD_16(argb + 0); - __m128i a1 = LOAD_16(argb + 4); - __m128i a2 = LOAD_16(argb + 8); - __m128i a3 = LOAD_16(argb + 12); - VP8L32bToPlanar_SSE41(&a0, &a1, &a2, &a3); - rgb[0] = _mm_unpacklo_epi8(a1, zero); - rgb[1] = _mm_unpackhi_epi8(a1, zero); - rgb[2] = _mm_unpacklo_epi8(a2, zero); - rgb[3] = _mm_unpackhi_epi8(a2, zero); - rgb[4] = _mm_unpacklo_epi8(a3, zero); - rgb[5] = _mm_unpackhi_epi8(a3, zero); -} - -// This macro computes (RG * MULT_RG + GB * MULT_GB + ROUNDER) >> DESCALE_FIX -// It's a macro and not a function because we need to use immediate values with -// srai_epi32, e.g. -#define TRANSFORM(RG_LO, RG_HI, GB_LO, GB_HI, MULT_RG, MULT_GB, \ - ROUNDER, DESCALE_FIX, OUT) do { \ - const __m128i V0_lo = _mm_madd_epi16(RG_LO, MULT_RG); \ - const __m128i V0_hi = _mm_madd_epi16(RG_HI, MULT_RG); \ - const __m128i V1_lo = _mm_madd_epi16(GB_LO, MULT_GB); \ - const __m128i V1_hi = _mm_madd_epi16(GB_HI, MULT_GB); \ - const __m128i V2_lo = _mm_add_epi32(V0_lo, V1_lo); \ - const __m128i V2_hi = _mm_add_epi32(V0_hi, V1_hi); \ - const __m128i V3_lo = _mm_add_epi32(V2_lo, ROUNDER); \ - const __m128i V3_hi = _mm_add_epi32(V2_hi, ROUNDER); \ - const __m128i V5_lo = _mm_srai_epi32(V3_lo, DESCALE_FIX); \ - const __m128i V5_hi = _mm_srai_epi32(V3_hi, DESCALE_FIX); \ - (OUT) = _mm_packs_epi32(V5_lo, V5_hi); \ -} while (0) - -#define MK_CST_16(A, B) _mm_set_epi16((B), (A), (B), (A), (B), (A), (B), (A)) -static WEBP_INLINE void ConvertRGBToY_SSE41(const __m128i* const R, - const __m128i* const G, - const __m128i* const B, - __m128i* const Y) { - const __m128i kRG_y = MK_CST_16(16839, 33059 - 16384); - const __m128i kGB_y = MK_CST_16(16384, 6420); - const __m128i kHALF_Y = _mm_set1_epi32((16 << YUV_FIX) + YUV_HALF); - - const __m128i RG_lo = _mm_unpacklo_epi16(*R, *G); - const __m128i RG_hi = _mm_unpackhi_epi16(*R, *G); - const __m128i GB_lo = _mm_unpacklo_epi16(*G, *B); - const __m128i GB_hi = _mm_unpackhi_epi16(*G, *B); - TRANSFORM(RG_lo, RG_hi, GB_lo, GB_hi, kRG_y, kGB_y, kHALF_Y, YUV_FIX, *Y); -} - -static WEBP_INLINE void ConvertRGBToUV_SSE41(const __m128i* const R, - const __m128i* const G, - const __m128i* const B, - __m128i* const U, - __m128i* const V) { - const __m128i kRG_u = MK_CST_16(-9719, -19081); - const __m128i kGB_u = MK_CST_16(0, 28800); - const __m128i kRG_v = MK_CST_16(28800, 0); - const __m128i kGB_v = MK_CST_16(-24116, -4684); - const __m128i kHALF_UV = _mm_set1_epi32(((128 << YUV_FIX) + YUV_HALF) << 2); - - const __m128i RG_lo = _mm_unpacklo_epi16(*R, *G); - const __m128i RG_hi = _mm_unpackhi_epi16(*R, *G); - const __m128i GB_lo = _mm_unpacklo_epi16(*G, *B); - const __m128i GB_hi = _mm_unpackhi_epi16(*G, *B); - TRANSFORM(RG_lo, RG_hi, GB_lo, GB_hi, kRG_u, kGB_u, - kHALF_UV, YUV_FIX + 2, *U); - TRANSFORM(RG_lo, RG_hi, GB_lo, GB_hi, kRG_v, kGB_v, - kHALF_UV, YUV_FIX + 2, *V); -} - -#undef MK_CST_16 -#undef TRANSFORM - -static void ConvertRGB24ToY_SSE41(const uint8_t* rgb, uint8_t* y, int width) { - const int max_width = width & ~31; - int i; - for (i = 0; i < max_width; rgb += 3 * 16 * 2) { - __m128i rgb_plane[6]; - int j; - - RGB24PackedToPlanar_SSE41(rgb, rgb_plane); - - for (j = 0; j < 2; ++j, i += 16) { - const __m128i zero = _mm_setzero_si128(); - __m128i r, g, b, Y0, Y1; - - // Convert to 16-bit Y. - r = _mm_unpacklo_epi8(rgb_plane[0 + j], zero); - g = _mm_unpacklo_epi8(rgb_plane[2 + j], zero); - b = _mm_unpacklo_epi8(rgb_plane[4 + j], zero); - ConvertRGBToY_SSE41(&r, &g, &b, &Y0); - - // Convert to 16-bit Y. - r = _mm_unpackhi_epi8(rgb_plane[0 + j], zero); - g = _mm_unpackhi_epi8(rgb_plane[2 + j], zero); - b = _mm_unpackhi_epi8(rgb_plane[4 + j], zero); - ConvertRGBToY_SSE41(&r, &g, &b, &Y1); - - // Cast to 8-bit and store. - STORE_16(_mm_packus_epi16(Y0, Y1), y + i); - } - } - for (; i < width; ++i, rgb += 3) { // left-over - y[i] = VP8RGBToY(rgb[0], rgb[1], rgb[2], YUV_HALF); - } -} - -static void ConvertBGR24ToY_SSE41(const uint8_t* bgr, uint8_t* y, int width) { - const int max_width = width & ~31; - int i; - for (i = 0; i < max_width; bgr += 3 * 16 * 2) { - __m128i bgr_plane[6]; - int j; - - RGB24PackedToPlanar_SSE41(bgr, bgr_plane); - - for (j = 0; j < 2; ++j, i += 16) { - const __m128i zero = _mm_setzero_si128(); - __m128i r, g, b, Y0, Y1; - - // Convert to 16-bit Y. - b = _mm_unpacklo_epi8(bgr_plane[0 + j], zero); - g = _mm_unpacklo_epi8(bgr_plane[2 + j], zero); - r = _mm_unpacklo_epi8(bgr_plane[4 + j], zero); - ConvertRGBToY_SSE41(&r, &g, &b, &Y0); - - // Convert to 16-bit Y. - b = _mm_unpackhi_epi8(bgr_plane[0 + j], zero); - g = _mm_unpackhi_epi8(bgr_plane[2 + j], zero); - r = _mm_unpackhi_epi8(bgr_plane[4 + j], zero); - ConvertRGBToY_SSE41(&r, &g, &b, &Y1); - - // Cast to 8-bit and store. - STORE_16(_mm_packus_epi16(Y0, Y1), y + i); - } - } - for (; i < width; ++i, bgr += 3) { // left-over - y[i] = VP8RGBToY(bgr[2], bgr[1], bgr[0], YUV_HALF); - } -} - -static void ConvertARGBToY_SSE41(const uint32_t* argb, uint8_t* y, int width) { - const int max_width = width & ~15; - int i; - for (i = 0; i < max_width; i += 16) { - __m128i Y0, Y1, rgb[6]; - RGB32PackedToPlanar_SSE41(&argb[i], rgb); - ConvertRGBToY_SSE41(&rgb[0], &rgb[2], &rgb[4], &Y0); - ConvertRGBToY_SSE41(&rgb[1], &rgb[3], &rgb[5], &Y1); - STORE_16(_mm_packus_epi16(Y0, Y1), y + i); - } - for (; i < width; ++i) { // left-over - const uint32_t p = argb[i]; - y[i] = VP8RGBToY((p >> 16) & 0xff, (p >> 8) & 0xff, (p >> 0) & 0xff, - YUV_HALF); - } -} - -// Horizontal add (doubled) of two 16b values, result is 16b. -// in: A | B | C | D | ... -> out: 2*(A+B) | 2*(C+D) | ... -static void HorizontalAddPack_SSE41(const __m128i* const A, - const __m128i* const B, - __m128i* const out) { - const __m128i k2 = _mm_set1_epi16(2); - const __m128i C = _mm_madd_epi16(*A, k2); - const __m128i D = _mm_madd_epi16(*B, k2); - *out = _mm_packs_epi32(C, D); -} - -static void ConvertARGBToUV_SSE41(const uint32_t* argb, - uint8_t* u, uint8_t* v, - int src_width, int do_store) { - const int max_width = src_width & ~31; - int i; - for (i = 0; i < max_width; i += 32, u += 16, v += 16) { - __m128i rgb[6], U0, V0, U1, V1; - RGB32PackedToPlanar_SSE41(&argb[i], rgb); - HorizontalAddPack_SSE41(&rgb[0], &rgb[1], &rgb[0]); - HorizontalAddPack_SSE41(&rgb[2], &rgb[3], &rgb[2]); - HorizontalAddPack_SSE41(&rgb[4], &rgb[5], &rgb[4]); - ConvertRGBToUV_SSE41(&rgb[0], &rgb[2], &rgb[4], &U0, &V0); - - RGB32PackedToPlanar_SSE41(&argb[i + 16], rgb); - HorizontalAddPack_SSE41(&rgb[0], &rgb[1], &rgb[0]); - HorizontalAddPack_SSE41(&rgb[2], &rgb[3], &rgb[2]); - HorizontalAddPack_SSE41(&rgb[4], &rgb[5], &rgb[4]); - ConvertRGBToUV_SSE41(&rgb[0], &rgb[2], &rgb[4], &U1, &V1); - - U0 = _mm_packus_epi16(U0, U1); - V0 = _mm_packus_epi16(V0, V1); - if (!do_store) { - const __m128i prev_u = LOAD_16(u); - const __m128i prev_v = LOAD_16(v); - U0 = _mm_avg_epu8(U0, prev_u); - V0 = _mm_avg_epu8(V0, prev_v); - } - STORE_16(U0, u); - STORE_16(V0, v); - } - if (i < src_width) { // left-over - WebPConvertARGBToUV_C(argb + i, u, v, src_width - i, do_store); - } -} - -// Convert 16 packed ARGB 16b-values to r[], g[], b[] -static WEBP_INLINE void RGBA32PackedToPlanar_16b_SSE41( - const uint16_t* const rgbx, - __m128i* const r, __m128i* const g, __m128i* const b) { - const __m128i in0 = LOAD_16(rgbx + 0); // r0 | g0 | b0 |x| r1 | g1 | b1 |x - const __m128i in1 = LOAD_16(rgbx + 8); // r2 | g2 | b2 |x| r3 | g3 | b3 |x - const __m128i in2 = LOAD_16(rgbx + 16); // r4 | ... - const __m128i in3 = LOAD_16(rgbx + 24); // r6 | ... - // aarrggbb as 16-bit. - const __m128i shuff0 = - _mm_set_epi8(-1, -1, -1, -1, 13, 12, 5, 4, 11, 10, 3, 2, 9, 8, 1, 0); - const __m128i shuff1 = - _mm_set_epi8(13, 12, 5, 4, -1, -1, -1, -1, 11, 10, 3, 2, 9, 8, 1, 0); - const __m128i A0 = _mm_shuffle_epi8(in0, shuff0); - const __m128i A1 = _mm_shuffle_epi8(in1, shuff1); - const __m128i A2 = _mm_shuffle_epi8(in2, shuff0); - const __m128i A3 = _mm_shuffle_epi8(in3, shuff1); - // R0R1G0G1 - // B0B1**** - // R2R3G2G3 - // B2B3**** - // (OR is used to free port 5 for the unpack) - const __m128i B0 = _mm_unpacklo_epi32(A0, A1); - const __m128i B1 = _mm_or_si128(A0, A1); - const __m128i B2 = _mm_unpacklo_epi32(A2, A3); - const __m128i B3 = _mm_or_si128(A2, A3); - // Gather the channels. - *r = _mm_unpacklo_epi64(B0, B2); - *g = _mm_unpackhi_epi64(B0, B2); - *b = _mm_unpackhi_epi64(B1, B3); -} - -static void ConvertRGBA32ToUV_SSE41(const uint16_t* rgb, - uint8_t* u, uint8_t* v, int width) { - const int max_width = width & ~15; - const uint16_t* const last_rgb = rgb + 4 * max_width; - while (rgb < last_rgb) { - __m128i r, g, b, U0, V0, U1, V1; - RGBA32PackedToPlanar_16b_SSE41(rgb + 0, &r, &g, &b); - ConvertRGBToUV_SSE41(&r, &g, &b, &U0, &V0); - RGBA32PackedToPlanar_16b_SSE41(rgb + 32, &r, &g, &b); - ConvertRGBToUV_SSE41(&r, &g, &b, &U1, &V1); - STORE_16(_mm_packus_epi16(U0, U1), u); - STORE_16(_mm_packus_epi16(V0, V1), v); - u += 16; - v += 16; - rgb += 2 * 32; - } - if (max_width < width) { // left-over - WebPConvertRGBA32ToUV_C(rgb, u, v, width - max_width); - } -} - -//------------------------------------------------------------------------------ - -extern void WebPInitConvertARGBToYUVSSE41(void); - -WEBP_TSAN_IGNORE_FUNCTION void WebPInitConvertARGBToYUVSSE41(void) { - WebPConvertARGBToY = ConvertARGBToY_SSE41; - WebPConvertARGBToUV = ConvertARGBToUV_SSE41; - - WebPConvertRGB24ToY = ConvertRGB24ToY_SSE41; - WebPConvertBGR24ToY = ConvertBGR24ToY_SSE41; - - WebPConvertRGBA32ToUV = ConvertRGBA32ToUV_SSE41; -} - -//------------------------------------------------------------------------------ - -#else // !WEBP_USE_SSE41 - -WEBP_DSP_INIT_STUB(WebPInitSamplersSSE41) -WEBP_DSP_INIT_STUB(WebPInitConvertARGBToYUVSSE41) - -#endif // WEBP_USE_SSE41 diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/Makefile.am deleted file mode 100644 index 27d52285..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/Makefile.am +++ /dev/null @@ -1,42 +0,0 @@ -AM_CPPFLAGS += -I$(top_builddir) -I$(top_srcdir) -noinst_LTLIBRARIES = libwebpencode.la - -libwebpencode_la_SOURCES = -libwebpencode_la_SOURCES += alpha_enc.c -libwebpencode_la_SOURCES += analysis_enc.c -libwebpencode_la_SOURCES += backward_references_cost_enc.c -libwebpencode_la_SOURCES += backward_references_enc.c -libwebpencode_la_SOURCES += backward_references_enc.h -libwebpencode_la_SOURCES += config_enc.c -libwebpencode_la_SOURCES += cost_enc.c -libwebpencode_la_SOURCES += cost_enc.h -libwebpencode_la_SOURCES += filter_enc.c -libwebpencode_la_SOURCES += frame_enc.c -libwebpencode_la_SOURCES += histogram_enc.c -libwebpencode_la_SOURCES += histogram_enc.h -libwebpencode_la_SOURCES += iterator_enc.c -libwebpencode_la_SOURCES += near_lossless_enc.c -libwebpencode_la_SOURCES += picture_enc.c -libwebpencode_la_SOURCES += picture_csp_enc.c -libwebpencode_la_SOURCES += picture_psnr_enc.c -libwebpencode_la_SOURCES += picture_rescale_enc.c -libwebpencode_la_SOURCES += picture_tools_enc.c -libwebpencode_la_SOURCES += predictor_enc.c -libwebpencode_la_SOURCES += quant_enc.c -libwebpencode_la_SOURCES += syntax_enc.c -libwebpencode_la_SOURCES += token_enc.c -libwebpencode_la_SOURCES += tree_enc.c -libwebpencode_la_SOURCES += vp8i_enc.h -libwebpencode_la_SOURCES += vp8l_enc.c -libwebpencode_la_SOURCES += vp8li_enc.h -libwebpencode_la_SOURCES += webp_enc.c - -libwebpencodeinclude_HEADERS = -libwebpencodeinclude_HEADERS += ../webp/encode.h -libwebpencodeinclude_HEADERS += ../webp/types.h -noinst_HEADERS = -noinst_HEADERS += ../webp/format_constants.h - -libwebpencode_la_LDFLAGS = -lm -libwebpencode_la_CPPFLAGS = $(AM_CPPFLAGS) -libwebpencodeincludedir = $(includedir)/webp diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/alpha_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/alpha_enc.c deleted file mode 100644 index dce9ca95..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/alpha_enc.c +++ /dev/null @@ -1,443 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Alpha-plane compression. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include - -#include "src/enc/vp8i_enc.h" -#include "src/dsp/dsp.h" -#include "src/utils/filters_utils.h" -#include "src/utils/quant_levels_utils.h" -#include "src/utils/utils.h" -#include "src/webp/format_constants.h" - -// ----------------------------------------------------------------------------- -// Encodes the given alpha data via specified compression method 'method'. -// The pre-processing (quantization) is performed if 'quality' is less than 100. -// For such cases, the encoding is lossy. The valid range is [0, 100] for -// 'quality' and [0, 1] for 'method': -// 'method = 0' - No compression; -// 'method = 1' - Use lossless coder on the alpha plane only -// 'filter' values [0, 4] correspond to prediction modes none, horizontal, -// vertical & gradient filters. The prediction mode 4 will try all the -// prediction modes 0 to 3 and pick the best one. -// 'effort_level': specifies how much effort must be spent to try and reduce -// the compressed output size. In range 0 (quick) to 6 (slow). -// -// 'output' corresponds to the buffer containing compressed alpha data. -// This buffer is allocated by this method and caller should call -// WebPSafeFree(*output) when done. -// 'output_size' corresponds to size of this compressed alpha buffer. -// -// Returns 1 on successfully encoding the alpha and -// 0 if either: -// invalid quality or method, or -// memory allocation for the compressed data fails. - -#include "src/enc/vp8li_enc.h" - -static int EncodeLossless(const uint8_t* const data, int width, int height, - int effort_level, // in [0..6] range - int use_quality_100, VP8LBitWriter* const bw, - WebPAuxStats* const stats) { - int ok = 0; - WebPConfig config; - WebPPicture picture; - - WebPPictureInit(&picture); - picture.width = width; - picture.height = height; - picture.use_argb = 1; - picture.stats = stats; - if (!WebPPictureAlloc(&picture)) return 0; - - // Transfer the alpha values to the green channel. - WebPDispatchAlphaToGreen(data, width, picture.width, picture.height, - picture.argb, picture.argb_stride); - - WebPConfigInit(&config); - config.lossless = 1; - // Enable exact, or it would alter RGB values of transparent alpha, which is - // normally OK but not here since we are not encoding the input image but an - // internal encoding-related image containing necessary exact information in - // RGB channels. - config.exact = 1; - config.method = effort_level; // impact is very small - // Set a low default quality for encoding alpha. Ensure that Alpha quality at - // lower methods (3 and below) is less than the threshold for triggering - // costly 'BackwardReferencesTraceBackwards'. - // If the alpha quality is set to 100 and the method to 6, allow for a high - // lossless quality to trigger the cruncher. - config.quality = - (use_quality_100 && effort_level == 6) ? 100 : 8.f * effort_level; - assert(config.quality >= 0 && config.quality <= 100.f); - - // TODO(urvang): Temporary fix to avoid generating images that trigger - // a decoder bug related to alpha with color cache. - // See: https://code.google.com/p/webp/issues/detail?id=239 - // Need to re-enable this later. - ok = (VP8LEncodeStream(&config, &picture, bw, 0 /*use_cache*/) == VP8_ENC_OK); - WebPPictureFree(&picture); - ok = ok && !bw->error_; - if (!ok) { - VP8LBitWriterWipeOut(bw); - return 0; - } - return 1; -} - -// ----------------------------------------------------------------------------- - -// Small struct to hold the result of a filter mode compression attempt. -typedef struct { - size_t score; - VP8BitWriter bw; - WebPAuxStats stats; -} FilterTrial; - -// This function always returns an initialized 'bw' object, even upon error. -static int EncodeAlphaInternal(const uint8_t* const data, int width, int height, - int method, int filter, int reduce_levels, - int effort_level, // in [0..6] range - uint8_t* const tmp_alpha, - FilterTrial* result) { - int ok = 0; - const uint8_t* alpha_src; - WebPFilterFunc filter_func; - uint8_t header; - const size_t data_size = width * height; - const uint8_t* output = NULL; - size_t output_size = 0; - VP8LBitWriter tmp_bw; - - assert((uint64_t)data_size == (uint64_t)width * height); // as per spec - assert(filter >= 0 && filter < WEBP_FILTER_LAST); - assert(method >= ALPHA_NO_COMPRESSION); - assert(method <= ALPHA_LOSSLESS_COMPRESSION); - assert(sizeof(header) == ALPHA_HEADER_LEN); - - filter_func = WebPFilters[filter]; - if (filter_func != NULL) { - filter_func(data, width, height, width, tmp_alpha); - alpha_src = tmp_alpha; - } else { - alpha_src = data; - } - - if (method != ALPHA_NO_COMPRESSION) { - ok = VP8LBitWriterInit(&tmp_bw, data_size >> 3); - ok = ok && EncodeLossless(alpha_src, width, height, effort_level, - !reduce_levels, &tmp_bw, &result->stats); - if (ok) { - output = VP8LBitWriterFinish(&tmp_bw); - output_size = VP8LBitWriterNumBytes(&tmp_bw); - if (output_size > data_size) { - // compressed size is larger than source! Revert to uncompressed mode. - method = ALPHA_NO_COMPRESSION; - VP8LBitWriterWipeOut(&tmp_bw); - } - } else { - VP8LBitWriterWipeOut(&tmp_bw); - return 0; - } - } - - if (method == ALPHA_NO_COMPRESSION) { - output = alpha_src; - output_size = data_size; - ok = 1; - } - - // Emit final result. - header = method | (filter << 2); - if (reduce_levels) header |= ALPHA_PREPROCESSED_LEVELS << 4; - - VP8BitWriterInit(&result->bw, ALPHA_HEADER_LEN + output_size); - ok = ok && VP8BitWriterAppend(&result->bw, &header, ALPHA_HEADER_LEN); - ok = ok && VP8BitWriterAppend(&result->bw, output, output_size); - - if (method != ALPHA_NO_COMPRESSION) { - VP8LBitWriterWipeOut(&tmp_bw); - } - ok = ok && !result->bw.error_; - result->score = VP8BitWriterSize(&result->bw); - return ok; -} - -// ----------------------------------------------------------------------------- - -static int GetNumColors(const uint8_t* data, int width, int height, - int stride) { - int j; - int colors = 0; - uint8_t color[256] = { 0 }; - - for (j = 0; j < height; ++j) { - int i; - const uint8_t* const p = data + j * stride; - for (i = 0; i < width; ++i) { - color[p[i]] = 1; - } - } - for (j = 0; j < 256; ++j) { - if (color[j] > 0) ++colors; - } - return colors; -} - -#define FILTER_TRY_NONE (1 << WEBP_FILTER_NONE) -#define FILTER_TRY_ALL ((1 << WEBP_FILTER_LAST) - 1) - -// Given the input 'filter' option, return an OR'd bit-set of filters to try. -static uint32_t GetFilterMap(const uint8_t* alpha, int width, int height, - int filter, int effort_level) { - uint32_t bit_map = 0U; - if (filter == WEBP_FILTER_FAST) { - // Quick estimate of the best candidate. - int try_filter_none = (effort_level > 3); - const int kMinColorsForFilterNone = 16; - const int kMaxColorsForFilterNone = 192; - const int num_colors = GetNumColors(alpha, width, height, width); - // For low number of colors, NONE yields better compression. - filter = (num_colors <= kMinColorsForFilterNone) - ? WEBP_FILTER_NONE - : WebPEstimateBestFilter(alpha, width, height, width); - bit_map |= 1 << filter; - // For large number of colors, try FILTER_NONE in addition to the best - // filter as well. - if (try_filter_none || num_colors > kMaxColorsForFilterNone) { - bit_map |= FILTER_TRY_NONE; - } - } else if (filter == WEBP_FILTER_NONE) { - bit_map = FILTER_TRY_NONE; - } else { // WEBP_FILTER_BEST -> try all - bit_map = FILTER_TRY_ALL; - } - return bit_map; -} - -static void InitFilterTrial(FilterTrial* const score) { - score->score = (size_t)~0U; - VP8BitWriterInit(&score->bw, 0); -} - -static int ApplyFiltersAndEncode(const uint8_t* alpha, int width, int height, - size_t data_size, int method, int filter, - int reduce_levels, int effort_level, - uint8_t** const output, - size_t* const output_size, - WebPAuxStats* const stats) { - int ok = 1; - FilterTrial best; - uint32_t try_map = - GetFilterMap(alpha, width, height, filter, effort_level); - InitFilterTrial(&best); - - if (try_map != FILTER_TRY_NONE) { - uint8_t* filtered_alpha = (uint8_t*)WebPSafeMalloc(1ULL, data_size); - if (filtered_alpha == NULL) return 0; - - for (filter = WEBP_FILTER_NONE; ok && try_map; ++filter, try_map >>= 1) { - if (try_map & 1) { - FilterTrial trial; - ok = EncodeAlphaInternal(alpha, width, height, method, filter, - reduce_levels, effort_level, filtered_alpha, - &trial); - if (ok && trial.score < best.score) { - VP8BitWriterWipeOut(&best.bw); - best = trial; - } else { - VP8BitWriterWipeOut(&trial.bw); - } - } - } - WebPSafeFree(filtered_alpha); - } else { - ok = EncodeAlphaInternal(alpha, width, height, method, WEBP_FILTER_NONE, - reduce_levels, effort_level, NULL, &best); - } - if (ok) { -#if !defined(WEBP_DISABLE_STATS) - if (stats != NULL) { - stats->lossless_features = best.stats.lossless_features; - stats->histogram_bits = best.stats.histogram_bits; - stats->transform_bits = best.stats.transform_bits; - stats->cache_bits = best.stats.cache_bits; - stats->palette_size = best.stats.palette_size; - stats->lossless_size = best.stats.lossless_size; - stats->lossless_hdr_size = best.stats.lossless_hdr_size; - stats->lossless_data_size = best.stats.lossless_data_size; - } -#else - (void)stats; -#endif - *output_size = VP8BitWriterSize(&best.bw); - *output = VP8BitWriterBuf(&best.bw); - } else { - VP8BitWriterWipeOut(&best.bw); - } - return ok; -} - -static int EncodeAlpha(VP8Encoder* const enc, - int quality, int method, int filter, - int effort_level, - uint8_t** const output, size_t* const output_size) { - const WebPPicture* const pic = enc->pic_; - const int width = pic->width; - const int height = pic->height; - - uint8_t* quant_alpha = NULL; - const size_t data_size = width * height; - uint64_t sse = 0; - int ok = 1; - const int reduce_levels = (quality < 100); - - // quick sanity checks - assert((uint64_t)data_size == (uint64_t)width * height); // as per spec - assert(enc != NULL && pic != NULL && pic->a != NULL); - assert(output != NULL && output_size != NULL); - assert(width > 0 && height > 0); - assert(pic->a_stride >= width); - assert(filter >= WEBP_FILTER_NONE && filter <= WEBP_FILTER_FAST); - - if (quality < 0 || quality > 100) { - return 0; - } - - if (method < ALPHA_NO_COMPRESSION || method > ALPHA_LOSSLESS_COMPRESSION) { - return 0; - } - - if (method == ALPHA_NO_COMPRESSION) { - // Don't filter, as filtering will make no impact on compressed size. - filter = WEBP_FILTER_NONE; - } - - quant_alpha = (uint8_t*)WebPSafeMalloc(1ULL, data_size); - if (quant_alpha == NULL) { - return 0; - } - - // Extract alpha data (width x height) from raw_data (stride x height). - WebPCopyPlane(pic->a, pic->a_stride, quant_alpha, width, width, height); - - if (reduce_levels) { // No Quantization required for 'quality = 100'. - // 16 alpha levels gives quite a low MSE w.r.t original alpha plane hence - // mapped to moderate quality 70. Hence Quality:[0, 70] -> Levels:[2, 16] - // and Quality:]70, 100] -> Levels:]16, 256]. - const int alpha_levels = (quality <= 70) ? (2 + quality / 5) - : (16 + (quality - 70) * 8); - ok = QuantizeLevels(quant_alpha, width, height, alpha_levels, &sse); - } - - if (ok) { - VP8FiltersInit(); - ok = ApplyFiltersAndEncode(quant_alpha, width, height, data_size, method, - filter, reduce_levels, effort_level, output, - output_size, pic->stats); -#if !defined(WEBP_DISABLE_STATS) - if (pic->stats != NULL) { // need stats? - pic->stats->coded_size += (int)(*output_size); - enc->sse_[3] = sse; - } -#endif - } - - WebPSafeFree(quant_alpha); - return ok; -} - -//------------------------------------------------------------------------------ -// Main calls - -static int CompressAlphaJob(void* arg1, void* dummy) { - VP8Encoder* const enc = (VP8Encoder*)arg1; - const WebPConfig* config = enc->config_; - uint8_t* alpha_data = NULL; - size_t alpha_size = 0; - const int effort_level = config->method; // maps to [0..6] - const WEBP_FILTER_TYPE filter = - (config->alpha_filtering == 0) ? WEBP_FILTER_NONE : - (config->alpha_filtering == 1) ? WEBP_FILTER_FAST : - WEBP_FILTER_BEST; - if (!EncodeAlpha(enc, config->alpha_quality, config->alpha_compression, - filter, effort_level, &alpha_data, &alpha_size)) { - return 0; - } - if (alpha_size != (uint32_t)alpha_size) { // Sanity check. - WebPSafeFree(alpha_data); - return 0; - } - enc->alpha_data_size_ = (uint32_t)alpha_size; - enc->alpha_data_ = alpha_data; - (void)dummy; - return 1; -} - -void VP8EncInitAlpha(VP8Encoder* const enc) { - WebPInitAlphaProcessing(); - enc->has_alpha_ = WebPPictureHasTransparency(enc->pic_); - enc->alpha_data_ = NULL; - enc->alpha_data_size_ = 0; - if (enc->thread_level_ > 0) { - WebPWorker* const worker = &enc->alpha_worker_; - WebPGetWorkerInterface()->Init(worker); - worker->data1 = enc; - worker->data2 = NULL; - worker->hook = CompressAlphaJob; - } -} - -int VP8EncStartAlpha(VP8Encoder* const enc) { - if (enc->has_alpha_) { - if (enc->thread_level_ > 0) { - WebPWorker* const worker = &enc->alpha_worker_; - // Makes sure worker is good to go. - if (!WebPGetWorkerInterface()->Reset(worker)) { - return 0; - } - WebPGetWorkerInterface()->Launch(worker); - return 1; - } else { - return CompressAlphaJob(enc, NULL); // just do the job right away - } - } - return 1; -} - -int VP8EncFinishAlpha(VP8Encoder* const enc) { - if (enc->has_alpha_) { - if (enc->thread_level_ > 0) { - WebPWorker* const worker = &enc->alpha_worker_; - if (!WebPGetWorkerInterface()->Sync(worker)) return 0; // error - } - } - return WebPReportProgress(enc->pic_, enc->percent_ + 20, &enc->percent_); -} - -int VP8EncDeleteAlpha(VP8Encoder* const enc) { - int ok = 1; - if (enc->thread_level_ > 0) { - WebPWorker* const worker = &enc->alpha_worker_; - // finish anything left in flight - ok = WebPGetWorkerInterface()->Sync(worker); - // still need to end the worker, even if !ok - WebPGetWorkerInterface()->End(worker); - } - WebPSafeFree(enc->alpha_data_); - enc->alpha_data_ = NULL; - enc->alpha_data_size_ = 0; - enc->has_alpha_ = 0; - return ok; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/analysis_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/analysis_enc.c deleted file mode 100644 index 687757ae..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/analysis_enc.c +++ /dev/null @@ -1,535 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Macroblock analysis -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include -#include - -#include "src/enc/vp8i_enc.h" -#include "src/enc/cost_enc.h" -#include "src/utils/utils.h" - -#define MAX_ITERS_K_MEANS 6 - -//------------------------------------------------------------------------------ -// Smooth the segment map by replacing isolated block by the majority of its -// neighbours. - -static void SmoothSegmentMap(VP8Encoder* const enc) { - int n, x, y; - const int w = enc->mb_w_; - const int h = enc->mb_h_; - const int majority_cnt_3_x_3_grid = 5; - uint8_t* const tmp = (uint8_t*)WebPSafeMalloc(w * h, sizeof(*tmp)); - assert((uint64_t)(w * h) == (uint64_t)w * h); // no overflow, as per spec - - if (tmp == NULL) return; - for (y = 1; y < h - 1; ++y) { - for (x = 1; x < w - 1; ++x) { - int cnt[NUM_MB_SEGMENTS] = { 0 }; - const VP8MBInfo* const mb = &enc->mb_info_[x + w * y]; - int majority_seg = mb->segment_; - // Check the 8 neighbouring segment values. - cnt[mb[-w - 1].segment_]++; // top-left - cnt[mb[-w + 0].segment_]++; // top - cnt[mb[-w + 1].segment_]++; // top-right - cnt[mb[ - 1].segment_]++; // left - cnt[mb[ + 1].segment_]++; // right - cnt[mb[ w - 1].segment_]++; // bottom-left - cnt[mb[ w + 0].segment_]++; // bottom - cnt[mb[ w + 1].segment_]++; // bottom-right - for (n = 0; n < NUM_MB_SEGMENTS; ++n) { - if (cnt[n] >= majority_cnt_3_x_3_grid) { - majority_seg = n; - break; - } - } - tmp[x + y * w] = majority_seg; - } - } - for (y = 1; y < h - 1; ++y) { - for (x = 1; x < w - 1; ++x) { - VP8MBInfo* const mb = &enc->mb_info_[x + w * y]; - mb->segment_ = tmp[x + y * w]; - } - } - WebPSafeFree(tmp); -} - -//------------------------------------------------------------------------------ -// set segment susceptibility alpha_ / beta_ - -static WEBP_INLINE int clip(int v, int m, int M) { - return (v < m) ? m : (v > M) ? M : v; -} - -static void SetSegmentAlphas(VP8Encoder* const enc, - const int centers[NUM_MB_SEGMENTS], - int mid) { - const int nb = enc->segment_hdr_.num_segments_; - int min = centers[0], max = centers[0]; - int n; - - if (nb > 1) { - for (n = 0; n < nb; ++n) { - if (min > centers[n]) min = centers[n]; - if (max < centers[n]) max = centers[n]; - } - } - if (max == min) max = min + 1; - assert(mid <= max && mid >= min); - for (n = 0; n < nb; ++n) { - const int alpha = 255 * (centers[n] - mid) / (max - min); - const int beta = 255 * (centers[n] - min) / (max - min); - enc->dqm_[n].alpha_ = clip(alpha, -127, 127); - enc->dqm_[n].beta_ = clip(beta, 0, 255); - } -} - -//------------------------------------------------------------------------------ -// Compute susceptibility based on DCT-coeff histograms: -// the higher, the "easier" the macroblock is to compress. - -#define MAX_ALPHA 255 // 8b of precision for susceptibilities. -#define ALPHA_SCALE (2 * MAX_ALPHA) // scaling factor for alpha. -#define DEFAULT_ALPHA (-1) -#define IS_BETTER_ALPHA(alpha, best_alpha) ((alpha) > (best_alpha)) - -static int FinalAlphaValue(int alpha) { - alpha = MAX_ALPHA - alpha; - return clip(alpha, 0, MAX_ALPHA); -} - -static int GetAlpha(const VP8Histogram* const histo) { - // 'alpha' will later be clipped to [0..MAX_ALPHA] range, clamping outer - // values which happen to be mostly noise. This leaves the maximum precision - // for handling the useful small values which contribute most. - const int max_value = histo->max_value; - const int last_non_zero = histo->last_non_zero; - const int alpha = - (max_value > 1) ? ALPHA_SCALE * last_non_zero / max_value : 0; - return alpha; -} - -static void InitHistogram(VP8Histogram* const histo) { - histo->max_value = 0; - histo->last_non_zero = 1; -} - -static void MergeHistograms(const VP8Histogram* const in, - VP8Histogram* const out) { - if (in->max_value > out->max_value) { - out->max_value = in->max_value; - } - if (in->last_non_zero > out->last_non_zero) { - out->last_non_zero = in->last_non_zero; - } -} - -//------------------------------------------------------------------------------ -// Simplified k-Means, to assign Nb segments based on alpha-histogram - -static void AssignSegments(VP8Encoder* const enc, - const int alphas[MAX_ALPHA + 1]) { - // 'num_segments_' is previously validated and <= NUM_MB_SEGMENTS, but an - // explicit check is needed to avoid spurious warning about 'n + 1' exceeding - // array bounds of 'centers' with some compilers (noticed with gcc-4.9). - const int nb = (enc->segment_hdr_.num_segments_ < NUM_MB_SEGMENTS) ? - enc->segment_hdr_.num_segments_ : NUM_MB_SEGMENTS; - int centers[NUM_MB_SEGMENTS]; - int weighted_average = 0; - int map[MAX_ALPHA + 1]; - int a, n, k; - int min_a = 0, max_a = MAX_ALPHA, range_a; - // 'int' type is ok for histo, and won't overflow - int accum[NUM_MB_SEGMENTS], dist_accum[NUM_MB_SEGMENTS]; - - assert(nb >= 1); - assert(nb <= NUM_MB_SEGMENTS); - - // bracket the input - for (n = 0; n <= MAX_ALPHA && alphas[n] == 0; ++n) {} - min_a = n; - for (n = MAX_ALPHA; n > min_a && alphas[n] == 0; --n) {} - max_a = n; - range_a = max_a - min_a; - - // Spread initial centers evenly - for (k = 0, n = 1; k < nb; ++k, n += 2) { - assert(n < 2 * nb); - centers[k] = min_a + (n * range_a) / (2 * nb); - } - - for (k = 0; k < MAX_ITERS_K_MEANS; ++k) { // few iters are enough - int total_weight; - int displaced; - // Reset stats - for (n = 0; n < nb; ++n) { - accum[n] = 0; - dist_accum[n] = 0; - } - // Assign nearest center for each 'a' - n = 0; // track the nearest center for current 'a' - for (a = min_a; a <= max_a; ++a) { - if (alphas[a]) { - while (n + 1 < nb && abs(a - centers[n + 1]) < abs(a - centers[n])) { - n++; - } - map[a] = n; - // accumulate contribution into best centroid - dist_accum[n] += a * alphas[a]; - accum[n] += alphas[a]; - } - } - // All point are classified. Move the centroids to the - // center of their respective cloud. - displaced = 0; - weighted_average = 0; - total_weight = 0; - for (n = 0; n < nb; ++n) { - if (accum[n]) { - const int new_center = (dist_accum[n] + accum[n] / 2) / accum[n]; - displaced += abs(centers[n] - new_center); - centers[n] = new_center; - weighted_average += new_center * accum[n]; - total_weight += accum[n]; - } - } - weighted_average = (weighted_average + total_weight / 2) / total_weight; - if (displaced < 5) break; // no need to keep on looping... - } - - // Map each original value to the closest centroid - for (n = 0; n < enc->mb_w_ * enc->mb_h_; ++n) { - VP8MBInfo* const mb = &enc->mb_info_[n]; - const int alpha = mb->alpha_; - mb->segment_ = map[alpha]; - mb->alpha_ = centers[map[alpha]]; // for the record. - } - - if (nb > 1) { - const int smooth = (enc->config_->preprocessing & 1); - if (smooth) SmoothSegmentMap(enc); - } - - SetSegmentAlphas(enc, centers, weighted_average); // pick some alphas. -} - -//------------------------------------------------------------------------------ -// Macroblock analysis: collect histogram for each mode, deduce the maximal -// susceptibility and set best modes for this macroblock. -// Segment assignment is done later. - -// Number of modes to inspect for alpha_ evaluation. We don't need to test all -// the possible modes during the analysis phase: we risk falling into a local -// optimum, or be subject to boundary effect -#define MAX_INTRA16_MODE 2 -#define MAX_INTRA4_MODE 2 -#define MAX_UV_MODE 2 - -static int MBAnalyzeBestIntra16Mode(VP8EncIterator* const it) { - const int max_mode = MAX_INTRA16_MODE; - int mode; - int best_alpha = DEFAULT_ALPHA; - int best_mode = 0; - - VP8MakeLuma16Preds(it); - for (mode = 0; mode < max_mode; ++mode) { - VP8Histogram histo; - int alpha; - - InitHistogram(&histo); - VP8CollectHistogram(it->yuv_in_ + Y_OFF_ENC, - it->yuv_p_ + VP8I16ModeOffsets[mode], - 0, 16, &histo); - alpha = GetAlpha(&histo); - if (IS_BETTER_ALPHA(alpha, best_alpha)) { - best_alpha = alpha; - best_mode = mode; - } - } - VP8SetIntra16Mode(it, best_mode); - return best_alpha; -} - -static int FastMBAnalyze(VP8EncIterator* const it) { - // Empirical cut-off value, should be around 16 (~=block size). We use the - // [8-17] range and favor intra4 at high quality, intra16 for low quality. - const int q = (int)it->enc_->config_->quality; - const uint32_t kThreshold = 8 + (17 - 8) * q / 100; - int k; - uint32_t dc[16], m, m2; - for (k = 0; k < 16; k += 4) { - VP8Mean16x4(it->yuv_in_ + Y_OFF_ENC + k * BPS, &dc[k]); - } - for (m = 0, m2 = 0, k = 0; k < 16; ++k) { - m += dc[k]; - m2 += dc[k] * dc[k]; - } - if (kThreshold * m2 < m * m) { - VP8SetIntra16Mode(it, 0); // DC16 - } else { - const uint8_t modes[16] = { 0 }; // DC4 - VP8SetIntra4Mode(it, modes); - } - return 0; -} - -static int MBAnalyzeBestIntra4Mode(VP8EncIterator* const it, - int best_alpha) { - uint8_t modes[16]; - const int max_mode = MAX_INTRA4_MODE; - int i4_alpha; - VP8Histogram total_histo; - int cur_histo = 0; - InitHistogram(&total_histo); - - VP8IteratorStartI4(it); - do { - int mode; - int best_mode_alpha = DEFAULT_ALPHA; - VP8Histogram histos[2]; - const uint8_t* const src = it->yuv_in_ + Y_OFF_ENC + VP8Scan[it->i4_]; - - VP8MakeIntra4Preds(it); - for (mode = 0; mode < max_mode; ++mode) { - int alpha; - - InitHistogram(&histos[cur_histo]); - VP8CollectHistogram(src, it->yuv_p_ + VP8I4ModeOffsets[mode], - 0, 1, &histos[cur_histo]); - alpha = GetAlpha(&histos[cur_histo]); - if (IS_BETTER_ALPHA(alpha, best_mode_alpha)) { - best_mode_alpha = alpha; - modes[it->i4_] = mode; - cur_histo ^= 1; // keep track of best histo so far. - } - } - // accumulate best histogram - MergeHistograms(&histos[cur_histo ^ 1], &total_histo); - // Note: we reuse the original samples for predictors - } while (VP8IteratorRotateI4(it, it->yuv_in_ + Y_OFF_ENC)); - - i4_alpha = GetAlpha(&total_histo); - if (IS_BETTER_ALPHA(i4_alpha, best_alpha)) { - VP8SetIntra4Mode(it, modes); - best_alpha = i4_alpha; - } - return best_alpha; -} - -static int MBAnalyzeBestUVMode(VP8EncIterator* const it) { - int best_alpha = DEFAULT_ALPHA; - int smallest_alpha = 0; - int best_mode = 0; - const int max_mode = MAX_UV_MODE; - int mode; - - VP8MakeChroma8Preds(it); - for (mode = 0; mode < max_mode; ++mode) { - VP8Histogram histo; - int alpha; - InitHistogram(&histo); - VP8CollectHistogram(it->yuv_in_ + U_OFF_ENC, - it->yuv_p_ + VP8UVModeOffsets[mode], - 16, 16 + 4 + 4, &histo); - alpha = GetAlpha(&histo); - if (IS_BETTER_ALPHA(alpha, best_alpha)) { - best_alpha = alpha; - } - // The best prediction mode tends to be the one with the smallest alpha. - if (mode == 0 || alpha < smallest_alpha) { - smallest_alpha = alpha; - best_mode = mode; - } - } - VP8SetIntraUVMode(it, best_mode); - return best_alpha; -} - -static void MBAnalyze(VP8EncIterator* const it, - int alphas[MAX_ALPHA + 1], - int* const alpha, int* const uv_alpha) { - const VP8Encoder* const enc = it->enc_; - int best_alpha, best_uv_alpha; - - VP8SetIntra16Mode(it, 0); // default: Intra16, DC_PRED - VP8SetSkip(it, 0); // not skipped - VP8SetSegment(it, 0); // default segment, spec-wise. - - if (enc->method_ <= 1) { - best_alpha = FastMBAnalyze(it); - } else { - best_alpha = MBAnalyzeBestIntra16Mode(it); - if (enc->method_ >= 5) { - // We go and make a fast decision for intra4/intra16. - // It's usually not a good and definitive pick, but helps seeding the - // stats about level bit-cost. - // TODO(skal): improve criterion. - best_alpha = MBAnalyzeBestIntra4Mode(it, best_alpha); - } - } - best_uv_alpha = MBAnalyzeBestUVMode(it); - - // Final susceptibility mix - best_alpha = (3 * best_alpha + best_uv_alpha + 2) >> 2; - best_alpha = FinalAlphaValue(best_alpha); - alphas[best_alpha]++; - it->mb_->alpha_ = best_alpha; // for later remapping. - - // Accumulate for later complexity analysis. - *alpha += best_alpha; // mixed susceptibility (not just luma) - *uv_alpha += best_uv_alpha; -} - -static void DefaultMBInfo(VP8MBInfo* const mb) { - mb->type_ = 1; // I16x16 - mb->uv_mode_ = 0; - mb->skip_ = 0; // not skipped - mb->segment_ = 0; // default segment - mb->alpha_ = 0; -} - -//------------------------------------------------------------------------------ -// Main analysis loop: -// Collect all susceptibilities for each macroblock and record their -// distribution in alphas[]. Segments is assigned a-posteriori, based on -// this histogram. -// We also pick an intra16 prediction mode, which shouldn't be considered -// final except for fast-encode settings. We can also pick some intra4 modes -// and decide intra4/intra16, but that's usually almost always a bad choice at -// this stage. - -static void ResetAllMBInfo(VP8Encoder* const enc) { - int n; - for (n = 0; n < enc->mb_w_ * enc->mb_h_; ++n) { - DefaultMBInfo(&enc->mb_info_[n]); - } - // Default susceptibilities. - enc->dqm_[0].alpha_ = 0; - enc->dqm_[0].beta_ = 0; - // Note: we can't compute this alpha_ / uv_alpha_ -> set to default value. - enc->alpha_ = 0; - enc->uv_alpha_ = 0; - WebPReportProgress(enc->pic_, enc->percent_ + 20, &enc->percent_); -} - -// struct used to collect job result -typedef struct { - WebPWorker worker; - int alphas[MAX_ALPHA + 1]; - int alpha, uv_alpha; - VP8EncIterator it; - int delta_progress; -} SegmentJob; - -// main work call -static int DoSegmentsJob(void* arg1, void* arg2) { - SegmentJob* const job = (SegmentJob*)arg1; - VP8EncIterator* const it = (VP8EncIterator*)arg2; - int ok = 1; - if (!VP8IteratorIsDone(it)) { - uint8_t tmp[32 + WEBP_ALIGN_CST]; - uint8_t* const scratch = (uint8_t*)WEBP_ALIGN(tmp); - do { - // Let's pretend we have perfect lossless reconstruction. - VP8IteratorImport(it, scratch); - MBAnalyze(it, job->alphas, &job->alpha, &job->uv_alpha); - ok = VP8IteratorProgress(it, job->delta_progress); - } while (ok && VP8IteratorNext(it)); - } - return ok; -} - -static void MergeJobs(const SegmentJob* const src, SegmentJob* const dst) { - int i; - for (i = 0; i <= MAX_ALPHA; ++i) dst->alphas[i] += src->alphas[i]; - dst->alpha += src->alpha; - dst->uv_alpha += src->uv_alpha; -} - -// initialize the job struct with some tasks to perform -static void InitSegmentJob(VP8Encoder* const enc, SegmentJob* const job, - int start_row, int end_row) { - WebPGetWorkerInterface()->Init(&job->worker); - job->worker.data1 = job; - job->worker.data2 = &job->it; - job->worker.hook = DoSegmentsJob; - VP8IteratorInit(enc, &job->it); - VP8IteratorSetRow(&job->it, start_row); - VP8IteratorSetCountDown(&job->it, (end_row - start_row) * enc->mb_w_); - memset(job->alphas, 0, sizeof(job->alphas)); - job->alpha = 0; - job->uv_alpha = 0; - // only one of both jobs can record the progress, since we don't - // expect the user's hook to be multi-thread safe - job->delta_progress = (start_row == 0) ? 20 : 0; -} - -// main entry point -int VP8EncAnalyze(VP8Encoder* const enc) { - int ok = 1; - const int do_segments = - enc->config_->emulate_jpeg_size || // We need the complexity evaluation. - (enc->segment_hdr_.num_segments_ > 1) || - (enc->method_ <= 1); // for method 0 - 1, we need preds_[] to be filled. - if (do_segments) { - const int last_row = enc->mb_h_; - // We give a little more than a half work to the main thread. - const int split_row = (9 * last_row + 15) >> 4; - const int total_mb = last_row * enc->mb_w_; -#ifdef WEBP_USE_THREAD - const int kMinSplitRow = 2; // minimal rows needed for mt to be worth it - const int do_mt = (enc->thread_level_ > 0) && (split_row >= kMinSplitRow); -#else - const int do_mt = 0; -#endif - const WebPWorkerInterface* const worker_interface = - WebPGetWorkerInterface(); - SegmentJob main_job; - if (do_mt) { - SegmentJob side_job; - // Note the use of '&' instead of '&&' because we must call the functions - // no matter what. - InitSegmentJob(enc, &main_job, 0, split_row); - InitSegmentJob(enc, &side_job, split_row, last_row); - // we don't need to call Reset() on main_job.worker, since we're calling - // WebPWorkerExecute() on it - ok &= worker_interface->Reset(&side_job.worker); - // launch the two jobs in parallel - if (ok) { - worker_interface->Launch(&side_job.worker); - worker_interface->Execute(&main_job.worker); - ok &= worker_interface->Sync(&side_job.worker); - ok &= worker_interface->Sync(&main_job.worker); - } - worker_interface->End(&side_job.worker); - if (ok) MergeJobs(&side_job, &main_job); // merge results together - } else { - // Even for single-thread case, we use the generic Worker tools. - InitSegmentJob(enc, &main_job, 0, last_row); - worker_interface->Execute(&main_job.worker); - ok &= worker_interface->Sync(&main_job.worker); - } - worker_interface->End(&main_job.worker); - if (ok) { - enc->alpha_ = main_job.alpha / total_mb; - enc->uv_alpha_ = main_job.uv_alpha / total_mb; - AssignSegments(enc, main_job.alphas); - } - } else { // Use only one default segment. - ResetAllMBInfo(enc); - } - return ok; -} - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/backward_references_cost_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/backward_references_cost_enc.c deleted file mode 100644 index 516abd73..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/backward_references_cost_enc.c +++ /dev/null @@ -1,790 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Improves a given set of backward references by analyzing its bit cost. -// The algorithm is similar to the Zopfli compression algorithm but tailored to -// images. -// -// Author: Vincent Rabaud (vrabaud@google.com) -// - -#include - -#include "src/enc/backward_references_enc.h" -#include "src/enc/histogram_enc.h" -#include "src/dsp/lossless_common.h" -#include "src/utils/color_cache_utils.h" -#include "src/utils/utils.h" - -#define VALUES_IN_BYTE 256 - -extern void VP8LClearBackwardRefs(VP8LBackwardRefs* const refs); -extern int VP8LDistanceToPlaneCode(int xsize, int dist); -extern void VP8LBackwardRefsCursorAdd(VP8LBackwardRefs* const refs, - const PixOrCopy v); - -typedef struct { - double alpha_[VALUES_IN_BYTE]; - double red_[VALUES_IN_BYTE]; - double blue_[VALUES_IN_BYTE]; - double distance_[NUM_DISTANCE_CODES]; - double* literal_; -} CostModel; - -static void ConvertPopulationCountTableToBitEstimates( - int num_symbols, const uint32_t population_counts[], double output[]) { - uint32_t sum = 0; - int nonzeros = 0; - int i; - for (i = 0; i < num_symbols; ++i) { - sum += population_counts[i]; - if (population_counts[i] > 0) { - ++nonzeros; - } - } - if (nonzeros <= 1) { - memset(output, 0, num_symbols * sizeof(*output)); - } else { - const double logsum = VP8LFastLog2(sum); - for (i = 0; i < num_symbols; ++i) { - output[i] = logsum - VP8LFastLog2(population_counts[i]); - } - } -} - -static int CostModelBuild(CostModel* const m, int xsize, int cache_bits, - const VP8LBackwardRefs* const refs) { - int ok = 0; - VP8LRefsCursor c = VP8LRefsCursorInit(refs); - VP8LHistogram* const histo = VP8LAllocateHistogram(cache_bits); - if (histo == NULL) goto Error; - - // The following code is similar to VP8LHistogramCreate but converts the - // distance to plane code. - VP8LHistogramInit(histo, cache_bits, /*init_arrays=*/ 1); - while (VP8LRefsCursorOk(&c)) { - VP8LHistogramAddSinglePixOrCopy(histo, c.cur_pos, VP8LDistanceToPlaneCode, - xsize); - VP8LRefsCursorNext(&c); - } - - ConvertPopulationCountTableToBitEstimates( - VP8LHistogramNumCodes(histo->palette_code_bits_), - histo->literal_, m->literal_); - ConvertPopulationCountTableToBitEstimates( - VALUES_IN_BYTE, histo->red_, m->red_); - ConvertPopulationCountTableToBitEstimates( - VALUES_IN_BYTE, histo->blue_, m->blue_); - ConvertPopulationCountTableToBitEstimates( - VALUES_IN_BYTE, histo->alpha_, m->alpha_); - ConvertPopulationCountTableToBitEstimates( - NUM_DISTANCE_CODES, histo->distance_, m->distance_); - ok = 1; - - Error: - VP8LFreeHistogram(histo); - return ok; -} - -static WEBP_INLINE double GetLiteralCost(const CostModel* const m, uint32_t v) { - return m->alpha_[v >> 24] + - m->red_[(v >> 16) & 0xff] + - m->literal_[(v >> 8) & 0xff] + - m->blue_[v & 0xff]; -} - -static WEBP_INLINE double GetCacheCost(const CostModel* const m, uint32_t idx) { - const int literal_idx = VALUES_IN_BYTE + NUM_LENGTH_CODES + idx; - return m->literal_[literal_idx]; -} - -static WEBP_INLINE double GetLengthCost(const CostModel* const m, - uint32_t length) { - int code, extra_bits; - VP8LPrefixEncodeBits(length, &code, &extra_bits); - return m->literal_[VALUES_IN_BYTE + code] + extra_bits; -} - -static WEBP_INLINE double GetDistanceCost(const CostModel* const m, - uint32_t distance) { - int code, extra_bits; - VP8LPrefixEncodeBits(distance, &code, &extra_bits); - return m->distance_[code] + extra_bits; -} - -static WEBP_INLINE void AddSingleLiteralWithCostModel( - const uint32_t* const argb, VP8LColorCache* const hashers, - const CostModel* const cost_model, int idx, int use_color_cache, - float prev_cost, float* const cost, uint16_t* const dist_array) { - double cost_val = prev_cost; - const uint32_t color = argb[idx]; - const int ix = use_color_cache ? VP8LColorCacheContains(hashers, color) : -1; - if (ix >= 0) { - // use_color_cache is true and hashers contains color - const double mul0 = 0.68; - cost_val += GetCacheCost(cost_model, ix) * mul0; - } else { - const double mul1 = 0.82; - if (use_color_cache) VP8LColorCacheInsert(hashers, color); - cost_val += GetLiteralCost(cost_model, color) * mul1; - } - if (cost[idx] > cost_val) { - cost[idx] = (float)cost_val; - dist_array[idx] = 1; // only one is inserted. - } -} - -// ----------------------------------------------------------------------------- -// CostManager and interval handling - -// Empirical value to avoid high memory consumption but good for performance. -#define COST_CACHE_INTERVAL_SIZE_MAX 500 - -// To perform backward reference every pixel at index index_ is considered and -// the cost for the MAX_LENGTH following pixels computed. Those following pixels -// at index index_ + k (k from 0 to MAX_LENGTH) have a cost of: -// cost_ = distance cost at index + GetLengthCost(cost_model, k) -// and the minimum value is kept. GetLengthCost(cost_model, k) is cached in an -// array of size MAX_LENGTH. -// Instead of performing MAX_LENGTH comparisons per pixel, we keep track of the -// minimal values using intervals of constant cost. -// An interval is defined by the index_ of the pixel that generated it and -// is only useful in a range of indices from start_ to end_ (exclusive), i.e. -// it contains the minimum value for pixels between start_ and end_. -// Intervals are stored in a linked list and ordered by start_. When a new -// interval has a better value, old intervals are split or removed. There are -// therefore no overlapping intervals. -typedef struct CostInterval CostInterval; -struct CostInterval { - float cost_; - int start_; - int end_; - int index_; - CostInterval* previous_; - CostInterval* next_; -}; - -// The GetLengthCost(cost_model, k) are cached in a CostCacheInterval. -typedef struct { - double cost_; - int start_; - int end_; // Exclusive. -} CostCacheInterval; - -// This structure is in charge of managing intervals and costs. -// It caches the different CostCacheInterval, caches the different -// GetLengthCost(cost_model, k) in cost_cache_ and the CostInterval's (whose -// count_ is limited by COST_CACHE_INTERVAL_SIZE_MAX). -#define COST_MANAGER_MAX_FREE_LIST 10 -typedef struct { - CostInterval* head_; - int count_; // The number of stored intervals. - CostCacheInterval* cache_intervals_; - size_t cache_intervals_size_; - double cost_cache_[MAX_LENGTH]; // Contains the GetLengthCost(cost_model, k). - float* costs_; - uint16_t* dist_array_; - // Most of the time, we only need few intervals -> use a free-list, to avoid - // fragmentation with small allocs in most common cases. - CostInterval intervals_[COST_MANAGER_MAX_FREE_LIST]; - CostInterval* free_intervals_; - // These are regularly malloc'd remains. This list can't grow larger than than - // size COST_CACHE_INTERVAL_SIZE_MAX - COST_MANAGER_MAX_FREE_LIST, note. - CostInterval* recycled_intervals_; -} CostManager; - -static void CostIntervalAddToFreeList(CostManager* const manager, - CostInterval* const interval) { - interval->next_ = manager->free_intervals_; - manager->free_intervals_ = interval; -} - -static int CostIntervalIsInFreeList(const CostManager* const manager, - const CostInterval* const interval) { - return (interval >= &manager->intervals_[0] && - interval <= &manager->intervals_[COST_MANAGER_MAX_FREE_LIST - 1]); -} - -static void CostManagerInitFreeList(CostManager* const manager) { - int i; - manager->free_intervals_ = NULL; - for (i = 0; i < COST_MANAGER_MAX_FREE_LIST; ++i) { - CostIntervalAddToFreeList(manager, &manager->intervals_[i]); - } -} - -static void DeleteIntervalList(CostManager* const manager, - const CostInterval* interval) { - while (interval != NULL) { - const CostInterval* const next = interval->next_; - if (!CostIntervalIsInFreeList(manager, interval)) { - WebPSafeFree((void*)interval); - } // else: do nothing - interval = next; - } -} - -static void CostManagerClear(CostManager* const manager) { - if (manager == NULL) return; - - WebPSafeFree(manager->costs_); - WebPSafeFree(manager->cache_intervals_); - - // Clear the interval lists. - DeleteIntervalList(manager, manager->head_); - manager->head_ = NULL; - DeleteIntervalList(manager, manager->recycled_intervals_); - manager->recycled_intervals_ = NULL; - - // Reset pointers, count_ and cache_intervals_size_. - memset(manager, 0, sizeof(*manager)); - CostManagerInitFreeList(manager); -} - -static int CostManagerInit(CostManager* const manager, - uint16_t* const dist_array, int pix_count, - const CostModel* const cost_model) { - int i; - const int cost_cache_size = (pix_count > MAX_LENGTH) ? MAX_LENGTH : pix_count; - - manager->costs_ = NULL; - manager->cache_intervals_ = NULL; - manager->head_ = NULL; - manager->recycled_intervals_ = NULL; - manager->count_ = 0; - manager->dist_array_ = dist_array; - CostManagerInitFreeList(manager); - - // Fill in the cost_cache_. - manager->cache_intervals_size_ = 1; - manager->cost_cache_[0] = GetLengthCost(cost_model, 0); - for (i = 1; i < cost_cache_size; ++i) { - manager->cost_cache_[i] = GetLengthCost(cost_model, i); - // Get the number of bound intervals. - if (manager->cost_cache_[i] != manager->cost_cache_[i - 1]) { - ++manager->cache_intervals_size_; - } - } - - // With the current cost model, we usually have below 20 intervals. - // The worst case scenario with a cost model would be if every length has a - // different cost, hence MAX_LENGTH but that is impossible with the current - // implementation that spirals around a pixel. - assert(manager->cache_intervals_size_ <= MAX_LENGTH); - manager->cache_intervals_ = (CostCacheInterval*)WebPSafeMalloc( - manager->cache_intervals_size_, sizeof(*manager->cache_intervals_)); - if (manager->cache_intervals_ == NULL) { - CostManagerClear(manager); - return 0; - } - - // Fill in the cache_intervals_. - { - CostCacheInterval* cur = manager->cache_intervals_; - - // Consecutive values in cost_cache_ are compared and if a big enough - // difference is found, a new interval is created and bounded. - cur->start_ = 0; - cur->end_ = 1; - cur->cost_ = manager->cost_cache_[0]; - for (i = 1; i < cost_cache_size; ++i) { - const double cost_val = manager->cost_cache_[i]; - if (cost_val != cur->cost_) { - ++cur; - // Initialize an interval. - cur->start_ = i; - cur->cost_ = cost_val; - } - cur->end_ = i + 1; - } - } - - manager->costs_ = (float*)WebPSafeMalloc(pix_count, sizeof(*manager->costs_)); - if (manager->costs_ == NULL) { - CostManagerClear(manager); - return 0; - } - // Set the initial costs_ high for every pixel as we will keep the minimum. - for (i = 0; i < pix_count; ++i) manager->costs_[i] = 1e38f; - - return 1; -} - -// Given the cost and the position that define an interval, update the cost at -// pixel 'i' if it is smaller than the previously computed value. -static WEBP_INLINE void UpdateCost(CostManager* const manager, int i, - int position, float cost) { - const int k = i - position; - assert(k >= 0 && k < MAX_LENGTH); - - if (manager->costs_[i] > cost) { - manager->costs_[i] = cost; - manager->dist_array_[i] = k + 1; - } -} - -// Given the cost and the position that define an interval, update the cost for -// all the pixels between 'start' and 'end' excluded. -static WEBP_INLINE void UpdateCostPerInterval(CostManager* const manager, - int start, int end, int position, - float cost) { - int i; - for (i = start; i < end; ++i) UpdateCost(manager, i, position, cost); -} - -// Given two intervals, make 'prev' be the previous one of 'next' in 'manager'. -static WEBP_INLINE void ConnectIntervals(CostManager* const manager, - CostInterval* const prev, - CostInterval* const next) { - if (prev != NULL) { - prev->next_ = next; - } else { - manager->head_ = next; - } - - if (next != NULL) next->previous_ = prev; -} - -// Pop an interval in the manager. -static WEBP_INLINE void PopInterval(CostManager* const manager, - CostInterval* const interval) { - if (interval == NULL) return; - - ConnectIntervals(manager, interval->previous_, interval->next_); - if (CostIntervalIsInFreeList(manager, interval)) { - CostIntervalAddToFreeList(manager, interval); - } else { // recycle regularly malloc'd intervals too - interval->next_ = manager->recycled_intervals_; - manager->recycled_intervals_ = interval; - } - --manager->count_; - assert(manager->count_ >= 0); -} - -// Update the cost at index i by going over all the stored intervals that -// overlap with i. -// If 'do_clean_intervals' is set to something different than 0, intervals that -// end before 'i' will be popped. -static WEBP_INLINE void UpdateCostAtIndex(CostManager* const manager, int i, - int do_clean_intervals) { - CostInterval* current = manager->head_; - - while (current != NULL && current->start_ <= i) { - CostInterval* const next = current->next_; - if (current->end_ <= i) { - if (do_clean_intervals) { - // We have an outdated interval, remove it. - PopInterval(manager, current); - } - } else { - UpdateCost(manager, i, current->index_, current->cost_); - } - current = next; - } -} - -// Given a current orphan interval and its previous interval, before -// it was orphaned (which can be NULL), set it at the right place in the list -// of intervals using the start_ ordering and the previous interval as a hint. -static WEBP_INLINE void PositionOrphanInterval(CostManager* const manager, - CostInterval* const current, - CostInterval* previous) { - assert(current != NULL); - - if (previous == NULL) previous = manager->head_; - while (previous != NULL && current->start_ < previous->start_) { - previous = previous->previous_; - } - while (previous != NULL && previous->next_ != NULL && - previous->next_->start_ < current->start_) { - previous = previous->next_; - } - - if (previous != NULL) { - ConnectIntervals(manager, current, previous->next_); - } else { - ConnectIntervals(manager, current, manager->head_); - } - ConnectIntervals(manager, previous, current); -} - -// Insert an interval in the list contained in the manager by starting at -// interval_in as a hint. The intervals are sorted by start_ value. -static WEBP_INLINE void InsertInterval(CostManager* const manager, - CostInterval* const interval_in, - float cost, int position, int start, - int end) { - CostInterval* interval_new; - - if (start >= end) return; - if (manager->count_ >= COST_CACHE_INTERVAL_SIZE_MAX) { - // Serialize the interval if we cannot store it. - UpdateCostPerInterval(manager, start, end, position, cost); - return; - } - if (manager->free_intervals_ != NULL) { - interval_new = manager->free_intervals_; - manager->free_intervals_ = interval_new->next_; - } else if (manager->recycled_intervals_ != NULL) { - interval_new = manager->recycled_intervals_; - manager->recycled_intervals_ = interval_new->next_; - } else { // malloc for good - interval_new = (CostInterval*)WebPSafeMalloc(1, sizeof(*interval_new)); - if (interval_new == NULL) { - // Write down the interval if we cannot create it. - UpdateCostPerInterval(manager, start, end, position, cost); - return; - } - } - - interval_new->cost_ = cost; - interval_new->index_ = position; - interval_new->start_ = start; - interval_new->end_ = end; - PositionOrphanInterval(manager, interval_new, interval_in); - - ++manager->count_; -} - -// Given a new cost interval defined by its start at position, its length value -// and distance_cost, add its contributions to the previous intervals and costs. -// If handling the interval or one of its subintervals becomes to heavy, its -// contribution is added to the costs right away. -static WEBP_INLINE void PushInterval(CostManager* const manager, - double distance_cost, int position, - int len) { - size_t i; - CostInterval* interval = manager->head_; - CostInterval* interval_next; - const CostCacheInterval* const cost_cache_intervals = - manager->cache_intervals_; - // If the interval is small enough, no need to deal with the heavy - // interval logic, just serialize it right away. This constant is empirical. - const int kSkipDistance = 10; - - if (len < kSkipDistance) { - int j; - for (j = position; j < position + len; ++j) { - const int k = j - position; - float cost_tmp; - assert(k >= 0 && k < MAX_LENGTH); - cost_tmp = (float)(distance_cost + manager->cost_cache_[k]); - - if (manager->costs_[j] > cost_tmp) { - manager->costs_[j] = cost_tmp; - manager->dist_array_[j] = k + 1; - } - } - return; - } - - for (i = 0; i < manager->cache_intervals_size_ && - cost_cache_intervals[i].start_ < len; - ++i) { - // Define the intersection of the ith interval with the new one. - int start = position + cost_cache_intervals[i].start_; - const int end = position + (cost_cache_intervals[i].end_ > len - ? len - : cost_cache_intervals[i].end_); - const float cost = (float)(distance_cost + cost_cache_intervals[i].cost_); - - for (; interval != NULL && interval->start_ < end; - interval = interval_next) { - interval_next = interval->next_; - - // Make sure we have some overlap - if (start >= interval->end_) continue; - - if (cost >= interval->cost_) { - // When intervals are represented, the lower, the better. - // [**********************************************************[ - // start end - // [----------------------------------[ - // interval->start_ interval->end_ - // If we are worse than what we already have, add whatever we have so - // far up to interval. - const int start_new = interval->end_; - InsertInterval(manager, interval, cost, position, start, - interval->start_); - start = start_new; - if (start >= end) break; - continue; - } - - if (start <= interval->start_) { - if (interval->end_ <= end) { - // [----------------------------------[ - // interval->start_ interval->end_ - // [**************************************************************[ - // start end - // We can safely remove the old interval as it is fully included. - PopInterval(manager, interval); - } else { - // [------------------------------------[ - // interval->start_ interval->end_ - // [*****************************[ - // start end - interval->start_ = end; - break; - } - } else { - if (end < interval->end_) { - // [--------------------------------------------------------------[ - // interval->start_ interval->end_ - // [*****************************[ - // start end - // We have to split the old interval as it fully contains the new one. - const int end_original = interval->end_; - interval->end_ = start; - InsertInterval(manager, interval, interval->cost_, interval->index_, - end, end_original); - interval = interval->next_; - break; - } else { - // [------------------------------------[ - // interval->start_ interval->end_ - // [*****************************[ - // start end - interval->end_ = start; - } - } - } - // Insert the remaining interval from start to end. - InsertInterval(manager, interval, cost, position, start, end); - } -} - -static int BackwardReferencesHashChainDistanceOnly( - int xsize, int ysize, const uint32_t* const argb, int cache_bits, - const VP8LHashChain* const hash_chain, const VP8LBackwardRefs* const refs, - uint16_t* const dist_array) { - int i; - int ok = 0; - int cc_init = 0; - const int pix_count = xsize * ysize; - const int use_color_cache = (cache_bits > 0); - const size_t literal_array_size = - sizeof(double) * (NUM_LITERAL_CODES + NUM_LENGTH_CODES + - ((cache_bits > 0) ? (1 << cache_bits) : 0)); - const size_t cost_model_size = sizeof(CostModel) + literal_array_size; - CostModel* const cost_model = - (CostModel*)WebPSafeCalloc(1ULL, cost_model_size); - VP8LColorCache hashers; - CostManager* cost_manager = - (CostManager*)WebPSafeMalloc(1ULL, sizeof(*cost_manager)); - int offset_prev = -1, len_prev = -1; - double offset_cost = -1; - int first_offset_is_constant = -1; // initialized with 'impossible' value - int reach = 0; - - if (cost_model == NULL || cost_manager == NULL) goto Error; - - cost_model->literal_ = (double*)(cost_model + 1); - if (use_color_cache) { - cc_init = VP8LColorCacheInit(&hashers, cache_bits); - if (!cc_init) goto Error; - } - - if (!CostModelBuild(cost_model, xsize, cache_bits, refs)) { - goto Error; - } - - if (!CostManagerInit(cost_manager, dist_array, pix_count, cost_model)) { - goto Error; - } - - // We loop one pixel at a time, but store all currently best points to - // non-processed locations from this point. - dist_array[0] = 0; - // Add first pixel as literal. - AddSingleLiteralWithCostModel(argb, &hashers, cost_model, 0, use_color_cache, - 0.f, cost_manager->costs_, dist_array); - - for (i = 1; i < pix_count; ++i) { - const float prev_cost = cost_manager->costs_[i - 1]; - int offset, len; - VP8LHashChainFindCopy(hash_chain, i, &offset, &len); - - // Try adding the pixel as a literal. - AddSingleLiteralWithCostModel(argb, &hashers, cost_model, i, - use_color_cache, prev_cost, - cost_manager->costs_, dist_array); - - // If we are dealing with a non-literal. - if (len >= 2) { - if (offset != offset_prev) { - const int code = VP8LDistanceToPlaneCode(xsize, offset); - offset_cost = GetDistanceCost(cost_model, code); - first_offset_is_constant = 1; - PushInterval(cost_manager, prev_cost + offset_cost, i, len); - } else { - assert(offset_cost >= 0); - assert(len_prev >= 0); - assert(first_offset_is_constant == 0 || first_offset_is_constant == 1); - // Instead of considering all contributions from a pixel i by calling: - // PushInterval(cost_manager, prev_cost + offset_cost, i, len); - // we optimize these contributions in case offset_cost stays the same - // for consecutive pixels. This describes a set of pixels similar to a - // previous set (e.g. constant color regions). - if (first_offset_is_constant) { - reach = i - 1 + len_prev - 1; - first_offset_is_constant = 0; - } - - if (i + len - 1 > reach) { - // We can only be go further with the same offset if the previous - // length was maxed, hence len_prev == len == MAX_LENGTH. - // TODO(vrabaud), bump i to the end right away (insert cache and - // update cost). - // TODO(vrabaud), check if one of the points in between does not have - // a lower cost. - // Already consider the pixel at "reach" to add intervals that are - // better than whatever we add. - int offset_j, len_j = 0; - int j; - assert(len == MAX_LENGTH || len == pix_count - i); - // Figure out the last consecutive pixel within [i, reach + 1] with - // the same offset. - for (j = i; j <= reach; ++j) { - VP8LHashChainFindCopy(hash_chain, j + 1, &offset_j, &len_j); - if (offset_j != offset) { - VP8LHashChainFindCopy(hash_chain, j, &offset_j, &len_j); - break; - } - } - // Update the cost at j - 1 and j. - UpdateCostAtIndex(cost_manager, j - 1, 0); - UpdateCostAtIndex(cost_manager, j, 0); - - PushInterval(cost_manager, cost_manager->costs_[j - 1] + offset_cost, - j, len_j); - reach = j + len_j - 1; - } - } - } - - UpdateCostAtIndex(cost_manager, i, 1); - offset_prev = offset; - len_prev = len; - } - - ok = !refs->error_; -Error: - if (cc_init) VP8LColorCacheClear(&hashers); - CostManagerClear(cost_manager); - WebPSafeFree(cost_model); - WebPSafeFree(cost_manager); - return ok; -} - -// We pack the path at the end of *dist_array and return -// a pointer to this part of the array. Example: -// dist_array = [1x2xx3x2] => packed [1x2x1232], chosen_path = [1232] -static void TraceBackwards(uint16_t* const dist_array, - int dist_array_size, - uint16_t** const chosen_path, - int* const chosen_path_size) { - uint16_t* path = dist_array + dist_array_size; - uint16_t* cur = dist_array + dist_array_size - 1; - while (cur >= dist_array) { - const int k = *cur; - --path; - *path = k; - cur -= k; - } - *chosen_path = path; - *chosen_path_size = (int)(dist_array + dist_array_size - path); -} - -static int BackwardReferencesHashChainFollowChosenPath( - const uint32_t* const argb, int cache_bits, - const uint16_t* const chosen_path, int chosen_path_size, - const VP8LHashChain* const hash_chain, VP8LBackwardRefs* const refs) { - const int use_color_cache = (cache_bits > 0); - int ix; - int i = 0; - int ok = 0; - int cc_init = 0; - VP8LColorCache hashers; - - if (use_color_cache) { - cc_init = VP8LColorCacheInit(&hashers, cache_bits); - if (!cc_init) goto Error; - } - - VP8LClearBackwardRefs(refs); - for (ix = 0; ix < chosen_path_size; ++ix) { - const int len = chosen_path[ix]; - if (len != 1) { - int k; - const int offset = VP8LHashChainFindOffset(hash_chain, i); - VP8LBackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(offset, len)); - if (use_color_cache) { - for (k = 0; k < len; ++k) { - VP8LColorCacheInsert(&hashers, argb[i + k]); - } - } - i += len; - } else { - PixOrCopy v; - const int idx = - use_color_cache ? VP8LColorCacheContains(&hashers, argb[i]) : -1; - if (idx >= 0) { - // use_color_cache is true and hashers contains argb[i] - // push pixel as a color cache index - v = PixOrCopyCreateCacheIdx(idx); - } else { - if (use_color_cache) VP8LColorCacheInsert(&hashers, argb[i]); - v = PixOrCopyCreateLiteral(argb[i]); - } - VP8LBackwardRefsCursorAdd(refs, v); - ++i; - } - } - ok = !refs->error_; - Error: - if (cc_init) VP8LColorCacheClear(&hashers); - return ok; -} - -// Returns 1 on success. -extern int VP8LBackwardReferencesTraceBackwards( - int xsize, int ysize, const uint32_t* const argb, int cache_bits, - const VP8LHashChain* const hash_chain, - const VP8LBackwardRefs* const refs_src, VP8LBackwardRefs* const refs_dst); -int VP8LBackwardReferencesTraceBackwards(int xsize, int ysize, - const uint32_t* const argb, - int cache_bits, - const VP8LHashChain* const hash_chain, - const VP8LBackwardRefs* const refs_src, - VP8LBackwardRefs* const refs_dst) { - int ok = 0; - const int dist_array_size = xsize * ysize; - uint16_t* chosen_path = NULL; - int chosen_path_size = 0; - uint16_t* dist_array = - (uint16_t*)WebPSafeMalloc(dist_array_size, sizeof(*dist_array)); - - if (dist_array == NULL) goto Error; - - if (!BackwardReferencesHashChainDistanceOnly( - xsize, ysize, argb, cache_bits, hash_chain, refs_src, dist_array)) { - goto Error; - } - TraceBackwards(dist_array, dist_array_size, &chosen_path, &chosen_path_size); - if (!BackwardReferencesHashChainFollowChosenPath( - argb, cache_bits, chosen_path, chosen_path_size, hash_chain, - refs_dst)) { - goto Error; - } - ok = 1; - Error: - WebPSafeFree(dist_array); - return ok; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/backward_references_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/backward_references_enc.c deleted file mode 100644 index d445b40f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/backward_references_enc.c +++ /dev/null @@ -1,945 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Jyrki Alakuijala (jyrki@google.com) -// - -#include -#include - -#include "src/enc/backward_references_enc.h" -#include "src/enc/histogram_enc.h" -#include "src/dsp/lossless.h" -#include "src/dsp/lossless_common.h" -#include "src/dsp/dsp.h" -#include "src/utils/color_cache_utils.h" -#include "src/utils/utils.h" - -#define MIN_BLOCK_SIZE 256 // minimum block size for backward references - -#define MAX_ENTROPY (1e30f) - -// 1M window (4M bytes) minus 120 special codes for short distances. -#define WINDOW_SIZE ((1 << WINDOW_SIZE_BITS) - 120) - -// Minimum number of pixels for which it is cheaper to encode a -// distance + length instead of each pixel as a literal. -#define MIN_LENGTH 4 - -// ----------------------------------------------------------------------------- - -static const uint8_t plane_to_code_lut[128] = { - 96, 73, 55, 39, 23, 13, 5, 1, 255, 255, 255, 255, 255, 255, 255, 255, - 101, 78, 58, 42, 26, 16, 8, 2, 0, 3, 9, 17, 27, 43, 59, 79, - 102, 86, 62, 46, 32, 20, 10, 6, 4, 7, 11, 21, 33, 47, 63, 87, - 105, 90, 70, 52, 37, 28, 18, 14, 12, 15, 19, 29, 38, 53, 71, 91, - 110, 99, 82, 66, 48, 35, 30, 24, 22, 25, 31, 36, 49, 67, 83, 100, - 115, 108, 94, 76, 64, 50, 44, 40, 34, 41, 45, 51, 65, 77, 95, 109, - 118, 113, 103, 92, 80, 68, 60, 56, 54, 57, 61, 69, 81, 93, 104, 114, - 119, 116, 111, 106, 97, 88, 84, 74, 72, 75, 85, 89, 98, 107, 112, 117 -}; - -extern int VP8LDistanceToPlaneCode(int xsize, int dist); -int VP8LDistanceToPlaneCode(int xsize, int dist) { - const int yoffset = dist / xsize; - const int xoffset = dist - yoffset * xsize; - if (xoffset <= 8 && yoffset < 8) { - return plane_to_code_lut[yoffset * 16 + 8 - xoffset] + 1; - } else if (xoffset > xsize - 8 && yoffset < 7) { - return plane_to_code_lut[(yoffset + 1) * 16 + 8 + (xsize - xoffset)] + 1; - } - return dist + 120; -} - -// Returns the exact index where array1 and array2 are different. For an index -// inferior or equal to best_len_match, the return value just has to be strictly -// inferior to best_len_match. The current behavior is to return 0 if this index -// is best_len_match, and the index itself otherwise. -// If no two elements are the same, it returns max_limit. -static WEBP_INLINE int FindMatchLength(const uint32_t* const array1, - const uint32_t* const array2, - int best_len_match, int max_limit) { - // Before 'expensive' linear match, check if the two arrays match at the - // current best length index. - if (array1[best_len_match] != array2[best_len_match]) return 0; - - return VP8LVectorMismatch(array1, array2, max_limit); -} - -// ----------------------------------------------------------------------------- -// VP8LBackwardRefs - -struct PixOrCopyBlock { - PixOrCopyBlock* next_; // next block (or NULL) - PixOrCopy* start_; // data start - int size_; // currently used size -}; - -extern void VP8LClearBackwardRefs(VP8LBackwardRefs* const refs); -void VP8LClearBackwardRefs(VP8LBackwardRefs* const refs) { - assert(refs != NULL); - if (refs->tail_ != NULL) { - *refs->tail_ = refs->free_blocks_; // recycle all blocks at once - } - refs->free_blocks_ = refs->refs_; - refs->tail_ = &refs->refs_; - refs->last_block_ = NULL; - refs->refs_ = NULL; -} - -void VP8LBackwardRefsClear(VP8LBackwardRefs* const refs) { - assert(refs != NULL); - VP8LClearBackwardRefs(refs); - while (refs->free_blocks_ != NULL) { - PixOrCopyBlock* const next = refs->free_blocks_->next_; - WebPSafeFree(refs->free_blocks_); - refs->free_blocks_ = next; - } -} - -void VP8LBackwardRefsInit(VP8LBackwardRefs* const refs, int block_size) { - assert(refs != NULL); - memset(refs, 0, sizeof(*refs)); - refs->tail_ = &refs->refs_; - refs->block_size_ = - (block_size < MIN_BLOCK_SIZE) ? MIN_BLOCK_SIZE : block_size; -} - -VP8LRefsCursor VP8LRefsCursorInit(const VP8LBackwardRefs* const refs) { - VP8LRefsCursor c; - c.cur_block_ = refs->refs_; - if (refs->refs_ != NULL) { - c.cur_pos = c.cur_block_->start_; - c.last_pos_ = c.cur_pos + c.cur_block_->size_; - } else { - c.cur_pos = NULL; - c.last_pos_ = NULL; - } - return c; -} - -void VP8LRefsCursorNextBlock(VP8LRefsCursor* const c) { - PixOrCopyBlock* const b = c->cur_block_->next_; - c->cur_pos = (b == NULL) ? NULL : b->start_; - c->last_pos_ = (b == NULL) ? NULL : b->start_ + b->size_; - c->cur_block_ = b; -} - -// Create a new block, either from the free list or allocated -static PixOrCopyBlock* BackwardRefsNewBlock(VP8LBackwardRefs* const refs) { - PixOrCopyBlock* b = refs->free_blocks_; - if (b == NULL) { // allocate new memory chunk - const size_t total_size = - sizeof(*b) + refs->block_size_ * sizeof(*b->start_); - b = (PixOrCopyBlock*)WebPSafeMalloc(1ULL, total_size); - if (b == NULL) { - refs->error_ |= 1; - return NULL; - } - b->start_ = (PixOrCopy*)((uint8_t*)b + sizeof(*b)); // not always aligned - } else { // recycle from free-list - refs->free_blocks_ = b->next_; - } - *refs->tail_ = b; - refs->tail_ = &b->next_; - refs->last_block_ = b; - b->next_ = NULL; - b->size_ = 0; - return b; -} - -extern void VP8LBackwardRefsCursorAdd(VP8LBackwardRefs* const refs, - const PixOrCopy v); -void VP8LBackwardRefsCursorAdd(VP8LBackwardRefs* const refs, - const PixOrCopy v) { - PixOrCopyBlock* b = refs->last_block_; - if (b == NULL || b->size_ == refs->block_size_) { - b = BackwardRefsNewBlock(refs); - if (b == NULL) return; // refs->error_ is set - } - b->start_[b->size_++] = v; -} - -// ----------------------------------------------------------------------------- -// Hash chains - -int VP8LHashChainInit(VP8LHashChain* const p, int size) { - assert(p->size_ == 0); - assert(p->offset_length_ == NULL); - assert(size > 0); - p->offset_length_ = - (uint32_t*)WebPSafeMalloc(size, sizeof(*p->offset_length_)); - if (p->offset_length_ == NULL) return 0; - p->size_ = size; - - return 1; -} - -void VP8LHashChainClear(VP8LHashChain* const p) { - assert(p != NULL); - WebPSafeFree(p->offset_length_); - - p->size_ = 0; - p->offset_length_ = NULL; -} - -// ----------------------------------------------------------------------------- - -static const uint32_t kHashMultiplierHi = 0xc6a4a793u; -static const uint32_t kHashMultiplierLo = 0x5bd1e996u; - -static WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW WEBP_INLINE -uint32_t GetPixPairHash64(const uint32_t* const argb) { - uint32_t key; - key = argb[1] * kHashMultiplierHi; - key += argb[0] * kHashMultiplierLo; - key = key >> (32 - HASH_BITS); - return key; -} - -// Returns the maximum number of hash chain lookups to do for a -// given compression quality. Return value in range [8, 86]. -static int GetMaxItersForQuality(int quality) { - return 8 + (quality * quality) / 128; -} - -static int GetWindowSizeForHashChain(int quality, int xsize) { - const int max_window_size = (quality > 75) ? WINDOW_SIZE - : (quality > 50) ? (xsize << 8) - : (quality > 25) ? (xsize << 6) - : (xsize << 4); - assert(xsize > 0); - return (max_window_size > WINDOW_SIZE) ? WINDOW_SIZE : max_window_size; -} - -static WEBP_INLINE int MaxFindCopyLength(int len) { - return (len < MAX_LENGTH) ? len : MAX_LENGTH; -} - -int VP8LHashChainFill(VP8LHashChain* const p, int quality, - const uint32_t* const argb, int xsize, int ysize, - int low_effort) { - const int size = xsize * ysize; - const int iter_max = GetMaxItersForQuality(quality); - const uint32_t window_size = GetWindowSizeForHashChain(quality, xsize); - int pos; - int argb_comp; - uint32_t base_position; - int32_t* hash_to_first_index; - // Temporarily use the p->offset_length_ as a hash chain. - int32_t* chain = (int32_t*)p->offset_length_; - assert(size > 0); - assert(p->size_ != 0); - assert(p->offset_length_ != NULL); - - if (size <= 2) { - p->offset_length_[0] = p->offset_length_[size - 1] = 0; - return 1; - } - - hash_to_first_index = - (int32_t*)WebPSafeMalloc(HASH_SIZE, sizeof(*hash_to_first_index)); - if (hash_to_first_index == NULL) return 0; - - // Set the int32_t array to -1. - memset(hash_to_first_index, 0xff, HASH_SIZE * sizeof(*hash_to_first_index)); - // Fill the chain linking pixels with the same hash. - argb_comp = (argb[0] == argb[1]); - for (pos = 0; pos < size - 2;) { - uint32_t hash_code; - const int argb_comp_next = (argb[pos + 1] == argb[pos + 2]); - if (argb_comp && argb_comp_next) { - // Consecutive pixels with the same color will share the same hash. - // We therefore use a different hash: the color and its repetition - // length. - uint32_t tmp[2]; - uint32_t len = 1; - tmp[0] = argb[pos]; - // Figure out how far the pixels are the same. - // The last pixel has a different 64 bit hash, as its next pixel does - // not have the same color, so we just need to get to the last pixel equal - // to its follower. - while (pos + (int)len + 2 < size && argb[pos + len + 2] == argb[pos]) { - ++len; - } - if (len > MAX_LENGTH) { - // Skip the pixels that match for distance=1 and length>MAX_LENGTH - // because they are linked to their predecessor and we automatically - // check that in the main for loop below. Skipping means setting no - // predecessor in the chain, hence -1. - memset(chain + pos, 0xff, (len - MAX_LENGTH) * sizeof(*chain)); - pos += len - MAX_LENGTH; - len = MAX_LENGTH; - } - // Process the rest of the hash chain. - while (len) { - tmp[1] = len--; - hash_code = GetPixPairHash64(tmp); - chain[pos] = hash_to_first_index[hash_code]; - hash_to_first_index[hash_code] = pos++; - } - argb_comp = 0; - } else { - // Just move one pixel forward. - hash_code = GetPixPairHash64(argb + pos); - chain[pos] = hash_to_first_index[hash_code]; - hash_to_first_index[hash_code] = pos++; - argb_comp = argb_comp_next; - } - } - // Process the penultimate pixel. - chain[pos] = hash_to_first_index[GetPixPairHash64(argb + pos)]; - - WebPSafeFree(hash_to_first_index); - - // Find the best match interval at each pixel, defined by an offset to the - // pixel and a length. The right-most pixel cannot match anything to the right - // (hence a best length of 0) and the left-most pixel nothing to the left - // (hence an offset of 0). - assert(size > 2); - p->offset_length_[0] = p->offset_length_[size - 1] = 0; - for (base_position = size - 2; base_position > 0;) { - const int max_len = MaxFindCopyLength(size - 1 - base_position); - const uint32_t* const argb_start = argb + base_position; - int iter = iter_max; - int best_length = 0; - uint32_t best_distance = 0; - uint32_t best_argb; - const int min_pos = - (base_position > window_size) ? base_position - window_size : 0; - const int length_max = (max_len < 256) ? max_len : 256; - uint32_t max_base_position; - - pos = chain[base_position]; - if (!low_effort) { - int curr_length; - // Heuristic: use the comparison with the above line as an initialization. - if (base_position >= (uint32_t)xsize) { - curr_length = FindMatchLength(argb_start - xsize, argb_start, - best_length, max_len); - if (curr_length > best_length) { - best_length = curr_length; - best_distance = xsize; - } - --iter; - } - // Heuristic: compare to the previous pixel. - curr_length = - FindMatchLength(argb_start - 1, argb_start, best_length, max_len); - if (curr_length > best_length) { - best_length = curr_length; - best_distance = 1; - } - --iter; - // Skip the for loop if we already have the maximum. - if (best_length == MAX_LENGTH) pos = min_pos - 1; - } - best_argb = argb_start[best_length]; - - for (; pos >= min_pos && --iter; pos = chain[pos]) { - int curr_length; - assert(base_position > (uint32_t)pos); - - if (argb[pos + best_length] != best_argb) continue; - - curr_length = VP8LVectorMismatch(argb + pos, argb_start, max_len); - if (best_length < curr_length) { - best_length = curr_length; - best_distance = base_position - pos; - best_argb = argb_start[best_length]; - // Stop if we have reached a good enough length. - if (best_length >= length_max) break; - } - } - // We have the best match but in case the two intervals continue matching - // to the left, we have the best matches for the left-extended pixels. - max_base_position = base_position; - while (1) { - assert(best_length <= MAX_LENGTH); - assert(best_distance <= WINDOW_SIZE); - p->offset_length_[base_position] = - (best_distance << MAX_LENGTH_BITS) | (uint32_t)best_length; - --base_position; - // Stop if we don't have a match or if we are out of bounds. - if (best_distance == 0 || base_position == 0) break; - // Stop if we cannot extend the matching intervals to the left. - if (base_position < best_distance || - argb[base_position - best_distance] != argb[base_position]) { - break; - } - // Stop if we are matching at its limit because there could be a closer - // matching interval with the same maximum length. Then again, if the - // matching interval is as close as possible (best_distance == 1), we will - // never find anything better so let's continue. - if (best_length == MAX_LENGTH && best_distance != 1 && - base_position + MAX_LENGTH < max_base_position) { - break; - } - if (best_length < MAX_LENGTH) { - ++best_length; - max_base_position = base_position; - } - } - } - return 1; -} - -static WEBP_INLINE void AddSingleLiteral(uint32_t pixel, int use_color_cache, - VP8LColorCache* const hashers, - VP8LBackwardRefs* const refs) { - PixOrCopy v; - if (use_color_cache) { - const uint32_t key = VP8LColorCacheGetIndex(hashers, pixel); - if (VP8LColorCacheLookup(hashers, key) == pixel) { - v = PixOrCopyCreateCacheIdx(key); - } else { - v = PixOrCopyCreateLiteral(pixel); - VP8LColorCacheSet(hashers, key, pixel); - } - } else { - v = PixOrCopyCreateLiteral(pixel); - } - VP8LBackwardRefsCursorAdd(refs, v); -} - -static int BackwardReferencesRle(int xsize, int ysize, - const uint32_t* const argb, - int cache_bits, VP8LBackwardRefs* const refs) { - const int pix_count = xsize * ysize; - int i, k; - const int use_color_cache = (cache_bits > 0); - VP8LColorCache hashers; - - if (use_color_cache && !VP8LColorCacheInit(&hashers, cache_bits)) { - return 0; - } - VP8LClearBackwardRefs(refs); - // Add first pixel as literal. - AddSingleLiteral(argb[0], use_color_cache, &hashers, refs); - i = 1; - while (i < pix_count) { - const int max_len = MaxFindCopyLength(pix_count - i); - const int rle_len = FindMatchLength(argb + i, argb + i - 1, 0, max_len); - const int prev_row_len = (i < xsize) ? 0 : - FindMatchLength(argb + i, argb + i - xsize, 0, max_len); - if (rle_len >= prev_row_len && rle_len >= MIN_LENGTH) { - VP8LBackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(1, rle_len)); - // We don't need to update the color cache here since it is always the - // same pixel being copied, and that does not change the color cache - // state. - i += rle_len; - } else if (prev_row_len >= MIN_LENGTH) { - VP8LBackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(xsize, prev_row_len)); - if (use_color_cache) { - for (k = 0; k < prev_row_len; ++k) { - VP8LColorCacheInsert(&hashers, argb[i + k]); - } - } - i += prev_row_len; - } else { - AddSingleLiteral(argb[i], use_color_cache, &hashers, refs); - i++; - } - } - if (use_color_cache) VP8LColorCacheClear(&hashers); - return !refs->error_; -} - -static int BackwardReferencesLz77(int xsize, int ysize, - const uint32_t* const argb, int cache_bits, - const VP8LHashChain* const hash_chain, - VP8LBackwardRefs* const refs) { - int i; - int i_last_check = -1; - int ok = 0; - int cc_init = 0; - const int use_color_cache = (cache_bits > 0); - const int pix_count = xsize * ysize; - VP8LColorCache hashers; - - if (use_color_cache) { - cc_init = VP8LColorCacheInit(&hashers, cache_bits); - if (!cc_init) goto Error; - } - VP8LClearBackwardRefs(refs); - for (i = 0; i < pix_count;) { - // Alternative#1: Code the pixels starting at 'i' using backward reference. - int offset = 0; - int len = 0; - int j; - VP8LHashChainFindCopy(hash_chain, i, &offset, &len); - if (len >= MIN_LENGTH) { - const int len_ini = len; - int max_reach = 0; - const int j_max = - (i + len_ini >= pix_count) ? pix_count - 1 : i + len_ini; - // Only start from what we have not checked already. - i_last_check = (i > i_last_check) ? i : i_last_check; - // We know the best match for the current pixel but we try to find the - // best matches for the current pixel AND the next one combined. - // The naive method would use the intervals: - // [i,i+len) + [i+len, length of best match at i+len) - // while we check if we can use: - // [i,j) (where j<=i+len) + [j, length of best match at j) - for (j = i_last_check + 1; j <= j_max; ++j) { - const int len_j = VP8LHashChainFindLength(hash_chain, j); - const int reach = - j + (len_j >= MIN_LENGTH ? len_j : 1); // 1 for single literal. - if (reach > max_reach) { - len = j - i; - max_reach = reach; - if (max_reach >= pix_count) break; - } - } - } else { - len = 1; - } - // Go with literal or backward reference. - assert(len > 0); - if (len == 1) { - AddSingleLiteral(argb[i], use_color_cache, &hashers, refs); - } else { - VP8LBackwardRefsCursorAdd(refs, PixOrCopyCreateCopy(offset, len)); - if (use_color_cache) { - for (j = i; j < i + len; ++j) VP8LColorCacheInsert(&hashers, argb[j]); - } - } - i += len; - } - - ok = !refs->error_; - Error: - if (cc_init) VP8LColorCacheClear(&hashers); - return ok; -} - -// Compute an LZ77 by forcing matches to happen within a given distance cost. -// We therefore limit the algorithm to the lowest 32 values in the PlaneCode -// definition. -#define WINDOW_OFFSETS_SIZE_MAX 32 -static int BackwardReferencesLz77Box(int xsize, int ysize, - const uint32_t* const argb, int cache_bits, - const VP8LHashChain* const hash_chain_best, - VP8LHashChain* hash_chain, - VP8LBackwardRefs* const refs) { - int i; - const int pix_count = xsize * ysize; - uint16_t* counts; - int window_offsets[WINDOW_OFFSETS_SIZE_MAX] = {0}; - int window_offsets_new[WINDOW_OFFSETS_SIZE_MAX] = {0}; - int window_offsets_size = 0; - int window_offsets_new_size = 0; - uint16_t* const counts_ini = - (uint16_t*)WebPSafeMalloc(xsize * ysize, sizeof(*counts_ini)); - int best_offset_prev = -1, best_length_prev = -1; - if (counts_ini == NULL) return 0; - - // counts[i] counts how many times a pixel is repeated starting at position i. - i = pix_count - 2; - counts = counts_ini + i; - counts[1] = 1; - for (; i >= 0; --i, --counts) { - if (argb[i] == argb[i + 1]) { - // Max out the counts to MAX_LENGTH. - counts[0] = counts[1] + (counts[1] != MAX_LENGTH); - } else { - counts[0] = 1; - } - } - - // Figure out the window offsets around a pixel. They are stored in a - // spiraling order around the pixel as defined by VP8LDistanceToPlaneCode. - { - int x, y; - for (y = 0; y <= 6; ++y) { - for (x = -6; x <= 6; ++x) { - const int offset = y * xsize + x; - int plane_code; - // Ignore offsets that bring us after the pixel. - if (offset <= 0) continue; - plane_code = VP8LDistanceToPlaneCode(xsize, offset) - 1; - if (plane_code >= WINDOW_OFFSETS_SIZE_MAX) continue; - window_offsets[plane_code] = offset; - } - } - // For narrow images, not all plane codes are reached, so remove those. - for (i = 0; i < WINDOW_OFFSETS_SIZE_MAX; ++i) { - if (window_offsets[i] == 0) continue; - window_offsets[window_offsets_size++] = window_offsets[i]; - } - // Given a pixel P, find the offsets that reach pixels unreachable from P-1 - // with any of the offsets in window_offsets[]. - for (i = 0; i < window_offsets_size; ++i) { - int j; - int is_reachable = 0; - for (j = 0; j < window_offsets_size && !is_reachable; ++j) { - is_reachable |= (window_offsets[i] == window_offsets[j] + 1); - } - if (!is_reachable) { - window_offsets_new[window_offsets_new_size] = window_offsets[i]; - ++window_offsets_new_size; - } - } - } - - hash_chain->offset_length_[0] = 0; - for (i = 1; i < pix_count; ++i) { - int ind; - int best_length = VP8LHashChainFindLength(hash_chain_best, i); - int best_offset; - int do_compute = 1; - - if (best_length >= MAX_LENGTH) { - // Do not recompute the best match if we already have a maximal one in the - // window. - best_offset = VP8LHashChainFindOffset(hash_chain_best, i); - for (ind = 0; ind < window_offsets_size; ++ind) { - if (best_offset == window_offsets[ind]) { - do_compute = 0; - break; - } - } - } - if (do_compute) { - // Figure out if we should use the offset/length from the previous pixel - // as an initial guess and therefore only inspect the offsets in - // window_offsets_new[]. - const int use_prev = - (best_length_prev > 1) && (best_length_prev < MAX_LENGTH); - const int num_ind = - use_prev ? window_offsets_new_size : window_offsets_size; - best_length = use_prev ? best_length_prev - 1 : 0; - best_offset = use_prev ? best_offset_prev : 0; - // Find the longest match in a window around the pixel. - for (ind = 0; ind < num_ind; ++ind) { - int curr_length = 0; - int j = i; - int j_offset = - use_prev ? i - window_offsets_new[ind] : i - window_offsets[ind]; - if (j_offset < 0 || argb[j_offset] != argb[i]) continue; - // The longest match is the sum of how many times each pixel is - // repeated. - do { - const int counts_j_offset = counts_ini[j_offset]; - const int counts_j = counts_ini[j]; - if (counts_j_offset != counts_j) { - curr_length += - (counts_j_offset < counts_j) ? counts_j_offset : counts_j; - break; - } - // The same color is repeated counts_pos times at j_offset and j. - curr_length += counts_j_offset; - j_offset += counts_j_offset; - j += counts_j_offset; - } while (curr_length <= MAX_LENGTH && j < pix_count && - argb[j_offset] == argb[j]); - if (best_length < curr_length) { - best_offset = - use_prev ? window_offsets_new[ind] : window_offsets[ind]; - if (curr_length >= MAX_LENGTH) { - best_length = MAX_LENGTH; - break; - } else { - best_length = curr_length; - } - } - } - } - - assert(i + best_length <= pix_count); - assert(best_length <= MAX_LENGTH); - if (best_length <= MIN_LENGTH) { - hash_chain->offset_length_[i] = 0; - best_offset_prev = 0; - best_length_prev = 0; - } else { - hash_chain->offset_length_[i] = - (best_offset << MAX_LENGTH_BITS) | (uint32_t)best_length; - best_offset_prev = best_offset; - best_length_prev = best_length; - } - } - hash_chain->offset_length_[0] = 0; - WebPSafeFree(counts_ini); - - return BackwardReferencesLz77(xsize, ysize, argb, cache_bits, hash_chain, - refs); -} - -// ----------------------------------------------------------------------------- - -static void BackwardReferences2DLocality(int xsize, - const VP8LBackwardRefs* const refs) { - VP8LRefsCursor c = VP8LRefsCursorInit(refs); - while (VP8LRefsCursorOk(&c)) { - if (PixOrCopyIsCopy(c.cur_pos)) { - const int dist = c.cur_pos->argb_or_distance; - const int transformed_dist = VP8LDistanceToPlaneCode(xsize, dist); - c.cur_pos->argb_or_distance = transformed_dist; - } - VP8LRefsCursorNext(&c); - } -} - -// Evaluate optimal cache bits for the local color cache. -// The input *best_cache_bits sets the maximum cache bits to use (passing 0 -// implies disabling the local color cache). The local color cache is also -// disabled for the lower (<= 25) quality. -// Returns 0 in case of memory error. -static int CalculateBestCacheSize(const uint32_t* argb, int quality, - const VP8LBackwardRefs* const refs, - int* const best_cache_bits) { - int i; - const int cache_bits_max = (quality <= 25) ? 0 : *best_cache_bits; - double entropy_min = MAX_ENTROPY; - int cc_init[MAX_COLOR_CACHE_BITS + 1] = { 0 }; - VP8LColorCache hashers[MAX_COLOR_CACHE_BITS + 1]; - VP8LRefsCursor c = VP8LRefsCursorInit(refs); - VP8LHistogram* histos[MAX_COLOR_CACHE_BITS + 1] = { NULL }; - int ok = 0; - - assert(cache_bits_max >= 0 && cache_bits_max <= MAX_COLOR_CACHE_BITS); - - if (cache_bits_max == 0) { - *best_cache_bits = 0; - // Local color cache is disabled. - return 1; - } - - // Allocate data. - for (i = 0; i <= cache_bits_max; ++i) { - histos[i] = VP8LAllocateHistogram(i); - if (histos[i] == NULL) goto Error; - VP8LHistogramInit(histos[i], i, /*init_arrays=*/ 1); - if (i == 0) continue; - cc_init[i] = VP8LColorCacheInit(&hashers[i], i); - if (!cc_init[i]) goto Error; - } - - // Find the cache_bits giving the lowest entropy. The search is done in a - // brute-force way as the function (entropy w.r.t cache_bits) can be - // anything in practice. - while (VP8LRefsCursorOk(&c)) { - const PixOrCopy* const v = c.cur_pos; - if (PixOrCopyIsLiteral(v)) { - const uint32_t pix = *argb++; - const uint32_t a = (pix >> 24) & 0xff; - const uint32_t r = (pix >> 16) & 0xff; - const uint32_t g = (pix >> 8) & 0xff; - const uint32_t b = (pix >> 0) & 0xff; - // The keys of the caches can be derived from the longest one. - int key = VP8LHashPix(pix, 32 - cache_bits_max); - // Do not use the color cache for cache_bits = 0. - ++histos[0]->blue_[b]; - ++histos[0]->literal_[g]; - ++histos[0]->red_[r]; - ++histos[0]->alpha_[a]; - // Deal with cache_bits > 0. - for (i = cache_bits_max; i >= 1; --i, key >>= 1) { - if (VP8LColorCacheLookup(&hashers[i], key) == pix) { - ++histos[i]->literal_[NUM_LITERAL_CODES + NUM_LENGTH_CODES + key]; - } else { - VP8LColorCacheSet(&hashers[i], key, pix); - ++histos[i]->blue_[b]; - ++histos[i]->literal_[g]; - ++histos[i]->red_[r]; - ++histos[i]->alpha_[a]; - } - } - } else { - // We should compute the contribution of the (distance,length) - // histograms but those are the same independently from the cache size. - // As those constant contributions are in the end added to the other - // histogram contributions, we can safely ignore them. - int len = PixOrCopyLength(v); - uint32_t argb_prev = *argb ^ 0xffffffffu; - // Update the color caches. - do { - if (*argb != argb_prev) { - // Efficiency: insert only if the color changes. - int key = VP8LHashPix(*argb, 32 - cache_bits_max); - for (i = cache_bits_max; i >= 1; --i, key >>= 1) { - hashers[i].colors_[key] = *argb; - } - argb_prev = *argb; - } - argb++; - } while (--len != 0); - } - VP8LRefsCursorNext(&c); - } - - for (i = 0; i <= cache_bits_max; ++i) { - const double entropy = VP8LHistogramEstimateBits(histos[i]); - if (i == 0 || entropy < entropy_min) { - entropy_min = entropy; - *best_cache_bits = i; - } - } - ok = 1; -Error: - for (i = 0; i <= cache_bits_max; ++i) { - if (cc_init[i]) VP8LColorCacheClear(&hashers[i]); - VP8LFreeHistogram(histos[i]); - } - return ok; -} - -// Update (in-place) backward references for specified cache_bits. -static int BackwardRefsWithLocalCache(const uint32_t* const argb, - int cache_bits, - VP8LBackwardRefs* const refs) { - int pixel_index = 0; - VP8LColorCache hashers; - VP8LRefsCursor c = VP8LRefsCursorInit(refs); - if (!VP8LColorCacheInit(&hashers, cache_bits)) return 0; - - while (VP8LRefsCursorOk(&c)) { - PixOrCopy* const v = c.cur_pos; - if (PixOrCopyIsLiteral(v)) { - const uint32_t argb_literal = v->argb_or_distance; - const int ix = VP8LColorCacheContains(&hashers, argb_literal); - if (ix >= 0) { - // hashers contains argb_literal - *v = PixOrCopyCreateCacheIdx(ix); - } else { - VP8LColorCacheInsert(&hashers, argb_literal); - } - ++pixel_index; - } else { - // refs was created without local cache, so it can not have cache indexes. - int k; - assert(PixOrCopyIsCopy(v)); - for (k = 0; k < v->len; ++k) { - VP8LColorCacheInsert(&hashers, argb[pixel_index++]); - } - } - VP8LRefsCursorNext(&c); - } - VP8LColorCacheClear(&hashers); - return 1; -} - -static VP8LBackwardRefs* GetBackwardReferencesLowEffort( - int width, int height, const uint32_t* const argb, - int* const cache_bits, const VP8LHashChain* const hash_chain, - VP8LBackwardRefs* const refs_lz77) { - *cache_bits = 0; - if (!BackwardReferencesLz77(width, height, argb, 0, hash_chain, refs_lz77)) { - return NULL; - } - BackwardReferences2DLocality(width, refs_lz77); - return refs_lz77; -} - -extern int VP8LBackwardReferencesTraceBackwards( - int xsize, int ysize, const uint32_t* const argb, int cache_bits, - const VP8LHashChain* const hash_chain, - const VP8LBackwardRefs* const refs_src, VP8LBackwardRefs* const refs_dst); -static VP8LBackwardRefs* GetBackwardReferences( - int width, int height, const uint32_t* const argb, int quality, - int lz77_types_to_try, int* const cache_bits, - const VP8LHashChain* const hash_chain, VP8LBackwardRefs* best, - VP8LBackwardRefs* worst) { - const int cache_bits_initial = *cache_bits; - double bit_cost_best = -1; - VP8LHistogram* histo = NULL; - int lz77_type, lz77_type_best = 0; - VP8LHashChain hash_chain_box; - memset(&hash_chain_box, 0, sizeof(hash_chain_box)); - - histo = VP8LAllocateHistogram(MAX_COLOR_CACHE_BITS); - if (histo == NULL) goto Error; - - for (lz77_type = 1; lz77_types_to_try; - lz77_types_to_try &= ~lz77_type, lz77_type <<= 1) { - int res = 0; - double bit_cost; - int cache_bits_tmp = cache_bits_initial; - if ((lz77_types_to_try & lz77_type) == 0) continue; - switch (lz77_type) { - case kLZ77RLE: - res = BackwardReferencesRle(width, height, argb, 0, worst); - break; - case kLZ77Standard: - // Compute LZ77 with no cache (0 bits), as the ideal LZ77 with a color - // cache is not that different in practice. - res = BackwardReferencesLz77(width, height, argb, 0, hash_chain, worst); - break; - case kLZ77Box: - if (!VP8LHashChainInit(&hash_chain_box, width * height)) goto Error; - res = BackwardReferencesLz77Box(width, height, argb, 0, hash_chain, - &hash_chain_box, worst); - break; - default: - assert(0); - } - if (!res) goto Error; - - // Next, try with a color cache and update the references. - if (!CalculateBestCacheSize(argb, quality, worst, &cache_bits_tmp)) { - goto Error; - } - if (cache_bits_tmp > 0) { - if (!BackwardRefsWithLocalCache(argb, cache_bits_tmp, worst)) { - goto Error; - } - } - - // Keep the best backward references. - VP8LHistogramCreate(histo, worst, cache_bits_tmp); - bit_cost = VP8LHistogramEstimateBits(histo); - if (lz77_type_best == 0 || bit_cost < bit_cost_best) { - VP8LBackwardRefs* const tmp = worst; - worst = best; - best = tmp; - bit_cost_best = bit_cost; - *cache_bits = cache_bits_tmp; - lz77_type_best = lz77_type; - } - } - assert(lz77_type_best > 0); - - // Improve on simple LZ77 but only for high quality (TraceBackwards is - // costly). - if ((lz77_type_best == kLZ77Standard || lz77_type_best == kLZ77Box) && - quality >= 25) { - const VP8LHashChain* const hash_chain_tmp = - (lz77_type_best == kLZ77Standard) ? hash_chain : &hash_chain_box; - if (VP8LBackwardReferencesTraceBackwards(width, height, argb, *cache_bits, - hash_chain_tmp, best, worst)) { - double bit_cost_trace; - VP8LHistogramCreate(histo, worst, *cache_bits); - bit_cost_trace = VP8LHistogramEstimateBits(histo); - if (bit_cost_trace < bit_cost_best) best = worst; - } - } - - BackwardReferences2DLocality(width, best); - -Error: - VP8LHashChainClear(&hash_chain_box); - VP8LFreeHistogram(histo); - return best; -} - -VP8LBackwardRefs* VP8LGetBackwardReferences( - int width, int height, const uint32_t* const argb, int quality, - int low_effort, int lz77_types_to_try, int* const cache_bits, - const VP8LHashChain* const hash_chain, VP8LBackwardRefs* const refs_tmp1, - VP8LBackwardRefs* const refs_tmp2) { - if (low_effort) { - return GetBackwardReferencesLowEffort(width, height, argb, cache_bits, - hash_chain, refs_tmp1); - } else { - return GetBackwardReferences(width, height, argb, quality, - lz77_types_to_try, cache_bits, hash_chain, - refs_tmp1, refs_tmp2); - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h deleted file mode 100644 index 103ddfdc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h +++ /dev/null @@ -1,234 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Jyrki Alakuijala (jyrki@google.com) -// - -#ifndef WEBP_ENC_BACKWARD_REFERENCES_ENC_H_ -#define WEBP_ENC_BACKWARD_REFERENCES_ENC_H_ - -#include -#include -#include "src/webp/types.h" -#include "src/webp/format_constants.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// The maximum allowed limit is 11. -#define MAX_COLOR_CACHE_BITS 10 - -// ----------------------------------------------------------------------------- -// PixOrCopy - -enum Mode { - kLiteral, - kCacheIdx, - kCopy, - kNone -}; - -typedef struct { - // mode as uint8_t to make the memory layout to be exactly 8 bytes. - uint8_t mode; - uint16_t len; - uint32_t argb_or_distance; -} PixOrCopy; - -static WEBP_INLINE PixOrCopy PixOrCopyCreateCopy(uint32_t distance, - uint16_t len) { - PixOrCopy retval; - retval.mode = kCopy; - retval.argb_or_distance = distance; - retval.len = len; - return retval; -} - -static WEBP_INLINE PixOrCopy PixOrCopyCreateCacheIdx(int idx) { - PixOrCopy retval; - assert(idx >= 0); - assert(idx < (1 << MAX_COLOR_CACHE_BITS)); - retval.mode = kCacheIdx; - retval.argb_or_distance = idx; - retval.len = 1; - return retval; -} - -static WEBP_INLINE PixOrCopy PixOrCopyCreateLiteral(uint32_t argb) { - PixOrCopy retval; - retval.mode = kLiteral; - retval.argb_or_distance = argb; - retval.len = 1; - return retval; -} - -static WEBP_INLINE int PixOrCopyIsLiteral(const PixOrCopy* const p) { - return (p->mode == kLiteral); -} - -static WEBP_INLINE int PixOrCopyIsCacheIdx(const PixOrCopy* const p) { - return (p->mode == kCacheIdx); -} - -static WEBP_INLINE int PixOrCopyIsCopy(const PixOrCopy* const p) { - return (p->mode == kCopy); -} - -static WEBP_INLINE uint32_t PixOrCopyLiteral(const PixOrCopy* const p, - int component) { - assert(p->mode == kLiteral); - return (p->argb_or_distance >> (component * 8)) & 0xff; -} - -static WEBP_INLINE uint32_t PixOrCopyLength(const PixOrCopy* const p) { - return p->len; -} - -static WEBP_INLINE uint32_t PixOrCopyCacheIdx(const PixOrCopy* const p) { - assert(p->mode == kCacheIdx); - assert(p->argb_or_distance < (1U << MAX_COLOR_CACHE_BITS)); - return p->argb_or_distance; -} - -static WEBP_INLINE uint32_t PixOrCopyDistance(const PixOrCopy* const p) { - assert(p->mode == kCopy); - return p->argb_or_distance; -} - -// ----------------------------------------------------------------------------- -// VP8LHashChain - -#define HASH_BITS 18 -#define HASH_SIZE (1 << HASH_BITS) - -// If you change this, you need MAX_LENGTH_BITS + WINDOW_SIZE_BITS <= 32 as it -// is used in VP8LHashChain. -#define MAX_LENGTH_BITS 12 -#define WINDOW_SIZE_BITS 20 -// We want the max value to be attainable and stored in MAX_LENGTH_BITS bits. -#define MAX_LENGTH ((1 << MAX_LENGTH_BITS) - 1) -#if MAX_LENGTH_BITS + WINDOW_SIZE_BITS > 32 -#error "MAX_LENGTH_BITS + WINDOW_SIZE_BITS > 32" -#endif - -typedef struct VP8LHashChain VP8LHashChain; -struct VP8LHashChain { - // The 20 most significant bits contain the offset at which the best match - // is found. These 20 bits are the limit defined by GetWindowSizeForHashChain - // (through WINDOW_SIZE = 1<<20). - // The lower 12 bits contain the length of the match. The 12 bit limit is - // defined in MaxFindCopyLength with MAX_LENGTH=4096. - uint32_t* offset_length_; - // This is the maximum size of the hash_chain that can be constructed. - // Typically this is the pixel count (width x height) for a given image. - int size_; -}; - -// Must be called first, to set size. -int VP8LHashChainInit(VP8LHashChain* const p, int size); -// Pre-compute the best matches for argb. -int VP8LHashChainFill(VP8LHashChain* const p, int quality, - const uint32_t* const argb, int xsize, int ysize, - int low_effort); -void VP8LHashChainClear(VP8LHashChain* const p); // release memory - -static WEBP_INLINE int VP8LHashChainFindOffset(const VP8LHashChain* const p, - const int base_position) { - return p->offset_length_[base_position] >> MAX_LENGTH_BITS; -} - -static WEBP_INLINE int VP8LHashChainFindLength(const VP8LHashChain* const p, - const int base_position) { - return p->offset_length_[base_position] & ((1U << MAX_LENGTH_BITS) - 1); -} - -static WEBP_INLINE void VP8LHashChainFindCopy(const VP8LHashChain* const p, - int base_position, - int* const offset_ptr, - int* const length_ptr) { - *offset_ptr = VP8LHashChainFindOffset(p, base_position); - *length_ptr = VP8LHashChainFindLength(p, base_position); -} - -// ----------------------------------------------------------------------------- -// VP8LBackwardRefs (block-based backward-references storage) - -// maximum number of reference blocks the image will be segmented into -#define MAX_REFS_BLOCK_PER_IMAGE 16 - -typedef struct PixOrCopyBlock PixOrCopyBlock; // forward declaration -typedef struct VP8LBackwardRefs VP8LBackwardRefs; - -// Container for blocks chain -struct VP8LBackwardRefs { - int block_size_; // common block-size - int error_; // set to true if some memory error occurred - PixOrCopyBlock* refs_; // list of currently used blocks - PixOrCopyBlock** tail_; // for list recycling - PixOrCopyBlock* free_blocks_; // free-list - PixOrCopyBlock* last_block_; // used for adding new refs (internal) -}; - -// Initialize the object. 'block_size' is the common block size to store -// references (typically, width * height / MAX_REFS_BLOCK_PER_IMAGE). -void VP8LBackwardRefsInit(VP8LBackwardRefs* const refs, int block_size); -// Release memory for backward references. -void VP8LBackwardRefsClear(VP8LBackwardRefs* const refs); - -// Cursor for iterating on references content -typedef struct { - // public: - PixOrCopy* cur_pos; // current position - // private: - PixOrCopyBlock* cur_block_; // current block in the refs list - const PixOrCopy* last_pos_; // sentinel for switching to next block -} VP8LRefsCursor; - -// Returns a cursor positioned at the beginning of the references list. -VP8LRefsCursor VP8LRefsCursorInit(const VP8LBackwardRefs* const refs); -// Returns true if cursor is pointing at a valid position. -static WEBP_INLINE int VP8LRefsCursorOk(const VP8LRefsCursor* const c) { - return (c->cur_pos != NULL); -} -// Move to next block of references. Internal, not to be called directly. -void VP8LRefsCursorNextBlock(VP8LRefsCursor* const c); -// Move to next position, or NULL. Should not be called if !VP8LRefsCursorOk(). -static WEBP_INLINE void VP8LRefsCursorNext(VP8LRefsCursor* const c) { - assert(c != NULL); - assert(VP8LRefsCursorOk(c)); - if (++c->cur_pos == c->last_pos_) VP8LRefsCursorNextBlock(c); -} - -// ----------------------------------------------------------------------------- -// Main entry points - -enum VP8LLZ77Type { - kLZ77Standard = 1, - kLZ77RLE = 2, - kLZ77Box = 4 -}; - -// Evaluates best possible backward references for specified quality. -// The input cache_bits to 'VP8LGetBackwardReferences' sets the maximum cache -// bits to use (passing 0 implies disabling the local color cache). -// The optimal cache bits is evaluated and set for the *cache_bits parameter. -// The return value is the pointer to the best of the two backward refs viz, -// refs[0] or refs[1]. -VP8LBackwardRefs* VP8LGetBackwardReferences( - int width, int height, const uint32_t* const argb, int quality, - int low_effort, int lz77_types_to_try, int* const cache_bits, - const VP8LHashChain* const hash_chain, VP8LBackwardRefs* const refs_tmp1, - VP8LBackwardRefs* const refs_tmp2); - -#ifdef __cplusplus -} -#endif - -#endif // WEBP_ENC_BACKWARD_REFERENCES_ENC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/config_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/config_enc.c deleted file mode 100644 index 9d482897..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/config_enc.c +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Coding tools configuration -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#include "src/webp/encode.h" - -//------------------------------------------------------------------------------ -// WebPConfig -//------------------------------------------------------------------------------ - -int WebPConfigInitInternal(WebPConfig* config, - WebPPreset preset, float quality, int version) { - if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_ENCODER_ABI_VERSION)) { - return 0; // caller/system version mismatch! - } - if (config == NULL) return 0; - - config->quality = quality; - config->target_size = 0; - config->target_PSNR = 0.; - config->method = 4; - config->sns_strength = 50; - config->filter_strength = 60; // mid-filtering - config->filter_sharpness = 0; - config->filter_type = 1; // default: strong (so U/V is filtered too) - config->partitions = 0; - config->segments = 4; - config->pass = 1; - config->show_compressed = 0; - config->preprocessing = 0; - config->autofilter = 0; - config->partition_limit = 0; - config->alpha_compression = 1; - config->alpha_filtering = 1; - config->alpha_quality = 100; - config->lossless = 0; - config->exact = 0; - config->image_hint = WEBP_HINT_DEFAULT; - config->emulate_jpeg_size = 0; - config->thread_level = 0; - config->low_memory = 0; - config->near_lossless = 100; - config->use_delta_palette = 0; - config->use_sharp_yuv = 0; - - // TODO(skal): tune. - switch (preset) { - case WEBP_PRESET_PICTURE: - config->sns_strength = 80; - config->filter_sharpness = 4; - config->filter_strength = 35; - config->preprocessing &= ~2; // no dithering - break; - case WEBP_PRESET_PHOTO: - config->sns_strength = 80; - config->filter_sharpness = 3; - config->filter_strength = 30; - config->preprocessing |= 2; - break; - case WEBP_PRESET_DRAWING: - config->sns_strength = 25; - config->filter_sharpness = 6; - config->filter_strength = 10; - break; - case WEBP_PRESET_ICON: - config->sns_strength = 0; - config->filter_strength = 0; // disable filtering to retain sharpness - config->preprocessing &= ~2; // no dithering - break; - case WEBP_PRESET_TEXT: - config->sns_strength = 0; - config->filter_strength = 0; // disable filtering to retain sharpness - config->preprocessing &= ~2; // no dithering - config->segments = 2; - break; - case WEBP_PRESET_DEFAULT: - default: - break; - } - return WebPValidateConfig(config); -} - -int WebPValidateConfig(const WebPConfig* config) { - if (config == NULL) return 0; - if (config->quality < 0 || config->quality > 100) return 0; - if (config->target_size < 0) return 0; - if (config->target_PSNR < 0) return 0; - if (config->method < 0 || config->method > 6) return 0; - if (config->segments < 1 || config->segments > 4) return 0; - if (config->sns_strength < 0 || config->sns_strength > 100) return 0; - if (config->filter_strength < 0 || config->filter_strength > 100) return 0; - if (config->filter_sharpness < 0 || config->filter_sharpness > 7) return 0; - if (config->filter_type < 0 || config->filter_type > 1) return 0; - if (config->autofilter < 0 || config->autofilter > 1) return 0; - if (config->pass < 1 || config->pass > 10) return 0; - if (config->show_compressed < 0 || config->show_compressed > 1) return 0; - if (config->preprocessing < 0 || config->preprocessing > 7) return 0; - if (config->partitions < 0 || config->partitions > 3) return 0; - if (config->partition_limit < 0 || config->partition_limit > 100) return 0; - if (config->alpha_compression < 0) return 0; - if (config->alpha_filtering < 0) return 0; - if (config->alpha_quality < 0 || config->alpha_quality > 100) return 0; - if (config->lossless < 0 || config->lossless > 1) return 0; - if (config->near_lossless < 0 || config->near_lossless > 100) return 0; - if (config->image_hint >= WEBP_HINT_LAST) return 0; - if (config->emulate_jpeg_size < 0 || config->emulate_jpeg_size > 1) return 0; - if (config->thread_level < 0 || config->thread_level > 1) return 0; - if (config->low_memory < 0 || config->low_memory > 1) return 0; - if (config->exact < 0 || config->exact > 1) return 0; - if (config->use_delta_palette < 0 || config->use_delta_palette > 1) { - return 0; - } - if (config->use_sharp_yuv < 0 || config->use_sharp_yuv > 1) return 0; - - return 1; -} - -//------------------------------------------------------------------------------ - -#define MAX_LEVEL 9 - -// Mapping between -z level and -m / -q parameter settings. -static const struct { - uint8_t method_; - uint8_t quality_; -} kLosslessPresets[MAX_LEVEL + 1] = { - { 0, 0 }, { 1, 20 }, { 2, 25 }, { 3, 30 }, { 3, 50 }, - { 4, 50 }, { 4, 75 }, { 4, 90 }, { 5, 90 }, { 6, 100 } -}; - -int WebPConfigLosslessPreset(WebPConfig* config, int level) { - if (config == NULL || level < 0 || level > MAX_LEVEL) return 0; - config->lossless = 1; - config->method = kLosslessPresets[level].method_; - config->quality = kLosslessPresets[level].quality_; - return 1; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/cost_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/cost_enc.c deleted file mode 100644 index 48fd9bc3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/cost_enc.c +++ /dev/null @@ -1,342 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Cost tables for level and modes -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/enc/cost_enc.h" - -//------------------------------------------------------------------------------ -// Level cost tables - -// For each given level, the following table gives the pattern of contexts to -// use for coding it (in [][0]) as well as the bit value to use for each -// context (in [][1]). -const uint16_t VP8LevelCodes[MAX_VARIABLE_LEVEL][2] = { - {0x001, 0x000}, {0x007, 0x001}, {0x00f, 0x005}, - {0x00f, 0x00d}, {0x033, 0x003}, {0x033, 0x003}, {0x033, 0x023}, - {0x033, 0x023}, {0x033, 0x023}, {0x033, 0x023}, {0x0d3, 0x013}, - {0x0d3, 0x013}, {0x0d3, 0x013}, {0x0d3, 0x013}, {0x0d3, 0x013}, - {0x0d3, 0x013}, {0x0d3, 0x013}, {0x0d3, 0x013}, {0x0d3, 0x093}, - {0x0d3, 0x093}, {0x0d3, 0x093}, {0x0d3, 0x093}, {0x0d3, 0x093}, - {0x0d3, 0x093}, {0x0d3, 0x093}, {0x0d3, 0x093}, {0x0d3, 0x093}, - {0x0d3, 0x093}, {0x0d3, 0x093}, {0x0d3, 0x093}, {0x0d3, 0x093}, - {0x0d3, 0x093}, {0x0d3, 0x093}, {0x0d3, 0x093}, {0x153, 0x053}, - {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, - {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, - {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, - {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, - {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, - {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, - {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, - {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x053}, {0x153, 0x153} -}; - -static int VariableLevelCost(int level, const uint8_t probas[NUM_PROBAS]) { - int pattern = VP8LevelCodes[level - 1][0]; - int bits = VP8LevelCodes[level - 1][1]; - int cost = 0; - int i; - for (i = 2; pattern; ++i) { - if (pattern & 1) { - cost += VP8BitCost(bits & 1, probas[i]); - } - bits >>= 1; - pattern >>= 1; - } - return cost; -} - -//------------------------------------------------------------------------------ -// Pre-calc level costs once for all - -void VP8CalculateLevelCosts(VP8EncProba* const proba) { - int ctype, band, ctx; - - if (!proba->dirty_) return; // nothing to do. - - for (ctype = 0; ctype < NUM_TYPES; ++ctype) { - int n; - for (band = 0; band < NUM_BANDS; ++band) { - for (ctx = 0; ctx < NUM_CTX; ++ctx) { - const uint8_t* const p = proba->coeffs_[ctype][band][ctx]; - uint16_t* const table = proba->level_cost_[ctype][band][ctx]; - const int cost0 = (ctx > 0) ? VP8BitCost(1, p[0]) : 0; - const int cost_base = VP8BitCost(1, p[1]) + cost0; - int v; - table[0] = VP8BitCost(0, p[1]) + cost0; - for (v = 1; v <= MAX_VARIABLE_LEVEL; ++v) { - table[v] = cost_base + VariableLevelCost(v, p); - } - // Starting at level 67 and up, the variable part of the cost is - // actually constant. - } - } - for (n = 0; n < 16; ++n) { // replicate bands. We don't need to sentinel. - for (ctx = 0; ctx < NUM_CTX; ++ctx) { - proba->remapped_costs_[ctype][n][ctx] = - proba->level_cost_[ctype][VP8EncBands[n]][ctx]; - } - } - } - proba->dirty_ = 0; -} - -//------------------------------------------------------------------------------ -// Mode cost tables. - -// These are the fixed probabilities (in the coding trees) turned into bit-cost -// by calling VP8BitCost(). -const uint16_t VP8FixedCostsUV[4] = { 302, 984, 439, 642 }; -// note: these values include the fixed VP8BitCost(1, 145) mode selection cost. -const uint16_t VP8FixedCostsI16[4] = { 663, 919, 872, 919 }; -const uint16_t VP8FixedCostsI4[NUM_BMODES][NUM_BMODES][NUM_BMODES] = { - { { 40, 1151, 1723, 1874, 2103, 2019, 1628, 1777, 2226, 2137 }, - { 192, 469, 1296, 1308, 1849, 1794, 1781, 1703, 1713, 1522 }, - { 142, 910, 762, 1684, 1849, 1576, 1460, 1305, 1801, 1657 }, - { 559, 641, 1370, 421, 1182, 1569, 1612, 1725, 863, 1007 }, - { 299, 1059, 1256, 1108, 636, 1068, 1581, 1883, 869, 1142 }, - { 277, 1111, 707, 1362, 1089, 672, 1603, 1541, 1545, 1291 }, - { 214, 781, 1609, 1303, 1632, 2229, 726, 1560, 1713, 918 }, - { 152, 1037, 1046, 1759, 1983, 2174, 1358, 742, 1740, 1390 }, - { 512, 1046, 1420, 753, 752, 1297, 1486, 1613, 460, 1207 }, - { 424, 827, 1362, 719, 1462, 1202, 1199, 1476, 1199, 538 } }, - { { 240, 402, 1134, 1491, 1659, 1505, 1517, 1555, 1979, 2099 }, - { 467, 242, 960, 1232, 1714, 1620, 1834, 1570, 1676, 1391 }, - { 500, 455, 463, 1507, 1699, 1282, 1564, 982, 2114, 2114 }, - { 672, 643, 1372, 331, 1589, 1667, 1453, 1938, 996, 876 }, - { 458, 783, 1037, 911, 738, 968, 1165, 1518, 859, 1033 }, - { 504, 815, 504, 1139, 1219, 719, 1506, 1085, 1268, 1268 }, - { 333, 630, 1445, 1239, 1883, 3672, 799, 1548, 1865, 598 }, - { 399, 644, 746, 1342, 1856, 1350, 1493, 613, 1855, 1015 }, - { 622, 749, 1205, 608, 1066, 1408, 1290, 1406, 546, 971 }, - { 500, 753, 1041, 668, 1230, 1617, 1297, 1425, 1383, 523 } }, - { { 394, 553, 523, 1502, 1536, 981, 1608, 1142, 1666, 2181 }, - { 655, 430, 375, 1411, 1861, 1220, 1677, 1135, 1978, 1553 }, - { 690, 640, 245, 1954, 2070, 1194, 1528, 982, 1972, 2232 }, - { 559, 834, 741, 867, 1131, 980, 1225, 852, 1092, 784 }, - { 690, 875, 516, 959, 673, 894, 1056, 1190, 1528, 1126 }, - { 740, 951, 384, 1277, 1177, 492, 1579, 1155, 1846, 1513 }, - { 323, 775, 1062, 1776, 3062, 1274, 813, 1188, 1372, 655 }, - { 488, 971, 484, 1767, 1515, 1775, 1115, 503, 1539, 1461 }, - { 740, 1006, 998, 709, 851, 1230, 1337, 788, 741, 721 }, - { 522, 1073, 573, 1045, 1346, 887, 1046, 1146, 1203, 697 } }, - { { 105, 864, 1442, 1009, 1934, 1840, 1519, 1920, 1673, 1579 }, - { 534, 305, 1193, 683, 1388, 2164, 1802, 1894, 1264, 1170 }, - { 305, 518, 877, 1108, 1426, 3215, 1425, 1064, 1320, 1242 }, - { 683, 732, 1927, 257, 1493, 2048, 1858, 1552, 1055, 947 }, - { 394, 814, 1024, 660, 959, 1556, 1282, 1289, 893, 1047 }, - { 528, 615, 996, 940, 1201, 635, 1094, 2515, 803, 1358 }, - { 347, 614, 1609, 1187, 3133, 1345, 1007, 1339, 1017, 667 }, - { 218, 740, 878, 1605, 3650, 3650, 1345, 758, 1357, 1617 }, - { 672, 750, 1541, 558, 1257, 1599, 1870, 2135, 402, 1087 }, - { 592, 684, 1161, 430, 1092, 1497, 1475, 1489, 1095, 822 } }, - { { 228, 1056, 1059, 1368, 752, 982, 1512, 1518, 987, 1782 }, - { 494, 514, 818, 942, 965, 892, 1610, 1356, 1048, 1363 }, - { 512, 648, 591, 1042, 761, 991, 1196, 1454, 1309, 1463 }, - { 683, 749, 1043, 676, 841, 1396, 1133, 1138, 654, 939 }, - { 622, 1101, 1126, 994, 361, 1077, 1203, 1318, 877, 1219 }, - { 631, 1068, 857, 1650, 651, 477, 1650, 1419, 828, 1170 }, - { 555, 727, 1068, 1335, 3127, 1339, 820, 1331, 1077, 429 }, - { 504, 879, 624, 1398, 889, 889, 1392, 808, 891, 1406 }, - { 683, 1602, 1289, 977, 578, 983, 1280, 1708, 406, 1122 }, - { 399, 865, 1433, 1070, 1072, 764, 968, 1477, 1223, 678 } }, - { { 333, 760, 935, 1638, 1010, 529, 1646, 1410, 1472, 2219 }, - { 512, 494, 750, 1160, 1215, 610, 1870, 1868, 1628, 1169 }, - { 572, 646, 492, 1934, 1208, 603, 1580, 1099, 1398, 1995 }, - { 786, 789, 942, 581, 1018, 951, 1599, 1207, 731, 768 }, - { 690, 1015, 672, 1078, 582, 504, 1693, 1438, 1108, 2897 }, - { 768, 1267, 571, 2005, 1243, 244, 2881, 1380, 1786, 1453 }, - { 452, 899, 1293, 903, 1311, 3100, 465, 1311, 1319, 813 }, - { 394, 927, 942, 1103, 1358, 1104, 946, 593, 1363, 1109 }, - { 559, 1005, 1007, 1016, 658, 1173, 1021, 1164, 623, 1028 }, - { 564, 796, 632, 1005, 1014, 863, 2316, 1268, 938, 764 } }, - { { 266, 606, 1098, 1228, 1497, 1243, 948, 1030, 1734, 1461 }, - { 366, 585, 901, 1060, 1407, 1247, 876, 1134, 1620, 1054 }, - { 452, 565, 542, 1729, 1479, 1479, 1016, 886, 2938, 1150 }, - { 555, 1088, 1533, 950, 1354, 895, 834, 1019, 1021, 496 }, - { 704, 815, 1193, 971, 973, 640, 1217, 2214, 832, 578 }, - { 672, 1245, 579, 871, 875, 774, 872, 1273, 1027, 949 }, - { 296, 1134, 2050, 1784, 1636, 3425, 442, 1550, 2076, 722 }, - { 342, 982, 1259, 1846, 1848, 1848, 622, 568, 1847, 1052 }, - { 555, 1064, 1304, 828, 746, 1343, 1075, 1329, 1078, 494 }, - { 288, 1167, 1285, 1174, 1639, 1639, 833, 2254, 1304, 509 } }, - { { 342, 719, 767, 1866, 1757, 1270, 1246, 550, 1746, 2151 }, - { 483, 653, 694, 1509, 1459, 1410, 1218, 507, 1914, 1266 }, - { 488, 757, 447, 2979, 1813, 1268, 1654, 539, 1849, 2109 }, - { 522, 1097, 1085, 851, 1365, 1111, 851, 901, 961, 605 }, - { 709, 716, 841, 728, 736, 945, 941, 862, 2845, 1057 }, - { 512, 1323, 500, 1336, 1083, 681, 1342, 717, 1604, 1350 }, - { 452, 1155, 1372, 1900, 1501, 3290, 311, 944, 1919, 922 }, - { 403, 1520, 977, 2132, 1733, 3522, 1076, 276, 3335, 1547 }, - { 559, 1374, 1101, 615, 673, 2462, 974, 795, 984, 984 }, - { 547, 1122, 1062, 812, 1410, 951, 1140, 622, 1268, 651 } }, - { { 165, 982, 1235, 938, 1334, 1366, 1659, 1578, 964, 1612 }, - { 592, 422, 925, 847, 1139, 1112, 1387, 2036, 861, 1041 }, - { 403, 837, 732, 770, 941, 1658, 1250, 809, 1407, 1407 }, - { 896, 874, 1071, 381, 1568, 1722, 1437, 2192, 480, 1035 }, - { 640, 1098, 1012, 1032, 684, 1382, 1581, 2106, 416, 865 }, - { 559, 1005, 819, 914, 710, 770, 1418, 920, 838, 1435 }, - { 415, 1258, 1245, 870, 1278, 3067, 770, 1021, 1287, 522 }, - { 406, 990, 601, 1009, 1265, 1265, 1267, 759, 1017, 1277 }, - { 968, 1182, 1329, 788, 1032, 1292, 1705, 1714, 203, 1403 }, - { 732, 877, 1279, 471, 901, 1161, 1545, 1294, 755, 755 } }, - { { 111, 931, 1378, 1185, 1933, 1648, 1148, 1714, 1873, 1307 }, - { 406, 414, 1030, 1023, 1910, 1404, 1313, 1647, 1509, 793 }, - { 342, 640, 575, 1088, 1241, 1349, 1161, 1350, 1756, 1502 }, - { 559, 766, 1185, 357, 1682, 1428, 1329, 1897, 1219, 802 }, - { 473, 909, 1164, 771, 719, 2508, 1427, 1432, 722, 782 }, - { 342, 892, 785, 1145, 1150, 794, 1296, 1550, 973, 1057 }, - { 208, 1036, 1326, 1343, 1606, 3395, 815, 1455, 1618, 712 }, - { 228, 928, 890, 1046, 3499, 1711, 994, 829, 1720, 1318 }, - { 768, 724, 1058, 636, 991, 1075, 1319, 1324, 616, 825 }, - { 305, 1167, 1358, 899, 1587, 1587, 987, 1988, 1332, 501 } } -}; - -//------------------------------------------------------------------------------ -// helper functions for residuals struct VP8Residual. - -void VP8InitResidual(int first, int coeff_type, - VP8Encoder* const enc, VP8Residual* const res) { - res->coeff_type = coeff_type; - res->prob = enc->proba_.coeffs_[coeff_type]; - res->stats = enc->proba_.stats_[coeff_type]; - res->costs = enc->proba_.remapped_costs_[coeff_type]; - res->first = first; -} - -//------------------------------------------------------------------------------ -// Mode costs - -int VP8GetCostLuma4(VP8EncIterator* const it, const int16_t levels[16]) { - const int x = (it->i4_ & 3), y = (it->i4_ >> 2); - VP8Residual res; - VP8Encoder* const enc = it->enc_; - int R = 0; - int ctx; - - VP8InitResidual(0, 3, enc, &res); - ctx = it->top_nz_[x] + it->left_nz_[y]; - VP8SetResidualCoeffs(levels, &res); - R += VP8GetResidualCost(ctx, &res); - return R; -} - -int VP8GetCostLuma16(VP8EncIterator* const it, const VP8ModeScore* const rd) { - VP8Residual res; - VP8Encoder* const enc = it->enc_; - int x, y; - int R = 0; - - VP8IteratorNzToBytes(it); // re-import the non-zero context - - // DC - VP8InitResidual(0, 1, enc, &res); - VP8SetResidualCoeffs(rd->y_dc_levels, &res); - R += VP8GetResidualCost(it->top_nz_[8] + it->left_nz_[8], &res); - - // AC - VP8InitResidual(1, 0, enc, &res); - for (y = 0; y < 4; ++y) { - for (x = 0; x < 4; ++x) { - const int ctx = it->top_nz_[x] + it->left_nz_[y]; - VP8SetResidualCoeffs(rd->y_ac_levels[x + y * 4], &res); - R += VP8GetResidualCost(ctx, &res); - it->top_nz_[x] = it->left_nz_[y] = (res.last >= 0); - } - } - return R; -} - -int VP8GetCostUV(VP8EncIterator* const it, const VP8ModeScore* const rd) { - VP8Residual res; - VP8Encoder* const enc = it->enc_; - int ch, x, y; - int R = 0; - - VP8IteratorNzToBytes(it); // re-import the non-zero context - - VP8InitResidual(0, 2, enc, &res); - for (ch = 0; ch <= 2; ch += 2) { - for (y = 0; y < 2; ++y) { - for (x = 0; x < 2; ++x) { - const int ctx = it->top_nz_[4 + ch + x] + it->left_nz_[4 + ch + y]; - VP8SetResidualCoeffs(rd->uv_levels[ch * 2 + x + y * 2], &res); - R += VP8GetResidualCost(ctx, &res); - it->top_nz_[4 + ch + x] = it->left_nz_[4 + ch + y] = (res.last >= 0); - } - } - } - return R; -} - - -//------------------------------------------------------------------------------ -// Recording of token probabilities. - -// We keep the table-free variant around for reference, in case. -#define USE_LEVEL_CODE_TABLE - -// Simulate block coding, but only record statistics. -// Note: no need to record the fixed probas. -int VP8RecordCoeffs(int ctx, const VP8Residual* const res) { - int n = res->first; - // should be stats[VP8EncBands[n]], but it's equivalent for n=0 or 1 - proba_t* s = res->stats[n][ctx]; - if (res->last < 0) { - VP8RecordStats(0, s + 0); - return 0; - } - while (n <= res->last) { - int v; - VP8RecordStats(1, s + 0); // order of record doesn't matter - while ((v = res->coeffs[n++]) == 0) { - VP8RecordStats(0, s + 1); - s = res->stats[VP8EncBands[n]][0]; - } - VP8RecordStats(1, s + 1); - if (!VP8RecordStats(2u < (unsigned int)(v + 1), s + 2)) { // v = -1 or 1 - s = res->stats[VP8EncBands[n]][1]; - } else { - v = abs(v); -#if !defined(USE_LEVEL_CODE_TABLE) - if (!VP8RecordStats(v > 4, s + 3)) { - if (VP8RecordStats(v != 2, s + 4)) - VP8RecordStats(v == 4, s + 5); - } else if (!VP8RecordStats(v > 10, s + 6)) { - VP8RecordStats(v > 6, s + 7); - } else if (!VP8RecordStats((v >= 3 + (8 << 2)), s + 8)) { - VP8RecordStats((v >= 3 + (8 << 1)), s + 9); - } else { - VP8RecordStats((v >= 3 + (8 << 3)), s + 10); - } -#else - if (v > MAX_VARIABLE_LEVEL) { - v = MAX_VARIABLE_LEVEL; - } - - { - const int bits = VP8LevelCodes[v - 1][1]; - int pattern = VP8LevelCodes[v - 1][0]; - int i; - for (i = 0; (pattern >>= 1) != 0; ++i) { - const int mask = 2 << i; - if (pattern & 1) VP8RecordStats(!!(bits & mask), s + 3 + i); - } - } -#endif - s = res->stats[VP8EncBands[n]][2]; - } - } - if (n < 16) VP8RecordStats(0, s + 0); - return 1; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/cost_enc.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/cost_enc.h deleted file mode 100644 index a4b177b3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/cost_enc.h +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Cost tables for level and modes. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_ENC_COST_ENC_H_ -#define WEBP_ENC_COST_ENC_H_ - -#include -#include -#include "src/enc/vp8i_enc.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// On-the-fly info about the current set of residuals. Handy to avoid -// passing zillions of params. -typedef struct VP8Residual VP8Residual; -struct VP8Residual { - int first; - int last; - const int16_t* coeffs; - - int coeff_type; - ProbaArray* prob; - StatsArray* stats; - CostArrayPtr costs; -}; - -void VP8InitResidual(int first, int coeff_type, - VP8Encoder* const enc, VP8Residual* const res); - -int VP8RecordCoeffs(int ctx, const VP8Residual* const res); - -// Record proba context used. -static WEBP_INLINE int VP8RecordStats(int bit, proba_t* const stats) { - proba_t p = *stats; - // An overflow is inbound. Note we handle this at 0xfffe0000u instead of - // 0xffff0000u to make sure p + 1u does not overflow. - if (p >= 0xfffe0000u) { - p = ((p + 1u) >> 1) & 0x7fff7fffu; // -> divide the stats by 2. - } - // record bit count (lower 16 bits) and increment total count (upper 16 bits). - p += 0x00010000u + bit; - *stats = p; - return bit; -} - -// Cost of coding one event with probability 'proba'. -static WEBP_INLINE int VP8BitCost(int bit, uint8_t proba) { - return !bit ? VP8EntropyCost[proba] : VP8EntropyCost[255 - proba]; -} - -// Level cost calculations -extern const uint16_t VP8LevelCodes[MAX_VARIABLE_LEVEL][2]; -void VP8CalculateLevelCosts(VP8EncProba* const proba); -static WEBP_INLINE int VP8LevelCost(const uint16_t* const table, int level) { - return VP8LevelFixedCosts[level] - + table[(level > MAX_VARIABLE_LEVEL) ? MAX_VARIABLE_LEVEL : level]; -} - -// Mode costs -extern const uint16_t VP8FixedCostsUV[4]; -extern const uint16_t VP8FixedCostsI16[4]; -extern const uint16_t VP8FixedCostsI4[NUM_BMODES][NUM_BMODES][NUM_BMODES]; - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_ENC_COST_ENC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/delta_palettization_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/delta_palettization_enc.c deleted file mode 100644 index eaf0f050..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/delta_palettization_enc.c +++ /dev/null @@ -1,455 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Mislav Bradac (mislavm@google.com) -// - -#include "./delta_palettization_enc.h" - -#ifdef WEBP_EXPERIMENTAL_FEATURES -#include "../webp/types.h" -#include "../dsp/lossless.h" - -#define MK_COL(r, g, b) (((r) << 16) + ((g) << 8) + (b)) - -// Format allows palette up to 256 entries, but more palette entries produce -// bigger entropy. In the future it will probably be useful to add more entries -// that are far from the origin of the palette or choose remaining entries -// dynamically. -#define DELTA_PALETTE_SIZE 226 - -// Palette used for delta_palettization. Entries are roughly sorted by distance -// of their signed equivalents from the origin. -static const uint32_t kDeltaPalette[DELTA_PALETTE_SIZE] = { - MK_COL(0u, 0u, 0u), - MK_COL(255u, 255u, 255u), - MK_COL(1u, 1u, 1u), - MK_COL(254u, 254u, 254u), - MK_COL(2u, 2u, 2u), - MK_COL(4u, 4u, 4u), - MK_COL(252u, 252u, 252u), - MK_COL(250u, 0u, 0u), - MK_COL(0u, 250u, 0u), - MK_COL(0u, 0u, 250u), - MK_COL(6u, 0u, 0u), - MK_COL(0u, 6u, 0u), - MK_COL(0u, 0u, 6u), - MK_COL(0u, 0u, 248u), - MK_COL(0u, 0u, 8u), - MK_COL(0u, 248u, 0u), - MK_COL(0u, 248u, 248u), - MK_COL(0u, 248u, 8u), - MK_COL(0u, 8u, 0u), - MK_COL(0u, 8u, 248u), - MK_COL(0u, 8u, 8u), - MK_COL(8u, 8u, 8u), - MK_COL(248u, 0u, 0u), - MK_COL(248u, 0u, 248u), - MK_COL(248u, 0u, 8u), - MK_COL(248u, 248u, 0u), - MK_COL(248u, 8u, 0u), - MK_COL(8u, 0u, 0u), - MK_COL(8u, 0u, 248u), - MK_COL(8u, 0u, 8u), - MK_COL(8u, 248u, 0u), - MK_COL(8u, 8u, 0u), - MK_COL(23u, 23u, 23u), - MK_COL(13u, 13u, 13u), - MK_COL(232u, 232u, 232u), - MK_COL(244u, 244u, 244u), - MK_COL(245u, 245u, 250u), - MK_COL(50u, 50u, 50u), - MK_COL(204u, 204u, 204u), - MK_COL(236u, 236u, 236u), - MK_COL(16u, 16u, 16u), - MK_COL(240u, 16u, 16u), - MK_COL(16u, 240u, 16u), - MK_COL(240u, 240u, 16u), - MK_COL(16u, 16u, 240u), - MK_COL(240u, 16u, 240u), - MK_COL(16u, 240u, 240u), - MK_COL(240u, 240u, 240u), - MK_COL(0u, 0u, 232u), - MK_COL(0u, 232u, 0u), - MK_COL(232u, 0u, 0u), - MK_COL(0u, 0u, 24u), - MK_COL(0u, 24u, 0u), - MK_COL(24u, 0u, 0u), - MK_COL(32u, 32u, 32u), - MK_COL(224u, 32u, 32u), - MK_COL(32u, 224u, 32u), - MK_COL(224u, 224u, 32u), - MK_COL(32u, 32u, 224u), - MK_COL(224u, 32u, 224u), - MK_COL(32u, 224u, 224u), - MK_COL(224u, 224u, 224u), - MK_COL(0u, 0u, 176u), - MK_COL(0u, 0u, 80u), - MK_COL(0u, 176u, 0u), - MK_COL(0u, 176u, 176u), - MK_COL(0u, 176u, 80u), - MK_COL(0u, 80u, 0u), - MK_COL(0u, 80u, 176u), - MK_COL(0u, 80u, 80u), - MK_COL(176u, 0u, 0u), - MK_COL(176u, 0u, 176u), - MK_COL(176u, 0u, 80u), - MK_COL(176u, 176u, 0u), - MK_COL(176u, 80u, 0u), - MK_COL(80u, 0u, 0u), - MK_COL(80u, 0u, 176u), - MK_COL(80u, 0u, 80u), - MK_COL(80u, 176u, 0u), - MK_COL(80u, 80u, 0u), - MK_COL(0u, 0u, 152u), - MK_COL(0u, 0u, 104u), - MK_COL(0u, 152u, 0u), - MK_COL(0u, 152u, 152u), - MK_COL(0u, 152u, 104u), - MK_COL(0u, 104u, 0u), - MK_COL(0u, 104u, 152u), - MK_COL(0u, 104u, 104u), - MK_COL(152u, 0u, 0u), - MK_COL(152u, 0u, 152u), - MK_COL(152u, 0u, 104u), - MK_COL(152u, 152u, 0u), - MK_COL(152u, 104u, 0u), - MK_COL(104u, 0u, 0u), - MK_COL(104u, 0u, 152u), - MK_COL(104u, 0u, 104u), - MK_COL(104u, 152u, 0u), - MK_COL(104u, 104u, 0u), - MK_COL(216u, 216u, 216u), - MK_COL(216u, 216u, 40u), - MK_COL(216u, 216u, 176u), - MK_COL(216u, 216u, 80u), - MK_COL(216u, 40u, 216u), - MK_COL(216u, 40u, 40u), - MK_COL(216u, 40u, 176u), - MK_COL(216u, 40u, 80u), - MK_COL(216u, 176u, 216u), - MK_COL(216u, 176u, 40u), - MK_COL(216u, 176u, 176u), - MK_COL(216u, 176u, 80u), - MK_COL(216u, 80u, 216u), - MK_COL(216u, 80u, 40u), - MK_COL(216u, 80u, 176u), - MK_COL(216u, 80u, 80u), - MK_COL(40u, 216u, 216u), - MK_COL(40u, 216u, 40u), - MK_COL(40u, 216u, 176u), - MK_COL(40u, 216u, 80u), - MK_COL(40u, 40u, 216u), - MK_COL(40u, 40u, 40u), - MK_COL(40u, 40u, 176u), - MK_COL(40u, 40u, 80u), - MK_COL(40u, 176u, 216u), - MK_COL(40u, 176u, 40u), - MK_COL(40u, 176u, 176u), - MK_COL(40u, 176u, 80u), - MK_COL(40u, 80u, 216u), - MK_COL(40u, 80u, 40u), - MK_COL(40u, 80u, 176u), - MK_COL(40u, 80u, 80u), - MK_COL(80u, 216u, 216u), - MK_COL(80u, 216u, 40u), - MK_COL(80u, 216u, 176u), - MK_COL(80u, 216u, 80u), - MK_COL(80u, 40u, 216u), - MK_COL(80u, 40u, 40u), - MK_COL(80u, 40u, 176u), - MK_COL(80u, 40u, 80u), - MK_COL(80u, 176u, 216u), - MK_COL(80u, 176u, 40u), - MK_COL(80u, 176u, 176u), - MK_COL(80u, 176u, 80u), - MK_COL(80u, 80u, 216u), - MK_COL(80u, 80u, 40u), - MK_COL(80u, 80u, 176u), - MK_COL(80u, 80u, 80u), - MK_COL(0u, 0u, 192u), - MK_COL(0u, 0u, 64u), - MK_COL(0u, 0u, 128u), - MK_COL(0u, 192u, 0u), - MK_COL(0u, 192u, 192u), - MK_COL(0u, 192u, 64u), - MK_COL(0u, 192u, 128u), - MK_COL(0u, 64u, 0u), - MK_COL(0u, 64u, 192u), - MK_COL(0u, 64u, 64u), - MK_COL(0u, 64u, 128u), - MK_COL(0u, 128u, 0u), - MK_COL(0u, 128u, 192u), - MK_COL(0u, 128u, 64u), - MK_COL(0u, 128u, 128u), - MK_COL(176u, 216u, 216u), - MK_COL(176u, 216u, 40u), - MK_COL(176u, 216u, 176u), - MK_COL(176u, 216u, 80u), - MK_COL(176u, 40u, 216u), - MK_COL(176u, 40u, 40u), - MK_COL(176u, 40u, 176u), - MK_COL(176u, 40u, 80u), - MK_COL(176u, 176u, 216u), - MK_COL(176u, 176u, 40u), - MK_COL(176u, 176u, 176u), - MK_COL(176u, 176u, 80u), - MK_COL(176u, 80u, 216u), - MK_COL(176u, 80u, 40u), - MK_COL(176u, 80u, 176u), - MK_COL(176u, 80u, 80u), - MK_COL(192u, 0u, 0u), - MK_COL(192u, 0u, 192u), - MK_COL(192u, 0u, 64u), - MK_COL(192u, 0u, 128u), - MK_COL(192u, 192u, 0u), - MK_COL(192u, 192u, 192u), - MK_COL(192u, 192u, 64u), - MK_COL(192u, 192u, 128u), - MK_COL(192u, 64u, 0u), - MK_COL(192u, 64u, 192u), - MK_COL(192u, 64u, 64u), - MK_COL(192u, 64u, 128u), - MK_COL(192u, 128u, 0u), - MK_COL(192u, 128u, 192u), - MK_COL(192u, 128u, 64u), - MK_COL(192u, 128u, 128u), - MK_COL(64u, 0u, 0u), - MK_COL(64u, 0u, 192u), - MK_COL(64u, 0u, 64u), - MK_COL(64u, 0u, 128u), - MK_COL(64u, 192u, 0u), - MK_COL(64u, 192u, 192u), - MK_COL(64u, 192u, 64u), - MK_COL(64u, 192u, 128u), - MK_COL(64u, 64u, 0u), - MK_COL(64u, 64u, 192u), - MK_COL(64u, 64u, 64u), - MK_COL(64u, 64u, 128u), - MK_COL(64u, 128u, 0u), - MK_COL(64u, 128u, 192u), - MK_COL(64u, 128u, 64u), - MK_COL(64u, 128u, 128u), - MK_COL(128u, 0u, 0u), - MK_COL(128u, 0u, 192u), - MK_COL(128u, 0u, 64u), - MK_COL(128u, 0u, 128u), - MK_COL(128u, 192u, 0u), - MK_COL(128u, 192u, 192u), - MK_COL(128u, 192u, 64u), - MK_COL(128u, 192u, 128u), - MK_COL(128u, 64u, 0u), - MK_COL(128u, 64u, 192u), - MK_COL(128u, 64u, 64u), - MK_COL(128u, 64u, 128u), - MK_COL(128u, 128u, 0u), - MK_COL(128u, 128u, 192u), - MK_COL(128u, 128u, 64u), - MK_COL(128u, 128u, 128u), -}; - -#undef MK_COL - -//------------------------------------------------------------------------------ -// TODO(skal): move the functions to dsp/lossless.c when the correct -// granularity is found. For now, we'll just copy-paste some useful bits -// here instead. - -// In-place sum of each component with mod 256. -static WEBP_INLINE void AddPixelsEq(uint32_t* a, uint32_t b) { - const uint32_t alpha_and_green = (*a & 0xff00ff00u) + (b & 0xff00ff00u); - const uint32_t red_and_blue = (*a & 0x00ff00ffu) + (b & 0x00ff00ffu); - *a = (alpha_and_green & 0xff00ff00u) | (red_and_blue & 0x00ff00ffu); -} - -static WEBP_INLINE uint32_t Clip255(uint32_t a) { - if (a < 256) { - return a; - } - // return 0, when a is a negative integer. - // return 255, when a is positive. - return ~a >> 24; -} - -// Delta palettization functions. -static WEBP_INLINE int Square(int x) { - return x * x; -} - -static WEBP_INLINE uint32_t Intensity(uint32_t a) { - return - 30 * ((a >> 16) & 0xff) + - 59 * ((a >> 8) & 0xff) + - 11 * ((a >> 0) & 0xff); -} - -static uint32_t CalcDist(uint32_t predicted_value, uint32_t actual_value, - uint32_t palette_entry) { - int i; - uint32_t distance = 0; - AddPixelsEq(&predicted_value, palette_entry); - for (i = 0; i < 32; i += 8) { - const int32_t av = (actual_value >> i) & 0xff; - const int32_t pv = (predicted_value >> i) & 0xff; - distance += Square(pv - av); - } - // We sum square of intensity difference with factor 10, but because Intensity - // returns 100 times real intensity we need to multiply differences of colors - // by 1000. - distance *= 1000u; - distance += Square(Intensity(predicted_value) - - Intensity(actual_value)); - return distance; -} - -static uint32_t Predict(int x, int y, uint32_t* image) { - const uint32_t t = (y == 0) ? ARGB_BLACK : image[x]; - const uint32_t l = (x == 0) ? ARGB_BLACK : image[x - 1]; - const uint32_t p = - (((((t >> 24) & 0xff) + ((l >> 24) & 0xff)) / 2) << 24) + - (((((t >> 16) & 0xff) + ((l >> 16) & 0xff)) / 2) << 16) + - (((((t >> 8) & 0xff) + ((l >> 8) & 0xff)) / 2) << 8) + - (((((t >> 0) & 0xff) + ((l >> 0) & 0xff)) / 2) << 0); - if (x == 0 && y == 0) return ARGB_BLACK; - if (x == 0) return t; - if (y == 0) return l; - return p; -} - -static WEBP_INLINE int AddSubtractComponentFullWithCoefficient( - int a, int b, int c) { - return Clip255(a + ((b - c) >> 2)); -} - -static WEBP_INLINE uint32_t ClampedAddSubtractFullWithCoefficient( - uint32_t c0, uint32_t c1, uint32_t c2) { - const int a = AddSubtractComponentFullWithCoefficient( - c0 >> 24, c1 >> 24, c2 >> 24); - const int r = AddSubtractComponentFullWithCoefficient((c0 >> 16) & 0xff, - (c1 >> 16) & 0xff, - (c2 >> 16) & 0xff); - const int g = AddSubtractComponentFullWithCoefficient((c0 >> 8) & 0xff, - (c1 >> 8) & 0xff, - (c2 >> 8) & 0xff); - const int b = AddSubtractComponentFullWithCoefficient( - c0 & 0xff, c1 & 0xff, c2 & 0xff); - return ((uint32_t)a << 24) | (r << 16) | (g << 8) | b; -} - -//------------------------------------------------------------------------------ - -// Find palette entry with minimum error from difference of actual pixel value -// and predicted pixel value. Propagate error of pixel to its top and left pixel -// in src array. Write predicted_value + palette_entry to new_image. Return -// index of best palette entry. -static int FindBestPaletteEntry(uint32_t src, uint32_t predicted_value, - const uint32_t palette[], int palette_size) { - int i; - int idx = 0; - uint32_t best_distance = CalcDist(predicted_value, src, palette[0]); - for (i = 1; i < palette_size; ++i) { - const uint32_t distance = CalcDist(predicted_value, src, palette[i]); - if (distance < best_distance) { - best_distance = distance; - idx = i; - } - } - return idx; -} - -static void ApplyBestPaletteEntry(int x, int y, - uint32_t new_value, uint32_t palette_value, - uint32_t* src, int src_stride, - uint32_t* new_image) { - AddPixelsEq(&new_value, palette_value); - if (x > 0) { - src[x - 1] = ClampedAddSubtractFullWithCoefficient(src[x - 1], - new_value, src[x]); - } - if (y > 0) { - src[x - src_stride] = - ClampedAddSubtractFullWithCoefficient(src[x - src_stride], - new_value, src[x]); - } - new_image[x] = new_value; -} - -//------------------------------------------------------------------------------ -// Main entry point - -static WebPEncodingError ApplyDeltaPalette(uint32_t* src, uint32_t* dst, - uint32_t src_stride, - uint32_t dst_stride, - const uint32_t* palette, - int palette_size, - int width, int height, - int num_passes) { - int x, y; - WebPEncodingError err = VP8_ENC_OK; - uint32_t* new_image = (uint32_t*)WebPSafeMalloc(width, sizeof(*new_image)); - uint8_t* const tmp_row = (uint8_t*)WebPSafeMalloc(width, sizeof(*tmp_row)); - if (new_image == NULL || tmp_row == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - while (num_passes--) { - uint32_t* cur_src = src; - uint32_t* cur_dst = dst; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - const uint32_t predicted_value = Predict(x, y, new_image); - tmp_row[x] = FindBestPaletteEntry(cur_src[x], predicted_value, - palette, palette_size); - ApplyBestPaletteEntry(x, y, predicted_value, palette[tmp_row[x]], - cur_src, src_stride, new_image); - } - for (x = 0; x < width; ++x) { - cur_dst[x] = palette[tmp_row[x]]; - } - cur_src += src_stride; - cur_dst += dst_stride; - } - } - Error: - WebPSafeFree(new_image); - WebPSafeFree(tmp_row); - return err; -} - -// replaces enc->argb_ by a palettizable approximation of it, -// and generates optimal enc->palette_[] -WebPEncodingError WebPSearchOptimalDeltaPalette(VP8LEncoder* const enc) { - const WebPPicture* const pic = enc->pic_; - uint32_t* src = pic->argb; - uint32_t* dst = enc->argb_; - const int width = pic->width; - const int height = pic->height; - - WebPEncodingError err = VP8_ENC_OK; - memcpy(enc->palette_, kDeltaPalette, sizeof(kDeltaPalette)); - enc->palette_[DELTA_PALETTE_SIZE - 1] = src[0] - 0xff000000u; - enc->palette_size_ = DELTA_PALETTE_SIZE; - err = ApplyDeltaPalette(src, dst, pic->argb_stride, enc->current_width_, - enc->palette_, enc->palette_size_, - width, height, 2); - if (err != VP8_ENC_OK) goto Error; - - Error: - return err; -} - -#else // !WEBP_EXPERIMENTAL_FEATURES - -WebPEncodingError WebPSearchOptimalDeltaPalette(VP8LEncoder* const enc) { - (void)enc; - return VP8_ENC_ERROR_INVALID_CONFIGURATION; -} - -#endif // WEBP_EXPERIMENTAL_FEATURES diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/delta_palettization_enc.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/delta_palettization_enc.h deleted file mode 100644 index 63048ec6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/delta_palettization_enc.h +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Mislav Bradac (mislavm@google.com) -// - -#ifndef WEBP_ENC_DELTA_PALETTIZATION_H_ -#define WEBP_ENC_DELTA_PALETTIZATION_H_ - -#include "../webp/encode.h" -#include "../enc/vp8li_enc.h" - -// Replaces enc->argb_[] input by a palettizable approximation of it, -// and generates optimal enc->palette_[]. -// This function can revert enc->use_palette_ / enc->use_predict_ flag -// if delta-palettization is not producing expected saving. -WebPEncodingError WebPSearchOptimalDeltaPalette(VP8LEncoder* const enc); - -#endif // WEBP_ENC_DELTA_PALETTIZATION_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/filter_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/filter_enc.c deleted file mode 100644 index 580800bf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/filter_enc.c +++ /dev/null @@ -1,235 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Selecting filter level -// -// Author: somnath@google.com (Somnath Banerjee) - -#include -#include "src/enc/vp8i_enc.h" -#include "src/dsp/dsp.h" - -// This table gives, for a given sharpness, the filtering strength to be -// used (at least) in order to filter a given edge step delta. -// This is constructed by brute force inspection: for all delta, we iterate -// over all possible filtering strength / thresh until needs_filter() returns -// true. -#define MAX_DELTA_SIZE 64 -static const uint8_t kLevelsFromDelta[8][MAX_DELTA_SIZE] = { - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 }, - { 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, - 20, 21, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36, 38, 39, 41, 42, - 44, 45, 47, 48, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63 }, - { 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 19, - 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41, 43, - 44, 46, 47, 49, 50, 52, 53, 55, 56, 58, 59, 61, 62, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63 }, - { 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, - 21, 22, 24, 25, 27, 28, 30, 31, 33, 34, 36, 37, 39, 40, 42, 43, - 45, 46, 48, 49, 51, 52, 54, 55, 57, 58, 60, 61, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63 }, - { 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 14, 15, 17, 18, 20, - 21, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36, 38, 39, 41, 42, 44, - 45, 47, 48, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63 }, - { 0, 1, 2, 4, 5, 7, 8, 9, 11, 12, 13, 15, 16, 17, 19, 20, - 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41, 43, 44, - 46, 47, 49, 50, 52, 53, 55, 56, 58, 59, 61, 62, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63 }, - { 0, 1, 2, 4, 5, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 21, - 22, 24, 25, 27, 28, 30, 31, 33, 34, 36, 37, 39, 40, 42, 43, 45, - 46, 48, 49, 51, 52, 54, 55, 57, 58, 60, 61, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63 }, - { 0, 1, 2, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17, 18, 20, 21, - 23, 24, 26, 27, 29, 30, 32, 33, 35, 36, 38, 39, 41, 42, 44, 45, - 47, 48, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63 } -}; - -int VP8FilterStrengthFromDelta(int sharpness, int delta) { - const int pos = (delta < MAX_DELTA_SIZE) ? delta : MAX_DELTA_SIZE - 1; - assert(sharpness >= 0 && sharpness <= 7); - return kLevelsFromDelta[sharpness][pos]; -} - -//------------------------------------------------------------------------------ -// Paragraph 15.4: compute the inner-edge filtering strength - -#if !defined(WEBP_REDUCE_SIZE) - -static int GetILevel(int sharpness, int level) { - if (sharpness > 0) { - if (sharpness > 4) { - level >>= 2; - } else { - level >>= 1; - } - if (level > 9 - sharpness) { - level = 9 - sharpness; - } - } - if (level < 1) level = 1; - return level; -} - -static void DoFilter(const VP8EncIterator* const it, int level) { - const VP8Encoder* const enc = it->enc_; - const int ilevel = GetILevel(enc->config_->filter_sharpness, level); - const int limit = 2 * level + ilevel; - - uint8_t* const y_dst = it->yuv_out2_ + Y_OFF_ENC; - uint8_t* const u_dst = it->yuv_out2_ + U_OFF_ENC; - uint8_t* const v_dst = it->yuv_out2_ + V_OFF_ENC; - - // copy current block to yuv_out2_ - memcpy(y_dst, it->yuv_out_, YUV_SIZE_ENC * sizeof(uint8_t)); - - if (enc->filter_hdr_.simple_ == 1) { // simple - VP8SimpleHFilter16i(y_dst, BPS, limit); - VP8SimpleVFilter16i(y_dst, BPS, limit); - } else { // complex - const int hev_thresh = (level >= 40) ? 2 : (level >= 15) ? 1 : 0; - VP8HFilter16i(y_dst, BPS, limit, ilevel, hev_thresh); - VP8HFilter8i(u_dst, v_dst, BPS, limit, ilevel, hev_thresh); - VP8VFilter16i(y_dst, BPS, limit, ilevel, hev_thresh); - VP8VFilter8i(u_dst, v_dst, BPS, limit, ilevel, hev_thresh); - } -} - -//------------------------------------------------------------------------------ -// SSIM metric for one macroblock - -static double GetMBSSIM(const uint8_t* yuv1, const uint8_t* yuv2) { - int x, y; - double sum = 0.; - - // compute SSIM in a 10 x 10 window - for (y = VP8_SSIM_KERNEL; y < 16 - VP8_SSIM_KERNEL; y++) { - for (x = VP8_SSIM_KERNEL; x < 16 - VP8_SSIM_KERNEL; x++) { - sum += VP8SSIMGetClipped(yuv1 + Y_OFF_ENC, BPS, yuv2 + Y_OFF_ENC, BPS, - x, y, 16, 16); - } - } - for (x = 1; x < 7; x++) { - for (y = 1; y < 7; y++) { - sum += VP8SSIMGetClipped(yuv1 + U_OFF_ENC, BPS, yuv2 + U_OFF_ENC, BPS, - x, y, 8, 8); - sum += VP8SSIMGetClipped(yuv1 + V_OFF_ENC, BPS, yuv2 + V_OFF_ENC, BPS, - x, y, 8, 8); - } - } - return sum; -} - -#endif // !defined(WEBP_REDUCE_SIZE) - -//------------------------------------------------------------------------------ -// Exposed APIs: Encoder should call the following 3 functions to adjust -// loop filter strength - -void VP8InitFilter(VP8EncIterator* const it) { -#if !defined(WEBP_REDUCE_SIZE) - if (it->lf_stats_ != NULL) { - int s, i; - for (s = 0; s < NUM_MB_SEGMENTS; s++) { - for (i = 0; i < MAX_LF_LEVELS; i++) { - (*it->lf_stats_)[s][i] = 0; - } - } - VP8SSIMDspInit(); - } -#else - (void)it; -#endif -} - -void VP8StoreFilterStats(VP8EncIterator* const it) { -#if !defined(WEBP_REDUCE_SIZE) - int d; - VP8Encoder* const enc = it->enc_; - const int s = it->mb_->segment_; - const int level0 = enc->dqm_[s].fstrength_; - - // explore +/-quant range of values around level0 - const int delta_min = -enc->dqm_[s].quant_; - const int delta_max = enc->dqm_[s].quant_; - const int step_size = (delta_max - delta_min >= 4) ? 4 : 1; - - if (it->lf_stats_ == NULL) return; - - // NOTE: Currently we are applying filter only across the sublock edges - // There are two reasons for that. - // 1. Applying filter on macro block edges will change the pixels in - // the left and top macro blocks. That will be hard to restore - // 2. Macro Blocks on the bottom and right are not yet compressed. So we - // cannot apply filter on the right and bottom macro block edges. - if (it->mb_->type_ == 1 && it->mb_->skip_) return; - - // Always try filter level zero - (*it->lf_stats_)[s][0] += GetMBSSIM(it->yuv_in_, it->yuv_out_); - - for (d = delta_min; d <= delta_max; d += step_size) { - const int level = level0 + d; - if (level <= 0 || level >= MAX_LF_LEVELS) { - continue; - } - DoFilter(it, level); - (*it->lf_stats_)[s][level] += GetMBSSIM(it->yuv_in_, it->yuv_out2_); - } -#else // defined(WEBP_REDUCE_SIZE) - (void)it; -#endif // !defined(WEBP_REDUCE_SIZE) -} - -void VP8AdjustFilterStrength(VP8EncIterator* const it) { - VP8Encoder* const enc = it->enc_; -#if !defined(WEBP_REDUCE_SIZE) - if (it->lf_stats_ != NULL) { - int s; - for (s = 0; s < NUM_MB_SEGMENTS; s++) { - int i, best_level = 0; - // Improvement over filter level 0 should be at least 1e-5 (relatively) - double best_v = 1.00001 * (*it->lf_stats_)[s][0]; - for (i = 1; i < MAX_LF_LEVELS; i++) { - const double v = (*it->lf_stats_)[s][i]; - if (v > best_v) { - best_v = v; - best_level = i; - } - } - enc->dqm_[s].fstrength_ = best_level; - } - return; - } -#endif // !defined(WEBP_REDUCE_SIZE) - if (enc->config_->filter_strength > 0) { - int max_level = 0; - int s; - for (s = 0; s < NUM_MB_SEGMENTS; s++) { - VP8SegmentInfo* const dqm = &enc->dqm_[s]; - // this '>> 3' accounts for some inverse WHT scaling - const int delta = (dqm->max_edge_ * dqm->y2_.q_[1]) >> 3; - const int level = - VP8FilterStrengthFromDelta(enc->filter_hdr_.sharpness_, delta); - if (level > dqm->fstrength_) { - dqm->fstrength_ = level; - } - if (max_level < dqm->fstrength_) { - max_level = dqm->fstrength_; - } - } - enc->filter_hdr_.level_ = max_level; - } -} - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/frame_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/frame_enc.c deleted file mode 100644 index 1aec376e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/frame_enc.c +++ /dev/null @@ -1,890 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// frame coding and analysis -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include - -#include "src/enc/cost_enc.h" -#include "src/enc/vp8i_enc.h" -#include "src/dsp/dsp.h" -#include "src/webp/format_constants.h" // RIFF constants - -#define SEGMENT_VISU 0 -#define DEBUG_SEARCH 0 // useful to track search convergence - -//------------------------------------------------------------------------------ -// multi-pass convergence - -#define HEADER_SIZE_ESTIMATE (RIFF_HEADER_SIZE + CHUNK_HEADER_SIZE + \ - VP8_FRAME_HEADER_SIZE) -#define DQ_LIMIT 0.4 // convergence is considered reached if dq < DQ_LIMIT -// we allow 2k of extra head-room in PARTITION0 limit. -#define PARTITION0_SIZE_LIMIT ((VP8_MAX_PARTITION0_SIZE - 2048ULL) << 11) - -typedef struct { // struct for organizing convergence in either size or PSNR - int is_first; - float dq; - float q, last_q; - double value, last_value; // PSNR or size - double target; - int do_size_search; -} PassStats; - -static int InitPassStats(const VP8Encoder* const enc, PassStats* const s) { - const uint64_t target_size = (uint64_t)enc->config_->target_size; - const int do_size_search = (target_size != 0); - const float target_PSNR = enc->config_->target_PSNR; - - s->is_first = 1; - s->dq = 10.f; - s->q = s->last_q = enc->config_->quality; - s->target = do_size_search ? (double)target_size - : (target_PSNR > 0.) ? target_PSNR - : 40.; // default, just in case - s->value = s->last_value = 0.; - s->do_size_search = do_size_search; - return do_size_search; -} - -static float Clamp(float v, float min, float max) { - return (v < min) ? min : (v > max) ? max : v; -} - -static float ComputeNextQ(PassStats* const s) { - float dq; - if (s->is_first) { - dq = (s->value > s->target) ? -s->dq : s->dq; - s->is_first = 0; - } else if (s->value != s->last_value) { - const double slope = (s->target - s->value) / (s->last_value - s->value); - dq = (float)(slope * (s->last_q - s->q)); - } else { - dq = 0.; // we're done?! - } - // Limit variable to avoid large swings. - s->dq = Clamp(dq, -30.f, 30.f); - s->last_q = s->q; - s->last_value = s->value; - s->q = Clamp(s->q + s->dq, 0.f, 100.f); - return s->q; -} - -//------------------------------------------------------------------------------ -// Tables for level coding - -const uint8_t VP8Cat3[] = { 173, 148, 140 }; -const uint8_t VP8Cat4[] = { 176, 155, 140, 135 }; -const uint8_t VP8Cat5[] = { 180, 157, 141, 134, 130 }; -const uint8_t VP8Cat6[] = - { 254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129 }; - -//------------------------------------------------------------------------------ -// Reset the statistics about: number of skips, token proba, level cost,... - -static void ResetStats(VP8Encoder* const enc) { - VP8EncProba* const proba = &enc->proba_; - VP8CalculateLevelCosts(proba); - proba->nb_skip_ = 0; -} - -//------------------------------------------------------------------------------ -// Skip decision probability - -#define SKIP_PROBA_THRESHOLD 250 // value below which using skip_proba is OK. - -static int CalcSkipProba(uint64_t nb, uint64_t total) { - return (int)(total ? (total - nb) * 255 / total : 255); -} - -// Returns the bit-cost for coding the skip probability. -static int FinalizeSkipProba(VP8Encoder* const enc) { - VP8EncProba* const proba = &enc->proba_; - const int nb_mbs = enc->mb_w_ * enc->mb_h_; - const int nb_events = proba->nb_skip_; - int size; - proba->skip_proba_ = CalcSkipProba(nb_events, nb_mbs); - proba->use_skip_proba_ = (proba->skip_proba_ < SKIP_PROBA_THRESHOLD); - size = 256; // 'use_skip_proba' bit - if (proba->use_skip_proba_) { - size += nb_events * VP8BitCost(1, proba->skip_proba_) - + (nb_mbs - nb_events) * VP8BitCost(0, proba->skip_proba_); - size += 8 * 256; // cost of signaling the skip_proba_ itself. - } - return size; -} - -// Collect statistics and deduce probabilities for next coding pass. -// Return the total bit-cost for coding the probability updates. -static int CalcTokenProba(int nb, int total) { - assert(nb <= total); - return nb ? (255 - nb * 255 / total) : 255; -} - -// Cost of coding 'nb' 1's and 'total-nb' 0's using 'proba' probability. -static int BranchCost(int nb, int total, int proba) { - return nb * VP8BitCost(1, proba) + (total - nb) * VP8BitCost(0, proba); -} - -static void ResetTokenStats(VP8Encoder* const enc) { - VP8EncProba* const proba = &enc->proba_; - memset(proba->stats_, 0, sizeof(proba->stats_)); -} - -static int FinalizeTokenProbas(VP8EncProba* const proba) { - int has_changed = 0; - int size = 0; - int t, b, c, p; - for (t = 0; t < NUM_TYPES; ++t) { - for (b = 0; b < NUM_BANDS; ++b) { - for (c = 0; c < NUM_CTX; ++c) { - for (p = 0; p < NUM_PROBAS; ++p) { - const proba_t stats = proba->stats_[t][b][c][p]; - const int nb = (stats >> 0) & 0xffff; - const int total = (stats >> 16) & 0xffff; - const int update_proba = VP8CoeffsUpdateProba[t][b][c][p]; - const int old_p = VP8CoeffsProba0[t][b][c][p]; - const int new_p = CalcTokenProba(nb, total); - const int old_cost = BranchCost(nb, total, old_p) - + VP8BitCost(0, update_proba); - const int new_cost = BranchCost(nb, total, new_p) - + VP8BitCost(1, update_proba) - + 8 * 256; - const int use_new_p = (old_cost > new_cost); - size += VP8BitCost(use_new_p, update_proba); - if (use_new_p) { // only use proba that seem meaningful enough. - proba->coeffs_[t][b][c][p] = new_p; - has_changed |= (new_p != old_p); - size += 8 * 256; - } else { - proba->coeffs_[t][b][c][p] = old_p; - } - } - } - } - } - proba->dirty_ = has_changed; - return size; -} - -//------------------------------------------------------------------------------ -// Finalize Segment probability based on the coding tree - -static int GetProba(int a, int b) { - const int total = a + b; - return (total == 0) ? 255 // that's the default probability. - : (255 * a + total / 2) / total; // rounded proba -} - -static void ResetSegments(VP8Encoder* const enc) { - int n; - for (n = 0; n < enc->mb_w_ * enc->mb_h_; ++n) { - enc->mb_info_[n].segment_ = 0; - } -} - -static void SetSegmentProbas(VP8Encoder* const enc) { - int p[NUM_MB_SEGMENTS] = { 0 }; - int n; - - for (n = 0; n < enc->mb_w_ * enc->mb_h_; ++n) { - const VP8MBInfo* const mb = &enc->mb_info_[n]; - ++p[mb->segment_]; - } -#if !defined(WEBP_DISABLE_STATS) - if (enc->pic_->stats != NULL) { - for (n = 0; n < NUM_MB_SEGMENTS; ++n) { - enc->pic_->stats->segment_size[n] = p[n]; - } - } -#endif - if (enc->segment_hdr_.num_segments_ > 1) { - uint8_t* const probas = enc->proba_.segments_; - probas[0] = GetProba(p[0] + p[1], p[2] + p[3]); - probas[1] = GetProba(p[0], p[1]); - probas[2] = GetProba(p[2], p[3]); - - enc->segment_hdr_.update_map_ = - (probas[0] != 255) || (probas[1] != 255) || (probas[2] != 255); - if (!enc->segment_hdr_.update_map_) ResetSegments(enc); - enc->segment_hdr_.size_ = - p[0] * (VP8BitCost(0, probas[0]) + VP8BitCost(0, probas[1])) + - p[1] * (VP8BitCost(0, probas[0]) + VP8BitCost(1, probas[1])) + - p[2] * (VP8BitCost(1, probas[0]) + VP8BitCost(0, probas[2])) + - p[3] * (VP8BitCost(1, probas[0]) + VP8BitCost(1, probas[2])); - } else { - enc->segment_hdr_.update_map_ = 0; - enc->segment_hdr_.size_ = 0; - } -} - -//------------------------------------------------------------------------------ -// Coefficient coding - -static int PutCoeffs(VP8BitWriter* const bw, int ctx, const VP8Residual* res) { - int n = res->first; - // should be prob[VP8EncBands[n]], but it's equivalent for n=0 or 1 - const uint8_t* p = res->prob[n][ctx]; - if (!VP8PutBit(bw, res->last >= 0, p[0])) { - return 0; - } - - while (n < 16) { - const int c = res->coeffs[n++]; - const int sign = c < 0; - int v = sign ? -c : c; - if (!VP8PutBit(bw, v != 0, p[1])) { - p = res->prob[VP8EncBands[n]][0]; - continue; - } - if (!VP8PutBit(bw, v > 1, p[2])) { - p = res->prob[VP8EncBands[n]][1]; - } else { - if (!VP8PutBit(bw, v > 4, p[3])) { - if (VP8PutBit(bw, v != 2, p[4])) { - VP8PutBit(bw, v == 4, p[5]); - } - } else if (!VP8PutBit(bw, v > 10, p[6])) { - if (!VP8PutBit(bw, v > 6, p[7])) { - VP8PutBit(bw, v == 6, 159); - } else { - VP8PutBit(bw, v >= 9, 165); - VP8PutBit(bw, !(v & 1), 145); - } - } else { - int mask; - const uint8_t* tab; - if (v < 3 + (8 << 1)) { // VP8Cat3 (3b) - VP8PutBit(bw, 0, p[8]); - VP8PutBit(bw, 0, p[9]); - v -= 3 + (8 << 0); - mask = 1 << 2; - tab = VP8Cat3; - } else if (v < 3 + (8 << 2)) { // VP8Cat4 (4b) - VP8PutBit(bw, 0, p[8]); - VP8PutBit(bw, 1, p[9]); - v -= 3 + (8 << 1); - mask = 1 << 3; - tab = VP8Cat4; - } else if (v < 3 + (8 << 3)) { // VP8Cat5 (5b) - VP8PutBit(bw, 1, p[8]); - VP8PutBit(bw, 0, p[10]); - v -= 3 + (8 << 2); - mask = 1 << 4; - tab = VP8Cat5; - } else { // VP8Cat6 (11b) - VP8PutBit(bw, 1, p[8]); - VP8PutBit(bw, 1, p[10]); - v -= 3 + (8 << 3); - mask = 1 << 10; - tab = VP8Cat6; - } - while (mask) { - VP8PutBit(bw, !!(v & mask), *tab++); - mask >>= 1; - } - } - p = res->prob[VP8EncBands[n]][2]; - } - VP8PutBitUniform(bw, sign); - if (n == 16 || !VP8PutBit(bw, n <= res->last, p[0])) { - return 1; // EOB - } - } - return 1; -} - -static void CodeResiduals(VP8BitWriter* const bw, VP8EncIterator* const it, - const VP8ModeScore* const rd) { - int x, y, ch; - VP8Residual res; - uint64_t pos1, pos2, pos3; - const int i16 = (it->mb_->type_ == 1); - const int segment = it->mb_->segment_; - VP8Encoder* const enc = it->enc_; - - VP8IteratorNzToBytes(it); - - pos1 = VP8BitWriterPos(bw); - if (i16) { - VP8InitResidual(0, 1, enc, &res); - VP8SetResidualCoeffs(rd->y_dc_levels, &res); - it->top_nz_[8] = it->left_nz_[8] = - PutCoeffs(bw, it->top_nz_[8] + it->left_nz_[8], &res); - VP8InitResidual(1, 0, enc, &res); - } else { - VP8InitResidual(0, 3, enc, &res); - } - - // luma-AC - for (y = 0; y < 4; ++y) { - for (x = 0; x < 4; ++x) { - const int ctx = it->top_nz_[x] + it->left_nz_[y]; - VP8SetResidualCoeffs(rd->y_ac_levels[x + y * 4], &res); - it->top_nz_[x] = it->left_nz_[y] = PutCoeffs(bw, ctx, &res); - } - } - pos2 = VP8BitWriterPos(bw); - - // U/V - VP8InitResidual(0, 2, enc, &res); - for (ch = 0; ch <= 2; ch += 2) { - for (y = 0; y < 2; ++y) { - for (x = 0; x < 2; ++x) { - const int ctx = it->top_nz_[4 + ch + x] + it->left_nz_[4 + ch + y]; - VP8SetResidualCoeffs(rd->uv_levels[ch * 2 + x + y * 2], &res); - it->top_nz_[4 + ch + x] = it->left_nz_[4 + ch + y] = - PutCoeffs(bw, ctx, &res); - } - } - } - pos3 = VP8BitWriterPos(bw); - it->luma_bits_ = pos2 - pos1; - it->uv_bits_ = pos3 - pos2; - it->bit_count_[segment][i16] += it->luma_bits_; - it->bit_count_[segment][2] += it->uv_bits_; - VP8IteratorBytesToNz(it); -} - -// Same as CodeResiduals, but doesn't actually write anything. -// Instead, it just records the event distribution. -static void RecordResiduals(VP8EncIterator* const it, - const VP8ModeScore* const rd) { - int x, y, ch; - VP8Residual res; - VP8Encoder* const enc = it->enc_; - - VP8IteratorNzToBytes(it); - - if (it->mb_->type_ == 1) { // i16x16 - VP8InitResidual(0, 1, enc, &res); - VP8SetResidualCoeffs(rd->y_dc_levels, &res); - it->top_nz_[8] = it->left_nz_[8] = - VP8RecordCoeffs(it->top_nz_[8] + it->left_nz_[8], &res); - VP8InitResidual(1, 0, enc, &res); - } else { - VP8InitResidual(0, 3, enc, &res); - } - - // luma-AC - for (y = 0; y < 4; ++y) { - for (x = 0; x < 4; ++x) { - const int ctx = it->top_nz_[x] + it->left_nz_[y]; - VP8SetResidualCoeffs(rd->y_ac_levels[x + y * 4], &res); - it->top_nz_[x] = it->left_nz_[y] = VP8RecordCoeffs(ctx, &res); - } - } - - // U/V - VP8InitResidual(0, 2, enc, &res); - for (ch = 0; ch <= 2; ch += 2) { - for (y = 0; y < 2; ++y) { - for (x = 0; x < 2; ++x) { - const int ctx = it->top_nz_[4 + ch + x] + it->left_nz_[4 + ch + y]; - VP8SetResidualCoeffs(rd->uv_levels[ch * 2 + x + y * 2], &res); - it->top_nz_[4 + ch + x] = it->left_nz_[4 + ch + y] = - VP8RecordCoeffs(ctx, &res); - } - } - } - - VP8IteratorBytesToNz(it); -} - -//------------------------------------------------------------------------------ -// Token buffer - -#if !defined(DISABLE_TOKEN_BUFFER) - -static int RecordTokens(VP8EncIterator* const it, const VP8ModeScore* const rd, - VP8TBuffer* const tokens) { - int x, y, ch; - VP8Residual res; - VP8Encoder* const enc = it->enc_; - - VP8IteratorNzToBytes(it); - if (it->mb_->type_ == 1) { // i16x16 - const int ctx = it->top_nz_[8] + it->left_nz_[8]; - VP8InitResidual(0, 1, enc, &res); - VP8SetResidualCoeffs(rd->y_dc_levels, &res); - it->top_nz_[8] = it->left_nz_[8] = - VP8RecordCoeffTokens(ctx, &res, tokens); - VP8InitResidual(1, 0, enc, &res); - } else { - VP8InitResidual(0, 3, enc, &res); - } - - // luma-AC - for (y = 0; y < 4; ++y) { - for (x = 0; x < 4; ++x) { - const int ctx = it->top_nz_[x] + it->left_nz_[y]; - VP8SetResidualCoeffs(rd->y_ac_levels[x + y * 4], &res); - it->top_nz_[x] = it->left_nz_[y] = - VP8RecordCoeffTokens(ctx, &res, tokens); - } - } - - // U/V - VP8InitResidual(0, 2, enc, &res); - for (ch = 0; ch <= 2; ch += 2) { - for (y = 0; y < 2; ++y) { - for (x = 0; x < 2; ++x) { - const int ctx = it->top_nz_[4 + ch + x] + it->left_nz_[4 + ch + y]; - VP8SetResidualCoeffs(rd->uv_levels[ch * 2 + x + y * 2], &res); - it->top_nz_[4 + ch + x] = it->left_nz_[4 + ch + y] = - VP8RecordCoeffTokens(ctx, &res, tokens); - } - } - } - VP8IteratorBytesToNz(it); - return !tokens->error_; -} - -#endif // !DISABLE_TOKEN_BUFFER - -//------------------------------------------------------------------------------ -// ExtraInfo map / Debug function - -#if !defined(WEBP_DISABLE_STATS) - -#if SEGMENT_VISU -static void SetBlock(uint8_t* p, int value, int size) { - int y; - for (y = 0; y < size; ++y) { - memset(p, value, size); - p += BPS; - } -} -#endif - -static void ResetSSE(VP8Encoder* const enc) { - enc->sse_[0] = 0; - enc->sse_[1] = 0; - enc->sse_[2] = 0; - // Note: enc->sse_[3] is managed by alpha.c - enc->sse_count_ = 0; -} - -static void StoreSSE(const VP8EncIterator* const it) { - VP8Encoder* const enc = it->enc_; - const uint8_t* const in = it->yuv_in_; - const uint8_t* const out = it->yuv_out_; - // Note: not totally accurate at boundary. And doesn't include in-loop filter. - enc->sse_[0] += VP8SSE16x16(in + Y_OFF_ENC, out + Y_OFF_ENC); - enc->sse_[1] += VP8SSE8x8(in + U_OFF_ENC, out + U_OFF_ENC); - enc->sse_[2] += VP8SSE8x8(in + V_OFF_ENC, out + V_OFF_ENC); - enc->sse_count_ += 16 * 16; -} - -static void StoreSideInfo(const VP8EncIterator* const it) { - VP8Encoder* const enc = it->enc_; - const VP8MBInfo* const mb = it->mb_; - WebPPicture* const pic = enc->pic_; - - if (pic->stats != NULL) { - StoreSSE(it); - enc->block_count_[0] += (mb->type_ == 0); - enc->block_count_[1] += (mb->type_ == 1); - enc->block_count_[2] += (mb->skip_ != 0); - } - - if (pic->extra_info != NULL) { - uint8_t* const info = &pic->extra_info[it->x_ + it->y_ * enc->mb_w_]; - switch (pic->extra_info_type) { - case 1: *info = mb->type_; break; - case 2: *info = mb->segment_; break; - case 3: *info = enc->dqm_[mb->segment_].quant_; break; - case 4: *info = (mb->type_ == 1) ? it->preds_[0] : 0xff; break; - case 5: *info = mb->uv_mode_; break; - case 6: { - const int b = (int)((it->luma_bits_ + it->uv_bits_ + 7) >> 3); - *info = (b > 255) ? 255 : b; break; - } - case 7: *info = mb->alpha_; break; - default: *info = 0; break; - } - } -#if SEGMENT_VISU // visualize segments and prediction modes - SetBlock(it->yuv_out_ + Y_OFF_ENC, mb->segment_ * 64, 16); - SetBlock(it->yuv_out_ + U_OFF_ENC, it->preds_[0] * 64, 8); - SetBlock(it->yuv_out_ + V_OFF_ENC, mb->uv_mode_ * 64, 8); -#endif -} - -static void ResetSideInfo(const VP8EncIterator* const it) { - VP8Encoder* const enc = it->enc_; - WebPPicture* const pic = enc->pic_; - if (pic->stats != NULL) { - memset(enc->block_count_, 0, sizeof(enc->block_count_)); - } - ResetSSE(enc); -} -#else // defined(WEBP_DISABLE_STATS) -static void ResetSSE(VP8Encoder* const enc) { - (void)enc; -} -static void StoreSideInfo(const VP8EncIterator* const it) { - VP8Encoder* const enc = it->enc_; - WebPPicture* const pic = enc->pic_; - if (pic->extra_info != NULL) { - if (it->x_ == 0 && it->y_ == 0) { // only do it once, at start - memset(pic->extra_info, 0, - enc->mb_w_ * enc->mb_h_ * sizeof(*pic->extra_info)); - } - } -} - -static void ResetSideInfo(const VP8EncIterator* const it) { - (void)it; -} -#endif // !defined(WEBP_DISABLE_STATS) - -static double GetPSNR(uint64_t mse, uint64_t size) { - return (mse > 0 && size > 0) ? 10. * log10(255. * 255. * size / mse) : 99; -} - -//------------------------------------------------------------------------------ -// StatLoop(): only collect statistics (number of skips, token usage, ...). -// This is used for deciding optimal probabilities. It also modifies the -// quantizer value if some target (size, PSNR) was specified. - -static void SetLoopParams(VP8Encoder* const enc, float q) { - // Make sure the quality parameter is inside valid bounds - q = Clamp(q, 0.f, 100.f); - - VP8SetSegmentParams(enc, q); // setup segment quantizations and filters - SetSegmentProbas(enc); // compute segment probabilities - - ResetStats(enc); - ResetSSE(enc); -} - -static uint64_t OneStatPass(VP8Encoder* const enc, VP8RDLevel rd_opt, - int nb_mbs, int percent_delta, - PassStats* const s) { - VP8EncIterator it; - uint64_t size = 0; - uint64_t size_p0 = 0; - uint64_t distortion = 0; - const uint64_t pixel_count = nb_mbs * 384; - - VP8IteratorInit(enc, &it); - SetLoopParams(enc, s->q); - do { - VP8ModeScore info; - VP8IteratorImport(&it, NULL); - if (VP8Decimate(&it, &info, rd_opt)) { - // Just record the number of skips and act like skip_proba is not used. - ++enc->proba_.nb_skip_; - } - RecordResiduals(&it, &info); - size += info.R + info.H; - size_p0 += info.H; - distortion += info.D; - if (percent_delta && !VP8IteratorProgress(&it, percent_delta)) { - return 0; - } - VP8IteratorSaveBoundary(&it); - } while (VP8IteratorNext(&it) && --nb_mbs > 0); - - size_p0 += enc->segment_hdr_.size_; - if (s->do_size_search) { - size += FinalizeSkipProba(enc); - size += FinalizeTokenProbas(&enc->proba_); - size = ((size + size_p0 + 1024) >> 11) + HEADER_SIZE_ESTIMATE; - s->value = (double)size; - } else { - s->value = GetPSNR(distortion, pixel_count); - } - return size_p0; -} - -static int StatLoop(VP8Encoder* const enc) { - const int method = enc->method_; - const int do_search = enc->do_search_; - const int fast_probe = ((method == 0 || method == 3) && !do_search); - int num_pass_left = enc->config_->pass; - const int task_percent = 20; - const int percent_per_pass = - (task_percent + num_pass_left / 2) / num_pass_left; - const int final_percent = enc->percent_ + task_percent; - const VP8RDLevel rd_opt = - (method >= 3 || do_search) ? RD_OPT_BASIC : RD_OPT_NONE; - int nb_mbs = enc->mb_w_ * enc->mb_h_; - PassStats stats; - - InitPassStats(enc, &stats); - ResetTokenStats(enc); - - // Fast mode: quick analysis pass over few mbs. Better than nothing. - if (fast_probe) { - if (method == 3) { // we need more stats for method 3 to be reliable. - nb_mbs = (nb_mbs > 200) ? nb_mbs >> 1 : 100; - } else { - nb_mbs = (nb_mbs > 200) ? nb_mbs >> 2 : 50; - } - } - - while (num_pass_left-- > 0) { - const int is_last_pass = (fabs(stats.dq) <= DQ_LIMIT) || - (num_pass_left == 0) || - (enc->max_i4_header_bits_ == 0); - const uint64_t size_p0 = - OneStatPass(enc, rd_opt, nb_mbs, percent_per_pass, &stats); - if (size_p0 == 0) return 0; -#if (DEBUG_SEARCH > 0) - printf("#%d value:%.1lf -> %.1lf q:%.2f -> %.2f\n", - num_pass_left, stats.last_value, stats.value, stats.last_q, stats.q); -#endif - if (enc->max_i4_header_bits_ > 0 && size_p0 > PARTITION0_SIZE_LIMIT) { - ++num_pass_left; - enc->max_i4_header_bits_ >>= 1; // strengthen header bit limitation... - continue; // ...and start over - } - if (is_last_pass) { - break; - } - // If no target size: just do several pass without changing 'q' - if (do_search) { - ComputeNextQ(&stats); - if (fabs(stats.dq) <= DQ_LIMIT) break; - } - } - if (!do_search || !stats.do_size_search) { - // Need to finalize probas now, since it wasn't done during the search. - FinalizeSkipProba(enc); - FinalizeTokenProbas(&enc->proba_); - } - VP8CalculateLevelCosts(&enc->proba_); // finalize costs - return WebPReportProgress(enc->pic_, final_percent, &enc->percent_); -} - -//------------------------------------------------------------------------------ -// Main loops -// - -static const uint8_t kAverageBytesPerMB[8] = { 50, 24, 16, 9, 7, 5, 3, 2 }; - -static int PreLoopInitialize(VP8Encoder* const enc) { - int p; - int ok = 1; - const int average_bytes_per_MB = kAverageBytesPerMB[enc->base_quant_ >> 4]; - const int bytes_per_parts = - enc->mb_w_ * enc->mb_h_ * average_bytes_per_MB / enc->num_parts_; - // Initialize the bit-writers - for (p = 0; ok && p < enc->num_parts_; ++p) { - ok = VP8BitWriterInit(enc->parts_ + p, bytes_per_parts); - } - if (!ok) { - VP8EncFreeBitWriters(enc); // malloc error occurred - WebPEncodingSetError(enc->pic_, VP8_ENC_ERROR_OUT_OF_MEMORY); - } - return ok; -} - -static int PostLoopFinalize(VP8EncIterator* const it, int ok) { - VP8Encoder* const enc = it->enc_; - if (ok) { // Finalize the partitions, check for extra errors. - int p; - for (p = 0; p < enc->num_parts_; ++p) { - VP8BitWriterFinish(enc->parts_ + p); - ok &= !enc->parts_[p].error_; - } - } - - if (ok) { // All good. Finish up. -#if !defined(WEBP_DISABLE_STATS) - if (enc->pic_->stats != NULL) { // finalize byte counters... - int i, s; - for (i = 0; i <= 2; ++i) { - for (s = 0; s < NUM_MB_SEGMENTS; ++s) { - enc->residual_bytes_[i][s] = (int)((it->bit_count_[s][i] + 7) >> 3); - } - } - } -#endif - VP8AdjustFilterStrength(it); // ...and store filter stats. - } else { - // Something bad happened -> need to do some memory cleanup. - VP8EncFreeBitWriters(enc); - } - return ok; -} - -//------------------------------------------------------------------------------ -// VP8EncLoop(): does the final bitstream coding. - -static void ResetAfterSkip(VP8EncIterator* const it) { - if (it->mb_->type_ == 1) { - *it->nz_ = 0; // reset all predictors - it->left_nz_[8] = 0; - } else { - *it->nz_ &= (1 << 24); // preserve the dc_nz bit - } -} - -int VP8EncLoop(VP8Encoder* const enc) { - VP8EncIterator it; - int ok = PreLoopInitialize(enc); - if (!ok) return 0; - - StatLoop(enc); // stats-collection loop - - VP8IteratorInit(enc, &it); - VP8InitFilter(&it); - do { - VP8ModeScore info; - const int dont_use_skip = !enc->proba_.use_skip_proba_; - const VP8RDLevel rd_opt = enc->rd_opt_level_; - - VP8IteratorImport(&it, NULL); - // Warning! order is important: first call VP8Decimate() and - // *then* decide how to code the skip decision if there's one. - if (!VP8Decimate(&it, &info, rd_opt) || dont_use_skip) { - CodeResiduals(it.bw_, &it, &info); - } else { // reset predictors after a skip - ResetAfterSkip(&it); - } - StoreSideInfo(&it); - VP8StoreFilterStats(&it); - VP8IteratorExport(&it); - ok = VP8IteratorProgress(&it, 20); - VP8IteratorSaveBoundary(&it); - } while (ok && VP8IteratorNext(&it)); - - return PostLoopFinalize(&it, ok); -} - -//------------------------------------------------------------------------------ -// Single pass using Token Buffer. - -#if !defined(DISABLE_TOKEN_BUFFER) - -#define MIN_COUNT 96 // minimum number of macroblocks before updating stats - -int VP8EncTokenLoop(VP8Encoder* const enc) { - // Roughly refresh the proba eight times per pass - int max_count = (enc->mb_w_ * enc->mb_h_) >> 3; - int num_pass_left = enc->config_->pass; - const int do_search = enc->do_search_; - VP8EncIterator it; - VP8EncProba* const proba = &enc->proba_; - const VP8RDLevel rd_opt = enc->rd_opt_level_; - const uint64_t pixel_count = enc->mb_w_ * enc->mb_h_ * 384; - PassStats stats; - int ok; - - InitPassStats(enc, &stats); - ok = PreLoopInitialize(enc); - if (!ok) return 0; - - if (max_count < MIN_COUNT) max_count = MIN_COUNT; - - assert(enc->num_parts_ == 1); - assert(enc->use_tokens_); - assert(proba->use_skip_proba_ == 0); - assert(rd_opt >= RD_OPT_BASIC); // otherwise, token-buffer won't be useful - assert(num_pass_left > 0); - - while (ok && num_pass_left-- > 0) { - const int is_last_pass = (fabs(stats.dq) <= DQ_LIMIT) || - (num_pass_left == 0) || - (enc->max_i4_header_bits_ == 0); - uint64_t size_p0 = 0; - uint64_t distortion = 0; - int cnt = max_count; - VP8IteratorInit(enc, &it); - SetLoopParams(enc, stats.q); - if (is_last_pass) { - ResetTokenStats(enc); - VP8InitFilter(&it); // don't collect stats until last pass (too costly) - } - VP8TBufferClear(&enc->tokens_); - do { - VP8ModeScore info; - VP8IteratorImport(&it, NULL); - if (--cnt < 0) { - FinalizeTokenProbas(proba); - VP8CalculateLevelCosts(proba); // refresh cost tables for rd-opt - cnt = max_count; - } - VP8Decimate(&it, &info, rd_opt); - ok = RecordTokens(&it, &info, &enc->tokens_); - if (!ok) { - WebPEncodingSetError(enc->pic_, VP8_ENC_ERROR_OUT_OF_MEMORY); - break; - } - size_p0 += info.H; - distortion += info.D; - if (is_last_pass) { - StoreSideInfo(&it); - VP8StoreFilterStats(&it); - VP8IteratorExport(&it); - ok = VP8IteratorProgress(&it, 20); - } - VP8IteratorSaveBoundary(&it); - } while (ok && VP8IteratorNext(&it)); - if (!ok) break; - - size_p0 += enc->segment_hdr_.size_; - if (stats.do_size_search) { - uint64_t size = FinalizeTokenProbas(&enc->proba_); - size += VP8EstimateTokenSize(&enc->tokens_, - (const uint8_t*)proba->coeffs_); - size = (size + size_p0 + 1024) >> 11; // -> size in bytes - size += HEADER_SIZE_ESTIMATE; - stats.value = (double)size; - } else { // compute and store PSNR - stats.value = GetPSNR(distortion, pixel_count); - } - -#if (DEBUG_SEARCH > 0) - printf("#%2d metric:%.1lf -> %.1lf last_q=%.2lf q=%.2lf dq=%.2lf\n", - num_pass_left, stats.last_value, stats.value, - stats.last_q, stats.q, stats.dq); -#endif - if (enc->max_i4_header_bits_ > 0 && size_p0 > PARTITION0_SIZE_LIMIT) { - ++num_pass_left; - enc->max_i4_header_bits_ >>= 1; // strengthen header bit limitation... - if (is_last_pass) { - ResetSideInfo(&it); - } - continue; // ...and start over - } - if (is_last_pass) { - break; // done - } - if (do_search) { - ComputeNextQ(&stats); // Adjust q - } - } - if (ok) { - if (!stats.do_size_search) { - FinalizeTokenProbas(&enc->proba_); - } - ok = VP8EmitTokens(&enc->tokens_, enc->parts_ + 0, - (const uint8_t*)proba->coeffs_, 1); - } - ok = ok && WebPReportProgress(enc->pic_, enc->percent_ + 20, &enc->percent_); - return PostLoopFinalize(&it, ok); -} - -#else - -int VP8EncTokenLoop(VP8Encoder* const enc) { - (void)enc; - return 0; // we shouldn't be here. -} - -#endif // DISABLE_TOKEN_BUFFER - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/histogram_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/histogram_enc.c deleted file mode 100644 index a4e6bf3a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/histogram_enc.c +++ /dev/null @@ -1,1249 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Jyrki Alakuijala (jyrki@google.com) -// -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#include - -#include "src/enc/backward_references_enc.h" -#include "src/enc/histogram_enc.h" -#include "src/dsp/lossless.h" -#include "src/dsp/lossless_common.h" -#include "src/utils/utils.h" - -#define MAX_COST 1.e38 - -// Number of partitions for the three dominant (literal, red and blue) symbol -// costs. -#define NUM_PARTITIONS 4 -// The size of the bin-hash corresponding to the three dominant costs. -#define BIN_SIZE (NUM_PARTITIONS * NUM_PARTITIONS * NUM_PARTITIONS) -// Maximum number of histograms allowed in greedy combining algorithm. -#define MAX_HISTO_GREEDY 100 - -static void HistogramClear(VP8LHistogram* const p) { - uint32_t* const literal = p->literal_; - const int cache_bits = p->palette_code_bits_; - const int histo_size = VP8LGetHistogramSize(cache_bits); - memset(p, 0, histo_size); - p->palette_code_bits_ = cache_bits; - p->literal_ = literal; -} - -// Swap two histogram pointers. -static void HistogramSwap(VP8LHistogram** const A, VP8LHistogram** const B) { - VP8LHistogram* const tmp = *A; - *A = *B; - *B = tmp; -} - -static void HistogramCopy(const VP8LHistogram* const src, - VP8LHistogram* const dst) { - uint32_t* const dst_literal = dst->literal_; - const int dst_cache_bits = dst->palette_code_bits_; - const int literal_size = VP8LHistogramNumCodes(dst_cache_bits); - const int histo_size = VP8LGetHistogramSize(dst_cache_bits); - assert(src->palette_code_bits_ == dst_cache_bits); - memcpy(dst, src, histo_size); - dst->literal_ = dst_literal; - memcpy(dst->literal_, src->literal_, literal_size * sizeof(*dst->literal_)); -} - -int VP8LGetHistogramSize(int cache_bits) { - const int literal_size = VP8LHistogramNumCodes(cache_bits); - const size_t total_size = sizeof(VP8LHistogram) + sizeof(int) * literal_size; - assert(total_size <= (size_t)0x7fffffff); - return (int)total_size; -} - -void VP8LFreeHistogram(VP8LHistogram* const histo) { - WebPSafeFree(histo); -} - -void VP8LFreeHistogramSet(VP8LHistogramSet* const histo) { - WebPSafeFree(histo); -} - -void VP8LHistogramStoreRefs(const VP8LBackwardRefs* const refs, - VP8LHistogram* const histo) { - VP8LRefsCursor c = VP8LRefsCursorInit(refs); - while (VP8LRefsCursorOk(&c)) { - VP8LHistogramAddSinglePixOrCopy(histo, c.cur_pos, NULL, 0); - VP8LRefsCursorNext(&c); - } -} - -void VP8LHistogramCreate(VP8LHistogram* const p, - const VP8LBackwardRefs* const refs, - int palette_code_bits) { - if (palette_code_bits >= 0) { - p->palette_code_bits_ = palette_code_bits; - } - HistogramClear(p); - VP8LHistogramStoreRefs(refs, p); -} - -void VP8LHistogramInit(VP8LHistogram* const p, int palette_code_bits, - int init_arrays) { - p->palette_code_bits_ = palette_code_bits; - if (init_arrays) { - HistogramClear(p); - } else { - p->trivial_symbol_ = 0; - p->bit_cost_ = 0.; - p->literal_cost_ = 0.; - p->red_cost_ = 0.; - p->blue_cost_ = 0.; - memset(p->is_used_, 0, sizeof(p->is_used_)); - } -} - -VP8LHistogram* VP8LAllocateHistogram(int cache_bits) { - VP8LHistogram* histo = NULL; - const int total_size = VP8LGetHistogramSize(cache_bits); - uint8_t* const memory = (uint8_t*)WebPSafeMalloc(total_size, sizeof(*memory)); - if (memory == NULL) return NULL; - histo = (VP8LHistogram*)memory; - // literal_ won't necessary be aligned. - histo->literal_ = (uint32_t*)(memory + sizeof(VP8LHistogram)); - VP8LHistogramInit(histo, cache_bits, /*init_arrays=*/ 0); - return histo; -} - -// Resets the pointers of the histograms to point to the bit buffer in the set. -static void HistogramSetResetPointers(VP8LHistogramSet* const set, - int cache_bits) { - int i; - const int histo_size = VP8LGetHistogramSize(cache_bits); - uint8_t* memory = (uint8_t*) (set->histograms); - memory += set->max_size * sizeof(*set->histograms); - for (i = 0; i < set->max_size; ++i) { - memory = (uint8_t*) WEBP_ALIGN(memory); - set->histograms[i] = (VP8LHistogram*) memory; - // literal_ won't necessary be aligned. - set->histograms[i]->literal_ = (uint32_t*)(memory + sizeof(VP8LHistogram)); - memory += histo_size; - } -} - -// Returns the total size of the VP8LHistogramSet. -static size_t HistogramSetTotalSize(int size, int cache_bits) { - const int histo_size = VP8LGetHistogramSize(cache_bits); - return (sizeof(VP8LHistogramSet) + size * (sizeof(VP8LHistogram*) + - histo_size + WEBP_ALIGN_CST)); -} - -VP8LHistogramSet* VP8LAllocateHistogramSet(int size, int cache_bits) { - int i; - VP8LHistogramSet* set; - const size_t total_size = HistogramSetTotalSize(size, cache_bits); - uint8_t* memory = (uint8_t*)WebPSafeMalloc(total_size, sizeof(*memory)); - if (memory == NULL) return NULL; - - set = (VP8LHistogramSet*)memory; - memory += sizeof(*set); - set->histograms = (VP8LHistogram**)memory; - set->max_size = size; - set->size = size; - HistogramSetResetPointers(set, cache_bits); - for (i = 0; i < size; ++i) { - VP8LHistogramInit(set->histograms[i], cache_bits, /*init_arrays=*/ 0); - } - return set; -} - -void VP8LHistogramSetClear(VP8LHistogramSet* const set) { - int i; - const int cache_bits = set->histograms[0]->palette_code_bits_; - const int size = set->max_size; - const size_t total_size = HistogramSetTotalSize(size, cache_bits); - uint8_t* memory = (uint8_t*)set; - - memset(memory, 0, total_size); - memory += sizeof(*set); - set->histograms = (VP8LHistogram**)memory; - set->max_size = size; - set->size = size; - HistogramSetResetPointers(set, cache_bits); - for (i = 0; i < size; ++i) { - set->histograms[i]->palette_code_bits_ = cache_bits; - } -} - -// Removes the histogram 'i' from 'set' by setting it to NULL. -static void HistogramSetRemoveHistogram(VP8LHistogramSet* const set, int i, - int* const num_used) { - assert(set->histograms[i] != NULL); - set->histograms[i] = NULL; - --*num_used; - // If we remove the last valid one, shrink until the next valid one. - if (i == set->size - 1) { - while (set->size >= 1 && set->histograms[set->size - 1] == NULL) { - --set->size; - } - } -} - -// ----------------------------------------------------------------------------- - -void VP8LHistogramAddSinglePixOrCopy(VP8LHistogram* const histo, - const PixOrCopy* const v, - int (*const distance_modifier)(int, int), - int distance_modifier_arg0) { - if (PixOrCopyIsLiteral(v)) { - ++histo->alpha_[PixOrCopyLiteral(v, 3)]; - ++histo->red_[PixOrCopyLiteral(v, 2)]; - ++histo->literal_[PixOrCopyLiteral(v, 1)]; - ++histo->blue_[PixOrCopyLiteral(v, 0)]; - } else if (PixOrCopyIsCacheIdx(v)) { - const int literal_ix = - NUM_LITERAL_CODES + NUM_LENGTH_CODES + PixOrCopyCacheIdx(v); - ++histo->literal_[literal_ix]; - } else { - int code, extra_bits; - VP8LPrefixEncodeBits(PixOrCopyLength(v), &code, &extra_bits); - ++histo->literal_[NUM_LITERAL_CODES + code]; - if (distance_modifier == NULL) { - VP8LPrefixEncodeBits(PixOrCopyDistance(v), &code, &extra_bits); - } else { - VP8LPrefixEncodeBits( - distance_modifier(distance_modifier_arg0, PixOrCopyDistance(v)), - &code, &extra_bits); - } - ++histo->distance_[code]; - } -} - -// ----------------------------------------------------------------------------- -// Entropy-related functions. - -static WEBP_INLINE double BitsEntropyRefine(const VP8LBitEntropy* entropy) { - double mix; - if (entropy->nonzeros < 5) { - if (entropy->nonzeros <= 1) { - return 0; - } - // Two symbols, they will be 0 and 1 in a Huffman code. - // Let's mix in a bit of entropy to favor good clustering when - // distributions of these are combined. - if (entropy->nonzeros == 2) { - return 0.99 * entropy->sum + 0.01 * entropy->entropy; - } - // No matter what the entropy says, we cannot be better than min_limit - // with Huffman coding. I am mixing a bit of entropy into the - // min_limit since it produces much better (~0.5 %) compression results - // perhaps because of better entropy clustering. - if (entropy->nonzeros == 3) { - mix = 0.95; - } else { - mix = 0.7; // nonzeros == 4. - } - } else { - mix = 0.627; - } - - { - double min_limit = 2 * entropy->sum - entropy->max_val; - min_limit = mix * min_limit + (1.0 - mix) * entropy->entropy; - return (entropy->entropy < min_limit) ? min_limit : entropy->entropy; - } -} - -double VP8LBitsEntropy(const uint32_t* const array, int n) { - VP8LBitEntropy entropy; - VP8LBitsEntropyUnrefined(array, n, &entropy); - - return BitsEntropyRefine(&entropy); -} - -static double InitialHuffmanCost(void) { - // Small bias because Huffman code length is typically not stored in - // full length. - static const int kHuffmanCodeOfHuffmanCodeSize = CODE_LENGTH_CODES * 3; - static const double kSmallBias = 9.1; - return kHuffmanCodeOfHuffmanCodeSize - kSmallBias; -} - -// Finalize the Huffman cost based on streak numbers and length type (<3 or >=3) -static double FinalHuffmanCost(const VP8LStreaks* const stats) { - // The constants in this function are experimental and got rounded from - // their original values in 1/8 when switched to 1/1024. - double retval = InitialHuffmanCost(); - // Second coefficient: Many zeros in the histogram are covered efficiently - // by a run-length encode. Originally 2/8. - retval += stats->counts[0] * 1.5625 + 0.234375 * stats->streaks[0][1]; - // Second coefficient: Constant values are encoded less efficiently, but still - // RLE'ed. Originally 6/8. - retval += stats->counts[1] * 2.578125 + 0.703125 * stats->streaks[1][1]; - // 0s are usually encoded more efficiently than non-0s. - // Originally 15/8. - retval += 1.796875 * stats->streaks[0][0]; - // Originally 26/8. - retval += 3.28125 * stats->streaks[1][0]; - return retval; -} - -// Get the symbol entropy for the distribution 'population'. -// Set 'trivial_sym', if there's only one symbol present in the distribution. -static double PopulationCost(const uint32_t* const population, int length, - uint32_t* const trivial_sym, - uint8_t* const is_used) { - VP8LBitEntropy bit_entropy; - VP8LStreaks stats; - VP8LGetEntropyUnrefined(population, length, &bit_entropy, &stats); - if (trivial_sym != NULL) { - *trivial_sym = (bit_entropy.nonzeros == 1) ? bit_entropy.nonzero_code - : VP8L_NON_TRIVIAL_SYM; - } - // The histogram is used if there is at least one non-zero streak. - *is_used = (stats.streaks[1][0] != 0 || stats.streaks[1][1] != 0); - - return BitsEntropyRefine(&bit_entropy) + FinalHuffmanCost(&stats); -} - -// trivial_at_end is 1 if the two histograms only have one element that is -// non-zero: both the zero-th one, or both the last one. -static WEBP_INLINE double GetCombinedEntropy(const uint32_t* const X, - const uint32_t* const Y, - int length, int is_X_used, - int is_Y_used, - int trivial_at_end) { - VP8LStreaks stats; - if (trivial_at_end) { - // This configuration is due to palettization that transforms an indexed - // pixel into 0xff000000 | (pixel << 8) in VP8LBundleColorMap. - // BitsEntropyRefine is 0 for histograms with only one non-zero value. - // Only FinalHuffmanCost needs to be evaluated. - memset(&stats, 0, sizeof(stats)); - // Deal with the non-zero value at index 0 or length-1. - stats.streaks[1][0] = 1; - // Deal with the following/previous zero streak. - stats.counts[0] = 1; - stats.streaks[0][1] = length - 1; - return FinalHuffmanCost(&stats); - } else { - VP8LBitEntropy bit_entropy; - if (is_X_used) { - if (is_Y_used) { - VP8LGetCombinedEntropyUnrefined(X, Y, length, &bit_entropy, &stats); - } else { - VP8LGetEntropyUnrefined(X, length, &bit_entropy, &stats); - } - } else { - if (is_Y_used) { - VP8LGetEntropyUnrefined(Y, length, &bit_entropy, &stats); - } else { - memset(&stats, 0, sizeof(stats)); - stats.counts[0] = 1; - stats.streaks[0][length > 3] = length; - VP8LBitEntropyInit(&bit_entropy); - } - } - - return BitsEntropyRefine(&bit_entropy) + FinalHuffmanCost(&stats); - } -} - -// Estimates the Entropy + Huffman + other block overhead size cost. -double VP8LHistogramEstimateBits(VP8LHistogram* const p) { - return - PopulationCost(p->literal_, VP8LHistogramNumCodes(p->palette_code_bits_), - NULL, &p->is_used_[0]) - + PopulationCost(p->red_, NUM_LITERAL_CODES, NULL, &p->is_used_[1]) - + PopulationCost(p->blue_, NUM_LITERAL_CODES, NULL, &p->is_used_[2]) - + PopulationCost(p->alpha_, NUM_LITERAL_CODES, NULL, &p->is_used_[3]) - + PopulationCost(p->distance_, NUM_DISTANCE_CODES, NULL, &p->is_used_[4]) - + VP8LExtraCost(p->literal_ + NUM_LITERAL_CODES, NUM_LENGTH_CODES) - + VP8LExtraCost(p->distance_, NUM_DISTANCE_CODES); -} - -// ----------------------------------------------------------------------------- -// Various histogram combine/cost-eval functions - -static int GetCombinedHistogramEntropy(const VP8LHistogram* const a, - const VP8LHistogram* const b, - double cost_threshold, - double* cost) { - const int palette_code_bits = a->palette_code_bits_; - int trivial_at_end = 0; - assert(a->palette_code_bits_ == b->palette_code_bits_); - *cost += GetCombinedEntropy(a->literal_, b->literal_, - VP8LHistogramNumCodes(palette_code_bits), - a->is_used_[0], b->is_used_[0], 0); - *cost += VP8LExtraCostCombined(a->literal_ + NUM_LITERAL_CODES, - b->literal_ + NUM_LITERAL_CODES, - NUM_LENGTH_CODES); - if (*cost > cost_threshold) return 0; - - if (a->trivial_symbol_ != VP8L_NON_TRIVIAL_SYM && - a->trivial_symbol_ == b->trivial_symbol_) { - // A, R and B are all 0 or 0xff. - const uint32_t color_a = (a->trivial_symbol_ >> 24) & 0xff; - const uint32_t color_r = (a->trivial_symbol_ >> 16) & 0xff; - const uint32_t color_b = (a->trivial_symbol_ >> 0) & 0xff; - if ((color_a == 0 || color_a == 0xff) && - (color_r == 0 || color_r == 0xff) && - (color_b == 0 || color_b == 0xff)) { - trivial_at_end = 1; - } - } - - *cost += - GetCombinedEntropy(a->red_, b->red_, NUM_LITERAL_CODES, a->is_used_[1], - b->is_used_[1], trivial_at_end); - if (*cost > cost_threshold) return 0; - - *cost += - GetCombinedEntropy(a->blue_, b->blue_, NUM_LITERAL_CODES, a->is_used_[2], - b->is_used_[2], trivial_at_end); - if (*cost > cost_threshold) return 0; - - *cost += - GetCombinedEntropy(a->alpha_, b->alpha_, NUM_LITERAL_CODES, - a->is_used_[3], b->is_used_[3], trivial_at_end); - if (*cost > cost_threshold) return 0; - - *cost += - GetCombinedEntropy(a->distance_, b->distance_, NUM_DISTANCE_CODES, - a->is_used_[4], b->is_used_[4], 0); - *cost += - VP8LExtraCostCombined(a->distance_, b->distance_, NUM_DISTANCE_CODES); - if (*cost > cost_threshold) return 0; - - return 1; -} - -static WEBP_INLINE void HistogramAdd(const VP8LHistogram* const a, - const VP8LHistogram* const b, - VP8LHistogram* const out) { - VP8LHistogramAdd(a, b, out); - out->trivial_symbol_ = (a->trivial_symbol_ == b->trivial_symbol_) - ? a->trivial_symbol_ - : VP8L_NON_TRIVIAL_SYM; -} - -// Performs out = a + b, computing the cost C(a+b) - C(a) - C(b) while comparing -// to the threshold value 'cost_threshold'. The score returned is -// Score = C(a+b) - C(a) - C(b), where C(a) + C(b) is known and fixed. -// Since the previous score passed is 'cost_threshold', we only need to compare -// the partial cost against 'cost_threshold + C(a) + C(b)' to possibly bail-out -// early. -static double HistogramAddEval(const VP8LHistogram* const a, - const VP8LHistogram* const b, - VP8LHistogram* const out, - double cost_threshold) { - double cost = 0; - const double sum_cost = a->bit_cost_ + b->bit_cost_; - cost_threshold += sum_cost; - - if (GetCombinedHistogramEntropy(a, b, cost_threshold, &cost)) { - HistogramAdd(a, b, out); - out->bit_cost_ = cost; - out->palette_code_bits_ = a->palette_code_bits_; - } - - return cost - sum_cost; -} - -// Same as HistogramAddEval(), except that the resulting histogram -// is not stored. Only the cost C(a+b) - C(a) is evaluated. We omit -// the term C(b) which is constant over all the evaluations. -static double HistogramAddThresh(const VP8LHistogram* const a, - const VP8LHistogram* const b, - double cost_threshold) { - double cost; - assert(a != NULL && b != NULL); - cost = -a->bit_cost_; - GetCombinedHistogramEntropy(a, b, cost_threshold, &cost); - return cost; -} - -// ----------------------------------------------------------------------------- - -// The structure to keep track of cost range for the three dominant entropy -// symbols. -// TODO(skal): Evaluate if float can be used here instead of double for -// representing the entropy costs. -typedef struct { - double literal_max_; - double literal_min_; - double red_max_; - double red_min_; - double blue_max_; - double blue_min_; -} DominantCostRange; - -static void DominantCostRangeInit(DominantCostRange* const c) { - c->literal_max_ = 0.; - c->literal_min_ = MAX_COST; - c->red_max_ = 0.; - c->red_min_ = MAX_COST; - c->blue_max_ = 0.; - c->blue_min_ = MAX_COST; -} - -static void UpdateDominantCostRange( - const VP8LHistogram* const h, DominantCostRange* const c) { - if (c->literal_max_ < h->literal_cost_) c->literal_max_ = h->literal_cost_; - if (c->literal_min_ > h->literal_cost_) c->literal_min_ = h->literal_cost_; - if (c->red_max_ < h->red_cost_) c->red_max_ = h->red_cost_; - if (c->red_min_ > h->red_cost_) c->red_min_ = h->red_cost_; - if (c->blue_max_ < h->blue_cost_) c->blue_max_ = h->blue_cost_; - if (c->blue_min_ > h->blue_cost_) c->blue_min_ = h->blue_cost_; -} - -static void UpdateHistogramCost(VP8LHistogram* const h) { - uint32_t alpha_sym, red_sym, blue_sym; - const double alpha_cost = - PopulationCost(h->alpha_, NUM_LITERAL_CODES, &alpha_sym, - &h->is_used_[3]); - const double distance_cost = - PopulationCost(h->distance_, NUM_DISTANCE_CODES, NULL, &h->is_used_[4]) + - VP8LExtraCost(h->distance_, NUM_DISTANCE_CODES); - const int num_codes = VP8LHistogramNumCodes(h->palette_code_bits_); - h->literal_cost_ = - PopulationCost(h->literal_, num_codes, NULL, &h->is_used_[0]) + - VP8LExtraCost(h->literal_ + NUM_LITERAL_CODES, NUM_LENGTH_CODES); - h->red_cost_ = - PopulationCost(h->red_, NUM_LITERAL_CODES, &red_sym, &h->is_used_[1]); - h->blue_cost_ = - PopulationCost(h->blue_, NUM_LITERAL_CODES, &blue_sym, &h->is_used_[2]); - h->bit_cost_ = h->literal_cost_ + h->red_cost_ + h->blue_cost_ + - alpha_cost + distance_cost; - if ((alpha_sym | red_sym | blue_sym) == VP8L_NON_TRIVIAL_SYM) { - h->trivial_symbol_ = VP8L_NON_TRIVIAL_SYM; - } else { - h->trivial_symbol_ = - ((uint32_t)alpha_sym << 24) | (red_sym << 16) | (blue_sym << 0); - } -} - -static int GetBinIdForEntropy(double min, double max, double val) { - const double range = max - min; - if (range > 0.) { - const double delta = val - min; - return (int)((NUM_PARTITIONS - 1e-6) * delta / range); - } else { - return 0; - } -} - -static int GetHistoBinIndex(const VP8LHistogram* const h, - const DominantCostRange* const c, int low_effort) { - int bin_id = GetBinIdForEntropy(c->literal_min_, c->literal_max_, - h->literal_cost_); - assert(bin_id < NUM_PARTITIONS); - if (!low_effort) { - bin_id = bin_id * NUM_PARTITIONS - + GetBinIdForEntropy(c->red_min_, c->red_max_, h->red_cost_); - bin_id = bin_id * NUM_PARTITIONS - + GetBinIdForEntropy(c->blue_min_, c->blue_max_, h->blue_cost_); - assert(bin_id < BIN_SIZE); - } - return bin_id; -} - -// Construct the histograms from backward references. -static void HistogramBuild( - int xsize, int histo_bits, const VP8LBackwardRefs* const backward_refs, - VP8LHistogramSet* const image_histo) { - int x = 0, y = 0; - const int histo_xsize = VP8LSubSampleSize(xsize, histo_bits); - VP8LHistogram** const histograms = image_histo->histograms; - VP8LRefsCursor c = VP8LRefsCursorInit(backward_refs); - assert(histo_bits > 0); - VP8LHistogramSetClear(image_histo); - while (VP8LRefsCursorOk(&c)) { - const PixOrCopy* const v = c.cur_pos; - const int ix = (y >> histo_bits) * histo_xsize + (x >> histo_bits); - VP8LHistogramAddSinglePixOrCopy(histograms[ix], v, NULL, 0); - x += PixOrCopyLength(v); - while (x >= xsize) { - x -= xsize; - ++y; - } - VP8LRefsCursorNext(&c); - } -} - -// Copies the histograms and computes its bit_cost. -static const uint16_t kInvalidHistogramSymbol = (uint16_t)(-1); -static void HistogramCopyAndAnalyze(VP8LHistogramSet* const orig_histo, - VP8LHistogramSet* const image_histo, - int* const num_used, - uint16_t* const histogram_symbols) { - int i, cluster_id; - int num_used_orig = *num_used; - VP8LHistogram** const orig_histograms = orig_histo->histograms; - VP8LHistogram** const histograms = image_histo->histograms; - assert(image_histo->max_size == orig_histo->max_size); - for (cluster_id = 0, i = 0; i < orig_histo->max_size; ++i) { - VP8LHistogram* const histo = orig_histograms[i]; - UpdateHistogramCost(histo); - - // Skip the histogram if it is completely empty, which can happen for tiles - // with no information (when they are skipped because of LZ77). - if (!histo->is_used_[0] && !histo->is_used_[1] && !histo->is_used_[2] - && !histo->is_used_[3] && !histo->is_used_[4]) { - // The first histogram is always used. If an histogram is empty, we set - // its id to be the same as the previous one: this will improve - // compressibility for later LZ77. - assert(i > 0); - HistogramSetRemoveHistogram(image_histo, i, num_used); - HistogramSetRemoveHistogram(orig_histo, i, &num_used_orig); - histogram_symbols[i] = kInvalidHistogramSymbol; - } else { - // Copy histograms from orig_histo[] to image_histo[]. - HistogramCopy(histo, histograms[i]); - histogram_symbols[i] = cluster_id++; - assert(cluster_id <= image_histo->max_size); - } - } -} - -// Partition histograms to different entropy bins for three dominant (literal, -// red and blue) symbol costs and compute the histogram aggregate bit_cost. -static void HistogramAnalyzeEntropyBin(VP8LHistogramSet* const image_histo, - uint16_t* const bin_map, - int low_effort) { - int i; - VP8LHistogram** const histograms = image_histo->histograms; - const int histo_size = image_histo->size; - DominantCostRange cost_range; - DominantCostRangeInit(&cost_range); - - // Analyze the dominant (literal, red and blue) entropy costs. - for (i = 0; i < histo_size; ++i) { - if (histograms[i] == NULL) continue; - UpdateDominantCostRange(histograms[i], &cost_range); - } - - // bin-hash histograms on three of the dominant (literal, red and blue) - // symbol costs and store the resulting bin_id for each histogram. - for (i = 0; i < histo_size; ++i) { - // bin_map[i] is not set to a special value as its use will later be guarded - // by another (histograms[i] == NULL). - if (histograms[i] == NULL) continue; - bin_map[i] = GetHistoBinIndex(histograms[i], &cost_range, low_effort); - } -} - -// Merges some histograms with same bin_id together if it's advantageous. -// Sets the remaining histograms to NULL. -static void HistogramCombineEntropyBin(VP8LHistogramSet* const image_histo, - int* num_used, - const uint16_t* const clusters, - uint16_t* const cluster_mappings, - VP8LHistogram* cur_combo, - const uint16_t* const bin_map, - int num_bins, - double combine_cost_factor, - int low_effort) { - VP8LHistogram** const histograms = image_histo->histograms; - int idx; - struct { - int16_t first; // position of the histogram that accumulates all - // histograms with the same bin_id - uint16_t num_combine_failures; // number of combine failures per bin_id - } bin_info[BIN_SIZE]; - - assert(num_bins <= BIN_SIZE); - for (idx = 0; idx < num_bins; ++idx) { - bin_info[idx].first = -1; - bin_info[idx].num_combine_failures = 0; - } - - // By default, a cluster matches itself. - for (idx = 0; idx < *num_used; ++idx) cluster_mappings[idx] = idx; - for (idx = 0; idx < image_histo->size; ++idx) { - int bin_id, first; - if (histograms[idx] == NULL) continue; - bin_id = bin_map[idx]; - first = bin_info[bin_id].first; - if (first == -1) { - bin_info[bin_id].first = idx; - } else if (low_effort) { - HistogramAdd(histograms[idx], histograms[first], histograms[first]); - HistogramSetRemoveHistogram(image_histo, idx, num_used); - cluster_mappings[clusters[idx]] = clusters[first]; - } else { - // try to merge #idx into #first (both share the same bin_id) - const double bit_cost = histograms[idx]->bit_cost_; - const double bit_cost_thresh = -bit_cost * combine_cost_factor; - const double curr_cost_diff = - HistogramAddEval(histograms[first], histograms[idx], - cur_combo, bit_cost_thresh); - if (curr_cost_diff < bit_cost_thresh) { - // Try to merge two histograms only if the combo is a trivial one or - // the two candidate histograms are already non-trivial. - // For some images, 'try_combine' turns out to be false for a lot of - // histogram pairs. In that case, we fallback to combining - // histograms as usual to avoid increasing the header size. - const int try_combine = - (cur_combo->trivial_symbol_ != VP8L_NON_TRIVIAL_SYM) || - ((histograms[idx]->trivial_symbol_ == VP8L_NON_TRIVIAL_SYM) && - (histograms[first]->trivial_symbol_ == VP8L_NON_TRIVIAL_SYM)); - const int max_combine_failures = 32; - if (try_combine || - bin_info[bin_id].num_combine_failures >= max_combine_failures) { - // move the (better) merged histogram to its final slot - HistogramSwap(&cur_combo, &histograms[first]); - HistogramSetRemoveHistogram(image_histo, idx, num_used); - cluster_mappings[clusters[idx]] = clusters[first]; - } else { - ++bin_info[bin_id].num_combine_failures; - } - } - } - } - if (low_effort) { - // for low_effort case, update the final cost when everything is merged - for (idx = 0; idx < image_histo->size; ++idx) { - if (histograms[idx] == NULL) continue; - UpdateHistogramCost(histograms[idx]); - } - } -} - -// Implement a Lehmer random number generator with a multiplicative constant of -// 48271 and a modulo constant of 2^31 - 1. -static uint32_t MyRand(uint32_t* const seed) { - *seed = (uint32_t)(((uint64_t)(*seed) * 48271u) % 2147483647u); - assert(*seed > 0); - return *seed; -} - -// ----------------------------------------------------------------------------- -// Histogram pairs priority queue - -// Pair of histograms. Negative idx1 value means that pair is out-of-date. -typedef struct { - int idx1; - int idx2; - double cost_diff; - double cost_combo; -} HistogramPair; - -typedef struct { - HistogramPair* queue; - int size; - int max_size; -} HistoQueue; - -static int HistoQueueInit(HistoQueue* const histo_queue, const int max_size) { - histo_queue->size = 0; - histo_queue->max_size = max_size; - // We allocate max_size + 1 because the last element at index "size" is - // used as temporary data (and it could be up to max_size). - histo_queue->queue = (HistogramPair*)WebPSafeMalloc( - histo_queue->max_size + 1, sizeof(*histo_queue->queue)); - return histo_queue->queue != NULL; -} - -static void HistoQueueClear(HistoQueue* const histo_queue) { - assert(histo_queue != NULL); - WebPSafeFree(histo_queue->queue); - histo_queue->size = 0; - histo_queue->max_size = 0; -} - -// Pop a specific pair in the queue by replacing it with the last one -// and shrinking the queue. -static void HistoQueuePopPair(HistoQueue* const histo_queue, - HistogramPair* const pair) { - assert(pair >= histo_queue->queue && - pair < (histo_queue->queue + histo_queue->size)); - assert(histo_queue->size > 0); - *pair = histo_queue->queue[histo_queue->size - 1]; - --histo_queue->size; -} - -// Check whether a pair in the queue should be updated as head or not. -static void HistoQueueUpdateHead(HistoQueue* const histo_queue, - HistogramPair* const pair) { - assert(pair->cost_diff < 0.); - assert(pair >= histo_queue->queue && - pair < (histo_queue->queue + histo_queue->size)); - assert(histo_queue->size > 0); - if (pair->cost_diff < histo_queue->queue[0].cost_diff) { - // Replace the best pair. - const HistogramPair tmp = histo_queue->queue[0]; - histo_queue->queue[0] = *pair; - *pair = tmp; - } -} - -// Update the cost diff and combo of a pair of histograms. This needs to be -// called when the the histograms have been merged with a third one. -static void HistoQueueUpdatePair(const VP8LHistogram* const h1, - const VP8LHistogram* const h2, - double threshold, - HistogramPair* const pair) { - const double sum_cost = h1->bit_cost_ + h2->bit_cost_; - pair->cost_combo = 0.; - GetCombinedHistogramEntropy(h1, h2, sum_cost + threshold, &pair->cost_combo); - pair->cost_diff = pair->cost_combo - sum_cost; -} - -// Create a pair from indices "idx1" and "idx2" provided its cost -// is inferior to "threshold", a negative entropy. -// It returns the cost of the pair, or 0. if it superior to threshold. -static double HistoQueuePush(HistoQueue* const histo_queue, - VP8LHistogram** const histograms, int idx1, - int idx2, double threshold) { - const VP8LHistogram* h1; - const VP8LHistogram* h2; - HistogramPair pair; - - // Stop here if the queue is full. - if (histo_queue->size == histo_queue->max_size) return 0.; - assert(threshold <= 0.); - if (idx1 > idx2) { - const int tmp = idx2; - idx2 = idx1; - idx1 = tmp; - } - pair.idx1 = idx1; - pair.idx2 = idx2; - h1 = histograms[idx1]; - h2 = histograms[idx2]; - - HistoQueueUpdatePair(h1, h2, threshold, &pair); - - // Do not even consider the pair if it does not improve the entropy. - if (pair.cost_diff >= threshold) return 0.; - - histo_queue->queue[histo_queue->size++] = pair; - HistoQueueUpdateHead(histo_queue, &histo_queue->queue[histo_queue->size - 1]); - - return pair.cost_diff; -} - -// ----------------------------------------------------------------------------- - -// Combines histograms by continuously choosing the one with the highest cost -// reduction. -static int HistogramCombineGreedy(VP8LHistogramSet* const image_histo, - int* const num_used) { - int ok = 0; - const int image_histo_size = image_histo->size; - int i, j; - VP8LHistogram** const histograms = image_histo->histograms; - // Priority queue of histogram pairs. - HistoQueue histo_queue; - - // image_histo_size^2 for the queue size is safe. If you look at - // HistogramCombineGreedy, and imagine that UpdateQueueFront always pushes - // data to the queue, you insert at most: - // - image_histo_size*(image_histo_size-1)/2 (the first two for loops) - // - image_histo_size - 1 in the last for loop at the first iteration of - // the while loop, image_histo_size - 2 at the second iteration ... - // therefore image_histo_size*(image_histo_size-1)/2 overall too - if (!HistoQueueInit(&histo_queue, image_histo_size * image_histo_size)) { - goto End; - } - - for (i = 0; i < image_histo_size; ++i) { - if (image_histo->histograms[i] == NULL) continue; - for (j = i + 1; j < image_histo_size; ++j) { - // Initialize queue. - if (image_histo->histograms[j] == NULL) continue; - HistoQueuePush(&histo_queue, histograms, i, j, 0.); - } - } - - while (histo_queue.size > 0) { - const int idx1 = histo_queue.queue[0].idx1; - const int idx2 = histo_queue.queue[0].idx2; - HistogramAdd(histograms[idx2], histograms[idx1], histograms[idx1]); - histograms[idx1]->bit_cost_ = histo_queue.queue[0].cost_combo; - - // Remove merged histogram. - HistogramSetRemoveHistogram(image_histo, idx2, num_used); - - // Remove pairs intersecting the just combined best pair. - for (i = 0; i < histo_queue.size;) { - HistogramPair* const p = histo_queue.queue + i; - if (p->idx1 == idx1 || p->idx2 == idx1 || - p->idx1 == idx2 || p->idx2 == idx2) { - HistoQueuePopPair(&histo_queue, p); - } else { - HistoQueueUpdateHead(&histo_queue, p); - ++i; - } - } - - // Push new pairs formed with combined histogram to the queue. - for (i = 0; i < image_histo->size; ++i) { - if (i == idx1 || image_histo->histograms[i] == NULL) continue; - HistoQueuePush(&histo_queue, image_histo->histograms, idx1, i, 0.); - } - } - - ok = 1; - - End: - HistoQueueClear(&histo_queue); - return ok; -} - -// Perform histogram aggregation using a stochastic approach. -// 'do_greedy' is set to 1 if a greedy approach needs to be performed -// afterwards, 0 otherwise. -static int PairComparison(const void* idx1, const void* idx2) { - // To be used with bsearch: <0 when *idx1<*idx2, >0 if >, 0 when ==. - return (*(int*) idx1 - *(int*) idx2); -} -static int HistogramCombineStochastic(VP8LHistogramSet* const image_histo, - int* const num_used, int min_cluster_size, - int* const do_greedy) { - int j, iter; - uint32_t seed = 1; - int tries_with_no_success = 0; - const int outer_iters = *num_used; - const int num_tries_no_success = outer_iters / 2; - VP8LHistogram** const histograms = image_histo->histograms; - // Priority queue of histogram pairs. Its size of 'kHistoQueueSize' - // impacts the quality of the compression and the speed: the smaller the - // faster but the worse for the compression. - HistoQueue histo_queue; - const int kHistoQueueSize = 9; - int ok = 0; - // mapping from an index in image_histo with no NULL histogram to the full - // blown image_histo. - int* mappings; - - if (*num_used < min_cluster_size) { - *do_greedy = 1; - return 1; - } - - mappings = (int*) WebPSafeMalloc(*num_used, sizeof(*mappings)); - if (mappings == NULL) return 0; - if (!HistoQueueInit(&histo_queue, kHistoQueueSize)) goto End; - // Fill the initial mapping. - for (j = 0, iter = 0; iter < image_histo->size; ++iter) { - if (histograms[iter] == NULL) continue; - mappings[j++] = iter; - } - assert(j == *num_used); - - // Collapse similar histograms in 'image_histo'. - for (iter = 0; - iter < outer_iters && *num_used >= min_cluster_size && - ++tries_with_no_success < num_tries_no_success; - ++iter) { - int* mapping_index; - double best_cost = - (histo_queue.size == 0) ? 0. : histo_queue.queue[0].cost_diff; - int best_idx1 = -1, best_idx2 = 1; - const uint32_t rand_range = (*num_used - 1) * (*num_used); - // (*num_used) / 2 was chosen empirically. Less means faster but worse - // compression. - const int num_tries = (*num_used) / 2; - - // Pick random samples. - for (j = 0; *num_used >= 2 && j < num_tries; ++j) { - double curr_cost; - // Choose two different histograms at random and try to combine them. - const uint32_t tmp = MyRand(&seed) % rand_range; - uint32_t idx1 = tmp / (*num_used - 1); - uint32_t idx2 = tmp % (*num_used - 1); - if (idx2 >= idx1) ++idx2; - idx1 = mappings[idx1]; - idx2 = mappings[idx2]; - - // Calculate cost reduction on combination. - curr_cost = - HistoQueuePush(&histo_queue, histograms, idx1, idx2, best_cost); - if (curr_cost < 0) { // found a better pair? - best_cost = curr_cost; - // Empty the queue if we reached full capacity. - if (histo_queue.size == histo_queue.max_size) break; - } - } - if (histo_queue.size == 0) continue; - - // Get the best histograms. - best_idx1 = histo_queue.queue[0].idx1; - best_idx2 = histo_queue.queue[0].idx2; - assert(best_idx1 < best_idx2); - // Pop best_idx2 from mappings. - mapping_index = (int*) bsearch(&best_idx2, mappings, *num_used, - sizeof(best_idx2), &PairComparison); - assert(mapping_index != NULL); - memmove(mapping_index, mapping_index + 1, sizeof(*mapping_index) * - ((*num_used) - (mapping_index - mappings) - 1)); - // Merge the histograms and remove best_idx2 from the queue. - HistogramAdd(histograms[best_idx2], histograms[best_idx1], - histograms[best_idx1]); - histograms[best_idx1]->bit_cost_ = histo_queue.queue[0].cost_combo; - HistogramSetRemoveHistogram(image_histo, best_idx2, num_used); - // Parse the queue and update each pair that deals with best_idx1, - // best_idx2 or image_histo_size. - for (j = 0; j < histo_queue.size;) { - HistogramPair* const p = histo_queue.queue + j; - const int is_idx1_best = p->idx1 == best_idx1 || p->idx1 == best_idx2; - const int is_idx2_best = p->idx2 == best_idx1 || p->idx2 == best_idx2; - int do_eval = 0; - // The front pair could have been duplicated by a random pick so - // check for it all the time nevertheless. - if (is_idx1_best && is_idx2_best) { - HistoQueuePopPair(&histo_queue, p); - continue; - } - // Any pair containing one of the two best indices should only refer to - // best_idx1. Its cost should also be updated. - if (is_idx1_best) { - p->idx1 = best_idx1; - do_eval = 1; - } else if (is_idx2_best) { - p->idx2 = best_idx1; - do_eval = 1; - } - // Make sure the index order is respected. - if (p->idx1 > p->idx2) { - const int tmp = p->idx2; - p->idx2 = p->idx1; - p->idx1 = tmp; - } - if (do_eval) { - // Re-evaluate the cost of an updated pair. - HistoQueueUpdatePair(histograms[p->idx1], histograms[p->idx2], 0., p); - if (p->cost_diff >= 0.) { - HistoQueuePopPair(&histo_queue, p); - continue; - } - } - HistoQueueUpdateHead(&histo_queue, p); - ++j; - } - tries_with_no_success = 0; - } - *do_greedy = (*num_used <= min_cluster_size); - ok = 1; - -End: - HistoQueueClear(&histo_queue); - WebPSafeFree(mappings); - return ok; -} - -// ----------------------------------------------------------------------------- -// Histogram refinement - -// Find the best 'out' histogram for each of the 'in' histograms. -// At call-time, 'out' contains the histograms of the clusters. -// Note: we assume that out[]->bit_cost_ is already up-to-date. -static void HistogramRemap(const VP8LHistogramSet* const in, - VP8LHistogramSet* const out, - uint16_t* const symbols) { - int i; - VP8LHistogram** const in_histo = in->histograms; - VP8LHistogram** const out_histo = out->histograms; - const int in_size = out->max_size; - const int out_size = out->size; - if (out_size > 1) { - for (i = 0; i < in_size; ++i) { - int best_out = 0; - double best_bits = MAX_COST; - int k; - if (in_histo[i] == NULL) { - // Arbitrarily set to the previous value if unused to help future LZ77. - symbols[i] = symbols[i - 1]; - continue; - } - for (k = 0; k < out_size; ++k) { - double cur_bits; - cur_bits = HistogramAddThresh(out_histo[k], in_histo[i], best_bits); - if (k == 0 || cur_bits < best_bits) { - best_bits = cur_bits; - best_out = k; - } - } - symbols[i] = best_out; - } - } else { - assert(out_size == 1); - for (i = 0; i < in_size; ++i) { - symbols[i] = 0; - } - } - - // Recompute each out based on raw and symbols. - VP8LHistogramSetClear(out); - out->size = out_size; - - for (i = 0; i < in_size; ++i) { - int idx; - if (in_histo[i] == NULL) continue; - idx = symbols[i]; - HistogramAdd(in_histo[i], out_histo[idx], out_histo[idx]); - } -} - -static double GetCombineCostFactor(int histo_size, int quality) { - double combine_cost_factor = 0.16; - if (quality < 90) { - if (histo_size > 256) combine_cost_factor /= 2.; - if (histo_size > 512) combine_cost_factor /= 2.; - if (histo_size > 1024) combine_cost_factor /= 2.; - if (quality <= 50) combine_cost_factor /= 2.; - } - return combine_cost_factor; -} - -// Given a HistogramSet 'set', the mapping of clusters 'cluster_mapping' and the -// current assignment of the cells in 'symbols', merge the clusters and -// assign the smallest possible clusters values. -static void OptimizeHistogramSymbols(const VP8LHistogramSet* const set, - uint16_t* const cluster_mappings, - int num_clusters, - uint16_t* const cluster_mappings_tmp, - uint16_t* const symbols) { - int i, cluster_max; - int do_continue = 1; - // First, assign the lowest cluster to each pixel. - while (do_continue) { - do_continue = 0; - for (i = 0; i < num_clusters; ++i) { - int k; - k = cluster_mappings[i]; - while (k != cluster_mappings[k]) { - cluster_mappings[k] = cluster_mappings[cluster_mappings[k]]; - k = cluster_mappings[k]; - } - if (k != cluster_mappings[i]) { - do_continue = 1; - cluster_mappings[i] = k; - } - } - } - // Create a mapping from a cluster id to its minimal version. - cluster_max = 0; - memset(cluster_mappings_tmp, 0, - set->max_size * sizeof(*cluster_mappings_tmp)); - assert(cluster_mappings[0] == 0); - // Re-map the ids. - for (i = 0; i < set->max_size; ++i) { - int cluster; - if (symbols[i] == kInvalidHistogramSymbol) continue; - cluster = cluster_mappings[symbols[i]]; - assert(symbols[i] < num_clusters); - if (cluster > 0 && cluster_mappings_tmp[cluster] == 0) { - ++cluster_max; - cluster_mappings_tmp[cluster] = cluster_max; - } - symbols[i] = cluster_mappings_tmp[cluster]; - } - - // Make sure all cluster values are used. - cluster_max = 0; - for (i = 0; i < set->max_size; ++i) { - if (symbols[i] == kInvalidHistogramSymbol) continue; - if (symbols[i] <= cluster_max) continue; - ++cluster_max; - assert(symbols[i] == cluster_max); - } -} - -static void RemoveEmptyHistograms(VP8LHistogramSet* const image_histo) { - uint32_t size; - int i; - for (i = 0, size = 0; i < image_histo->size; ++i) { - if (image_histo->histograms[i] == NULL) continue; - image_histo->histograms[size++] = image_histo->histograms[i]; - } - image_histo->size = size; -} - -int VP8LGetHistoImageSymbols(int xsize, int ysize, - const VP8LBackwardRefs* const refs, - int quality, int low_effort, - int histo_bits, int cache_bits, - VP8LHistogramSet* const image_histo, - VP8LHistogram* const tmp_histo, - uint16_t* const histogram_symbols) { - int ok = 0; - const int histo_xsize = histo_bits ? VP8LSubSampleSize(xsize, histo_bits) : 1; - const int histo_ysize = histo_bits ? VP8LSubSampleSize(ysize, histo_bits) : 1; - const int image_histo_raw_size = histo_xsize * histo_ysize; - VP8LHistogramSet* const orig_histo = - VP8LAllocateHistogramSet(image_histo_raw_size, cache_bits); - // Don't attempt linear bin-partition heuristic for - // histograms of small sizes (as bin_map will be very sparse) and - // maximum quality q==100 (to preserve the compression gains at that level). - const int entropy_combine_num_bins = low_effort ? NUM_PARTITIONS : BIN_SIZE; - int entropy_combine; - uint16_t* const map_tmp = - WebPSafeMalloc(2 * image_histo_raw_size, sizeof(map_tmp)); - uint16_t* const cluster_mappings = map_tmp + image_histo_raw_size; - int num_used = image_histo_raw_size; - if (orig_histo == NULL || map_tmp == NULL) goto Error; - - // Construct the histograms from backward references. - HistogramBuild(xsize, histo_bits, refs, orig_histo); - // Copies the histograms and computes its bit_cost. - // histogram_symbols is optimized - HistogramCopyAndAnalyze(orig_histo, image_histo, &num_used, - histogram_symbols); - - entropy_combine = - (num_used > entropy_combine_num_bins * 2) && (quality < 100); - - if (entropy_combine) { - uint16_t* const bin_map = map_tmp; - const double combine_cost_factor = - GetCombineCostFactor(image_histo_raw_size, quality); - const uint32_t num_clusters = num_used; - - HistogramAnalyzeEntropyBin(image_histo, bin_map, low_effort); - // Collapse histograms with similar entropy. - HistogramCombineEntropyBin(image_histo, &num_used, histogram_symbols, - cluster_mappings, tmp_histo, bin_map, - entropy_combine_num_bins, combine_cost_factor, - low_effort); - OptimizeHistogramSymbols(image_histo, cluster_mappings, num_clusters, - map_tmp, histogram_symbols); - } - - // Don't combine the histograms using stochastic and greedy heuristics for - // low-effort compression mode. - if (!low_effort || !entropy_combine) { - const float x = quality / 100.f; - // cubic ramp between 1 and MAX_HISTO_GREEDY: - const int threshold_size = (int)(1 + (x * x * x) * (MAX_HISTO_GREEDY - 1)); - int do_greedy; - if (!HistogramCombineStochastic(image_histo, &num_used, threshold_size, - &do_greedy)) { - goto Error; - } - if (do_greedy) { - RemoveEmptyHistograms(image_histo); - if (!HistogramCombineGreedy(image_histo, &num_used)) { - goto Error; - } - } - } - - // Find the optimal map from original histograms to the final ones. - RemoveEmptyHistograms(image_histo); - HistogramRemap(orig_histo, image_histo, histogram_symbols); - - ok = 1; - - Error: - VP8LFreeHistogramSet(orig_histo); - WebPSafeFree(map_tmp); - return ok; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/histogram_enc.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/histogram_enc.h deleted file mode 100644 index 54c2d217..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/histogram_enc.h +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Jyrki Alakuijala (jyrki@google.com) -// -// Models the histograms of literal and distance codes. - -#ifndef WEBP_ENC_HISTOGRAM_ENC_H_ -#define WEBP_ENC_HISTOGRAM_ENC_H_ - -#include - -#include "src/enc/backward_references_enc.h" -#include "src/webp/format_constants.h" -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Not a trivial literal symbol. -#define VP8L_NON_TRIVIAL_SYM (0xffffffff) - -// A simple container for histograms of data. -typedef struct { - // literal_ contains green literal, palette-code and - // copy-length-prefix histogram - uint32_t* literal_; // Pointer to the allocated buffer for literal. - uint32_t red_[NUM_LITERAL_CODES]; - uint32_t blue_[NUM_LITERAL_CODES]; - uint32_t alpha_[NUM_LITERAL_CODES]; - // Backward reference prefix-code histogram. - uint32_t distance_[NUM_DISTANCE_CODES]; - int palette_code_bits_; - uint32_t trivial_symbol_; // True, if histograms for Red, Blue & Alpha - // literal symbols are single valued. - double bit_cost_; // cached value of bit cost. - double literal_cost_; // Cached values of dominant entropy costs: - double red_cost_; // literal, red & blue. - double blue_cost_; - uint8_t is_used_[5]; // 5 for literal, red, blue, alpha, distance -} VP8LHistogram; - -// Collection of histograms with fixed capacity, allocated as one -// big memory chunk. Can be destroyed by calling WebPSafeFree(). -typedef struct { - int size; // number of slots currently in use - int max_size; // maximum capacity - VP8LHistogram** histograms; -} VP8LHistogramSet; - -// Create the histogram. -// -// The input data is the PixOrCopy data, which models the literals, stop -// codes and backward references (both distances and lengths). Also: if -// palette_code_bits is >= 0, initialize the histogram with this value. -void VP8LHistogramCreate(VP8LHistogram* const p, - const VP8LBackwardRefs* const refs, - int palette_code_bits); - -// Return the size of the histogram for a given palette_code_bits. -int VP8LGetHistogramSize(int palette_code_bits); - -// Set the palette_code_bits and reset the stats. -// If init_arrays is true, the arrays are also filled with 0's. -void VP8LHistogramInit(VP8LHistogram* const p, int palette_code_bits, - int init_arrays); - -// Collect all the references into a histogram (without reset) -void VP8LHistogramStoreRefs(const VP8LBackwardRefs* const refs, - VP8LHistogram* const histo); - -// Free the memory allocated for the histogram. -void VP8LFreeHistogram(VP8LHistogram* const histo); - -// Free the memory allocated for the histogram set. -void VP8LFreeHistogramSet(VP8LHistogramSet* const histo); - -// Allocate an array of pointer to histograms, allocated and initialized -// using 'cache_bits'. Return NULL in case of memory error. -VP8LHistogramSet* VP8LAllocateHistogramSet(int size, int cache_bits); - -// Set the histograms in set to 0. -void VP8LHistogramSetClear(VP8LHistogramSet* const set); - -// Allocate and initialize histogram object with specified 'cache_bits'. -// Returns NULL in case of memory error. -// Special case of VP8LAllocateHistogramSet, with size equals 1. -VP8LHistogram* VP8LAllocateHistogram(int cache_bits); - -// Accumulate a token 'v' into a histogram. -void VP8LHistogramAddSinglePixOrCopy(VP8LHistogram* const histo, - const PixOrCopy* const v, - int (*const distance_modifier)(int, int), - int distance_modifier_arg0); - -static WEBP_INLINE int VP8LHistogramNumCodes(int palette_code_bits) { - return NUM_LITERAL_CODES + NUM_LENGTH_CODES + - ((palette_code_bits > 0) ? (1 << palette_code_bits) : 0); -} - -// Builds the histogram image. -int VP8LGetHistoImageSymbols(int xsize, int ysize, - const VP8LBackwardRefs* const refs, - int quality, int low_effort, - int histogram_bits, int cache_bits, - VP8LHistogramSet* const image_in, - VP8LHistogram* const tmp_histo, - uint16_t* const histogram_symbols); - -// Returns the entropy for the symbols in the input array. -double VP8LBitsEntropy(const uint32_t* const array, int n); - -// Estimate how many bits the combined entropy of literals and distance -// approximately maps to. -double VP8LHistogramEstimateBits(VP8LHistogram* const p); - -#ifdef __cplusplus -} -#endif - -#endif // WEBP_ENC_HISTOGRAM_ENC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/iterator_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/iterator_enc.c deleted file mode 100644 index 29f91d83..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/iterator_enc.c +++ /dev/null @@ -1,459 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// VP8Iterator: block iterator -// -// Author: Skal (pascal.massimino@gmail.com) - -#include - -#include "src/enc/vp8i_enc.h" - -//------------------------------------------------------------------------------ -// VP8Iterator -//------------------------------------------------------------------------------ - -static void InitLeft(VP8EncIterator* const it) { - it->y_left_[-1] = it->u_left_[-1] = it->v_left_[-1] = - (it->y_ > 0) ? 129 : 127; - memset(it->y_left_, 129, 16); - memset(it->u_left_, 129, 8); - memset(it->v_left_, 129, 8); - it->left_nz_[8] = 0; - if (it->top_derr_ != NULL) { - memset(&it->left_derr_, 0, sizeof(it->left_derr_)); - } -} - -static void InitTop(VP8EncIterator* const it) { - const VP8Encoder* const enc = it->enc_; - const size_t top_size = enc->mb_w_ * 16; - memset(enc->y_top_, 127, 2 * top_size); - memset(enc->nz_, 0, enc->mb_w_ * sizeof(*enc->nz_)); - if (enc->top_derr_ != NULL) { - memset(enc->top_derr_, 0, enc->mb_w_ * sizeof(*enc->top_derr_)); - } -} - -void VP8IteratorSetRow(VP8EncIterator* const it, int y) { - VP8Encoder* const enc = it->enc_; - it->x_ = 0; - it->y_ = y; - it->bw_ = &enc->parts_[y & (enc->num_parts_ - 1)]; - it->preds_ = enc->preds_ + y * 4 * enc->preds_w_; - it->nz_ = enc->nz_; - it->mb_ = enc->mb_info_ + y * enc->mb_w_; - it->y_top_ = enc->y_top_; - it->uv_top_ = enc->uv_top_; - InitLeft(it); -} - -void VP8IteratorReset(VP8EncIterator* const it) { - VP8Encoder* const enc = it->enc_; - VP8IteratorSetRow(it, 0); - VP8IteratorSetCountDown(it, enc->mb_w_ * enc->mb_h_); // default - InitTop(it); - memset(it->bit_count_, 0, sizeof(it->bit_count_)); - it->do_trellis_ = 0; -} - -void VP8IteratorSetCountDown(VP8EncIterator* const it, int count_down) { - it->count_down_ = it->count_down0_ = count_down; -} - -int VP8IteratorIsDone(const VP8EncIterator* const it) { - return (it->count_down_ <= 0); -} - -void VP8IteratorInit(VP8Encoder* const enc, VP8EncIterator* const it) { - it->enc_ = enc; - it->yuv_in_ = (uint8_t*)WEBP_ALIGN(it->yuv_mem_); - it->yuv_out_ = it->yuv_in_ + YUV_SIZE_ENC; - it->yuv_out2_ = it->yuv_out_ + YUV_SIZE_ENC; - it->yuv_p_ = it->yuv_out2_ + YUV_SIZE_ENC; - it->lf_stats_ = enc->lf_stats_; - it->percent0_ = enc->percent_; - it->y_left_ = (uint8_t*)WEBP_ALIGN(it->yuv_left_mem_ + 1); - it->u_left_ = it->y_left_ + 16 + 16; - it->v_left_ = it->u_left_ + 16; - it->top_derr_ = enc->top_derr_; - VP8IteratorReset(it); -} - -int VP8IteratorProgress(const VP8EncIterator* const it, int delta) { - VP8Encoder* const enc = it->enc_; - if (delta && enc->pic_->progress_hook != NULL) { - const int done = it->count_down0_ - it->count_down_; - const int percent = (it->count_down0_ <= 0) - ? it->percent0_ - : it->percent0_ + delta * done / it->count_down0_; - return WebPReportProgress(enc->pic_, percent, &enc->percent_); - } - return 1; -} - -//------------------------------------------------------------------------------ -// Import the source samples into the cache. Takes care of replicating -// boundary pixels if necessary. - -static WEBP_INLINE int MinSize(int a, int b) { return (a < b) ? a : b; } - -static void ImportBlock(const uint8_t* src, int src_stride, - uint8_t* dst, int w, int h, int size) { - int i; - for (i = 0; i < h; ++i) { - memcpy(dst, src, w); - if (w < size) { - memset(dst + w, dst[w - 1], size - w); - } - dst += BPS; - src += src_stride; - } - for (i = h; i < size; ++i) { - memcpy(dst, dst - BPS, size); - dst += BPS; - } -} - -static void ImportLine(const uint8_t* src, int src_stride, - uint8_t* dst, int len, int total_len) { - int i; - for (i = 0; i < len; ++i, src += src_stride) dst[i] = *src; - for (; i < total_len; ++i) dst[i] = dst[len - 1]; -} - -void VP8IteratorImport(VP8EncIterator* const it, uint8_t* const tmp_32) { - const VP8Encoder* const enc = it->enc_; - const int x = it->x_, y = it->y_; - const WebPPicture* const pic = enc->pic_; - const uint8_t* const ysrc = pic->y + (y * pic->y_stride + x) * 16; - const uint8_t* const usrc = pic->u + (y * pic->uv_stride + x) * 8; - const uint8_t* const vsrc = pic->v + (y * pic->uv_stride + x) * 8; - const int w = MinSize(pic->width - x * 16, 16); - const int h = MinSize(pic->height - y * 16, 16); - const int uv_w = (w + 1) >> 1; - const int uv_h = (h + 1) >> 1; - - ImportBlock(ysrc, pic->y_stride, it->yuv_in_ + Y_OFF_ENC, w, h, 16); - ImportBlock(usrc, pic->uv_stride, it->yuv_in_ + U_OFF_ENC, uv_w, uv_h, 8); - ImportBlock(vsrc, pic->uv_stride, it->yuv_in_ + V_OFF_ENC, uv_w, uv_h, 8); - - if (tmp_32 == NULL) return; - - // Import source (uncompressed) samples into boundary. - if (x == 0) { - InitLeft(it); - } else { - if (y == 0) { - it->y_left_[-1] = it->u_left_[-1] = it->v_left_[-1] = 127; - } else { - it->y_left_[-1] = ysrc[- 1 - pic->y_stride]; - it->u_left_[-1] = usrc[- 1 - pic->uv_stride]; - it->v_left_[-1] = vsrc[- 1 - pic->uv_stride]; - } - ImportLine(ysrc - 1, pic->y_stride, it->y_left_, h, 16); - ImportLine(usrc - 1, pic->uv_stride, it->u_left_, uv_h, 8); - ImportLine(vsrc - 1, pic->uv_stride, it->v_left_, uv_h, 8); - } - - it->y_top_ = tmp_32 + 0; - it->uv_top_ = tmp_32 + 16; - if (y == 0) { - memset(tmp_32, 127, 32 * sizeof(*tmp_32)); - } else { - ImportLine(ysrc - pic->y_stride, 1, tmp_32, w, 16); - ImportLine(usrc - pic->uv_stride, 1, tmp_32 + 16, uv_w, 8); - ImportLine(vsrc - pic->uv_stride, 1, tmp_32 + 16 + 8, uv_w, 8); - } -} - -//------------------------------------------------------------------------------ -// Copy back the compressed samples into user space if requested. - -static void ExportBlock(const uint8_t* src, uint8_t* dst, int dst_stride, - int w, int h) { - while (h-- > 0) { - memcpy(dst, src, w); - dst += dst_stride; - src += BPS; - } -} - -void VP8IteratorExport(const VP8EncIterator* const it) { - const VP8Encoder* const enc = it->enc_; - if (enc->config_->show_compressed) { - const int x = it->x_, y = it->y_; - const uint8_t* const ysrc = it->yuv_out_ + Y_OFF_ENC; - const uint8_t* const usrc = it->yuv_out_ + U_OFF_ENC; - const uint8_t* const vsrc = it->yuv_out_ + V_OFF_ENC; - const WebPPicture* const pic = enc->pic_; - uint8_t* const ydst = pic->y + (y * pic->y_stride + x) * 16; - uint8_t* const udst = pic->u + (y * pic->uv_stride + x) * 8; - uint8_t* const vdst = pic->v + (y * pic->uv_stride + x) * 8; - int w = (pic->width - x * 16); - int h = (pic->height - y * 16); - - if (w > 16) w = 16; - if (h > 16) h = 16; - - // Luma plane - ExportBlock(ysrc, ydst, pic->y_stride, w, h); - - { // U/V planes - const int uv_w = (w + 1) >> 1; - const int uv_h = (h + 1) >> 1; - ExportBlock(usrc, udst, pic->uv_stride, uv_w, uv_h); - ExportBlock(vsrc, vdst, pic->uv_stride, uv_w, uv_h); - } - } -} - -//------------------------------------------------------------------------------ -// Non-zero contexts setup/teardown - -// Nz bits: -// 0 1 2 3 Y -// 4 5 6 7 -// 8 9 10 11 -// 12 13 14 15 -// 16 17 U -// 18 19 -// 20 21 V -// 22 23 -// 24 DC-intra16 - -// Convert packed context to byte array -#define BIT(nz, n) (!!((nz) & (1 << (n)))) - -void VP8IteratorNzToBytes(VP8EncIterator* const it) { - const int tnz = it->nz_[0], lnz = it->nz_[-1]; - int* const top_nz = it->top_nz_; - int* const left_nz = it->left_nz_; - - // Top-Y - top_nz[0] = BIT(tnz, 12); - top_nz[1] = BIT(tnz, 13); - top_nz[2] = BIT(tnz, 14); - top_nz[3] = BIT(tnz, 15); - // Top-U - top_nz[4] = BIT(tnz, 18); - top_nz[5] = BIT(tnz, 19); - // Top-V - top_nz[6] = BIT(tnz, 22); - top_nz[7] = BIT(tnz, 23); - // DC - top_nz[8] = BIT(tnz, 24); - - // left-Y - left_nz[0] = BIT(lnz, 3); - left_nz[1] = BIT(lnz, 7); - left_nz[2] = BIT(lnz, 11); - left_nz[3] = BIT(lnz, 15); - // left-U - left_nz[4] = BIT(lnz, 17); - left_nz[5] = BIT(lnz, 19); - // left-V - left_nz[6] = BIT(lnz, 21); - left_nz[7] = BIT(lnz, 23); - // left-DC is special, iterated separately -} - -void VP8IteratorBytesToNz(VP8EncIterator* const it) { - uint32_t nz = 0; - const int* const top_nz = it->top_nz_; - const int* const left_nz = it->left_nz_; - // top - nz |= (top_nz[0] << 12) | (top_nz[1] << 13); - nz |= (top_nz[2] << 14) | (top_nz[3] << 15); - nz |= (top_nz[4] << 18) | (top_nz[5] << 19); - nz |= (top_nz[6] << 22) | (top_nz[7] << 23); - nz |= (top_nz[8] << 24); // we propagate the _top_ bit, esp. for intra4 - // left - nz |= (left_nz[0] << 3) | (left_nz[1] << 7); - nz |= (left_nz[2] << 11); - nz |= (left_nz[4] << 17) | (left_nz[6] << 21); - - *it->nz_ = nz; -} - -#undef BIT - -//------------------------------------------------------------------------------ -// Advance to the next position, doing the bookkeeping. - -void VP8IteratorSaveBoundary(VP8EncIterator* const it) { - VP8Encoder* const enc = it->enc_; - const int x = it->x_, y = it->y_; - const uint8_t* const ysrc = it->yuv_out_ + Y_OFF_ENC; - const uint8_t* const uvsrc = it->yuv_out_ + U_OFF_ENC; - if (x < enc->mb_w_ - 1) { // left - int i; - for (i = 0; i < 16; ++i) { - it->y_left_[i] = ysrc[15 + i * BPS]; - } - for (i = 0; i < 8; ++i) { - it->u_left_[i] = uvsrc[7 + i * BPS]; - it->v_left_[i] = uvsrc[15 + i * BPS]; - } - // top-left (before 'top'!) - it->y_left_[-1] = it->y_top_[15]; - it->u_left_[-1] = it->uv_top_[0 + 7]; - it->v_left_[-1] = it->uv_top_[8 + 7]; - } - if (y < enc->mb_h_ - 1) { // top - memcpy(it->y_top_, ysrc + 15 * BPS, 16); - memcpy(it->uv_top_, uvsrc + 7 * BPS, 8 + 8); - } -} - -int VP8IteratorNext(VP8EncIterator* const it) { - if (++it->x_ == it->enc_->mb_w_) { - VP8IteratorSetRow(it, ++it->y_); - } else { - it->preds_ += 4; - it->mb_ += 1; - it->nz_ += 1; - it->y_top_ += 16; - it->uv_top_ += 16; - } - return (0 < --it->count_down_); -} - -//------------------------------------------------------------------------------ -// Helper function to set mode properties - -void VP8SetIntra16Mode(const VP8EncIterator* const it, int mode) { - uint8_t* preds = it->preds_; - int y; - for (y = 0; y < 4; ++y) { - memset(preds, mode, 4); - preds += it->enc_->preds_w_; - } - it->mb_->type_ = 1; -} - -void VP8SetIntra4Mode(const VP8EncIterator* const it, const uint8_t* modes) { - uint8_t* preds = it->preds_; - int y; - for (y = 4; y > 0; --y) { - memcpy(preds, modes, 4 * sizeof(*modes)); - preds += it->enc_->preds_w_; - modes += 4; - } - it->mb_->type_ = 0; -} - -void VP8SetIntraUVMode(const VP8EncIterator* const it, int mode) { - it->mb_->uv_mode_ = mode; -} - -void VP8SetSkip(const VP8EncIterator* const it, int skip) { - it->mb_->skip_ = skip; -} - -void VP8SetSegment(const VP8EncIterator* const it, int segment) { - it->mb_->segment_ = segment; -} - -//------------------------------------------------------------------------------ -// Intra4x4 sub-blocks iteration -// -// We store and update the boundary samples into an array of 37 pixels. They -// are updated as we iterate and reconstructs each intra4x4 blocks in turn. -// The position of the samples has the following snake pattern: -// -// 16|17 18 19 20|21 22 23 24|25 26 27 28|29 30 31 32|33 34 35 36 <- Top-right -// --+-----------+-----------+-----------+-----------+ -// 15| 19| 23| 27| 31| -// 14| 18| 22| 26| 30| -// 13| 17| 21| 25| 29| -// 12|13 14 15 16|17 18 19 20|21 22 23 24|25 26 27 28| -// --+-----------+-----------+-----------+-----------+ -// 11| 15| 19| 23| 27| -// 10| 14| 18| 22| 26| -// 9| 13| 17| 21| 25| -// 8| 9 10 11 12|13 14 15 16|17 18 19 20|21 22 23 24| -// --+-----------+-----------+-----------+-----------+ -// 7| 11| 15| 19| 23| -// 6| 10| 14| 18| 22| -// 5| 9| 13| 17| 21| -// 4| 5 6 7 8| 9 10 11 12|13 14 15 16|17 18 19 20| -// --+-----------+-----------+-----------+-----------+ -// 3| 7| 11| 15| 19| -// 2| 6| 10| 14| 18| -// 1| 5| 9| 13| 17| -// 0| 1 2 3 4| 5 6 7 8| 9 10 11 12|13 14 15 16| -// --+-----------+-----------+-----------+-----------+ - -// Array to record the position of the top sample to pass to the prediction -// functions in dsp.c. -static const uint8_t VP8TopLeftI4[16] = { - 17, 21, 25, 29, - 13, 17, 21, 25, - 9, 13, 17, 21, - 5, 9, 13, 17 -}; - -void VP8IteratorStartI4(VP8EncIterator* const it) { - const VP8Encoder* const enc = it->enc_; - int i; - - it->i4_ = 0; // first 4x4 sub-block - it->i4_top_ = it->i4_boundary_ + VP8TopLeftI4[0]; - - // Import the boundary samples - for (i = 0; i < 17; ++i) { // left - it->i4_boundary_[i] = it->y_left_[15 - i]; - } - for (i = 0; i < 16; ++i) { // top - it->i4_boundary_[17 + i] = it->y_top_[i]; - } - // top-right samples have a special case on the far right of the picture - if (it->x_ < enc->mb_w_ - 1) { - for (i = 16; i < 16 + 4; ++i) { - it->i4_boundary_[17 + i] = it->y_top_[i]; - } - } else { // else, replicate the last valid pixel four times - for (i = 16; i < 16 + 4; ++i) { - it->i4_boundary_[17 + i] = it->i4_boundary_[17 + 15]; - } - } - VP8IteratorNzToBytes(it); // import the non-zero context -} - -int VP8IteratorRotateI4(VP8EncIterator* const it, - const uint8_t* const yuv_out) { - const uint8_t* const blk = yuv_out + VP8Scan[it->i4_]; - uint8_t* const top = it->i4_top_; - int i; - - // Update the cache with 7 fresh samples - for (i = 0; i <= 3; ++i) { - top[-4 + i] = blk[i + 3 * BPS]; // store future top samples - } - if ((it->i4_ & 3) != 3) { // if not on the right sub-blocks #3, #7, #11, #15 - for (i = 0; i <= 2; ++i) { // store future left samples - top[i] = blk[3 + (2 - i) * BPS]; - } - } else { // else replicate top-right samples, as says the specs. - for (i = 0; i <= 3; ++i) { - top[i] = top[i + 4]; - } - } - // move pointers to next sub-block - ++it->i4_; - if (it->i4_ == 16) { // we're done - return 0; - } - - it->i4_top_ = it->i4_boundary_ + VP8TopLeftI4[it->i4_]; - return 1; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/near_lossless_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/near_lossless_enc.c deleted file mode 100644 index 5517a7e2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/near_lossless_enc.c +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Near-lossless image preprocessing adjusts pixel values to help -// compressibility with a guarantee of maximum deviation between original and -// resulting pixel values. -// -// Author: Jyrki Alakuijala (jyrki@google.com) -// Converted to C by Aleksander Kramarz (akramarz@google.com) - -#include -#include - -#include "src/dsp/lossless_common.h" -#include "src/utils/utils.h" -#include "src/enc/vp8li_enc.h" - -#if (WEBP_NEAR_LOSSLESS == 1) - -#define MIN_DIM_FOR_NEAR_LOSSLESS 64 -#define MAX_LIMIT_BITS 5 - -// Quantizes the value up or down to a multiple of 1<> 1) + ((a >> bits) & 1); - assert(bits > 0); - if (biased > 0xff) return 0xff; - return biased & ~mask; -} - -// Applies FindClosestDiscretized to all channels of pixel. -static uint32_t ClosestDiscretizedArgb(uint32_t a, int bits) { - return - (FindClosestDiscretized(a >> 24, bits) << 24) | - (FindClosestDiscretized((a >> 16) & 0xff, bits) << 16) | - (FindClosestDiscretized((a >> 8) & 0xff, bits) << 8) | - (FindClosestDiscretized(a & 0xff, bits)); -} - -// Checks if distance between corresponding channel values of pixels a and b -// is within the given limit. -static int IsNear(uint32_t a, uint32_t b, int limit) { - int k; - for (k = 0; k < 4; ++k) { - const int delta = - (int)((a >> (k * 8)) & 0xff) - (int)((b >> (k * 8)) & 0xff); - if (delta >= limit || delta <= -limit) { - return 0; - } - } - return 1; -} - -static int IsSmooth(const uint32_t* const prev_row, - const uint32_t* const curr_row, - const uint32_t* const next_row, - int ix, int limit) { - // Check that all pixels in 4-connected neighborhood are smooth. - return (IsNear(curr_row[ix], curr_row[ix - 1], limit) && - IsNear(curr_row[ix], curr_row[ix + 1], limit) && - IsNear(curr_row[ix], prev_row[ix], limit) && - IsNear(curr_row[ix], next_row[ix], limit)); -} - -// Adjusts pixel values of image with given maximum error. -static void NearLossless(int xsize, int ysize, const uint32_t* argb_src, - int stride, int limit_bits, uint32_t* copy_buffer, - uint32_t* argb_dst) { - int x, y; - const int limit = 1 << limit_bits; - uint32_t* prev_row = copy_buffer; - uint32_t* curr_row = prev_row + xsize; - uint32_t* next_row = curr_row + xsize; - memcpy(curr_row, argb_src, xsize * sizeof(argb_src[0])); - memcpy(next_row, argb_src + stride, xsize * sizeof(argb_src[0])); - - for (y = 0; y < ysize; ++y, argb_src += stride, argb_dst += xsize) { - if (y == 0 || y == ysize - 1) { - memcpy(argb_dst, argb_src, xsize * sizeof(argb_src[0])); - } else { - memcpy(next_row, argb_src + stride, xsize * sizeof(argb_src[0])); - argb_dst[0] = argb_src[0]; - argb_dst[xsize - 1] = argb_src[xsize - 1]; - for (x = 1; x < xsize - 1; ++x) { - if (IsSmooth(prev_row, curr_row, next_row, x, limit)) { - argb_dst[x] = curr_row[x]; - } else { - argb_dst[x] = ClosestDiscretizedArgb(curr_row[x], limit_bits); - } - } - } - { - // Three-way swap. - uint32_t* const temp = prev_row; - prev_row = curr_row; - curr_row = next_row; - next_row = temp; - } - } -} - -int VP8ApplyNearLossless(const WebPPicture* const picture, int quality, - uint32_t* const argb_dst) { - int i; - const int xsize = picture->width; - const int ysize = picture->height; - const int stride = picture->argb_stride; - uint32_t* const copy_buffer = - (uint32_t*)WebPSafeMalloc(xsize * 3, sizeof(*copy_buffer)); - const int limit_bits = VP8LNearLosslessBits(quality); - assert(argb_dst != NULL); - assert(limit_bits > 0); - assert(limit_bits <= MAX_LIMIT_BITS); - if (copy_buffer == NULL) { - return 0; - } - // For small icon images, don't attempt to apply near-lossless compression. - if ((xsize < MIN_DIM_FOR_NEAR_LOSSLESS && - ysize < MIN_DIM_FOR_NEAR_LOSSLESS) || - ysize < 3) { - for (i = 0; i < ysize; ++i) { - memcpy(argb_dst + i * xsize, picture->argb + i * picture->argb_stride, - xsize * sizeof(*argb_dst)); - } - WebPSafeFree(copy_buffer); - return 1; - } - - NearLossless(xsize, ysize, picture->argb, stride, limit_bits, copy_buffer, - argb_dst); - for (i = limit_bits - 1; i != 0; --i) { - NearLossless(xsize, ysize, argb_dst, xsize, i, copy_buffer, argb_dst); - } - WebPSafeFree(copy_buffer); - return 1; -} -#else // (WEBP_NEAR_LOSSLESS == 1) - -// Define a stub to suppress compiler warnings. -extern void VP8LNearLosslessStub(void); -void VP8LNearLosslessStub(void) {} - -#endif // (WEBP_NEAR_LOSSLESS == 1) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_csp_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_csp_enc.c deleted file mode 100644 index 718e014e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_csp_enc.c +++ /dev/null @@ -1,1210 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebPPicture utils for colorspace conversion -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include -#include - -#include "src/enc/vp8i_enc.h" -#include "src/utils/random_utils.h" -#include "src/utils/utils.h" -#include "src/dsp/dsp.h" -#include "src/dsp/lossless.h" -#include "src/dsp/yuv.h" - -// Uncomment to disable gamma-compression during RGB->U/V averaging -#define USE_GAMMA_COMPRESSION - -// If defined, use table to compute x / alpha. -#define USE_INVERSE_ALPHA_TABLE - -#ifdef WORDS_BIGENDIAN -// uint32_t 0xff000000 is 0xff,00,00,00 in memory -#define CHANNEL_OFFSET(i) (i) -#else -// uint32_t 0xff000000 is 0x00,00,00,ff in memory -#define CHANNEL_OFFSET(i) (3-(i)) -#endif - -#define ALPHA_OFFSET CHANNEL_OFFSET(0) - -//------------------------------------------------------------------------------ -// Detection of non-trivial transparency - -// Returns true if alpha[] has non-0xff values. -static int CheckNonOpaque(const uint8_t* alpha, int width, int height, - int x_step, int y_step) { - if (alpha == NULL) return 0; - WebPInitAlphaProcessing(); - if (x_step == 1) { - for (; height-- > 0; alpha += y_step) { - if (WebPHasAlpha8b(alpha, width)) return 1; - } - } else { - for (; height-- > 0; alpha += y_step) { - if (WebPHasAlpha32b(alpha, width)) return 1; - } - } - return 0; -} - -// Checking for the presence of non-opaque alpha. -int WebPPictureHasTransparency(const WebPPicture* picture) { - if (picture == NULL) return 0; - if (!picture->use_argb) { - return CheckNonOpaque(picture->a, picture->width, picture->height, - 1, picture->a_stride); - } else { - const int alpha_offset = ALPHA_OFFSET; - return CheckNonOpaque((const uint8_t*)picture->argb + alpha_offset, - picture->width, picture->height, - 4, picture->argb_stride * sizeof(*picture->argb)); - } - return 0; -} - -//------------------------------------------------------------------------------ -// Code for gamma correction - -#if defined(USE_GAMMA_COMPRESSION) - -// gamma-compensates loss of resolution during chroma subsampling -#define kGamma 0.80 // for now we use a different gamma value than kGammaF -#define kGammaFix 12 // fixed-point precision for linear values -#define kGammaScale ((1 << kGammaFix) - 1) -#define kGammaTabFix 7 // fixed-point fractional bits precision -#define kGammaTabScale (1 << kGammaTabFix) -#define kGammaTabRounder (kGammaTabScale >> 1) -#define kGammaTabSize (1 << (kGammaFix - kGammaTabFix)) - -static int kLinearToGammaTab[kGammaTabSize + 1]; -static uint16_t kGammaToLinearTab[256]; -static volatile int kGammaTablesOk = 0; - -static WEBP_TSAN_IGNORE_FUNCTION void InitGammaTables(void) { - if (!kGammaTablesOk) { - int v; - const double scale = (double)(1 << kGammaTabFix) / kGammaScale; - const double norm = 1. / 255.; - for (v = 0; v <= 255; ++v) { - kGammaToLinearTab[v] = - (uint16_t)(pow(norm * v, kGamma) * kGammaScale + .5); - } - for (v = 0; v <= kGammaTabSize; ++v) { - kLinearToGammaTab[v] = (int)(255. * pow(scale * v, 1. / kGamma) + .5); - } - kGammaTablesOk = 1; - } -} - -static WEBP_INLINE uint32_t GammaToLinear(uint8_t v) { - return kGammaToLinearTab[v]; -} - -static WEBP_INLINE int Interpolate(int v) { - const int tab_pos = v >> (kGammaTabFix + 2); // integer part - const int x = v & ((kGammaTabScale << 2) - 1); // fractional part - const int v0 = kLinearToGammaTab[tab_pos]; - const int v1 = kLinearToGammaTab[tab_pos + 1]; - const int y = v1 * x + v0 * ((kGammaTabScale << 2) - x); // interpolate - assert(tab_pos + 1 < kGammaTabSize + 1); - return y; -} - -// Convert a linear value 'v' to YUV_FIX+2 fixed-point precision -// U/V value, suitable for RGBToU/V calls. -static WEBP_INLINE int LinearToGamma(uint32_t base_value, int shift) { - const int y = Interpolate(base_value << shift); // final uplifted value - return (y + kGammaTabRounder) >> kGammaTabFix; // descale -} - -#else - -static void InitGammaTables(void) {} -static WEBP_INLINE uint32_t GammaToLinear(uint8_t v) { return v; } -static WEBP_INLINE int LinearToGamma(uint32_t base_value, int shift) { - return (int)(base_value << shift); -} - -#endif // USE_GAMMA_COMPRESSION - -//------------------------------------------------------------------------------ -// RGB -> YUV conversion - -static int RGBToY(int r, int g, int b, VP8Random* const rg) { - return (rg == NULL) ? VP8RGBToY(r, g, b, YUV_HALF) - : VP8RGBToY(r, g, b, VP8RandomBits(rg, YUV_FIX)); -} - -static int RGBToU(int r, int g, int b, VP8Random* const rg) { - return (rg == NULL) ? VP8RGBToU(r, g, b, YUV_HALF << 2) - : VP8RGBToU(r, g, b, VP8RandomBits(rg, YUV_FIX + 2)); -} - -static int RGBToV(int r, int g, int b, VP8Random* const rg) { - return (rg == NULL) ? VP8RGBToV(r, g, b, YUV_HALF << 2) - : VP8RGBToV(r, g, b, VP8RandomBits(rg, YUV_FIX + 2)); -} - -//------------------------------------------------------------------------------ -// Sharp RGB->YUV conversion - -static const int kNumIterations = 4; -static const int kMinDimensionIterativeConversion = 4; - -// We could use SFIX=0 and only uint8_t for fixed_y_t, but it produces some -// banding sometimes. Better use extra precision. -#define SFIX 2 // fixed-point precision of RGB and Y/W -typedef int16_t fixed_t; // signed type with extra SFIX precision for UV -typedef uint16_t fixed_y_t; // unsigned type with extra SFIX precision for W - -#define SHALF (1 << SFIX >> 1) -#define MAX_Y_T ((256 << SFIX) - 1) -#define SROUNDER (1 << (YUV_FIX + SFIX - 1)) - -#if defined(USE_GAMMA_COMPRESSION) - -// We use tables of different size and precision for the Rec709 / BT2020 -// transfer function. -#define kGammaF (1./0.45) -static uint32_t kLinearToGammaTabS[kGammaTabSize + 2]; -#define GAMMA_TO_LINEAR_BITS 14 -static uint32_t kGammaToLinearTabS[MAX_Y_T + 1]; // size scales with Y_FIX -static volatile int kGammaTablesSOk = 0; - -static WEBP_TSAN_IGNORE_FUNCTION void InitGammaTablesS(void) { - assert(2 * GAMMA_TO_LINEAR_BITS < 32); // we use uint32_t intermediate values - if (!kGammaTablesSOk) { - int v; - const double norm = 1. / MAX_Y_T; - const double scale = 1. / kGammaTabSize; - const double a = 0.09929682680944; - const double thresh = 0.018053968510807; - const double final_scale = 1 << GAMMA_TO_LINEAR_BITS; - for (v = 0; v <= MAX_Y_T; ++v) { - const double g = norm * v; - double value; - if (g <= thresh * 4.5) { - value = g / 4.5; - } else { - const double a_rec = 1. / (1. + a); - value = pow(a_rec * (g + a), kGammaF); - } - kGammaToLinearTabS[v] = (uint32_t)(value * final_scale + .5); - } - for (v = 0; v <= kGammaTabSize; ++v) { - const double g = scale * v; - double value; - if (g <= thresh) { - value = 4.5 * g; - } else { - value = (1. + a) * pow(g, 1. / kGammaF) - a; - } - // we already incorporate the 1/2 rounding constant here - kLinearToGammaTabS[v] = - (uint32_t)(MAX_Y_T * value) + (1 << GAMMA_TO_LINEAR_BITS >> 1); - } - // to prevent small rounding errors to cause read-overflow: - kLinearToGammaTabS[kGammaTabSize + 1] = kLinearToGammaTabS[kGammaTabSize]; - kGammaTablesSOk = 1; - } -} - -// return value has a fixed-point precision of GAMMA_TO_LINEAR_BITS -static WEBP_INLINE uint32_t GammaToLinearS(int v) { - return kGammaToLinearTabS[v]; -} - -static WEBP_INLINE uint32_t LinearToGammaS(uint32_t value) { - // 'value' is in GAMMA_TO_LINEAR_BITS fractional precision - const uint32_t v = value * kGammaTabSize; - const uint32_t tab_pos = v >> GAMMA_TO_LINEAR_BITS; - // fractional part, in GAMMA_TO_LINEAR_BITS fixed-point precision - const uint32_t x = v - (tab_pos << GAMMA_TO_LINEAR_BITS); // fractional part - // v0 / v1 are in GAMMA_TO_LINEAR_BITS fixed-point precision (range [0..1]) - const uint32_t v0 = kLinearToGammaTabS[tab_pos + 0]; - const uint32_t v1 = kLinearToGammaTabS[tab_pos + 1]; - // Final interpolation. Note that rounding is already included. - const uint32_t v2 = (v1 - v0) * x; // note: v1 >= v0. - const uint32_t result = v0 + (v2 >> GAMMA_TO_LINEAR_BITS); - return result; -} - -#else - -static void InitGammaTablesS(void) {} -static WEBP_INLINE uint32_t GammaToLinearS(int v) { - return (v << GAMMA_TO_LINEAR_BITS) / MAX_Y_T; -} -static WEBP_INLINE uint32_t LinearToGammaS(uint32_t value) { - return (MAX_Y_T * value) >> GAMMA_TO_LINEAR_BITS; -} - -#endif // USE_GAMMA_COMPRESSION - -//------------------------------------------------------------------------------ - -static uint8_t clip_8b(fixed_t v) { - return (!(v & ~0xff)) ? (uint8_t)v : (v < 0) ? 0u : 255u; -} - -static fixed_y_t clip_y(int y) { - return (!(y & ~MAX_Y_T)) ? (fixed_y_t)y : (y < 0) ? 0 : MAX_Y_T; -} - -//------------------------------------------------------------------------------ - -static int RGBToGray(int r, int g, int b) { - const int luma = 13933 * r + 46871 * g + 4732 * b + YUV_HALF; - return (luma >> YUV_FIX); -} - -static uint32_t ScaleDown(int a, int b, int c, int d) { - const uint32_t A = GammaToLinearS(a); - const uint32_t B = GammaToLinearS(b); - const uint32_t C = GammaToLinearS(c); - const uint32_t D = GammaToLinearS(d); - return LinearToGammaS((A + B + C + D + 2) >> 2); -} - -static WEBP_INLINE void UpdateW(const fixed_y_t* src, fixed_y_t* dst, int w) { - int i; - for (i = 0; i < w; ++i) { - const uint32_t R = GammaToLinearS(src[0 * w + i]); - const uint32_t G = GammaToLinearS(src[1 * w + i]); - const uint32_t B = GammaToLinearS(src[2 * w + i]); - const uint32_t Y = RGBToGray(R, G, B); - dst[i] = (fixed_y_t)LinearToGammaS(Y); - } -} - -static void UpdateChroma(const fixed_y_t* src1, const fixed_y_t* src2, - fixed_t* dst, int uv_w) { - int i; - for (i = 0; i < uv_w; ++i) { - const int r = ScaleDown(src1[0 * uv_w + 0], src1[0 * uv_w + 1], - src2[0 * uv_w + 0], src2[0 * uv_w + 1]); - const int g = ScaleDown(src1[2 * uv_w + 0], src1[2 * uv_w + 1], - src2[2 * uv_w + 0], src2[2 * uv_w + 1]); - const int b = ScaleDown(src1[4 * uv_w + 0], src1[4 * uv_w + 1], - src2[4 * uv_w + 0], src2[4 * uv_w + 1]); - const int W = RGBToGray(r, g, b); - dst[0 * uv_w] = (fixed_t)(r - W); - dst[1 * uv_w] = (fixed_t)(g - W); - dst[2 * uv_w] = (fixed_t)(b - W); - dst += 1; - src1 += 2; - src2 += 2; - } -} - -static void StoreGray(const fixed_y_t* rgb, fixed_y_t* y, int w) { - int i; - for (i = 0; i < w; ++i) { - y[i] = RGBToGray(rgb[0 * w + i], rgb[1 * w + i], rgb[2 * w + i]); - } -} - -//------------------------------------------------------------------------------ - -static WEBP_INLINE fixed_y_t Filter2(int A, int B, int W0) { - const int v0 = (A * 3 + B + 2) >> 2; - return clip_y(v0 + W0); -} - -//------------------------------------------------------------------------------ - -static WEBP_INLINE fixed_y_t UpLift(uint8_t a) { // 8bit -> SFIX - return ((fixed_y_t)a << SFIX) | SHALF; -} - -static void ImportOneRow(const uint8_t* const r_ptr, - const uint8_t* const g_ptr, - const uint8_t* const b_ptr, - int step, - int pic_width, - fixed_y_t* const dst) { - int i; - const int w = (pic_width + 1) & ~1; - for (i = 0; i < pic_width; ++i) { - const int off = i * step; - dst[i + 0 * w] = UpLift(r_ptr[off]); - dst[i + 1 * w] = UpLift(g_ptr[off]); - dst[i + 2 * w] = UpLift(b_ptr[off]); - } - if (pic_width & 1) { // replicate rightmost pixel - dst[pic_width + 0 * w] = dst[pic_width + 0 * w - 1]; - dst[pic_width + 1 * w] = dst[pic_width + 1 * w - 1]; - dst[pic_width + 2 * w] = dst[pic_width + 2 * w - 1]; - } -} - -static void InterpolateTwoRows(const fixed_y_t* const best_y, - const fixed_t* prev_uv, - const fixed_t* cur_uv, - const fixed_t* next_uv, - int w, - fixed_y_t* out1, - fixed_y_t* out2) { - const int uv_w = w >> 1; - const int len = (w - 1) >> 1; // length to filter - int k = 3; - while (k-- > 0) { // process each R/G/B segments in turn - // special boundary case for i==0 - out1[0] = Filter2(cur_uv[0], prev_uv[0], best_y[0]); - out2[0] = Filter2(cur_uv[0], next_uv[0], best_y[w]); - - WebPSharpYUVFilterRow(cur_uv, prev_uv, len, best_y + 0 + 1, out1 + 1); - WebPSharpYUVFilterRow(cur_uv, next_uv, len, best_y + w + 1, out2 + 1); - - // special boundary case for i == w - 1 when w is even - if (!(w & 1)) { - out1[w - 1] = Filter2(cur_uv[uv_w - 1], prev_uv[uv_w - 1], - best_y[w - 1 + 0]); - out2[w - 1] = Filter2(cur_uv[uv_w - 1], next_uv[uv_w - 1], - best_y[w - 1 + w]); - } - out1 += w; - out2 += w; - prev_uv += uv_w; - cur_uv += uv_w; - next_uv += uv_w; - } -} - -static WEBP_INLINE uint8_t ConvertRGBToY(int r, int g, int b) { - const int luma = 16839 * r + 33059 * g + 6420 * b + SROUNDER; - return clip_8b(16 + (luma >> (YUV_FIX + SFIX))); -} - -static WEBP_INLINE uint8_t ConvertRGBToU(int r, int g, int b) { - const int u = -9719 * r - 19081 * g + 28800 * b + SROUNDER; - return clip_8b(128 + (u >> (YUV_FIX + SFIX))); -} - -static WEBP_INLINE uint8_t ConvertRGBToV(int r, int g, int b) { - const int v = +28800 * r - 24116 * g - 4684 * b + SROUNDER; - return clip_8b(128 + (v >> (YUV_FIX + SFIX))); -} - -static int ConvertWRGBToYUV(const fixed_y_t* best_y, const fixed_t* best_uv, - WebPPicture* const picture) { - int i, j; - uint8_t* dst_y = picture->y; - uint8_t* dst_u = picture->u; - uint8_t* dst_v = picture->v; - const fixed_t* const best_uv_base = best_uv; - const int w = (picture->width + 1) & ~1; - const int h = (picture->height + 1) & ~1; - const int uv_w = w >> 1; - const int uv_h = h >> 1; - for (best_uv = best_uv_base, j = 0; j < picture->height; ++j) { - for (i = 0; i < picture->width; ++i) { - const int off = (i >> 1); - const int W = best_y[i]; - const int r = best_uv[off + 0 * uv_w] + W; - const int g = best_uv[off + 1 * uv_w] + W; - const int b = best_uv[off + 2 * uv_w] + W; - dst_y[i] = ConvertRGBToY(r, g, b); - } - best_y += w; - best_uv += (j & 1) * 3 * uv_w; - dst_y += picture->y_stride; - } - for (best_uv = best_uv_base, j = 0; j < uv_h; ++j) { - for (i = 0; i < uv_w; ++i) { - const int off = i; - const int r = best_uv[off + 0 * uv_w]; - const int g = best_uv[off + 1 * uv_w]; - const int b = best_uv[off + 2 * uv_w]; - dst_u[i] = ConvertRGBToU(r, g, b); - dst_v[i] = ConvertRGBToV(r, g, b); - } - best_uv += 3 * uv_w; - dst_u += picture->uv_stride; - dst_v += picture->uv_stride; - } - return 1; -} - -//------------------------------------------------------------------------------ -// Main function - -#define SAFE_ALLOC(W, H, T) ((T*)WebPSafeMalloc((W) * (H), sizeof(T))) - -static int PreprocessARGB(const uint8_t* r_ptr, - const uint8_t* g_ptr, - const uint8_t* b_ptr, - int step, int rgb_stride, - WebPPicture* const picture) { - // we expand the right/bottom border if needed - const int w = (picture->width + 1) & ~1; - const int h = (picture->height + 1) & ~1; - const int uv_w = w >> 1; - const int uv_h = h >> 1; - uint64_t prev_diff_y_sum = ~0; - int j, iter; - - // TODO(skal): allocate one big memory chunk. But for now, it's easier - // for valgrind debugging to have several chunks. - fixed_y_t* const tmp_buffer = SAFE_ALLOC(w * 3, 2, fixed_y_t); // scratch - fixed_y_t* const best_y_base = SAFE_ALLOC(w, h, fixed_y_t); - fixed_y_t* const target_y_base = SAFE_ALLOC(w, h, fixed_y_t); - fixed_y_t* const best_rgb_y = SAFE_ALLOC(w, 2, fixed_y_t); - fixed_t* const best_uv_base = SAFE_ALLOC(uv_w * 3, uv_h, fixed_t); - fixed_t* const target_uv_base = SAFE_ALLOC(uv_w * 3, uv_h, fixed_t); - fixed_t* const best_rgb_uv = SAFE_ALLOC(uv_w * 3, 1, fixed_t); - fixed_y_t* best_y = best_y_base; - fixed_y_t* target_y = target_y_base; - fixed_t* best_uv = best_uv_base; - fixed_t* target_uv = target_uv_base; - const uint64_t diff_y_threshold = (uint64_t)(3.0 * w * h); - int ok; - - if (best_y_base == NULL || best_uv_base == NULL || - target_y_base == NULL || target_uv_base == NULL || - best_rgb_y == NULL || best_rgb_uv == NULL || - tmp_buffer == NULL) { - ok = WebPEncodingSetError(picture, VP8_ENC_ERROR_OUT_OF_MEMORY); - goto End; - } - assert(picture->width >= kMinDimensionIterativeConversion); - assert(picture->height >= kMinDimensionIterativeConversion); - - WebPInitConvertARGBToYUV(); - - // Import RGB samples to W/RGB representation. - for (j = 0; j < picture->height; j += 2) { - const int is_last_row = (j == picture->height - 1); - fixed_y_t* const src1 = tmp_buffer + 0 * w; - fixed_y_t* const src2 = tmp_buffer + 3 * w; - - // prepare two rows of input - ImportOneRow(r_ptr, g_ptr, b_ptr, step, picture->width, src1); - if (!is_last_row) { - ImportOneRow(r_ptr + rgb_stride, g_ptr + rgb_stride, b_ptr + rgb_stride, - step, picture->width, src2); - } else { - memcpy(src2, src1, 3 * w * sizeof(*src2)); - } - StoreGray(src1, best_y + 0, w); - StoreGray(src2, best_y + w, w); - - UpdateW(src1, target_y, w); - UpdateW(src2, target_y + w, w); - UpdateChroma(src1, src2, target_uv, uv_w); - memcpy(best_uv, target_uv, 3 * uv_w * sizeof(*best_uv)); - best_y += 2 * w; - best_uv += 3 * uv_w; - target_y += 2 * w; - target_uv += 3 * uv_w; - r_ptr += 2 * rgb_stride; - g_ptr += 2 * rgb_stride; - b_ptr += 2 * rgb_stride; - } - - // Iterate and resolve clipping conflicts. - for (iter = 0; iter < kNumIterations; ++iter) { - const fixed_t* cur_uv = best_uv_base; - const fixed_t* prev_uv = best_uv_base; - uint64_t diff_y_sum = 0; - - best_y = best_y_base; - best_uv = best_uv_base; - target_y = target_y_base; - target_uv = target_uv_base; - for (j = 0; j < h; j += 2) { - fixed_y_t* const src1 = tmp_buffer + 0 * w; - fixed_y_t* const src2 = tmp_buffer + 3 * w; - { - const fixed_t* const next_uv = cur_uv + ((j < h - 2) ? 3 * uv_w : 0); - InterpolateTwoRows(best_y, prev_uv, cur_uv, next_uv, w, src1, src2); - prev_uv = cur_uv; - cur_uv = next_uv; - } - - UpdateW(src1, best_rgb_y + 0 * w, w); - UpdateW(src2, best_rgb_y + 1 * w, w); - UpdateChroma(src1, src2, best_rgb_uv, uv_w); - - // update two rows of Y and one row of RGB - diff_y_sum += WebPSharpYUVUpdateY(target_y, best_rgb_y, best_y, 2 * w); - WebPSharpYUVUpdateRGB(target_uv, best_rgb_uv, best_uv, 3 * uv_w); - - best_y += 2 * w; - best_uv += 3 * uv_w; - target_y += 2 * w; - target_uv += 3 * uv_w; - } - // test exit condition - if (iter > 0) { - if (diff_y_sum < diff_y_threshold) break; - if (diff_y_sum > prev_diff_y_sum) break; - } - prev_diff_y_sum = diff_y_sum; - } - // final reconstruction - ok = ConvertWRGBToYUV(best_y_base, best_uv_base, picture); - - End: - WebPSafeFree(best_y_base); - WebPSafeFree(best_uv_base); - WebPSafeFree(target_y_base); - WebPSafeFree(target_uv_base); - WebPSafeFree(best_rgb_y); - WebPSafeFree(best_rgb_uv); - WebPSafeFree(tmp_buffer); - return ok; -} -#undef SAFE_ALLOC - -//------------------------------------------------------------------------------ -// "Fast" regular RGB->YUV - -#define SUM4(ptr, step) LinearToGamma( \ - GammaToLinear((ptr)[0]) + \ - GammaToLinear((ptr)[(step)]) + \ - GammaToLinear((ptr)[rgb_stride]) + \ - GammaToLinear((ptr)[rgb_stride + (step)]), 0) \ - -#define SUM2(ptr) \ - LinearToGamma(GammaToLinear((ptr)[0]) + GammaToLinear((ptr)[rgb_stride]), 1) - -#define SUM2ALPHA(ptr) ((ptr)[0] + (ptr)[rgb_stride]) -#define SUM4ALPHA(ptr) (SUM2ALPHA(ptr) + SUM2ALPHA((ptr) + 4)) - -#if defined(USE_INVERSE_ALPHA_TABLE) - -static const int kAlphaFix = 19; -// Following table is (1 << kAlphaFix) / a. The (v * kInvAlpha[a]) >> kAlphaFix -// formula is then equal to v / a in most (99.6%) cases. Note that this table -// and constant are adjusted very tightly to fit 32b arithmetic. -// In particular, they use the fact that the operands for 'v / a' are actually -// derived as v = (a0.p0 + a1.p1 + a2.p2 + a3.p3) and a = a0 + a1 + a2 + a3 -// with ai in [0..255] and pi in [0..1<> (kAlphaFix - 2)) - -#else - -#define DIVIDE_BY_ALPHA(sum, a) (4 * (sum) / (a)) - -#endif // USE_INVERSE_ALPHA_TABLE - -static WEBP_INLINE int LinearToGammaWeighted(const uint8_t* src, - const uint8_t* a_ptr, - uint32_t total_a, int step, - int rgb_stride) { - const uint32_t sum = - a_ptr[0] * GammaToLinear(src[0]) + - a_ptr[step] * GammaToLinear(src[step]) + - a_ptr[rgb_stride] * GammaToLinear(src[rgb_stride]) + - a_ptr[rgb_stride + step] * GammaToLinear(src[rgb_stride + step]); - assert(total_a > 0 && total_a <= 4 * 0xff); -#if defined(USE_INVERSE_ALPHA_TABLE) - assert((uint64_t)sum * kInvAlpha[total_a] < ((uint64_t)1 << 32)); -#endif - return LinearToGamma(DIVIDE_BY_ALPHA(sum, total_a), 0); -} - -static WEBP_INLINE void ConvertRowToY(const uint8_t* const r_ptr, - const uint8_t* const g_ptr, - const uint8_t* const b_ptr, - int step, - uint8_t* const dst_y, - int width, - VP8Random* const rg) { - int i, j; - for (i = 0, j = 0; i < width; i += 1, j += step) { - dst_y[i] = RGBToY(r_ptr[j], g_ptr[j], b_ptr[j], rg); - } -} - -static WEBP_INLINE void AccumulateRGBA(const uint8_t* const r_ptr, - const uint8_t* const g_ptr, - const uint8_t* const b_ptr, - const uint8_t* const a_ptr, - int rgb_stride, - uint16_t* dst, int width) { - int i, j; - // we loop over 2x2 blocks and produce one R/G/B/A value for each. - for (i = 0, j = 0; i < (width >> 1); i += 1, j += 2 * 4, dst += 4) { - const uint32_t a = SUM4ALPHA(a_ptr + j); - int r, g, b; - if (a == 4 * 0xff || a == 0) { - r = SUM4(r_ptr + j, 4); - g = SUM4(g_ptr + j, 4); - b = SUM4(b_ptr + j, 4); - } else { - r = LinearToGammaWeighted(r_ptr + j, a_ptr + j, a, 4, rgb_stride); - g = LinearToGammaWeighted(g_ptr + j, a_ptr + j, a, 4, rgb_stride); - b = LinearToGammaWeighted(b_ptr + j, a_ptr + j, a, 4, rgb_stride); - } - dst[0] = r; - dst[1] = g; - dst[2] = b; - dst[3] = a; - } - if (width & 1) { - const uint32_t a = 2u * SUM2ALPHA(a_ptr + j); - int r, g, b; - if (a == 4 * 0xff || a == 0) { - r = SUM2(r_ptr + j); - g = SUM2(g_ptr + j); - b = SUM2(b_ptr + j); - } else { - r = LinearToGammaWeighted(r_ptr + j, a_ptr + j, a, 0, rgb_stride); - g = LinearToGammaWeighted(g_ptr + j, a_ptr + j, a, 0, rgb_stride); - b = LinearToGammaWeighted(b_ptr + j, a_ptr + j, a, 0, rgb_stride); - } - dst[0] = r; - dst[1] = g; - dst[2] = b; - dst[3] = a; - } -} - -static WEBP_INLINE void AccumulateRGB(const uint8_t* const r_ptr, - const uint8_t* const g_ptr, - const uint8_t* const b_ptr, - int step, int rgb_stride, - uint16_t* dst, int width) { - int i, j; - for (i = 0, j = 0; i < (width >> 1); i += 1, j += 2 * step, dst += 4) { - dst[0] = SUM4(r_ptr + j, step); - dst[1] = SUM4(g_ptr + j, step); - dst[2] = SUM4(b_ptr + j, step); - } - if (width & 1) { - dst[0] = SUM2(r_ptr + j); - dst[1] = SUM2(g_ptr + j); - dst[2] = SUM2(b_ptr + j); - } -} - -static WEBP_INLINE void ConvertRowsToUV(const uint16_t* rgb, - uint8_t* const dst_u, - uint8_t* const dst_v, - int width, - VP8Random* const rg) { - int i; - for (i = 0; i < width; i += 1, rgb += 4) { - const int r = rgb[0], g = rgb[1], b = rgb[2]; - dst_u[i] = RGBToU(r, g, b, rg); - dst_v[i] = RGBToV(r, g, b, rg); - } -} - -static int ImportYUVAFromRGBA(const uint8_t* r_ptr, - const uint8_t* g_ptr, - const uint8_t* b_ptr, - const uint8_t* a_ptr, - int step, // bytes per pixel - int rgb_stride, // bytes per scanline - float dithering, - int use_iterative_conversion, - WebPPicture* const picture) { - int y; - const int width = picture->width; - const int height = picture->height; - const int has_alpha = CheckNonOpaque(a_ptr, width, height, step, rgb_stride); - const int is_rgb = (r_ptr < b_ptr); // otherwise it's bgr - - picture->colorspace = has_alpha ? WEBP_YUV420A : WEBP_YUV420; - picture->use_argb = 0; - - // disable smart conversion if source is too small (overkill). - if (width < kMinDimensionIterativeConversion || - height < kMinDimensionIterativeConversion) { - use_iterative_conversion = 0; - } - - if (!WebPPictureAllocYUVA(picture, width, height)) { - return 0; - } - if (has_alpha) { - assert(step == 4); -#if defined(USE_GAMMA_COMPRESSION) && defined(USE_INVERSE_ALPHA_TABLE) - assert(kAlphaFix + kGammaFix <= 31); -#endif - } - - if (use_iterative_conversion) { - InitGammaTablesS(); - if (!PreprocessARGB(r_ptr, g_ptr, b_ptr, step, rgb_stride, picture)) { - return 0; - } - if (has_alpha) { - WebPExtractAlpha(a_ptr, rgb_stride, width, height, - picture->a, picture->a_stride); - } - } else { - const int uv_width = (width + 1) >> 1; - int use_dsp = (step == 3); // use special function in this case - // temporary storage for accumulated R/G/B values during conversion to U/V - uint16_t* const tmp_rgb = - (uint16_t*)WebPSafeMalloc(4 * uv_width, sizeof(*tmp_rgb)); - uint8_t* dst_y = picture->y; - uint8_t* dst_u = picture->u; - uint8_t* dst_v = picture->v; - uint8_t* dst_a = picture->a; - - VP8Random base_rg; - VP8Random* rg = NULL; - if (dithering > 0.) { - VP8InitRandom(&base_rg, dithering); - rg = &base_rg; - use_dsp = 0; // can't use dsp in this case - } - WebPInitConvertARGBToYUV(); - InitGammaTables(); - - if (tmp_rgb == NULL) return 0; // malloc error - - // Downsample Y/U/V planes, two rows at a time - for (y = 0; y < (height >> 1); ++y) { - int rows_have_alpha = has_alpha; - if (use_dsp) { - if (is_rgb) { - WebPConvertRGB24ToY(r_ptr, dst_y, width); - WebPConvertRGB24ToY(r_ptr + rgb_stride, - dst_y + picture->y_stride, width); - } else { - WebPConvertBGR24ToY(b_ptr, dst_y, width); - WebPConvertBGR24ToY(b_ptr + rgb_stride, - dst_y + picture->y_stride, width); - } - } else { - ConvertRowToY(r_ptr, g_ptr, b_ptr, step, dst_y, width, rg); - ConvertRowToY(r_ptr + rgb_stride, - g_ptr + rgb_stride, - b_ptr + rgb_stride, step, - dst_y + picture->y_stride, width, rg); - } - dst_y += 2 * picture->y_stride; - if (has_alpha) { - rows_have_alpha &= !WebPExtractAlpha(a_ptr, rgb_stride, width, 2, - dst_a, picture->a_stride); - dst_a += 2 * picture->a_stride; - } - // Collect averaged R/G/B(/A) - if (!rows_have_alpha) { - AccumulateRGB(r_ptr, g_ptr, b_ptr, step, rgb_stride, tmp_rgb, width); - } else { - AccumulateRGBA(r_ptr, g_ptr, b_ptr, a_ptr, rgb_stride, tmp_rgb, width); - } - // Convert to U/V - if (rg == NULL) { - WebPConvertRGBA32ToUV(tmp_rgb, dst_u, dst_v, uv_width); - } else { - ConvertRowsToUV(tmp_rgb, dst_u, dst_v, uv_width, rg); - } - dst_u += picture->uv_stride; - dst_v += picture->uv_stride; - r_ptr += 2 * rgb_stride; - b_ptr += 2 * rgb_stride; - g_ptr += 2 * rgb_stride; - if (has_alpha) a_ptr += 2 * rgb_stride; - } - if (height & 1) { // extra last row - int row_has_alpha = has_alpha; - if (use_dsp) { - if (r_ptr < b_ptr) { - WebPConvertRGB24ToY(r_ptr, dst_y, width); - } else { - WebPConvertBGR24ToY(b_ptr, dst_y, width); - } - } else { - ConvertRowToY(r_ptr, g_ptr, b_ptr, step, dst_y, width, rg); - } - if (row_has_alpha) { - row_has_alpha &= !WebPExtractAlpha(a_ptr, 0, width, 1, dst_a, 0); - } - // Collect averaged R/G/B(/A) - if (!row_has_alpha) { - // Collect averaged R/G/B - AccumulateRGB(r_ptr, g_ptr, b_ptr, step, /* rgb_stride = */ 0, - tmp_rgb, width); - } else { - AccumulateRGBA(r_ptr, g_ptr, b_ptr, a_ptr, /* rgb_stride = */ 0, - tmp_rgb, width); - } - if (rg == NULL) { - WebPConvertRGBA32ToUV(tmp_rgb, dst_u, dst_v, uv_width); - } else { - ConvertRowsToUV(tmp_rgb, dst_u, dst_v, uv_width, rg); - } - } - WebPSafeFree(tmp_rgb); - } - return 1; -} - -#undef SUM4 -#undef SUM2 -#undef SUM4ALPHA -#undef SUM2ALPHA - -//------------------------------------------------------------------------------ -// call for ARGB->YUVA conversion - -static int PictureARGBToYUVA(WebPPicture* picture, WebPEncCSP colorspace, - float dithering, int use_iterative_conversion) { - if (picture == NULL) return 0; - if (picture->argb == NULL) { - return WebPEncodingSetError(picture, VP8_ENC_ERROR_NULL_PARAMETER); - } else if ((colorspace & WEBP_CSP_UV_MASK) != WEBP_YUV420) { - return WebPEncodingSetError(picture, VP8_ENC_ERROR_INVALID_CONFIGURATION); - } else { - const uint8_t* const argb = (const uint8_t*)picture->argb; - const uint8_t* const a = argb + CHANNEL_OFFSET(0); - const uint8_t* const r = argb + CHANNEL_OFFSET(1); - const uint8_t* const g = argb + CHANNEL_OFFSET(2); - const uint8_t* const b = argb + CHANNEL_OFFSET(3); - - picture->colorspace = WEBP_YUV420; - return ImportYUVAFromRGBA(r, g, b, a, 4, 4 * picture->argb_stride, - dithering, use_iterative_conversion, picture); - } -} - -int WebPPictureARGBToYUVADithered(WebPPicture* picture, WebPEncCSP colorspace, - float dithering) { - return PictureARGBToYUVA(picture, colorspace, dithering, 0); -} - -int WebPPictureARGBToYUVA(WebPPicture* picture, WebPEncCSP colorspace) { - return PictureARGBToYUVA(picture, colorspace, 0.f, 0); -} - -int WebPPictureSharpARGBToYUVA(WebPPicture* picture) { - return PictureARGBToYUVA(picture, WEBP_YUV420, 0.f, 1); -} -// for backward compatibility -int WebPPictureSmartARGBToYUVA(WebPPicture* picture) { - return WebPPictureSharpARGBToYUVA(picture); -} - -//------------------------------------------------------------------------------ -// call for YUVA -> ARGB conversion - -int WebPPictureYUVAToARGB(WebPPicture* picture) { - if (picture == NULL) return 0; - if (picture->y == NULL || picture->u == NULL || picture->v == NULL) { - return WebPEncodingSetError(picture, VP8_ENC_ERROR_NULL_PARAMETER); - } - if ((picture->colorspace & WEBP_CSP_ALPHA_BIT) && picture->a == NULL) { - return WebPEncodingSetError(picture, VP8_ENC_ERROR_NULL_PARAMETER); - } - if ((picture->colorspace & WEBP_CSP_UV_MASK) != WEBP_YUV420) { - return WebPEncodingSetError(picture, VP8_ENC_ERROR_INVALID_CONFIGURATION); - } - // Allocate a new argb buffer (discarding the previous one). - if (!WebPPictureAllocARGB(picture, picture->width, picture->height)) return 0; - picture->use_argb = 1; - - // Convert - { - int y; - const int width = picture->width; - const int height = picture->height; - const int argb_stride = 4 * picture->argb_stride; - uint8_t* dst = (uint8_t*)picture->argb; - const uint8_t* cur_u = picture->u, *cur_v = picture->v, *cur_y = picture->y; - WebPUpsampleLinePairFunc upsample = - WebPGetLinePairConverter(ALPHA_OFFSET > 0); - - // First row, with replicated top samples. - upsample(cur_y, NULL, cur_u, cur_v, cur_u, cur_v, dst, NULL, width); - cur_y += picture->y_stride; - dst += argb_stride; - // Center rows. - for (y = 1; y + 1 < height; y += 2) { - const uint8_t* const top_u = cur_u; - const uint8_t* const top_v = cur_v; - cur_u += picture->uv_stride; - cur_v += picture->uv_stride; - upsample(cur_y, cur_y + picture->y_stride, top_u, top_v, cur_u, cur_v, - dst, dst + argb_stride, width); - cur_y += 2 * picture->y_stride; - dst += 2 * argb_stride; - } - // Last row (if needed), with replicated bottom samples. - if (height > 1 && !(height & 1)) { - upsample(cur_y, NULL, cur_u, cur_v, cur_u, cur_v, dst, NULL, width); - } - // Insert alpha values if needed, in replacement for the default 0xff ones. - if (picture->colorspace & WEBP_CSP_ALPHA_BIT) { - for (y = 0; y < height; ++y) { - uint32_t* const argb_dst = picture->argb + y * picture->argb_stride; - const uint8_t* const src = picture->a + y * picture->a_stride; - int x; - for (x = 0; x < width; ++x) { - argb_dst[x] = (argb_dst[x] & 0x00ffffffu) | ((uint32_t)src[x] << 24); - } - } - } - } - return 1; -} - -//------------------------------------------------------------------------------ -// automatic import / conversion - -static int Import(WebPPicture* const picture, - const uint8_t* rgb, int rgb_stride, - int step, int swap_rb, int import_alpha) { - int y; - // swap_rb -> b,g,r,a , !swap_rb -> r,g,b,a - const uint8_t* r_ptr = rgb + (swap_rb ? 2 : 0); - const uint8_t* g_ptr = rgb + 1; - const uint8_t* b_ptr = rgb + (swap_rb ? 0 : 2); - const int width = picture->width; - const int height = picture->height; - - if (!picture->use_argb) { - const uint8_t* a_ptr = import_alpha ? rgb + 3 : NULL; - return ImportYUVAFromRGBA(r_ptr, g_ptr, b_ptr, a_ptr, step, rgb_stride, - 0.f /* no dithering */, 0, picture); - } - if (!WebPPictureAlloc(picture)) return 0; - - VP8LDspInit(); - WebPInitAlphaProcessing(); - - if (import_alpha) { - // dst[] byte order is {a,r,g,b} for big-endian, {b,g,r,a} for little endian - uint32_t* dst = picture->argb; - const int do_copy = (ALPHA_OFFSET == 3) && swap_rb; - assert(step == 4); - if (do_copy) { - for (y = 0; y < height; ++y) { - memcpy(dst, rgb, width * 4); - rgb += rgb_stride; - dst += picture->argb_stride; - } - } else { - for (y = 0; y < height; ++y) { -#ifdef WORDS_BIGENDIAN - // BGRA or RGBA input order. - const uint8_t* a_ptr = rgb + 3; - WebPPackARGB(a_ptr, r_ptr, g_ptr, b_ptr, width, dst); - r_ptr += rgb_stride; - g_ptr += rgb_stride; - b_ptr += rgb_stride; -#else - // RGBA input order. Need to swap R and B. - VP8LConvertBGRAToRGBA((const uint32_t*)rgb, width, (uint8_t*)dst); -#endif - rgb += rgb_stride; - dst += picture->argb_stride; - } - } - } else { - uint32_t* dst = picture->argb; - assert(step >= 3); - for (y = 0; y < height; ++y) { - WebPPackRGB(r_ptr, g_ptr, b_ptr, width, step, dst); - r_ptr += rgb_stride; - g_ptr += rgb_stride; - b_ptr += rgb_stride; - dst += picture->argb_stride; - } - } - return 1; -} - -// Public API - -#if !defined(WEBP_REDUCE_CSP) - -int WebPPictureImportBGR(WebPPicture* picture, - const uint8_t* rgb, int rgb_stride) { - return (picture != NULL && rgb != NULL) - ? Import(picture, rgb, rgb_stride, 3, 1, 0) - : 0; -} - -int WebPPictureImportBGRA(WebPPicture* picture, - const uint8_t* rgba, int rgba_stride) { - return (picture != NULL && rgba != NULL) - ? Import(picture, rgba, rgba_stride, 4, 1, 1) - : 0; -} - - -int WebPPictureImportBGRX(WebPPicture* picture, - const uint8_t* rgba, int rgba_stride) { - return (picture != NULL && rgba != NULL) - ? Import(picture, rgba, rgba_stride, 4, 1, 0) - : 0; -} - -#endif // WEBP_REDUCE_CSP - -int WebPPictureImportRGB(WebPPicture* picture, - const uint8_t* rgb, int rgb_stride) { - return (picture != NULL && rgb != NULL) - ? Import(picture, rgb, rgb_stride, 3, 0, 0) - : 0; -} - -int WebPPictureImportRGBA(WebPPicture* picture, - const uint8_t* rgba, int rgba_stride) { - return (picture != NULL && rgba != NULL) - ? Import(picture, rgba, rgba_stride, 4, 0, 1) - : 0; -} - -int WebPPictureImportRGBX(WebPPicture* picture, - const uint8_t* rgba, int rgba_stride) { - return (picture != NULL && rgba != NULL) - ? Import(picture, rgba, rgba_stride, 4, 0, 0) - : 0; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_enc.c deleted file mode 100644 index c691622d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_enc.c +++ /dev/null @@ -1,296 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebPPicture class basis -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include - -#include "src/enc/vp8i_enc.h" -#include "src/dsp/dsp.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// WebPPicture -//------------------------------------------------------------------------------ - -static int DummyWriter(const uint8_t* data, size_t data_size, - const WebPPicture* const picture) { - // The following are to prevent 'unused variable' error message. - (void)data; - (void)data_size; - (void)picture; - return 1; -} - -int WebPPictureInitInternal(WebPPicture* picture, int version) { - if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_ENCODER_ABI_VERSION)) { - return 0; // caller/system version mismatch! - } - if (picture != NULL) { - memset(picture, 0, sizeof(*picture)); - picture->writer = DummyWriter; - WebPEncodingSetError(picture, VP8_ENC_OK); - } - return 1; -} - -//------------------------------------------------------------------------------ - -static void WebPPictureResetBufferARGB(WebPPicture* const picture) { - picture->memory_argb_ = NULL; - picture->argb = NULL; - picture->argb_stride = 0; -} - -static void WebPPictureResetBufferYUVA(WebPPicture* const picture) { - picture->memory_ = NULL; - picture->y = picture->u = picture->v = picture->a = NULL; - picture->y_stride = picture->uv_stride = 0; - picture->a_stride = 0; -} - -void WebPPictureResetBuffers(WebPPicture* const picture) { - WebPPictureResetBufferARGB(picture); - WebPPictureResetBufferYUVA(picture); -} - -int WebPPictureAllocARGB(WebPPicture* const picture, int width, int height) { - void* memory; - const uint64_t argb_size = (uint64_t)width * height; - - assert(picture != NULL); - - WebPSafeFree(picture->memory_argb_); - WebPPictureResetBufferARGB(picture); - - if (width <= 0 || height <= 0) { - return WebPEncodingSetError(picture, VP8_ENC_ERROR_BAD_DIMENSION); - } - // allocate a new buffer. - memory = WebPSafeMalloc(argb_size + WEBP_ALIGN_CST, sizeof(*picture->argb)); - if (memory == NULL) { - return WebPEncodingSetError(picture, VP8_ENC_ERROR_OUT_OF_MEMORY); - } - picture->memory_argb_ = memory; - picture->argb = (uint32_t*)WEBP_ALIGN(memory); - picture->argb_stride = width; - return 1; -} - -int WebPPictureAllocYUVA(WebPPicture* const picture, int width, int height) { - const WebPEncCSP uv_csp = - (WebPEncCSP)((int)picture->colorspace & WEBP_CSP_UV_MASK); - const int has_alpha = (int)picture->colorspace & WEBP_CSP_ALPHA_BIT; - const int y_stride = width; - const int uv_width = (int)(((int64_t)width + 1) >> 1); - const int uv_height = (int)(((int64_t)height + 1) >> 1); - const int uv_stride = uv_width; - int a_width, a_stride; - uint64_t y_size, uv_size, a_size, total_size; - uint8_t* mem; - - assert(picture != NULL); - - WebPSafeFree(picture->memory_); - WebPPictureResetBufferYUVA(picture); - - if (uv_csp != WEBP_YUV420) { - return WebPEncodingSetError(picture, VP8_ENC_ERROR_INVALID_CONFIGURATION); - } - - // alpha - a_width = has_alpha ? width : 0; - a_stride = a_width; - y_size = (uint64_t)y_stride * height; - uv_size = (uint64_t)uv_stride * uv_height; - a_size = (uint64_t)a_stride * height; - - total_size = y_size + a_size + 2 * uv_size; - - // Security and validation checks - if (width <= 0 || height <= 0 || // luma/alpha param error - uv_width <= 0 || uv_height <= 0) { // u/v param error - return WebPEncodingSetError(picture, VP8_ENC_ERROR_BAD_DIMENSION); - } - // allocate a new buffer. - mem = (uint8_t*)WebPSafeMalloc(total_size, sizeof(*mem)); - if (mem == NULL) { - return WebPEncodingSetError(picture, VP8_ENC_ERROR_OUT_OF_MEMORY); - } - - // From now on, we're in the clear, we can no longer fail... - picture->memory_ = (void*)mem; - picture->y_stride = y_stride; - picture->uv_stride = uv_stride; - picture->a_stride = a_stride; - - // TODO(skal): we could align the y/u/v planes and adjust stride. - picture->y = mem; - mem += y_size; - - picture->u = mem; - mem += uv_size; - picture->v = mem; - mem += uv_size; - - if (a_size > 0) { - picture->a = mem; - mem += a_size; - } - (void)mem; // makes the static analyzer happy - return 1; -} - -int WebPPictureAlloc(WebPPicture* picture) { - if (picture != NULL) { - const int width = picture->width; - const int height = picture->height; - - WebPPictureFree(picture); // erase previous buffer - - if (!picture->use_argb) { - return WebPPictureAllocYUVA(picture, width, height); - } else { - return WebPPictureAllocARGB(picture, width, height); - } - } - return 1; -} - -void WebPPictureFree(WebPPicture* picture) { - if (picture != NULL) { - WebPSafeFree(picture->memory_); - WebPSafeFree(picture->memory_argb_); - WebPPictureResetBuffers(picture); - } -} - -//------------------------------------------------------------------------------ -// WebPMemoryWriter: Write-to-memory - -void WebPMemoryWriterInit(WebPMemoryWriter* writer) { - writer->mem = NULL; - writer->size = 0; - writer->max_size = 0; -} - -int WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture) { - WebPMemoryWriter* const w = (WebPMemoryWriter*)picture->custom_ptr; - uint64_t next_size; - if (w == NULL) { - return 1; - } - next_size = (uint64_t)w->size + data_size; - if (next_size > w->max_size) { - uint8_t* new_mem; - uint64_t next_max_size = 2ULL * w->max_size; - if (next_max_size < next_size) next_max_size = next_size; - if (next_max_size < 8192ULL) next_max_size = 8192ULL; - new_mem = (uint8_t*)WebPSafeMalloc(next_max_size, 1); - if (new_mem == NULL) { - return 0; - } - if (w->size > 0) { - memcpy(new_mem, w->mem, w->size); - } - WebPSafeFree(w->mem); - w->mem = new_mem; - // down-cast is ok, thanks to WebPSafeMalloc - w->max_size = (size_t)next_max_size; - } - if (data_size > 0) { - memcpy(w->mem + w->size, data, data_size); - w->size += data_size; - } - return 1; -} - -void WebPMemoryWriterClear(WebPMemoryWriter* writer) { - if (writer != NULL) { - WebPSafeFree(writer->mem); - writer->mem = NULL; - writer->size = 0; - writer->max_size = 0; - } -} - -//------------------------------------------------------------------------------ -// Simplest high-level calls: - -typedef int (*Importer)(WebPPicture* const, const uint8_t* const, int); - -static size_t Encode(const uint8_t* rgba, int width, int height, int stride, - Importer import, float quality_factor, int lossless, - uint8_t** output) { - WebPPicture pic; - WebPConfig config; - WebPMemoryWriter wrt; - int ok; - - if (output == NULL) return 0; - - if (!WebPConfigPreset(&config, WEBP_PRESET_DEFAULT, quality_factor) || - !WebPPictureInit(&pic)) { - return 0; // shouldn't happen, except if system installation is broken - } - - config.lossless = !!lossless; - pic.use_argb = !!lossless; - pic.width = width; - pic.height = height; - pic.writer = WebPMemoryWrite; - pic.custom_ptr = &wrt; - WebPMemoryWriterInit(&wrt); - - ok = import(&pic, rgba, stride) && WebPEncode(&config, &pic); - WebPPictureFree(&pic); - if (!ok) { - WebPMemoryWriterClear(&wrt); - *output = NULL; - return 0; - } - *output = wrt.mem; - return wrt.size; -} - -#define ENCODE_FUNC(NAME, IMPORTER) \ -size_t NAME(const uint8_t* in, int w, int h, int bps, float q, \ - uint8_t** out) { \ - return Encode(in, w, h, bps, IMPORTER, q, 0, out); \ -} - -ENCODE_FUNC(WebPEncodeRGB, WebPPictureImportRGB) -ENCODE_FUNC(WebPEncodeRGBA, WebPPictureImportRGBA) -#if !defined(WEBP_REDUCE_CSP) -ENCODE_FUNC(WebPEncodeBGR, WebPPictureImportBGR) -ENCODE_FUNC(WebPEncodeBGRA, WebPPictureImportBGRA) -#endif // WEBP_REDUCE_CSP - -#undef ENCODE_FUNC - -#define LOSSLESS_DEFAULT_QUALITY 70. -#define LOSSLESS_ENCODE_FUNC(NAME, IMPORTER) \ -size_t NAME(const uint8_t* in, int w, int h, int bps, uint8_t** out) { \ - return Encode(in, w, h, bps, IMPORTER, LOSSLESS_DEFAULT_QUALITY, 1, out); \ -} - -LOSSLESS_ENCODE_FUNC(WebPEncodeLosslessRGB, WebPPictureImportRGB) -LOSSLESS_ENCODE_FUNC(WebPEncodeLosslessRGBA, WebPPictureImportRGBA) -#if !defined(WEBP_REDUCE_CSP) -LOSSLESS_ENCODE_FUNC(WebPEncodeLosslessBGR, WebPPictureImportBGR) -LOSSLESS_ENCODE_FUNC(WebPEncodeLosslessBGRA, WebPPictureImportBGRA) -#endif // WEBP_REDUCE_CSP - -#undef LOSSLESS_ENCODE_FUNC - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_psnr_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_psnr_enc.c deleted file mode 100644 index 1a2f0bef..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_psnr_enc.c +++ /dev/null @@ -1,258 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebPPicture tools for measuring distortion -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/webp/encode.h" - -#if !(defined(WEBP_DISABLE_STATS) || defined(WEBP_REDUCE_SIZE)) - -#include -#include - -#include "src/dsp/dsp.h" -#include "src/enc/vp8i_enc.h" -#include "src/utils/utils.h" - -typedef double (*AccumulateFunc)(const uint8_t* src, int src_stride, - const uint8_t* ref, int ref_stride, - int w, int h); - -//------------------------------------------------------------------------------ -// local-min distortion -// -// For every pixel in the *reference* picture, we search for the local best -// match in the compressed image. This is not a symmetrical measure. - -#define RADIUS 2 // search radius. Shouldn't be too large. - -static double AccumulateLSIM(const uint8_t* src, int src_stride, - const uint8_t* ref, int ref_stride, - int w, int h) { - int x, y; - double total_sse = 0.; - for (y = 0; y < h; ++y) { - const int y_0 = (y - RADIUS < 0) ? 0 : y - RADIUS; - const int y_1 = (y + RADIUS + 1 >= h) ? h : y + RADIUS + 1; - for (x = 0; x < w; ++x) { - const int x_0 = (x - RADIUS < 0) ? 0 : x - RADIUS; - const int x_1 = (x + RADIUS + 1 >= w) ? w : x + RADIUS + 1; - double best_sse = 255. * 255.; - const double value = (double)ref[y * ref_stride + x]; - int i, j; - for (j = y_0; j < y_1; ++j) { - const uint8_t* const s = src + j * src_stride; - for (i = x_0; i < x_1; ++i) { - const double diff = s[i] - value; - const double sse = diff * diff; - if (sse < best_sse) best_sse = sse; - } - } - total_sse += best_sse; - } - } - return total_sse; -} -#undef RADIUS - -static double AccumulateSSE(const uint8_t* src, int src_stride, - const uint8_t* ref, int ref_stride, - int w, int h) { - int y; - double total_sse = 0.; - for (y = 0; y < h; ++y) { - total_sse += VP8AccumulateSSE(src, ref, w); - src += src_stride; - ref += ref_stride; - } - return total_sse; -} - -//------------------------------------------------------------------------------ - -static double AccumulateSSIM(const uint8_t* src, int src_stride, - const uint8_t* ref, int ref_stride, - int w, int h) { - const int w0 = (w < VP8_SSIM_KERNEL) ? w : VP8_SSIM_KERNEL; - const int w1 = w - VP8_SSIM_KERNEL - 1; - const int h0 = (h < VP8_SSIM_KERNEL) ? h : VP8_SSIM_KERNEL; - const int h1 = h - VP8_SSIM_KERNEL - 1; - int x, y; - double sum = 0.; - for (y = 0; y < h0; ++y) { - for (x = 0; x < w; ++x) { - sum += VP8SSIMGetClipped(src, src_stride, ref, ref_stride, x, y, w, h); - } - } - for (; y < h1; ++y) { - for (x = 0; x < w0; ++x) { - sum += VP8SSIMGetClipped(src, src_stride, ref, ref_stride, x, y, w, h); - } - for (; x < w1; ++x) { - const int off1 = x - VP8_SSIM_KERNEL + (y - VP8_SSIM_KERNEL) * src_stride; - const int off2 = x - VP8_SSIM_KERNEL + (y - VP8_SSIM_KERNEL) * ref_stride; - sum += VP8SSIMGet(src + off1, src_stride, ref + off2, ref_stride); - } - for (; x < w; ++x) { - sum += VP8SSIMGetClipped(src, src_stride, ref, ref_stride, x, y, w, h); - } - } - for (; y < h; ++y) { - for (x = 0; x < w; ++x) { - sum += VP8SSIMGetClipped(src, src_stride, ref, ref_stride, x, y, w, h); - } - } - return sum; -} - -//------------------------------------------------------------------------------ -// Distortion - -// Max value returned in case of exact similarity. -static const double kMinDistortion_dB = 99.; - -static double GetPSNR(double v, double size) { - return (v > 0. && size > 0.) ? -4.3429448 * log(v / (size * 255 * 255.)) - : kMinDistortion_dB; -} - -static double GetLogSSIM(double v, double size) { - v = (size > 0.) ? v / size : 1.; - return (v < 1.) ? -10.0 * log10(1. - v) : kMinDistortion_dB; -} - -int WebPPlaneDistortion(const uint8_t* src, size_t src_stride, - const uint8_t* ref, size_t ref_stride, - int width, int height, size_t x_step, - int type, float* distortion, float* result) { - uint8_t* allocated = NULL; - const AccumulateFunc metric = (type == 0) ? AccumulateSSE : - (type == 1) ? AccumulateSSIM : - AccumulateLSIM; - if (src == NULL || ref == NULL || - src_stride < x_step * width || ref_stride < x_step * width || - result == NULL || distortion == NULL) { - return 0; - } - - VP8SSIMDspInit(); - if (x_step != 1) { // extract a packed plane if needed - int x, y; - uint8_t* tmp1; - uint8_t* tmp2; - allocated = - (uint8_t*)WebPSafeMalloc(2ULL * width * height, sizeof(*allocated)); - if (allocated == NULL) return 0; - tmp1 = allocated; - tmp2 = tmp1 + (size_t)width * height; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - tmp1[x + y * width] = src[x * x_step + y * src_stride]; - tmp2[x + y * width] = ref[x * x_step + y * ref_stride]; - } - } - src = tmp1; - ref = tmp2; - } - *distortion = (float)metric(src, width, ref, width, width, height); - WebPSafeFree(allocated); - - *result = (type == 1) ? (float)GetLogSSIM(*distortion, (double)width * height) - : (float)GetPSNR(*distortion, (double)width * height); - return 1; -} - -#ifdef WORDS_BIGENDIAN -#define BLUE_OFFSET 3 // uint32_t 0x000000ff is 0x00,00,00,ff in memory -#else -#define BLUE_OFFSET 0 // uint32_t 0x000000ff is 0xff,00,00,00 in memory -#endif - -int WebPPictureDistortion(const WebPPicture* src, const WebPPicture* ref, - int type, float results[5]) { - int w, h, c; - int ok = 0; - WebPPicture p0, p1; - double total_size = 0., total_distortion = 0.; - if (src == NULL || ref == NULL || - src->width != ref->width || src->height != ref->height || - results == NULL) { - return 0; - } - - VP8SSIMDspInit(); - if (!WebPPictureInit(&p0) || !WebPPictureInit(&p1)) return 0; - w = src->width; - h = src->height; - if (!WebPPictureView(src, 0, 0, w, h, &p0)) goto Error; - if (!WebPPictureView(ref, 0, 0, w, h, &p1)) goto Error; - - // We always measure distortion in ARGB space. - if (p0.use_argb == 0 && !WebPPictureYUVAToARGB(&p0)) goto Error; - if (p1.use_argb == 0 && !WebPPictureYUVAToARGB(&p1)) goto Error; - for (c = 0; c < 4; ++c) { - float distortion; - const size_t stride0 = 4 * (size_t)p0.argb_stride; - const size_t stride1 = 4 * (size_t)p1.argb_stride; - // results are reported as BGRA - const int offset = c ^ BLUE_OFFSET; - if (!WebPPlaneDistortion((const uint8_t*)p0.argb + offset, stride0, - (const uint8_t*)p1.argb + offset, stride1, - w, h, 4, type, &distortion, results + c)) { - goto Error; - } - total_distortion += distortion; - total_size += w * h; - } - - results[4] = (type == 1) ? (float)GetLogSSIM(total_distortion, total_size) - : (float)GetPSNR(total_distortion, total_size); - ok = 1; - - Error: - WebPPictureFree(&p0); - WebPPictureFree(&p1); - return ok; -} - -#undef BLUE_OFFSET - -#else // defined(WEBP_DISABLE_STATS) -int WebPPlaneDistortion(const uint8_t* src, size_t src_stride, - const uint8_t* ref, size_t ref_stride, - int width, int height, size_t x_step, - int type, float* distortion, float* result) { - (void)src; - (void)src_stride; - (void)ref; - (void)ref_stride; - (void)width; - (void)height; - (void)x_step; - (void)type; - if (distortion == NULL || result == NULL) return 0; - *distortion = 0.f; - *result = 0.f; - return 1; -} - -int WebPPictureDistortion(const WebPPicture* src, const WebPPicture* ref, - int type, float results[5]) { - int i; - (void)src; - (void)ref; - (void)type; - if (results == NULL) return 0; - for (i = 0; i < 5; ++i) results[i] = 0.f; - return 1; -} - -#endif // !defined(WEBP_DISABLE_STATS) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_rescale_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_rescale_enc.c deleted file mode 100644 index 58a6ae7b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_rescale_enc.c +++ /dev/null @@ -1,309 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebPPicture tools: copy, crop, rescaling and view. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/webp/encode.h" - -#if !defined(WEBP_REDUCE_SIZE) - -#include -#include - -#include "src/enc/vp8i_enc.h" -#include "src/utils/rescaler_utils.h" -#include "src/utils/utils.h" - -#define HALVE(x) (((x) + 1) >> 1) - -// Grab the 'specs' (writer, *opaque, width, height...) from 'src' and copy them -// into 'dst'. Mark 'dst' as not owning any memory. -static void PictureGrabSpecs(const WebPPicture* const src, - WebPPicture* const dst) { - assert(src != NULL && dst != NULL); - *dst = *src; - WebPPictureResetBuffers(dst); -} - -//------------------------------------------------------------------------------ - -// Adjust top-left corner to chroma sample position. -static void SnapTopLeftPosition(const WebPPicture* const pic, - int* const left, int* const top) { - if (!pic->use_argb) { - *left &= ~1; - *top &= ~1; - } -} - -// Adjust top-left corner and verify that the sub-rectangle is valid. -static int AdjustAndCheckRectangle(const WebPPicture* const pic, - int* const left, int* const top, - int width, int height) { - SnapTopLeftPosition(pic, left, top); - if ((*left) < 0 || (*top) < 0) return 0; - if (width <= 0 || height <= 0) return 0; - if ((*left) + width > pic->width) return 0; - if ((*top) + height > pic->height) return 0; - return 1; -} - -int WebPPictureCopy(const WebPPicture* src, WebPPicture* dst) { - if (src == NULL || dst == NULL) return 0; - if (src == dst) return 1; - - PictureGrabSpecs(src, dst); - if (!WebPPictureAlloc(dst)) return 0; - - if (!src->use_argb) { - WebPCopyPlane(src->y, src->y_stride, - dst->y, dst->y_stride, dst->width, dst->height); - WebPCopyPlane(src->u, src->uv_stride, dst->u, dst->uv_stride, - HALVE(dst->width), HALVE(dst->height)); - WebPCopyPlane(src->v, src->uv_stride, dst->v, dst->uv_stride, - HALVE(dst->width), HALVE(dst->height)); - if (dst->a != NULL) { - WebPCopyPlane(src->a, src->a_stride, - dst->a, dst->a_stride, dst->width, dst->height); - } - } else { - WebPCopyPlane((const uint8_t*)src->argb, 4 * src->argb_stride, - (uint8_t*)dst->argb, 4 * dst->argb_stride, - 4 * dst->width, dst->height); - } - return 1; -} - -int WebPPictureIsView(const WebPPicture* picture) { - if (picture == NULL) return 0; - if (picture->use_argb) { - return (picture->memory_argb_ == NULL); - } - return (picture->memory_ == NULL); -} - -int WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst) { - if (src == NULL || dst == NULL) return 0; - - // verify rectangle position. - if (!AdjustAndCheckRectangle(src, &left, &top, width, height)) return 0; - - if (src != dst) { // beware of aliasing! We don't want to leak 'memory_'. - PictureGrabSpecs(src, dst); - } - dst->width = width; - dst->height = height; - if (!src->use_argb) { - dst->y = src->y + top * src->y_stride + left; - dst->u = src->u + (top >> 1) * src->uv_stride + (left >> 1); - dst->v = src->v + (top >> 1) * src->uv_stride + (left >> 1); - dst->y_stride = src->y_stride; - dst->uv_stride = src->uv_stride; - if (src->a != NULL) { - dst->a = src->a + top * src->a_stride + left; - dst->a_stride = src->a_stride; - } - } else { - dst->argb = src->argb + top * src->argb_stride + left; - dst->argb_stride = src->argb_stride; - } - return 1; -} - -//------------------------------------------------------------------------------ -// Picture cropping - -int WebPPictureCrop(WebPPicture* pic, - int left, int top, int width, int height) { - WebPPicture tmp; - - if (pic == NULL) return 0; - if (!AdjustAndCheckRectangle(pic, &left, &top, width, height)) return 0; - - PictureGrabSpecs(pic, &tmp); - tmp.width = width; - tmp.height = height; - if (!WebPPictureAlloc(&tmp)) return 0; - - if (!pic->use_argb) { - const int y_offset = top * pic->y_stride + left; - const int uv_offset = (top / 2) * pic->uv_stride + left / 2; - WebPCopyPlane(pic->y + y_offset, pic->y_stride, - tmp.y, tmp.y_stride, width, height); - WebPCopyPlane(pic->u + uv_offset, pic->uv_stride, - tmp.u, tmp.uv_stride, HALVE(width), HALVE(height)); - WebPCopyPlane(pic->v + uv_offset, pic->uv_stride, - tmp.v, tmp.uv_stride, HALVE(width), HALVE(height)); - - if (tmp.a != NULL) { - const int a_offset = top * pic->a_stride + left; - WebPCopyPlane(pic->a + a_offset, pic->a_stride, - tmp.a, tmp.a_stride, width, height); - } - } else { - const uint8_t* const src = - (const uint8_t*)(pic->argb + top * pic->argb_stride + left); - WebPCopyPlane(src, pic->argb_stride * 4, (uint8_t*)tmp.argb, - tmp.argb_stride * 4, width * 4, height); - } - WebPPictureFree(pic); - *pic = tmp; - return 1; -} - -//------------------------------------------------------------------------------ -// Simple picture rescaler - -static void RescalePlane(const uint8_t* src, - int src_width, int src_height, int src_stride, - uint8_t* dst, - int dst_width, int dst_height, int dst_stride, - rescaler_t* const work, - int num_channels) { - WebPRescaler rescaler; - int y = 0; - WebPRescalerInit(&rescaler, src_width, src_height, - dst, dst_width, dst_height, dst_stride, - num_channels, work); - while (y < src_height) { - y += WebPRescalerImport(&rescaler, src_height - y, - src + y * src_stride, src_stride); - WebPRescalerExport(&rescaler); - } -} - -static void AlphaMultiplyARGB(WebPPicture* const pic, int inverse) { - assert(pic->argb != NULL); - WebPMultARGBRows((uint8_t*)pic->argb, pic->argb_stride * sizeof(*pic->argb), - pic->width, pic->height, inverse); -} - -static void AlphaMultiplyY(WebPPicture* const pic, int inverse) { - if (pic->a != NULL) { - WebPMultRows(pic->y, pic->y_stride, pic->a, pic->a_stride, - pic->width, pic->height, inverse); - } -} - -int WebPPictureRescale(WebPPicture* pic, int width, int height) { - WebPPicture tmp; - int prev_width, prev_height; - rescaler_t* work; - - if (pic == NULL) return 0; - prev_width = pic->width; - prev_height = pic->height; - if (!WebPRescalerGetScaledDimensions( - prev_width, prev_height, &width, &height)) { - return 0; - } - - PictureGrabSpecs(pic, &tmp); - tmp.width = width; - tmp.height = height; - if (!WebPPictureAlloc(&tmp)) return 0; - - if (!pic->use_argb) { - work = (rescaler_t*)WebPSafeMalloc(2ULL * width, sizeof(*work)); - if (work == NULL) { - WebPPictureFree(&tmp); - return 0; - } - // If present, we need to rescale alpha first (for AlphaMultiplyY). - if (pic->a != NULL) { - WebPInitAlphaProcessing(); - RescalePlane(pic->a, prev_width, prev_height, pic->a_stride, - tmp.a, width, height, tmp.a_stride, work, 1); - } - - // We take transparency into account on the luma plane only. That's not - // totally exact blending, but still is a good approximation. - AlphaMultiplyY(pic, 0); - RescalePlane(pic->y, prev_width, prev_height, pic->y_stride, - tmp.y, width, height, tmp.y_stride, work, 1); - AlphaMultiplyY(&tmp, 1); - - RescalePlane(pic->u, - HALVE(prev_width), HALVE(prev_height), pic->uv_stride, - tmp.u, - HALVE(width), HALVE(height), tmp.uv_stride, work, 1); - RescalePlane(pic->v, - HALVE(prev_width), HALVE(prev_height), pic->uv_stride, - tmp.v, - HALVE(width), HALVE(height), tmp.uv_stride, work, 1); - } else { - work = (rescaler_t*)WebPSafeMalloc(2ULL * width * 4, sizeof(*work)); - if (work == NULL) { - WebPPictureFree(&tmp); - return 0; - } - // In order to correctly interpolate colors, we need to apply the alpha - // weighting first (black-matting), scale the RGB values, and remove - // the premultiplication afterward (while preserving the alpha channel). - WebPInitAlphaProcessing(); - AlphaMultiplyARGB(pic, 0); - RescalePlane((const uint8_t*)pic->argb, prev_width, prev_height, - pic->argb_stride * 4, - (uint8_t*)tmp.argb, width, height, - tmp.argb_stride * 4, - work, 4); - AlphaMultiplyARGB(&tmp, 1); - } - WebPPictureFree(pic); - WebPSafeFree(work); - *pic = tmp; - return 1; -} - -#else // defined(WEBP_REDUCE_SIZE) - -int WebPPictureCopy(const WebPPicture* src, WebPPicture* dst) { - (void)src; - (void)dst; - return 0; -} - -int WebPPictureIsView(const WebPPicture* picture) { - (void)picture; - return 0; -} - -int WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst) { - (void)src; - (void)left; - (void)top; - (void)width; - (void)height; - (void)dst; - return 0; -} - -int WebPPictureCrop(WebPPicture* pic, - int left, int top, int width, int height) { - (void)pic; - (void)left; - (void)top; - (void)width; - (void)height; - return 0; -} - -int WebPPictureRescale(WebPPicture* pic, int width, int height) { - (void)pic; - (void)width; - (void)height; - return 0; -} -#endif // !defined(WEBP_REDUCE_SIZE) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_tools_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_tools_enc.c deleted file mode 100644 index d0e8a495..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/picture_tools_enc.c +++ /dev/null @@ -1,278 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebPPicture tools: alpha handling, etc. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include - -#include "src/enc/vp8i_enc.h" -#include "src/dsp/yuv.h" - -//------------------------------------------------------------------------------ -// Helper: clean up fully transparent area to help compressibility. - -#define SIZE 8 -#define SIZE2 (SIZE / 2) -static int IsTransparentARGBArea(const uint32_t* ptr, int stride, int size) { - int y, x; - for (y = 0; y < size; ++y) { - for (x = 0; x < size; ++x) { - if (ptr[x] & 0xff000000u) { - return 0; - } - } - ptr += stride; - } - return 1; -} - -static void Flatten(uint8_t* ptr, int v, int stride, int size) { - int y; - for (y = 0; y < size; ++y) { - memset(ptr, v, size); - ptr += stride; - } -} - -static void FlattenARGB(uint32_t* ptr, uint32_t v, int stride, int size) { - int x, y; - for (y = 0; y < size; ++y) { - for (x = 0; x < size; ++x) ptr[x] = v; - ptr += stride; - } -} - -// Smoothen the luma components of transparent pixels. Return true if the whole -// block is transparent. -static int SmoothenBlock(const uint8_t* a_ptr, int a_stride, uint8_t* y_ptr, - int y_stride, int width, int height) { - int sum = 0, count = 0; - int x, y; - const uint8_t* alpha_ptr = a_ptr; - uint8_t* luma_ptr = y_ptr; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - if (alpha_ptr[x] != 0) { - ++count; - sum += luma_ptr[x]; - } - } - alpha_ptr += a_stride; - luma_ptr += y_stride; - } - if (count > 0 && count < width * height) { - const uint8_t avg_u8 = (uint8_t)(sum / count); - alpha_ptr = a_ptr; - luma_ptr = y_ptr; - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - if (alpha_ptr[x] == 0) luma_ptr[x] = avg_u8; - } - alpha_ptr += a_stride; - luma_ptr += y_stride; - } - } - return (count == 0); -} - -void WebPCleanupTransparentArea(WebPPicture* pic) { - int x, y, w, h; - if (pic == NULL) return; - w = pic->width / SIZE; - h = pic->height / SIZE; - - // note: we ignore the left-overs on right/bottom, except for SmoothenBlock(). - if (pic->use_argb) { - uint32_t argb_value = 0; - for (y = 0; y < h; ++y) { - int need_reset = 1; - for (x = 0; x < w; ++x) { - const int off = (y * pic->argb_stride + x) * SIZE; - if (IsTransparentARGBArea(pic->argb + off, pic->argb_stride, SIZE)) { - if (need_reset) { - argb_value = pic->argb[off]; - need_reset = 0; - } - FlattenARGB(pic->argb + off, argb_value, pic->argb_stride, SIZE); - } else { - need_reset = 1; - } - } - } - } else { - const int width = pic->width; - const int height = pic->height; - const int y_stride = pic->y_stride; - const int uv_stride = pic->uv_stride; - const int a_stride = pic->a_stride; - uint8_t* y_ptr = pic->y; - uint8_t* u_ptr = pic->u; - uint8_t* v_ptr = pic->v; - const uint8_t* a_ptr = pic->a; - int values[3] = { 0 }; - if (a_ptr == NULL || y_ptr == NULL || u_ptr == NULL || v_ptr == NULL) { - return; - } - for (y = 0; y + SIZE <= height; y += SIZE) { - int need_reset = 1; - for (x = 0; x + SIZE <= width; x += SIZE) { - if (SmoothenBlock(a_ptr + x, a_stride, y_ptr + x, y_stride, - SIZE, SIZE)) { - if (need_reset) { - values[0] = y_ptr[x]; - values[1] = u_ptr[x >> 1]; - values[2] = v_ptr[x >> 1]; - need_reset = 0; - } - Flatten(y_ptr + x, values[0], y_stride, SIZE); - Flatten(u_ptr + (x >> 1), values[1], uv_stride, SIZE2); - Flatten(v_ptr + (x >> 1), values[2], uv_stride, SIZE2); - } else { - need_reset = 1; - } - } - if (x < width) { - SmoothenBlock(a_ptr + x, a_stride, y_ptr + x, y_stride, - width - x, SIZE); - } - a_ptr += SIZE * a_stride; - y_ptr += SIZE * y_stride; - u_ptr += SIZE2 * uv_stride; - v_ptr += SIZE2 * uv_stride; - } - if (y < height) { - const int sub_height = height - y; - for (x = 0; x + SIZE <= width; x += SIZE) { - SmoothenBlock(a_ptr + x, a_stride, y_ptr + x, y_stride, - SIZE, sub_height); - } - if (x < width) { - SmoothenBlock(a_ptr + x, a_stride, y_ptr + x, y_stride, - width - x, sub_height); - } - } - } -} - -#undef SIZE -#undef SIZE2 - -void WebPCleanupTransparentAreaLossless(WebPPicture* const pic) { - int x, y, w, h; - uint32_t* argb; - assert(pic != NULL && pic->use_argb); - w = pic->width; - h = pic->height; - argb = pic->argb; - - for (y = 0; y < h; ++y) { - for (x = 0; x < w; ++x) { - if ((argb[x] & 0xff000000) == 0) { - argb[x] = 0x00000000; - } - } - argb += pic->argb_stride; - } -} - -//------------------------------------------------------------------------------ -// Blend color and remove transparency info - -#define BLEND(V0, V1, ALPHA) \ - ((((V0) * (255 - (ALPHA)) + (V1) * (ALPHA)) * 0x101 + 256) >> 16) -#define BLEND_10BIT(V0, V1, ALPHA) \ - ((((V0) * (1020 - (ALPHA)) + (V1) * (ALPHA)) * 0x101 + 1024) >> 18) - -static WEBP_INLINE uint32_t MakeARGB32(int r, int g, int b) { - return (0xff000000u | (r << 16) | (g << 8) | b); -} - -void WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb) { - const int red = (background_rgb >> 16) & 0xff; - const int green = (background_rgb >> 8) & 0xff; - const int blue = (background_rgb >> 0) & 0xff; - int x, y; - if (pic == NULL) return; - if (!pic->use_argb) { - const int uv_width = (pic->width >> 1); // omit last pixel during u/v loop - const int Y0 = VP8RGBToY(red, green, blue, YUV_HALF); - // VP8RGBToU/V expects the u/v values summed over four pixels - const int U0 = VP8RGBToU(4 * red, 4 * green, 4 * blue, 4 * YUV_HALF); - const int V0 = VP8RGBToV(4 * red, 4 * green, 4 * blue, 4 * YUV_HALF); - const int has_alpha = pic->colorspace & WEBP_CSP_ALPHA_BIT; - uint8_t* y_ptr = pic->y; - uint8_t* u_ptr = pic->u; - uint8_t* v_ptr = pic->v; - uint8_t* a_ptr = pic->a; - if (!has_alpha || a_ptr == NULL) return; // nothing to do - for (y = 0; y < pic->height; ++y) { - // Luma blending - for (x = 0; x < pic->width; ++x) { - const uint8_t alpha = a_ptr[x]; - if (alpha < 0xff) { - y_ptr[x] = BLEND(Y0, y_ptr[x], alpha); - } - } - // Chroma blending every even line - if ((y & 1) == 0) { - uint8_t* const a_ptr2 = - (y + 1 == pic->height) ? a_ptr : a_ptr + pic->a_stride; - for (x = 0; x < uv_width; ++x) { - // Average four alpha values into a single blending weight. - // TODO(skal): might lead to visible contouring. Can we do better? - const uint32_t alpha = - a_ptr[2 * x + 0] + a_ptr[2 * x + 1] + - a_ptr2[2 * x + 0] + a_ptr2[2 * x + 1]; - u_ptr[x] = BLEND_10BIT(U0, u_ptr[x], alpha); - v_ptr[x] = BLEND_10BIT(V0, v_ptr[x], alpha); - } - if (pic->width & 1) { // rightmost pixel - const uint32_t alpha = 2 * (a_ptr[2 * x + 0] + a_ptr2[2 * x + 0]); - u_ptr[x] = BLEND_10BIT(U0, u_ptr[x], alpha); - v_ptr[x] = BLEND_10BIT(V0, v_ptr[x], alpha); - } - } else { - u_ptr += pic->uv_stride; - v_ptr += pic->uv_stride; - } - memset(a_ptr, 0xff, pic->width); // reset alpha value to opaque - a_ptr += pic->a_stride; - y_ptr += pic->y_stride; - } - } else { - uint32_t* argb = pic->argb; - const uint32_t background = MakeARGB32(red, green, blue); - for (y = 0; y < pic->height; ++y) { - for (x = 0; x < pic->width; ++x) { - const int alpha = (argb[x] >> 24) & 0xff; - if (alpha != 0xff) { - if (alpha > 0) { - int r = (argb[x] >> 16) & 0xff; - int g = (argb[x] >> 8) & 0xff; - int b = (argb[x] >> 0) & 0xff; - r = BLEND(red, r, alpha); - g = BLEND(green, g, alpha); - b = BLEND(blue, b, alpha); - argb[x] = MakeARGB32(r, g, b); - } else { - argb[x] = background; - } - } - } - argb += pic->argb_stride; - } - } -} - -#undef BLEND -#undef BLEND_10BIT - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/predictor_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/predictor_enc.c deleted file mode 100644 index 2e6762ea..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/predictor_enc.c +++ /dev/null @@ -1,772 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Image transform methods for lossless encoder. -// -// Authors: Vikas Arora (vikaas.arora@gmail.com) -// Jyrki Alakuijala (jyrki@google.com) -// Urvang Joshi (urvang@google.com) -// Vincent Rabaud (vrabaud@google.com) - -#include "src/dsp/lossless.h" -#include "src/dsp/lossless_common.h" -#include "src/enc/vp8li_enc.h" - -#define MAX_DIFF_COST (1e30f) - -static const float kSpatialPredictorBias = 15.f; -static const int kPredLowEffort = 11; -static const uint32_t kMaskAlpha = 0xff000000; - -// Mostly used to reduce code size + readability -static WEBP_INLINE int GetMin(int a, int b) { return (a > b) ? b : a; } - -//------------------------------------------------------------------------------ -// Methods to calculate Entropy (Shannon). - -static float PredictionCostSpatial(const int counts[256], int weight_0, - double exp_val) { - const int significant_symbols = 256 >> 4; - const double exp_decay_factor = 0.6; - double bits = weight_0 * counts[0]; - int i; - for (i = 1; i < significant_symbols; ++i) { - bits += exp_val * (counts[i] + counts[256 - i]); - exp_val *= exp_decay_factor; - } - return (float)(-0.1 * bits); -} - -static float PredictionCostSpatialHistogram(const int accumulated[4][256], - const int tile[4][256]) { - int i; - double retval = 0; - for (i = 0; i < 4; ++i) { - const double kExpValue = 0.94; - retval += PredictionCostSpatial(tile[i], 1, kExpValue); - retval += VP8LCombinedShannonEntropy(tile[i], accumulated[i]); - } - return (float)retval; -} - -static WEBP_INLINE void UpdateHisto(int histo_argb[4][256], uint32_t argb) { - ++histo_argb[0][argb >> 24]; - ++histo_argb[1][(argb >> 16) & 0xff]; - ++histo_argb[2][(argb >> 8) & 0xff]; - ++histo_argb[3][argb & 0xff]; -} - -//------------------------------------------------------------------------------ -// Spatial transform functions. - -static WEBP_INLINE void PredictBatch(int mode, int x_start, int y, - int num_pixels, const uint32_t* current, - const uint32_t* upper, uint32_t* out) { - if (x_start == 0) { - if (y == 0) { - // ARGB_BLACK. - VP8LPredictorsSub[0](current, NULL, 1, out); - } else { - // Top one. - VP8LPredictorsSub[2](current, upper, 1, out); - } - ++x_start; - ++out; - --num_pixels; - } - if (y == 0) { - // Left one. - VP8LPredictorsSub[1](current + x_start, NULL, num_pixels, out); - } else { - VP8LPredictorsSub[mode](current + x_start, upper + x_start, num_pixels, - out); - } -} - -#if (WEBP_NEAR_LOSSLESS == 1) -static WEBP_INLINE int GetMax(int a, int b) { return (a < b) ? b : a; } - -static int MaxDiffBetweenPixels(uint32_t p1, uint32_t p2) { - const int diff_a = abs((int)(p1 >> 24) - (int)(p2 >> 24)); - const int diff_r = abs((int)((p1 >> 16) & 0xff) - (int)((p2 >> 16) & 0xff)); - const int diff_g = abs((int)((p1 >> 8) & 0xff) - (int)((p2 >> 8) & 0xff)); - const int diff_b = abs((int)(p1 & 0xff) - (int)(p2 & 0xff)); - return GetMax(GetMax(diff_a, diff_r), GetMax(diff_g, diff_b)); -} - -static int MaxDiffAroundPixel(uint32_t current, uint32_t up, uint32_t down, - uint32_t left, uint32_t right) { - const int diff_up = MaxDiffBetweenPixels(current, up); - const int diff_down = MaxDiffBetweenPixels(current, down); - const int diff_left = MaxDiffBetweenPixels(current, left); - const int diff_right = MaxDiffBetweenPixels(current, right); - return GetMax(GetMax(diff_up, diff_down), GetMax(diff_left, diff_right)); -} - -static uint32_t AddGreenToBlueAndRed(uint32_t argb) { - const uint32_t green = (argb >> 8) & 0xff; - uint32_t red_blue = argb & 0x00ff00ffu; - red_blue += (green << 16) | green; - red_blue &= 0x00ff00ffu; - return (argb & 0xff00ff00u) | red_blue; -} - -static void MaxDiffsForRow(int width, int stride, const uint32_t* const argb, - uint8_t* const max_diffs, int used_subtract_green) { - uint32_t current, up, down, left, right; - int x; - if (width <= 2) return; - current = argb[0]; - right = argb[1]; - if (used_subtract_green) { - current = AddGreenToBlueAndRed(current); - right = AddGreenToBlueAndRed(right); - } - // max_diffs[0] and max_diffs[width - 1] are never used. - for (x = 1; x < width - 1; ++x) { - up = argb[-stride + x]; - down = argb[stride + x]; - left = current; - current = right; - right = argb[x + 1]; - if (used_subtract_green) { - up = AddGreenToBlueAndRed(up); - down = AddGreenToBlueAndRed(down); - right = AddGreenToBlueAndRed(right); - } - max_diffs[x] = MaxDiffAroundPixel(current, up, down, left, right); - } -} - -// Quantize the difference between the actual component value and its prediction -// to a multiple of quantization, working modulo 256, taking care not to cross -// a boundary (inclusive upper limit). -static uint8_t NearLosslessComponent(uint8_t value, uint8_t predict, - uint8_t boundary, int quantization) { - const int residual = (value - predict) & 0xff; - const int boundary_residual = (boundary - predict) & 0xff; - const int lower = residual & ~(quantization - 1); - const int upper = lower + quantization; - // Resolve ties towards a value closer to the prediction (i.e. towards lower - // if value comes after prediction and towards upper otherwise). - const int bias = ((boundary - value) & 0xff) < boundary_residual; - if (residual - lower < upper - residual + bias) { - // lower is closer to residual than upper. - if (residual > boundary_residual && lower <= boundary_residual) { - // Halve quantization step to avoid crossing boundary. This midpoint is - // on the same side of boundary as residual because midpoint >= residual - // (since lower is closer than upper) and residual is above the boundary. - return lower + (quantization >> 1); - } - return lower; - } else { - // upper is closer to residual than lower. - if (residual <= boundary_residual && upper > boundary_residual) { - // Halve quantization step to avoid crossing boundary. This midpoint is - // on the same side of boundary as residual because midpoint <= residual - // (since upper is closer than lower) and residual is below the boundary. - return lower + (quantization >> 1); - } - return upper & 0xff; - } -} - -static WEBP_INLINE uint8_t NearLosslessDiff(uint8_t a, uint8_t b) { - return (uint8_t)((((int)(a) - (int)(b))) & 0xff); -} - -// Quantize every component of the difference between the actual pixel value and -// its prediction to a multiple of a quantization (a power of 2, not larger than -// max_quantization which is a power of 2, smaller than max_diff). Take care if -// value and predict have undergone subtract green, which means that red and -// blue are represented as offsets from green. -static uint32_t NearLossless(uint32_t value, uint32_t predict, - int max_quantization, int max_diff, - int used_subtract_green) { - int quantization; - uint8_t new_green = 0; - uint8_t green_diff = 0; - uint8_t a, r, g, b; - if (max_diff <= 2) { - return VP8LSubPixels(value, predict); - } - quantization = max_quantization; - while (quantization >= max_diff) { - quantization >>= 1; - } - if ((value >> 24) == 0 || (value >> 24) == 0xff) { - // Preserve transparency of fully transparent or fully opaque pixels. - a = NearLosslessDiff((value >> 24) & 0xff, (predict >> 24) & 0xff); - } else { - a = NearLosslessComponent(value >> 24, predict >> 24, 0xff, quantization); - } - g = NearLosslessComponent((value >> 8) & 0xff, (predict >> 8) & 0xff, 0xff, - quantization); - if (used_subtract_green) { - // The green offset will be added to red and blue components during decoding - // to obtain the actual red and blue values. - new_green = ((predict >> 8) + g) & 0xff; - // The amount by which green has been adjusted during quantization. It is - // subtracted from red and blue for compensation, to avoid accumulating two - // quantization errors in them. - green_diff = NearLosslessDiff(new_green, (value >> 8) & 0xff); - } - r = NearLosslessComponent(NearLosslessDiff((value >> 16) & 0xff, green_diff), - (predict >> 16) & 0xff, 0xff - new_green, - quantization); - b = NearLosslessComponent(NearLosslessDiff(value & 0xff, green_diff), - predict & 0xff, 0xff - new_green, quantization); - return ((uint32_t)a << 24) | ((uint32_t)r << 16) | ((uint32_t)g << 8) | b; -} -#endif // (WEBP_NEAR_LOSSLESS == 1) - -// Stores the difference between the pixel and its prediction in "out". -// In case of a lossy encoding, updates the source image to avoid propagating -// the deviation further to pixels which depend on the current pixel for their -// predictions. -static WEBP_INLINE void GetResidual( - int width, int height, uint32_t* const upper_row, - uint32_t* const current_row, const uint8_t* const max_diffs, int mode, - int x_start, int x_end, int y, int max_quantization, int exact, - int used_subtract_green, uint32_t* const out) { - if (exact) { - PredictBatch(mode, x_start, y, x_end - x_start, current_row, upper_row, - out); - } else { - const VP8LPredictorFunc pred_func = VP8LPredictors[mode]; - int x; - for (x = x_start; x < x_end; ++x) { - uint32_t predict; - uint32_t residual; - if (y == 0) { - predict = (x == 0) ? ARGB_BLACK : current_row[x - 1]; // Left. - } else if (x == 0) { - predict = upper_row[x]; // Top. - } else { - predict = pred_func(current_row[x - 1], upper_row + x); - } -#if (WEBP_NEAR_LOSSLESS == 1) - if (max_quantization == 1 || mode == 0 || y == 0 || y == height - 1 || - x == 0 || x == width - 1) { - residual = VP8LSubPixels(current_row[x], predict); - } else { - residual = NearLossless(current_row[x], predict, max_quantization, - max_diffs[x], used_subtract_green); - // Update the source image. - current_row[x] = VP8LAddPixels(predict, residual); - // x is never 0 here so we do not need to update upper_row like below. - } -#else - (void)max_diffs; - (void)height; - (void)max_quantization; - (void)used_subtract_green; - residual = VP8LSubPixels(current_row[x], predict); -#endif - if ((current_row[x] & kMaskAlpha) == 0) { - // If alpha is 0, cleanup RGB. We can choose the RGB values of the - // residual for best compression. The prediction of alpha itself can be - // non-zero and must be kept though. We choose RGB of the residual to be - // 0. - residual &= kMaskAlpha; - // Update the source image. - current_row[x] = predict & ~kMaskAlpha; - // The prediction for the rightmost pixel in a row uses the leftmost - // pixel - // in that row as its top-right context pixel. Hence if we change the - // leftmost pixel of current_row, the corresponding change must be - // applied - // to upper_row as well where top-right context is being read from. - if (x == 0 && y != 0) upper_row[width] = current_row[0]; - } - out[x - x_start] = residual; - } - } -} - -// Returns best predictor and updates the accumulated histogram. -// If max_quantization > 1, assumes that near lossless processing will be -// applied, quantizing residuals to multiples of quantization levels up to -// max_quantization (the actual quantization level depends on smoothness near -// the given pixel). -static int GetBestPredictorForTile(int width, int height, - int tile_x, int tile_y, int bits, - int accumulated[4][256], - uint32_t* const argb_scratch, - const uint32_t* const argb, - int max_quantization, - int exact, int used_subtract_green, - const uint32_t* const modes) { - const int kNumPredModes = 14; - const int start_x = tile_x << bits; - const int start_y = tile_y << bits; - const int tile_size = 1 << bits; - const int max_y = GetMin(tile_size, height - start_y); - const int max_x = GetMin(tile_size, width - start_x); - // Whether there exist columns just outside the tile. - const int have_left = (start_x > 0); - // Position and size of the strip covering the tile and adjacent columns if - // they exist. - const int context_start_x = start_x - have_left; -#if (WEBP_NEAR_LOSSLESS == 1) - const int context_width = max_x + have_left + (max_x < width - start_x); -#endif - const int tiles_per_row = VP8LSubSampleSize(width, bits); - // Prediction modes of the left and above neighbor tiles. - const int left_mode = (tile_x > 0) ? - (modes[tile_y * tiles_per_row + tile_x - 1] >> 8) & 0xff : 0xff; - const int above_mode = (tile_y > 0) ? - (modes[(tile_y - 1) * tiles_per_row + tile_x] >> 8) & 0xff : 0xff; - // The width of upper_row and current_row is one pixel larger than image width - // to allow the top right pixel to point to the leftmost pixel of the next row - // when at the right edge. - uint32_t* upper_row = argb_scratch; - uint32_t* current_row = upper_row + width + 1; - uint8_t* const max_diffs = (uint8_t*)(current_row + width + 1); - float best_diff = MAX_DIFF_COST; - int best_mode = 0; - int mode; - int histo_stack_1[4][256]; - int histo_stack_2[4][256]; - // Need pointers to be able to swap arrays. - int (*histo_argb)[256] = histo_stack_1; - int (*best_histo)[256] = histo_stack_2; - int i, j; - uint32_t residuals[1 << MAX_TRANSFORM_BITS]; - assert(bits <= MAX_TRANSFORM_BITS); - assert(max_x <= (1 << MAX_TRANSFORM_BITS)); - - for (mode = 0; mode < kNumPredModes; ++mode) { - float cur_diff; - int relative_y; - memset(histo_argb, 0, sizeof(histo_stack_1)); - if (start_y > 0) { - // Read the row above the tile which will become the first upper_row. - // Include a pixel to the left if it exists; include a pixel to the right - // in all cases (wrapping to the leftmost pixel of the next row if it does - // not exist). - memcpy(current_row + context_start_x, - argb + (start_y - 1) * width + context_start_x, - sizeof(*argb) * (max_x + have_left + 1)); - } - for (relative_y = 0; relative_y < max_y; ++relative_y) { - const int y = start_y + relative_y; - int relative_x; - uint32_t* tmp = upper_row; - upper_row = current_row; - current_row = tmp; - // Read current_row. Include a pixel to the left if it exists; include a - // pixel to the right in all cases except at the bottom right corner of - // the image (wrapping to the leftmost pixel of the next row if it does - // not exist in the current row). - memcpy(current_row + context_start_x, - argb + y * width + context_start_x, - sizeof(*argb) * (max_x + have_left + (y + 1 < height))); -#if (WEBP_NEAR_LOSSLESS == 1) - if (max_quantization > 1 && y >= 1 && y + 1 < height) { - MaxDiffsForRow(context_width, width, argb + y * width + context_start_x, - max_diffs + context_start_x, used_subtract_green); - } -#endif - - GetResidual(width, height, upper_row, current_row, max_diffs, mode, - start_x, start_x + max_x, y, max_quantization, exact, - used_subtract_green, residuals); - for (relative_x = 0; relative_x < max_x; ++relative_x) { - UpdateHisto(histo_argb, residuals[relative_x]); - } - } - cur_diff = PredictionCostSpatialHistogram( - (const int (*)[256])accumulated, (const int (*)[256])histo_argb); - // Favor keeping the areas locally similar. - if (mode == left_mode) cur_diff -= kSpatialPredictorBias; - if (mode == above_mode) cur_diff -= kSpatialPredictorBias; - - if (cur_diff < best_diff) { - int (*tmp)[256] = histo_argb; - histo_argb = best_histo; - best_histo = tmp; - best_diff = cur_diff; - best_mode = mode; - } - } - - for (i = 0; i < 4; i++) { - for (j = 0; j < 256; j++) { - accumulated[i][j] += best_histo[i][j]; - } - } - - return best_mode; -} - -// Converts pixels of the image to residuals with respect to predictions. -// If max_quantization > 1, applies near lossless processing, quantizing -// residuals to multiples of quantization levels up to max_quantization -// (the actual quantization level depends on smoothness near the given pixel). -static void CopyImageWithPrediction(int width, int height, - int bits, uint32_t* const modes, - uint32_t* const argb_scratch, - uint32_t* const argb, - int low_effort, int max_quantization, - int exact, int used_subtract_green) { - const int tiles_per_row = VP8LSubSampleSize(width, bits); - // The width of upper_row and current_row is one pixel larger than image width - // to allow the top right pixel to point to the leftmost pixel of the next row - // when at the right edge. - uint32_t* upper_row = argb_scratch; - uint32_t* current_row = upper_row + width + 1; - uint8_t* current_max_diffs = (uint8_t*)(current_row + width + 1); -#if (WEBP_NEAR_LOSSLESS == 1) - uint8_t* lower_max_diffs = current_max_diffs + width; -#endif - int y; - - for (y = 0; y < height; ++y) { - int x; - uint32_t* const tmp32 = upper_row; - upper_row = current_row; - current_row = tmp32; - memcpy(current_row, argb + y * width, - sizeof(*argb) * (width + (y + 1 < height))); - - if (low_effort) { - PredictBatch(kPredLowEffort, 0, y, width, current_row, upper_row, - argb + y * width); - } else { -#if (WEBP_NEAR_LOSSLESS == 1) - if (max_quantization > 1) { - // Compute max_diffs for the lower row now, because that needs the - // contents of argb for the current row, which we will overwrite with - // residuals before proceeding with the next row. - uint8_t* const tmp8 = current_max_diffs; - current_max_diffs = lower_max_diffs; - lower_max_diffs = tmp8; - if (y + 2 < height) { - MaxDiffsForRow(width, width, argb + (y + 1) * width, lower_max_diffs, - used_subtract_green); - } - } -#endif - for (x = 0; x < width;) { - const int mode = - (modes[(y >> bits) * tiles_per_row + (x >> bits)] >> 8) & 0xff; - int x_end = x + (1 << bits); - if (x_end > width) x_end = width; - GetResidual(width, height, upper_row, current_row, current_max_diffs, - mode, x, x_end, y, max_quantization, exact, - used_subtract_green, argb + y * width + x); - x = x_end; - } - } - } -} - -// Finds the best predictor for each tile, and converts the image to residuals -// with respect to predictions. If near_lossless_quality < 100, applies -// near lossless processing, shaving off more bits of residuals for lower -// qualities. -void VP8LResidualImage(int width, int height, int bits, int low_effort, - uint32_t* const argb, uint32_t* const argb_scratch, - uint32_t* const image, int near_lossless_quality, - int exact, int used_subtract_green) { - const int tiles_per_row = VP8LSubSampleSize(width, bits); - const int tiles_per_col = VP8LSubSampleSize(height, bits); - int tile_y; - int histo[4][256]; - const int max_quantization = 1 << VP8LNearLosslessBits(near_lossless_quality); - if (low_effort) { - int i; - for (i = 0; i < tiles_per_row * tiles_per_col; ++i) { - image[i] = ARGB_BLACK | (kPredLowEffort << 8); - } - } else { - memset(histo, 0, sizeof(histo)); - for (tile_y = 0; tile_y < tiles_per_col; ++tile_y) { - int tile_x; - for (tile_x = 0; tile_x < tiles_per_row; ++tile_x) { - const int pred = GetBestPredictorForTile(width, height, tile_x, tile_y, - bits, histo, argb_scratch, argb, max_quantization, exact, - used_subtract_green, image); - image[tile_y * tiles_per_row + tile_x] = ARGB_BLACK | (pred << 8); - } - } - } - - CopyImageWithPrediction(width, height, bits, image, argb_scratch, argb, - low_effort, max_quantization, exact, - used_subtract_green); -} - -//------------------------------------------------------------------------------ -// Color transform functions. - -static WEBP_INLINE void MultipliersClear(VP8LMultipliers* const m) { - m->green_to_red_ = 0; - m->green_to_blue_ = 0; - m->red_to_blue_ = 0; -} - -static WEBP_INLINE void ColorCodeToMultipliers(uint32_t color_code, - VP8LMultipliers* const m) { - m->green_to_red_ = (color_code >> 0) & 0xff; - m->green_to_blue_ = (color_code >> 8) & 0xff; - m->red_to_blue_ = (color_code >> 16) & 0xff; -} - -static WEBP_INLINE uint32_t MultipliersToColorCode( - const VP8LMultipliers* const m) { - return 0xff000000u | - ((uint32_t)(m->red_to_blue_) << 16) | - ((uint32_t)(m->green_to_blue_) << 8) | - m->green_to_red_; -} - -static float PredictionCostCrossColor(const int accumulated[256], - const int counts[256]) { - // Favor low entropy, locally and globally. - // Favor small absolute values for PredictionCostSpatial - static const double kExpValue = 2.4; - return VP8LCombinedShannonEntropy(counts, accumulated) + - PredictionCostSpatial(counts, 3, kExpValue); -} - -static float GetPredictionCostCrossColorRed( - const uint32_t* argb, int stride, int tile_width, int tile_height, - VP8LMultipliers prev_x, VP8LMultipliers prev_y, int green_to_red, - const int accumulated_red_histo[256]) { - int histo[256] = { 0 }; - float cur_diff; - - VP8LCollectColorRedTransforms(argb, stride, tile_width, tile_height, - green_to_red, histo); - - cur_diff = PredictionCostCrossColor(accumulated_red_histo, histo); - if ((uint8_t)green_to_red == prev_x.green_to_red_) { - cur_diff -= 3; // favor keeping the areas locally similar - } - if ((uint8_t)green_to_red == prev_y.green_to_red_) { - cur_diff -= 3; // favor keeping the areas locally similar - } - if (green_to_red == 0) { - cur_diff -= 3; - } - return cur_diff; -} - -static void GetBestGreenToRed( - const uint32_t* argb, int stride, int tile_width, int tile_height, - VP8LMultipliers prev_x, VP8LMultipliers prev_y, int quality, - const int accumulated_red_histo[256], VP8LMultipliers* const best_tx) { - const int kMaxIters = 4 + ((7 * quality) >> 8); // in range [4..6] - int green_to_red_best = 0; - int iter, offset; - float best_diff = GetPredictionCostCrossColorRed( - argb, stride, tile_width, tile_height, prev_x, prev_y, - green_to_red_best, accumulated_red_histo); - for (iter = 0; iter < kMaxIters; ++iter) { - // ColorTransformDelta is a 3.5 bit fixed point, so 32 is equal to - // one in color computation. Having initial delta here as 1 is sufficient - // to explore the range of (-2, 2). - const int delta = 32 >> iter; - // Try a negative and a positive delta from the best known value. - for (offset = -delta; offset <= delta; offset += 2 * delta) { - const int green_to_red_cur = offset + green_to_red_best; - const float cur_diff = GetPredictionCostCrossColorRed( - argb, stride, tile_width, tile_height, prev_x, prev_y, - green_to_red_cur, accumulated_red_histo); - if (cur_diff < best_diff) { - best_diff = cur_diff; - green_to_red_best = green_to_red_cur; - } - } - } - best_tx->green_to_red_ = (green_to_red_best & 0xff); -} - -static float GetPredictionCostCrossColorBlue( - const uint32_t* argb, int stride, int tile_width, int tile_height, - VP8LMultipliers prev_x, VP8LMultipliers prev_y, - int green_to_blue, int red_to_blue, const int accumulated_blue_histo[256]) { - int histo[256] = { 0 }; - float cur_diff; - - VP8LCollectColorBlueTransforms(argb, stride, tile_width, tile_height, - green_to_blue, red_to_blue, histo); - - cur_diff = PredictionCostCrossColor(accumulated_blue_histo, histo); - if ((uint8_t)green_to_blue == prev_x.green_to_blue_) { - cur_diff -= 3; // favor keeping the areas locally similar - } - if ((uint8_t)green_to_blue == prev_y.green_to_blue_) { - cur_diff -= 3; // favor keeping the areas locally similar - } - if ((uint8_t)red_to_blue == prev_x.red_to_blue_) { - cur_diff -= 3; // favor keeping the areas locally similar - } - if ((uint8_t)red_to_blue == prev_y.red_to_blue_) { - cur_diff -= 3; // favor keeping the areas locally similar - } - if (green_to_blue == 0) { - cur_diff -= 3; - } - if (red_to_blue == 0) { - cur_diff -= 3; - } - return cur_diff; -} - -#define kGreenRedToBlueNumAxis 8 -#define kGreenRedToBlueMaxIters 7 -static void GetBestGreenRedToBlue( - const uint32_t* argb, int stride, int tile_width, int tile_height, - VP8LMultipliers prev_x, VP8LMultipliers prev_y, int quality, - const int accumulated_blue_histo[256], - VP8LMultipliers* const best_tx) { - const int8_t offset[kGreenRedToBlueNumAxis][2] = - {{0, -1}, {0, 1}, {-1, 0}, {1, 0}, {-1, -1}, {-1, 1}, {1, -1}, {1, 1}}; - const int8_t delta_lut[kGreenRedToBlueMaxIters] = { 16, 16, 8, 4, 2, 2, 2 }; - const int iters = - (quality < 25) ? 1 : (quality > 50) ? kGreenRedToBlueMaxIters : 4; - int green_to_blue_best = 0; - int red_to_blue_best = 0; - int iter; - // Initial value at origin: - float best_diff = GetPredictionCostCrossColorBlue( - argb, stride, tile_width, tile_height, prev_x, prev_y, - green_to_blue_best, red_to_blue_best, accumulated_blue_histo); - for (iter = 0; iter < iters; ++iter) { - const int delta = delta_lut[iter]; - int axis; - for (axis = 0; axis < kGreenRedToBlueNumAxis; ++axis) { - const int green_to_blue_cur = - offset[axis][0] * delta + green_to_blue_best; - const int red_to_blue_cur = offset[axis][1] * delta + red_to_blue_best; - const float cur_diff = GetPredictionCostCrossColorBlue( - argb, stride, tile_width, tile_height, prev_x, prev_y, - green_to_blue_cur, red_to_blue_cur, accumulated_blue_histo); - if (cur_diff < best_diff) { - best_diff = cur_diff; - green_to_blue_best = green_to_blue_cur; - red_to_blue_best = red_to_blue_cur; - } - if (quality < 25 && iter == 4) { - // Only axis aligned diffs for lower quality. - break; // next iter. - } - } - if (delta == 2 && green_to_blue_best == 0 && red_to_blue_best == 0) { - // Further iterations would not help. - break; // out of iter-loop. - } - } - best_tx->green_to_blue_ = green_to_blue_best & 0xff; - best_tx->red_to_blue_ = red_to_blue_best & 0xff; -} -#undef kGreenRedToBlueMaxIters -#undef kGreenRedToBlueNumAxis - -static VP8LMultipliers GetBestColorTransformForTile( - int tile_x, int tile_y, int bits, - VP8LMultipliers prev_x, - VP8LMultipliers prev_y, - int quality, int xsize, int ysize, - const int accumulated_red_histo[256], - const int accumulated_blue_histo[256], - const uint32_t* const argb) { - const int max_tile_size = 1 << bits; - const int tile_y_offset = tile_y * max_tile_size; - const int tile_x_offset = tile_x * max_tile_size; - const int all_x_max = GetMin(tile_x_offset + max_tile_size, xsize); - const int all_y_max = GetMin(tile_y_offset + max_tile_size, ysize); - const int tile_width = all_x_max - tile_x_offset; - const int tile_height = all_y_max - tile_y_offset; - const uint32_t* const tile_argb = argb + tile_y_offset * xsize - + tile_x_offset; - VP8LMultipliers best_tx; - MultipliersClear(&best_tx); - - GetBestGreenToRed(tile_argb, xsize, tile_width, tile_height, - prev_x, prev_y, quality, accumulated_red_histo, &best_tx); - GetBestGreenRedToBlue(tile_argb, xsize, tile_width, tile_height, - prev_x, prev_y, quality, accumulated_blue_histo, - &best_tx); - return best_tx; -} - -static void CopyTileWithColorTransform(int xsize, int ysize, - int tile_x, int tile_y, - int max_tile_size, - VP8LMultipliers color_transform, - uint32_t* argb) { - const int xscan = GetMin(max_tile_size, xsize - tile_x); - int yscan = GetMin(max_tile_size, ysize - tile_y); - argb += tile_y * xsize + tile_x; - while (yscan-- > 0) { - VP8LTransformColor(&color_transform, argb, xscan); - argb += xsize; - } -} - -void VP8LColorSpaceTransform(int width, int height, int bits, int quality, - uint32_t* const argb, uint32_t* image) { - const int max_tile_size = 1 << bits; - const int tile_xsize = VP8LSubSampleSize(width, bits); - const int tile_ysize = VP8LSubSampleSize(height, bits); - int accumulated_red_histo[256] = { 0 }; - int accumulated_blue_histo[256] = { 0 }; - int tile_x, tile_y; - VP8LMultipliers prev_x, prev_y; - MultipliersClear(&prev_y); - MultipliersClear(&prev_x); - for (tile_y = 0; tile_y < tile_ysize; ++tile_y) { - for (tile_x = 0; tile_x < tile_xsize; ++tile_x) { - int y; - const int tile_x_offset = tile_x * max_tile_size; - const int tile_y_offset = tile_y * max_tile_size; - const int all_x_max = GetMin(tile_x_offset + max_tile_size, width); - const int all_y_max = GetMin(tile_y_offset + max_tile_size, height); - const int offset = tile_y * tile_xsize + tile_x; - if (tile_y != 0) { - ColorCodeToMultipliers(image[offset - tile_xsize], &prev_y); - } - prev_x = GetBestColorTransformForTile(tile_x, tile_y, bits, - prev_x, prev_y, - quality, width, height, - accumulated_red_histo, - accumulated_blue_histo, - argb); - image[offset] = MultipliersToColorCode(&prev_x); - CopyTileWithColorTransform(width, height, tile_x_offset, tile_y_offset, - max_tile_size, prev_x, argb); - - // Gather accumulated histogram data. - for (y = tile_y_offset; y < all_y_max; ++y) { - int ix = y * width + tile_x_offset; - const int ix_end = ix + all_x_max - tile_x_offset; - for (; ix < ix_end; ++ix) { - const uint32_t pix = argb[ix]; - if (ix >= 2 && - pix == argb[ix - 2] && - pix == argb[ix - 1]) { - continue; // repeated pixels are handled by backward references - } - if (ix >= width + 2 && - argb[ix - 2] == argb[ix - width - 2] && - argb[ix - 1] == argb[ix - width - 1] && - pix == argb[ix - width]) { - continue; // repeated pixels are handled by backward references - } - ++accumulated_red_histo[(pix >> 16) & 0xff]; - ++accumulated_blue_histo[(pix >> 0) & 0xff]; - } - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/quant_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/quant_enc.c deleted file mode 100644 index 01eb565c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/quant_enc.c +++ /dev/null @@ -1,1372 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Quantization -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include -#include // for abs() - -#include "src/dsp/quant.h" -#include "src/enc/vp8i_enc.h" -#include "src/enc/cost_enc.h" - -#define DO_TRELLIS_I4 1 -#define DO_TRELLIS_I16 1 // not a huge gain, but ok at low bitrate. -#define DO_TRELLIS_UV 0 // disable trellis for UV. Risky. Not worth. -#define USE_TDISTO 1 - -#define MID_ALPHA 64 // neutral value for susceptibility -#define MIN_ALPHA 30 // lowest usable value for susceptibility -#define MAX_ALPHA 100 // higher meaningful value for susceptibility - -#define SNS_TO_DQ 0.9 // Scaling constant between the sns value and the QP - // power-law modulation. Must be strictly less than 1. - -// number of non-zero coeffs below which we consider the block very flat -// (and apply a penalty to complex predictions) -#define FLATNESS_LIMIT_I16 0 // I16 mode (special case) -#define FLATNESS_LIMIT_I4 3 // I4 mode -#define FLATNESS_LIMIT_UV 2 // UV mode -#define FLATNESS_PENALTY 140 // roughly ~1bit per block - -#define MULT_8B(a, b) (((a) * (b) + 128) >> 8) - -#define RD_DISTO_MULT 256 // distortion multiplier (equivalent of lambda) - -// #define DEBUG_BLOCK - -//------------------------------------------------------------------------------ - -#if defined(DEBUG_BLOCK) - -#include -#include - -static void PrintBlockInfo(const VP8EncIterator* const it, - const VP8ModeScore* const rd) { - int i, j; - const int is_i16 = (it->mb_->type_ == 1); - const uint8_t* const y_in = it->yuv_in_ + Y_OFF_ENC; - const uint8_t* const y_out = it->yuv_out_ + Y_OFF_ENC; - const uint8_t* const uv_in = it->yuv_in_ + U_OFF_ENC; - const uint8_t* const uv_out = it->yuv_out_ + U_OFF_ENC; - printf("SOURCE / OUTPUT / ABS DELTA\n"); - for (j = 0; j < 16; ++j) { - for (i = 0; i < 16; ++i) printf("%3d ", y_in[i + j * BPS]); - printf(" "); - for (i = 0; i < 16; ++i) printf("%3d ", y_out[i + j * BPS]); - printf(" "); - for (i = 0; i < 16; ++i) { - printf("%1d ", abs(y_in[i + j * BPS] - y_out[i + j * BPS])); - } - printf("\n"); - } - printf("\n"); // newline before the U/V block - for (j = 0; j < 8; ++j) { - for (i = 0; i < 8; ++i) printf("%3d ", uv_in[i + j * BPS]); - printf(" "); - for (i = 8; i < 16; ++i) printf("%3d ", uv_in[i + j * BPS]); - printf(" "); - for (i = 0; i < 8; ++i) printf("%3d ", uv_out[i + j * BPS]); - printf(" "); - for (i = 8; i < 16; ++i) printf("%3d ", uv_out[i + j * BPS]); - printf(" "); - for (i = 0; i < 8; ++i) { - printf("%1d ", abs(uv_out[i + j * BPS] - uv_in[i + j * BPS])); - } - printf(" "); - for (i = 8; i < 16; ++i) { - printf("%1d ", abs(uv_out[i + j * BPS] - uv_in[i + j * BPS])); - } - printf("\n"); - } - printf("\nD:%d SD:%d R:%d H:%d nz:0x%x score:%d\n", - (int)rd->D, (int)rd->SD, (int)rd->R, (int)rd->H, (int)rd->nz, - (int)rd->score); - if (is_i16) { - printf("Mode: %d\n", rd->mode_i16); - printf("y_dc_levels:"); - for (i = 0; i < 16; ++i) printf("%3d ", rd->y_dc_levels[i]); - printf("\n"); - } else { - printf("Modes[16]: "); - for (i = 0; i < 16; ++i) printf("%d ", rd->modes_i4[i]); - printf("\n"); - } - printf("y_ac_levels:\n"); - for (j = 0; j < 16; ++j) { - for (i = is_i16 ? 1 : 0; i < 16; ++i) { - printf("%4d ", rd->y_ac_levels[j][i]); - } - printf("\n"); - } - printf("\n"); - printf("uv_levels (mode=%d):\n", rd->mode_uv); - for (j = 0; j < 8; ++j) { - for (i = 0; i < 16; ++i) { - printf("%4d ", rd->uv_levels[j][i]); - } - printf("\n"); - } -} - -#endif // DEBUG_BLOCK - -//------------------------------------------------------------------------------ - -static WEBP_INLINE int clip(int v, int m, int M) { - return v < m ? m : v > M ? M : v; -} - -static const uint8_t kZigzag[16] = { - 0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15 -}; - -static const uint8_t kDcTable[128] = { - 4, 5, 6, 7, 8, 9, 10, 10, - 11, 12, 13, 14, 15, 16, 17, 17, - 18, 19, 20, 20, 21, 21, 22, 22, - 23, 23, 24, 25, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, - 37, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, - 91, 93, 95, 96, 98, 100, 101, 102, - 104, 106, 108, 110, 112, 114, 116, 118, - 122, 124, 126, 128, 130, 132, 134, 136, - 138, 140, 143, 145, 148, 151, 154, 157 -}; - -static const uint16_t kAcTable[128] = { - 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 60, - 62, 64, 66, 68, 70, 72, 74, 76, - 78, 80, 82, 84, 86, 88, 90, 92, - 94, 96, 98, 100, 102, 104, 106, 108, - 110, 112, 114, 116, 119, 122, 125, 128, - 131, 134, 137, 140, 143, 146, 149, 152, - 155, 158, 161, 164, 167, 170, 173, 177, - 181, 185, 189, 193, 197, 201, 205, 209, - 213, 217, 221, 225, 229, 234, 239, 245, - 249, 254, 259, 264, 269, 274, 279, 284 -}; - -static const uint16_t kAcTable2[128] = { - 8, 8, 9, 10, 12, 13, 15, 17, - 18, 20, 21, 23, 24, 26, 27, 29, - 31, 32, 34, 35, 37, 38, 40, 41, - 43, 44, 46, 48, 49, 51, 52, 54, - 55, 57, 58, 60, 62, 63, 65, 66, - 68, 69, 71, 72, 74, 75, 77, 79, - 80, 82, 83, 85, 86, 88, 89, 93, - 96, 99, 102, 105, 108, 111, 114, 117, - 120, 124, 127, 130, 133, 136, 139, 142, - 145, 148, 151, 155, 158, 161, 164, 167, - 170, 173, 176, 179, 184, 189, 193, 198, - 203, 207, 212, 217, 221, 226, 230, 235, - 240, 244, 249, 254, 258, 263, 268, 274, - 280, 286, 292, 299, 305, 311, 317, 323, - 330, 336, 342, 348, 354, 362, 370, 379, - 385, 393, 401, 409, 416, 424, 432, 440 -}; - -static const uint8_t kBiasMatrices[3][2] = { // [luma-ac,luma-dc,chroma][dc,ac] - { 96, 110 }, { 96, 108 }, { 110, 115 } -}; - -// Sharpening by (slightly) raising the hi-frequency coeffs. -// Hack-ish but helpful for mid-bitrate range. Use with care. -#define SHARPEN_BITS 11 // number of descaling bits for sharpening bias -static const uint8_t kFreqSharpening[16] = { - 0, 30, 60, 90, - 30, 60, 90, 90, - 60, 90, 90, 90, - 90, 90, 90, 90 -}; - -//------------------------------------------------------------------------------ -// Initialize quantization parameters in VP8Matrix - -// Returns the average quantizer -static int ExpandMatrix(VP8Matrix* const m, int type) { - int i, sum; - for (i = 0; i < 2; ++i) { - const int is_ac_coeff = (i > 0); - const int bias = kBiasMatrices[type][is_ac_coeff]; - m->iq_[i] = (1 << QFIX) / m->q_[i]; - m->bias_[i] = BIAS(bias); - // zthresh_ is the exact value such that QUANTDIV(coeff, iQ, B) is: - // * zero if coeff <= zthresh - // * non-zero if coeff > zthresh - m->zthresh_[i] = ((1 << QFIX) - 1 - m->bias_[i]) / m->iq_[i]; - } - for (i = 2; i < 16; ++i) { - m->q_[i] = m->q_[1]; - m->iq_[i] = m->iq_[1]; - m->bias_[i] = m->bias_[1]; - m->zthresh_[i] = m->zthresh_[1]; - } - for (sum = 0, i = 0; i < 16; ++i) { - if (type == 0) { // we only use sharpening for AC luma coeffs - m->sharpen_[i] = (kFreqSharpening[i] * m->q_[i]) >> SHARPEN_BITS; - } else { - m->sharpen_[i] = 0; - } - sum += m->q_[i]; - } - return (sum + 8) >> 4; -} - -static void CheckLambdaValue(int* const v) { if (*v < 1) *v = 1; } - -static void SetupMatrices(VP8Encoder* enc) { - int i; - const int tlambda_scale = - (enc->method_ >= 4) ? enc->config_->sns_strength - : 0; - const int num_segments = enc->segment_hdr_.num_segments_; - for (i = 0; i < num_segments; ++i) { - VP8SegmentInfo* const m = &enc->dqm_[i]; - const int q = m->quant_; - int q_i4, q_i16, q_uv; - m->y1_.q_[0] = kDcTable[clip(q + enc->dq_y1_dc_, 0, 127)]; - m->y1_.q_[1] = kAcTable[clip(q, 0, 127)]; - - m->y2_.q_[0] = kDcTable[ clip(q + enc->dq_y2_dc_, 0, 127)] * 2; - m->y2_.q_[1] = kAcTable2[clip(q + enc->dq_y2_ac_, 0, 127)]; - - m->uv_.q_[0] = kDcTable[clip(q + enc->dq_uv_dc_, 0, 117)]; - m->uv_.q_[1] = kAcTable[clip(q + enc->dq_uv_ac_, 0, 127)]; - - q_i4 = ExpandMatrix(&m->y1_, 0); - q_i16 = ExpandMatrix(&m->y2_, 1); - q_uv = ExpandMatrix(&m->uv_, 2); - - m->lambda_i4_ = (3 * q_i4 * q_i4) >> 7; - m->lambda_i16_ = (3 * q_i16 * q_i16); - m->lambda_uv_ = (3 * q_uv * q_uv) >> 6; - m->lambda_mode_ = (1 * q_i4 * q_i4) >> 7; - m->lambda_trellis_i4_ = (7 * q_i4 * q_i4) >> 3; - m->lambda_trellis_i16_ = (q_i16 * q_i16) >> 2; - m->lambda_trellis_uv_ = (q_uv * q_uv) << 1; - m->tlambda_ = (tlambda_scale * q_i4) >> 5; - - // none of these constants should be < 1 - CheckLambdaValue(&m->lambda_i4_); - CheckLambdaValue(&m->lambda_i16_); - CheckLambdaValue(&m->lambda_uv_); - CheckLambdaValue(&m->lambda_mode_); - CheckLambdaValue(&m->lambda_trellis_i4_); - CheckLambdaValue(&m->lambda_trellis_i16_); - CheckLambdaValue(&m->lambda_trellis_uv_); - CheckLambdaValue(&m->tlambda_); - - m->min_disto_ = 20 * m->y1_.q_[0]; // quantization-aware min disto - m->max_edge_ = 0; - - m->i4_penalty_ = 1000 * q_i4 * q_i4; - } -} - -//------------------------------------------------------------------------------ -// Initialize filtering parameters - -// Very small filter-strength values have close to no visual effect. So we can -// save a little decoding-CPU by turning filtering off for these. -#define FSTRENGTH_CUTOFF 2 - -static void SetupFilterStrength(VP8Encoder* const enc) { - int i; - // level0 is in [0..500]. Using '-f 50' as filter_strength is mid-filtering. - const int level0 = 5 * enc->config_->filter_strength; - for (i = 0; i < NUM_MB_SEGMENTS; ++i) { - VP8SegmentInfo* const m = &enc->dqm_[i]; - // We focus on the quantization of AC coeffs. - const int qstep = kAcTable[clip(m->quant_, 0, 127)] >> 2; - const int base_strength = - VP8FilterStrengthFromDelta(enc->filter_hdr_.sharpness_, qstep); - // Segments with lower complexity ('beta') will be less filtered. - const int f = base_strength * level0 / (256 + m->beta_); - m->fstrength_ = (f < FSTRENGTH_CUTOFF) ? 0 : (f > 63) ? 63 : f; - } - // We record the initial strength (mainly for the case of 1-segment only). - enc->filter_hdr_.level_ = enc->dqm_[0].fstrength_; - enc->filter_hdr_.simple_ = (enc->config_->filter_type == 0); - enc->filter_hdr_.sharpness_ = enc->config_->filter_sharpness; -} - -//------------------------------------------------------------------------------ - -// Note: if you change the values below, remember that the max range -// allowed by the syntax for DQ_UV is [-16,16]. -#define MAX_DQ_UV (6) -#define MIN_DQ_UV (-4) - -// We want to emulate jpeg-like behaviour where the expected "good" quality -// is around q=75. Internally, our "good" middle is around c=50. So we -// map accordingly using linear piece-wise function -static double QualityToCompression(double c) { - const double linear_c = (c < 0.75) ? c * (2. / 3.) : 2. * c - 1.; - // The file size roughly scales as pow(quantizer, 3.). Actually, the - // exponent is somewhere between 2.8 and 3.2, but we're mostly interested - // in the mid-quant range. So we scale the compressibility inversely to - // this power-law: quant ~= compression ^ 1/3. This law holds well for - // low quant. Finer modeling for high-quant would make use of kAcTable[] - // more explicitly. - const double v = pow(linear_c, 1 / 3.); - return v; -} - -static double QualityToJPEGCompression(double c, double alpha) { - // We map the complexity 'alpha' and quality setting 'c' to a compression - // exponent empirically matched to the compression curve of libjpeg6b. - // On average, the WebP output size will be roughly similar to that of a - // JPEG file compressed with same quality factor. - const double amin = 0.30; - const double amax = 0.85; - const double exp_min = 0.4; - const double exp_max = 0.9; - const double slope = (exp_min - exp_max) / (amax - amin); - // Linearly interpolate 'expn' from exp_min to exp_max - // in the [amin, amax] range. - const double expn = (alpha > amax) ? exp_min - : (alpha < amin) ? exp_max - : exp_max + slope * (alpha - amin); - const double v = pow(c, expn); - return v; -} - -static int SegmentsAreEquivalent(const VP8SegmentInfo* const S1, - const VP8SegmentInfo* const S2) { - return (S1->quant_ == S2->quant_) && (S1->fstrength_ == S2->fstrength_); -} - -static void SimplifySegments(VP8Encoder* const enc) { - int map[NUM_MB_SEGMENTS] = { 0, 1, 2, 3 }; - // 'num_segments_' is previously validated and <= NUM_MB_SEGMENTS, but an - // explicit check is needed to avoid a spurious warning about 'i' exceeding - // array bounds of 'dqm_' with some compilers (noticed with gcc-4.9). - const int num_segments = (enc->segment_hdr_.num_segments_ < NUM_MB_SEGMENTS) - ? enc->segment_hdr_.num_segments_ - : NUM_MB_SEGMENTS; - int num_final_segments = 1; - int s1, s2; - for (s1 = 1; s1 < num_segments; ++s1) { // find similar segments - const VP8SegmentInfo* const S1 = &enc->dqm_[s1]; - int found = 0; - // check if we already have similar segment - for (s2 = 0; s2 < num_final_segments; ++s2) { - const VP8SegmentInfo* const S2 = &enc->dqm_[s2]; - if (SegmentsAreEquivalent(S1, S2)) { - found = 1; - break; - } - } - map[s1] = s2; - if (!found) { - if (num_final_segments != s1) { - enc->dqm_[num_final_segments] = enc->dqm_[s1]; - } - ++num_final_segments; - } - } - if (num_final_segments < num_segments) { // Remap - int i = enc->mb_w_ * enc->mb_h_; - while (i-- > 0) enc->mb_info_[i].segment_ = map[enc->mb_info_[i].segment_]; - enc->segment_hdr_.num_segments_ = num_final_segments; - // Replicate the trailing segment infos (it's mostly cosmetics) - for (i = num_final_segments; i < num_segments; ++i) { - enc->dqm_[i] = enc->dqm_[num_final_segments - 1]; - } - } -} - -void VP8SetSegmentParams(VP8Encoder* const enc, float quality) { - int i; - int dq_uv_ac, dq_uv_dc; - const int num_segments = enc->segment_hdr_.num_segments_; - const double amp = SNS_TO_DQ * enc->config_->sns_strength / 100. / 128.; - const double Q = quality / 100.; - const double c_base = enc->config_->emulate_jpeg_size ? - QualityToJPEGCompression(Q, enc->alpha_ / 255.) : - QualityToCompression(Q); - for (i = 0; i < num_segments; ++i) { - // We modulate the base coefficient to accommodate for the quantization - // susceptibility and allow denser segments to be quantized more. - const double expn = 1. - amp * enc->dqm_[i].alpha_; - const double c = pow(c_base, expn); - const int q = (int)(127. * (1. - c)); - assert(expn > 0.); - enc->dqm_[i].quant_ = clip(q, 0, 127); - } - - // purely indicative in the bitstream (except for the 1-segment case) - enc->base_quant_ = enc->dqm_[0].quant_; - - // fill-in values for the unused segments (required by the syntax) - for (i = num_segments; i < NUM_MB_SEGMENTS; ++i) { - enc->dqm_[i].quant_ = enc->base_quant_; - } - - // uv_alpha_ is normally spread around ~60. The useful range is - // typically ~30 (quite bad) to ~100 (ok to decimate UV more). - // We map it to the safe maximal range of MAX/MIN_DQ_UV for dq_uv. - dq_uv_ac = (enc->uv_alpha_ - MID_ALPHA) * (MAX_DQ_UV - MIN_DQ_UV) - / (MAX_ALPHA - MIN_ALPHA); - // we rescale by the user-defined strength of adaptation - dq_uv_ac = dq_uv_ac * enc->config_->sns_strength / 100; - // and make it safe. - dq_uv_ac = clip(dq_uv_ac, MIN_DQ_UV, MAX_DQ_UV); - // We also boost the dc-uv-quant a little, based on sns-strength, since - // U/V channels are quite more reactive to high quants (flat DC-blocks - // tend to appear, and are unpleasant). - dq_uv_dc = -4 * enc->config_->sns_strength / 100; - dq_uv_dc = clip(dq_uv_dc, -15, 15); // 4bit-signed max allowed - - enc->dq_y1_dc_ = 0; // TODO(skal): dq-lum - enc->dq_y2_dc_ = 0; - enc->dq_y2_ac_ = 0; - enc->dq_uv_dc_ = dq_uv_dc; - enc->dq_uv_ac_ = dq_uv_ac; - - SetupFilterStrength(enc); // initialize segments' filtering, eventually - - if (num_segments > 1) SimplifySegments(enc); - - SetupMatrices(enc); // finalize quantization matrices -} - -//------------------------------------------------------------------------------ -// Form the predictions in cache - -// Must be ordered using {DC_PRED, TM_PRED, V_PRED, H_PRED} as index -const uint16_t VP8I16ModeOffsets[4] = { I16DC16, I16TM16, I16VE16, I16HE16 }; -const uint16_t VP8UVModeOffsets[4] = { C8DC8, C8TM8, C8VE8, C8HE8 }; - -// Must be indexed using {B_DC_PRED -> B_HU_PRED} as index -const uint16_t VP8I4ModeOffsets[NUM_BMODES] = { - I4DC4, I4TM4, I4VE4, I4HE4, I4RD4, I4VR4, I4LD4, I4VL4, I4HD4, I4HU4 -}; - -void VP8MakeLuma16Preds(const VP8EncIterator* const it) { - const uint8_t* const left = it->x_ ? it->y_left_ : NULL; - const uint8_t* const top = it->y_ ? it->y_top_ : NULL; - VP8EncPredLuma16(it->yuv_p_, left, top); -} - -void VP8MakeChroma8Preds(const VP8EncIterator* const it) { - const uint8_t* const left = it->x_ ? it->u_left_ : NULL; - const uint8_t* const top = it->y_ ? it->uv_top_ : NULL; - VP8EncPredChroma8(it->yuv_p_, left, top); -} - -void VP8MakeIntra4Preds(const VP8EncIterator* const it) { - VP8EncPredLuma4(it->yuv_p_, it->i4_top_); -} - -//------------------------------------------------------------------------------ -// Quantize - -// Layout: -// +----+----+ -// |YYYY|UUVV| 0 -// |YYYY|UUVV| 4 -// |YYYY|....| 8 -// |YYYY|....| 12 -// +----+----+ - -const uint16_t VP8Scan[16] = { // Luma - 0 + 0 * BPS, 4 + 0 * BPS, 8 + 0 * BPS, 12 + 0 * BPS, - 0 + 4 * BPS, 4 + 4 * BPS, 8 + 4 * BPS, 12 + 4 * BPS, - 0 + 8 * BPS, 4 + 8 * BPS, 8 + 8 * BPS, 12 + 8 * BPS, - 0 + 12 * BPS, 4 + 12 * BPS, 8 + 12 * BPS, 12 + 12 * BPS, -}; - -static const uint16_t VP8ScanUV[4 + 4] = { - 0 + 0 * BPS, 4 + 0 * BPS, 0 + 4 * BPS, 4 + 4 * BPS, // U - 8 + 0 * BPS, 12 + 0 * BPS, 8 + 4 * BPS, 12 + 4 * BPS // V -}; - -//------------------------------------------------------------------------------ -// Distortion measurement - -static const uint16_t kWeightY[16] = { - 38, 32, 20, 9, 32, 28, 17, 7, 20, 17, 10, 4, 9, 7, 4, 2 -}; - -static const uint16_t kWeightTrellis[16] = { -#if USE_TDISTO == 0 - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 -#else - 30, 27, 19, 11, - 27, 24, 17, 10, - 19, 17, 12, 8, - 11, 10, 8, 6 -#endif -}; - -// Init/Copy the common fields in score. -static void InitScore(VP8ModeScore* const rd) { - rd->D = 0; - rd->SD = 0; - rd->R = 0; - rd->H = 0; - rd->nz = 0; - rd->score = MAX_COST; -} - -static void CopyScore(VP8ModeScore* const dst, const VP8ModeScore* const src) { - dst->D = src->D; - dst->SD = src->SD; - dst->R = src->R; - dst->H = src->H; - dst->nz = src->nz; // note that nz is not accumulated, but just copied. - dst->score = src->score; -} - -static void AddScore(VP8ModeScore* const dst, const VP8ModeScore* const src) { - dst->D += src->D; - dst->SD += src->SD; - dst->R += src->R; - dst->H += src->H; - dst->nz |= src->nz; // here, new nz bits are accumulated. - dst->score += src->score; -} - -//------------------------------------------------------------------------------ -// Performs trellis-optimized quantization. - -// Trellis node -typedef struct { - int8_t prev; // best previous node - int8_t sign; // sign of coeff_i - int16_t level; // level -} Node; - -// Score state -typedef struct { - score_t score; // partial RD score - const uint16_t* costs; // shortcut to cost tables -} ScoreState; - -// If a coefficient was quantized to a value Q (using a neutral bias), -// we test all alternate possibilities between [Q-MIN_DELTA, Q+MAX_DELTA] -// We don't test negative values though. -#define MIN_DELTA 0 // how much lower level to try -#define MAX_DELTA 1 // how much higher -#define NUM_NODES (MIN_DELTA + 1 + MAX_DELTA) -#define NODE(n, l) (nodes[(n)][(l) + MIN_DELTA]) -#define SCORE_STATE(n, l) (score_states[n][(l) + MIN_DELTA]) - -static WEBP_INLINE void SetRDScore(int lambda, VP8ModeScore* const rd) { - rd->score = (rd->R + rd->H) * lambda + RD_DISTO_MULT * (rd->D + rd->SD); -} - -static WEBP_INLINE score_t RDScoreTrellis(int lambda, score_t rate, - score_t distortion) { - return rate * lambda + RD_DISTO_MULT * distortion; -} - -static int TrellisQuantizeBlock(const VP8Encoder* const enc, - int16_t in[16], int16_t out[16], - int ctx0, int coeff_type, - const VP8Matrix* const mtx, - int lambda) { - const ProbaArray* const probas = enc->proba_.coeffs_[coeff_type]; - CostArrayPtr const costs = - (CostArrayPtr)enc->proba_.remapped_costs_[coeff_type]; - const int first = (coeff_type == 0) ? 1 : 0; - Node nodes[16][NUM_NODES]; - ScoreState score_states[2][NUM_NODES]; - ScoreState* ss_cur = &SCORE_STATE(0, MIN_DELTA); - ScoreState* ss_prev = &SCORE_STATE(1, MIN_DELTA); - int best_path[3] = {-1, -1, -1}; // store best-last/best-level/best-previous - score_t best_score; - int n, m, p, last; - - { - score_t cost; - const int thresh = mtx->q_[1] * mtx->q_[1] / 4; - const int last_proba = probas[VP8EncBands[first]][ctx0][0]; - - // compute the position of the last interesting coefficient - last = first - 1; - for (n = 15; n >= first; --n) { - const int j = kZigzag[n]; - const int err = in[j] * in[j]; - if (err > thresh) { - last = n; - break; - } - } - // we don't need to go inspect up to n = 16 coeffs. We can just go up - // to last + 1 (inclusive) without losing much. - if (last < 15) ++last; - - // compute 'skip' score. This is the max score one can do. - cost = VP8BitCost(0, last_proba); - best_score = RDScoreTrellis(lambda, cost, 0); - - // initialize source node. - for (m = -MIN_DELTA; m <= MAX_DELTA; ++m) { - const score_t rate = (ctx0 == 0) ? VP8BitCost(1, last_proba) : 0; - ss_cur[m].score = RDScoreTrellis(lambda, rate, 0); - ss_cur[m].costs = costs[first][ctx0]; - } - } - - // traverse trellis. - for (n = first; n <= last; ++n) { - const int j = kZigzag[n]; - const uint32_t Q = mtx->q_[j]; - const uint32_t iQ = mtx->iq_[j]; - const uint32_t B = BIAS(0x00); // neutral bias - // note: it's important to take sign of the _original_ coeff, - // so we don't have to consider level < 0 afterward. - const int sign = (in[j] < 0); - const uint32_t coeff0 = (sign ? -in[j] : in[j]) + mtx->sharpen_[j]; - int level0 = QUANTDIV(coeff0, iQ, B); - int thresh_level = QUANTDIV(coeff0, iQ, BIAS(0x80)); - if (thresh_level > MAX_LEVEL) thresh_level = MAX_LEVEL; - if (level0 > MAX_LEVEL) level0 = MAX_LEVEL; - - { // Swap current and previous score states - ScoreState* const tmp = ss_cur; - ss_cur = ss_prev; - ss_prev = tmp; - } - - // test all alternate level values around level0. - for (m = -MIN_DELTA; m <= MAX_DELTA; ++m) { - Node* const cur = &NODE(n, m); - int level = level0 + m; - const int ctx = (level > 2) ? 2 : level; - const int band = VP8EncBands[n + 1]; - score_t base_score; - score_t best_cur_score = MAX_COST; - int best_prev = 0; // default, in case - - ss_cur[m].score = MAX_COST; - ss_cur[m].costs = costs[n + 1][ctx]; - if (level < 0 || level > thresh_level) { - // Node is dead. - continue; - } - - { - // Compute delta_error = how much coding this level will - // subtract to max_error as distortion. - // Here, distortion = sum of (|coeff_i| - level_i * Q_i)^2 - const int new_error = coeff0 - level * Q; - const int delta_error = - kWeightTrellis[j] * (new_error * new_error - coeff0 * coeff0); - base_score = RDScoreTrellis(lambda, 0, delta_error); - } - - // Inspect all possible non-dead predecessors. Retain only the best one. - for (p = -MIN_DELTA; p <= MAX_DELTA; ++p) { - // Dead nodes (with ss_prev[p].score >= MAX_COST) are automatically - // eliminated since their score can't be better than the current best. - const score_t cost = VP8LevelCost(ss_prev[p].costs, level); - // Examine node assuming it's a non-terminal one. - const score_t score = - base_score + ss_prev[p].score + RDScoreTrellis(lambda, cost, 0); - if (score < best_cur_score) { - best_cur_score = score; - best_prev = p; - } - } - // Store best finding in current node. - cur->sign = sign; - cur->level = level; - cur->prev = best_prev; - ss_cur[m].score = best_cur_score; - - // Now, record best terminal node (and thus best entry in the graph). - if (level != 0) { - const score_t last_pos_cost = - (n < 15) ? VP8BitCost(0, probas[band][ctx][0]) : 0; - const score_t last_pos_score = RDScoreTrellis(lambda, last_pos_cost, 0); - const score_t score = best_cur_score + last_pos_score; - if (score < best_score) { - best_score = score; - best_path[0] = n; // best eob position - best_path[1] = m; // best node index - best_path[2] = best_prev; // best predecessor - } - } - } - } - - // Fresh start - memset(in + first, 0, (16 - first) * sizeof(*in)); - memset(out + first, 0, (16 - first) * sizeof(*out)); - if (best_path[0] == -1) { - return 0; // skip! - } - - { - // Unwind the best path. - // Note: best-prev on terminal node is not necessarily equal to the - // best_prev for non-terminal. So we patch best_path[2] in. - int nz = 0; - int best_node = best_path[1]; - n = best_path[0]; - NODE(n, best_node).prev = best_path[2]; // force best-prev for terminal - - for (; n >= first; --n) { - const Node* const node = &NODE(n, best_node); - const int j = kZigzag[n]; - out[n] = node->sign ? -node->level : node->level; - nz |= node->level; - in[j] = out[n] * mtx->q_[j]; - best_node = node->prev; - } - return (nz != 0); - } -} - -#undef NODE - -//------------------------------------------------------------------------------ -// Performs: difference, transform, quantize, back-transform, add -// all at once. Output is the reconstructed block in *yuv_out, and the -// quantized levels in *levels. - -static int ReconstructIntra16(VP8EncIterator* const it, - VP8ModeScore* const rd, - uint8_t* const yuv_out, - int mode) { - const VP8Encoder* const enc = it->enc_; - const uint8_t* const ref = it->yuv_p_ + VP8I16ModeOffsets[mode]; - const uint8_t* const src = it->yuv_in_ + Y_OFF_ENC; - const VP8SegmentInfo* const dqm = &enc->dqm_[it->mb_->segment_]; - int nz = 0; - int n; - int16_t tmp[16][16], dc_tmp[16]; - - for (n = 0; n < 16; n += 2) { - VP8FTransform2(src + VP8Scan[n], ref + VP8Scan[n], tmp[n]); - } - VP8FTransformWHT(tmp[0], dc_tmp); - nz |= VP8EncQuantizeBlockWHT(dc_tmp, rd->y_dc_levels, &dqm->y2_) << 24; - - if (DO_TRELLIS_I16 && it->do_trellis_) { - int x, y; - VP8IteratorNzToBytes(it); - for (y = 0, n = 0; y < 4; ++y) { - for (x = 0; x < 4; ++x, ++n) { - const int ctx = it->top_nz_[x] + it->left_nz_[y]; - const int non_zero = - TrellisQuantizeBlock(enc, tmp[n], rd->y_ac_levels[n], ctx, 0, - &dqm->y1_, dqm->lambda_trellis_i16_); - it->top_nz_[x] = it->left_nz_[y] = non_zero; - rd->y_ac_levels[n][0] = 0; - nz |= non_zero << n; - } - } - } else { - for (n = 0; n < 16; n += 2) { - // Zero-out the first coeff, so that: a) nz is correct below, and - // b) finding 'last' non-zero coeffs in SetResidualCoeffs() is simplified. - tmp[n][0] = tmp[n + 1][0] = 0; - nz |= VP8EncQuantize2Blocks(tmp[n], rd->y_ac_levels[n], &dqm->y1_) << n; - assert(rd->y_ac_levels[n + 0][0] == 0); - assert(rd->y_ac_levels[n + 1][0] == 0); - } - } - - // Transform back - VP8TransformWHT(dc_tmp, tmp[0]); - for (n = 0; n < 16; n += 2) { - VP8ITransform(ref + VP8Scan[n], tmp[n], yuv_out + VP8Scan[n], 1); - } - - return nz; -} - -static int ReconstructIntra4(VP8EncIterator* const it, - int16_t levels[16], - const uint8_t* const src, - uint8_t* const yuv_out, - int mode) { - const VP8Encoder* const enc = it->enc_; - const uint8_t* const ref = it->yuv_p_ + VP8I4ModeOffsets[mode]; - const VP8SegmentInfo* const dqm = &enc->dqm_[it->mb_->segment_]; - int nz = 0; - int16_t tmp[16]; - - VP8FTransform(src, ref, tmp); - if (DO_TRELLIS_I4 && it->do_trellis_) { - const int x = it->i4_ & 3, y = it->i4_ >> 2; - const int ctx = it->top_nz_[x] + it->left_nz_[y]; - nz = TrellisQuantizeBlock(enc, tmp, levels, ctx, 3, &dqm->y1_, - dqm->lambda_trellis_i4_); - } else { - nz = VP8EncQuantizeBlock(tmp, levels, &dqm->y1_); - } - VP8ITransform(ref, tmp, yuv_out, 0); - return nz; -} - -//------------------------------------------------------------------------------ -// DC-error diffusion - -// Diffusion weights. We under-correct a bit (15/16th of the error is actually -// diffused) to avoid 'rainbow' chessboard pattern of blocks at q~=0. -#define C1 7 // fraction of error sent to the 4x4 block below -#define C2 8 // fraction of error sent to the 4x4 block on the right -#define DSHIFT 4 -#define DSCALE 1 // storage descaling, needed to make the error fit int8_t - -// Quantize as usual, but also compute and return the quantization error. -// Error is already divided by DSHIFT. -static int QuantizeSingle(int16_t* const v, const VP8Matrix* const mtx) { - int V = *v; - const int sign = (V < 0); - if (sign) V = -V; - if (V > (int)mtx->zthresh_[0]) { - const int qV = QUANTDIV(V, mtx->iq_[0], mtx->bias_[0]) * mtx->q_[0]; - const int err = (V - qV); - *v = sign ? -qV : qV; - return (sign ? -err : err) >> DSCALE; - } - *v = 0; - return (sign ? -V : V) >> DSCALE; -} - -static void CorrectDCValues(const VP8EncIterator* const it, - const VP8Matrix* const mtx, - int16_t tmp[][16], VP8ModeScore* const rd) { - // | top[0] | top[1] - // --------+--------+--------- - // left[0] | tmp[0] tmp[1] <-> err0 err1 - // left[1] | tmp[2] tmp[3] err2 err3 - // - // Final errors {err1,err2,err3} are preserved and later restored - // as top[]/left[] on the next block. - int ch; - for (ch = 0; ch <= 1; ++ch) { - const int8_t* const top = it->top_derr_[it->x_][ch]; - const int8_t* const left = it->left_derr_[ch]; - int16_t (* const c)[16] = &tmp[ch * 4]; - int err0, err1, err2, err3; - c[0][0] += (C1 * top[0] + C2 * left[0]) >> (DSHIFT - DSCALE); - err0 = QuantizeSingle(&c[0][0], mtx); - c[1][0] += (C1 * top[1] + C2 * err0) >> (DSHIFT - DSCALE); - err1 = QuantizeSingle(&c[1][0], mtx); - c[2][0] += (C1 * err0 + C2 * left[1]) >> (DSHIFT - DSCALE); - err2 = QuantizeSingle(&c[2][0], mtx); - c[3][0] += (C1 * err1 + C2 * err2) >> (DSHIFT - DSCALE); - err3 = QuantizeSingle(&c[3][0], mtx); - // error 'err' is bounded by mtx->q_[0] which is 132 at max. Hence - // err >> DSCALE will fit in an int8_t type if DSCALE>=1. - assert(abs(err1) <= 127 && abs(err2) <= 127 && abs(err3) <= 127); - rd->derr[ch][0] = (int8_t)err1; - rd->derr[ch][1] = (int8_t)err2; - rd->derr[ch][2] = (int8_t)err3; - } -} - -static void StoreDiffusionErrors(VP8EncIterator* const it, - const VP8ModeScore* const rd) { - int ch; - for (ch = 0; ch <= 1; ++ch) { - int8_t* const top = it->top_derr_[it->x_][ch]; - int8_t* const left = it->left_derr_[ch]; - left[0] = rd->derr[ch][0]; // restore err1 - left[1] = 3 * rd->derr[ch][2] >> 2; // ... 3/4th of err3 - top[0] = rd->derr[ch][1]; // ... err2 - top[1] = rd->derr[ch][2] - left[1]; // ... 1/4th of err3. - } -} - -#undef C1 -#undef C2 -#undef DSHIFT -#undef DSCALE - -//------------------------------------------------------------------------------ - -static int ReconstructUV(VP8EncIterator* const it, VP8ModeScore* const rd, - uint8_t* const yuv_out, int mode) { - const VP8Encoder* const enc = it->enc_; - const uint8_t* const ref = it->yuv_p_ + VP8UVModeOffsets[mode]; - const uint8_t* const src = it->yuv_in_ + U_OFF_ENC; - const VP8SegmentInfo* const dqm = &enc->dqm_[it->mb_->segment_]; - int nz = 0; - int n; - int16_t tmp[8][16]; - - for (n = 0; n < 8; n += 2) { - VP8FTransform2(src + VP8ScanUV[n], ref + VP8ScanUV[n], tmp[n]); - } - if (it->top_derr_ != NULL) CorrectDCValues(it, &dqm->uv_, tmp, rd); - - if (DO_TRELLIS_UV && it->do_trellis_) { - int ch, x, y; - for (ch = 0, n = 0; ch <= 2; ch += 2) { - for (y = 0; y < 2; ++y) { - for (x = 0; x < 2; ++x, ++n) { - const int ctx = it->top_nz_[4 + ch + x] + it->left_nz_[4 + ch + y]; - const int non_zero = - TrellisQuantizeBlock(enc, tmp[n], rd->uv_levels[n], ctx, 2, - &dqm->uv_, dqm->lambda_trellis_uv_); - it->top_nz_[4 + ch + x] = it->left_nz_[4 + ch + y] = non_zero; - nz |= non_zero << n; - } - } - } - } else { - for (n = 0; n < 8; n += 2) { - nz |= VP8EncQuantize2Blocks(tmp[n], rd->uv_levels[n], &dqm->uv_) << n; - } - } - - for (n = 0; n < 8; n += 2) { - VP8ITransform(ref + VP8ScanUV[n], tmp[n], yuv_out + VP8ScanUV[n], 1); - } - return (nz << 16); -} - -//------------------------------------------------------------------------------ -// RD-opt decision. Reconstruct each modes, evalue distortion and bit-cost. -// Pick the mode is lower RD-cost = Rate + lambda * Distortion. - -static void StoreMaxDelta(VP8SegmentInfo* const dqm, const int16_t DCs[16]) { - // We look at the first three AC coefficients to determine what is the average - // delta between each sub-4x4 block. - const int v0 = abs(DCs[1]); - const int v1 = abs(DCs[2]); - const int v2 = abs(DCs[4]); - int max_v = (v1 > v0) ? v1 : v0; - max_v = (v2 > max_v) ? v2 : max_v; - if (max_v > dqm->max_edge_) dqm->max_edge_ = max_v; -} - -static void SwapModeScore(VP8ModeScore** a, VP8ModeScore** b) { - VP8ModeScore* const tmp = *a; - *a = *b; - *b = tmp; -} - -static void SwapPtr(uint8_t** a, uint8_t** b) { - uint8_t* const tmp = *a; - *a = *b; - *b = tmp; -} - -static void SwapOut(VP8EncIterator* const it) { - SwapPtr(&it->yuv_out_, &it->yuv_out2_); -} - -static void PickBestIntra16(VP8EncIterator* const it, VP8ModeScore* rd) { - const int kNumBlocks = 16; - VP8SegmentInfo* const dqm = &it->enc_->dqm_[it->mb_->segment_]; - const int lambda = dqm->lambda_i16_; - const int tlambda = dqm->tlambda_; - const uint8_t* const src = it->yuv_in_ + Y_OFF_ENC; - VP8ModeScore rd_tmp; - VP8ModeScore* rd_cur = &rd_tmp; - VP8ModeScore* rd_best = rd; - int mode; - int is_flat = IsFlatSource16(it->yuv_in_ + Y_OFF_ENC); - - rd->mode_i16 = -1; - for (mode = 0; mode < NUM_PRED_MODES; ++mode) { - uint8_t* const tmp_dst = it->yuv_out2_ + Y_OFF_ENC; // scratch buffer - rd_cur->mode_i16 = mode; - - // Reconstruct - rd_cur->nz = ReconstructIntra16(it, rd_cur, tmp_dst, mode); - - // Measure RD-score - rd_cur->D = VP8SSE16x16(src, tmp_dst); - rd_cur->SD = - tlambda ? MULT_8B(tlambda, VP8TDisto16x16(src, tmp_dst, kWeightY)) : 0; - rd_cur->H = VP8FixedCostsI16[mode]; - rd_cur->R = VP8GetCostLuma16(it, rd_cur); - if (is_flat) { - // refine the first impression (which was in pixel space) - is_flat = IsFlat(rd_cur->y_ac_levels[0], kNumBlocks, FLATNESS_LIMIT_I16); - if (is_flat) { - // Block is very flat. We put emphasis on the distortion being very low! - rd_cur->D *= 2; - rd_cur->SD *= 2; - } - } - - // Since we always examine Intra16 first, we can overwrite *rd directly. - SetRDScore(lambda, rd_cur); - if (mode == 0 || rd_cur->score < rd_best->score) { - SwapModeScore(&rd_cur, &rd_best); - SwapOut(it); - } - } - if (rd_best != rd) { - memcpy(rd, rd_best, sizeof(*rd)); - } - SetRDScore(dqm->lambda_mode_, rd); // finalize score for mode decision. - VP8SetIntra16Mode(it, rd->mode_i16); - - // we have a blocky macroblock (only DCs are non-zero) with fairly high - // distortion, record max delta so we can later adjust the minimal filtering - // strength needed to smooth these blocks out. - if ((rd->nz & 0x100ffff) == 0x1000000 && rd->D > dqm->min_disto_) { - StoreMaxDelta(dqm, rd->y_dc_levels); - } -} - -//------------------------------------------------------------------------------ - -// return the cost array corresponding to the surrounding prediction modes. -static const uint16_t* GetCostModeI4(VP8EncIterator* const it, - const uint8_t modes[16]) { - const int preds_w = it->enc_->preds_w_; - const int x = (it->i4_ & 3), y = it->i4_ >> 2; - const int left = (x == 0) ? it->preds_[y * preds_w - 1] : modes[it->i4_ - 1]; - const int top = (y == 0) ? it->preds_[-preds_w + x] : modes[it->i4_ - 4]; - return VP8FixedCostsI4[top][left]; -} - -static int PickBestIntra4(VP8EncIterator* const it, VP8ModeScore* const rd) { - const VP8Encoder* const enc = it->enc_; - const VP8SegmentInfo* const dqm = &enc->dqm_[it->mb_->segment_]; - const int lambda = dqm->lambda_i4_; - const int tlambda = dqm->tlambda_; - const uint8_t* const src0 = it->yuv_in_ + Y_OFF_ENC; - uint8_t* const best_blocks = it->yuv_out2_ + Y_OFF_ENC; - int total_header_bits = 0; - VP8ModeScore rd_best; - - if (enc->max_i4_header_bits_ == 0) { - return 0; - } - - InitScore(&rd_best); - rd_best.H = 211; // '211' is the value of VP8BitCost(0, 145) - SetRDScore(dqm->lambda_mode_, &rd_best); - VP8IteratorStartI4(it); - do { - const int kNumBlocks = 1; - VP8ModeScore rd_i4; - int mode; - int best_mode = -1; - const uint8_t* const src = src0 + VP8Scan[it->i4_]; - const uint16_t* const mode_costs = GetCostModeI4(it, rd->modes_i4); - uint8_t* best_block = best_blocks + VP8Scan[it->i4_]; - uint8_t* tmp_dst = it->yuv_p_ + I4TMP; // scratch buffer. - - InitScore(&rd_i4); - VP8MakeIntra4Preds(it); - for (mode = 0; mode < NUM_BMODES; ++mode) { - VP8ModeScore rd_tmp; - int16_t tmp_levels[16]; - - // Reconstruct - rd_tmp.nz = - ReconstructIntra4(it, tmp_levels, src, tmp_dst, mode) << it->i4_; - - // Compute RD-score - rd_tmp.D = VP8SSE4x4(src, tmp_dst); - rd_tmp.SD = - tlambda ? MULT_8B(tlambda, VP8TDisto4x4(src, tmp_dst, kWeightY)) - : 0; - rd_tmp.H = mode_costs[mode]; - - // Add flatness penalty, to avoid flat area to be mispredicted - // by a complex mode. - if (mode > 0 && IsFlat(tmp_levels, kNumBlocks, FLATNESS_LIMIT_I4)) { - rd_tmp.R = FLATNESS_PENALTY * kNumBlocks; - } else { - rd_tmp.R = 0; - } - - // early-out check - SetRDScore(lambda, &rd_tmp); - if (best_mode >= 0 && rd_tmp.score >= rd_i4.score) continue; - - // finish computing score - rd_tmp.R += VP8GetCostLuma4(it, tmp_levels); - SetRDScore(lambda, &rd_tmp); - - if (best_mode < 0 || rd_tmp.score < rd_i4.score) { - CopyScore(&rd_i4, &rd_tmp); - best_mode = mode; - SwapPtr(&tmp_dst, &best_block); - memcpy(rd_best.y_ac_levels[it->i4_], tmp_levels, - sizeof(rd_best.y_ac_levels[it->i4_])); - } - } - SetRDScore(dqm->lambda_mode_, &rd_i4); - AddScore(&rd_best, &rd_i4); - if (rd_best.score >= rd->score) { - return 0; - } - total_header_bits += (int)rd_i4.H; // <- equal to mode_costs[best_mode]; - if (total_header_bits > enc->max_i4_header_bits_) { - return 0; - } - // Copy selected samples if not in the right place already. - if (best_block != best_blocks + VP8Scan[it->i4_]) { - VP8Copy4x4(best_block, best_blocks + VP8Scan[it->i4_]); - } - rd->modes_i4[it->i4_] = best_mode; - it->top_nz_[it->i4_ & 3] = it->left_nz_[it->i4_ >> 2] = (rd_i4.nz ? 1 : 0); - } while (VP8IteratorRotateI4(it, best_blocks)); - - // finalize state - CopyScore(rd, &rd_best); - VP8SetIntra4Mode(it, rd->modes_i4); - SwapOut(it); - memcpy(rd->y_ac_levels, rd_best.y_ac_levels, sizeof(rd->y_ac_levels)); - return 1; // select intra4x4 over intra16x16 -} - -//------------------------------------------------------------------------------ - -static void PickBestUV(VP8EncIterator* const it, VP8ModeScore* const rd) { - const int kNumBlocks = 8; - const VP8SegmentInfo* const dqm = &it->enc_->dqm_[it->mb_->segment_]; - const int lambda = dqm->lambda_uv_; - const uint8_t* const src = it->yuv_in_ + U_OFF_ENC; - uint8_t* tmp_dst = it->yuv_out2_ + U_OFF_ENC; // scratch buffer - uint8_t* dst0 = it->yuv_out_ + U_OFF_ENC; - uint8_t* dst = dst0; - VP8ModeScore rd_best; - int mode; - - rd->mode_uv = -1; - InitScore(&rd_best); - for (mode = 0; mode < NUM_PRED_MODES; ++mode) { - VP8ModeScore rd_uv; - - // Reconstruct - rd_uv.nz = ReconstructUV(it, &rd_uv, tmp_dst, mode); - - // Compute RD-score - rd_uv.D = VP8SSE16x8(src, tmp_dst); - rd_uv.SD = 0; // not calling TDisto here: it tends to flatten areas. - rd_uv.H = VP8FixedCostsUV[mode]; - rd_uv.R = VP8GetCostUV(it, &rd_uv); - if (mode > 0 && IsFlat(rd_uv.uv_levels[0], kNumBlocks, FLATNESS_LIMIT_UV)) { - rd_uv.R += FLATNESS_PENALTY * kNumBlocks; - } - - SetRDScore(lambda, &rd_uv); - if (mode == 0 || rd_uv.score < rd_best.score) { - CopyScore(&rd_best, &rd_uv); - rd->mode_uv = mode; - memcpy(rd->uv_levels, rd_uv.uv_levels, sizeof(rd->uv_levels)); - if (it->top_derr_ != NULL) { - memcpy(rd->derr, rd_uv.derr, sizeof(rd_uv.derr)); - } - SwapPtr(&dst, &tmp_dst); - } - } - VP8SetIntraUVMode(it, rd->mode_uv); - AddScore(rd, &rd_best); - if (dst != dst0) { // copy 16x8 block if needed - VP8Copy16x8(dst, dst0); - } - if (it->top_derr_ != NULL) { // store diffusion errors for next block - StoreDiffusionErrors(it, rd); - } -} - -//------------------------------------------------------------------------------ -// Final reconstruction and quantization. - -static void SimpleQuantize(VP8EncIterator* const it, VP8ModeScore* const rd) { - const VP8Encoder* const enc = it->enc_; - const int is_i16 = (it->mb_->type_ == 1); - int nz = 0; - - if (is_i16) { - nz = ReconstructIntra16(it, rd, it->yuv_out_ + Y_OFF_ENC, it->preds_[0]); - } else { - VP8IteratorStartI4(it); - do { - const int mode = - it->preds_[(it->i4_ & 3) + (it->i4_ >> 2) * enc->preds_w_]; - const uint8_t* const src = it->yuv_in_ + Y_OFF_ENC + VP8Scan[it->i4_]; - uint8_t* const dst = it->yuv_out_ + Y_OFF_ENC + VP8Scan[it->i4_]; - VP8MakeIntra4Preds(it); - nz |= ReconstructIntra4(it, rd->y_ac_levels[it->i4_], - src, dst, mode) << it->i4_; - } while (VP8IteratorRotateI4(it, it->yuv_out_ + Y_OFF_ENC)); - } - - nz |= ReconstructUV(it, rd, it->yuv_out_ + U_OFF_ENC, it->mb_->uv_mode_); - rd->nz = nz; -} - -// Refine intra16/intra4 sub-modes based on distortion only (not rate). -static void RefineUsingDistortion(VP8EncIterator* const it, - int try_both_modes, int refine_uv_mode, - VP8ModeScore* const rd) { - score_t best_score = MAX_COST; - int nz = 0; - int mode; - int is_i16 = try_both_modes || (it->mb_->type_ == 1); - - const VP8SegmentInfo* const dqm = &it->enc_->dqm_[it->mb_->segment_]; - // Some empiric constants, of approximate order of magnitude. - const int lambda_d_i16 = 106; - const int lambda_d_i4 = 11; - const int lambda_d_uv = 120; - score_t score_i4 = dqm->i4_penalty_; - score_t i4_bit_sum = 0; - const score_t bit_limit = try_both_modes ? it->enc_->mb_header_limit_ - : MAX_COST; // no early-out allowed - - if (is_i16) { // First, evaluate Intra16 distortion - int best_mode = -1; - const uint8_t* const src = it->yuv_in_ + Y_OFF_ENC; - for (mode = 0; mode < NUM_PRED_MODES; ++mode) { - const uint8_t* const ref = it->yuv_p_ + VP8I16ModeOffsets[mode]; - const score_t score = (score_t)VP8SSE16x16(src, ref) * RD_DISTO_MULT - + VP8FixedCostsI16[mode] * lambda_d_i16; - if (mode > 0 && VP8FixedCostsI16[mode] > bit_limit) { - continue; - } - - if (score < best_score) { - best_mode = mode; - best_score = score; - } - } - if (it->x_ == 0 || it->y_ == 0) { - // avoid starting a checkerboard resonance from the border. See bug #432. - if (IsFlatSource16(src)) { - best_mode = (it->x_ == 0) ? 0 : 2; - try_both_modes = 0; // stick to i16 - } - } - VP8SetIntra16Mode(it, best_mode); - // we'll reconstruct later, if i16 mode actually gets selected - } - - // Next, evaluate Intra4 - if (try_both_modes || !is_i16) { - // We don't evaluate the rate here, but just account for it through a - // constant penalty (i4 mode usually needs more bits compared to i16). - is_i16 = 0; - VP8IteratorStartI4(it); - do { - int best_i4_mode = -1; - score_t best_i4_score = MAX_COST; - const uint8_t* const src = it->yuv_in_ + Y_OFF_ENC + VP8Scan[it->i4_]; - const uint16_t* const mode_costs = GetCostModeI4(it, rd->modes_i4); - - VP8MakeIntra4Preds(it); - for (mode = 0; mode < NUM_BMODES; ++mode) { - const uint8_t* const ref = it->yuv_p_ + VP8I4ModeOffsets[mode]; - const score_t score = VP8SSE4x4(src, ref) * RD_DISTO_MULT - + mode_costs[mode] * lambda_d_i4; - if (score < best_i4_score) { - best_i4_mode = mode; - best_i4_score = score; - } - } - i4_bit_sum += mode_costs[best_i4_mode]; - rd->modes_i4[it->i4_] = best_i4_mode; - score_i4 += best_i4_score; - if (score_i4 >= best_score || i4_bit_sum > bit_limit) { - // Intra4 won't be better than Intra16. Bail out and pick Intra16. - is_i16 = 1; - break; - } else { // reconstruct partial block inside yuv_out2_ buffer - uint8_t* const tmp_dst = it->yuv_out2_ + Y_OFF_ENC + VP8Scan[it->i4_]; - nz |= ReconstructIntra4(it, rd->y_ac_levels[it->i4_], - src, tmp_dst, best_i4_mode) << it->i4_; - } - } while (VP8IteratorRotateI4(it, it->yuv_out2_ + Y_OFF_ENC)); - } - - // Final reconstruction, depending on which mode is selected. - if (!is_i16) { - VP8SetIntra4Mode(it, rd->modes_i4); - SwapOut(it); - best_score = score_i4; - } else { - nz = ReconstructIntra16(it, rd, it->yuv_out_ + Y_OFF_ENC, it->preds_[0]); - } - - // ... and UV! - if (refine_uv_mode) { - int best_mode = -1; - score_t best_uv_score = MAX_COST; - const uint8_t* const src = it->yuv_in_ + U_OFF_ENC; - for (mode = 0; mode < NUM_PRED_MODES; ++mode) { - const uint8_t* const ref = it->yuv_p_ + VP8UVModeOffsets[mode]; - const score_t score = VP8SSE16x8(src, ref) * RD_DISTO_MULT - + VP8FixedCostsUV[mode] * lambda_d_uv; - if (score < best_uv_score) { - best_mode = mode; - best_uv_score = score; - } - } - VP8SetIntraUVMode(it, best_mode); - } - nz |= ReconstructUV(it, rd, it->yuv_out_ + U_OFF_ENC, it->mb_->uv_mode_); - - rd->nz = nz; - rd->score = best_score; -} - -//------------------------------------------------------------------------------ -// Entry point - -int VP8Decimate(VP8EncIterator* const it, VP8ModeScore* const rd, - VP8RDLevel rd_opt) { - int is_skipped; - const int method = it->enc_->method_; - - InitScore(rd); - - // We can perform predictions for Luma16x16 and Chroma8x8 already. - // Luma4x4 predictions needs to be done as-we-go. - VP8MakeLuma16Preds(it); - VP8MakeChroma8Preds(it); - - if (rd_opt > RD_OPT_NONE) { - it->do_trellis_ = (rd_opt >= RD_OPT_TRELLIS_ALL); - PickBestIntra16(it, rd); - if (method >= 2) { - PickBestIntra4(it, rd); - } - PickBestUV(it, rd); - if (rd_opt == RD_OPT_TRELLIS) { // finish off with trellis-optim now - it->do_trellis_ = 1; - SimpleQuantize(it, rd); - } - } else { - // At this point we have heuristically decided intra16 / intra4. - // For method >= 2, pick the best intra4/intra16 based on SSE (~tad slower). - // For method <= 1, we don't re-examine the decision but just go ahead with - // quantization/reconstruction. - RefineUsingDistortion(it, (method >= 2), (method >= 1), rd); - } - is_skipped = (rd->nz == 0); - VP8SetSkip(it, is_skipped); - return is_skipped; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/syntax_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/syntax_enc.c deleted file mode 100644 index a9e5a6cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/syntax_enc.c +++ /dev/null @@ -1,388 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Header syntax writing -// -// Author: Skal (pascal.massimino@gmail.com) - -#include - -#include "src/utils/utils.h" -#include "src/webp/format_constants.h" // RIFF constants -#include "src/webp/mux_types.h" // ALPHA_FLAG -#include "src/enc/vp8i_enc.h" - -//------------------------------------------------------------------------------ -// Helper functions - -static int IsVP8XNeeded(const VP8Encoder* const enc) { - return !!enc->has_alpha_; // Currently the only case when VP8X is needed. - // This could change in the future. -} - -static int PutPaddingByte(const WebPPicture* const pic) { - const uint8_t pad_byte[1] = { 0 }; - return !!pic->writer(pad_byte, 1, pic); -} - -//------------------------------------------------------------------------------ -// Writers for header's various pieces (in order of appearance) - -static WebPEncodingError PutRIFFHeader(const VP8Encoder* const enc, - size_t riff_size) { - const WebPPicture* const pic = enc->pic_; - uint8_t riff[RIFF_HEADER_SIZE] = { - 'R', 'I', 'F', 'F', 0, 0, 0, 0, 'W', 'E', 'B', 'P' - }; - assert(riff_size == (uint32_t)riff_size); - PutLE32(riff + TAG_SIZE, (uint32_t)riff_size); - if (!pic->writer(riff, sizeof(riff), pic)) { - return VP8_ENC_ERROR_BAD_WRITE; - } - return VP8_ENC_OK; -} - -static WebPEncodingError PutVP8XHeader(const VP8Encoder* const enc) { - const WebPPicture* const pic = enc->pic_; - uint8_t vp8x[CHUNK_HEADER_SIZE + VP8X_CHUNK_SIZE] = { - 'V', 'P', '8', 'X' - }; - uint32_t flags = 0; - - assert(IsVP8XNeeded(enc)); - assert(pic->width >= 1 && pic->height >= 1); - assert(pic->width <= MAX_CANVAS_SIZE && pic->height <= MAX_CANVAS_SIZE); - - if (enc->has_alpha_) { - flags |= ALPHA_FLAG; - } - - PutLE32(vp8x + TAG_SIZE, VP8X_CHUNK_SIZE); - PutLE32(vp8x + CHUNK_HEADER_SIZE, flags); - PutLE24(vp8x + CHUNK_HEADER_SIZE + 4, pic->width - 1); - PutLE24(vp8x + CHUNK_HEADER_SIZE + 7, pic->height - 1); - if (!pic->writer(vp8x, sizeof(vp8x), pic)) { - return VP8_ENC_ERROR_BAD_WRITE; - } - return VP8_ENC_OK; -} - -static WebPEncodingError PutAlphaChunk(const VP8Encoder* const enc) { - const WebPPicture* const pic = enc->pic_; - uint8_t alpha_chunk_hdr[CHUNK_HEADER_SIZE] = { - 'A', 'L', 'P', 'H' - }; - - assert(enc->has_alpha_); - - // Alpha chunk header. - PutLE32(alpha_chunk_hdr + TAG_SIZE, enc->alpha_data_size_); - if (!pic->writer(alpha_chunk_hdr, sizeof(alpha_chunk_hdr), pic)) { - return VP8_ENC_ERROR_BAD_WRITE; - } - - // Alpha chunk data. - if (!pic->writer(enc->alpha_data_, enc->alpha_data_size_, pic)) { - return VP8_ENC_ERROR_BAD_WRITE; - } - - // Padding. - if ((enc->alpha_data_size_ & 1) && !PutPaddingByte(pic)) { - return VP8_ENC_ERROR_BAD_WRITE; - } - return VP8_ENC_OK; -} - -static WebPEncodingError PutVP8Header(const WebPPicture* const pic, - size_t vp8_size) { - uint8_t vp8_chunk_hdr[CHUNK_HEADER_SIZE] = { - 'V', 'P', '8', ' ' - }; - assert(vp8_size == (uint32_t)vp8_size); - PutLE32(vp8_chunk_hdr + TAG_SIZE, (uint32_t)vp8_size); - if (!pic->writer(vp8_chunk_hdr, sizeof(vp8_chunk_hdr), pic)) { - return VP8_ENC_ERROR_BAD_WRITE; - } - return VP8_ENC_OK; -} - -static WebPEncodingError PutVP8FrameHeader(const WebPPicture* const pic, - int profile, size_t size0) { - uint8_t vp8_frm_hdr[VP8_FRAME_HEADER_SIZE]; - uint32_t bits; - - if (size0 >= VP8_MAX_PARTITION0_SIZE) { // partition #0 is too big to fit - return VP8_ENC_ERROR_PARTITION0_OVERFLOW; - } - - // Paragraph 9.1. - bits = 0 // keyframe (1b) - | (profile << 1) // profile (3b) - | (1 << 4) // visible (1b) - | ((uint32_t)size0 << 5); // partition length (19b) - vp8_frm_hdr[0] = (bits >> 0) & 0xff; - vp8_frm_hdr[1] = (bits >> 8) & 0xff; - vp8_frm_hdr[2] = (bits >> 16) & 0xff; - // signature - vp8_frm_hdr[3] = (VP8_SIGNATURE >> 16) & 0xff; - vp8_frm_hdr[4] = (VP8_SIGNATURE >> 8) & 0xff; - vp8_frm_hdr[5] = (VP8_SIGNATURE >> 0) & 0xff; - // dimensions - vp8_frm_hdr[6] = pic->width & 0xff; - vp8_frm_hdr[7] = pic->width >> 8; - vp8_frm_hdr[8] = pic->height & 0xff; - vp8_frm_hdr[9] = pic->height >> 8; - - if (!pic->writer(vp8_frm_hdr, sizeof(vp8_frm_hdr), pic)) { - return VP8_ENC_ERROR_BAD_WRITE; - } - return VP8_ENC_OK; -} - -// WebP Headers. -static int PutWebPHeaders(const VP8Encoder* const enc, size_t size0, - size_t vp8_size, size_t riff_size) { - WebPPicture* const pic = enc->pic_; - WebPEncodingError err = VP8_ENC_OK; - - // RIFF header. - err = PutRIFFHeader(enc, riff_size); - if (err != VP8_ENC_OK) goto Error; - - // VP8X. - if (IsVP8XNeeded(enc)) { - err = PutVP8XHeader(enc); - if (err != VP8_ENC_OK) goto Error; - } - - // Alpha. - if (enc->has_alpha_) { - err = PutAlphaChunk(enc); - if (err != VP8_ENC_OK) goto Error; - } - - // VP8 header. - err = PutVP8Header(pic, vp8_size); - if (err != VP8_ENC_OK) goto Error; - - // VP8 frame header. - err = PutVP8FrameHeader(pic, enc->profile_, size0); - if (err != VP8_ENC_OK) goto Error; - - // All OK. - return 1; - - // Error. - Error: - return WebPEncodingSetError(pic, err); -} - -// Segmentation header -static void PutSegmentHeader(VP8BitWriter* const bw, - const VP8Encoder* const enc) { - const VP8EncSegmentHeader* const hdr = &enc->segment_hdr_; - const VP8EncProba* const proba = &enc->proba_; - if (VP8PutBitUniform(bw, (hdr->num_segments_ > 1))) { - // We always 'update' the quant and filter strength values - const int update_data = 1; - int s; - VP8PutBitUniform(bw, hdr->update_map_); - if (VP8PutBitUniform(bw, update_data)) { - // we always use absolute values, not relative ones - VP8PutBitUniform(bw, 1); // (segment_feature_mode = 1. Paragraph 9.3.) - for (s = 0; s < NUM_MB_SEGMENTS; ++s) { - VP8PutSignedBits(bw, enc->dqm_[s].quant_, 7); - } - for (s = 0; s < NUM_MB_SEGMENTS; ++s) { - VP8PutSignedBits(bw, enc->dqm_[s].fstrength_, 6); - } - } - if (hdr->update_map_) { - for (s = 0; s < 3; ++s) { - if (VP8PutBitUniform(bw, (proba->segments_[s] != 255u))) { - VP8PutBits(bw, proba->segments_[s], 8); - } - } - } - } -} - -// Filtering parameters header -static void PutFilterHeader(VP8BitWriter* const bw, - const VP8EncFilterHeader* const hdr) { - const int use_lf_delta = (hdr->i4x4_lf_delta_ != 0); - VP8PutBitUniform(bw, hdr->simple_); - VP8PutBits(bw, hdr->level_, 6); - VP8PutBits(bw, hdr->sharpness_, 3); - if (VP8PutBitUniform(bw, use_lf_delta)) { - // '0' is the default value for i4x4_lf_delta_ at frame #0. - const int need_update = (hdr->i4x4_lf_delta_ != 0); - if (VP8PutBitUniform(bw, need_update)) { - // we don't use ref_lf_delta => emit four 0 bits - VP8PutBits(bw, 0, 4); - // we use mode_lf_delta for i4x4 - VP8PutSignedBits(bw, hdr->i4x4_lf_delta_, 6); - VP8PutBits(bw, 0, 3); // all others unused - } - } -} - -// Nominal quantization parameters -static void PutQuant(VP8BitWriter* const bw, - const VP8Encoder* const enc) { - VP8PutBits(bw, enc->base_quant_, 7); - VP8PutSignedBits(bw, enc->dq_y1_dc_, 4); - VP8PutSignedBits(bw, enc->dq_y2_dc_, 4); - VP8PutSignedBits(bw, enc->dq_y2_ac_, 4); - VP8PutSignedBits(bw, enc->dq_uv_dc_, 4); - VP8PutSignedBits(bw, enc->dq_uv_ac_, 4); -} - -// Partition sizes -static int EmitPartitionsSize(const VP8Encoder* const enc, - WebPPicture* const pic) { - uint8_t buf[3 * (MAX_NUM_PARTITIONS - 1)]; - int p; - for (p = 0; p < enc->num_parts_ - 1; ++p) { - const size_t part_size = VP8BitWriterSize(enc->parts_ + p); - if (part_size >= VP8_MAX_PARTITION_SIZE) { - return WebPEncodingSetError(pic, VP8_ENC_ERROR_PARTITION_OVERFLOW); - } - buf[3 * p + 0] = (part_size >> 0) & 0xff; - buf[3 * p + 1] = (part_size >> 8) & 0xff; - buf[3 * p + 2] = (part_size >> 16) & 0xff; - } - return p ? pic->writer(buf, 3 * p, pic) : 1; -} - -//------------------------------------------------------------------------------ - -static int GeneratePartition0(VP8Encoder* const enc) { - VP8BitWriter* const bw = &enc->bw_; - const int mb_size = enc->mb_w_ * enc->mb_h_; - uint64_t pos1, pos2, pos3; - - pos1 = VP8BitWriterPos(bw); - if (!VP8BitWriterInit(bw, mb_size * 7 / 8)) { // ~7 bits per macroblock - return WebPEncodingSetError(enc->pic_, VP8_ENC_ERROR_OUT_OF_MEMORY); - } - VP8PutBitUniform(bw, 0); // colorspace - VP8PutBitUniform(bw, 0); // clamp type - - PutSegmentHeader(bw, enc); - PutFilterHeader(bw, &enc->filter_hdr_); - VP8PutBits(bw, enc->num_parts_ == 8 ? 3 : - enc->num_parts_ == 4 ? 2 : - enc->num_parts_ == 2 ? 1 : 0, 2); - PutQuant(bw, enc); - VP8PutBitUniform(bw, 0); // no proba update - VP8WriteProbas(bw, &enc->proba_); - pos2 = VP8BitWriterPos(bw); - VP8CodeIntraModes(enc); - VP8BitWriterFinish(bw); - - pos3 = VP8BitWriterPos(bw); - -#if !defined(WEBP_DISABLE_STATS) - if (enc->pic_->stats) { - enc->pic_->stats->header_bytes[0] = (int)((pos2 - pos1 + 7) >> 3); - enc->pic_->stats->header_bytes[1] = (int)((pos3 - pos2 + 7) >> 3); - enc->pic_->stats->alpha_data_size = (int)enc->alpha_data_size_; - } -#else - (void)pos1; - (void)pos2; - (void)pos3; -#endif - if (bw->error_) { - return WebPEncodingSetError(enc->pic_, VP8_ENC_ERROR_OUT_OF_MEMORY); - } - return 1; -} - -void VP8EncFreeBitWriters(VP8Encoder* const enc) { - int p; - VP8BitWriterWipeOut(&enc->bw_); - for (p = 0; p < enc->num_parts_; ++p) { - VP8BitWriterWipeOut(enc->parts_ + p); - } -} - -int VP8EncWrite(VP8Encoder* const enc) { - WebPPicture* const pic = enc->pic_; - VP8BitWriter* const bw = &enc->bw_; - const int task_percent = 19; - const int percent_per_part = task_percent / enc->num_parts_; - const int final_percent = enc->percent_ + task_percent; - int ok = 0; - size_t vp8_size, pad, riff_size; - int p; - - // Partition #0 with header and partition sizes - ok = GeneratePartition0(enc); - if (!ok) return 0; - - // Compute VP8 size - vp8_size = VP8_FRAME_HEADER_SIZE + - VP8BitWriterSize(bw) + - 3 * (enc->num_parts_ - 1); - for (p = 0; p < enc->num_parts_; ++p) { - vp8_size += VP8BitWriterSize(enc->parts_ + p); - } - pad = vp8_size & 1; - vp8_size += pad; - - // Compute RIFF size - // At the minimum it is: "WEBPVP8 nnnn" + VP8 data size. - riff_size = TAG_SIZE + CHUNK_HEADER_SIZE + vp8_size; - if (IsVP8XNeeded(enc)) { // Add size for: VP8X header + data. - riff_size += CHUNK_HEADER_SIZE + VP8X_CHUNK_SIZE; - } - if (enc->has_alpha_) { // Add size for: ALPH header + data. - const uint32_t padded_alpha_size = enc->alpha_data_size_ + - (enc->alpha_data_size_ & 1); - riff_size += CHUNK_HEADER_SIZE + padded_alpha_size; - } - // Sanity check. - if (riff_size > 0xfffffffeU) { - return WebPEncodingSetError(pic, VP8_ENC_ERROR_FILE_TOO_BIG); - } - - // Emit headers and partition #0 - { - const uint8_t* const part0 = VP8BitWriterBuf(bw); - const size_t size0 = VP8BitWriterSize(bw); - ok = ok && PutWebPHeaders(enc, size0, vp8_size, riff_size) - && pic->writer(part0, size0, pic) - && EmitPartitionsSize(enc, pic); - VP8BitWriterWipeOut(bw); // will free the internal buffer. - } - - // Token partitions - for (p = 0; p < enc->num_parts_; ++p) { - const uint8_t* const buf = VP8BitWriterBuf(enc->parts_ + p); - const size_t size = VP8BitWriterSize(enc->parts_ + p); - if (size) ok = ok && pic->writer(buf, size, pic); - VP8BitWriterWipeOut(enc->parts_ + p); // will free the internal buffer. - ok = ok && WebPReportProgress(pic, enc->percent_ + percent_per_part, - &enc->percent_); - } - - // Padding byte - if (ok && pad) { - ok = PutPaddingByte(pic); - } - - enc->coded_size_ = (int)(CHUNK_HEADER_SIZE + riff_size); - ok = ok && WebPReportProgress(pic, final_percent, &enc->percent_); - return ok; -} - -//------------------------------------------------------------------------------ - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/token_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/token_enc.c deleted file mode 100644 index 3a2192ac..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/token_enc.c +++ /dev/null @@ -1,262 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Paginated token buffer -// -// A 'token' is a bit value associated with a probability, either fixed -// or a later-to-be-determined after statistics have been collected. -// For dynamic probability, we just record the slot id (idx) for the probability -// value in the final probability array (uint8_t* probas in VP8EmitTokens). -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include -#include - -#include "src/enc/cost_enc.h" -#include "src/enc/vp8i_enc.h" -#include "src/utils/utils.h" - -#if !defined(DISABLE_TOKEN_BUFFER) - -// we use pages to reduce the number of memcpy() -#define MIN_PAGE_SIZE 8192 // minimum number of token per page -#define FIXED_PROBA_BIT (1u << 14) - -typedef uint16_t token_t; // bit #15: bit value - // bit #14: flags for constant proba or idx - // bits #0..13: slot or constant proba -struct VP8Tokens { - VP8Tokens* next_; // pointer to next page -}; -// Token data is located in memory just after the next_ field. -// This macro is used to return their address and hide the trick. -#define TOKEN_DATA(p) ((const token_t*)&(p)[1]) - -//------------------------------------------------------------------------------ - -void VP8TBufferInit(VP8TBuffer* const b, int page_size) { - b->tokens_ = NULL; - b->pages_ = NULL; - b->last_page_ = &b->pages_; - b->left_ = 0; - b->page_size_ = (page_size < MIN_PAGE_SIZE) ? MIN_PAGE_SIZE : page_size; - b->error_ = 0; -} - -void VP8TBufferClear(VP8TBuffer* const b) { - if (b != NULL) { - VP8Tokens* p = b->pages_; - while (p != NULL) { - VP8Tokens* const next = p->next_; - WebPSafeFree(p); - p = next; - } - VP8TBufferInit(b, b->page_size_); - } -} - -static int TBufferNewPage(VP8TBuffer* const b) { - VP8Tokens* page = NULL; - if (!b->error_) { - const size_t size = sizeof(*page) + b->page_size_ * sizeof(token_t); - page = (VP8Tokens*)WebPSafeMalloc(1ULL, size); - } - if (page == NULL) { - b->error_ = 1; - return 0; - } - page->next_ = NULL; - - *b->last_page_ = page; - b->last_page_ = &page->next_; - b->left_ = b->page_size_; - b->tokens_ = (token_t*)TOKEN_DATA(page); - return 1; -} - -//------------------------------------------------------------------------------ - -#define TOKEN_ID(t, b, ctx) \ - (NUM_PROBAS * ((ctx) + NUM_CTX * ((b) + NUM_BANDS * (t)))) - -static WEBP_INLINE uint32_t AddToken(VP8TBuffer* const b, uint32_t bit, - uint32_t proba_idx, - proba_t* const stats) { - assert(proba_idx < FIXED_PROBA_BIT); - assert(bit <= 1); - if (b->left_ > 0 || TBufferNewPage(b)) { - const int slot = --b->left_; - b->tokens_[slot] = (bit << 15) | proba_idx; - } - VP8RecordStats(bit, stats); - return bit; -} - -static WEBP_INLINE void AddConstantToken(VP8TBuffer* const b, - uint32_t bit, uint32_t proba) { - assert(proba < 256); - assert(bit <= 1); - if (b->left_ > 0 || TBufferNewPage(b)) { - const int slot = --b->left_; - b->tokens_[slot] = (bit << 15) | FIXED_PROBA_BIT | proba; - } -} - -int VP8RecordCoeffTokens(int ctx, const struct VP8Residual* const res, - VP8TBuffer* const tokens) { - const int16_t* const coeffs = res->coeffs; - const int coeff_type = res->coeff_type; - const int last = res->last; - int n = res->first; - uint32_t base_id = TOKEN_ID(coeff_type, n, ctx); - // should be stats[VP8EncBands[n]], but it's equivalent for n=0 or 1 - proba_t* s = res->stats[n][ctx]; - if (!AddToken(tokens, last >= 0, base_id + 0, s + 0)) { - return 0; - } - - while (n < 16) { - const int c = coeffs[n++]; - const int sign = c < 0; - const uint32_t v = sign ? -c : c; - if (!AddToken(tokens, v != 0, base_id + 1, s + 1)) { - base_id = TOKEN_ID(coeff_type, VP8EncBands[n], 0); // ctx=0 - s = res->stats[VP8EncBands[n]][0]; - continue; - } - if (!AddToken(tokens, v > 1, base_id + 2, s + 2)) { - base_id = TOKEN_ID(coeff_type, VP8EncBands[n], 1); // ctx=1 - s = res->stats[VP8EncBands[n]][1]; - } else { - if (!AddToken(tokens, v > 4, base_id + 3, s + 3)) { - if (AddToken(tokens, v != 2, base_id + 4, s + 4)) { - AddToken(tokens, v == 4, base_id + 5, s + 5); - } - } else if (!AddToken(tokens, v > 10, base_id + 6, s + 6)) { - if (!AddToken(tokens, v > 6, base_id + 7, s + 7)) { - AddConstantToken(tokens, v == 6, 159); - } else { - AddConstantToken(tokens, v >= 9, 165); - AddConstantToken(tokens, !(v & 1), 145); - } - } else { - int mask; - const uint8_t* tab; - uint32_t residue = v - 3; - if (residue < (8 << 1)) { // VP8Cat3 (3b) - AddToken(tokens, 0, base_id + 8, s + 8); - AddToken(tokens, 0, base_id + 9, s + 9); - residue -= (8 << 0); - mask = 1 << 2; - tab = VP8Cat3; - } else if (residue < (8 << 2)) { // VP8Cat4 (4b) - AddToken(tokens, 0, base_id + 8, s + 8); - AddToken(tokens, 1, base_id + 9, s + 9); - residue -= (8 << 1); - mask = 1 << 3; - tab = VP8Cat4; - } else if (residue < (8 << 3)) { // VP8Cat5 (5b) - AddToken(tokens, 1, base_id + 8, s + 8); - AddToken(tokens, 0, base_id + 10, s + 9); - residue -= (8 << 2); - mask = 1 << 4; - tab = VP8Cat5; - } else { // VP8Cat6 (11b) - AddToken(tokens, 1, base_id + 8, s + 8); - AddToken(tokens, 1, base_id + 10, s + 9); - residue -= (8 << 3); - mask = 1 << 10; - tab = VP8Cat6; - } - while (mask) { - AddConstantToken(tokens, !!(residue & mask), *tab++); - mask >>= 1; - } - } - base_id = TOKEN_ID(coeff_type, VP8EncBands[n], 2); // ctx=2 - s = res->stats[VP8EncBands[n]][2]; - } - AddConstantToken(tokens, sign, 128); - if (n == 16 || !AddToken(tokens, n <= last, base_id + 0, s + 0)) { - return 1; // EOB - } - } - return 1; -} - -#undef TOKEN_ID - -//------------------------------------------------------------------------------ -// Final coding pass, with known probabilities - -int VP8EmitTokens(VP8TBuffer* const b, VP8BitWriter* const bw, - const uint8_t* const probas, int final_pass) { - const VP8Tokens* p = b->pages_; - assert(!b->error_); - while (p != NULL) { - const VP8Tokens* const next = p->next_; - const int N = (next == NULL) ? b->left_ : 0; - int n = b->page_size_; - const token_t* const tokens = TOKEN_DATA(p); - while (n-- > N) { - const token_t token = tokens[n]; - const int bit = (token >> 15) & 1; - if (token & FIXED_PROBA_BIT) { - VP8PutBit(bw, bit, token & 0xffu); // constant proba - } else { - VP8PutBit(bw, bit, probas[token & 0x3fffu]); - } - } - if (final_pass) WebPSafeFree((void*)p); - p = next; - } - if (final_pass) b->pages_ = NULL; - return 1; -} - -// Size estimation -size_t VP8EstimateTokenSize(VP8TBuffer* const b, const uint8_t* const probas) { - size_t size = 0; - const VP8Tokens* p = b->pages_; - assert(!b->error_); - while (p != NULL) { - const VP8Tokens* const next = p->next_; - const int N = (next == NULL) ? b->left_ : 0; - int n = b->page_size_; - const token_t* const tokens = TOKEN_DATA(p); - while (n-- > N) { - const token_t token = tokens[n]; - const int bit = token & (1 << 15); - if (token & FIXED_PROBA_BIT) { - size += VP8BitCost(bit, token & 0xffu); - } else { - size += VP8BitCost(bit, probas[token & 0x3fffu]); - } - } - p = next; - } - return size; -} - -//------------------------------------------------------------------------------ - -#else // DISABLE_TOKEN_BUFFER - -void VP8TBufferInit(VP8TBuffer* const b, int page_size) { - (void)b; - (void)page_size; -} -void VP8TBufferClear(VP8TBuffer* const b) { - (void)b; -} - -#endif // !DISABLE_TOKEN_BUFFER - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/tree_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/tree_enc.c deleted file mode 100644 index 64ed2836..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/tree_enc.c +++ /dev/null @@ -1,504 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Coding of token probabilities, intra modes and segments. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/enc/vp8i_enc.h" - -//------------------------------------------------------------------------------ -// Default probabilities - -// Paragraph 13.5 -const uint8_t - VP8CoeffsProba0[NUM_TYPES][NUM_BANDS][NUM_CTX][NUM_PROBAS] = { - { { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } - }, - { { 253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128 }, - { 189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128 }, - { 106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128 } - }, - { { 1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128 }, - { 181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128 }, - { 78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128 }, - }, - { { 1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128 }, - { 184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128 }, - { 77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128 }, - }, - { { 1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128 }, - { 170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128 }, - { 37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128 } - }, - { { 1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128 }, - { 207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128 }, - { 102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128 } - }, - { { 1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128 }, - { 177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128 }, - { 80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128 } - }, - { { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } - } - }, - { { { 198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62 }, - { 131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1 }, - { 68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128 } - }, - { { 1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128 }, - { 184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128 }, - { 81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128 } - }, - { { 1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128 }, - { 99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128 }, - { 23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128 } - }, - { { 1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128 }, - { 109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128 }, - { 44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128 } - }, - { { 1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128 }, - { 94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128 }, - { 22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128 } - }, - { { 1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128 }, - { 124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128 }, - { 35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128 } - }, - { { 1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128 }, - { 121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128 }, - { 45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128 } - }, - { { 1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128 }, - { 203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128 } - } - }, - { { { 253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128 }, - { 175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128 }, - { 73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128 } - }, - { { 1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128 }, - { 239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128 }, - { 155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128 } - }, - { { 1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128 }, - { 201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128 }, - { 69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128 } - }, - { { 1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128 }, - { 141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128 } - }, - { { 1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128 }, - { 149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 } - }, - { { 1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128 } - }, - { { 1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128 }, - { 55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128 } - }, - { { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } - } - }, - { { { 202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255 }, - { 126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128 }, - { 61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128 } - }, - { { 1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128 }, - { 166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128 }, - { 39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128 } - }, - { { 1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128 }, - { 124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128 }, - { 24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128 } - }, - { { 1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128 }, - { 149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128 }, - { 28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128 } - }, - { { 1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128 }, - { 123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128 }, - { 20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128 } - }, - { { 1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128 }, - { 168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128 }, - { 47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128 } - }, - { { 1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128 }, - { 141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128 }, - { 42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128 } - }, - { { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, - { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 } - } - } -}; - -void VP8DefaultProbas(VP8Encoder* const enc) { - VP8EncProba* const probas = &enc->proba_; - probas->use_skip_proba_ = 0; - memset(probas->segments_, 255u, sizeof(probas->segments_)); - memcpy(probas->coeffs_, VP8CoeffsProba0, sizeof(VP8CoeffsProba0)); - // Note: we could hard-code the level_costs_ corresponding to VP8CoeffsProba0, - // but that's ~11k of static data. Better call VP8CalculateLevelCosts() later. - probas->dirty_ = 1; -} - -// Paragraph 11.5. 900bytes. -static const uint8_t kBModesProba[NUM_BMODES][NUM_BMODES][NUM_BMODES - 1] = { - { { 231, 120, 48, 89, 115, 113, 120, 152, 112 }, - { 152, 179, 64, 126, 170, 118, 46, 70, 95 }, - { 175, 69, 143, 80, 85, 82, 72, 155, 103 }, - { 56, 58, 10, 171, 218, 189, 17, 13, 152 }, - { 114, 26, 17, 163, 44, 195, 21, 10, 173 }, - { 121, 24, 80, 195, 26, 62, 44, 64, 85 }, - { 144, 71, 10, 38, 171, 213, 144, 34, 26 }, - { 170, 46, 55, 19, 136, 160, 33, 206, 71 }, - { 63, 20, 8, 114, 114, 208, 12, 9, 226 }, - { 81, 40, 11, 96, 182, 84, 29, 16, 36 } }, - { { 134, 183, 89, 137, 98, 101, 106, 165, 148 }, - { 72, 187, 100, 130, 157, 111, 32, 75, 80 }, - { 66, 102, 167, 99, 74, 62, 40, 234, 128 }, - { 41, 53, 9, 178, 241, 141, 26, 8, 107 }, - { 74, 43, 26, 146, 73, 166, 49, 23, 157 }, - { 65, 38, 105, 160, 51, 52, 31, 115, 128 }, - { 104, 79, 12, 27, 217, 255, 87, 17, 7 }, - { 87, 68, 71, 44, 114, 51, 15, 186, 23 }, - { 47, 41, 14, 110, 182, 183, 21, 17, 194 }, - { 66, 45, 25, 102, 197, 189, 23, 18, 22 } }, - { { 88, 88, 147, 150, 42, 46, 45, 196, 205 }, - { 43, 97, 183, 117, 85, 38, 35, 179, 61 }, - { 39, 53, 200, 87, 26, 21, 43, 232, 171 }, - { 56, 34, 51, 104, 114, 102, 29, 93, 77 }, - { 39, 28, 85, 171, 58, 165, 90, 98, 64 }, - { 34, 22, 116, 206, 23, 34, 43, 166, 73 }, - { 107, 54, 32, 26, 51, 1, 81, 43, 31 }, - { 68, 25, 106, 22, 64, 171, 36, 225, 114 }, - { 34, 19, 21, 102, 132, 188, 16, 76, 124 }, - { 62, 18, 78, 95, 85, 57, 50, 48, 51 } }, - { { 193, 101, 35, 159, 215, 111, 89, 46, 111 }, - { 60, 148, 31, 172, 219, 228, 21, 18, 111 }, - { 112, 113, 77, 85, 179, 255, 38, 120, 114 }, - { 40, 42, 1, 196, 245, 209, 10, 25, 109 }, - { 88, 43, 29, 140, 166, 213, 37, 43, 154 }, - { 61, 63, 30, 155, 67, 45, 68, 1, 209 }, - { 100, 80, 8, 43, 154, 1, 51, 26, 71 }, - { 142, 78, 78, 16, 255, 128, 34, 197, 171 }, - { 41, 40, 5, 102, 211, 183, 4, 1, 221 }, - { 51, 50, 17, 168, 209, 192, 23, 25, 82 } }, - { { 138, 31, 36, 171, 27, 166, 38, 44, 229 }, - { 67, 87, 58, 169, 82, 115, 26, 59, 179 }, - { 63, 59, 90, 180, 59, 166, 93, 73, 154 }, - { 40, 40, 21, 116, 143, 209, 34, 39, 175 }, - { 47, 15, 16, 183, 34, 223, 49, 45, 183 }, - { 46, 17, 33, 183, 6, 98, 15, 32, 183 }, - { 57, 46, 22, 24, 128, 1, 54, 17, 37 }, - { 65, 32, 73, 115, 28, 128, 23, 128, 205 }, - { 40, 3, 9, 115, 51, 192, 18, 6, 223 }, - { 87, 37, 9, 115, 59, 77, 64, 21, 47 } }, - { { 104, 55, 44, 218, 9, 54, 53, 130, 226 }, - { 64, 90, 70, 205, 40, 41, 23, 26, 57 }, - { 54, 57, 112, 184, 5, 41, 38, 166, 213 }, - { 30, 34, 26, 133, 152, 116, 10, 32, 134 }, - { 39, 19, 53, 221, 26, 114, 32, 73, 255 }, - { 31, 9, 65, 234, 2, 15, 1, 118, 73 }, - { 75, 32, 12, 51, 192, 255, 160, 43, 51 }, - { 88, 31, 35, 67, 102, 85, 55, 186, 85 }, - { 56, 21, 23, 111, 59, 205, 45, 37, 192 }, - { 55, 38, 70, 124, 73, 102, 1, 34, 98 } }, - { { 125, 98, 42, 88, 104, 85, 117, 175, 82 }, - { 95, 84, 53, 89, 128, 100, 113, 101, 45 }, - { 75, 79, 123, 47, 51, 128, 81, 171, 1 }, - { 57, 17, 5, 71, 102, 57, 53, 41, 49 }, - { 38, 33, 13, 121, 57, 73, 26, 1, 85 }, - { 41, 10, 67, 138, 77, 110, 90, 47, 114 }, - { 115, 21, 2, 10, 102, 255, 166, 23, 6 }, - { 101, 29, 16, 10, 85, 128, 101, 196, 26 }, - { 57, 18, 10, 102, 102, 213, 34, 20, 43 }, - { 117, 20, 15, 36, 163, 128, 68, 1, 26 } }, - { { 102, 61, 71, 37, 34, 53, 31, 243, 192 }, - { 69, 60, 71, 38, 73, 119, 28, 222, 37 }, - { 68, 45, 128, 34, 1, 47, 11, 245, 171 }, - { 62, 17, 19, 70, 146, 85, 55, 62, 70 }, - { 37, 43, 37, 154, 100, 163, 85, 160, 1 }, - { 63, 9, 92, 136, 28, 64, 32, 201, 85 }, - { 75, 15, 9, 9, 64, 255, 184, 119, 16 }, - { 86, 6, 28, 5, 64, 255, 25, 248, 1 }, - { 56, 8, 17, 132, 137, 255, 55, 116, 128 }, - { 58, 15, 20, 82, 135, 57, 26, 121, 40 } }, - { { 164, 50, 31, 137, 154, 133, 25, 35, 218 }, - { 51, 103, 44, 131, 131, 123, 31, 6, 158 }, - { 86, 40, 64, 135, 148, 224, 45, 183, 128 }, - { 22, 26, 17, 131, 240, 154, 14, 1, 209 }, - { 45, 16, 21, 91, 64, 222, 7, 1, 197 }, - { 56, 21, 39, 155, 60, 138, 23, 102, 213 }, - { 83, 12, 13, 54, 192, 255, 68, 47, 28 }, - { 85, 26, 85, 85, 128, 128, 32, 146, 171 }, - { 18, 11, 7, 63, 144, 171, 4, 4, 246 }, - { 35, 27, 10, 146, 174, 171, 12, 26, 128 } }, - { { 190, 80, 35, 99, 180, 80, 126, 54, 45 }, - { 85, 126, 47, 87, 176, 51, 41, 20, 32 }, - { 101, 75, 128, 139, 118, 146, 116, 128, 85 }, - { 56, 41, 15, 176, 236, 85, 37, 9, 62 }, - { 71, 30, 17, 119, 118, 255, 17, 18, 138 }, - { 101, 38, 60, 138, 55, 70, 43, 26, 142 }, - { 146, 36, 19, 30, 171, 255, 97, 27, 20 }, - { 138, 45, 61, 62, 219, 1, 81, 188, 64 }, - { 32, 41, 20, 117, 151, 142, 20, 21, 163 }, - { 112, 19, 12, 61, 195, 128, 48, 4, 24 } } -}; - -static int PutI4Mode(VP8BitWriter* const bw, int mode, - const uint8_t* const prob) { - if (VP8PutBit(bw, mode != B_DC_PRED, prob[0])) { - if (VP8PutBit(bw, mode != B_TM_PRED, prob[1])) { - if (VP8PutBit(bw, mode != B_VE_PRED, prob[2])) { - if (!VP8PutBit(bw, mode >= B_LD_PRED, prob[3])) { - if (VP8PutBit(bw, mode != B_HE_PRED, prob[4])) { - VP8PutBit(bw, mode != B_RD_PRED, prob[5]); - } - } else { - if (VP8PutBit(bw, mode != B_LD_PRED, prob[6])) { - if (VP8PutBit(bw, mode != B_VL_PRED, prob[7])) { - VP8PutBit(bw, mode != B_HD_PRED, prob[8]); - } - } - } - } - } - } - return mode; -} - -static void PutI16Mode(VP8BitWriter* const bw, int mode) { - if (VP8PutBit(bw, (mode == TM_PRED || mode == H_PRED), 156)) { - VP8PutBit(bw, mode == TM_PRED, 128); // TM or HE - } else { - VP8PutBit(bw, mode == V_PRED, 163); // VE or DC - } -} - -static void PutUVMode(VP8BitWriter* const bw, int uv_mode) { - if (VP8PutBit(bw, uv_mode != DC_PRED, 142)) { - if (VP8PutBit(bw, uv_mode != V_PRED, 114)) { - VP8PutBit(bw, uv_mode != H_PRED, 183); // else: TM_PRED - } - } -} - -static void PutSegment(VP8BitWriter* const bw, int s, const uint8_t* p) { - if (VP8PutBit(bw, s >= 2, p[0])) p += 1; - VP8PutBit(bw, s & 1, p[1]); -} - -void VP8CodeIntraModes(VP8Encoder* const enc) { - VP8BitWriter* const bw = &enc->bw_; - VP8EncIterator it; - VP8IteratorInit(enc, &it); - do { - const VP8MBInfo* const mb = it.mb_; - const uint8_t* preds = it.preds_; - if (enc->segment_hdr_.update_map_) { - PutSegment(bw, mb->segment_, enc->proba_.segments_); - } - if (enc->proba_.use_skip_proba_) { - VP8PutBit(bw, mb->skip_, enc->proba_.skip_proba_); - } - if (VP8PutBit(bw, (mb->type_ != 0), 145)) { // i16x16 - PutI16Mode(bw, preds[0]); - } else { - const int preds_w = enc->preds_w_; - const uint8_t* top_pred = preds - preds_w; - int x, y; - for (y = 0; y < 4; ++y) { - int left = preds[-1]; - for (x = 0; x < 4; ++x) { - const uint8_t* const probas = kBModesProba[top_pred[x]][left]; - left = PutI4Mode(bw, preds[x], probas); - } - top_pred = preds; - preds += preds_w; - } - } - PutUVMode(bw, mb->uv_mode_); - } while (VP8IteratorNext(&it)); -} - -//------------------------------------------------------------------------------ -// Paragraph 13 - -const uint8_t - VP8CoeffsUpdateProba[NUM_TYPES][NUM_BANDS][NUM_CTX][NUM_PROBAS] = { - { { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255 }, - { 250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - } - }, - { { { 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255 }, - { 234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255 } - }, - { { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - } - }, - { { { 186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255 }, - { 251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255 } - }, - { { 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - } - }, - { { { 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255 }, - { 248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - }, - { { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 }, - { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 } - } - } -}; - -void VP8WriteProbas(VP8BitWriter* const bw, const VP8EncProba* const probas) { - int t, b, c, p; - for (t = 0; t < NUM_TYPES; ++t) { - for (b = 0; b < NUM_BANDS; ++b) { - for (c = 0; c < NUM_CTX; ++c) { - for (p = 0; p < NUM_PROBAS; ++p) { - const uint8_t p0 = probas->coeffs_[t][b][c][p]; - const int update = (p0 != VP8CoeffsProba0[t][b][c][p]); - if (VP8PutBit(bw, update, VP8CoeffsUpdateProba[t][b][c][p])) { - VP8PutBits(bw, p0, 8); - } - } - } - } - } - if (VP8PutBitUniform(bw, probas->use_skip_proba_)) { - VP8PutBits(bw, probas->skip_proba_, 8); - } -} - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h deleted file mode 100644 index fedcaeea..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h +++ /dev/null @@ -1,518 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP encoder: internal header. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_ENC_VP8I_ENC_H_ -#define WEBP_ENC_VP8I_ENC_H_ - -#include // for memcpy() -#include "src/dec/common_dec.h" -#include "src/dsp/dsp.h" -#include "src/utils/bit_writer_utils.h" -#include "src/utils/thread_utils.h" -#include "src/utils/utils.h" -#include "src/webp/encode.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// Various defines and enums - -// version numbers -#define ENC_MAJ_VERSION 1 -#define ENC_MIN_VERSION 1 -#define ENC_REV_VERSION 0 - -enum { MAX_LF_LEVELS = 64, // Maximum loop filter level - MAX_VARIABLE_LEVEL = 67, // last (inclusive) level with variable cost - MAX_LEVEL = 2047 // max level (note: max codable is 2047 + 67) - }; - -typedef enum { // Rate-distortion optimization levels - RD_OPT_NONE = 0, // no rd-opt - RD_OPT_BASIC = 1, // basic scoring (no trellis) - RD_OPT_TRELLIS = 2, // perform trellis-quant on the final decision only - RD_OPT_TRELLIS_ALL = 3 // trellis-quant for every scoring (much slower) -} VP8RDLevel; - -// YUV-cache parameters. Cache is 32-bytes wide (= one cacheline). -// The original or reconstructed samples can be accessed using VP8Scan[]. -// The predicted blocks can be accessed using offsets to yuv_p_ and -// the arrays VP8*ModeOffsets[]. -// * YUV Samples area (yuv_in_/yuv_out_/yuv_out2_) -// (see VP8Scan[] for accessing the blocks, along with -// Y_OFF_ENC/U_OFF_ENC/V_OFF_ENC): -// +----+----+ -// Y_OFF_ENC |YYYY|UUVV| -// U_OFF_ENC |YYYY|UUVV| -// V_OFF_ENC |YYYY|....| <- 25% wasted U/V area -// |YYYY|....| -// +----+----+ -// * Prediction area ('yuv_p_', size = PRED_SIZE_ENC) -// Intra16 predictions (16x16 block each, two per row): -// |I16DC16|I16TM16| -// |I16VE16|I16HE16| -// Chroma U/V predictions (16x8 block each, two per row): -// |C8DC8|C8TM8| -// |C8VE8|C8HE8| -// Intra 4x4 predictions (4x4 block each) -// |I4DC4 I4TM4 I4VE4 I4HE4|I4RD4 I4VR4 I4LD4 I4VL4| -// |I4HD4 I4HU4 I4TMP .....|.......................| <- ~31% wasted -#define YUV_SIZE_ENC (BPS * 16) -#define PRED_SIZE_ENC (32 * BPS + 16 * BPS + 8 * BPS) // I16+Chroma+I4 preds -#define Y_OFF_ENC (0) -#define U_OFF_ENC (16) -#define V_OFF_ENC (16 + 8) - -extern const uint16_t VP8Scan[16]; -extern const uint16_t VP8UVModeOffsets[4]; -extern const uint16_t VP8I16ModeOffsets[4]; -extern const uint16_t VP8I4ModeOffsets[NUM_BMODES]; - -// Layout of prediction blocks -// intra 16x16 -#define I16DC16 (0 * 16 * BPS) -#define I16TM16 (I16DC16 + 16) -#define I16VE16 (1 * 16 * BPS) -#define I16HE16 (I16VE16 + 16) -// chroma 8x8, two U/V blocks side by side (hence: 16x8 each) -#define C8DC8 (2 * 16 * BPS) -#define C8TM8 (C8DC8 + 1 * 16) -#define C8VE8 (2 * 16 * BPS + 8 * BPS) -#define C8HE8 (C8VE8 + 1 * 16) -// intra 4x4 -#define I4DC4 (3 * 16 * BPS + 0) -#define I4TM4 (I4DC4 + 4) -#define I4VE4 (I4DC4 + 8) -#define I4HE4 (I4DC4 + 12) -#define I4RD4 (I4DC4 + 16) -#define I4VR4 (I4DC4 + 20) -#define I4LD4 (I4DC4 + 24) -#define I4VL4 (I4DC4 + 28) -#define I4HD4 (3 * 16 * BPS + 4 * BPS) -#define I4HU4 (I4HD4 + 4) -#define I4TMP (I4HD4 + 8) - -typedef int64_t score_t; // type used for scores, rate, distortion -// Note that MAX_COST is not the maximum allowed by sizeof(score_t), -// in order to allow overflowing computations. -#define MAX_COST ((score_t)0x7fffffffffffffLL) - -#define QFIX 17 -#define BIAS(b) ((b) << (QFIX - 8)) -// Fun fact: this is the _only_ line where we're actually being lossy and -// discarding bits. -static WEBP_INLINE int QUANTDIV(uint32_t n, uint32_t iQ, uint32_t B) { - return (int)((n * iQ + B) >> QFIX); -} - -// Uncomment the following to remove token-buffer code: -// #define DISABLE_TOKEN_BUFFER - -// quality below which error-diffusion is enabled -#define ERROR_DIFFUSION_QUALITY 98 - -//------------------------------------------------------------------------------ -// Headers - -typedef uint32_t proba_t; // 16b + 16b -typedef uint8_t ProbaArray[NUM_CTX][NUM_PROBAS]; -typedef proba_t StatsArray[NUM_CTX][NUM_PROBAS]; -typedef uint16_t CostArray[NUM_CTX][MAX_VARIABLE_LEVEL + 1]; -typedef const uint16_t* (*CostArrayPtr)[NUM_CTX]; // for easy casting -typedef const uint16_t* CostArrayMap[16][NUM_CTX]; -typedef double LFStats[NUM_MB_SEGMENTS][MAX_LF_LEVELS]; // filter stats - -typedef struct VP8Encoder VP8Encoder; - -// segment features -typedef struct { - int num_segments_; // Actual number of segments. 1 segment only = unused. - int update_map_; // whether to update the segment map or not. - // must be 0 if there's only 1 segment. - int size_; // bit-cost for transmitting the segment map -} VP8EncSegmentHeader; - -// Struct collecting all frame-persistent probabilities. -typedef struct { - uint8_t segments_[3]; // probabilities for segment tree - uint8_t skip_proba_; // final probability of being skipped. - ProbaArray coeffs_[NUM_TYPES][NUM_BANDS]; // 1056 bytes - StatsArray stats_[NUM_TYPES][NUM_BANDS]; // 4224 bytes - CostArray level_cost_[NUM_TYPES][NUM_BANDS]; // 13056 bytes - CostArrayMap remapped_costs_[NUM_TYPES]; // 1536 bytes - int dirty_; // if true, need to call VP8CalculateLevelCosts() - int use_skip_proba_; // Note: we always use skip_proba for now. - int nb_skip_; // number of skipped blocks -} VP8EncProba; - -// Filter parameters. Not actually used in the code (we don't perform -// the in-loop filtering), but filled from user's config -typedef struct { - int simple_; // filtering type: 0=complex, 1=simple - int level_; // base filter level [0..63] - int sharpness_; // [0..7] - int i4x4_lf_delta_; // delta filter level for i4x4 relative to i16x16 -} VP8EncFilterHeader; - -//------------------------------------------------------------------------------ -// Informations about the macroblocks. - -typedef struct { - // block type - unsigned int type_:2; // 0=i4x4, 1=i16x16 - unsigned int uv_mode_:2; - unsigned int skip_:1; - unsigned int segment_:2; - uint8_t alpha_; // quantization-susceptibility -} VP8MBInfo; - -typedef struct VP8Matrix { - uint16_t q_[16]; // quantizer steps - uint16_t iq_[16]; // reciprocals, fixed point. - uint32_t bias_[16]; // rounding bias - uint32_t zthresh_[16]; // value below which a coefficient is zeroed - uint16_t sharpen_[16]; // frequency boosters for slight sharpening -} VP8Matrix; - -typedef struct { - VP8Matrix y1_, y2_, uv_; // quantization matrices - int alpha_; // quant-susceptibility, range [-127,127]. Zero is neutral. - // Lower values indicate a lower risk of blurriness. - int beta_; // filter-susceptibility, range [0,255]. - int quant_; // final segment quantizer. - int fstrength_; // final in-loop filtering strength - int max_edge_; // max edge delta (for filtering strength) - int min_disto_; // minimum distortion required to trigger filtering record - // reactivities - int lambda_i16_, lambda_i4_, lambda_uv_; - int lambda_mode_, lambda_trellis_, tlambda_; - int lambda_trellis_i16_, lambda_trellis_i4_, lambda_trellis_uv_; - - // lambda values for distortion-based evaluation - score_t i4_penalty_; // penalty for using Intra4 -} VP8SegmentInfo; - -typedef int8_t DError[2 /* u/v */][2 /* top or left */]; - -// Handy transient struct to accumulate score and info during RD-optimization -// and mode evaluation. -typedef struct { - score_t D, SD; // Distortion, spectral distortion - score_t H, R, score; // header bits, rate, score. - int16_t y_dc_levels[16]; // Quantized levels for luma-DC, luma-AC, chroma. - int16_t y_ac_levels[16][16]; - int16_t uv_levels[4 + 4][16]; - int mode_i16; // mode number for intra16 prediction - uint8_t modes_i4[16]; // mode numbers for intra4 predictions - int mode_uv; // mode number of chroma prediction - uint32_t nz; // non-zero blocks - int8_t derr[2][3]; // DC diffusion errors for U/V for blocks #1/2/3 -} VP8ModeScore; - -// Iterator structure to iterate through macroblocks, pointing to the -// right neighbouring data (samples, predictions, contexts, ...) -typedef struct { - int x_, y_; // current macroblock - uint8_t* yuv_in_; // input samples - uint8_t* yuv_out_; // output samples - uint8_t* yuv_out2_; // secondary buffer swapped with yuv_out_. - uint8_t* yuv_p_; // scratch buffer for prediction - VP8Encoder* enc_; // back-pointer - VP8MBInfo* mb_; // current macroblock - VP8BitWriter* bw_; // current bit-writer - uint8_t* preds_; // intra mode predictors (4x4 blocks) - uint32_t* nz_; // non-zero pattern - uint8_t i4_boundary_[37]; // 32+5 boundary samples needed by intra4x4 - uint8_t* i4_top_; // pointer to the current top boundary sample - int i4_; // current intra4x4 mode being tested - int top_nz_[9]; // top-non-zero context. - int left_nz_[9]; // left-non-zero. left_nz[8] is independent. - uint64_t bit_count_[4][3]; // bit counters for coded levels. - uint64_t luma_bits_; // macroblock bit-cost for luma - uint64_t uv_bits_; // macroblock bit-cost for chroma - LFStats* lf_stats_; // filter stats (borrowed from enc_) - int do_trellis_; // if true, perform extra level optimisation - int count_down_; // number of mb still to be processed - int count_down0_; // starting counter value (for progress) - int percent0_; // saved initial progress percent - - DError left_derr_; // left error diffusion (u/v) - DError* top_derr_; // top diffusion error - NULL if disabled - - uint8_t* y_left_; // left luma samples (addressable from index -1 to 15). - uint8_t* u_left_; // left u samples (addressable from index -1 to 7) - uint8_t* v_left_; // left v samples (addressable from index -1 to 7) - - uint8_t* y_top_; // top luma samples at position 'x_' - uint8_t* uv_top_; // top u/v samples at position 'x_', packed as 16 bytes - - // memory for storing y/u/v_left_ - uint8_t yuv_left_mem_[17 + 16 + 16 + 8 + WEBP_ALIGN_CST]; - // memory for yuv_* - uint8_t yuv_mem_[3 * YUV_SIZE_ENC + PRED_SIZE_ENC + WEBP_ALIGN_CST]; -} VP8EncIterator; - - // in iterator.c -// must be called first -void VP8IteratorInit(VP8Encoder* const enc, VP8EncIterator* const it); -// restart a scan -void VP8IteratorReset(VP8EncIterator* const it); -// reset iterator position to row 'y' -void VP8IteratorSetRow(VP8EncIterator* const it, int y); -// set count down (=number of iterations to go) -void VP8IteratorSetCountDown(VP8EncIterator* const it, int count_down); -// return true if iteration is finished -int VP8IteratorIsDone(const VP8EncIterator* const it); -// Import uncompressed samples from source. -// If tmp_32 is not NULL, import boundary samples too. -// tmp_32 is a 32-bytes scratch buffer that must be aligned in memory. -void VP8IteratorImport(VP8EncIterator* const it, uint8_t* const tmp_32); -// export decimated samples -void VP8IteratorExport(const VP8EncIterator* const it); -// go to next macroblock. Returns false if not finished. -int VP8IteratorNext(VP8EncIterator* const it); -// save the yuv_out_ boundary values to top_/left_ arrays for next iterations. -void VP8IteratorSaveBoundary(VP8EncIterator* const it); -// Report progression based on macroblock rows. Return 0 for user-abort request. -int VP8IteratorProgress(const VP8EncIterator* const it, - int final_delta_percent); -// Intra4x4 iterations -void VP8IteratorStartI4(VP8EncIterator* const it); -// returns true if not done. -int VP8IteratorRotateI4(VP8EncIterator* const it, - const uint8_t* const yuv_out); - -// Non-zero context setup/teardown -void VP8IteratorNzToBytes(VP8EncIterator* const it); -void VP8IteratorBytesToNz(VP8EncIterator* const it); - -// Helper functions to set mode properties -void VP8SetIntra16Mode(const VP8EncIterator* const it, int mode); -void VP8SetIntra4Mode(const VP8EncIterator* const it, const uint8_t* modes); -void VP8SetIntraUVMode(const VP8EncIterator* const it, int mode); -void VP8SetSkip(const VP8EncIterator* const it, int skip); -void VP8SetSegment(const VP8EncIterator* const it, int segment); - -//------------------------------------------------------------------------------ -// Paginated token buffer - -typedef struct VP8Tokens VP8Tokens; // struct details in token.c - -typedef struct { -#if !defined(DISABLE_TOKEN_BUFFER) - VP8Tokens* pages_; // first page - VP8Tokens** last_page_; // last page - uint16_t* tokens_; // set to (*last_page_)->tokens_ - int left_; // how many free tokens left before the page is full - int page_size_; // number of tokens per page -#endif - int error_; // true in case of malloc error -} VP8TBuffer; - -// initialize an empty buffer -void VP8TBufferInit(VP8TBuffer* const b, int page_size); -void VP8TBufferClear(VP8TBuffer* const b); // de-allocate pages memory - -#if !defined(DISABLE_TOKEN_BUFFER) - -// Finalizes bitstream when probabilities are known. -// Deletes the allocated token memory if final_pass is true. -int VP8EmitTokens(VP8TBuffer* const b, VP8BitWriter* const bw, - const uint8_t* const probas, int final_pass); - -// record the coding of coefficients without knowing the probabilities yet -int VP8RecordCoeffTokens(int ctx, const struct VP8Residual* const res, - VP8TBuffer* const tokens); - -// Estimate the final coded size given a set of 'probas'. -size_t VP8EstimateTokenSize(VP8TBuffer* const b, const uint8_t* const probas); - -#endif // !DISABLE_TOKEN_BUFFER - -//------------------------------------------------------------------------------ -// VP8Encoder - -struct VP8Encoder { - const WebPConfig* config_; // user configuration and parameters - WebPPicture* pic_; // input / output picture - - // headers - VP8EncFilterHeader filter_hdr_; // filtering information - VP8EncSegmentHeader segment_hdr_; // segment information - - int profile_; // VP8's profile, deduced from Config. - - // dimension, in macroblock units. - int mb_w_, mb_h_; - int preds_w_; // stride of the *preds_ prediction plane (=4*mb_w + 1) - - // number of partitions (1, 2, 4 or 8 = MAX_NUM_PARTITIONS) - int num_parts_; - - // per-partition boolean decoders. - VP8BitWriter bw_; // part0 - VP8BitWriter parts_[MAX_NUM_PARTITIONS]; // token partitions - VP8TBuffer tokens_; // token buffer - - int percent_; // for progress - - // transparency blob - int has_alpha_; - uint8_t* alpha_data_; // non-NULL if transparency is present - uint32_t alpha_data_size_; - WebPWorker alpha_worker_; - - // quantization info (one set of DC/AC dequant factor per segment) - VP8SegmentInfo dqm_[NUM_MB_SEGMENTS]; - int base_quant_; // nominal quantizer value. Only used - // for relative coding of segments' quant. - int alpha_; // global susceptibility (<=> complexity) - int uv_alpha_; // U/V quantization susceptibility - // global offset of quantizers, shared by all segments - int dq_y1_dc_; - int dq_y2_dc_, dq_y2_ac_; - int dq_uv_dc_, dq_uv_ac_; - - // probabilities and statistics - VP8EncProba proba_; - uint64_t sse_[4]; // sum of Y/U/V/A squared errors for all macroblocks - uint64_t sse_count_; // pixel count for the sse_[] stats - int coded_size_; - int residual_bytes_[3][4]; - int block_count_[3]; - - // quality/speed settings - int method_; // 0=fastest, 6=best/slowest. - VP8RDLevel rd_opt_level_; // Deduced from method_. - int max_i4_header_bits_; // partition #0 safeness factor - int mb_header_limit_; // rough limit for header bits per MB - int thread_level_; // derived from config->thread_level - int do_search_; // derived from config->target_XXX - int use_tokens_; // if true, use token buffer - - // Memory - VP8MBInfo* mb_info_; // contextual macroblock infos (mb_w_ + 1) - uint8_t* preds_; // predictions modes: (4*mb_w+1) * (4*mb_h+1) - uint32_t* nz_; // non-zero bit context: mb_w+1 - uint8_t* y_top_; // top luma samples. - uint8_t* uv_top_; // top u/v samples. - // U and V are packed into 16 bytes (8 U + 8 V) - LFStats* lf_stats_; // autofilter stats (if NULL, autofilter is off) - DError* top_derr_; // diffusion error (NULL if disabled) -}; - -//------------------------------------------------------------------------------ -// internal functions. Not public. - - // in tree.c -extern const uint8_t VP8CoeffsProba0[NUM_TYPES][NUM_BANDS][NUM_CTX][NUM_PROBAS]; -extern const uint8_t - VP8CoeffsUpdateProba[NUM_TYPES][NUM_BANDS][NUM_CTX][NUM_PROBAS]; -// Reset the token probabilities to their initial (default) values -void VP8DefaultProbas(VP8Encoder* const enc); -// Write the token probabilities -void VP8WriteProbas(VP8BitWriter* const bw, const VP8EncProba* const probas); -// Writes the partition #0 modes (that is: all intra modes) -void VP8CodeIntraModes(VP8Encoder* const enc); - - // in syntax.c -// Generates the final bitstream by coding the partition0 and headers, -// and appending an assembly of all the pre-coded token partitions. -// Return true if everything is ok. -int VP8EncWrite(VP8Encoder* const enc); -// Release memory allocated for bit-writing in VP8EncLoop & seq. -void VP8EncFreeBitWriters(VP8Encoder* const enc); - - // in frame.c -extern const uint8_t VP8Cat3[]; -extern const uint8_t VP8Cat4[]; -extern const uint8_t VP8Cat5[]; -extern const uint8_t VP8Cat6[]; - -// Form all the four Intra16x16 predictions in the yuv_p_ cache -void VP8MakeLuma16Preds(const VP8EncIterator* const it); -// Form all the four Chroma8x8 predictions in the yuv_p_ cache -void VP8MakeChroma8Preds(const VP8EncIterator* const it); -// Form all the ten Intra4x4 predictions in the yuv_p_ cache -// for the 4x4 block it->i4_ -void VP8MakeIntra4Preds(const VP8EncIterator* const it); -// Rate calculation -int VP8GetCostLuma16(VP8EncIterator* const it, const VP8ModeScore* const rd); -int VP8GetCostLuma4(VP8EncIterator* const it, const int16_t levels[16]); -int VP8GetCostUV(VP8EncIterator* const it, const VP8ModeScore* const rd); -// Main coding calls -int VP8EncLoop(VP8Encoder* const enc); -int VP8EncTokenLoop(VP8Encoder* const enc); - - // in webpenc.c -// Assign an error code to a picture. Return false for convenience. -int WebPEncodingSetError(const WebPPicture* const pic, WebPEncodingError error); -int WebPReportProgress(const WebPPicture* const pic, - int percent, int* const percent_store); - - // in analysis.c -// Main analysis loop. Decides the segmentations and complexity. -// Assigns a first guess for Intra16 and uvmode_ prediction modes. -int VP8EncAnalyze(VP8Encoder* const enc); - - // in quant.c -// Sets up segment's quantization values, base_quant_ and filter strengths. -void VP8SetSegmentParams(VP8Encoder* const enc, float quality); -// Pick best modes and fills the levels. Returns true if skipped. -int VP8Decimate(VP8EncIterator* const it, VP8ModeScore* const rd, - VP8RDLevel rd_opt); - - // in alpha.c -void VP8EncInitAlpha(VP8Encoder* const enc); // initialize alpha compression -int VP8EncStartAlpha(VP8Encoder* const enc); // start alpha coding process -int VP8EncFinishAlpha(VP8Encoder* const enc); // finalize compressed data -int VP8EncDeleteAlpha(VP8Encoder* const enc); // delete compressed data - -// autofilter -void VP8InitFilter(VP8EncIterator* const it); -void VP8StoreFilterStats(VP8EncIterator* const it); -void VP8AdjustFilterStrength(VP8EncIterator* const it); - -// returns the approximate filtering strength needed to smooth a edge -// step of 'delta', given a sharpness parameter 'sharpness'. -int VP8FilterStrengthFromDelta(int sharpness, int delta); - - // misc utils for picture_*.c: - -// Remove reference to the ARGB/YUVA buffer (doesn't free anything). -void WebPPictureResetBuffers(WebPPicture* const picture); - -// Allocates ARGB buffer of given dimension (previous one is always free'd). -// Preserves the YUV(A) buffer. Returns false in case of error (invalid param, -// out-of-memory). -int WebPPictureAllocARGB(WebPPicture* const picture, int width, int height); - -// Allocates YUVA buffer of given dimension (previous one is always free'd). -// Uses picture->csp to determine whether an alpha buffer is needed. -// Preserves the ARGB buffer. -// Returns false in case of error (invalid param, out-of-memory). -int WebPPictureAllocYUVA(WebPPicture* const picture, int width, int height); - -// Clean-up the RGB samples under fully transparent area, to help lossless -// compressibility (no guarantee, though). Assumes that pic->use_argb is true. -void WebPCleanupTransparentAreaLossless(WebPPicture* const pic); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_ENC_VP8I_ENC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/vp8l_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/vp8l_enc.c deleted file mode 100644 index 2efd403f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/vp8l_enc.c +++ /dev/null @@ -1,1917 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// main entry for the lossless encoder. -// -// Author: Vikas Arora (vikaas.arora@gmail.com) -// - -#include -#include - -#include "src/enc/backward_references_enc.h" -#include "src/enc/histogram_enc.h" -#include "src/enc/vp8i_enc.h" -#include "src/enc/vp8li_enc.h" -#include "src/dsp/lossless.h" -#include "src/dsp/lossless_common.h" -#include "src/utils/bit_writer_utils.h" -#include "src/utils/huffman_encode_utils.h" -#include "src/utils/utils.h" -#include "src/webp/format_constants.h" - -// Maximum number of histogram images (sub-blocks). -#define MAX_HUFF_IMAGE_SIZE 2600 - -// Palette reordering for smaller sum of deltas (and for smaller storage). - -static int PaletteCompareColorsForQsort(const void* p1, const void* p2) { - const uint32_t a = WebPMemToUint32((uint8_t*)p1); - const uint32_t b = WebPMemToUint32((uint8_t*)p2); - assert(a != b); - return (a < b) ? -1 : 1; -} - -static WEBP_INLINE uint32_t PaletteComponentDistance(uint32_t v) { - return (v <= 128) ? v : (256 - v); -} - -// Computes a value that is related to the entropy created by the -// palette entry diff. -// -// Note that the last & 0xff is a no-operation in the next statement, but -// removed by most compilers and is here only for regularity of the code. -static WEBP_INLINE uint32_t PaletteColorDistance(uint32_t col1, uint32_t col2) { - const uint32_t diff = VP8LSubPixels(col1, col2); - const int kMoreWeightForRGBThanForAlpha = 9; - uint32_t score; - score = PaletteComponentDistance((diff >> 0) & 0xff); - score += PaletteComponentDistance((diff >> 8) & 0xff); - score += PaletteComponentDistance((diff >> 16) & 0xff); - score *= kMoreWeightForRGBThanForAlpha; - score += PaletteComponentDistance((diff >> 24) & 0xff); - return score; -} - -static WEBP_INLINE void SwapColor(uint32_t* const col1, uint32_t* const col2) { - const uint32_t tmp = *col1; - *col1 = *col2; - *col2 = tmp; -} - -static void GreedyMinimizeDeltas(uint32_t palette[], int num_colors) { - // Find greedily always the closest color of the predicted color to minimize - // deltas in the palette. This reduces storage needs since the - // palette is stored with delta encoding. - uint32_t predict = 0x00000000; - int i, k; - for (i = 0; i < num_colors; ++i) { - int best_ix = i; - uint32_t best_score = ~0U; - for (k = i; k < num_colors; ++k) { - const uint32_t cur_score = PaletteColorDistance(palette[k], predict); - if (best_score > cur_score) { - best_score = cur_score; - best_ix = k; - } - } - SwapColor(&palette[best_ix], &palette[i]); - predict = palette[i]; - } -} - -// The palette has been sorted by alpha. This function checks if the other -// components of the palette have a monotonic development with regards to -// position in the palette. If all have monotonic development, there is -// no benefit to re-organize them greedily. A monotonic development -// would be spotted in green-only situations (like lossy alpha) or gray-scale -// images. -static int PaletteHasNonMonotonousDeltas(uint32_t palette[], int num_colors) { - uint32_t predict = 0x000000; - int i; - uint8_t sign_found = 0x00; - for (i = 0; i < num_colors; ++i) { - const uint32_t diff = VP8LSubPixels(palette[i], predict); - const uint8_t rd = (diff >> 16) & 0xff; - const uint8_t gd = (diff >> 8) & 0xff; - const uint8_t bd = (diff >> 0) & 0xff; - if (rd != 0x00) { - sign_found |= (rd < 0x80) ? 1 : 2; - } - if (gd != 0x00) { - sign_found |= (gd < 0x80) ? 8 : 16; - } - if (bd != 0x00) { - sign_found |= (bd < 0x80) ? 64 : 128; - } - predict = palette[i]; - } - return (sign_found & (sign_found << 1)) != 0; // two consequent signs. -} - -// ----------------------------------------------------------------------------- -// Palette - -// If number of colors in the image is less than or equal to MAX_PALETTE_SIZE, -// creates a palette and returns true, else returns false. -static int AnalyzeAndCreatePalette(const WebPPicture* const pic, - int low_effort, - uint32_t palette[MAX_PALETTE_SIZE], - int* const palette_size) { - const int num_colors = WebPGetColorPalette(pic, palette); - if (num_colors > MAX_PALETTE_SIZE) { - *palette_size = 0; - return 0; - } - *palette_size = num_colors; - qsort(palette, num_colors, sizeof(*palette), PaletteCompareColorsForQsort); - if (!low_effort && PaletteHasNonMonotonousDeltas(palette, num_colors)) { - GreedyMinimizeDeltas(palette, num_colors); - } - return 1; -} - -// These five modes are evaluated and their respective entropy is computed. -typedef enum { - kDirect = 0, - kSpatial = 1, - kSubGreen = 2, - kSpatialSubGreen = 3, - kPalette = 4, - kNumEntropyIx = 5 -} EntropyIx; - -typedef enum { - kHistoAlpha = 0, - kHistoAlphaPred, - kHistoGreen, - kHistoGreenPred, - kHistoRed, - kHistoRedPred, - kHistoBlue, - kHistoBluePred, - kHistoRedSubGreen, - kHistoRedPredSubGreen, - kHistoBlueSubGreen, - kHistoBluePredSubGreen, - kHistoPalette, - kHistoTotal // Must be last. -} HistoIx; - -static void AddSingleSubGreen(int p, uint32_t* const r, uint32_t* const b) { - const int green = p >> 8; // The upper bits are masked away later. - ++r[((p >> 16) - green) & 0xff]; - ++b[((p >> 0) - green) & 0xff]; -} - -static void AddSingle(uint32_t p, - uint32_t* const a, uint32_t* const r, - uint32_t* const g, uint32_t* const b) { - ++a[(p >> 24) & 0xff]; - ++r[(p >> 16) & 0xff]; - ++g[(p >> 8) & 0xff]; - ++b[(p >> 0) & 0xff]; -} - -static WEBP_INLINE uint32_t HashPix(uint32_t pix) { - // Note that masking with 0xffffffffu is for preventing an - // 'unsigned int overflow' warning. Doesn't impact the compiled code. - return ((((uint64_t)pix + (pix >> 19)) * 0x39c5fba7ull) & 0xffffffffu) >> 24; -} - -static int AnalyzeEntropy(const uint32_t* argb, - int width, int height, int argb_stride, - int use_palette, - int palette_size, int transform_bits, - EntropyIx* const min_entropy_ix, - int* const red_and_blue_always_zero) { - // Allocate histogram set with cache_bits = 0. - uint32_t* histo; - - if (use_palette && palette_size <= 16) { - // In the case of small palettes, we pack 2, 4 or 8 pixels together. In - // practice, small palettes are better than any other transform. - *min_entropy_ix = kPalette; - *red_and_blue_always_zero = 1; - return 1; - } - histo = (uint32_t*)WebPSafeCalloc(kHistoTotal, sizeof(*histo) * 256); - if (histo != NULL) { - int i, x, y; - const uint32_t* prev_row = NULL; - const uint32_t* curr_row = argb; - uint32_t pix_prev = argb[0]; // Skip the first pixel. - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - const uint32_t pix = curr_row[x]; - const uint32_t pix_diff = VP8LSubPixels(pix, pix_prev); - pix_prev = pix; - if ((pix_diff == 0) || (prev_row != NULL && pix == prev_row[x])) { - continue; - } - AddSingle(pix, - &histo[kHistoAlpha * 256], - &histo[kHistoRed * 256], - &histo[kHistoGreen * 256], - &histo[kHistoBlue * 256]); - AddSingle(pix_diff, - &histo[kHistoAlphaPred * 256], - &histo[kHistoRedPred * 256], - &histo[kHistoGreenPred * 256], - &histo[kHistoBluePred * 256]); - AddSingleSubGreen(pix, - &histo[kHistoRedSubGreen * 256], - &histo[kHistoBlueSubGreen * 256]); - AddSingleSubGreen(pix_diff, - &histo[kHistoRedPredSubGreen * 256], - &histo[kHistoBluePredSubGreen * 256]); - { - // Approximate the palette by the entropy of the multiplicative hash. - const uint32_t hash = HashPix(pix); - ++histo[kHistoPalette * 256 + hash]; - } - } - prev_row = curr_row; - curr_row += argb_stride; - } - { - double entropy_comp[kHistoTotal]; - double entropy[kNumEntropyIx]; - int k; - int last_mode_to_analyze = use_palette ? kPalette : kSpatialSubGreen; - int j; - // Let's add one zero to the predicted histograms. The zeros are removed - // too efficiently by the pix_diff == 0 comparison, at least one of the - // zeros is likely to exist. - ++histo[kHistoRedPredSubGreen * 256]; - ++histo[kHistoBluePredSubGreen * 256]; - ++histo[kHistoRedPred * 256]; - ++histo[kHistoGreenPred * 256]; - ++histo[kHistoBluePred * 256]; - ++histo[kHistoAlphaPred * 256]; - - for (j = 0; j < kHistoTotal; ++j) { - entropy_comp[j] = VP8LBitsEntropy(&histo[j * 256], 256); - } - entropy[kDirect] = entropy_comp[kHistoAlpha] + - entropy_comp[kHistoRed] + - entropy_comp[kHistoGreen] + - entropy_comp[kHistoBlue]; - entropy[kSpatial] = entropy_comp[kHistoAlphaPred] + - entropy_comp[kHistoRedPred] + - entropy_comp[kHistoGreenPred] + - entropy_comp[kHistoBluePred]; - entropy[kSubGreen] = entropy_comp[kHistoAlpha] + - entropy_comp[kHistoRedSubGreen] + - entropy_comp[kHistoGreen] + - entropy_comp[kHistoBlueSubGreen]; - entropy[kSpatialSubGreen] = entropy_comp[kHistoAlphaPred] + - entropy_comp[kHistoRedPredSubGreen] + - entropy_comp[kHistoGreenPred] + - entropy_comp[kHistoBluePredSubGreen]; - entropy[kPalette] = entropy_comp[kHistoPalette]; - - // When including transforms, there is an overhead in bits from - // storing them. This overhead is small but matters for small images. - // For spatial, there are 14 transformations. - entropy[kSpatial] += VP8LSubSampleSize(width, transform_bits) * - VP8LSubSampleSize(height, transform_bits) * - VP8LFastLog2(14); - // For color transforms: 24 as only 3 channels are considered in a - // ColorTransformElement. - entropy[kSpatialSubGreen] += VP8LSubSampleSize(width, transform_bits) * - VP8LSubSampleSize(height, transform_bits) * - VP8LFastLog2(24); - // For palettes, add the cost of storing the palette. - // We empirically estimate the cost of a compressed entry as 8 bits. - // The palette is differential-coded when compressed hence a much - // lower cost than sizeof(uint32_t)*8. - entropy[kPalette] += palette_size * 8; - - *min_entropy_ix = kDirect; - for (k = kDirect + 1; k <= last_mode_to_analyze; ++k) { - if (entropy[*min_entropy_ix] > entropy[k]) { - *min_entropy_ix = (EntropyIx)k; - } - } - assert((int)*min_entropy_ix <= last_mode_to_analyze); - *red_and_blue_always_zero = 1; - // Let's check if the histogram of the chosen entropy mode has - // non-zero red and blue values. If all are zero, we can later skip - // the cross color optimization. - { - static const uint8_t kHistoPairs[5][2] = { - { kHistoRed, kHistoBlue }, - { kHistoRedPred, kHistoBluePred }, - { kHistoRedSubGreen, kHistoBlueSubGreen }, - { kHistoRedPredSubGreen, kHistoBluePredSubGreen }, - { kHistoRed, kHistoBlue } - }; - const uint32_t* const red_histo = - &histo[256 * kHistoPairs[*min_entropy_ix][0]]; - const uint32_t* const blue_histo = - &histo[256 * kHistoPairs[*min_entropy_ix][1]]; - for (i = 1; i < 256; ++i) { - if ((red_histo[i] | blue_histo[i]) != 0) { - *red_and_blue_always_zero = 0; - break; - } - } - } - } - WebPSafeFree(histo); - return 1; - } else { - return 0; - } -} - -static int GetHistoBits(int method, int use_palette, int width, int height) { - // Make tile size a function of encoding method (Range: 0 to 6). - int histo_bits = (use_palette ? 9 : 7) - method; - while (1) { - const int huff_image_size = VP8LSubSampleSize(width, histo_bits) * - VP8LSubSampleSize(height, histo_bits); - if (huff_image_size <= MAX_HUFF_IMAGE_SIZE) break; - ++histo_bits; - } - return (histo_bits < MIN_HUFFMAN_BITS) ? MIN_HUFFMAN_BITS : - (histo_bits > MAX_HUFFMAN_BITS) ? MAX_HUFFMAN_BITS : histo_bits; -} - -static int GetTransformBits(int method, int histo_bits) { - const int max_transform_bits = (method < 4) ? 6 : (method > 4) ? 4 : 5; - const int res = - (histo_bits > max_transform_bits) ? max_transform_bits : histo_bits; - assert(res <= MAX_TRANSFORM_BITS); - return res; -} - -// Set of parameters to be used in each iteration of the cruncher. -#define CRUNCH_CONFIGS_LZ77_MAX 2 -typedef struct { - int entropy_idx_; - int lz77s_types_to_try_[CRUNCH_CONFIGS_LZ77_MAX]; - int lz77s_types_to_try_size_; -} CrunchConfig; - -#define CRUNCH_CONFIGS_MAX kNumEntropyIx - -static int EncoderAnalyze(VP8LEncoder* const enc, - CrunchConfig crunch_configs[CRUNCH_CONFIGS_MAX], - int* const crunch_configs_size, - int* const red_and_blue_always_zero) { - const WebPPicture* const pic = enc->pic_; - const int width = pic->width; - const int height = pic->height; - const WebPConfig* const config = enc->config_; - const int method = config->method; - const int low_effort = (config->method == 0); - int i; - int use_palette; - int n_lz77s; - assert(pic != NULL && pic->argb != NULL); - - use_palette = - AnalyzeAndCreatePalette(pic, low_effort, - enc->palette_, &enc->palette_size_); - - // Empirical bit sizes. - enc->histo_bits_ = GetHistoBits(method, use_palette, - pic->width, pic->height); - enc->transform_bits_ = GetTransformBits(method, enc->histo_bits_); - - if (low_effort) { - // AnalyzeEntropy is somewhat slow. - crunch_configs[0].entropy_idx_ = use_palette ? kPalette : kSpatialSubGreen; - n_lz77s = 1; - *crunch_configs_size = 1; - } else { - EntropyIx min_entropy_ix; - // Try out multiple LZ77 on images with few colors. - n_lz77s = (enc->palette_size_ > 0 && enc->palette_size_ <= 16) ? 2 : 1; - if (!AnalyzeEntropy(pic->argb, width, height, pic->argb_stride, use_palette, - enc->palette_size_, enc->transform_bits_, - &min_entropy_ix, red_and_blue_always_zero)) { - return 0; - } - if (method == 6 && config->quality == 100) { - // Go brute force on all transforms. - *crunch_configs_size = 0; - for (i = 0; i < kNumEntropyIx; ++i) { - if (i != kPalette || use_palette) { - assert(*crunch_configs_size < CRUNCH_CONFIGS_MAX); - crunch_configs[(*crunch_configs_size)++].entropy_idx_ = i; - } - } - } else { - // Only choose the guessed best transform. - *crunch_configs_size = 1; - crunch_configs[0].entropy_idx_ = min_entropy_ix; - } - } - // Fill in the different LZ77s. - assert(n_lz77s <= CRUNCH_CONFIGS_LZ77_MAX); - for (i = 0; i < *crunch_configs_size; ++i) { - int j; - for (j = 0; j < n_lz77s; ++j) { - crunch_configs[i].lz77s_types_to_try_[j] = - (j == 0) ? kLZ77Standard | kLZ77RLE : kLZ77Box; - } - crunch_configs[i].lz77s_types_to_try_size_ = n_lz77s; - } - return 1; -} - -static int EncoderInit(VP8LEncoder* const enc) { - const WebPPicture* const pic = enc->pic_; - const int width = pic->width; - const int height = pic->height; - const int pix_cnt = width * height; - // we round the block size up, so we're guaranteed to have - // at most MAX_REFS_BLOCK_PER_IMAGE blocks used: - const int refs_block_size = (pix_cnt - 1) / MAX_REFS_BLOCK_PER_IMAGE + 1; - int i; - if (!VP8LHashChainInit(&enc->hash_chain_, pix_cnt)) return 0; - - for (i = 0; i < 3; ++i) VP8LBackwardRefsInit(&enc->refs_[i], refs_block_size); - - return 1; -} - -// Returns false in case of memory error. -static int GetHuffBitLengthsAndCodes( - const VP8LHistogramSet* const histogram_image, - HuffmanTreeCode* const huffman_codes) { - int i, k; - int ok = 0; - uint64_t total_length_size = 0; - uint8_t* mem_buf = NULL; - const int histogram_image_size = histogram_image->size; - int max_num_symbols = 0; - uint8_t* buf_rle = NULL; - HuffmanTree* huff_tree = NULL; - - // Iterate over all histograms and get the aggregate number of codes used. - for (i = 0; i < histogram_image_size; ++i) { - const VP8LHistogram* const histo = histogram_image->histograms[i]; - HuffmanTreeCode* const codes = &huffman_codes[5 * i]; - assert(histo != NULL); - for (k = 0; k < 5; ++k) { - const int num_symbols = - (k == 0) ? VP8LHistogramNumCodes(histo->palette_code_bits_) : - (k == 4) ? NUM_DISTANCE_CODES : 256; - codes[k].num_symbols = num_symbols; - total_length_size += num_symbols; - } - } - - // Allocate and Set Huffman codes. - { - uint16_t* codes; - uint8_t* lengths; - mem_buf = (uint8_t*)WebPSafeCalloc(total_length_size, - sizeof(*lengths) + sizeof(*codes)); - if (mem_buf == NULL) goto End; - - codes = (uint16_t*)mem_buf; - lengths = (uint8_t*)&codes[total_length_size]; - for (i = 0; i < 5 * histogram_image_size; ++i) { - const int bit_length = huffman_codes[i].num_symbols; - huffman_codes[i].codes = codes; - huffman_codes[i].code_lengths = lengths; - codes += bit_length; - lengths += bit_length; - if (max_num_symbols < bit_length) { - max_num_symbols = bit_length; - } - } - } - - buf_rle = (uint8_t*)WebPSafeMalloc(1ULL, max_num_symbols); - huff_tree = (HuffmanTree*)WebPSafeMalloc(3ULL * max_num_symbols, - sizeof(*huff_tree)); - if (buf_rle == NULL || huff_tree == NULL) goto End; - - // Create Huffman trees. - for (i = 0; i < histogram_image_size; ++i) { - HuffmanTreeCode* const codes = &huffman_codes[5 * i]; - VP8LHistogram* const histo = histogram_image->histograms[i]; - VP8LCreateHuffmanTree(histo->literal_, 15, buf_rle, huff_tree, codes + 0); - VP8LCreateHuffmanTree(histo->red_, 15, buf_rle, huff_tree, codes + 1); - VP8LCreateHuffmanTree(histo->blue_, 15, buf_rle, huff_tree, codes + 2); - VP8LCreateHuffmanTree(histo->alpha_, 15, buf_rle, huff_tree, codes + 3); - VP8LCreateHuffmanTree(histo->distance_, 15, buf_rle, huff_tree, codes + 4); - } - ok = 1; - End: - WebPSafeFree(huff_tree); - WebPSafeFree(buf_rle); - if (!ok) { - WebPSafeFree(mem_buf); - memset(huffman_codes, 0, 5 * histogram_image_size * sizeof(*huffman_codes)); - } - return ok; -} - -static void StoreHuffmanTreeOfHuffmanTreeToBitMask( - VP8LBitWriter* const bw, const uint8_t* code_length_bitdepth) { - // RFC 1951 will calm you down if you are worried about this funny sequence. - // This sequence is tuned from that, but more weighted for lower symbol count, - // and more spiking histograms. - static const uint8_t kStorageOrder[CODE_LENGTH_CODES] = { - 17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - }; - int i; - // Throw away trailing zeros: - int codes_to_store = CODE_LENGTH_CODES; - for (; codes_to_store > 4; --codes_to_store) { - if (code_length_bitdepth[kStorageOrder[codes_to_store - 1]] != 0) { - break; - } - } - VP8LPutBits(bw, codes_to_store - 4, 4); - for (i = 0; i < codes_to_store; ++i) { - VP8LPutBits(bw, code_length_bitdepth[kStorageOrder[i]], 3); - } -} - -static void ClearHuffmanTreeIfOnlyOneSymbol( - HuffmanTreeCode* const huffman_code) { - int k; - int count = 0; - for (k = 0; k < huffman_code->num_symbols; ++k) { - if (huffman_code->code_lengths[k] != 0) { - ++count; - if (count > 1) return; - } - } - for (k = 0; k < huffman_code->num_symbols; ++k) { - huffman_code->code_lengths[k] = 0; - huffman_code->codes[k] = 0; - } -} - -static void StoreHuffmanTreeToBitMask( - VP8LBitWriter* const bw, - const HuffmanTreeToken* const tokens, const int num_tokens, - const HuffmanTreeCode* const huffman_code) { - int i; - for (i = 0; i < num_tokens; ++i) { - const int ix = tokens[i].code; - const int extra_bits = tokens[i].extra_bits; - VP8LPutBits(bw, huffman_code->codes[ix], huffman_code->code_lengths[ix]); - switch (ix) { - case 16: - VP8LPutBits(bw, extra_bits, 2); - break; - case 17: - VP8LPutBits(bw, extra_bits, 3); - break; - case 18: - VP8LPutBits(bw, extra_bits, 7); - break; - } - } -} - -// 'huff_tree' and 'tokens' are pre-alloacted buffers. -static void StoreFullHuffmanCode(VP8LBitWriter* const bw, - HuffmanTree* const huff_tree, - HuffmanTreeToken* const tokens, - const HuffmanTreeCode* const tree) { - uint8_t code_length_bitdepth[CODE_LENGTH_CODES] = { 0 }; - uint16_t code_length_bitdepth_symbols[CODE_LENGTH_CODES] = { 0 }; - const int max_tokens = tree->num_symbols; - int num_tokens; - HuffmanTreeCode huffman_code; - huffman_code.num_symbols = CODE_LENGTH_CODES; - huffman_code.code_lengths = code_length_bitdepth; - huffman_code.codes = code_length_bitdepth_symbols; - - VP8LPutBits(bw, 0, 1); - num_tokens = VP8LCreateCompressedHuffmanTree(tree, tokens, max_tokens); - { - uint32_t histogram[CODE_LENGTH_CODES] = { 0 }; - uint8_t buf_rle[CODE_LENGTH_CODES] = { 0 }; - int i; - for (i = 0; i < num_tokens; ++i) { - ++histogram[tokens[i].code]; - } - - VP8LCreateHuffmanTree(histogram, 7, buf_rle, huff_tree, &huffman_code); - } - - StoreHuffmanTreeOfHuffmanTreeToBitMask(bw, code_length_bitdepth); - ClearHuffmanTreeIfOnlyOneSymbol(&huffman_code); - { - int trailing_zero_bits = 0; - int trimmed_length = num_tokens; - int write_trimmed_length; - int length; - int i = num_tokens; - while (i-- > 0) { - const int ix = tokens[i].code; - if (ix == 0 || ix == 17 || ix == 18) { - --trimmed_length; // discount trailing zeros - trailing_zero_bits += code_length_bitdepth[ix]; - if (ix == 17) { - trailing_zero_bits += 3; - } else if (ix == 18) { - trailing_zero_bits += 7; - } - } else { - break; - } - } - write_trimmed_length = (trimmed_length > 1 && trailing_zero_bits > 12); - length = write_trimmed_length ? trimmed_length : num_tokens; - VP8LPutBits(bw, write_trimmed_length, 1); - if (write_trimmed_length) { - if (trimmed_length == 2) { - VP8LPutBits(bw, 0, 3 + 2); // nbitpairs=1, trimmed_length=2 - } else { - const int nbits = BitsLog2Floor(trimmed_length - 2); - const int nbitpairs = nbits / 2 + 1; - assert(trimmed_length > 2); - assert(nbitpairs - 1 < 8); - VP8LPutBits(bw, nbitpairs - 1, 3); - VP8LPutBits(bw, trimmed_length - 2, nbitpairs * 2); - } - } - StoreHuffmanTreeToBitMask(bw, tokens, length, &huffman_code); - } -} - -// 'huff_tree' and 'tokens' are pre-alloacted buffers. -static void StoreHuffmanCode(VP8LBitWriter* const bw, - HuffmanTree* const huff_tree, - HuffmanTreeToken* const tokens, - const HuffmanTreeCode* const huffman_code) { - int i; - int count = 0; - int symbols[2] = { 0, 0 }; - const int kMaxBits = 8; - const int kMaxSymbol = 1 << kMaxBits; - - // Check whether it's a small tree. - for (i = 0; i < huffman_code->num_symbols && count < 3; ++i) { - if (huffman_code->code_lengths[i] != 0) { - if (count < 2) symbols[count] = i; - ++count; - } - } - - if (count == 0) { // emit minimal tree for empty cases - // bits: small tree marker: 1, count-1: 0, large 8-bit code: 0, code: 0 - VP8LPutBits(bw, 0x01, 4); - } else if (count <= 2 && symbols[0] < kMaxSymbol && symbols[1] < kMaxSymbol) { - VP8LPutBits(bw, 1, 1); // Small tree marker to encode 1 or 2 symbols. - VP8LPutBits(bw, count - 1, 1); - if (symbols[0] <= 1) { - VP8LPutBits(bw, 0, 1); // Code bit for small (1 bit) symbol value. - VP8LPutBits(bw, symbols[0], 1); - } else { - VP8LPutBits(bw, 1, 1); - VP8LPutBits(bw, symbols[0], 8); - } - if (count == 2) { - VP8LPutBits(bw, symbols[1], 8); - } - } else { - StoreFullHuffmanCode(bw, huff_tree, tokens, huffman_code); - } -} - -static WEBP_INLINE void WriteHuffmanCode(VP8LBitWriter* const bw, - const HuffmanTreeCode* const code, - int code_index) { - const int depth = code->code_lengths[code_index]; - const int symbol = code->codes[code_index]; - VP8LPutBits(bw, symbol, depth); -} - -static WEBP_INLINE void WriteHuffmanCodeWithExtraBits( - VP8LBitWriter* const bw, - const HuffmanTreeCode* const code, - int code_index, - int bits, - int n_bits) { - const int depth = code->code_lengths[code_index]; - const int symbol = code->codes[code_index]; - VP8LPutBits(bw, (bits << depth) | symbol, depth + n_bits); -} - -static WebPEncodingError StoreImageToBitMask( - VP8LBitWriter* const bw, int width, int histo_bits, - const VP8LBackwardRefs* const refs, - const uint16_t* histogram_symbols, - const HuffmanTreeCode* const huffman_codes) { - const int histo_xsize = histo_bits ? VP8LSubSampleSize(width, histo_bits) : 1; - const int tile_mask = (histo_bits == 0) ? 0 : -(1 << histo_bits); - // x and y trace the position in the image. - int x = 0; - int y = 0; - int tile_x = x & tile_mask; - int tile_y = y & tile_mask; - int histogram_ix = histogram_symbols[0]; - const HuffmanTreeCode* codes = huffman_codes + 5 * histogram_ix; - VP8LRefsCursor c = VP8LRefsCursorInit(refs); - while (VP8LRefsCursorOk(&c)) { - const PixOrCopy* const v = c.cur_pos; - if ((tile_x != (x & tile_mask)) || (tile_y != (y & tile_mask))) { - tile_x = x & tile_mask; - tile_y = y & tile_mask; - histogram_ix = histogram_symbols[(y >> histo_bits) * histo_xsize + - (x >> histo_bits)]; - codes = huffman_codes + 5 * histogram_ix; - } - if (PixOrCopyIsLiteral(v)) { - static const uint8_t order[] = { 1, 2, 0, 3 }; - int k; - for (k = 0; k < 4; ++k) { - const int code = PixOrCopyLiteral(v, order[k]); - WriteHuffmanCode(bw, codes + k, code); - } - } else if (PixOrCopyIsCacheIdx(v)) { - const int code = PixOrCopyCacheIdx(v); - const int literal_ix = 256 + NUM_LENGTH_CODES + code; - WriteHuffmanCode(bw, codes, literal_ix); - } else { - int bits, n_bits; - int code; - - const int distance = PixOrCopyDistance(v); - VP8LPrefixEncode(v->len, &code, &n_bits, &bits); - WriteHuffmanCodeWithExtraBits(bw, codes, 256 + code, bits, n_bits); - - // Don't write the distance with the extra bits code since - // the distance can be up to 18 bits of extra bits, and the prefix - // 15 bits, totaling to 33, and our PutBits only supports up to 32 bits. - VP8LPrefixEncode(distance, &code, &n_bits, &bits); - WriteHuffmanCode(bw, codes + 4, code); - VP8LPutBits(bw, bits, n_bits); - } - x += PixOrCopyLength(v); - while (x >= width) { - x -= width; - ++y; - } - VP8LRefsCursorNext(&c); - } - return bw->error_ ? VP8_ENC_ERROR_OUT_OF_MEMORY : VP8_ENC_OK; -} - -// Special case of EncodeImageInternal() for cache-bits=0, histo_bits=31 -static WebPEncodingError EncodeImageNoHuffman(VP8LBitWriter* const bw, - const uint32_t* const argb, - VP8LHashChain* const hash_chain, - VP8LBackwardRefs* const refs_tmp1, - VP8LBackwardRefs* const refs_tmp2, - int width, int height, - int quality, int low_effort) { - int i; - int max_tokens = 0; - WebPEncodingError err = VP8_ENC_OK; - VP8LBackwardRefs* refs; - HuffmanTreeToken* tokens = NULL; - HuffmanTreeCode huffman_codes[5] = { { 0, NULL, NULL } }; - const uint16_t histogram_symbols[1] = { 0 }; // only one tree, one symbol - int cache_bits = 0; - VP8LHistogramSet* histogram_image = NULL; - HuffmanTree* const huff_tree = (HuffmanTree*)WebPSafeMalloc( - 3ULL * CODE_LENGTH_CODES, sizeof(*huff_tree)); - if (huff_tree == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - // Calculate backward references from ARGB image. - if (!VP8LHashChainFill(hash_chain, quality, argb, width, height, - low_effort)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - refs = VP8LGetBackwardReferences(width, height, argb, quality, 0, - kLZ77Standard | kLZ77RLE, &cache_bits, - hash_chain, refs_tmp1, refs_tmp2); - if (refs == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - histogram_image = VP8LAllocateHistogramSet(1, cache_bits); - if (histogram_image == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - VP8LHistogramSetClear(histogram_image); - - // Build histogram image and symbols from backward references. - VP8LHistogramStoreRefs(refs, histogram_image->histograms[0]); - - // Create Huffman bit lengths and codes for each histogram image. - assert(histogram_image->size == 1); - if (!GetHuffBitLengthsAndCodes(histogram_image, huffman_codes)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - // No color cache, no Huffman image. - VP8LPutBits(bw, 0, 1); - - // Find maximum number of symbols for the huffman tree-set. - for (i = 0; i < 5; ++i) { - HuffmanTreeCode* const codes = &huffman_codes[i]; - if (max_tokens < codes->num_symbols) { - max_tokens = codes->num_symbols; - } - } - - tokens = (HuffmanTreeToken*)WebPSafeMalloc(max_tokens, sizeof(*tokens)); - if (tokens == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - // Store Huffman codes. - for (i = 0; i < 5; ++i) { - HuffmanTreeCode* const codes = &huffman_codes[i]; - StoreHuffmanCode(bw, huff_tree, tokens, codes); - ClearHuffmanTreeIfOnlyOneSymbol(codes); - } - - // Store actual literals. - err = StoreImageToBitMask(bw, width, 0, refs, histogram_symbols, - huffman_codes); - - Error: - WebPSafeFree(tokens); - WebPSafeFree(huff_tree); - VP8LFreeHistogramSet(histogram_image); - WebPSafeFree(huffman_codes[0].codes); - return err; -} - -static WebPEncodingError EncodeImageInternal( - VP8LBitWriter* const bw, const uint32_t* const argb, - VP8LHashChain* const hash_chain, VP8LBackwardRefs refs_array[3], int width, - int height, int quality, int low_effort, int use_cache, - const CrunchConfig* const config, int* cache_bits, int histogram_bits, - size_t init_byte_position, int* const hdr_size, int* const data_size) { - WebPEncodingError err = VP8_ENC_OK; - const uint32_t histogram_image_xysize = - VP8LSubSampleSize(width, histogram_bits) * - VP8LSubSampleSize(height, histogram_bits); - VP8LHistogramSet* histogram_image = NULL; - VP8LHistogram* tmp_histo = NULL; - int histogram_image_size = 0; - size_t bit_array_size = 0; - HuffmanTree* const huff_tree = (HuffmanTree*)WebPSafeMalloc( - 3ULL * CODE_LENGTH_CODES, sizeof(*huff_tree)); - HuffmanTreeToken* tokens = NULL; - HuffmanTreeCode* huffman_codes = NULL; - VP8LBackwardRefs* refs_best; - VP8LBackwardRefs* refs_tmp; - uint16_t* const histogram_symbols = - (uint16_t*)WebPSafeMalloc(histogram_image_xysize, - sizeof(*histogram_symbols)); - int lz77s_idx; - VP8LBitWriter bw_init = *bw, bw_best; - int hdr_size_tmp; - assert(histogram_bits >= MIN_HUFFMAN_BITS); - assert(histogram_bits <= MAX_HUFFMAN_BITS); - assert(hdr_size != NULL); - assert(data_size != NULL); - - if (histogram_symbols == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - if (use_cache) { - // If the value is different from zero, it has been set during the - // palette analysis. - if (*cache_bits == 0) *cache_bits = MAX_COLOR_CACHE_BITS; - } else { - *cache_bits = 0; - } - // 'best_refs' is the reference to the best backward refs and points to one - // of refs_array[0] or refs_array[1]. - // Calculate backward references from ARGB image. - if (huff_tree == NULL || - !VP8LHashChainFill(hash_chain, quality, argb, width, height, - low_effort) || - !VP8LBitWriterInit(&bw_best, 0) || - (config->lz77s_types_to_try_size_ > 1 && - !VP8LBitWriterClone(bw, &bw_best))) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - for (lz77s_idx = 0; lz77s_idx < config->lz77s_types_to_try_size_; - ++lz77s_idx) { - refs_best = VP8LGetBackwardReferences( - width, height, argb, quality, low_effort, - config->lz77s_types_to_try_[lz77s_idx], cache_bits, hash_chain, - &refs_array[0], &refs_array[1]); - if (refs_best == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - // Keep the best references aside and use the other element from the first - // two as a temporary for later usage. - refs_tmp = &refs_array[refs_best == &refs_array[0] ? 1 : 0]; - - histogram_image = - VP8LAllocateHistogramSet(histogram_image_xysize, *cache_bits); - tmp_histo = VP8LAllocateHistogram(*cache_bits); - if (histogram_image == NULL || tmp_histo == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - // Build histogram image and symbols from backward references. - if (!VP8LGetHistoImageSymbols(width, height, refs_best, quality, low_effort, - histogram_bits, *cache_bits, histogram_image, - tmp_histo, histogram_symbols)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - // Create Huffman bit lengths and codes for each histogram image. - histogram_image_size = histogram_image->size; - bit_array_size = 5 * histogram_image_size; - huffman_codes = (HuffmanTreeCode*)WebPSafeCalloc(bit_array_size, - sizeof(*huffman_codes)); - // Note: some histogram_image entries may point to tmp_histos[], so the - // latter need to outlive the following call to GetHuffBitLengthsAndCodes(). - if (huffman_codes == NULL || - !GetHuffBitLengthsAndCodes(histogram_image, huffman_codes)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - // Free combined histograms. - VP8LFreeHistogramSet(histogram_image); - histogram_image = NULL; - - // Free scratch histograms. - VP8LFreeHistogram(tmp_histo); - tmp_histo = NULL; - - // Color Cache parameters. - if (*cache_bits > 0) { - VP8LPutBits(bw, 1, 1); - VP8LPutBits(bw, *cache_bits, 4); - } else { - VP8LPutBits(bw, 0, 1); - } - - // Huffman image + meta huffman. - { - const int write_histogram_image = (histogram_image_size > 1); - VP8LPutBits(bw, write_histogram_image, 1); - if (write_histogram_image) { - uint32_t* const histogram_argb = - (uint32_t*)WebPSafeMalloc(histogram_image_xysize, - sizeof(*histogram_argb)); - int max_index = 0; - uint32_t i; - if (histogram_argb == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - for (i = 0; i < histogram_image_xysize; ++i) { - const int symbol_index = histogram_symbols[i] & 0xffff; - histogram_argb[i] = (symbol_index << 8); - if (symbol_index >= max_index) { - max_index = symbol_index + 1; - } - } - histogram_image_size = max_index; - - VP8LPutBits(bw, histogram_bits - 2, 3); - err = EncodeImageNoHuffman( - bw, histogram_argb, hash_chain, refs_tmp, &refs_array[2], - VP8LSubSampleSize(width, histogram_bits), - VP8LSubSampleSize(height, histogram_bits), quality, low_effort); - WebPSafeFree(histogram_argb); - if (err != VP8_ENC_OK) goto Error; - } - } - - // Store Huffman codes. - { - int i; - int max_tokens = 0; - // Find maximum number of symbols for the huffman tree-set. - for (i = 0; i < 5 * histogram_image_size; ++i) { - HuffmanTreeCode* const codes = &huffman_codes[i]; - if (max_tokens < codes->num_symbols) { - max_tokens = codes->num_symbols; - } - } - tokens = (HuffmanTreeToken*)WebPSafeMalloc(max_tokens, sizeof(*tokens)); - if (tokens == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - for (i = 0; i < 5 * histogram_image_size; ++i) { - HuffmanTreeCode* const codes = &huffman_codes[i]; - StoreHuffmanCode(bw, huff_tree, tokens, codes); - ClearHuffmanTreeIfOnlyOneSymbol(codes); - } - } - // Store actual literals. - hdr_size_tmp = (int)(VP8LBitWriterNumBytes(bw) - init_byte_position); - err = StoreImageToBitMask(bw, width, histogram_bits, refs_best, - histogram_symbols, huffman_codes); - // Keep track of the smallest image so far. - if (lz77s_idx == 0 || - VP8LBitWriterNumBytes(bw) < VP8LBitWriterNumBytes(&bw_best)) { - *hdr_size = hdr_size_tmp; - *data_size = - (int)(VP8LBitWriterNumBytes(bw) - init_byte_position - *hdr_size); - VP8LBitWriterSwap(bw, &bw_best); - } - // Reset the bit writer for the following iteration if any. - if (config->lz77s_types_to_try_size_ > 1) VP8LBitWriterReset(&bw_init, bw); - WebPSafeFree(tokens); - tokens = NULL; - if (huffman_codes != NULL) { - WebPSafeFree(huffman_codes->codes); - WebPSafeFree(huffman_codes); - huffman_codes = NULL; - } - } - VP8LBitWriterSwap(bw, &bw_best); - - Error: - WebPSafeFree(tokens); - WebPSafeFree(huff_tree); - VP8LFreeHistogramSet(histogram_image); - VP8LFreeHistogram(tmp_histo); - if (huffman_codes != NULL) { - WebPSafeFree(huffman_codes->codes); - WebPSafeFree(huffman_codes); - } - WebPSafeFree(histogram_symbols); - VP8LBitWriterWipeOut(&bw_best); - return err; -} - -// ----------------------------------------------------------------------------- -// Transforms - -static void ApplySubtractGreen(VP8LEncoder* const enc, int width, int height, - VP8LBitWriter* const bw) { - VP8LPutBits(bw, TRANSFORM_PRESENT, 1); - VP8LPutBits(bw, SUBTRACT_GREEN, 2); - VP8LSubtractGreenFromBlueAndRed(enc->argb_, width * height); -} - -static WebPEncodingError ApplyPredictFilter(const VP8LEncoder* const enc, - int width, int height, - int quality, int low_effort, - int used_subtract_green, - VP8LBitWriter* const bw) { - const int pred_bits = enc->transform_bits_; - const int transform_width = VP8LSubSampleSize(width, pred_bits); - const int transform_height = VP8LSubSampleSize(height, pred_bits); - // we disable near-lossless quantization if palette is used. - const int near_lossless_strength = enc->use_palette_ ? 100 - : enc->config_->near_lossless; - - VP8LResidualImage(width, height, pred_bits, low_effort, enc->argb_, - enc->argb_scratch_, enc->transform_data_, - near_lossless_strength, enc->config_->exact, - used_subtract_green); - VP8LPutBits(bw, TRANSFORM_PRESENT, 1); - VP8LPutBits(bw, PREDICTOR_TRANSFORM, 2); - assert(pred_bits >= 2); - VP8LPutBits(bw, pred_bits - 2, 3); - return EncodeImageNoHuffman( - bw, enc->transform_data_, (VP8LHashChain*)&enc->hash_chain_, - (VP8LBackwardRefs*)&enc->refs_[0], // cast const away - (VP8LBackwardRefs*)&enc->refs_[1], transform_width, transform_height, - quality, low_effort); -} - -static WebPEncodingError ApplyCrossColorFilter(const VP8LEncoder* const enc, - int width, int height, - int quality, int low_effort, - VP8LBitWriter* const bw) { - const int ccolor_transform_bits = enc->transform_bits_; - const int transform_width = VP8LSubSampleSize(width, ccolor_transform_bits); - const int transform_height = VP8LSubSampleSize(height, ccolor_transform_bits); - - VP8LColorSpaceTransform(width, height, ccolor_transform_bits, quality, - enc->argb_, enc->transform_data_); - VP8LPutBits(bw, TRANSFORM_PRESENT, 1); - VP8LPutBits(bw, CROSS_COLOR_TRANSFORM, 2); - assert(ccolor_transform_bits >= 2); - VP8LPutBits(bw, ccolor_transform_bits - 2, 3); - return EncodeImageNoHuffman( - bw, enc->transform_data_, (VP8LHashChain*)&enc->hash_chain_, - (VP8LBackwardRefs*)&enc->refs_[0], // cast const away - (VP8LBackwardRefs*)&enc->refs_[1], transform_width, transform_height, - quality, low_effort); -} - -// ----------------------------------------------------------------------------- - -static WebPEncodingError WriteRiffHeader(const WebPPicture* const pic, - size_t riff_size, size_t vp8l_size) { - uint8_t riff[RIFF_HEADER_SIZE + CHUNK_HEADER_SIZE + VP8L_SIGNATURE_SIZE] = { - 'R', 'I', 'F', 'F', 0, 0, 0, 0, 'W', 'E', 'B', 'P', - 'V', 'P', '8', 'L', 0, 0, 0, 0, VP8L_MAGIC_BYTE, - }; - PutLE32(riff + TAG_SIZE, (uint32_t)riff_size); - PutLE32(riff + RIFF_HEADER_SIZE + TAG_SIZE, (uint32_t)vp8l_size); - if (!pic->writer(riff, sizeof(riff), pic)) { - return VP8_ENC_ERROR_BAD_WRITE; - } - return VP8_ENC_OK; -} - -static int WriteImageSize(const WebPPicture* const pic, - VP8LBitWriter* const bw) { - const int width = pic->width - 1; - const int height = pic->height - 1; - assert(width < WEBP_MAX_DIMENSION && height < WEBP_MAX_DIMENSION); - - VP8LPutBits(bw, width, VP8L_IMAGE_SIZE_BITS); - VP8LPutBits(bw, height, VP8L_IMAGE_SIZE_BITS); - return !bw->error_; -} - -static int WriteRealAlphaAndVersion(VP8LBitWriter* const bw, int has_alpha) { - VP8LPutBits(bw, has_alpha, 1); - VP8LPutBits(bw, VP8L_VERSION, VP8L_VERSION_BITS); - return !bw->error_; -} - -static WebPEncodingError WriteImage(const WebPPicture* const pic, - VP8LBitWriter* const bw, - size_t* const coded_size) { - WebPEncodingError err = VP8_ENC_OK; - const uint8_t* const webpll_data = VP8LBitWriterFinish(bw); - const size_t webpll_size = VP8LBitWriterNumBytes(bw); - const size_t vp8l_size = VP8L_SIGNATURE_SIZE + webpll_size; - const size_t pad = vp8l_size & 1; - const size_t riff_size = TAG_SIZE + CHUNK_HEADER_SIZE + vp8l_size + pad; - - err = WriteRiffHeader(pic, riff_size, vp8l_size); - if (err != VP8_ENC_OK) goto Error; - - if (!pic->writer(webpll_data, webpll_size, pic)) { - err = VP8_ENC_ERROR_BAD_WRITE; - goto Error; - } - - if (pad) { - const uint8_t pad_byte[1] = { 0 }; - if (!pic->writer(pad_byte, 1, pic)) { - err = VP8_ENC_ERROR_BAD_WRITE; - goto Error; - } - } - *coded_size = CHUNK_HEADER_SIZE + riff_size; - return VP8_ENC_OK; - - Error: - return err; -} - -// ----------------------------------------------------------------------------- - -static void ClearTransformBuffer(VP8LEncoder* const enc) { - WebPSafeFree(enc->transform_mem_); - enc->transform_mem_ = NULL; - enc->transform_mem_size_ = 0; -} - -// Allocates the memory for argb (W x H) buffer, 2 rows of context for -// prediction and transform data. -// Flags influencing the memory allocated: -// enc->transform_bits_ -// enc->use_predict_, enc->use_cross_color_ -static WebPEncodingError AllocateTransformBuffer(VP8LEncoder* const enc, - int width, int height) { - WebPEncodingError err = VP8_ENC_OK; - const uint64_t image_size = width * height; - // VP8LResidualImage needs room for 2 scanlines of uint32 pixels with an extra - // pixel in each, plus 2 regular scanlines of bytes. - // TODO(skal): Clean up by using arithmetic in bytes instead of words. - const uint64_t argb_scratch_size = - enc->use_predict_ - ? (width + 1) * 2 + - (width * 2 + sizeof(uint32_t) - 1) / sizeof(uint32_t) - : 0; - const uint64_t transform_data_size = - (enc->use_predict_ || enc->use_cross_color_) - ? VP8LSubSampleSize(width, enc->transform_bits_) * - VP8LSubSampleSize(height, enc->transform_bits_) - : 0; - const uint64_t max_alignment_in_words = - (WEBP_ALIGN_CST + sizeof(uint32_t) - 1) / sizeof(uint32_t); - const uint64_t mem_size = - image_size + max_alignment_in_words + - argb_scratch_size + max_alignment_in_words + - transform_data_size; - uint32_t* mem = enc->transform_mem_; - if (mem == NULL || mem_size > enc->transform_mem_size_) { - ClearTransformBuffer(enc); - mem = (uint32_t*)WebPSafeMalloc(mem_size, sizeof(*mem)); - if (mem == NULL) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - enc->transform_mem_ = mem; - enc->transform_mem_size_ = (size_t)mem_size; - enc->argb_content_ = kEncoderNone; - } - enc->argb_ = mem; - mem = (uint32_t*)WEBP_ALIGN(mem + image_size); - enc->argb_scratch_ = mem; - mem = (uint32_t*)WEBP_ALIGN(mem + argb_scratch_size); - enc->transform_data_ = mem; - - enc->current_width_ = width; - Error: - return err; -} - -static WebPEncodingError MakeInputImageCopy(VP8LEncoder* const enc) { - WebPEncodingError err = VP8_ENC_OK; - const WebPPicture* const picture = enc->pic_; - const int width = picture->width; - const int height = picture->height; - - err = AllocateTransformBuffer(enc, width, height); - if (err != VP8_ENC_OK) return err; - if (enc->argb_content_ == kEncoderARGB) return VP8_ENC_OK; - - { - uint32_t* dst = enc->argb_; - const uint32_t* src = picture->argb; - int y; - for (y = 0; y < height; ++y) { - memcpy(dst, src, width * sizeof(*dst)); - dst += width; - src += picture->argb_stride; - } - } - enc->argb_content_ = kEncoderARGB; - assert(enc->current_width_ == width); - return VP8_ENC_OK; -} - -// ----------------------------------------------------------------------------- - -static WEBP_INLINE int SearchColorNoIdx(const uint32_t sorted[], uint32_t color, - int hi) { - int low = 0; - if (sorted[low] == color) return low; // loop invariant: sorted[low] != color - while (1) { - const int mid = (low + hi) >> 1; - if (sorted[mid] == color) { - return mid; - } else if (sorted[mid] < color) { - low = mid; - } else { - hi = mid; - } - } -} - -#define APPLY_PALETTE_GREEDY_MAX 4 - -static WEBP_INLINE uint32_t SearchColorGreedy(const uint32_t palette[], - int palette_size, - uint32_t color) { - (void)palette_size; - assert(palette_size < APPLY_PALETTE_GREEDY_MAX); - assert(3 == APPLY_PALETTE_GREEDY_MAX - 1); - if (color == palette[0]) return 0; - if (color == palette[1]) return 1; - if (color == palette[2]) return 2; - return 3; -} - -static WEBP_INLINE uint32_t ApplyPaletteHash0(uint32_t color) { - // Focus on the green color. - return (color >> 8) & 0xff; -} - -#define PALETTE_INV_SIZE_BITS 11 -#define PALETTE_INV_SIZE (1 << PALETTE_INV_SIZE_BITS) - -static WEBP_INLINE uint32_t ApplyPaletteHash1(uint32_t color) { - // Forget about alpha. - return ((uint32_t)((color & 0x00ffffffu) * 4222244071ull)) >> - (32 - PALETTE_INV_SIZE_BITS); -} - -static WEBP_INLINE uint32_t ApplyPaletteHash2(uint32_t color) { - // Forget about alpha. - return ((uint32_t)((color & 0x00ffffffu) * ((1ull << 31) - 1))) >> - (32 - PALETTE_INV_SIZE_BITS); -} - -// Sort palette in increasing order and prepare an inverse mapping array. -static void PrepareMapToPalette(const uint32_t palette[], int num_colors, - uint32_t sorted[], uint32_t idx_map[]) { - int i; - memcpy(sorted, palette, num_colors * sizeof(*sorted)); - qsort(sorted, num_colors, sizeof(*sorted), PaletteCompareColorsForQsort); - for (i = 0; i < num_colors; ++i) { - idx_map[SearchColorNoIdx(sorted, palette[i], num_colors)] = i; - } -} - -// Use 1 pixel cache for ARGB pixels. -#define APPLY_PALETTE_FOR(COLOR_INDEX) do { \ - uint32_t prev_pix = palette[0]; \ - uint32_t prev_idx = 0; \ - for (y = 0; y < height; ++y) { \ - for (x = 0; x < width; ++x) { \ - const uint32_t pix = src[x]; \ - if (pix != prev_pix) { \ - prev_idx = COLOR_INDEX; \ - prev_pix = pix; \ - } \ - tmp_row[x] = prev_idx; \ - } \ - VP8LBundleColorMap(tmp_row, width, xbits, dst); \ - src += src_stride; \ - dst += dst_stride; \ - } \ -} while (0) - -// Remap argb values in src[] to packed palettes entries in dst[] -// using 'row' as a temporary buffer of size 'width'. -// We assume that all src[] values have a corresponding entry in the palette. -// Note: src[] can be the same as dst[] -static WebPEncodingError ApplyPalette(const uint32_t* src, uint32_t src_stride, - uint32_t* dst, uint32_t dst_stride, - const uint32_t* palette, int palette_size, - int width, int height, int xbits) { - // TODO(skal): this tmp buffer is not needed if VP8LBundleColorMap() can be - // made to work in-place. - uint8_t* const tmp_row = (uint8_t*)WebPSafeMalloc(width, sizeof(*tmp_row)); - int x, y; - - if (tmp_row == NULL) return VP8_ENC_ERROR_OUT_OF_MEMORY; - - if (palette_size < APPLY_PALETTE_GREEDY_MAX) { - APPLY_PALETTE_FOR(SearchColorGreedy(palette, palette_size, pix)); - } else { - int i, j; - uint16_t buffer[PALETTE_INV_SIZE]; - uint32_t (*const hash_functions[])(uint32_t) = { - ApplyPaletteHash0, ApplyPaletteHash1, ApplyPaletteHash2 - }; - - // Try to find a perfect hash function able to go from a color to an index - // within 1 << PALETTE_INV_SIZE_BITS in order to build a hash map to go - // from color to index in palette. - for (i = 0; i < 3; ++i) { - int use_LUT = 1; - // Set each element in buffer to max uint16_t. - memset(buffer, 0xff, sizeof(buffer)); - for (j = 0; j < palette_size; ++j) { - const uint32_t ind = hash_functions[i](palette[j]); - if (buffer[ind] != 0xffffu) { - use_LUT = 0; - break; - } else { - buffer[ind] = j; - } - } - if (use_LUT) break; - } - - if (i == 0) { - APPLY_PALETTE_FOR(buffer[ApplyPaletteHash0(pix)]); - } else if (i == 1) { - APPLY_PALETTE_FOR(buffer[ApplyPaletteHash1(pix)]); - } else if (i == 2) { - APPLY_PALETTE_FOR(buffer[ApplyPaletteHash2(pix)]); - } else { - uint32_t idx_map[MAX_PALETTE_SIZE]; - uint32_t palette_sorted[MAX_PALETTE_SIZE]; - PrepareMapToPalette(palette, palette_size, palette_sorted, idx_map); - APPLY_PALETTE_FOR( - idx_map[SearchColorNoIdx(palette_sorted, pix, palette_size)]); - } - } - WebPSafeFree(tmp_row); - return VP8_ENC_OK; -} -#undef APPLY_PALETTE_FOR -#undef PALETTE_INV_SIZE_BITS -#undef PALETTE_INV_SIZE -#undef APPLY_PALETTE_GREEDY_MAX - -// Note: Expects "enc->palette_" to be set properly. -static WebPEncodingError MapImageFromPalette(VP8LEncoder* const enc, - int in_place) { - WebPEncodingError err = VP8_ENC_OK; - const WebPPicture* const pic = enc->pic_; - const int width = pic->width; - const int height = pic->height; - const uint32_t* const palette = enc->palette_; - const uint32_t* src = in_place ? enc->argb_ : pic->argb; - const int src_stride = in_place ? enc->current_width_ : pic->argb_stride; - const int palette_size = enc->palette_size_; - int xbits; - - // Replace each input pixel by corresponding palette index. - // This is done line by line. - if (palette_size <= 4) { - xbits = (palette_size <= 2) ? 3 : 2; - } else { - xbits = (palette_size <= 16) ? 1 : 0; - } - - err = AllocateTransformBuffer(enc, VP8LSubSampleSize(width, xbits), height); - if (err != VP8_ENC_OK) return err; - - err = ApplyPalette(src, src_stride, - enc->argb_, enc->current_width_, - palette, palette_size, width, height, xbits); - enc->argb_content_ = kEncoderPalette; - return err; -} - -// Save palette_[] to bitstream. -static WebPEncodingError EncodePalette(VP8LBitWriter* const bw, int low_effort, - VP8LEncoder* const enc) { - int i; - uint32_t tmp_palette[MAX_PALETTE_SIZE]; - const int palette_size = enc->palette_size_; - const uint32_t* const palette = enc->palette_; - VP8LPutBits(bw, TRANSFORM_PRESENT, 1); - VP8LPutBits(bw, COLOR_INDEXING_TRANSFORM, 2); - assert(palette_size >= 1 && palette_size <= MAX_PALETTE_SIZE); - VP8LPutBits(bw, palette_size - 1, 8); - for (i = palette_size - 1; i >= 1; --i) { - tmp_palette[i] = VP8LSubPixels(palette[i], palette[i - 1]); - } - tmp_palette[0] = palette[0]; - return EncodeImageNoHuffman(bw, tmp_palette, &enc->hash_chain_, - &enc->refs_[0], &enc->refs_[1], palette_size, 1, - 20 /* quality */, low_effort); -} - -// ----------------------------------------------------------------------------- -// VP8LEncoder - -static VP8LEncoder* VP8LEncoderNew(const WebPConfig* const config, - const WebPPicture* const picture) { - VP8LEncoder* const enc = (VP8LEncoder*)WebPSafeCalloc(1ULL, sizeof(*enc)); - if (enc == NULL) { - WebPEncodingSetError(picture, VP8_ENC_ERROR_OUT_OF_MEMORY); - return NULL; - } - enc->config_ = config; - enc->pic_ = picture; - enc->argb_content_ = kEncoderNone; - - VP8LEncDspInit(); - - return enc; -} - -static void VP8LEncoderDelete(VP8LEncoder* enc) { - if (enc != NULL) { - int i; - VP8LHashChainClear(&enc->hash_chain_); - for (i = 0; i < 3; ++i) VP8LBackwardRefsClear(&enc->refs_[i]); - ClearTransformBuffer(enc); - WebPSafeFree(enc); - } -} - -// ----------------------------------------------------------------------------- -// Main call - -typedef struct { - const WebPConfig* config_; - const WebPPicture* picture_; - VP8LBitWriter* bw_; - VP8LEncoder* enc_; - int use_cache_; - CrunchConfig crunch_configs_[CRUNCH_CONFIGS_MAX]; - int num_crunch_configs_; - int red_and_blue_always_zero_; - WebPEncodingError err_; - WebPAuxStats* stats_; -} StreamEncodeContext; - -static int EncodeStreamHook(void* input, void* data2) { - StreamEncodeContext* const params = (StreamEncodeContext*)input; - const WebPConfig* const config = params->config_; - const WebPPicture* const picture = params->picture_; - VP8LBitWriter* const bw = params->bw_; - VP8LEncoder* const enc = params->enc_; - const int use_cache = params->use_cache_; - const CrunchConfig* const crunch_configs = params->crunch_configs_; - const int num_crunch_configs = params->num_crunch_configs_; - const int red_and_blue_always_zero = params->red_and_blue_always_zero_; -#if !defined(WEBP_DISABLE_STATS) - WebPAuxStats* const stats = params->stats_; -#endif - WebPEncodingError err = VP8_ENC_OK; - const int quality = (int)config->quality; - const int low_effort = (config->method == 0); -#if (WEBP_NEAR_LOSSLESS == 1) - const int width = picture->width; -#endif - const int height = picture->height; - const size_t byte_position = VP8LBitWriterNumBytes(bw); -#if (WEBP_NEAR_LOSSLESS == 1) - int use_near_lossless = 0; -#endif - int hdr_size = 0; - int data_size = 0; - int use_delta_palette = 0; - int idx; - size_t best_size = 0; - VP8LBitWriter bw_init = *bw, bw_best; - (void)data2; - - if (!VP8LBitWriterInit(&bw_best, 0) || - (num_crunch_configs > 1 && !VP8LBitWriterClone(bw, &bw_best))) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - for (idx = 0; idx < num_crunch_configs; ++idx) { - const int entropy_idx = crunch_configs[idx].entropy_idx_; - enc->use_palette_ = (entropy_idx == kPalette); - enc->use_subtract_green_ = - (entropy_idx == kSubGreen) || (entropy_idx == kSpatialSubGreen); - enc->use_predict_ = - (entropy_idx == kSpatial) || (entropy_idx == kSpatialSubGreen); - if (low_effort) { - enc->use_cross_color_ = 0; - } else { - enc->use_cross_color_ = red_and_blue_always_zero ? 0 : enc->use_predict_; - } - // Reset any parameter in the encoder that is set in the previous iteration. - enc->cache_bits_ = 0; - VP8LBackwardRefsClear(&enc->refs_[0]); - VP8LBackwardRefsClear(&enc->refs_[1]); - -#if (WEBP_NEAR_LOSSLESS == 1) - // Apply near-lossless preprocessing. - use_near_lossless = (config->near_lossless < 100) && !enc->use_palette_ && - !enc->use_predict_; - if (use_near_lossless) { - err = AllocateTransformBuffer(enc, width, height); - if (err != VP8_ENC_OK) goto Error; - if ((enc->argb_content_ != kEncoderNearLossless) && - !VP8ApplyNearLossless(picture, config->near_lossless, enc->argb_)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - enc->argb_content_ = kEncoderNearLossless; - } else { - enc->argb_content_ = kEncoderNone; - } -#else - enc->argb_content_ = kEncoderNone; -#endif - - // Encode palette - if (enc->use_palette_) { - err = EncodePalette(bw, low_effort, enc); - if (err != VP8_ENC_OK) goto Error; - err = MapImageFromPalette(enc, use_delta_palette); - if (err != VP8_ENC_OK) goto Error; - // If using a color cache, do not have it bigger than the number of - // colors. - if (use_cache && enc->palette_size_ < (1 << MAX_COLOR_CACHE_BITS)) { - enc->cache_bits_ = BitsLog2Floor(enc->palette_size_) + 1; - } - } - if (!use_delta_palette) { - // In case image is not packed. - if (enc->argb_content_ != kEncoderNearLossless && - enc->argb_content_ != kEncoderPalette) { - err = MakeInputImageCopy(enc); - if (err != VP8_ENC_OK) goto Error; - } - - // ----------------------------------------------------------------------- - // Apply transforms and write transform data. - - if (enc->use_subtract_green_) { - ApplySubtractGreen(enc, enc->current_width_, height, bw); - } - - if (enc->use_predict_) { - err = ApplyPredictFilter(enc, enc->current_width_, height, quality, - low_effort, enc->use_subtract_green_, bw); - if (err != VP8_ENC_OK) goto Error; - } - - if (enc->use_cross_color_) { - err = ApplyCrossColorFilter(enc, enc->current_width_, height, quality, - low_effort, bw); - if (err != VP8_ENC_OK) goto Error; - } - } - - VP8LPutBits(bw, !TRANSFORM_PRESENT, 1); // No more transforms. - - // ------------------------------------------------------------------------- - // Encode and write the transformed image. - err = EncodeImageInternal(bw, enc->argb_, &enc->hash_chain_, enc->refs_, - enc->current_width_, height, quality, low_effort, - use_cache, &crunch_configs[idx], - &enc->cache_bits_, enc->histo_bits_, - byte_position, &hdr_size, &data_size); - if (err != VP8_ENC_OK) goto Error; - - // If we are better than what we already have. - if (idx == 0 || VP8LBitWriterNumBytes(bw) < best_size) { - best_size = VP8LBitWriterNumBytes(bw); - // Store the BitWriter. - VP8LBitWriterSwap(bw, &bw_best); -#if !defined(WEBP_DISABLE_STATS) - // Update the stats. - if (stats != NULL) { - stats->lossless_features = 0; - if (enc->use_predict_) stats->lossless_features |= 1; - if (enc->use_cross_color_) stats->lossless_features |= 2; - if (enc->use_subtract_green_) stats->lossless_features |= 4; - if (enc->use_palette_) stats->lossless_features |= 8; - stats->histogram_bits = enc->histo_bits_; - stats->transform_bits = enc->transform_bits_; - stats->cache_bits = enc->cache_bits_; - stats->palette_size = enc->palette_size_; - stats->lossless_size = (int)(best_size - byte_position); - stats->lossless_hdr_size = hdr_size; - stats->lossless_data_size = data_size; - } -#endif - } - // Reset the bit writer for the following iteration if any. - if (num_crunch_configs > 1) VP8LBitWriterReset(&bw_init, bw); - } - VP8LBitWriterSwap(&bw_best, bw); - -Error: - VP8LBitWriterWipeOut(&bw_best); - params->err_ = err; - // The hook should return false in case of error. - return (err == VP8_ENC_OK); -} - -WebPEncodingError VP8LEncodeStream(const WebPConfig* const config, - const WebPPicture* const picture, - VP8LBitWriter* const bw_main, - int use_cache) { - WebPEncodingError err = VP8_ENC_OK; - VP8LEncoder* const enc_main = VP8LEncoderNew(config, picture); - VP8LEncoder* enc_side = NULL; - CrunchConfig crunch_configs[CRUNCH_CONFIGS_MAX]; - int num_crunch_configs_main, num_crunch_configs_side = 0; - int idx; - int red_and_blue_always_zero = 0; - WebPWorker worker_main, worker_side; - StreamEncodeContext params_main, params_side; - // The main thread uses picture->stats, the side thread uses stats_side. - WebPAuxStats stats_side; - VP8LBitWriter bw_side; - const WebPWorkerInterface* const worker_interface = WebPGetWorkerInterface(); - int ok_main; - - // Analyze image (entropy, num_palettes etc) - if (enc_main == NULL || - !EncoderAnalyze(enc_main, crunch_configs, &num_crunch_configs_main, - &red_and_blue_always_zero) || - !EncoderInit(enc_main) || !VP8LBitWriterInit(&bw_side, 0)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - // Split the configs between the main and side threads (if any). - if (config->thread_level > 0) { - num_crunch_configs_side = num_crunch_configs_main / 2; - for (idx = 0; idx < num_crunch_configs_side; ++idx) { - params_side.crunch_configs_[idx] = - crunch_configs[num_crunch_configs_main - num_crunch_configs_side + - idx]; - } - params_side.num_crunch_configs_ = num_crunch_configs_side; - } - num_crunch_configs_main -= num_crunch_configs_side; - for (idx = 0; idx < num_crunch_configs_main; ++idx) { - params_main.crunch_configs_[idx] = crunch_configs[idx]; - } - params_main.num_crunch_configs_ = num_crunch_configs_main; - - // Fill in the parameters for the thread workers. - { - const int params_size = (num_crunch_configs_side > 0) ? 2 : 1; - for (idx = 0; idx < params_size; ++idx) { - // Create the parameters for each worker. - WebPWorker* const worker = (idx == 0) ? &worker_main : &worker_side; - StreamEncodeContext* const param = - (idx == 0) ? ¶ms_main : ¶ms_side; - param->config_ = config; - param->picture_ = picture; - param->use_cache_ = use_cache; - param->red_and_blue_always_zero_ = red_and_blue_always_zero; - if (idx == 0) { - param->stats_ = picture->stats; - param->bw_ = bw_main; - param->enc_ = enc_main; - } else { - param->stats_ = (picture->stats == NULL) ? NULL : &stats_side; - // Create a side bit writer. - if (!VP8LBitWriterClone(bw_main, &bw_side)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - param->bw_ = &bw_side; - // Create a side encoder. - enc_side = VP8LEncoderNew(config, picture); - if (enc_side == NULL || !EncoderInit(enc_side)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - // Copy the values that were computed for the main encoder. - enc_side->histo_bits_ = enc_main->histo_bits_; - enc_side->transform_bits_ = enc_main->transform_bits_; - enc_side->palette_size_ = enc_main->palette_size_; - memcpy(enc_side->palette_, enc_main->palette_, - sizeof(enc_main->palette_)); - param->enc_ = enc_side; - } - // Create the workers. - worker_interface->Init(worker); - worker->data1 = param; - worker->data2 = NULL; - worker->hook = EncodeStreamHook; - } - } - - // Start the second thread if needed. - if (num_crunch_configs_side != 0) { - if (!worker_interface->Reset(&worker_side)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } -#if !defined(WEBP_DISABLE_STATS) - // This line is here and not in the param initialization above to remove a - // Clang static analyzer warning. - if (picture->stats != NULL) { - memcpy(&stats_side, picture->stats, sizeof(stats_side)); - } -#endif - // This line is only useful to remove a Clang static analyzer warning. - params_side.err_ = VP8_ENC_OK; - worker_interface->Launch(&worker_side); - } - // Execute the main thread. - worker_interface->Execute(&worker_main); - ok_main = worker_interface->Sync(&worker_main); - worker_interface->End(&worker_main); - if (num_crunch_configs_side != 0) { - // Wait for the second thread. - const int ok_side = worker_interface->Sync(&worker_side); - worker_interface->End(&worker_side); - if (!ok_main || !ok_side) { - err = ok_main ? params_side.err_ : params_main.err_; - goto Error; - } - if (VP8LBitWriterNumBytes(&bw_side) < VP8LBitWriterNumBytes(bw_main)) { - VP8LBitWriterSwap(bw_main, &bw_side); -#if !defined(WEBP_DISABLE_STATS) - if (picture->stats != NULL) { - memcpy(picture->stats, &stats_side, sizeof(*picture->stats)); - } -#endif - } - } else { - if (!ok_main) { - err = params_main.err_; - goto Error; - } - } - -Error: - VP8LBitWriterWipeOut(&bw_side); - VP8LEncoderDelete(enc_main); - VP8LEncoderDelete(enc_side); - return err; -} - -#undef CRUNCH_CONFIGS_MAX -#undef CRUNCH_CONFIGS_LZ77_MAX - -int VP8LEncodeImage(const WebPConfig* const config, - const WebPPicture* const picture) { - int width, height; - int has_alpha; - size_t coded_size; - int percent = 0; - int initial_size; - WebPEncodingError err = VP8_ENC_OK; - VP8LBitWriter bw; - - if (picture == NULL) return 0; - - if (config == NULL || picture->argb == NULL) { - err = VP8_ENC_ERROR_NULL_PARAMETER; - WebPEncodingSetError(picture, err); - return 0; - } - - width = picture->width; - height = picture->height; - // Initialize BitWriter with size corresponding to 16 bpp to photo images and - // 8 bpp for graphical images. - initial_size = (config->image_hint == WEBP_HINT_GRAPH) ? - width * height : width * height * 2; - if (!VP8LBitWriterInit(&bw, initial_size)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - if (!WebPReportProgress(picture, 1, &percent)) { - UserAbort: - err = VP8_ENC_ERROR_USER_ABORT; - goto Error; - } - // Reset stats (for pure lossless coding) - if (picture->stats != NULL) { - WebPAuxStats* const stats = picture->stats; - memset(stats, 0, sizeof(*stats)); - stats->PSNR[0] = 99.f; - stats->PSNR[1] = 99.f; - stats->PSNR[2] = 99.f; - stats->PSNR[3] = 99.f; - stats->PSNR[4] = 99.f; - } - - // Write image size. - if (!WriteImageSize(picture, &bw)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - has_alpha = WebPPictureHasTransparency(picture); - // Write the non-trivial Alpha flag and lossless version. - if (!WriteRealAlphaAndVersion(&bw, has_alpha)) { - err = VP8_ENC_ERROR_OUT_OF_MEMORY; - goto Error; - } - - if (!WebPReportProgress(picture, 5, &percent)) goto UserAbort; - - // Encode main image stream. - err = VP8LEncodeStream(config, picture, &bw, 1 /*use_cache*/); - if (err != VP8_ENC_OK) goto Error; - - if (!WebPReportProgress(picture, 90, &percent)) goto UserAbort; - - // Finish the RIFF chunk. - err = WriteImage(picture, &bw, &coded_size); - if (err != VP8_ENC_OK) goto Error; - - if (!WebPReportProgress(picture, 100, &percent)) goto UserAbort; - -#if !defined(WEBP_DISABLE_STATS) - // Save size. - if (picture->stats != NULL) { - picture->stats->coded_size += (int)coded_size; - picture->stats->lossless_size = (int)coded_size; - } -#endif - - if (picture->extra_info != NULL) { - const int mb_w = (width + 15) >> 4; - const int mb_h = (height + 15) >> 4; - memset(picture->extra_info, 0, mb_w * mb_h * sizeof(*picture->extra_info)); - } - - Error: - if (bw.error_) err = VP8_ENC_ERROR_OUT_OF_MEMORY; - VP8LBitWriterWipeOut(&bw); - if (err != VP8_ENC_OK) { - WebPEncodingSetError(picture, err); - return 0; - } - return 1; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h deleted file mode 100644 index d2d0fc50..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Lossless encoder: internal header. -// -// Author: Vikas Arora (vikaas.arora@gmail.com) - -#ifndef WEBP_ENC_VP8LI_ENC_H_ -#define WEBP_ENC_VP8LI_ENC_H_ - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif -// Either WEBP_NEAR_LOSSLESS is defined as 0 in config.h when compiling to -// disable near-lossless, or it is enabled by default. -#ifndef WEBP_NEAR_LOSSLESS -#define WEBP_NEAR_LOSSLESS 1 -#endif - -#include "src/enc/backward_references_enc.h" -#include "src/enc/histogram_enc.h" -#include "src/utils/bit_writer_utils.h" -#include "src/webp/encode.h" -#include "src/webp/format_constants.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// maximum value of transform_bits_ in VP8LEncoder. -#define MAX_TRANSFORM_BITS 6 - -typedef enum { - kEncoderNone = 0, - kEncoderARGB, - kEncoderNearLossless, - kEncoderPalette -} VP8LEncoderARGBContent; - -typedef struct { - const WebPConfig* config_; // user configuration and parameters - const WebPPicture* pic_; // input picture. - - uint32_t* argb_; // Transformed argb image data. - VP8LEncoderARGBContent argb_content_; // Content type of the argb buffer. - uint32_t* argb_scratch_; // Scratch memory for argb rows - // (used for prediction). - uint32_t* transform_data_; // Scratch memory for transform data. - uint32_t* transform_mem_; // Currently allocated memory. - size_t transform_mem_size_; // Currently allocated memory size. - - int current_width_; // Corresponds to packed image width. - - // Encoding parameters derived from quality parameter. - int histo_bits_; - int transform_bits_; // <= MAX_TRANSFORM_BITS. - int cache_bits_; // If equal to 0, don't use color cache. - - // Encoding parameters derived from image characteristics. - int use_cross_color_; - int use_subtract_green_; - int use_predict_; - int use_palette_; - int palette_size_; - uint32_t palette_[MAX_PALETTE_SIZE]; - - // Some 'scratch' (potentially large) objects. - struct VP8LBackwardRefs refs_[3]; // Backward Refs array for temporaries. - VP8LHashChain hash_chain_; // HashChain data for constructing - // backward references. -} VP8LEncoder; - -//------------------------------------------------------------------------------ -// internal functions. Not public. - -// Encodes the picture. -// Returns 0 if config or picture is NULL or picture doesn't have valid argb -// input. -int VP8LEncodeImage(const WebPConfig* const config, - const WebPPicture* const picture); - -// Encodes the main image stream using the supplied bit writer. -// If 'use_cache' is false, disables the use of color cache. -WebPEncodingError VP8LEncodeStream(const WebPConfig* const config, - const WebPPicture* const picture, - VP8LBitWriter* const bw, int use_cache); - -#if (WEBP_NEAR_LOSSLESS == 1) -// in near_lossless.c -// Near lossless preprocessing in RGB color-space. -int VP8ApplyNearLossless(const WebPPicture* const picture, int quality, - uint32_t* const argb_dst); -#endif - -//------------------------------------------------------------------------------ -// Image transforms in predictor.c. - -void VP8LResidualImage(int width, int height, int bits, int low_effort, - uint32_t* const argb, uint32_t* const argb_scratch, - uint32_t* const image, int near_lossless, int exact, - int used_subtract_green); - -void VP8LColorSpaceTransform(int width, int height, int bits, int quality, - uint32_t* const argb, uint32_t* image); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_ENC_VP8LI_ENC_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/webp_enc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/webp_enc.c deleted file mode 100644 index 9f4b10c2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/enc/webp_enc.c +++ /dev/null @@ -1,410 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP encoder: main entry point -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include -#include -#include - -#include "src/enc/cost_enc.h" -#include "src/enc/vp8i_enc.h" -#include "src/enc/vp8li_enc.h" -#include "src/utils/utils.h" - -// #define PRINT_MEMORY_INFO - -#ifdef PRINT_MEMORY_INFO -#include -#endif - -//------------------------------------------------------------------------------ - -int WebPGetEncoderVersion(void) { - return (ENC_MAJ_VERSION << 16) | (ENC_MIN_VERSION << 8) | ENC_REV_VERSION; -} - -//------------------------------------------------------------------------------ -// VP8Encoder -//------------------------------------------------------------------------------ - -static void ResetSegmentHeader(VP8Encoder* const enc) { - VP8EncSegmentHeader* const hdr = &enc->segment_hdr_; - hdr->num_segments_ = enc->config_->segments; - hdr->update_map_ = (hdr->num_segments_ > 1); - hdr->size_ = 0; -} - -static void ResetFilterHeader(VP8Encoder* const enc) { - VP8EncFilterHeader* const hdr = &enc->filter_hdr_; - hdr->simple_ = 1; - hdr->level_ = 0; - hdr->sharpness_ = 0; - hdr->i4x4_lf_delta_ = 0; -} - -static void ResetBoundaryPredictions(VP8Encoder* const enc) { - // init boundary values once for all - // Note: actually, initializing the preds_[] is only needed for intra4. - int i; - uint8_t* const top = enc->preds_ - enc->preds_w_; - uint8_t* const left = enc->preds_ - 1; - for (i = -1; i < 4 * enc->mb_w_; ++i) { - top[i] = B_DC_PRED; - } - for (i = 0; i < 4 * enc->mb_h_; ++i) { - left[i * enc->preds_w_] = B_DC_PRED; - } - enc->nz_[-1] = 0; // constant -} - -// Mapping from config->method_ to coding tools used. -//-------------------+---+---+---+---+---+---+---+ -// Method | 0 | 1 | 2 | 3 |(4)| 5 | 6 | -//-------------------+---+---+---+---+---+---+---+ -// fast probe | x | | | x | | | | -//-------------------+---+---+---+---+---+---+---+ -// dynamic proba | ~ | x | x | x | x | x | x | -//-------------------+---+---+---+---+---+---+---+ -// fast mode analysis|[x]|[x]| | | x | x | x | -//-------------------+---+---+---+---+---+---+---+ -// basic rd-opt | | | | x | x | x | x | -//-------------------+---+---+---+---+---+---+---+ -// disto-refine i4/16| x | x | x | | | | | -//-------------------+---+---+---+---+---+---+---+ -// disto-refine uv | | x | x | | | | | -//-------------------+---+---+---+---+---+---+---+ -// rd-opt i4/16 | | | ~ | x | x | x | x | -//-------------------+---+---+---+---+---+---+---+ -// token buffer (opt)| | | | x | x | x | x | -//-------------------+---+---+---+---+---+---+---+ -// Trellis | | | | | | x |Ful| -//-------------------+---+---+---+---+---+---+---+ -// full-SNS | | | | | x | x | x | -//-------------------+---+---+---+---+---+---+---+ - -static void MapConfigToTools(VP8Encoder* const enc) { - const WebPConfig* const config = enc->config_; - const int method = config->method; - const int limit = 100 - config->partition_limit; - enc->method_ = method; - enc->rd_opt_level_ = (method >= 6) ? RD_OPT_TRELLIS_ALL - : (method >= 5) ? RD_OPT_TRELLIS - : (method >= 3) ? RD_OPT_BASIC - : RD_OPT_NONE; - enc->max_i4_header_bits_ = - 256 * 16 * 16 * // upper bound: up to 16bit per 4x4 block - (limit * limit) / (100 * 100); // ... modulated with a quadratic curve. - - // partition0 = 512k max. - enc->mb_header_limit_ = - (score_t)256 * 510 * 8 * 1024 / (enc->mb_w_ * enc->mb_h_); - - enc->thread_level_ = config->thread_level; - - enc->do_search_ = (config->target_size > 0 || config->target_PSNR > 0); - if (!config->low_memory) { -#if !defined(DISABLE_TOKEN_BUFFER) - enc->use_tokens_ = (enc->rd_opt_level_ >= RD_OPT_BASIC); // need rd stats -#endif - if (enc->use_tokens_) { - enc->num_parts_ = 1; // doesn't work with multi-partition - } - } -} - -// Memory scaling with dimensions: -// memory (bytes) ~= 2.25 * w + 0.0625 * w * h -// -// Typical memory footprint (614x440 picture) -// encoder: 22111 -// info: 4368 -// preds: 17741 -// top samples: 1263 -// non-zero: 175 -// lf-stats: 0 -// total: 45658 -// Transient object sizes: -// VP8EncIterator: 3360 -// VP8ModeScore: 872 -// VP8SegmentInfo: 732 -// VP8EncProba: 18352 -// LFStats: 2048 -// Picture size (yuv): 419328 - -static VP8Encoder* InitVP8Encoder(const WebPConfig* const config, - WebPPicture* const picture) { - VP8Encoder* enc; - const int use_filter = - (config->filter_strength > 0) || (config->autofilter > 0); - const int mb_w = (picture->width + 15) >> 4; - const int mb_h = (picture->height + 15) >> 4; - const int preds_w = 4 * mb_w + 1; - const int preds_h = 4 * mb_h + 1; - const size_t preds_size = preds_w * preds_h * sizeof(*enc->preds_); - const int top_stride = mb_w * 16; - const size_t nz_size = (mb_w + 1) * sizeof(*enc->nz_) + WEBP_ALIGN_CST; - const size_t info_size = mb_w * mb_h * sizeof(*enc->mb_info_); - const size_t samples_size = - 2 * top_stride * sizeof(*enc->y_top_) // top-luma/u/v - + WEBP_ALIGN_CST; // align all - const size_t lf_stats_size = - config->autofilter ? sizeof(*enc->lf_stats_) + WEBP_ALIGN_CST : 0; - const size_t top_derr_size = - (config->quality <= ERROR_DIFFUSION_QUALITY || config->pass > 1) ? - mb_w * sizeof(*enc->top_derr_) : 0; - uint8_t* mem; - const uint64_t size = (uint64_t)sizeof(*enc) // main struct - + WEBP_ALIGN_CST // cache alignment - + info_size // modes info - + preds_size // prediction modes - + samples_size // top/left samples - + top_derr_size // top diffusion error - + nz_size // coeff context bits - + lf_stats_size; // autofilter stats - -#ifdef PRINT_MEMORY_INFO - printf("===================================\n"); - printf("Memory used:\n" - " encoder: %ld\n" - " info: %ld\n" - " preds: %ld\n" - " top samples: %ld\n" - " top diffusion: %ld\n" - " non-zero: %ld\n" - " lf-stats: %ld\n" - " total: %ld\n", - sizeof(*enc) + WEBP_ALIGN_CST, info_size, - preds_size, samples_size, top_derr_size, nz_size, lf_stats_size, size); - printf("Transient object sizes:\n" - " VP8EncIterator: %ld\n" - " VP8ModeScore: %ld\n" - " VP8SegmentInfo: %ld\n" - " VP8EncProba: %ld\n" - " LFStats: %ld\n", - sizeof(VP8EncIterator), sizeof(VP8ModeScore), - sizeof(VP8SegmentInfo), sizeof(VP8EncProba), - sizeof(LFStats)); - printf("Picture size (yuv): %ld\n", - mb_w * mb_h * 384 * sizeof(uint8_t)); - printf("===================================\n"); -#endif - mem = (uint8_t*)WebPSafeMalloc(size, sizeof(*mem)); - if (mem == NULL) { - WebPEncodingSetError(picture, VP8_ENC_ERROR_OUT_OF_MEMORY); - return NULL; - } - enc = (VP8Encoder*)mem; - mem = (uint8_t*)WEBP_ALIGN(mem + sizeof(*enc)); - memset(enc, 0, sizeof(*enc)); - enc->num_parts_ = 1 << config->partitions; - enc->mb_w_ = mb_w; - enc->mb_h_ = mb_h; - enc->preds_w_ = preds_w; - enc->mb_info_ = (VP8MBInfo*)mem; - mem += info_size; - enc->preds_ = mem + 1 + enc->preds_w_; - mem += preds_size; - enc->nz_ = 1 + (uint32_t*)WEBP_ALIGN(mem); - mem += nz_size; - enc->lf_stats_ = lf_stats_size ? (LFStats*)WEBP_ALIGN(mem) : NULL; - mem += lf_stats_size; - - // top samples (all 16-aligned) - mem = (uint8_t*)WEBP_ALIGN(mem); - enc->y_top_ = mem; - enc->uv_top_ = enc->y_top_ + top_stride; - mem += 2 * top_stride; - enc->top_derr_ = top_derr_size ? (DError*)mem : NULL; - mem += top_derr_size; - assert(mem <= (uint8_t*)enc + size); - - enc->config_ = config; - enc->profile_ = use_filter ? ((config->filter_type == 1) ? 0 : 1) : 2; - enc->pic_ = picture; - enc->percent_ = 0; - - MapConfigToTools(enc); - VP8EncDspInit(); - VP8DefaultProbas(enc); - ResetSegmentHeader(enc); - ResetFilterHeader(enc); - ResetBoundaryPredictions(enc); - VP8EncDspCostInit(); - VP8EncInitAlpha(enc); - - // lower quality means smaller output -> we modulate a little the page - // size based on quality. This is just a crude 1rst-order prediction. - { - const float scale = 1.f + config->quality * 5.f / 100.f; // in [1,6] - VP8TBufferInit(&enc->tokens_, (int)(mb_w * mb_h * 4 * scale)); - } - return enc; -} - -static int DeleteVP8Encoder(VP8Encoder* enc) { - int ok = 1; - if (enc != NULL) { - ok = VP8EncDeleteAlpha(enc); - VP8TBufferClear(&enc->tokens_); - WebPSafeFree(enc); - } - return ok; -} - -//------------------------------------------------------------------------------ - -#if !defined(WEBP_DISABLE_STATS) -static double GetPSNR(uint64_t err, uint64_t size) { - return (err > 0 && size > 0) ? 10. * log10(255. * 255. * size / err) : 99.; -} - -static void FinalizePSNR(const VP8Encoder* const enc) { - WebPAuxStats* stats = enc->pic_->stats; - const uint64_t size = enc->sse_count_; - const uint64_t* const sse = enc->sse_; - stats->PSNR[0] = (float)GetPSNR(sse[0], size); - stats->PSNR[1] = (float)GetPSNR(sse[1], size / 4); - stats->PSNR[2] = (float)GetPSNR(sse[2], size / 4); - stats->PSNR[3] = (float)GetPSNR(sse[0] + sse[1] + sse[2], size * 3 / 2); - stats->PSNR[4] = (float)GetPSNR(sse[3], size); -} -#endif // !defined(WEBP_DISABLE_STATS) - -static void StoreStats(VP8Encoder* const enc) { -#if !defined(WEBP_DISABLE_STATS) - WebPAuxStats* const stats = enc->pic_->stats; - if (stats != NULL) { - int i, s; - for (i = 0; i < NUM_MB_SEGMENTS; ++i) { - stats->segment_level[i] = enc->dqm_[i].fstrength_; - stats->segment_quant[i] = enc->dqm_[i].quant_; - for (s = 0; s <= 2; ++s) { - stats->residual_bytes[s][i] = enc->residual_bytes_[s][i]; - } - } - FinalizePSNR(enc); - stats->coded_size = enc->coded_size_; - for (i = 0; i < 3; ++i) { - stats->block_count[i] = enc->block_count_[i]; - } - } -#else // defined(WEBP_DISABLE_STATS) - WebPReportProgress(enc->pic_, 100, &enc->percent_); // done! -#endif // !defined(WEBP_DISABLE_STATS) -} - -int WebPEncodingSetError(const WebPPicture* const pic, - WebPEncodingError error) { - assert((int)error < VP8_ENC_ERROR_LAST); - assert((int)error >= VP8_ENC_OK); - ((WebPPicture*)pic)->error_code = error; - return 0; -} - -int WebPReportProgress(const WebPPicture* const pic, - int percent, int* const percent_store) { - if (percent_store != NULL && percent != *percent_store) { - *percent_store = percent; - if (pic->progress_hook && !pic->progress_hook(percent, pic)) { - // user abort requested - WebPEncodingSetError(pic, VP8_ENC_ERROR_USER_ABORT); - return 0; - } - } - return 1; // ok -} -//------------------------------------------------------------------------------ - -int WebPEncode(const WebPConfig* config, WebPPicture* pic) { - int ok = 0; - if (pic == NULL) return 0; - - WebPEncodingSetError(pic, VP8_ENC_OK); // all ok so far - if (config == NULL) { // bad params - return WebPEncodingSetError(pic, VP8_ENC_ERROR_NULL_PARAMETER); - } - if (!WebPValidateConfig(config)) { - return WebPEncodingSetError(pic, VP8_ENC_ERROR_INVALID_CONFIGURATION); - } - if (pic->width <= 0 || pic->height <= 0) { - return WebPEncodingSetError(pic, VP8_ENC_ERROR_BAD_DIMENSION); - } - if (pic->width > WEBP_MAX_DIMENSION || pic->height > WEBP_MAX_DIMENSION) { - return WebPEncodingSetError(pic, VP8_ENC_ERROR_BAD_DIMENSION); - } - - if (pic->stats != NULL) memset(pic->stats, 0, sizeof(*pic->stats)); - - if (!config->lossless) { - VP8Encoder* enc = NULL; - - if (pic->use_argb || pic->y == NULL || pic->u == NULL || pic->v == NULL) { - // Make sure we have YUVA samples. - if (config->use_sharp_yuv || (config->preprocessing & 4)) { - if (!WebPPictureSharpARGBToYUVA(pic)) { - return 0; - } - } else { - float dithering = 0.f; - if (config->preprocessing & 2) { - const float x = config->quality / 100.f; - const float x2 = x * x; - // slowly decreasing from max dithering at low quality (q->0) - // to 0.5 dithering amplitude at high quality (q->100) - dithering = 1.0f + (0.5f - 1.0f) * x2 * x2; - } - if (!WebPPictureARGBToYUVADithered(pic, WEBP_YUV420, dithering)) { - return 0; - } - } - } - - if (!config->exact) { - WebPCleanupTransparentArea(pic); - } - - enc = InitVP8Encoder(config, pic); - if (enc == NULL) return 0; // pic->error is already set. - // Note: each of the tasks below account for 20% in the progress report. - ok = VP8EncAnalyze(enc); - - // Analysis is done, proceed to actual coding. - ok = ok && VP8EncStartAlpha(enc); // possibly done in parallel - if (!enc->use_tokens_) { - ok = ok && VP8EncLoop(enc); - } else { - ok = ok && VP8EncTokenLoop(enc); - } - ok = ok && VP8EncFinishAlpha(enc); - - ok = ok && VP8EncWrite(enc); - StoreStats(enc); - if (!ok) { - VP8EncFreeBitWriters(enc); - } - ok &= DeleteVP8Encoder(enc); // must always be called, even if !ok - } else { - // Make sure we have ARGB samples. - if (pic->argb == NULL && !WebPPictureYUVAToARGB(pic)) { - return 0; - } - - if (!config->exact) { - WebPCleanupTransparentAreaLossless(pic); - } - - ok = VP8LEncodeImage(config, pic); // Sets pic->error in case of problem. - } - - return ok; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebp.pc.in b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebp.pc.in deleted file mode 100644 index 733bb6db..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebp.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: libwebp -Description: Library for the WebP graphics format -Version: @PACKAGE_VERSION@ -Cflags: -I${includedir} -Libs: -L${libdir} -lwebp -Libs.private: -lm @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebp.rc b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebp.rc deleted file mode 100644 index 78dccc97..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebp.rc +++ /dev/null @@ -1,41 +0,0 @@ -#define APSTUDIO_READONLY_SYMBOLS -#include "winres.h" -#undef APSTUDIO_READONLY_SYMBOLS - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,1,0 - PRODUCTVERSION 1,0,1,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Google, Inc." - VALUE "FileDescription", "libwebp DLL" - VALUE "FileVersion", "1.1.0" - VALUE "InternalName", "libwebp.dll" - VALUE "LegalCopyright", "Copyright (C) 2019" - VALUE "OriginalFilename", "libwebp.dll" - VALUE "ProductName", "WebP Image Codec" - VALUE "ProductVersion", "1.1.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (United States) resources diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebpdecoder.pc.in b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebpdecoder.pc.in deleted file mode 100644 index 3ef647a9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebpdecoder.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: libwebpdecoder -Description: Library for the WebP graphics format (decode only) -Version: @PACKAGE_VERSION@ -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdecoder -Libs.private: -lm @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebpdecoder.rc b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebpdecoder.rc deleted file mode 100644 index bf0cffd4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/libwebpdecoder.rc +++ /dev/null @@ -1,41 +0,0 @@ -#define APSTUDIO_READONLY_SYMBOLS -#include "winres.h" -#undef APSTUDIO_READONLY_SYMBOLS - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,1,0 - PRODUCTVERSION 1,0,1,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Google, Inc." - VALUE "FileDescription", "libwebpdecoder DLL" - VALUE "FileVersion", "1.1.0" - VALUE "InternalName", "libwebpdecoder.dll" - VALUE "LegalCopyright", "Copyright (C) 2019" - VALUE "OriginalFilename", "libwebpdecoder.dll" - VALUE "ProductName", "WebP Image Decoder" - VALUE "ProductVersion", "1.1.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (United States) resources diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/Makefile.am deleted file mode 100644 index 5480296c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -AM_CPPFLAGS += -I$(top_builddir) -I$(top_srcdir) -lib_LTLIBRARIES = libwebpmux.la - -libwebpmux_la_SOURCES = -libwebpmux_la_SOURCES += anim_encode.c -libwebpmux_la_SOURCES += animi.h -libwebpmux_la_SOURCES += muxedit.c -libwebpmux_la_SOURCES += muxi.h -libwebpmux_la_SOURCES += muxinternal.c -libwebpmux_la_SOURCES += muxread.c - -libwebpmuxinclude_HEADERS = -libwebpmuxinclude_HEADERS += ../webp/mux.h -libwebpmuxinclude_HEADERS += ../webp/mux_types.h -libwebpmuxinclude_HEADERS += ../webp/types.h -noinst_HEADERS = -noinst_HEADERS += ../webp/format_constants.h - -libwebpmux_la_LIBADD = ../libwebp.la -libwebpmux_la_LDFLAGS = -no-undefined -version-info 3:5:0 -lm -libwebpmuxincludedir = $(includedir)/webp -pkgconfig_DATA = libwebpmux.pc diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/anim_encode.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/anim_encode.c deleted file mode 100644 index 7be99068..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/anim_encode.c +++ /dev/null @@ -1,1581 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// AnimEncoder implementation. -// - -#include -#include -#include // for pow() -#include -#include // for abs() - -#include "src/mux/animi.h" -#include "src/utils/utils.h" -#include "src/webp/decode.h" -#include "src/webp/encode.h" -#include "src/webp/format_constants.h" -#include "src/webp/mux.h" - -#if defined(_MSC_VER) && _MSC_VER < 1900 -#define snprintf _snprintf -#endif - -#define ERROR_STR_MAX_LENGTH 100 - -//------------------------------------------------------------------------------ -// Internal structs. - -// Stores frame rectangle dimensions. -typedef struct { - int x_offset_, y_offset_, width_, height_; -} FrameRectangle; - -// Used to store two candidates of encoded data for an animation frame. One of -// the two will be chosen later. -typedef struct { - WebPMuxFrameInfo sub_frame_; // Encoded frame rectangle. - WebPMuxFrameInfo key_frame_; // Encoded frame if it is a key-frame. - int is_key_frame_; // True if 'key_frame' has been chosen. -} EncodedFrame; - -struct WebPAnimEncoder { - const int canvas_width_; // Canvas width. - const int canvas_height_; // Canvas height. - const WebPAnimEncoderOptions options_; // Global encoding options. - - FrameRectangle prev_rect_; // Previous WebP frame rectangle. - WebPConfig last_config_; // Cached in case a re-encode is needed. - WebPConfig last_config_reversed_; // If 'last_config_' uses lossless, then - // this config uses lossy and vice versa; - // only valid if 'options_.allow_mixed' - // is true. - - WebPPicture* curr_canvas_; // Only pointer; we don't own memory. - - // Canvas buffers. - WebPPicture curr_canvas_copy_; // Possibly modified current canvas. - int curr_canvas_copy_modified_; // True if pixels in 'curr_canvas_copy_' - // differ from those in 'curr_canvas_'. - - WebPPicture prev_canvas_; // Previous canvas. - WebPPicture prev_canvas_disposed_; // Previous canvas disposed to background. - - // Encoded data. - EncodedFrame* encoded_frames_; // Array of encoded frames. - size_t size_; // Number of allocated frames. - size_t start_; // Frame start index. - size_t count_; // Number of valid frames. - size_t flush_count_; // If >0, 'flush_count' frames starting from - // 'start' are ready to be added to mux. - - // key-frame related. - int64_t best_delta_; // min(canvas size - frame size) over the frames. - // Can be negative in certain cases due to - // transparent pixels in a frame. - int keyframe_; // Index of selected key-frame relative to 'start_'. - int count_since_key_frame_; // Frames seen since the last key-frame. - - int first_timestamp_; // Timestamp of the first frame. - int prev_timestamp_; // Timestamp of the last added frame. - int prev_candidate_undecided_; // True if it's not yet decided if previous - // frame would be a sub-frame or a key-frame. - - // Misc. - int is_first_frame_; // True if first frame is yet to be added/being added. - int got_null_frame_; // True if WebPAnimEncoderAdd() has already been called - // with a NULL frame. - - size_t in_frame_count_; // Number of input frames processed so far. - size_t out_frame_count_; // Number of frames added to mux so far. This may be - // different from 'in_frame_count_' due to merging. - - WebPMux* mux_; // Muxer to assemble the WebP bitstream. - char error_str_[ERROR_STR_MAX_LENGTH]; // Error string. Empty if no error. -}; - -// ----------------------------------------------------------------------------- -// Life of WebPAnimEncoder object. - -#define DELTA_INFINITY (1ULL << 32) -#define KEYFRAME_NONE (-1) - -// Reset the counters in the WebPAnimEncoder. -static void ResetCounters(WebPAnimEncoder* const enc) { - enc->start_ = 0; - enc->count_ = 0; - enc->flush_count_ = 0; - enc->best_delta_ = DELTA_INFINITY; - enc->keyframe_ = KEYFRAME_NONE; -} - -static void DisableKeyframes(WebPAnimEncoderOptions* const enc_options) { - enc_options->kmax = INT_MAX; - enc_options->kmin = enc_options->kmax - 1; -} - -#define MAX_CACHED_FRAMES 30 - -static void SanitizeEncoderOptions(WebPAnimEncoderOptions* const enc_options) { - int print_warning = enc_options->verbose; - - if (enc_options->minimize_size) { - DisableKeyframes(enc_options); - } - - if (enc_options->kmax == 1) { // All frames will be key-frames. - enc_options->kmin = 0; - enc_options->kmax = 0; - return; - } else if (enc_options->kmax <= 0) { - DisableKeyframes(enc_options); - print_warning = 0; - } - - if (enc_options->kmin >= enc_options->kmax) { - enc_options->kmin = enc_options->kmax - 1; - if (print_warning) { - fprintf(stderr, "WARNING: Setting kmin = %d, so that kmin < kmax.\n", - enc_options->kmin); - } - } else { - const int kmin_limit = enc_options->kmax / 2 + 1; - if (enc_options->kmin < kmin_limit && kmin_limit < enc_options->kmax) { - // This ensures that enc.keyframe + kmin >= kmax is always true. So, we - // can flush all the frames in the 'count_since_key_frame == kmax' case. - enc_options->kmin = kmin_limit; - if (print_warning) { - fprintf(stderr, - "WARNING: Setting kmin = %d, so that kmin >= kmax / 2 + 1.\n", - enc_options->kmin); - } - } - } - // Limit the max number of frames that are allocated. - if (enc_options->kmax - enc_options->kmin > MAX_CACHED_FRAMES) { - enc_options->kmin = enc_options->kmax - MAX_CACHED_FRAMES; - if (print_warning) { - fprintf(stderr, - "WARNING: Setting kmin = %d, so that kmax - kmin <= %d.\n", - enc_options->kmin, MAX_CACHED_FRAMES); - } - } - assert(enc_options->kmin < enc_options->kmax); -} - -#undef MAX_CACHED_FRAMES - -static void DefaultEncoderOptions(WebPAnimEncoderOptions* const enc_options) { - enc_options->anim_params.loop_count = 0; - enc_options->anim_params.bgcolor = 0xffffffff; // White. - enc_options->minimize_size = 0; - DisableKeyframes(enc_options); - enc_options->allow_mixed = 0; - enc_options->verbose = 0; -} - -int WebPAnimEncoderOptionsInitInternal(WebPAnimEncoderOptions* enc_options, - int abi_version) { - if (enc_options == NULL || - WEBP_ABI_IS_INCOMPATIBLE(abi_version, WEBP_MUX_ABI_VERSION)) { - return 0; - } - DefaultEncoderOptions(enc_options); - return 1; -} - -// This starting value is more fit to WebPCleanupTransparentAreaLossless(). -#define TRANSPARENT_COLOR 0x00000000 - -static void ClearRectangle(WebPPicture* const picture, - int left, int top, int width, int height) { - int j; - for (j = top; j < top + height; ++j) { - uint32_t* const dst = picture->argb + j * picture->argb_stride; - int i; - for (i = left; i < left + width; ++i) { - dst[i] = TRANSPARENT_COLOR; - } - } -} - -static void WebPUtilClearPic(WebPPicture* const picture, - const FrameRectangle* const rect) { - if (rect != NULL) { - ClearRectangle(picture, rect->x_offset_, rect->y_offset_, - rect->width_, rect->height_); - } else { - ClearRectangle(picture, 0, 0, picture->width, picture->height); - } -} - -static void MarkNoError(WebPAnimEncoder* const enc) { - enc->error_str_[0] = '\0'; // Empty string. -} - -static void MarkError(WebPAnimEncoder* const enc, const char* str) { - if (snprintf(enc->error_str_, ERROR_STR_MAX_LENGTH, "%s.", str) < 0) { - assert(0); // FIX ME! - } -} - -static void MarkError2(WebPAnimEncoder* const enc, - const char* str, int error_code) { - if (snprintf(enc->error_str_, ERROR_STR_MAX_LENGTH, "%s: %d.", str, - error_code) < 0) { - assert(0); // FIX ME! - } -} - -WebPAnimEncoder* WebPAnimEncoderNewInternal( - int width, int height, const WebPAnimEncoderOptions* enc_options, - int abi_version) { - WebPAnimEncoder* enc; - - if (WEBP_ABI_IS_INCOMPATIBLE(abi_version, WEBP_MUX_ABI_VERSION)) { - return NULL; - } - if (width <= 0 || height <= 0 || - (width * (uint64_t)height) >= MAX_IMAGE_AREA) { - return NULL; - } - - enc = (WebPAnimEncoder*)WebPSafeCalloc(1, sizeof(*enc)); - if (enc == NULL) return NULL; - // sanity inits, so we can call WebPAnimEncoderDelete(): - enc->encoded_frames_ = NULL; - enc->mux_ = NULL; - MarkNoError(enc); - - // Dimensions and options. - *(int*)&enc->canvas_width_ = width; - *(int*)&enc->canvas_height_ = height; - if (enc_options != NULL) { - *(WebPAnimEncoderOptions*)&enc->options_ = *enc_options; - SanitizeEncoderOptions((WebPAnimEncoderOptions*)&enc->options_); - } else { - DefaultEncoderOptions((WebPAnimEncoderOptions*)&enc->options_); - } - - // Canvas buffers. - if (!WebPPictureInit(&enc->curr_canvas_copy_) || - !WebPPictureInit(&enc->prev_canvas_) || - !WebPPictureInit(&enc->prev_canvas_disposed_)) { - goto Err; - } - enc->curr_canvas_copy_.width = width; - enc->curr_canvas_copy_.height = height; - enc->curr_canvas_copy_.use_argb = 1; - if (!WebPPictureAlloc(&enc->curr_canvas_copy_) || - !WebPPictureCopy(&enc->curr_canvas_copy_, &enc->prev_canvas_) || - !WebPPictureCopy(&enc->curr_canvas_copy_, &enc->prev_canvas_disposed_)) { - goto Err; - } - WebPUtilClearPic(&enc->prev_canvas_, NULL); - enc->curr_canvas_copy_modified_ = 1; - - // Encoded frames. - ResetCounters(enc); - // Note: one extra storage is for the previous frame. - enc->size_ = enc->options_.kmax - enc->options_.kmin + 1; - // We need space for at least 2 frames. But when kmin, kmax are both zero, - // enc->size_ will be 1. So we handle that special case below. - if (enc->size_ < 2) enc->size_ = 2; - enc->encoded_frames_ = - (EncodedFrame*)WebPSafeCalloc(enc->size_, sizeof(*enc->encoded_frames_)); - if (enc->encoded_frames_ == NULL) goto Err; - - enc->mux_ = WebPMuxNew(); - if (enc->mux_ == NULL) goto Err; - - enc->count_since_key_frame_ = 0; - enc->first_timestamp_ = 0; - enc->prev_timestamp_ = 0; - enc->prev_candidate_undecided_ = 0; - enc->is_first_frame_ = 1; - enc->got_null_frame_ = 0; - - return enc; // All OK. - - Err: - WebPAnimEncoderDelete(enc); - return NULL; -} - -// Release the data contained by 'encoded_frame'. -static void FrameRelease(EncodedFrame* const encoded_frame) { - if (encoded_frame != NULL) { - WebPDataClear(&encoded_frame->sub_frame_.bitstream); - WebPDataClear(&encoded_frame->key_frame_.bitstream); - memset(encoded_frame, 0, sizeof(*encoded_frame)); - } -} - -void WebPAnimEncoderDelete(WebPAnimEncoder* enc) { - if (enc != NULL) { - WebPPictureFree(&enc->curr_canvas_copy_); - WebPPictureFree(&enc->prev_canvas_); - WebPPictureFree(&enc->prev_canvas_disposed_); - if (enc->encoded_frames_ != NULL) { - size_t i; - for (i = 0; i < enc->size_; ++i) { - FrameRelease(&enc->encoded_frames_[i]); - } - WebPSafeFree(enc->encoded_frames_); - } - WebPMuxDelete(enc->mux_); - WebPSafeFree(enc); - } -} - -// ----------------------------------------------------------------------------- -// Frame addition. - -// Returns cached frame at the given 'position'. -static EncodedFrame* GetFrame(const WebPAnimEncoder* const enc, - size_t position) { - assert(enc->start_ + position < enc->size_); - return &enc->encoded_frames_[enc->start_ + position]; -} - -typedef int (*ComparePixelsFunc)(const uint32_t*, int, const uint32_t*, int, - int, int); - -// Returns true if 'length' number of pixels in 'src' and 'dst' are equal, -// assuming the given step sizes between pixels. -// 'max_allowed_diff' is unused and only there to allow function pointer use. -static WEBP_INLINE int ComparePixelsLossless(const uint32_t* src, int src_step, - const uint32_t* dst, int dst_step, - int length, int max_allowed_diff) { - (void)max_allowed_diff; - assert(length > 0); - while (length-- > 0) { - if (*src != *dst) { - return 0; - } - src += src_step; - dst += dst_step; - } - return 1; -} - -// Helper to check if each channel in 'src' and 'dst' is at most off by -// 'max_allowed_diff'. -static WEBP_INLINE int PixelsAreSimilar(uint32_t src, uint32_t dst, - int max_allowed_diff) { - const int src_a = (src >> 24) & 0xff; - const int src_r = (src >> 16) & 0xff; - const int src_g = (src >> 8) & 0xff; - const int src_b = (src >> 0) & 0xff; - const int dst_a = (dst >> 24) & 0xff; - const int dst_r = (dst >> 16) & 0xff; - const int dst_g = (dst >> 8) & 0xff; - const int dst_b = (dst >> 0) & 0xff; - - return (src_a == dst_a) && - (abs(src_r - dst_r) * dst_a <= (max_allowed_diff * 255)) && - (abs(src_g - dst_g) * dst_a <= (max_allowed_diff * 255)) && - (abs(src_b - dst_b) * dst_a <= (max_allowed_diff * 255)); -} - -// Returns true if 'length' number of pixels in 'src' and 'dst' are within an -// error bound, assuming the given step sizes between pixels. -static WEBP_INLINE int ComparePixelsLossy(const uint32_t* src, int src_step, - const uint32_t* dst, int dst_step, - int length, int max_allowed_diff) { - assert(length > 0); - while (length-- > 0) { - if (!PixelsAreSimilar(*src, *dst, max_allowed_diff)) { - return 0; - } - src += src_step; - dst += dst_step; - } - return 1; -} - -static int IsEmptyRect(const FrameRectangle* const rect) { - return (rect->width_ == 0) || (rect->height_ == 0); -} - -static int QualityToMaxDiff(float quality) { - const double val = pow(quality / 100., 0.5); - const double max_diff = 31 * (1 - val) + 1 * val; - return (int)(max_diff + 0.5); -} - -// Assumes that an initial valid guess of change rectangle 'rect' is passed. -static void MinimizeChangeRectangle(const WebPPicture* const src, - const WebPPicture* const dst, - FrameRectangle* const rect, - int is_lossless, float quality) { - int i, j; - const ComparePixelsFunc compare_pixels = - is_lossless ? ComparePixelsLossless : ComparePixelsLossy; - const int max_allowed_diff_lossy = QualityToMaxDiff(quality); - const int max_allowed_diff = is_lossless ? 0 : max_allowed_diff_lossy; - - // Sanity checks. - assert(src->width == dst->width && src->height == dst->height); - assert(rect->x_offset_ + rect->width_ <= dst->width); - assert(rect->y_offset_ + rect->height_ <= dst->height); - - // Left boundary. - for (i = rect->x_offset_; i < rect->x_offset_ + rect->width_; ++i) { - const uint32_t* const src_argb = - &src->argb[rect->y_offset_ * src->argb_stride + i]; - const uint32_t* const dst_argb = - &dst->argb[rect->y_offset_ * dst->argb_stride + i]; - if (compare_pixels(src_argb, src->argb_stride, dst_argb, dst->argb_stride, - rect->height_, max_allowed_diff)) { - --rect->width_; // Redundant column. - ++rect->x_offset_; - } else { - break; - } - } - if (rect->width_ == 0) goto NoChange; - - // Right boundary. - for (i = rect->x_offset_ + rect->width_ - 1; i >= rect->x_offset_; --i) { - const uint32_t* const src_argb = - &src->argb[rect->y_offset_ * src->argb_stride + i]; - const uint32_t* const dst_argb = - &dst->argb[rect->y_offset_ * dst->argb_stride + i]; - if (compare_pixels(src_argb, src->argb_stride, dst_argb, dst->argb_stride, - rect->height_, max_allowed_diff)) { - --rect->width_; // Redundant column. - } else { - break; - } - } - if (rect->width_ == 0) goto NoChange; - - // Top boundary. - for (j = rect->y_offset_; j < rect->y_offset_ + rect->height_; ++j) { - const uint32_t* const src_argb = - &src->argb[j * src->argb_stride + rect->x_offset_]; - const uint32_t* const dst_argb = - &dst->argb[j * dst->argb_stride + rect->x_offset_]; - if (compare_pixels(src_argb, 1, dst_argb, 1, rect->width_, - max_allowed_diff)) { - --rect->height_; // Redundant row. - ++rect->y_offset_; - } else { - break; - } - } - if (rect->height_ == 0) goto NoChange; - - // Bottom boundary. - for (j = rect->y_offset_ + rect->height_ - 1; j >= rect->y_offset_; --j) { - const uint32_t* const src_argb = - &src->argb[j * src->argb_stride + rect->x_offset_]; - const uint32_t* const dst_argb = - &dst->argb[j * dst->argb_stride + rect->x_offset_]; - if (compare_pixels(src_argb, 1, dst_argb, 1, rect->width_, - max_allowed_diff)) { - --rect->height_; // Redundant row. - } else { - break; - } - } - if (rect->height_ == 0) goto NoChange; - - if (IsEmptyRect(rect)) { - NoChange: - rect->x_offset_ = 0; - rect->y_offset_ = 0; - rect->width_ = 0; - rect->height_ = 0; - } -} - -// Snap rectangle to even offsets (and adjust dimensions if needed). -static WEBP_INLINE void SnapToEvenOffsets(FrameRectangle* const rect) { - rect->width_ += (rect->x_offset_ & 1); - rect->height_ += (rect->y_offset_ & 1); - rect->x_offset_ &= ~1; - rect->y_offset_ &= ~1; -} - -typedef struct { - int should_try_; // Should try this set of parameters. - int empty_rect_allowed_; // Frame with empty rectangle can be skipped. - FrameRectangle rect_ll_; // Frame rectangle for lossless compression. - WebPPicture sub_frame_ll_; // Sub-frame pic for lossless compression. - FrameRectangle rect_lossy_; // Frame rectangle for lossy compression. - // Could be smaller than rect_ll_ as pixels - // with small diffs can be ignored. - WebPPicture sub_frame_lossy_; // Sub-frame pic for lossless compression. -} SubFrameParams; - -static int SubFrameParamsInit(SubFrameParams* const params, - int should_try, int empty_rect_allowed) { - params->should_try_ = should_try; - params->empty_rect_allowed_ = empty_rect_allowed; - if (!WebPPictureInit(¶ms->sub_frame_ll_) || - !WebPPictureInit(¶ms->sub_frame_lossy_)) { - return 0; - } - return 1; -} - -static void SubFrameParamsFree(SubFrameParams* const params) { - WebPPictureFree(¶ms->sub_frame_ll_); - WebPPictureFree(¶ms->sub_frame_lossy_); -} - -// Given previous and current canvas, picks the optimal rectangle for the -// current frame based on 'is_lossless' and other parameters. Assumes that the -// initial guess 'rect' is valid. -static int GetSubRect(const WebPPicture* const prev_canvas, - const WebPPicture* const curr_canvas, int is_key_frame, - int is_first_frame, int empty_rect_allowed, - int is_lossless, float quality, - FrameRectangle* const rect, - WebPPicture* const sub_frame) { - if (!is_key_frame || is_first_frame) { // Optimize frame rectangle. - // Note: This behaves as expected for first frame, as 'prev_canvas' is - // initialized to a fully transparent canvas in the beginning. - MinimizeChangeRectangle(prev_canvas, curr_canvas, rect, - is_lossless, quality); - } - - if (IsEmptyRect(rect)) { - if (empty_rect_allowed) { // No need to get 'sub_frame'. - return 1; - } else { // Force a 1x1 rectangle. - rect->width_ = 1; - rect->height_ = 1; - assert(rect->x_offset_ == 0); - assert(rect->y_offset_ == 0); - } - } - - SnapToEvenOffsets(rect); - return WebPPictureView(curr_canvas, rect->x_offset_, rect->y_offset_, - rect->width_, rect->height_, sub_frame); -} - -// Picks optimal frame rectangle for both lossless and lossy compression. The -// initial guess for frame rectangles will be the full canvas. -static int GetSubRects(const WebPPicture* const prev_canvas, - const WebPPicture* const curr_canvas, int is_key_frame, - int is_first_frame, float quality, - SubFrameParams* const params) { - // Lossless frame rectangle. - params->rect_ll_.x_offset_ = 0; - params->rect_ll_.y_offset_ = 0; - params->rect_ll_.width_ = curr_canvas->width; - params->rect_ll_.height_ = curr_canvas->height; - if (!GetSubRect(prev_canvas, curr_canvas, is_key_frame, is_first_frame, - params->empty_rect_allowed_, 1, quality, - ¶ms->rect_ll_, ¶ms->sub_frame_ll_)) { - return 0; - } - // Lossy frame rectangle. - params->rect_lossy_ = params->rect_ll_; // seed with lossless rect. - return GetSubRect(prev_canvas, curr_canvas, is_key_frame, is_first_frame, - params->empty_rect_allowed_, 0, quality, - ¶ms->rect_lossy_, ¶ms->sub_frame_lossy_); -} - -static WEBP_INLINE int clip(int v, int min_v, int max_v) { - return (v < min_v) ? min_v : (v > max_v) ? max_v : v; -} - -int WebPAnimEncoderRefineRect( - const WebPPicture* const prev_canvas, const WebPPicture* const curr_canvas, - int is_lossless, float quality, int* const x_offset, int* const y_offset, - int* const width, int* const height) { - FrameRectangle rect; - const int right = clip(*x_offset + *width, 0, curr_canvas->width); - const int left = clip(*x_offset, 0, curr_canvas->width - 1); - const int bottom = clip(*y_offset + *height, 0, curr_canvas->height); - const int top = clip(*y_offset, 0, curr_canvas->height - 1); - if (prev_canvas == NULL || curr_canvas == NULL || - prev_canvas->width != curr_canvas->width || - prev_canvas->height != curr_canvas->height || - !prev_canvas->use_argb || !curr_canvas->use_argb) { - return 0; - } - rect.x_offset_ = left; - rect.y_offset_ = top; - rect.width_ = clip(right - left, 0, curr_canvas->width - rect.x_offset_); - rect.height_ = clip(bottom - top, 0, curr_canvas->height - rect.y_offset_); - MinimizeChangeRectangle(prev_canvas, curr_canvas, &rect, is_lossless, - quality); - SnapToEvenOffsets(&rect); - *x_offset = rect.x_offset_; - *y_offset = rect.y_offset_; - *width = rect.width_; - *height = rect.height_; - return 1; -} - -static void DisposeFrameRectangle(int dispose_method, - const FrameRectangle* const rect, - WebPPicture* const curr_canvas) { - assert(rect != NULL); - if (dispose_method == WEBP_MUX_DISPOSE_BACKGROUND) { - WebPUtilClearPic(curr_canvas, rect); - } -} - -static uint32_t RectArea(const FrameRectangle* const rect) { - return (uint32_t)rect->width_ * rect->height_; -} - -static int IsLosslessBlendingPossible(const WebPPicture* const src, - const WebPPicture* const dst, - const FrameRectangle* const rect) { - int i, j; - assert(src->width == dst->width && src->height == dst->height); - assert(rect->x_offset_ + rect->width_ <= dst->width); - assert(rect->y_offset_ + rect->height_ <= dst->height); - for (j = rect->y_offset_; j < rect->y_offset_ + rect->height_; ++j) { - for (i = rect->x_offset_; i < rect->x_offset_ + rect->width_; ++i) { - const uint32_t src_pixel = src->argb[j * src->argb_stride + i]; - const uint32_t dst_pixel = dst->argb[j * dst->argb_stride + i]; - const uint32_t dst_alpha = dst_pixel >> 24; - if (dst_alpha != 0xff && src_pixel != dst_pixel) { - // In this case, if we use blending, we can't attain the desired - // 'dst_pixel' value for this pixel. So, blending is not possible. - return 0; - } - } - } - return 1; -} - -static int IsLossyBlendingPossible(const WebPPicture* const src, - const WebPPicture* const dst, - const FrameRectangle* const rect, - float quality) { - const int max_allowed_diff_lossy = QualityToMaxDiff(quality); - int i, j; - assert(src->width == dst->width && src->height == dst->height); - assert(rect->x_offset_ + rect->width_ <= dst->width); - assert(rect->y_offset_ + rect->height_ <= dst->height); - for (j = rect->y_offset_; j < rect->y_offset_ + rect->height_; ++j) { - for (i = rect->x_offset_; i < rect->x_offset_ + rect->width_; ++i) { - const uint32_t src_pixel = src->argb[j * src->argb_stride + i]; - const uint32_t dst_pixel = dst->argb[j * dst->argb_stride + i]; - const uint32_t dst_alpha = dst_pixel >> 24; - if (dst_alpha != 0xff && - !PixelsAreSimilar(src_pixel, dst_pixel, max_allowed_diff_lossy)) { - // In this case, if we use blending, we can't attain the desired - // 'dst_pixel' value for this pixel. So, blending is not possible. - return 0; - } - } - } - return 1; -} - -// For pixels in 'rect', replace those pixels in 'dst' that are same as 'src' by -// transparent pixels. -// Returns true if at least one pixel gets modified. -static int IncreaseTransparency(const WebPPicture* const src, - const FrameRectangle* const rect, - WebPPicture* const dst) { - int i, j; - int modified = 0; - assert(src != NULL && dst != NULL && rect != NULL); - assert(src->width == dst->width && src->height == dst->height); - for (j = rect->y_offset_; j < rect->y_offset_ + rect->height_; ++j) { - const uint32_t* const psrc = src->argb + j * src->argb_stride; - uint32_t* const pdst = dst->argb + j * dst->argb_stride; - for (i = rect->x_offset_; i < rect->x_offset_ + rect->width_; ++i) { - if (psrc[i] == pdst[i] && pdst[i] != TRANSPARENT_COLOR) { - pdst[i] = TRANSPARENT_COLOR; - modified = 1; - } - } - } - return modified; -} - -#undef TRANSPARENT_COLOR - -// Replace similar blocks of pixels by a 'see-through' transparent block -// with uniform average color. -// Assumes lossy compression is being used. -// Returns true if at least one pixel gets modified. -static int FlattenSimilarBlocks(const WebPPicture* const src, - const FrameRectangle* const rect, - WebPPicture* const dst, float quality) { - const int max_allowed_diff_lossy = QualityToMaxDiff(quality); - int i, j; - int modified = 0; - const int block_size = 8; - const int y_start = (rect->y_offset_ + block_size) & ~(block_size - 1); - const int y_end = (rect->y_offset_ + rect->height_) & ~(block_size - 1); - const int x_start = (rect->x_offset_ + block_size) & ~(block_size - 1); - const int x_end = (rect->x_offset_ + rect->width_) & ~(block_size - 1); - assert(src != NULL && dst != NULL && rect != NULL); - assert(src->width == dst->width && src->height == dst->height); - assert((block_size & (block_size - 1)) == 0); // must be a power of 2 - // Iterate over each block and count similar pixels. - for (j = y_start; j < y_end; j += block_size) { - for (i = x_start; i < x_end; i += block_size) { - int cnt = 0; - int avg_r = 0, avg_g = 0, avg_b = 0; - int x, y; - const uint32_t* const psrc = src->argb + j * src->argb_stride + i; - uint32_t* const pdst = dst->argb + j * dst->argb_stride + i; - for (y = 0; y < block_size; ++y) { - for (x = 0; x < block_size; ++x) { - const uint32_t src_pixel = psrc[x + y * src->argb_stride]; - const int alpha = src_pixel >> 24; - if (alpha == 0xff && - PixelsAreSimilar(src_pixel, pdst[x + y * dst->argb_stride], - max_allowed_diff_lossy)) { - ++cnt; - avg_r += (src_pixel >> 16) & 0xff; - avg_g += (src_pixel >> 8) & 0xff; - avg_b += (src_pixel >> 0) & 0xff; - } - } - } - // If we have a fully similar block, we replace it with an - // average transparent block. This compresses better in lossy mode. - if (cnt == block_size * block_size) { - const uint32_t color = (0x00 << 24) | - ((avg_r / cnt) << 16) | - ((avg_g / cnt) << 8) | - ((avg_b / cnt) << 0); - for (y = 0; y < block_size; ++y) { - for (x = 0; x < block_size; ++x) { - pdst[x + y * dst->argb_stride] = color; - } - } - modified = 1; - } - } - } - return modified; -} - -static int EncodeFrame(const WebPConfig* const config, WebPPicture* const pic, - WebPMemoryWriter* const memory) { - pic->use_argb = 1; - pic->writer = WebPMemoryWrite; - pic->custom_ptr = memory; - if (!WebPEncode(config, pic)) { - return 0; - } - return 1; -} - -// Struct representing a candidate encoded frame including its metadata. -typedef struct { - WebPMemoryWriter mem_; - WebPMuxFrameInfo info_; - FrameRectangle rect_; - int evaluate_; // True if this candidate should be evaluated. -} Candidate; - -// Generates a candidate encoded frame given a picture and metadata. -static WebPEncodingError EncodeCandidate(WebPPicture* const sub_frame, - const FrameRectangle* const rect, - const WebPConfig* const encoder_config, - int use_blending, - Candidate* const candidate) { - WebPConfig config = *encoder_config; - WebPEncodingError error_code = VP8_ENC_OK; - assert(candidate != NULL); - memset(candidate, 0, sizeof(*candidate)); - - // Set frame rect and info. - candidate->rect_ = *rect; - candidate->info_.id = WEBP_CHUNK_ANMF; - candidate->info_.x_offset = rect->x_offset_; - candidate->info_.y_offset = rect->y_offset_; - candidate->info_.dispose_method = WEBP_MUX_DISPOSE_NONE; // Set later. - candidate->info_.blend_method = - use_blending ? WEBP_MUX_BLEND : WEBP_MUX_NO_BLEND; - candidate->info_.duration = 0; // Set in next call to WebPAnimEncoderAdd(). - - // Encode picture. - WebPMemoryWriterInit(&candidate->mem_); - - if (!config.lossless && use_blending) { - // Disable filtering to avoid blockiness in reconstructed frames at the - // time of decoding. - config.autofilter = 0; - config.filter_strength = 0; - } - if (!EncodeFrame(&config, sub_frame, &candidate->mem_)) { - error_code = sub_frame->error_code; - goto Err; - } - - candidate->evaluate_ = 1; - return error_code; - - Err: - WebPMemoryWriterClear(&candidate->mem_); - return error_code; -} - -static void CopyCurrentCanvas(WebPAnimEncoder* const enc) { - if (enc->curr_canvas_copy_modified_) { - WebPCopyPixels(enc->curr_canvas_, &enc->curr_canvas_copy_); - enc->curr_canvas_copy_.progress_hook = enc->curr_canvas_->progress_hook; - enc->curr_canvas_copy_.user_data = enc->curr_canvas_->user_data; - enc->curr_canvas_copy_modified_ = 0; - } -} - -enum { - LL_DISP_NONE = 0, - LL_DISP_BG, - LOSSY_DISP_NONE, - LOSSY_DISP_BG, - CANDIDATE_COUNT -}; - -#define MIN_COLORS_LOSSY 31 // Don't try lossy below this threshold. -#define MAX_COLORS_LOSSLESS 194 // Don't try lossless above this threshold. - -// Generates candidates for a given dispose method given pre-filled sub-frame -// 'params'. -static WebPEncodingError GenerateCandidates( - WebPAnimEncoder* const enc, Candidate candidates[CANDIDATE_COUNT], - WebPMuxAnimDispose dispose_method, int is_lossless, int is_key_frame, - SubFrameParams* const params, - const WebPConfig* const config_ll, const WebPConfig* const config_lossy) { - WebPEncodingError error_code = VP8_ENC_OK; - const int is_dispose_none = (dispose_method == WEBP_MUX_DISPOSE_NONE); - Candidate* const candidate_ll = - is_dispose_none ? &candidates[LL_DISP_NONE] : &candidates[LL_DISP_BG]; - Candidate* const candidate_lossy = is_dispose_none - ? &candidates[LOSSY_DISP_NONE] - : &candidates[LOSSY_DISP_BG]; - WebPPicture* const curr_canvas = &enc->curr_canvas_copy_; - const WebPPicture* const prev_canvas = - is_dispose_none ? &enc->prev_canvas_ : &enc->prev_canvas_disposed_; - int use_blending_ll, use_blending_lossy; - int evaluate_ll, evaluate_lossy; - - CopyCurrentCanvas(enc); - use_blending_ll = - !is_key_frame && - IsLosslessBlendingPossible(prev_canvas, curr_canvas, ¶ms->rect_ll_); - use_blending_lossy = - !is_key_frame && - IsLossyBlendingPossible(prev_canvas, curr_canvas, ¶ms->rect_lossy_, - config_lossy->quality); - - // Pick candidates to be tried. - if (!enc->options_.allow_mixed) { - evaluate_ll = is_lossless; - evaluate_lossy = !is_lossless; - } else if (enc->options_.minimize_size) { - evaluate_ll = 1; - evaluate_lossy = 1; - } else { // Use a heuristic for trying lossless and/or lossy compression. - const int num_colors = WebPGetColorPalette(¶ms->sub_frame_ll_, NULL); - evaluate_ll = (num_colors < MAX_COLORS_LOSSLESS); - evaluate_lossy = (num_colors >= MIN_COLORS_LOSSY); - } - - // Generate candidates. - if (evaluate_ll) { - CopyCurrentCanvas(enc); - if (use_blending_ll) { - enc->curr_canvas_copy_modified_ = - IncreaseTransparency(prev_canvas, ¶ms->rect_ll_, curr_canvas); - } - error_code = EncodeCandidate(¶ms->sub_frame_ll_, ¶ms->rect_ll_, - config_ll, use_blending_ll, candidate_ll); - if (error_code != VP8_ENC_OK) return error_code; - } - if (evaluate_lossy) { - CopyCurrentCanvas(enc); - if (use_blending_lossy) { - enc->curr_canvas_copy_modified_ = - FlattenSimilarBlocks(prev_canvas, ¶ms->rect_lossy_, curr_canvas, - config_lossy->quality); - } - error_code = - EncodeCandidate(¶ms->sub_frame_lossy_, ¶ms->rect_lossy_, - config_lossy, use_blending_lossy, candidate_lossy); - if (error_code != VP8_ENC_OK) return error_code; - enc->curr_canvas_copy_modified_ = 1; - } - return error_code; -} - -#undef MIN_COLORS_LOSSY -#undef MAX_COLORS_LOSSLESS - -static void GetEncodedData(const WebPMemoryWriter* const memory, - WebPData* const encoded_data) { - encoded_data->bytes = memory->mem; - encoded_data->size = memory->size; -} - -// Sets dispose method of the previous frame to be 'dispose_method'. -static void SetPreviousDisposeMethod(WebPAnimEncoder* const enc, - WebPMuxAnimDispose dispose_method) { - const size_t position = enc->count_ - 2; - EncodedFrame* const prev_enc_frame = GetFrame(enc, position); - assert(enc->count_ >= 2); // As current and previous frames are in enc. - - if (enc->prev_candidate_undecided_) { - assert(dispose_method == WEBP_MUX_DISPOSE_NONE); - prev_enc_frame->sub_frame_.dispose_method = dispose_method; - prev_enc_frame->key_frame_.dispose_method = dispose_method; - } else { - WebPMuxFrameInfo* const prev_info = prev_enc_frame->is_key_frame_ - ? &prev_enc_frame->key_frame_ - : &prev_enc_frame->sub_frame_; - prev_info->dispose_method = dispose_method; - } -} - -static int IncreasePreviousDuration(WebPAnimEncoder* const enc, int duration) { - const size_t position = enc->count_ - 1; - EncodedFrame* const prev_enc_frame = GetFrame(enc, position); - int new_duration; - - assert(enc->count_ >= 1); - assert(prev_enc_frame->sub_frame_.duration == - prev_enc_frame->key_frame_.duration); - assert(prev_enc_frame->sub_frame_.duration == - (prev_enc_frame->sub_frame_.duration & (MAX_DURATION - 1))); - assert(duration == (duration & (MAX_DURATION - 1))); - - new_duration = prev_enc_frame->sub_frame_.duration + duration; - if (new_duration >= MAX_DURATION) { // Special case. - // Separate out previous frame from earlier merged frames to avoid overflow. - // We add a 1x1 transparent frame for the previous frame, with blending on. - const FrameRectangle rect = { 0, 0, 1, 1 }; - const uint8_t lossless_1x1_bytes[] = { - 0x52, 0x49, 0x46, 0x46, 0x14, 0x00, 0x00, 0x00, 0x57, 0x45, 0x42, 0x50, - 0x56, 0x50, 0x38, 0x4c, 0x08, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, - 0x10, 0x88, 0x88, 0x08 - }; - const WebPData lossless_1x1 = { - lossless_1x1_bytes, sizeof(lossless_1x1_bytes) - }; - const uint8_t lossy_1x1_bytes[] = { - 0x52, 0x49, 0x46, 0x46, 0x40, 0x00, 0x00, 0x00, 0x57, 0x45, 0x42, 0x50, - 0x56, 0x50, 0x38, 0x58, 0x0a, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x4c, 0x50, 0x48, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x56, 0x50, 0x38, 0x20, 0x18, 0x00, 0x00, 0x00, - 0x30, 0x01, 0x00, 0x9d, 0x01, 0x2a, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, - 0x34, 0x25, 0xa4, 0x00, 0x03, 0x70, 0x00, 0xfe, 0xfb, 0xfd, 0x50, 0x00 - }; - const WebPData lossy_1x1 = { lossy_1x1_bytes, sizeof(lossy_1x1_bytes) }; - const int can_use_lossless = - (enc->last_config_.lossless || enc->options_.allow_mixed); - EncodedFrame* const curr_enc_frame = GetFrame(enc, enc->count_); - curr_enc_frame->is_key_frame_ = 0; - curr_enc_frame->sub_frame_.id = WEBP_CHUNK_ANMF; - curr_enc_frame->sub_frame_.x_offset = 0; - curr_enc_frame->sub_frame_.y_offset = 0; - curr_enc_frame->sub_frame_.dispose_method = WEBP_MUX_DISPOSE_NONE; - curr_enc_frame->sub_frame_.blend_method = WEBP_MUX_BLEND; - curr_enc_frame->sub_frame_.duration = duration; - if (!WebPDataCopy(can_use_lossless ? &lossless_1x1 : &lossy_1x1, - &curr_enc_frame->sub_frame_.bitstream)) { - return 0; - } - ++enc->count_; - ++enc->count_since_key_frame_; - enc->flush_count_ = enc->count_ - 1; - enc->prev_candidate_undecided_ = 0; - enc->prev_rect_ = rect; - } else { // Regular case. - // Increase duration of the previous frame by 'duration'. - prev_enc_frame->sub_frame_.duration = new_duration; - prev_enc_frame->key_frame_.duration = new_duration; - } - return 1; -} - -// Pick the candidate encoded frame with smallest size and release other -// candidates. -// TODO(later): Perhaps a rough SSIM/PSNR produced by the encoder should -// also be a criteria, in addition to sizes. -static void PickBestCandidate(WebPAnimEncoder* const enc, - Candidate* const candidates, int is_key_frame, - EncodedFrame* const encoded_frame) { - int i; - int best_idx = -1; - size_t best_size = ~0; - for (i = 0; i < CANDIDATE_COUNT; ++i) { - if (candidates[i].evaluate_) { - const size_t candidate_size = candidates[i].mem_.size; - if (candidate_size < best_size) { - best_idx = i; - best_size = candidate_size; - } - } - } - assert(best_idx != -1); - for (i = 0; i < CANDIDATE_COUNT; ++i) { - if (candidates[i].evaluate_) { - if (i == best_idx) { - WebPMuxFrameInfo* const dst = is_key_frame - ? &encoded_frame->key_frame_ - : &encoded_frame->sub_frame_; - *dst = candidates[i].info_; - GetEncodedData(&candidates[i].mem_, &dst->bitstream); - if (!is_key_frame) { - // Note: Previous dispose method only matters for non-keyframes. - // Also, we don't want to modify previous dispose method that was - // selected when a non key-frame was assumed. - const WebPMuxAnimDispose prev_dispose_method = - (best_idx == LL_DISP_NONE || best_idx == LOSSY_DISP_NONE) - ? WEBP_MUX_DISPOSE_NONE - : WEBP_MUX_DISPOSE_BACKGROUND; - SetPreviousDisposeMethod(enc, prev_dispose_method); - } - enc->prev_rect_ = candidates[i].rect_; // save for next frame. - } else { - WebPMemoryWriterClear(&candidates[i].mem_); - candidates[i].evaluate_ = 0; - } - } - } -} - -// Depending on the configuration, tries different compressions -// (lossy/lossless), dispose methods, blending methods etc to encode the current -// frame and outputs the best one in 'encoded_frame'. -// 'frame_skipped' will be set to true if this frame should actually be skipped. -static WebPEncodingError SetFrame(WebPAnimEncoder* const enc, - const WebPConfig* const config, - int is_key_frame, - EncodedFrame* const encoded_frame, - int* const frame_skipped) { - int i; - WebPEncodingError error_code = VP8_ENC_OK; - const WebPPicture* const curr_canvas = &enc->curr_canvas_copy_; - const WebPPicture* const prev_canvas = &enc->prev_canvas_; - Candidate candidates[CANDIDATE_COUNT]; - const int is_lossless = config->lossless; - const int consider_lossless = is_lossless || enc->options_.allow_mixed; - const int consider_lossy = !is_lossless || enc->options_.allow_mixed; - const int is_first_frame = enc->is_first_frame_; - - // First frame cannot be skipped as there is no 'previous frame' to merge it - // to. So, empty rectangle is not allowed for the first frame. - const int empty_rect_allowed_none = !is_first_frame; - - // Even if there is exact pixel match between 'disposed previous canvas' and - // 'current canvas', we can't skip current frame, as there may not be exact - // pixel match between 'previous canvas' and 'current canvas'. So, we don't - // allow empty rectangle in this case. - const int empty_rect_allowed_bg = 0; - - // If current frame is a key-frame, dispose method of previous frame doesn't - // matter, so we don't try dispose to background. - // Also, if key-frame insertion is on, and previous frame could be picked as - // either a sub-frame or a key-frame, then we can't be sure about what frame - // rectangle would be disposed. In that case too, we don't try dispose to - // background. - const int dispose_bg_possible = - !is_key_frame && !enc->prev_candidate_undecided_; - - SubFrameParams dispose_none_params; - SubFrameParams dispose_bg_params; - - WebPConfig config_ll = *config; - WebPConfig config_lossy = *config; - config_ll.lossless = 1; - config_lossy.lossless = 0; - enc->last_config_ = *config; - enc->last_config_reversed_ = config->lossless ? config_lossy : config_ll; - *frame_skipped = 0; - - if (!SubFrameParamsInit(&dispose_none_params, 1, empty_rect_allowed_none) || - !SubFrameParamsInit(&dispose_bg_params, 0, empty_rect_allowed_bg)) { - return VP8_ENC_ERROR_INVALID_CONFIGURATION; - } - - memset(candidates, 0, sizeof(candidates)); - - // Change-rectangle assuming previous frame was DISPOSE_NONE. - if (!GetSubRects(prev_canvas, curr_canvas, is_key_frame, is_first_frame, - config_lossy.quality, &dispose_none_params)) { - error_code = VP8_ENC_ERROR_INVALID_CONFIGURATION; - goto Err; - } - - if ((consider_lossless && IsEmptyRect(&dispose_none_params.rect_ll_)) || - (consider_lossy && IsEmptyRect(&dispose_none_params.rect_lossy_))) { - // Don't encode the frame at all. Instead, the duration of the previous - // frame will be increased later. - assert(empty_rect_allowed_none); - *frame_skipped = 1; - goto End; - } - - if (dispose_bg_possible) { - // Change-rectangle assuming previous frame was DISPOSE_BACKGROUND. - WebPPicture* const prev_canvas_disposed = &enc->prev_canvas_disposed_; - WebPCopyPixels(prev_canvas, prev_canvas_disposed); - DisposeFrameRectangle(WEBP_MUX_DISPOSE_BACKGROUND, &enc->prev_rect_, - prev_canvas_disposed); - - if (!GetSubRects(prev_canvas_disposed, curr_canvas, is_key_frame, - is_first_frame, config_lossy.quality, - &dispose_bg_params)) { - error_code = VP8_ENC_ERROR_INVALID_CONFIGURATION; - goto Err; - } - assert(!IsEmptyRect(&dispose_bg_params.rect_ll_)); - assert(!IsEmptyRect(&dispose_bg_params.rect_lossy_)); - - if (enc->options_.minimize_size) { // Try both dispose methods. - dispose_bg_params.should_try_ = 1; - dispose_none_params.should_try_ = 1; - } else if ((is_lossless && - RectArea(&dispose_bg_params.rect_ll_) < - RectArea(&dispose_none_params.rect_ll_)) || - (!is_lossless && - RectArea(&dispose_bg_params.rect_lossy_) < - RectArea(&dispose_none_params.rect_lossy_))) { - dispose_bg_params.should_try_ = 1; // Pick DISPOSE_BACKGROUND. - dispose_none_params.should_try_ = 0; - } - } - - if (dispose_none_params.should_try_) { - error_code = GenerateCandidates( - enc, candidates, WEBP_MUX_DISPOSE_NONE, is_lossless, is_key_frame, - &dispose_none_params, &config_ll, &config_lossy); - if (error_code != VP8_ENC_OK) goto Err; - } - - if (dispose_bg_params.should_try_) { - assert(!enc->is_first_frame_); - assert(dispose_bg_possible); - error_code = GenerateCandidates( - enc, candidates, WEBP_MUX_DISPOSE_BACKGROUND, is_lossless, is_key_frame, - &dispose_bg_params, &config_ll, &config_lossy); - if (error_code != VP8_ENC_OK) goto Err; - } - - PickBestCandidate(enc, candidates, is_key_frame, encoded_frame); - - goto End; - - Err: - for (i = 0; i < CANDIDATE_COUNT; ++i) { - if (candidates[i].evaluate_) { - WebPMemoryWriterClear(&candidates[i].mem_); - } - } - - End: - SubFrameParamsFree(&dispose_none_params); - SubFrameParamsFree(&dispose_bg_params); - return error_code; -} - -// Calculate the penalty incurred if we encode given frame as a key frame -// instead of a sub-frame. -static int64_t KeyFramePenalty(const EncodedFrame* const encoded_frame) { - return ((int64_t)encoded_frame->key_frame_.bitstream.size - - encoded_frame->sub_frame_.bitstream.size); -} - -static int CacheFrame(WebPAnimEncoder* const enc, - const WebPConfig* const config) { - int ok = 0; - int frame_skipped = 0; - WebPEncodingError error_code = VP8_ENC_OK; - const size_t position = enc->count_; - EncodedFrame* const encoded_frame = GetFrame(enc, position); - - ++enc->count_; - - if (enc->is_first_frame_) { // Add this as a key-frame. - error_code = SetFrame(enc, config, 1, encoded_frame, &frame_skipped); - if (error_code != VP8_ENC_OK) goto End; - assert(frame_skipped == 0); // First frame can't be skipped, even if empty. - assert(position == 0 && enc->count_ == 1); - encoded_frame->is_key_frame_ = 1; - enc->flush_count_ = 0; - enc->count_since_key_frame_ = 0; - enc->prev_candidate_undecided_ = 0; - } else { - ++enc->count_since_key_frame_; - if (enc->count_since_key_frame_ <= enc->options_.kmin) { - // Add this as a frame rectangle. - error_code = SetFrame(enc, config, 0, encoded_frame, &frame_skipped); - if (error_code != VP8_ENC_OK) goto End; - if (frame_skipped) goto Skip; - encoded_frame->is_key_frame_ = 0; - enc->flush_count_ = enc->count_ - 1; - enc->prev_candidate_undecided_ = 0; - } else { - int64_t curr_delta; - FrameRectangle prev_rect_key, prev_rect_sub; - - // Add this as a frame rectangle to enc. - error_code = SetFrame(enc, config, 0, encoded_frame, &frame_skipped); - if (error_code != VP8_ENC_OK) goto End; - if (frame_skipped) goto Skip; - prev_rect_sub = enc->prev_rect_; - - - // Add this as a key-frame to enc, too. - error_code = SetFrame(enc, config, 1, encoded_frame, &frame_skipped); - if (error_code != VP8_ENC_OK) goto End; - assert(frame_skipped == 0); // Key-frame cannot be an empty rectangle. - prev_rect_key = enc->prev_rect_; - - // Analyze size difference of the two variants. - curr_delta = KeyFramePenalty(encoded_frame); - if (curr_delta <= enc->best_delta_) { // Pick this as the key-frame. - if (enc->keyframe_ != KEYFRAME_NONE) { - EncodedFrame* const old_keyframe = GetFrame(enc, enc->keyframe_); - assert(old_keyframe->is_key_frame_); - old_keyframe->is_key_frame_ = 0; - } - encoded_frame->is_key_frame_ = 1; - enc->prev_candidate_undecided_ = 1; - enc->keyframe_ = (int)position; - enc->best_delta_ = curr_delta; - enc->flush_count_ = enc->count_ - 1; // We can flush previous frames. - } else { - encoded_frame->is_key_frame_ = 0; - enc->prev_candidate_undecided_ = 0; - } - // Note: We need '>=' below because when kmin and kmax are both zero, - // count_since_key_frame will always be > kmax. - if (enc->count_since_key_frame_ >= enc->options_.kmax) { - enc->flush_count_ = enc->count_ - 1; - enc->count_since_key_frame_ = 0; - enc->keyframe_ = KEYFRAME_NONE; - enc->best_delta_ = DELTA_INFINITY; - } - if (!enc->prev_candidate_undecided_) { - enc->prev_rect_ = - encoded_frame->is_key_frame_ ? prev_rect_key : prev_rect_sub; - } - } - } - - // Update previous to previous and previous canvases for next call. - WebPCopyPixels(enc->curr_canvas_, &enc->prev_canvas_); - enc->is_first_frame_ = 0; - - Skip: - ok = 1; - ++enc->in_frame_count_; - - End: - if (!ok || frame_skipped) { - FrameRelease(encoded_frame); - // We reset some counters, as the frame addition failed/was skipped. - --enc->count_; - if (!enc->is_first_frame_) --enc->count_since_key_frame_; - if (!ok) { - MarkError2(enc, "ERROR adding frame. WebPEncodingError", error_code); - } - } - enc->curr_canvas_->error_code = error_code; // report error_code - assert(ok || error_code != VP8_ENC_OK); - return ok; -} - -static int FlushFrames(WebPAnimEncoder* const enc) { - while (enc->flush_count_ > 0) { - WebPMuxError err; - EncodedFrame* const curr = GetFrame(enc, 0); - const WebPMuxFrameInfo* const info = - curr->is_key_frame_ ? &curr->key_frame_ : &curr->sub_frame_; - assert(enc->mux_ != NULL); - err = WebPMuxPushFrame(enc->mux_, info, 1); - if (err != WEBP_MUX_OK) { - MarkError2(enc, "ERROR adding frame. WebPMuxError", err); - return 0; - } - if (enc->options_.verbose) { - fprintf(stderr, "INFO: Added frame. offset:%d,%d dispose:%d blend:%d\n", - info->x_offset, info->y_offset, info->dispose_method, - info->blend_method); - } - ++enc->out_frame_count_; - FrameRelease(curr); - ++enc->start_; - --enc->flush_count_; - --enc->count_; - if (enc->keyframe_ != KEYFRAME_NONE) --enc->keyframe_; - } - - if (enc->count_ == 1 && enc->start_ != 0) { - // Move enc->start to index 0. - const int enc_start_tmp = (int)enc->start_; - EncodedFrame temp = enc->encoded_frames_[0]; - enc->encoded_frames_[0] = enc->encoded_frames_[enc_start_tmp]; - enc->encoded_frames_[enc_start_tmp] = temp; - FrameRelease(&enc->encoded_frames_[enc_start_tmp]); - enc->start_ = 0; - } - return 1; -} - -#undef DELTA_INFINITY -#undef KEYFRAME_NONE - -int WebPAnimEncoderAdd(WebPAnimEncoder* enc, WebPPicture* frame, int timestamp, - const WebPConfig* encoder_config) { - WebPConfig config; - int ok; - - if (enc == NULL) { - return 0; - } - MarkNoError(enc); - - if (!enc->is_first_frame_) { - // Make sure timestamps are non-decreasing (integer wrap-around is OK). - const uint32_t prev_frame_duration = - (uint32_t)timestamp - enc->prev_timestamp_; - if (prev_frame_duration >= MAX_DURATION) { - if (frame != NULL) { - frame->error_code = VP8_ENC_ERROR_INVALID_CONFIGURATION; - } - MarkError(enc, "ERROR adding frame: timestamps must be non-decreasing"); - return 0; - } - if (!IncreasePreviousDuration(enc, (int)prev_frame_duration)) { - return 0; - } - } else { - enc->first_timestamp_ = timestamp; - } - - if (frame == NULL) { // Special: last call. - enc->got_null_frame_ = 1; - enc->prev_timestamp_ = timestamp; - return 1; - } - - if (frame->width != enc->canvas_width_ || - frame->height != enc->canvas_height_) { - frame->error_code = VP8_ENC_ERROR_INVALID_CONFIGURATION; - MarkError(enc, "ERROR adding frame: Invalid frame dimensions"); - return 0; - } - - if (!frame->use_argb) { // Convert frame from YUV(A) to ARGB. - if (enc->options_.verbose) { - fprintf(stderr, "WARNING: Converting frame from YUV(A) to ARGB format; " - "this incurs a small loss.\n"); - } - if (!WebPPictureYUVAToARGB(frame)) { - MarkError(enc, "ERROR converting frame from YUV(A) to ARGB"); - return 0; - } - } - - if (encoder_config != NULL) { - if (!WebPValidateConfig(encoder_config)) { - MarkError(enc, "ERROR adding frame: Invalid WebPConfig"); - return 0; - } - config = *encoder_config; - } else { - WebPConfigInit(&config); - config.lossless = 1; - } - assert(enc->curr_canvas_ == NULL); - enc->curr_canvas_ = frame; // Store reference. - assert(enc->curr_canvas_copy_modified_ == 1); - CopyCurrentCanvas(enc); - - ok = CacheFrame(enc, &config) && FlushFrames(enc); - - enc->curr_canvas_ = NULL; - enc->curr_canvas_copy_modified_ = 1; - if (ok) { - enc->prev_timestamp_ = timestamp; - } - return ok; -} - -// ----------------------------------------------------------------------------- -// Bitstream assembly. - -static int DecodeFrameOntoCanvas(const WebPMuxFrameInfo* const frame, - WebPPicture* const canvas) { - const WebPData* const image = &frame->bitstream; - WebPPicture sub_image; - WebPDecoderConfig config; - WebPInitDecoderConfig(&config); - WebPUtilClearPic(canvas, NULL); - if (WebPGetFeatures(image->bytes, image->size, &config.input) != - VP8_STATUS_OK) { - return 0; - } - if (!WebPPictureView(canvas, frame->x_offset, frame->y_offset, - config.input.width, config.input.height, &sub_image)) { - return 0; - } - config.output.is_external_memory = 1; - config.output.colorspace = MODE_BGRA; - config.output.u.RGBA.rgba = (uint8_t*)sub_image.argb; - config.output.u.RGBA.stride = sub_image.argb_stride * 4; - config.output.u.RGBA.size = config.output.u.RGBA.stride * sub_image.height; - - if (WebPDecode(image->bytes, image->size, &config) != VP8_STATUS_OK) { - return 0; - } - return 1; -} - -static int FrameToFullCanvas(WebPAnimEncoder* const enc, - const WebPMuxFrameInfo* const frame, - WebPData* const full_image) { - WebPPicture* const canvas_buf = &enc->curr_canvas_copy_; - WebPMemoryWriter mem1, mem2; - WebPMemoryWriterInit(&mem1); - WebPMemoryWriterInit(&mem2); - - if (!DecodeFrameOntoCanvas(frame, canvas_buf)) goto Err; - if (!EncodeFrame(&enc->last_config_, canvas_buf, &mem1)) goto Err; - GetEncodedData(&mem1, full_image); - - if (enc->options_.allow_mixed) { - if (!EncodeFrame(&enc->last_config_reversed_, canvas_buf, &mem2)) goto Err; - if (mem2.size < mem1.size) { - GetEncodedData(&mem2, full_image); - WebPMemoryWriterClear(&mem1); - } else { - WebPMemoryWriterClear(&mem2); - } - } - return 1; - - Err: - WebPMemoryWriterClear(&mem1); - WebPMemoryWriterClear(&mem2); - return 0; -} - -// Convert a single-frame animation to a non-animated image if appropriate. -// TODO(urvang): Can we pick one of the two heuristically (based on frame -// rectangle and/or presence of alpha)? -static WebPMuxError OptimizeSingleFrame(WebPAnimEncoder* const enc, - WebPData* const webp_data) { - WebPMuxError err = WEBP_MUX_OK; - int canvas_width, canvas_height; - WebPMuxFrameInfo frame; - WebPData full_image; - WebPData webp_data2; - WebPMux* const mux = WebPMuxCreate(webp_data, 0); - if (mux == NULL) return WEBP_MUX_BAD_DATA; - assert(enc->out_frame_count_ == 1); - WebPDataInit(&frame.bitstream); - WebPDataInit(&full_image); - WebPDataInit(&webp_data2); - - err = WebPMuxGetFrame(mux, 1, &frame); - if (err != WEBP_MUX_OK) goto End; - if (frame.id != WEBP_CHUNK_ANMF) goto End; // Non-animation: nothing to do. - err = WebPMuxGetCanvasSize(mux, &canvas_width, &canvas_height); - if (err != WEBP_MUX_OK) goto End; - if (!FrameToFullCanvas(enc, &frame, &full_image)) { - err = WEBP_MUX_BAD_DATA; - goto End; - } - err = WebPMuxSetImage(mux, &full_image, 1); - if (err != WEBP_MUX_OK) goto End; - err = WebPMuxAssemble(mux, &webp_data2); - if (err != WEBP_MUX_OK) goto End; - - if (webp_data2.size < webp_data->size) { // Pick 'webp_data2' if smaller. - WebPDataClear(webp_data); - *webp_data = webp_data2; - WebPDataInit(&webp_data2); - } - - End: - WebPDataClear(&frame.bitstream); - WebPDataClear(&full_image); - WebPMuxDelete(mux); - WebPDataClear(&webp_data2); - return err; -} - -int WebPAnimEncoderAssemble(WebPAnimEncoder* enc, WebPData* webp_data) { - WebPMux* mux; - WebPMuxError err; - - if (enc == NULL) { - return 0; - } - MarkNoError(enc); - - if (webp_data == NULL) { - MarkError(enc, "ERROR assembling: NULL input"); - return 0; - } - - if (enc->in_frame_count_ == 0) { - MarkError(enc, "ERROR: No frames to assemble"); - return 0; - } - - if (!enc->got_null_frame_ && enc->in_frame_count_ > 1 && enc->count_ > 0) { - // set duration of the last frame to be avg of durations of previous frames. - const double delta_time = - (uint32_t)enc->prev_timestamp_ - enc->first_timestamp_; - const int average_duration = (int)(delta_time / (enc->in_frame_count_ - 1)); - if (!IncreasePreviousDuration(enc, average_duration)) { - return 0; - } - } - - // Flush any remaining frames. - enc->flush_count_ = enc->count_; - if (!FlushFrames(enc)) { - return 0; - } - - // Set definitive canvas size. - mux = enc->mux_; - err = WebPMuxSetCanvasSize(mux, enc->canvas_width_, enc->canvas_height_); - if (err != WEBP_MUX_OK) goto Err; - - err = WebPMuxSetAnimationParams(mux, &enc->options_.anim_params); - if (err != WEBP_MUX_OK) goto Err; - - // Assemble into a WebP bitstream. - err = WebPMuxAssemble(mux, webp_data); - if (err != WEBP_MUX_OK) goto Err; - - if (enc->out_frame_count_ == 1) { - err = OptimizeSingleFrame(enc, webp_data); - if (err != WEBP_MUX_OK) goto Err; - } - return 1; - - Err: - MarkError2(enc, "ERROR assembling WebP", err); - return 0; -} - -const char* WebPAnimEncoderGetError(WebPAnimEncoder* enc) { - if (enc == NULL) return NULL; - return enc->error_str_; -} - -// ----------------------------------------------------------------------------- diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/animi.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/animi.h deleted file mode 100644 index 34c45ba4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/animi.h +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Internal header for animation related functions. -// -// Author: Hui Su (huisu@google.com) - -#ifndef WEBP_MUX_ANIMI_H_ -#define WEBP_MUX_ANIMI_H_ - -#include "src/webp/mux.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Picks the optimal rectangle between two pictures, starting with initial -// values of offsets and dimensions that are passed in. The initial -// values will be clipped, if necessary, to make sure the rectangle is -// within the canvas. "use_argb" must be true for both pictures. -// Parameters: -// prev_canvas, curr_canvas - (in) two input pictures to compare. -// is_lossless, quality - (in) encoding settings. -// x_offset, y_offset, width, height - (in/out) rectangle between the two -// input pictures. -// Returns true on success. -int WebPAnimEncoderRefineRect( - const struct WebPPicture* const prev_canvas, - const struct WebPPicture* const curr_canvas, - int is_lossless, float quality, int* const x_offset, int* const y_offset, - int* const width, int* const height); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_MUX_ANIMI_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/libwebpmux.pc.in b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/libwebpmux.pc.in deleted file mode 100644 index a96fac78..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/libwebpmux.pc.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: libwebpmux -Description: Library for manipulating the WebP graphics format container -Version: @PACKAGE_VERSION@ -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpmux -Libs.private: -lm diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/libwebpmux.rc b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/libwebpmux.rc deleted file mode 100644 index 84503cbc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/libwebpmux.rc +++ /dev/null @@ -1,41 +0,0 @@ -#define APSTUDIO_READONLY_SYMBOLS -#include "winres.h" -#undef APSTUDIO_READONLY_SYMBOLS - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,1,0 - PRODUCTVERSION 1,0,1,0 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Google, Inc." - VALUE "FileDescription", "libwebpmux DLL" - VALUE "FileVersion", "1.1.0" - VALUE "InternalName", "libwebpmux.dll" - VALUE "LegalCopyright", "Copyright (C) 2019" - VALUE "OriginalFilename", "libwebpmux.dll" - VALUE "ProductName", "WebP Image Muxer" - VALUE "ProductVersion", "1.1.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (United States) resources diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxedit.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxedit.c deleted file mode 100644 index ccf14b2a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxedit.c +++ /dev/null @@ -1,657 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Set and delete APIs for mux. -// -// Authors: Urvang (urvang@google.com) -// Vikas (vikasa@google.com) - -#include -#include "src/mux/muxi.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// Life of a mux object. - -static void MuxInit(WebPMux* const mux) { - assert(mux != NULL); - memset(mux, 0, sizeof(*mux)); - mux->canvas_width_ = 0; // just to be explicit - mux->canvas_height_ = 0; -} - -WebPMux* WebPNewInternal(int version) { - if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_MUX_ABI_VERSION)) { - return NULL; - } else { - WebPMux* const mux = (WebPMux*)WebPSafeMalloc(1ULL, sizeof(WebPMux)); - if (mux != NULL) MuxInit(mux); - return mux; - } -} - -// Delete all images in 'wpi_list'. -static void DeleteAllImages(WebPMuxImage** const wpi_list) { - while (*wpi_list != NULL) { - *wpi_list = MuxImageDelete(*wpi_list); - } -} - -static void MuxRelease(WebPMux* const mux) { - assert(mux != NULL); - DeleteAllImages(&mux->images_); - ChunkListDelete(&mux->vp8x_); - ChunkListDelete(&mux->iccp_); - ChunkListDelete(&mux->anim_); - ChunkListDelete(&mux->exif_); - ChunkListDelete(&mux->xmp_); - ChunkListDelete(&mux->unknown_); -} - -void WebPMuxDelete(WebPMux* mux) { - if (mux != NULL) { - MuxRelease(mux); - WebPSafeFree(mux); - } -} - -//------------------------------------------------------------------------------ -// Helper method(s). - -// Handy MACRO, makes MuxSet() very symmetric to MuxGet(). -#define SWITCH_ID_LIST(INDEX, LIST) \ - if (idx == (INDEX)) { \ - err = ChunkAssignData(&chunk, data, copy_data, tag); \ - if (err == WEBP_MUX_OK) { \ - err = ChunkSetHead(&chunk, (LIST)); \ - } \ - return err; \ - } - -static WebPMuxError MuxSet(WebPMux* const mux, uint32_t tag, - const WebPData* const data, int copy_data) { - WebPChunk chunk; - WebPMuxError err = WEBP_MUX_NOT_FOUND; - const CHUNK_INDEX idx = ChunkGetIndexFromTag(tag); - assert(mux != NULL); - assert(!IsWPI(kChunks[idx].id)); - - ChunkInit(&chunk); - SWITCH_ID_LIST(IDX_VP8X, &mux->vp8x_); - SWITCH_ID_LIST(IDX_ICCP, &mux->iccp_); - SWITCH_ID_LIST(IDX_ANIM, &mux->anim_); - SWITCH_ID_LIST(IDX_EXIF, &mux->exif_); - SWITCH_ID_LIST(IDX_XMP, &mux->xmp_); - SWITCH_ID_LIST(IDX_UNKNOWN, &mux->unknown_); - return err; -} -#undef SWITCH_ID_LIST - -// Create data for frame given image data, offsets and duration. -static WebPMuxError CreateFrameData( - int width, int height, const WebPMuxFrameInfo* const info, - WebPData* const frame) { - uint8_t* frame_bytes; - const size_t frame_size = kChunks[IDX_ANMF].size; - - assert(width > 0 && height > 0 && info->duration >= 0); - assert(info->dispose_method == (info->dispose_method & 1)); - // Note: assertion on upper bounds is done in PutLE24(). - - frame_bytes = (uint8_t*)WebPSafeMalloc(1ULL, frame_size); - if (frame_bytes == NULL) return WEBP_MUX_MEMORY_ERROR; - - PutLE24(frame_bytes + 0, info->x_offset / 2); - PutLE24(frame_bytes + 3, info->y_offset / 2); - - PutLE24(frame_bytes + 6, width - 1); - PutLE24(frame_bytes + 9, height - 1); - PutLE24(frame_bytes + 12, info->duration); - frame_bytes[15] = - (info->blend_method == WEBP_MUX_NO_BLEND ? 2 : 0) | - (info->dispose_method == WEBP_MUX_DISPOSE_BACKGROUND ? 1 : 0); - - frame->bytes = frame_bytes; - frame->size = frame_size; - return WEBP_MUX_OK; -} - -// Outputs image data given a bitstream. The bitstream can either be a -// single-image WebP file or raw VP8/VP8L data. -// Also outputs 'is_lossless' to be true if the given bitstream is lossless. -static WebPMuxError GetImageData(const WebPData* const bitstream, - WebPData* const image, WebPData* const alpha, - int* const is_lossless) { - WebPDataInit(alpha); // Default: no alpha. - if (bitstream->size < TAG_SIZE || - memcmp(bitstream->bytes, "RIFF", TAG_SIZE)) { - // It is NOT webp file data. Return input data as is. - *image = *bitstream; - } else { - // It is webp file data. Extract image data from it. - const WebPMuxImage* wpi; - WebPMux* const mux = WebPMuxCreate(bitstream, 0); - if (mux == NULL) return WEBP_MUX_BAD_DATA; - wpi = mux->images_; - assert(wpi != NULL && wpi->img_ != NULL); - *image = wpi->img_->data_; - if (wpi->alpha_ != NULL) { - *alpha = wpi->alpha_->data_; - } - WebPMuxDelete(mux); - } - *is_lossless = VP8LCheckSignature(image->bytes, image->size); - return WEBP_MUX_OK; -} - -static WebPMuxError DeleteChunks(WebPChunk** chunk_list, uint32_t tag) { - WebPMuxError err = WEBP_MUX_NOT_FOUND; - assert(chunk_list); - while (*chunk_list) { - WebPChunk* const chunk = *chunk_list; - if (chunk->tag_ == tag) { - *chunk_list = ChunkDelete(chunk); - err = WEBP_MUX_OK; - } else { - chunk_list = &chunk->next_; - } - } - return err; -} - -static WebPMuxError MuxDeleteAllNamedData(WebPMux* const mux, uint32_t tag) { - const WebPChunkId id = ChunkGetIdFromTag(tag); - assert(mux != NULL); - if (IsWPI(id)) return WEBP_MUX_INVALID_ARGUMENT; - return DeleteChunks(MuxGetChunkListFromId(mux, id), tag); -} - -//------------------------------------------------------------------------------ -// Set API(s). - -WebPMuxError WebPMuxSetChunk(WebPMux* mux, const char fourcc[4], - const WebPData* chunk_data, int copy_data) { - uint32_t tag; - WebPMuxError err; - if (mux == NULL || fourcc == NULL || chunk_data == NULL || - chunk_data->bytes == NULL || chunk_data->size > MAX_CHUNK_PAYLOAD) { - return WEBP_MUX_INVALID_ARGUMENT; - } - tag = ChunkGetTagFromFourCC(fourcc); - - // Delete existing chunk(s) with the same 'fourcc'. - err = MuxDeleteAllNamedData(mux, tag); - if (err != WEBP_MUX_OK && err != WEBP_MUX_NOT_FOUND) return err; - - // Add the given chunk. - return MuxSet(mux, tag, chunk_data, copy_data); -} - -// Creates a chunk from given 'data' and sets it as 1st chunk in 'chunk_list'. -static WebPMuxError AddDataToChunkList( - const WebPData* const data, int copy_data, uint32_t tag, - WebPChunk** chunk_list) { - WebPChunk chunk; - WebPMuxError err; - ChunkInit(&chunk); - err = ChunkAssignData(&chunk, data, copy_data, tag); - if (err != WEBP_MUX_OK) goto Err; - err = ChunkSetHead(&chunk, chunk_list); - if (err != WEBP_MUX_OK) goto Err; - return WEBP_MUX_OK; - Err: - ChunkRelease(&chunk); - return err; -} - -// Extracts image & alpha data from the given bitstream and then sets wpi.alpha_ -// and wpi.img_ appropriately. -static WebPMuxError SetAlphaAndImageChunks( - const WebPData* const bitstream, int copy_data, WebPMuxImage* const wpi) { - int is_lossless = 0; - WebPData image, alpha; - WebPMuxError err = GetImageData(bitstream, &image, &alpha, &is_lossless); - const int image_tag = - is_lossless ? kChunks[IDX_VP8L].tag : kChunks[IDX_VP8].tag; - if (err != WEBP_MUX_OK) return err; - if (alpha.bytes != NULL) { - err = AddDataToChunkList(&alpha, copy_data, kChunks[IDX_ALPHA].tag, - &wpi->alpha_); - if (err != WEBP_MUX_OK) return err; - } - err = AddDataToChunkList(&image, copy_data, image_tag, &wpi->img_); - if (err != WEBP_MUX_OK) return err; - return MuxImageFinalize(wpi) ? WEBP_MUX_OK : WEBP_MUX_INVALID_ARGUMENT; -} - -WebPMuxError WebPMuxSetImage(WebPMux* mux, const WebPData* bitstream, - int copy_data) { - WebPMuxImage wpi; - WebPMuxError err; - - // Sanity checks. - if (mux == NULL || bitstream == NULL || bitstream->bytes == NULL || - bitstream->size > MAX_CHUNK_PAYLOAD) { - return WEBP_MUX_INVALID_ARGUMENT; - } - - if (mux->images_ != NULL) { - // Only one 'simple image' can be added in mux. So, remove present images. - DeleteAllImages(&mux->images_); - } - - MuxImageInit(&wpi); - err = SetAlphaAndImageChunks(bitstream, copy_data, &wpi); - if (err != WEBP_MUX_OK) goto Err; - - // Add this WebPMuxImage to mux. - err = MuxImagePush(&wpi, &mux->images_); - if (err != WEBP_MUX_OK) goto Err; - - // All is well. - return WEBP_MUX_OK; - - Err: // Something bad happened. - MuxImageRelease(&wpi); - return err; -} - -WebPMuxError WebPMuxPushFrame(WebPMux* mux, const WebPMuxFrameInfo* info, - int copy_data) { - WebPMuxImage wpi; - WebPMuxError err; - - // Sanity checks. - if (mux == NULL || info == NULL) return WEBP_MUX_INVALID_ARGUMENT; - - if (info->id != WEBP_CHUNK_ANMF) return WEBP_MUX_INVALID_ARGUMENT; - - if (info->bitstream.bytes == NULL || - info->bitstream.size > MAX_CHUNK_PAYLOAD) { - return WEBP_MUX_INVALID_ARGUMENT; - } - - if (mux->images_ != NULL) { - const WebPMuxImage* const image = mux->images_; - const uint32_t image_id = (image->header_ != NULL) ? - ChunkGetIdFromTag(image->header_->tag_) : WEBP_CHUNK_IMAGE; - if (image_id != info->id) { - return WEBP_MUX_INVALID_ARGUMENT; // Conflicting frame types. - } - } - - MuxImageInit(&wpi); - err = SetAlphaAndImageChunks(&info->bitstream, copy_data, &wpi); - if (err != WEBP_MUX_OK) goto Err; - assert(wpi.img_ != NULL); // As SetAlphaAndImageChunks() was successful. - - { - WebPData frame; - const uint32_t tag = kChunks[IDX_ANMF].tag; - WebPMuxFrameInfo tmp = *info; - tmp.x_offset &= ~1; // Snap offsets to even. - tmp.y_offset &= ~1; - if (tmp.x_offset < 0 || tmp.x_offset >= MAX_POSITION_OFFSET || - tmp.y_offset < 0 || tmp.y_offset >= MAX_POSITION_OFFSET || - (tmp.duration < 0 || tmp.duration >= MAX_DURATION) || - tmp.dispose_method != (tmp.dispose_method & 1)) { - err = WEBP_MUX_INVALID_ARGUMENT; - goto Err; - } - err = CreateFrameData(wpi.width_, wpi.height_, &tmp, &frame); - if (err != WEBP_MUX_OK) goto Err; - // Add frame chunk (with copy_data = 1). - err = AddDataToChunkList(&frame, 1, tag, &wpi.header_); - WebPDataClear(&frame); // frame owned by wpi.header_ now. - if (err != WEBP_MUX_OK) goto Err; - } - - // Add this WebPMuxImage to mux. - err = MuxImagePush(&wpi, &mux->images_); - if (err != WEBP_MUX_OK) goto Err; - - // All is well. - return WEBP_MUX_OK; - - Err: // Something bad happened. - MuxImageRelease(&wpi); - return err; -} - -WebPMuxError WebPMuxSetAnimationParams(WebPMux* mux, - const WebPMuxAnimParams* params) { - WebPMuxError err; - uint8_t data[ANIM_CHUNK_SIZE]; - const WebPData anim = { data, ANIM_CHUNK_SIZE }; - - if (mux == NULL || params == NULL) return WEBP_MUX_INVALID_ARGUMENT; - if (params->loop_count < 0 || params->loop_count >= MAX_LOOP_COUNT) { - return WEBP_MUX_INVALID_ARGUMENT; - } - - // Delete any existing ANIM chunk(s). - err = MuxDeleteAllNamedData(mux, kChunks[IDX_ANIM].tag); - if (err != WEBP_MUX_OK && err != WEBP_MUX_NOT_FOUND) return err; - - // Set the animation parameters. - PutLE32(data, params->bgcolor); - PutLE16(data + 4, params->loop_count); - return MuxSet(mux, kChunks[IDX_ANIM].tag, &anim, 1); -} - -WebPMuxError WebPMuxSetCanvasSize(WebPMux* mux, - int width, int height) { - WebPMuxError err; - if (mux == NULL) { - return WEBP_MUX_INVALID_ARGUMENT; - } - if (width < 0 || height < 0 || - width > MAX_CANVAS_SIZE || height > MAX_CANVAS_SIZE) { - return WEBP_MUX_INVALID_ARGUMENT; - } - if (width * (uint64_t)height >= MAX_IMAGE_AREA) { - return WEBP_MUX_INVALID_ARGUMENT; - } - if ((width * height) == 0 && (width | height) != 0) { - // one of width / height is zero, but not both -> invalid! - return WEBP_MUX_INVALID_ARGUMENT; - } - // If we already assembled a VP8X chunk, invalidate it. - err = MuxDeleteAllNamedData(mux, kChunks[IDX_VP8X].tag); - if (err != WEBP_MUX_OK && err != WEBP_MUX_NOT_FOUND) return err; - - mux->canvas_width_ = width; - mux->canvas_height_ = height; - return WEBP_MUX_OK; -} - -//------------------------------------------------------------------------------ -// Delete API(s). - -WebPMuxError WebPMuxDeleteChunk(WebPMux* mux, const char fourcc[4]) { - if (mux == NULL || fourcc == NULL) return WEBP_MUX_INVALID_ARGUMENT; - return MuxDeleteAllNamedData(mux, ChunkGetTagFromFourCC(fourcc)); -} - -WebPMuxError WebPMuxDeleteFrame(WebPMux* mux, uint32_t nth) { - if (mux == NULL) return WEBP_MUX_INVALID_ARGUMENT; - return MuxImageDeleteNth(&mux->images_, nth); -} - -//------------------------------------------------------------------------------ -// Assembly of the WebP RIFF file. - -static WebPMuxError GetFrameInfo( - const WebPChunk* const frame_chunk, - int* const x_offset, int* const y_offset, int* const duration) { - const WebPData* const data = &frame_chunk->data_; - const size_t expected_data_size = ANMF_CHUNK_SIZE; - assert(frame_chunk->tag_ == kChunks[IDX_ANMF].tag); - assert(frame_chunk != NULL); - if (data->size != expected_data_size) return WEBP_MUX_INVALID_ARGUMENT; - - *x_offset = 2 * GetLE24(data->bytes + 0); - *y_offset = 2 * GetLE24(data->bytes + 3); - *duration = GetLE24(data->bytes + 12); - return WEBP_MUX_OK; -} - -static WebPMuxError GetImageInfo(const WebPMuxImage* const wpi, - int* const x_offset, int* const y_offset, - int* const duration, - int* const width, int* const height) { - const WebPChunk* const frame_chunk = wpi->header_; - WebPMuxError err; - assert(wpi != NULL); - assert(frame_chunk != NULL); - - // Get offsets and duration from ANMF chunk. - err = GetFrameInfo(frame_chunk, x_offset, y_offset, duration); - if (err != WEBP_MUX_OK) return err; - - // Get width and height from VP8/VP8L chunk. - if (width != NULL) *width = wpi->width_; - if (height != NULL) *height = wpi->height_; - return WEBP_MUX_OK; -} - -// Returns the tightest dimension for the canvas considering the image list. -static WebPMuxError GetAdjustedCanvasSize(const WebPMux* const mux, - int* const width, int* const height) { - WebPMuxImage* wpi = NULL; - assert(mux != NULL); - assert(width != NULL && height != NULL); - - wpi = mux->images_; - assert(wpi != NULL); - assert(wpi->img_ != NULL); - - if (wpi->next_ != NULL) { - int max_x = 0, max_y = 0; - // if we have a chain of wpi's, header_ is necessarily set - assert(wpi->header_ != NULL); - // Aggregate the bounding box for animation frames. - for (; wpi != NULL; wpi = wpi->next_) { - int x_offset = 0, y_offset = 0, duration = 0, w = 0, h = 0; - const WebPMuxError err = GetImageInfo(wpi, &x_offset, &y_offset, - &duration, &w, &h); - const int max_x_pos = x_offset + w; - const int max_y_pos = y_offset + h; - if (err != WEBP_MUX_OK) return err; - assert(x_offset < MAX_POSITION_OFFSET); - assert(y_offset < MAX_POSITION_OFFSET); - - if (max_x_pos > max_x) max_x = max_x_pos; - if (max_y_pos > max_y) max_y = max_y_pos; - } - *width = max_x; - *height = max_y; - } else { - // For a single image, canvas dimensions are same as image dimensions. - *width = wpi->width_; - *height = wpi->height_; - } - return WEBP_MUX_OK; -} - -// VP8X format: -// Total Size : 10, -// Flags : 4 bytes, -// Width : 3 bytes, -// Height : 3 bytes. -static WebPMuxError CreateVP8XChunk(WebPMux* const mux) { - WebPMuxError err = WEBP_MUX_OK; - uint32_t flags = 0; - int width = 0; - int height = 0; - uint8_t data[VP8X_CHUNK_SIZE]; - const WebPData vp8x = { data, VP8X_CHUNK_SIZE }; - const WebPMuxImage* images = NULL; - - assert(mux != NULL); - images = mux->images_; // First image. - if (images == NULL || images->img_ == NULL || - images->img_->data_.bytes == NULL) { - return WEBP_MUX_INVALID_ARGUMENT; - } - - // If VP8X chunk(s) is(are) already present, remove them (and later add new - // VP8X chunk with updated flags). - err = MuxDeleteAllNamedData(mux, kChunks[IDX_VP8X].tag); - if (err != WEBP_MUX_OK && err != WEBP_MUX_NOT_FOUND) return err; - - // Set flags. - if (mux->iccp_ != NULL && mux->iccp_->data_.bytes != NULL) { - flags |= ICCP_FLAG; - } - if (mux->exif_ != NULL && mux->exif_->data_.bytes != NULL) { - flags |= EXIF_FLAG; - } - if (mux->xmp_ != NULL && mux->xmp_->data_.bytes != NULL) { - flags |= XMP_FLAG; - } - if (images->header_ != NULL) { - if (images->header_->tag_ == kChunks[IDX_ANMF].tag) { - // This is an image with animation. - flags |= ANIMATION_FLAG; - } - } - if (MuxImageCount(images, WEBP_CHUNK_ALPHA) > 0) { - flags |= ALPHA_FLAG; // Some images have an alpha channel. - } - - err = GetAdjustedCanvasSize(mux, &width, &height); - if (err != WEBP_MUX_OK) return err; - - if (width <= 0 || height <= 0) { - return WEBP_MUX_INVALID_ARGUMENT; - } - if (width > MAX_CANVAS_SIZE || height > MAX_CANVAS_SIZE) { - return WEBP_MUX_INVALID_ARGUMENT; - } - - if (mux->canvas_width_ != 0 || mux->canvas_height_ != 0) { - if (width > mux->canvas_width_ || height > mux->canvas_height_) { - return WEBP_MUX_INVALID_ARGUMENT; - } - width = mux->canvas_width_; - height = mux->canvas_height_; - } - - if (flags == 0 && mux->unknown_ == NULL) { - // For simple file format, VP8X chunk should not be added. - return WEBP_MUX_OK; - } - - if (MuxHasAlpha(images)) { - // This means some frames explicitly/implicitly contain alpha. - // Note: This 'flags' update must NOT be done for a lossless image - // without a VP8X chunk! - flags |= ALPHA_FLAG; - } - - PutLE32(data + 0, flags); // VP8X chunk flags. - PutLE24(data + 4, width - 1); // canvas width. - PutLE24(data + 7, height - 1); // canvas height. - - return MuxSet(mux, kChunks[IDX_VP8X].tag, &vp8x, 1); -} - -// Cleans up 'mux' by removing any unnecessary chunks. -static WebPMuxError MuxCleanup(WebPMux* const mux) { - int num_frames; - int num_anim_chunks; - - // If we have an image with a single frame, and its rectangle - // covers the whole canvas, convert it to a non-animated image - // (to avoid writing ANMF chunk unnecessarily). - WebPMuxError err = WebPMuxNumChunks(mux, kChunks[IDX_ANMF].id, &num_frames); - if (err != WEBP_MUX_OK) return err; - if (num_frames == 1) { - WebPMuxImage* frame = NULL; - err = MuxImageGetNth((const WebPMuxImage**)&mux->images_, 1, &frame); - assert(err == WEBP_MUX_OK); // We know that one frame does exist. - assert(frame != NULL); - if (frame->header_ != NULL && - ((mux->canvas_width_ == 0 && mux->canvas_height_ == 0) || - (frame->width_ == mux->canvas_width_ && - frame->height_ == mux->canvas_height_))) { - assert(frame->header_->tag_ == kChunks[IDX_ANMF].tag); - ChunkDelete(frame->header_); // Removes ANMF chunk. - frame->header_ = NULL; - num_frames = 0; - } - } - // Remove ANIM chunk if this is a non-animated image. - err = WebPMuxNumChunks(mux, kChunks[IDX_ANIM].id, &num_anim_chunks); - if (err != WEBP_MUX_OK) return err; - if (num_anim_chunks >= 1 && num_frames == 0) { - err = MuxDeleteAllNamedData(mux, kChunks[IDX_ANIM].tag); - if (err != WEBP_MUX_OK) return err; - } - return WEBP_MUX_OK; -} - -// Total size of a list of images. -static size_t ImageListDiskSize(const WebPMuxImage* wpi_list) { - size_t size = 0; - while (wpi_list != NULL) { - size += MuxImageDiskSize(wpi_list); - wpi_list = wpi_list->next_; - } - return size; -} - -// Write out the given list of images into 'dst'. -static uint8_t* ImageListEmit(const WebPMuxImage* wpi_list, uint8_t* dst) { - while (wpi_list != NULL) { - dst = MuxImageEmit(wpi_list, dst); - wpi_list = wpi_list->next_; - } - return dst; -} - -WebPMuxError WebPMuxAssemble(WebPMux* mux, WebPData* assembled_data) { - size_t size = 0; - uint8_t* data = NULL; - uint8_t* dst = NULL; - WebPMuxError err; - - if (assembled_data == NULL) { - return WEBP_MUX_INVALID_ARGUMENT; - } - // Clean up returned data, in case something goes wrong. - memset(assembled_data, 0, sizeof(*assembled_data)); - - if (mux == NULL) { - return WEBP_MUX_INVALID_ARGUMENT; - } - - // Finalize mux. - err = MuxCleanup(mux); - if (err != WEBP_MUX_OK) return err; - err = CreateVP8XChunk(mux); - if (err != WEBP_MUX_OK) return err; - - // Allocate data. - size = ChunkListDiskSize(mux->vp8x_) + ChunkListDiskSize(mux->iccp_) - + ChunkListDiskSize(mux->anim_) + ImageListDiskSize(mux->images_) - + ChunkListDiskSize(mux->exif_) + ChunkListDiskSize(mux->xmp_) - + ChunkListDiskSize(mux->unknown_) + RIFF_HEADER_SIZE; - - data = (uint8_t*)WebPSafeMalloc(1ULL, size); - if (data == NULL) return WEBP_MUX_MEMORY_ERROR; - - // Emit header & chunks. - dst = MuxEmitRiffHeader(data, size); - dst = ChunkListEmit(mux->vp8x_, dst); - dst = ChunkListEmit(mux->iccp_, dst); - dst = ChunkListEmit(mux->anim_, dst); - dst = ImageListEmit(mux->images_, dst); - dst = ChunkListEmit(mux->exif_, dst); - dst = ChunkListEmit(mux->xmp_, dst); - dst = ChunkListEmit(mux->unknown_, dst); - assert(dst == data + size); - - // Validate mux. - err = MuxValidate(mux); - if (err != WEBP_MUX_OK) { - WebPSafeFree(data); - data = NULL; - size = 0; - } - - // Finalize data. - assembled_data->bytes = data; - assembled_data->size = size; - - return err; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxi.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxi.h deleted file mode 100644 index ad3e1bdb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxi.h +++ /dev/null @@ -1,234 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Internal header for mux library. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_MUX_MUXI_H_ -#define WEBP_MUX_MUXI_H_ - -#include -#include -#include "src/dec/vp8i_dec.h" -#include "src/dec/vp8li_dec.h" -#include "src/webp/mux.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// Defines and constants. - -#define MUX_MAJ_VERSION 1 -#define MUX_MIN_VERSION 1 -#define MUX_REV_VERSION 0 - -// Chunk object. -typedef struct WebPChunk WebPChunk; -struct WebPChunk { - uint32_t tag_; - int owner_; // True if *data_ memory is owned internally. - // VP8X, ANIM, and other internally created chunks - // like ANMF are always owned. - WebPData data_; - WebPChunk* next_; -}; - -// MuxImage object. Store a full WebP image (including ANMF chunk, ALPH -// chunk and VP8/VP8L chunk), -typedef struct WebPMuxImage WebPMuxImage; -struct WebPMuxImage { - WebPChunk* header_; // Corresponds to WEBP_CHUNK_ANMF. - WebPChunk* alpha_; // Corresponds to WEBP_CHUNK_ALPHA. - WebPChunk* img_; // Corresponds to WEBP_CHUNK_IMAGE. - WebPChunk* unknown_; // Corresponds to WEBP_CHUNK_UNKNOWN. - int width_; - int height_; - int has_alpha_; // Through ALPH chunk or as part of VP8L. - int is_partial_; // True if only some of the chunks are filled. - WebPMuxImage* next_; -}; - -// Main mux object. Stores data chunks. -struct WebPMux { - WebPMuxImage* images_; - WebPChunk* iccp_; - WebPChunk* exif_; - WebPChunk* xmp_; - WebPChunk* anim_; - WebPChunk* vp8x_; - - WebPChunk* unknown_; - int canvas_width_; - int canvas_height_; -}; - -// CHUNK_INDEX enum: used for indexing within 'kChunks' (defined below) only. -// Note: the reason for having two enums ('WebPChunkId' and 'CHUNK_INDEX') is to -// allow two different chunks to have the same id (e.g. WebPChunkId -// 'WEBP_CHUNK_IMAGE' can correspond to CHUNK_INDEX 'IDX_VP8' or 'IDX_VP8L'). -typedef enum { - IDX_VP8X = 0, - IDX_ICCP, - IDX_ANIM, - IDX_ANMF, - IDX_ALPHA, - IDX_VP8, - IDX_VP8L, - IDX_EXIF, - IDX_XMP, - IDX_UNKNOWN, - - IDX_NIL, - IDX_LAST_CHUNK -} CHUNK_INDEX; - -#define NIL_TAG 0x00000000u // To signal void chunk. - -typedef struct { - uint32_t tag; - WebPChunkId id; - uint32_t size; -} ChunkInfo; - -extern const ChunkInfo kChunks[IDX_LAST_CHUNK]; - -//------------------------------------------------------------------------------ -// Chunk object management. - -// Initialize. -void ChunkInit(WebPChunk* const chunk); - -// Get chunk index from chunk tag. Returns IDX_UNKNOWN if not found. -CHUNK_INDEX ChunkGetIndexFromTag(uint32_t tag); - -// Get chunk id from chunk tag. Returns WEBP_CHUNK_UNKNOWN if not found. -WebPChunkId ChunkGetIdFromTag(uint32_t tag); - -// Convert a fourcc string to a tag. -uint32_t ChunkGetTagFromFourCC(const char fourcc[4]); - -// Get chunk index from fourcc. Returns IDX_UNKNOWN if given fourcc is unknown. -CHUNK_INDEX ChunkGetIndexFromFourCC(const char fourcc[4]); - -// Search for nth chunk with given 'tag' in the chunk list. -// nth = 0 means "last of the list". -WebPChunk* ChunkSearchList(WebPChunk* first, uint32_t nth, uint32_t tag); - -// Fill the chunk with the given data. -WebPMuxError ChunkAssignData(WebPChunk* chunk, const WebPData* const data, - int copy_data, uint32_t tag); - -// Sets 'chunk' as the only element in 'chunk_list' if it is empty. -// On success ownership is transferred from 'chunk' to the 'chunk_list'. -WebPMuxError ChunkSetHead(WebPChunk* const chunk, WebPChunk** const chunk_list); -// Sets 'chunk' at last position in the 'chunk_list'. -// On success ownership is transferred from 'chunk' to the 'chunk_list'. -// *chunk_list also points towards the last valid element of the initial -// *chunk_list. -WebPMuxError ChunkAppend(WebPChunk* const chunk, WebPChunk*** const chunk_list); - -// Releases chunk and returns chunk->next_. -WebPChunk* ChunkRelease(WebPChunk* const chunk); - -// Deletes given chunk & returns chunk->next_. -WebPChunk* ChunkDelete(WebPChunk* const chunk); - -// Deletes all chunks in the given chunk list. -void ChunkListDelete(WebPChunk** const chunk_list); - -// Returns size of the chunk including chunk header and padding byte (if any). -static WEBP_INLINE size_t SizeWithPadding(size_t chunk_size) { - assert(chunk_size <= MAX_CHUNK_PAYLOAD); - return CHUNK_HEADER_SIZE + ((chunk_size + 1) & ~1U); -} - -// Size of a chunk including header and padding. -static WEBP_INLINE size_t ChunkDiskSize(const WebPChunk* chunk) { - const size_t data_size = chunk->data_.size; - return SizeWithPadding(data_size); -} - -// Total size of a list of chunks. -size_t ChunkListDiskSize(const WebPChunk* chunk_list); - -// Write out the given list of chunks into 'dst'. -uint8_t* ChunkListEmit(const WebPChunk* chunk_list, uint8_t* dst); - -//------------------------------------------------------------------------------ -// MuxImage object management. - -// Initialize. -void MuxImageInit(WebPMuxImage* const wpi); - -// Releases image 'wpi' and returns wpi->next. -WebPMuxImage* MuxImageRelease(WebPMuxImage* const wpi); - -// Delete image 'wpi' and return the next image in the list or NULL. -// 'wpi' can be NULL. -WebPMuxImage* MuxImageDelete(WebPMuxImage* const wpi); - -// Count number of images matching the given tag id in the 'wpi_list'. -// If id == WEBP_CHUNK_NIL, all images will be matched. -int MuxImageCount(const WebPMuxImage* wpi_list, WebPChunkId id); - -// Update width/height/has_alpha info from chunks within wpi. -// Also remove ALPH chunk if not needed. -int MuxImageFinalize(WebPMuxImage* const wpi); - -// Check if given ID corresponds to an image related chunk. -static WEBP_INLINE int IsWPI(WebPChunkId id) { - switch (id) { - case WEBP_CHUNK_ANMF: - case WEBP_CHUNK_ALPHA: - case WEBP_CHUNK_IMAGE: return 1; - default: return 0; - } -} - -// Pushes 'wpi' at the end of 'wpi_list'. -WebPMuxError MuxImagePush(const WebPMuxImage* wpi, WebPMuxImage** wpi_list); - -// Delete nth image in the image list. -WebPMuxError MuxImageDeleteNth(WebPMuxImage** wpi_list, uint32_t nth); - -// Get nth image in the image list. -WebPMuxError MuxImageGetNth(const WebPMuxImage** wpi_list, uint32_t nth, - WebPMuxImage** wpi); - -// Total size of the given image. -size_t MuxImageDiskSize(const WebPMuxImage* const wpi); - -// Write out the given image into 'dst'. -uint8_t* MuxImageEmit(const WebPMuxImage* const wpi, uint8_t* dst); - -//------------------------------------------------------------------------------ -// Helper methods for mux. - -// Checks if the given image list contains at least one image with alpha. -int MuxHasAlpha(const WebPMuxImage* images); - -// Write out RIFF header into 'data', given total data size 'size'. -uint8_t* MuxEmitRiffHeader(uint8_t* const data, size_t size); - -// Returns the list where chunk with given ID is to be inserted in mux. -WebPChunk** MuxGetChunkListFromId(const WebPMux* mux, WebPChunkId id); - -// Validates the given mux object. -WebPMuxError MuxValidate(const WebPMux* const mux); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_MUX_MUXI_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxinternal.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxinternal.c deleted file mode 100644 index b9ee6717..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxinternal.c +++ /dev/null @@ -1,548 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Internal objects and utils for mux. -// -// Authors: Urvang (urvang@google.com) -// Vikas (vikasa@google.com) - -#include -#include "src/mux/muxi.h" -#include "src/utils/utils.h" - -#define UNDEFINED_CHUNK_SIZE ((uint32_t)(-1)) - -const ChunkInfo kChunks[] = { - { MKFOURCC('V', 'P', '8', 'X'), WEBP_CHUNK_VP8X, VP8X_CHUNK_SIZE }, - { MKFOURCC('I', 'C', 'C', 'P'), WEBP_CHUNK_ICCP, UNDEFINED_CHUNK_SIZE }, - { MKFOURCC('A', 'N', 'I', 'M'), WEBP_CHUNK_ANIM, ANIM_CHUNK_SIZE }, - { MKFOURCC('A', 'N', 'M', 'F'), WEBP_CHUNK_ANMF, ANMF_CHUNK_SIZE }, - { MKFOURCC('A', 'L', 'P', 'H'), WEBP_CHUNK_ALPHA, UNDEFINED_CHUNK_SIZE }, - { MKFOURCC('V', 'P', '8', ' '), WEBP_CHUNK_IMAGE, UNDEFINED_CHUNK_SIZE }, - { MKFOURCC('V', 'P', '8', 'L'), WEBP_CHUNK_IMAGE, UNDEFINED_CHUNK_SIZE }, - { MKFOURCC('E', 'X', 'I', 'F'), WEBP_CHUNK_EXIF, UNDEFINED_CHUNK_SIZE }, - { MKFOURCC('X', 'M', 'P', ' '), WEBP_CHUNK_XMP, UNDEFINED_CHUNK_SIZE }, - { NIL_TAG, WEBP_CHUNK_UNKNOWN, UNDEFINED_CHUNK_SIZE }, - - { NIL_TAG, WEBP_CHUNK_NIL, UNDEFINED_CHUNK_SIZE } -}; - -//------------------------------------------------------------------------------ - -int WebPGetMuxVersion(void) { - return (MUX_MAJ_VERSION << 16) | (MUX_MIN_VERSION << 8) | MUX_REV_VERSION; -} - -//------------------------------------------------------------------------------ -// Life of a chunk object. - -void ChunkInit(WebPChunk* const chunk) { - assert(chunk); - memset(chunk, 0, sizeof(*chunk)); - chunk->tag_ = NIL_TAG; -} - -WebPChunk* ChunkRelease(WebPChunk* const chunk) { - WebPChunk* next; - if (chunk == NULL) return NULL; - if (chunk->owner_) { - WebPDataClear(&chunk->data_); - } - next = chunk->next_; - ChunkInit(chunk); - return next; -} - -//------------------------------------------------------------------------------ -// Chunk misc methods. - -CHUNK_INDEX ChunkGetIndexFromTag(uint32_t tag) { - int i; - for (i = 0; kChunks[i].tag != NIL_TAG; ++i) { - if (tag == kChunks[i].tag) return (CHUNK_INDEX)i; - } - return IDX_UNKNOWN; -} - -WebPChunkId ChunkGetIdFromTag(uint32_t tag) { - int i; - for (i = 0; kChunks[i].tag != NIL_TAG; ++i) { - if (tag == kChunks[i].tag) return kChunks[i].id; - } - return WEBP_CHUNK_UNKNOWN; -} - -uint32_t ChunkGetTagFromFourCC(const char fourcc[4]) { - return MKFOURCC(fourcc[0], fourcc[1], fourcc[2], fourcc[3]); -} - -CHUNK_INDEX ChunkGetIndexFromFourCC(const char fourcc[4]) { - const uint32_t tag = ChunkGetTagFromFourCC(fourcc); - return ChunkGetIndexFromTag(tag); -} - -//------------------------------------------------------------------------------ -// Chunk search methods. - -// Returns next chunk in the chunk list with the given tag. -static WebPChunk* ChunkSearchNextInList(WebPChunk* chunk, uint32_t tag) { - while (chunk != NULL && chunk->tag_ != tag) { - chunk = chunk->next_; - } - return chunk; -} - -WebPChunk* ChunkSearchList(WebPChunk* first, uint32_t nth, uint32_t tag) { - uint32_t iter = nth; - first = ChunkSearchNextInList(first, tag); - if (first == NULL) return NULL; - - while (--iter != 0) { - WebPChunk* next_chunk = ChunkSearchNextInList(first->next_, tag); - if (next_chunk == NULL) break; - first = next_chunk; - } - return ((nth > 0) && (iter > 0)) ? NULL : first; -} - -//------------------------------------------------------------------------------ -// Chunk writer methods. - -WebPMuxError ChunkAssignData(WebPChunk* chunk, const WebPData* const data, - int copy_data, uint32_t tag) { - // For internally allocated chunks, always copy data & make it owner of data. - if (tag == kChunks[IDX_VP8X].tag || tag == kChunks[IDX_ANIM].tag) { - copy_data = 1; - } - - ChunkRelease(chunk); - - if (data != NULL) { - if (copy_data) { // Copy data. - if (!WebPDataCopy(data, &chunk->data_)) return WEBP_MUX_MEMORY_ERROR; - chunk->owner_ = 1; // Chunk is owner of data. - } else { // Don't copy data. - chunk->data_ = *data; - } - } - chunk->tag_ = tag; - return WEBP_MUX_OK; -} - -WebPMuxError ChunkSetHead(WebPChunk* const chunk, - WebPChunk** const chunk_list) { - WebPChunk* new_chunk; - - assert(chunk_list != NULL); - if (*chunk_list != NULL) { - return WEBP_MUX_NOT_FOUND; - } - - new_chunk = (WebPChunk*)WebPSafeMalloc(1ULL, sizeof(*new_chunk)); - if (new_chunk == NULL) return WEBP_MUX_MEMORY_ERROR; - *new_chunk = *chunk; - chunk->owner_ = 0; - new_chunk->next_ = NULL; - *chunk_list = new_chunk; - return WEBP_MUX_OK; -} - -WebPMuxError ChunkAppend(WebPChunk* const chunk, - WebPChunk*** const chunk_list) { - assert(chunk_list != NULL && *chunk_list != NULL); - - if (**chunk_list == NULL) { - ChunkSetHead(chunk, *chunk_list); - } else { - WebPChunk* last_chunk = **chunk_list; - while (last_chunk->next_ != NULL) last_chunk = last_chunk->next_; - ChunkSetHead(chunk, &last_chunk->next_); - *chunk_list = &last_chunk->next_; - } - return WEBP_MUX_OK; -} - -//------------------------------------------------------------------------------ -// Chunk deletion method(s). - -WebPChunk* ChunkDelete(WebPChunk* const chunk) { - WebPChunk* const next = ChunkRelease(chunk); - WebPSafeFree(chunk); - return next; -} - -void ChunkListDelete(WebPChunk** const chunk_list) { - while (*chunk_list != NULL) { - *chunk_list = ChunkDelete(*chunk_list); - } -} - -//------------------------------------------------------------------------------ -// Chunk serialization methods. - -static uint8_t* ChunkEmit(const WebPChunk* const chunk, uint8_t* dst) { - const size_t chunk_size = chunk->data_.size; - assert(chunk); - assert(chunk->tag_ != NIL_TAG); - PutLE32(dst + 0, chunk->tag_); - PutLE32(dst + TAG_SIZE, (uint32_t)chunk_size); - assert(chunk_size == (uint32_t)chunk_size); - memcpy(dst + CHUNK_HEADER_SIZE, chunk->data_.bytes, chunk_size); - if (chunk_size & 1) - dst[CHUNK_HEADER_SIZE + chunk_size] = 0; // Add padding. - return dst + ChunkDiskSize(chunk); -} - -uint8_t* ChunkListEmit(const WebPChunk* chunk_list, uint8_t* dst) { - while (chunk_list != NULL) { - dst = ChunkEmit(chunk_list, dst); - chunk_list = chunk_list->next_; - } - return dst; -} - -size_t ChunkListDiskSize(const WebPChunk* chunk_list) { - size_t size = 0; - while (chunk_list != NULL) { - size += ChunkDiskSize(chunk_list); - chunk_list = chunk_list->next_; - } - return size; -} - -//------------------------------------------------------------------------------ -// Life of a MuxImage object. - -void MuxImageInit(WebPMuxImage* const wpi) { - assert(wpi); - memset(wpi, 0, sizeof(*wpi)); -} - -WebPMuxImage* MuxImageRelease(WebPMuxImage* const wpi) { - WebPMuxImage* next; - if (wpi == NULL) return NULL; - // There should be at most one chunk of header_, alpha_, img_ but we call - // ChunkListDelete to be safe - ChunkListDelete(&wpi->header_); - ChunkListDelete(&wpi->alpha_); - ChunkListDelete(&wpi->img_); - ChunkListDelete(&wpi->unknown_); - - next = wpi->next_; - MuxImageInit(wpi); - return next; -} - -//------------------------------------------------------------------------------ -// MuxImage search methods. - -// Get a reference to appropriate chunk list within an image given chunk tag. -static WebPChunk** GetChunkListFromId(const WebPMuxImage* const wpi, - WebPChunkId id) { - assert(wpi != NULL); - switch (id) { - case WEBP_CHUNK_ANMF: return (WebPChunk**)&wpi->header_; - case WEBP_CHUNK_ALPHA: return (WebPChunk**)&wpi->alpha_; - case WEBP_CHUNK_IMAGE: return (WebPChunk**)&wpi->img_; - default: return NULL; - } -} - -int MuxImageCount(const WebPMuxImage* wpi_list, WebPChunkId id) { - int count = 0; - const WebPMuxImage* current; - for (current = wpi_list; current != NULL; current = current->next_) { - if (id == WEBP_CHUNK_NIL) { - ++count; // Special case: count all images. - } else { - const WebPChunk* const wpi_chunk = *GetChunkListFromId(current, id); - if (wpi_chunk != NULL) { - const WebPChunkId wpi_chunk_id = ChunkGetIdFromTag(wpi_chunk->tag_); - if (wpi_chunk_id == id) ++count; // Count images with a matching 'id'. - } - } - } - return count; -} - -// Outputs a pointer to 'prev_wpi->next_', -// where 'prev_wpi' is the pointer to the image at position (nth - 1). -// Returns true if nth image was found. -static int SearchImageToGetOrDelete(WebPMuxImage** wpi_list, uint32_t nth, - WebPMuxImage*** const location) { - uint32_t count = 0; - assert(wpi_list); - *location = wpi_list; - - if (nth == 0) { - nth = MuxImageCount(*wpi_list, WEBP_CHUNK_NIL); - if (nth == 0) return 0; // Not found. - } - - while (*wpi_list != NULL) { - WebPMuxImage* const cur_wpi = *wpi_list; - ++count; - if (count == nth) return 1; // Found. - wpi_list = &cur_wpi->next_; - *location = wpi_list; - } - return 0; // Not found. -} - -//------------------------------------------------------------------------------ -// MuxImage writer methods. - -WebPMuxError MuxImagePush(const WebPMuxImage* wpi, WebPMuxImage** wpi_list) { - WebPMuxImage* new_wpi; - - while (*wpi_list != NULL) { - WebPMuxImage* const cur_wpi = *wpi_list; - if (cur_wpi->next_ == NULL) break; - wpi_list = &cur_wpi->next_; - } - - new_wpi = (WebPMuxImage*)WebPSafeMalloc(1ULL, sizeof(*new_wpi)); - if (new_wpi == NULL) return WEBP_MUX_MEMORY_ERROR; - *new_wpi = *wpi; - new_wpi->next_ = NULL; - - if (*wpi_list != NULL) { - (*wpi_list)->next_ = new_wpi; - } else { - *wpi_list = new_wpi; - } - return WEBP_MUX_OK; -} - -//------------------------------------------------------------------------------ -// MuxImage deletion methods. - -WebPMuxImage* MuxImageDelete(WebPMuxImage* const wpi) { - // Delete the components of wpi. If wpi is NULL this is a noop. - WebPMuxImage* const next = MuxImageRelease(wpi); - WebPSafeFree(wpi); - return next; -} - -WebPMuxError MuxImageDeleteNth(WebPMuxImage** wpi_list, uint32_t nth) { - assert(wpi_list); - if (!SearchImageToGetOrDelete(wpi_list, nth, &wpi_list)) { - return WEBP_MUX_NOT_FOUND; - } - *wpi_list = MuxImageDelete(*wpi_list); - return WEBP_MUX_OK; -} - -//------------------------------------------------------------------------------ -// MuxImage reader methods. - -WebPMuxError MuxImageGetNth(const WebPMuxImage** wpi_list, uint32_t nth, - WebPMuxImage** wpi) { - assert(wpi_list); - assert(wpi); - if (!SearchImageToGetOrDelete((WebPMuxImage**)wpi_list, nth, - (WebPMuxImage***)&wpi_list)) { - return WEBP_MUX_NOT_FOUND; - } - *wpi = (WebPMuxImage*)*wpi_list; - return WEBP_MUX_OK; -} - -//------------------------------------------------------------------------------ -// MuxImage serialization methods. - -// Size of an image. -size_t MuxImageDiskSize(const WebPMuxImage* const wpi) { - size_t size = 0; - if (wpi->header_ != NULL) size += ChunkDiskSize(wpi->header_); - if (wpi->alpha_ != NULL) size += ChunkDiskSize(wpi->alpha_); - if (wpi->img_ != NULL) size += ChunkDiskSize(wpi->img_); - if (wpi->unknown_ != NULL) size += ChunkListDiskSize(wpi->unknown_); - return size; -} - -// Special case as ANMF chunk encapsulates other image chunks. -static uint8_t* ChunkEmitSpecial(const WebPChunk* const header, - size_t total_size, uint8_t* dst) { - const size_t header_size = header->data_.size; - const size_t offset_to_next = total_size - CHUNK_HEADER_SIZE; - assert(header->tag_ == kChunks[IDX_ANMF].tag); - PutLE32(dst + 0, header->tag_); - PutLE32(dst + TAG_SIZE, (uint32_t)offset_to_next); - assert(header_size == (uint32_t)header_size); - memcpy(dst + CHUNK_HEADER_SIZE, header->data_.bytes, header_size); - if (header_size & 1) { - dst[CHUNK_HEADER_SIZE + header_size] = 0; // Add padding. - } - return dst + ChunkDiskSize(header); -} - -uint8_t* MuxImageEmit(const WebPMuxImage* const wpi, uint8_t* dst) { - // Ordering of chunks to be emitted is strictly as follows: - // 1. ANMF chunk (if present). - // 2. ALPH chunk (if present). - // 3. VP8/VP8L chunk. - assert(wpi); - if (wpi->header_ != NULL) { - dst = ChunkEmitSpecial(wpi->header_, MuxImageDiskSize(wpi), dst); - } - if (wpi->alpha_ != NULL) dst = ChunkEmit(wpi->alpha_, dst); - if (wpi->img_ != NULL) dst = ChunkEmit(wpi->img_, dst); - if (wpi->unknown_ != NULL) dst = ChunkListEmit(wpi->unknown_, dst); - return dst; -} - -//------------------------------------------------------------------------------ -// Helper methods for mux. - -int MuxHasAlpha(const WebPMuxImage* images) { - while (images != NULL) { - if (images->has_alpha_) return 1; - images = images->next_; - } - return 0; -} - -uint8_t* MuxEmitRiffHeader(uint8_t* const data, size_t size) { - PutLE32(data + 0, MKFOURCC('R', 'I', 'F', 'F')); - PutLE32(data + TAG_SIZE, (uint32_t)size - CHUNK_HEADER_SIZE); - assert(size == (uint32_t)size); - PutLE32(data + TAG_SIZE + CHUNK_SIZE_BYTES, MKFOURCC('W', 'E', 'B', 'P')); - return data + RIFF_HEADER_SIZE; -} - -WebPChunk** MuxGetChunkListFromId(const WebPMux* mux, WebPChunkId id) { - assert(mux != NULL); - switch (id) { - case WEBP_CHUNK_VP8X: return (WebPChunk**)&mux->vp8x_; - case WEBP_CHUNK_ICCP: return (WebPChunk**)&mux->iccp_; - case WEBP_CHUNK_ANIM: return (WebPChunk**)&mux->anim_; - case WEBP_CHUNK_EXIF: return (WebPChunk**)&mux->exif_; - case WEBP_CHUNK_XMP: return (WebPChunk**)&mux->xmp_; - default: return (WebPChunk**)&mux->unknown_; - } -} - -static int IsNotCompatible(int feature, int num_items) { - return (feature != 0) != (num_items > 0); -} - -#define NO_FLAG ((WebPFeatureFlags)0) - -// Test basic constraints: -// retrieval, maximum number of chunks by index (use -1 to skip) -// and feature incompatibility (use NO_FLAG to skip). -// On success returns WEBP_MUX_OK and stores the chunk count in *num. -static WebPMuxError ValidateChunk(const WebPMux* const mux, CHUNK_INDEX idx, - WebPFeatureFlags feature, - uint32_t vp8x_flags, - int max, int* num) { - const WebPMuxError err = - WebPMuxNumChunks(mux, kChunks[idx].id, num); - if (err != WEBP_MUX_OK) return err; - if (max > -1 && *num > max) return WEBP_MUX_INVALID_ARGUMENT; - if (feature != NO_FLAG && IsNotCompatible(vp8x_flags & feature, *num)) { - return WEBP_MUX_INVALID_ARGUMENT; - } - return WEBP_MUX_OK; -} - -WebPMuxError MuxValidate(const WebPMux* const mux) { - int num_iccp; - int num_exif; - int num_xmp; - int num_anim; - int num_frames; - int num_vp8x; - int num_images; - int num_alpha; - uint32_t flags; - WebPMuxError err; - - // Verify mux is not NULL. - if (mux == NULL) return WEBP_MUX_INVALID_ARGUMENT; - - // Verify mux has at least one image. - if (mux->images_ == NULL) return WEBP_MUX_INVALID_ARGUMENT; - - err = WebPMuxGetFeatures(mux, &flags); - if (err != WEBP_MUX_OK) return err; - - // At most one color profile chunk. - err = ValidateChunk(mux, IDX_ICCP, ICCP_FLAG, flags, 1, &num_iccp); - if (err != WEBP_MUX_OK) return err; - - // At most one EXIF metadata. - err = ValidateChunk(mux, IDX_EXIF, EXIF_FLAG, flags, 1, &num_exif); - if (err != WEBP_MUX_OK) return err; - - // At most one XMP metadata. - err = ValidateChunk(mux, IDX_XMP, XMP_FLAG, flags, 1, &num_xmp); - if (err != WEBP_MUX_OK) return err; - - // Animation: ANIMATION_FLAG, ANIM chunk and ANMF chunk(s) are consistent. - // At most one ANIM chunk. - err = ValidateChunk(mux, IDX_ANIM, NO_FLAG, flags, 1, &num_anim); - if (err != WEBP_MUX_OK) return err; - err = ValidateChunk(mux, IDX_ANMF, NO_FLAG, flags, -1, &num_frames); - if (err != WEBP_MUX_OK) return err; - - { - const int has_animation = !!(flags & ANIMATION_FLAG); - if (has_animation && (num_anim == 0 || num_frames == 0)) { - return WEBP_MUX_INVALID_ARGUMENT; - } - if (!has_animation && (num_anim == 1 || num_frames > 0)) { - return WEBP_MUX_INVALID_ARGUMENT; - } - if (!has_animation) { - const WebPMuxImage* images = mux->images_; - // There can be only one image. - if (images == NULL || images->next_ != NULL) { - return WEBP_MUX_INVALID_ARGUMENT; - } - // Size must match. - if (mux->canvas_width_ > 0) { - if (images->width_ != mux->canvas_width_ || - images->height_ != mux->canvas_height_) { - return WEBP_MUX_INVALID_ARGUMENT; - } - } - } - } - - // Verify either VP8X chunk is present OR there is only one elem in - // mux->images_. - err = ValidateChunk(mux, IDX_VP8X, NO_FLAG, flags, 1, &num_vp8x); - if (err != WEBP_MUX_OK) return err; - err = ValidateChunk(mux, IDX_VP8, NO_FLAG, flags, -1, &num_images); - if (err != WEBP_MUX_OK) return err; - if (num_vp8x == 0 && num_images != 1) return WEBP_MUX_INVALID_ARGUMENT; - - // ALPHA_FLAG & alpha chunk(s) are consistent. - // Note: ALPHA_FLAG can be set when there is actually no Alpha data present. - if (MuxHasAlpha(mux->images_)) { - if (num_vp8x > 0) { - // VP8X chunk is present, so it should contain ALPHA_FLAG. - if (!(flags & ALPHA_FLAG)) return WEBP_MUX_INVALID_ARGUMENT; - } else { - // VP8X chunk is not present, so ALPH chunks should NOT be present either. - err = WebPMuxNumChunks(mux, WEBP_CHUNK_ALPHA, &num_alpha); - if (err != WEBP_MUX_OK) return err; - if (num_alpha > 0) return WEBP_MUX_INVALID_ARGUMENT; - } - } - - return WEBP_MUX_OK; -} - -#undef NO_FLAG - -//------------------------------------------------------------------------------ - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxread.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxread.c deleted file mode 100644 index ae3b876b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/mux/muxread.c +++ /dev/null @@ -1,558 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Read APIs for mux. -// -// Authors: Urvang (urvang@google.com) -// Vikas (vikasa@google.com) - -#include -#include "src/mux/muxi.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// Helper method(s). - -// Handy MACRO. -#define SWITCH_ID_LIST(INDEX, LIST) \ - if (idx == (INDEX)) { \ - const WebPChunk* const chunk = ChunkSearchList((LIST), nth, \ - kChunks[(INDEX)].tag); \ - if (chunk) { \ - *data = chunk->data_; \ - return WEBP_MUX_OK; \ - } else { \ - return WEBP_MUX_NOT_FOUND; \ - } \ - } - -static WebPMuxError MuxGet(const WebPMux* const mux, CHUNK_INDEX idx, - uint32_t nth, WebPData* const data) { - assert(mux != NULL); - assert(!IsWPI(kChunks[idx].id)); - WebPDataInit(data); - - SWITCH_ID_LIST(IDX_VP8X, mux->vp8x_); - SWITCH_ID_LIST(IDX_ICCP, mux->iccp_); - SWITCH_ID_LIST(IDX_ANIM, mux->anim_); - SWITCH_ID_LIST(IDX_EXIF, mux->exif_); - SWITCH_ID_LIST(IDX_XMP, mux->xmp_); - assert(idx != IDX_UNKNOWN); - return WEBP_MUX_NOT_FOUND; -} -#undef SWITCH_ID_LIST - -// Fill the chunk with the given data (includes chunk header bytes), after some -// verifications. -static WebPMuxError ChunkVerifyAndAssign(WebPChunk* chunk, - const uint8_t* data, size_t data_size, - size_t riff_size, int copy_data) { - uint32_t chunk_size; - WebPData chunk_data; - - // Sanity checks. - if (data_size < CHUNK_HEADER_SIZE) return WEBP_MUX_NOT_ENOUGH_DATA; - chunk_size = GetLE32(data + TAG_SIZE); - if (chunk_size > MAX_CHUNK_PAYLOAD) return WEBP_MUX_BAD_DATA; - - { - const size_t chunk_disk_size = SizeWithPadding(chunk_size); - if (chunk_disk_size > riff_size) return WEBP_MUX_BAD_DATA; - if (chunk_disk_size > data_size) return WEBP_MUX_NOT_ENOUGH_DATA; - } - - // Data assignment. - chunk_data.bytes = data + CHUNK_HEADER_SIZE; - chunk_data.size = chunk_size; - return ChunkAssignData(chunk, &chunk_data, copy_data, GetLE32(data + 0)); -} - -int MuxImageFinalize(WebPMuxImage* const wpi) { - const WebPChunk* const img = wpi->img_; - const WebPData* const image = &img->data_; - const int is_lossless = (img->tag_ == kChunks[IDX_VP8L].tag); - int w, h; - int vp8l_has_alpha = 0; - const int ok = is_lossless ? - VP8LGetInfo(image->bytes, image->size, &w, &h, &vp8l_has_alpha) : - VP8GetInfo(image->bytes, image->size, image->size, &w, &h); - assert(img != NULL); - if (ok) { - // Ignore ALPH chunk accompanying VP8L. - if (is_lossless && (wpi->alpha_ != NULL)) { - ChunkDelete(wpi->alpha_); - wpi->alpha_ = NULL; - } - wpi->width_ = w; - wpi->height_ = h; - wpi->has_alpha_ = vp8l_has_alpha || (wpi->alpha_ != NULL); - } - return ok; -} - -static int MuxImageParse(const WebPChunk* const chunk, int copy_data, - WebPMuxImage* const wpi) { - const uint8_t* bytes = chunk->data_.bytes; - size_t size = chunk->data_.size; - const uint8_t* const last = (bytes == NULL) ? NULL : bytes + size; - WebPChunk subchunk; - size_t subchunk_size; - WebPChunk** unknown_chunk_list = &wpi->unknown_; - ChunkInit(&subchunk); - - assert(chunk->tag_ == kChunks[IDX_ANMF].tag); - assert(!wpi->is_partial_); - - // ANMF. - { - const size_t hdr_size = ANMF_CHUNK_SIZE; - const WebPData temp = { bytes, hdr_size }; - // Each of ANMF chunk contain a header at the beginning. So, its size should - // be at least 'hdr_size'. - if (size < hdr_size) goto Fail; - ChunkAssignData(&subchunk, &temp, copy_data, chunk->tag_); - } - ChunkSetHead(&subchunk, &wpi->header_); - wpi->is_partial_ = 1; // Waiting for ALPH and/or VP8/VP8L chunks. - - // Rest of the chunks. - subchunk_size = ChunkDiskSize(&subchunk) - CHUNK_HEADER_SIZE; - bytes += subchunk_size; - size -= subchunk_size; - - while (bytes != last) { - ChunkInit(&subchunk); - if (ChunkVerifyAndAssign(&subchunk, bytes, size, size, - copy_data) != WEBP_MUX_OK) { - goto Fail; - } - switch (ChunkGetIdFromTag(subchunk.tag_)) { - case WEBP_CHUNK_ALPHA: - if (wpi->alpha_ != NULL) goto Fail; // Consecutive ALPH chunks. - if (ChunkSetHead(&subchunk, &wpi->alpha_) != WEBP_MUX_OK) goto Fail; - wpi->is_partial_ = 1; // Waiting for a VP8 chunk. - break; - case WEBP_CHUNK_IMAGE: - if (wpi->img_ != NULL) goto Fail; // Only 1 image chunk allowed. - if (ChunkSetHead(&subchunk, &wpi->img_) != WEBP_MUX_OK) goto Fail; - if (!MuxImageFinalize(wpi)) goto Fail; - wpi->is_partial_ = 0; // wpi is completely filled. - break; - case WEBP_CHUNK_UNKNOWN: - if (wpi->is_partial_) { - goto Fail; // Encountered an unknown chunk - // before some image chunks. - } - if (ChunkAppend(&subchunk, &unknown_chunk_list) != WEBP_MUX_OK) { - goto Fail; - } - break; - default: - goto Fail; - break; - } - subchunk_size = ChunkDiskSize(&subchunk); - bytes += subchunk_size; - size -= subchunk_size; - } - if (wpi->is_partial_) goto Fail; - return 1; - - Fail: - ChunkRelease(&subchunk); - return 0; -} - -//------------------------------------------------------------------------------ -// Create a mux object from WebP-RIFF data. - -WebPMux* WebPMuxCreateInternal(const WebPData* bitstream, int copy_data, - int version) { - size_t riff_size; - uint32_t tag; - const uint8_t* end; - WebPMux* mux = NULL; - WebPMuxImage* wpi = NULL; - const uint8_t* data; - size_t size; - WebPChunk chunk; - // Stores the end of the chunk lists so that it is faster to append data to - // their ends. - WebPChunk** chunk_list_ends[WEBP_CHUNK_NIL + 1] = { NULL }; - ChunkInit(&chunk); - - // Sanity checks. - if (WEBP_ABI_IS_INCOMPATIBLE(version, WEBP_MUX_ABI_VERSION)) { - return NULL; // version mismatch - } - if (bitstream == NULL) return NULL; - - data = bitstream->bytes; - size = bitstream->size; - - if (data == NULL) return NULL; - if (size < RIFF_HEADER_SIZE + CHUNK_HEADER_SIZE) return NULL; - if (GetLE32(data + 0) != MKFOURCC('R', 'I', 'F', 'F') || - GetLE32(data + CHUNK_HEADER_SIZE) != MKFOURCC('W', 'E', 'B', 'P')) { - return NULL; - } - - mux = WebPMuxNew(); - if (mux == NULL) return NULL; - - tag = GetLE32(data + RIFF_HEADER_SIZE); - if (tag != kChunks[IDX_VP8].tag && - tag != kChunks[IDX_VP8L].tag && - tag != kChunks[IDX_VP8X].tag) { - goto Err; // First chunk should be VP8, VP8L or VP8X. - } - - riff_size = GetLE32(data + TAG_SIZE); - if (riff_size > MAX_CHUNK_PAYLOAD) goto Err; - - // Note this padding is historical and differs from demux.c which does not - // pad the file size. - riff_size = SizeWithPadding(riff_size); - if (riff_size < CHUNK_HEADER_SIZE) goto Err; - if (riff_size > size) goto Err; - // There's no point in reading past the end of the RIFF chunk. - if (size > riff_size + CHUNK_HEADER_SIZE) { - size = riff_size + CHUNK_HEADER_SIZE; - } - - end = data + size; - data += RIFF_HEADER_SIZE; - size -= RIFF_HEADER_SIZE; - - wpi = (WebPMuxImage*)WebPSafeMalloc(1ULL, sizeof(*wpi)); - if (wpi == NULL) goto Err; - MuxImageInit(wpi); - - // Loop over chunks. - while (data != end) { - size_t data_size; - WebPChunkId id; - if (ChunkVerifyAndAssign(&chunk, data, size, riff_size, - copy_data) != WEBP_MUX_OK) { - goto Err; - } - data_size = ChunkDiskSize(&chunk); - id = ChunkGetIdFromTag(chunk.tag_); - switch (id) { - case WEBP_CHUNK_ALPHA: - if (wpi->alpha_ != NULL) goto Err; // Consecutive ALPH chunks. - if (ChunkSetHead(&chunk, &wpi->alpha_) != WEBP_MUX_OK) goto Err; - wpi->is_partial_ = 1; // Waiting for a VP8 chunk. - break; - case WEBP_CHUNK_IMAGE: - if (ChunkSetHead(&chunk, &wpi->img_) != WEBP_MUX_OK) goto Err; - if (!MuxImageFinalize(wpi)) goto Err; - wpi->is_partial_ = 0; // wpi is completely filled. - PushImage: - // Add this to mux->images_ list. - if (MuxImagePush(wpi, &mux->images_) != WEBP_MUX_OK) goto Err; - MuxImageInit(wpi); // Reset for reading next image. - break; - case WEBP_CHUNK_ANMF: - if (wpi->is_partial_) goto Err; // Previous wpi is still incomplete. - if (!MuxImageParse(&chunk, copy_data, wpi)) goto Err; - ChunkRelease(&chunk); - goto PushImage; - break; - default: // A non-image chunk. - if (wpi->is_partial_) goto Err; // Encountered a non-image chunk before - // getting all chunks of an image. - if (chunk_list_ends[id] == NULL) { - chunk_list_ends[id] = - MuxGetChunkListFromId(mux, id); // List to add this chunk. - } - if (ChunkAppend(&chunk, &chunk_list_ends[id]) != WEBP_MUX_OK) goto Err; - if (id == WEBP_CHUNK_VP8X) { // grab global specs - if (data_size < CHUNK_HEADER_SIZE + VP8X_CHUNK_SIZE) goto Err; - mux->canvas_width_ = GetLE24(data + 12) + 1; - mux->canvas_height_ = GetLE24(data + 15) + 1; - } - break; - } - data += data_size; - size -= data_size; - ChunkInit(&chunk); - } - - // Incomplete image. - if (wpi->is_partial_) goto Err; - - // Validate mux if complete. - if (MuxValidate(mux) != WEBP_MUX_OK) goto Err; - - MuxImageDelete(wpi); - return mux; // All OK; - - Err: // Something bad happened. - ChunkRelease(&chunk); - MuxImageDelete(wpi); - WebPMuxDelete(mux); - return NULL; -} - -//------------------------------------------------------------------------------ -// Get API(s). - -// Validates that the given mux has a single image. -static WebPMuxError ValidateForSingleImage(const WebPMux* const mux) { - const int num_images = MuxImageCount(mux->images_, WEBP_CHUNK_IMAGE); - const int num_frames = MuxImageCount(mux->images_, WEBP_CHUNK_ANMF); - - if (num_images == 0) { - // No images in mux. - return WEBP_MUX_NOT_FOUND; - } else if (num_images == 1 && num_frames == 0) { - // Valid case (single image). - return WEBP_MUX_OK; - } else { - // Frame case OR an invalid mux. - return WEBP_MUX_INVALID_ARGUMENT; - } -} - -// Get the canvas width, height and flags after validating that VP8X/VP8/VP8L -// chunk and canvas size are valid. -static WebPMuxError MuxGetCanvasInfo(const WebPMux* const mux, - int* width, int* height, uint32_t* flags) { - int w, h; - uint32_t f = 0; - WebPData data; - assert(mux != NULL); - - // Check if VP8X chunk is present. - if (MuxGet(mux, IDX_VP8X, 1, &data) == WEBP_MUX_OK) { - if (data.size < VP8X_CHUNK_SIZE) return WEBP_MUX_BAD_DATA; - f = GetLE32(data.bytes + 0); - w = GetLE24(data.bytes + 4) + 1; - h = GetLE24(data.bytes + 7) + 1; - } else { - const WebPMuxImage* const wpi = mux->images_; - // Grab user-forced canvas size as default. - w = mux->canvas_width_; - h = mux->canvas_height_; - if (w == 0 && h == 0 && ValidateForSingleImage(mux) == WEBP_MUX_OK) { - // single image and not forced canvas size => use dimension of first frame - assert(wpi != NULL); - w = wpi->width_; - h = wpi->height_; - } - if (wpi != NULL) { - if (wpi->has_alpha_) f |= ALPHA_FLAG; - } - } - if (w * (uint64_t)h >= MAX_IMAGE_AREA) return WEBP_MUX_BAD_DATA; - - if (width != NULL) *width = w; - if (height != NULL) *height = h; - if (flags != NULL) *flags = f; - return WEBP_MUX_OK; -} - -WebPMuxError WebPMuxGetCanvasSize(const WebPMux* mux, int* width, int* height) { - if (mux == NULL || width == NULL || height == NULL) { - return WEBP_MUX_INVALID_ARGUMENT; - } - return MuxGetCanvasInfo(mux, width, height, NULL); -} - -WebPMuxError WebPMuxGetFeatures(const WebPMux* mux, uint32_t* flags) { - if (mux == NULL || flags == NULL) return WEBP_MUX_INVALID_ARGUMENT; - return MuxGetCanvasInfo(mux, NULL, NULL, flags); -} - -static uint8_t* EmitVP8XChunk(uint8_t* const dst, int width, - int height, uint32_t flags) { - const size_t vp8x_size = CHUNK_HEADER_SIZE + VP8X_CHUNK_SIZE; - assert(width >= 1 && height >= 1); - assert(width <= MAX_CANVAS_SIZE && height <= MAX_CANVAS_SIZE); - assert(width * (uint64_t)height < MAX_IMAGE_AREA); - PutLE32(dst, MKFOURCC('V', 'P', '8', 'X')); - PutLE32(dst + TAG_SIZE, VP8X_CHUNK_SIZE); - PutLE32(dst + CHUNK_HEADER_SIZE, flags); - PutLE24(dst + CHUNK_HEADER_SIZE + 4, width - 1); - PutLE24(dst + CHUNK_HEADER_SIZE + 7, height - 1); - return dst + vp8x_size; -} - -// Assemble a single image WebP bitstream from 'wpi'. -static WebPMuxError SynthesizeBitstream(const WebPMuxImage* const wpi, - WebPData* const bitstream) { - uint8_t* dst; - - // Allocate data. - const int need_vp8x = (wpi->alpha_ != NULL); - const size_t vp8x_size = need_vp8x ? CHUNK_HEADER_SIZE + VP8X_CHUNK_SIZE : 0; - const size_t alpha_size = need_vp8x ? ChunkDiskSize(wpi->alpha_) : 0; - // Note: No need to output ANMF chunk for a single image. - const size_t size = RIFF_HEADER_SIZE + vp8x_size + alpha_size + - ChunkDiskSize(wpi->img_); - uint8_t* const data = (uint8_t*)WebPSafeMalloc(1ULL, size); - if (data == NULL) return WEBP_MUX_MEMORY_ERROR; - - // There should be at most one alpha_ chunk and exactly one img_ chunk. - assert(wpi->alpha_ == NULL || wpi->alpha_->next_ == NULL); - assert(wpi->img_ != NULL && wpi->img_->next_ == NULL); - - // Main RIFF header. - dst = MuxEmitRiffHeader(data, size); - - if (need_vp8x) { - dst = EmitVP8XChunk(dst, wpi->width_, wpi->height_, ALPHA_FLAG); // VP8X. - dst = ChunkListEmit(wpi->alpha_, dst); // ALPH. - } - - // Bitstream. - dst = ChunkListEmit(wpi->img_, dst); - assert(dst == data + size); - - // Output. - bitstream->bytes = data; - bitstream->size = size; - return WEBP_MUX_OK; -} - -WebPMuxError WebPMuxGetChunk(const WebPMux* mux, const char fourcc[4], - WebPData* chunk_data) { - CHUNK_INDEX idx; - if (mux == NULL || fourcc == NULL || chunk_data == NULL) { - return WEBP_MUX_INVALID_ARGUMENT; - } - idx = ChunkGetIndexFromFourCC(fourcc); - if (IsWPI(kChunks[idx].id)) { // An image chunk. - return WEBP_MUX_INVALID_ARGUMENT; - } else if (idx != IDX_UNKNOWN) { // A known chunk type. - return MuxGet(mux, idx, 1, chunk_data); - } else { // An unknown chunk type. - const WebPChunk* const chunk = - ChunkSearchList(mux->unknown_, 1, ChunkGetTagFromFourCC(fourcc)); - if (chunk == NULL) return WEBP_MUX_NOT_FOUND; - *chunk_data = chunk->data_; - return WEBP_MUX_OK; - } -} - -static WebPMuxError MuxGetImageInternal(const WebPMuxImage* const wpi, - WebPMuxFrameInfo* const info) { - // Set some defaults for unrelated fields. - info->x_offset = 0; - info->y_offset = 0; - info->duration = 1; - info->dispose_method = WEBP_MUX_DISPOSE_NONE; - info->blend_method = WEBP_MUX_BLEND; - // Extract data for related fields. - info->id = ChunkGetIdFromTag(wpi->img_->tag_); - return SynthesizeBitstream(wpi, &info->bitstream); -} - -static WebPMuxError MuxGetFrameInternal(const WebPMuxImage* const wpi, - WebPMuxFrameInfo* const frame) { - const int is_frame = (wpi->header_->tag_ == kChunks[IDX_ANMF].tag); - const WebPData* frame_data; - if (!is_frame) return WEBP_MUX_INVALID_ARGUMENT; - assert(wpi->header_ != NULL); // Already checked by WebPMuxGetFrame(). - // Get frame chunk. - frame_data = &wpi->header_->data_; - if (frame_data->size < kChunks[IDX_ANMF].size) return WEBP_MUX_BAD_DATA; - // Extract info. - frame->x_offset = 2 * GetLE24(frame_data->bytes + 0); - frame->y_offset = 2 * GetLE24(frame_data->bytes + 3); - { - const uint8_t bits = frame_data->bytes[15]; - frame->duration = GetLE24(frame_data->bytes + 12); - frame->dispose_method = - (bits & 1) ? WEBP_MUX_DISPOSE_BACKGROUND : WEBP_MUX_DISPOSE_NONE; - frame->blend_method = (bits & 2) ? WEBP_MUX_NO_BLEND : WEBP_MUX_BLEND; - } - frame->id = ChunkGetIdFromTag(wpi->header_->tag_); - return SynthesizeBitstream(wpi, &frame->bitstream); -} - -WebPMuxError WebPMuxGetFrame( - const WebPMux* mux, uint32_t nth, WebPMuxFrameInfo* frame) { - WebPMuxError err; - WebPMuxImage* wpi; - - // Sanity checks. - if (mux == NULL || frame == NULL) { - return WEBP_MUX_INVALID_ARGUMENT; - } - - // Get the nth WebPMuxImage. - err = MuxImageGetNth((const WebPMuxImage**)&mux->images_, nth, &wpi); - if (err != WEBP_MUX_OK) return err; - - // Get frame info. - if (wpi->header_ == NULL) { - return MuxGetImageInternal(wpi, frame); - } else { - return MuxGetFrameInternal(wpi, frame); - } -} - -WebPMuxError WebPMuxGetAnimationParams(const WebPMux* mux, - WebPMuxAnimParams* params) { - WebPData anim; - WebPMuxError err; - - if (mux == NULL || params == NULL) return WEBP_MUX_INVALID_ARGUMENT; - - err = MuxGet(mux, IDX_ANIM, 1, &anim); - if (err != WEBP_MUX_OK) return err; - if (anim.size < kChunks[WEBP_CHUNK_ANIM].size) return WEBP_MUX_BAD_DATA; - params->bgcolor = GetLE32(anim.bytes); - params->loop_count = GetLE16(anim.bytes + 4); - - return WEBP_MUX_OK; -} - -// Get chunk index from chunk id. Returns IDX_NIL if not found. -static CHUNK_INDEX ChunkGetIndexFromId(WebPChunkId id) { - int i; - for (i = 0; kChunks[i].id != WEBP_CHUNK_NIL; ++i) { - if (id == kChunks[i].id) return (CHUNK_INDEX)i; - } - return IDX_NIL; -} - -// Count number of chunks matching 'tag' in the 'chunk_list'. -// If tag == NIL_TAG, any tag will be matched. -static int CountChunks(const WebPChunk* const chunk_list, uint32_t tag) { - int count = 0; - const WebPChunk* current; - for (current = chunk_list; current != NULL; current = current->next_) { - if (tag == NIL_TAG || current->tag_ == tag) { - count++; // Count chunks whose tags match. - } - } - return count; -} - -WebPMuxError WebPMuxNumChunks(const WebPMux* mux, - WebPChunkId id, int* num_elements) { - if (mux == NULL || num_elements == NULL) { - return WEBP_MUX_INVALID_ARGUMENT; - } - - if (IsWPI(id)) { - *num_elements = MuxImageCount(mux->images_, id); - } else { - WebPChunk* const* chunk_list = MuxGetChunkListFromId(mux, id); - const CHUNK_INDEX idx = ChunkGetIndexFromId(id); - *num_elements = CountChunks(*chunk_list, kChunks[idx].tag); - } - - return WEBP_MUX_OK; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/Makefile.am b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/Makefile.am deleted file mode 100644 index fbb0fe73..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -AM_CPPFLAGS += -I$(top_builddir) -I$(top_srcdir) -noinst_LTLIBRARIES = libwebputils.la - -if BUILD_LIBWEBPDECODER - noinst_LTLIBRARIES += libwebputilsdecode.la -endif - -common_HEADERS = ../webp/types.h -commondir = $(includedir)/webp - -noinst_HEADERS = -noinst_HEADERS += ../dsp/dsp.h -noinst_HEADERS += ../webp/decode.h -noinst_HEADERS += ../webp/encode.h -noinst_HEADERS += ../webp/format_constants.h - -COMMON_SOURCES = -COMMON_SOURCES += bit_reader_utils.c -COMMON_SOURCES += bit_reader_utils.h -COMMON_SOURCES += bit_reader_inl_utils.h -COMMON_SOURCES += color_cache_utils.c -COMMON_SOURCES += color_cache_utils.h -COMMON_SOURCES += endian_inl_utils.h -COMMON_SOURCES += filters_utils.c -COMMON_SOURCES += filters_utils.h -COMMON_SOURCES += huffman_utils.c -COMMON_SOURCES += huffman_utils.h -COMMON_SOURCES += quant_levels_dec_utils.c -COMMON_SOURCES += quant_levels_dec_utils.h -COMMON_SOURCES += rescaler_utils.c -COMMON_SOURCES += rescaler_utils.h -COMMON_SOURCES += random_utils.c -COMMON_SOURCES += random_utils.h -COMMON_SOURCES += thread_utils.c -COMMON_SOURCES += thread_utils.h -COMMON_SOURCES += utils.c -COMMON_SOURCES += utils.h - -ENC_SOURCES = -ENC_SOURCES += bit_writer_utils.c -ENC_SOURCES += bit_writer_utils.h -ENC_SOURCES += huffman_encode_utils.c -ENC_SOURCES += huffman_encode_utils.h -ENC_SOURCES += quant_levels_utils.c -ENC_SOURCES += quant_levels_utils.h - -libwebputils_la_SOURCES = $(COMMON_SOURCES) $(ENC_SOURCES) - -if BUILD_LIBWEBPDECODER - libwebputilsdecode_la_SOURCES = $(COMMON_SOURCES) -endif diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_reader_inl_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_reader_inl_utils.h deleted file mode 100644 index 46b38807..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_reader_inl_utils.h +++ /dev/null @@ -1,195 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Specific inlined methods for boolean decoder [VP8GetBit() ...] -// This file should be included by the .c sources that actually need to call -// these methods. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_UTILS_BIT_READER_INL_UTILS_H_ -#define WEBP_UTILS_BIT_READER_INL_UTILS_H_ - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#include // for memcpy - -#include "src/dsp/dsp.h" -#include "src/utils/bit_reader_utils.h" -#include "src/utils/endian_inl_utils.h" -#include "src/utils/utils.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// Derived type lbit_t = natural type for memory I/O - -#if (BITS > 32) -typedef uint64_t lbit_t; -#elif (BITS > 16) -typedef uint32_t lbit_t; -#elif (BITS > 8) -typedef uint16_t lbit_t; -#else -typedef uint8_t lbit_t; -#endif - -extern const uint8_t kVP8Log2Range[128]; -extern const uint8_t kVP8NewRange[128]; - -// special case for the tail byte-reading -void VP8LoadFinalBytes(VP8BitReader* const br); - -//------------------------------------------------------------------------------ -// Inlined critical functions - -// makes sure br->value_ has at least BITS bits worth of data -static WEBP_UBSAN_IGNORE_UNDEF WEBP_INLINE -void VP8LoadNewBytes(VP8BitReader* const br) { - assert(br != NULL && br->buf_ != NULL); - // Read 'BITS' bits at a time if possible. - if (br->buf_ < br->buf_max_) { - // convert memory type to register type (with some zero'ing!) - bit_t bits; -#if defined(WEBP_USE_MIPS32) - // This is needed because of un-aligned read. - lbit_t in_bits; - lbit_t* p_buf_ = (lbit_t*)br->buf_; - __asm__ volatile( - ".set push \n\t" - ".set at \n\t" - ".set macro \n\t" - "ulw %[in_bits], 0(%[p_buf_]) \n\t" - ".set pop \n\t" - : [in_bits]"=r"(in_bits) - : [p_buf_]"r"(p_buf_) - : "memory", "at" - ); -#else - lbit_t in_bits; - memcpy(&in_bits, br->buf_, sizeof(in_bits)); -#endif - br->buf_ += BITS >> 3; -#if !defined(WORDS_BIGENDIAN) -#if (BITS > 32) - bits = BSwap64(in_bits); - bits >>= 64 - BITS; -#elif (BITS >= 24) - bits = BSwap32(in_bits); - bits >>= (32 - BITS); -#elif (BITS == 16) - bits = BSwap16(in_bits); -#else // BITS == 8 - bits = (bit_t)in_bits; -#endif // BITS > 32 -#else // WORDS_BIGENDIAN - bits = (bit_t)in_bits; - if (BITS != 8 * sizeof(bit_t)) bits >>= (8 * sizeof(bit_t) - BITS); -#endif - br->value_ = bits | (br->value_ << BITS); - br->bits_ += BITS; - } else { - VP8LoadFinalBytes(br); // no need to be inlined - } -} - -// Read a bit with proba 'prob'. Speed-critical function! -static WEBP_INLINE int VP8GetBit(VP8BitReader* const br, - int prob, const char label[]) { - // Don't move this declaration! It makes a big speed difference to store - // 'range' *before* calling VP8LoadNewBytes(), even if this function doesn't - // alter br->range_ value. - range_t range = br->range_; - if (br->bits_ < 0) { - VP8LoadNewBytes(br); - } - { - const int pos = br->bits_; - const range_t split = (range * prob) >> 8; - const range_t value = (range_t)(br->value_ >> pos); - const int bit = (value > split); - if (bit) { - range -= split; - br->value_ -= (bit_t)(split + 1) << pos; - } else { - range = split + 1; - } - { - const int shift = 7 ^ BitsLog2Floor(range); - range <<= shift; - br->bits_ -= shift; - } - br->range_ = range - 1; - BT_TRACK(br); - return bit; - } -} - -// simplified version of VP8GetBit() for prob=0x80 (note shift is always 1 here) -static WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW WEBP_INLINE -int VP8GetSigned(VP8BitReader* const br, int v, const char label[]) { - if (br->bits_ < 0) { - VP8LoadNewBytes(br); - } - { - const int pos = br->bits_; - const range_t split = br->range_ >> 1; - const range_t value = (range_t)(br->value_ >> pos); - const int32_t mask = (int32_t)(split - value) >> 31; // -1 or 0 - br->bits_ -= 1; - br->range_ += mask; - br->range_ |= 1; - br->value_ -= (bit_t)((split + 1) & mask) << pos; - BT_TRACK(br); - return (v ^ mask) - mask; - } -} - -static WEBP_INLINE int VP8GetBitAlt(VP8BitReader* const br, - int prob, const char label[]) { - // Don't move this declaration! It makes a big speed difference to store - // 'range' *before* calling VP8LoadNewBytes(), even if this function doesn't - // alter br->range_ value. - range_t range = br->range_; - if (br->bits_ < 0) { - VP8LoadNewBytes(br); - } - { - const int pos = br->bits_; - const range_t split = (range * prob) >> 8; - const range_t value = (range_t)(br->value_ >> pos); - int bit; // Don't use 'const int bit = (value > split);", it's slower. - if (value > split) { - range -= split + 1; - br->value_ -= (bit_t)(split + 1) << pos; - bit = 1; - } else { - range = split; - bit = 0; - } - if (range <= (range_t)0x7e) { - const int shift = kVP8Log2Range[range]; - range = kVP8NewRange[range]; - br->bits_ -= shift; - } - br->range_ = range; - BT_TRACK(br); - return bit; - } -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_BIT_READER_INL_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.c deleted file mode 100644 index 857cd609..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.c +++ /dev/null @@ -1,298 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Boolean decoder non-inlined methods -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#include "src/utils/bit_reader_inl_utils.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// VP8BitReader - -void VP8BitReaderSetBuffer(VP8BitReader* const br, - const uint8_t* const start, - size_t size) { - br->buf_ = start; - br->buf_end_ = start + size; - br->buf_max_ = - (size >= sizeof(lbit_t)) ? start + size - sizeof(lbit_t) + 1 - : start; -} - -void VP8InitBitReader(VP8BitReader* const br, - const uint8_t* const start, size_t size) { - assert(br != NULL); - assert(start != NULL); - assert(size < (1u << 31)); // limit ensured by format and upstream checks - br->range_ = 255 - 1; - br->value_ = 0; - br->bits_ = -8; // to load the very first 8bits - br->eof_ = 0; - VP8BitReaderSetBuffer(br, start, size); - VP8LoadNewBytes(br); -} - -void VP8RemapBitReader(VP8BitReader* const br, ptrdiff_t offset) { - if (br->buf_ != NULL) { - br->buf_ += offset; - br->buf_end_ += offset; - br->buf_max_ += offset; - } -} - -const uint8_t kVP8Log2Range[128] = { - 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0 -}; - -// range = ((range - 1) << kVP8Log2Range[range]) + 1 -const uint8_t kVP8NewRange[128] = { - 127, 127, 191, 127, 159, 191, 223, 127, - 143, 159, 175, 191, 207, 223, 239, 127, - 135, 143, 151, 159, 167, 175, 183, 191, - 199, 207, 215, 223, 231, 239, 247, 127, - 131, 135, 139, 143, 147, 151, 155, 159, - 163, 167, 171, 175, 179, 183, 187, 191, - 195, 199, 203, 207, 211, 215, 219, 223, - 227, 231, 235, 239, 243, 247, 251, 127, - 129, 131, 133, 135, 137, 139, 141, 143, - 145, 147, 149, 151, 153, 155, 157, 159, - 161, 163, 165, 167, 169, 171, 173, 175, - 177, 179, 181, 183, 185, 187, 189, 191, - 193, 195, 197, 199, 201, 203, 205, 207, - 209, 211, 213, 215, 217, 219, 221, 223, - 225, 227, 229, 231, 233, 235, 237, 239, - 241, 243, 245, 247, 249, 251, 253, 127 -}; - -void VP8LoadFinalBytes(VP8BitReader* const br) { - assert(br != NULL && br->buf_ != NULL); - // Only read 8bits at a time - if (br->buf_ < br->buf_end_) { - br->bits_ += 8; - br->value_ = (bit_t)(*br->buf_++) | (br->value_ << 8); - } else if (!br->eof_) { - br->value_ <<= 8; - br->bits_ += 8; - br->eof_ = 1; - } else { - br->bits_ = 0; // This is to avoid undefined behaviour with shifts. - } -} - -//------------------------------------------------------------------------------ -// Higher-level calls - -uint32_t VP8GetValue(VP8BitReader* const br, int bits, const char label[]) { - uint32_t v = 0; - while (bits-- > 0) { - v |= VP8GetBit(br, 0x80, label) << bits; - } - return v; -} - -int32_t VP8GetSignedValue(VP8BitReader* const br, int bits, - const char label[]) { - const int value = VP8GetValue(br, bits, label); - return VP8Get(br, label) ? -value : value; -} - -//------------------------------------------------------------------------------ -// VP8LBitReader - -#define VP8L_LOG8_WBITS 4 // Number of bytes needed to store VP8L_WBITS bits. - -#if defined(__arm__) || defined(_M_ARM) || defined(__aarch64__) || \ - defined(__i386__) || defined(_M_IX86) || \ - defined(__x86_64__) || defined(_M_X64) -#define VP8L_USE_FAST_LOAD -#endif - -static const uint32_t kBitMask[VP8L_MAX_NUM_BIT_READ + 1] = { - 0, - 0x000001, 0x000003, 0x000007, 0x00000f, - 0x00001f, 0x00003f, 0x00007f, 0x0000ff, - 0x0001ff, 0x0003ff, 0x0007ff, 0x000fff, - 0x001fff, 0x003fff, 0x007fff, 0x00ffff, - 0x01ffff, 0x03ffff, 0x07ffff, 0x0fffff, - 0x1fffff, 0x3fffff, 0x7fffff, 0xffffff -}; - -void VP8LInitBitReader(VP8LBitReader* const br, const uint8_t* const start, - size_t length) { - size_t i; - vp8l_val_t value = 0; - assert(br != NULL); - assert(start != NULL); - assert(length < 0xfffffff8u); // can't happen with a RIFF chunk. - - br->len_ = length; - br->val_ = 0; - br->bit_pos_ = 0; - br->eos_ = 0; - - if (length > sizeof(br->val_)) { - length = sizeof(br->val_); - } - for (i = 0; i < length; ++i) { - value |= (vp8l_val_t)start[i] << (8 * i); - } - br->val_ = value; - br->pos_ = length; - br->buf_ = start; -} - -void VP8LBitReaderSetBuffer(VP8LBitReader* const br, - const uint8_t* const buf, size_t len) { - assert(br != NULL); - assert(buf != NULL); - assert(len < 0xfffffff8u); // can't happen with a RIFF chunk. - br->buf_ = buf; - br->len_ = len; - // pos_ > len_ should be considered a param error. - br->eos_ = (br->pos_ > br->len_) || VP8LIsEndOfStream(br); -} - -static void VP8LSetEndOfStream(VP8LBitReader* const br) { - br->eos_ = 1; - br->bit_pos_ = 0; // To avoid undefined behaviour with shifts. -} - -// If not at EOS, reload up to VP8L_LBITS byte-by-byte -static void ShiftBytes(VP8LBitReader* const br) { - while (br->bit_pos_ >= 8 && br->pos_ < br->len_) { - br->val_ >>= 8; - br->val_ |= ((vp8l_val_t)br->buf_[br->pos_]) << (VP8L_LBITS - 8); - ++br->pos_; - br->bit_pos_ -= 8; - } - if (VP8LIsEndOfStream(br)) { - VP8LSetEndOfStream(br); - } -} - -void VP8LDoFillBitWindow(VP8LBitReader* const br) { - assert(br->bit_pos_ >= VP8L_WBITS); -#if defined(VP8L_USE_FAST_LOAD) - if (br->pos_ + sizeof(br->val_) < br->len_) { - br->val_ >>= VP8L_WBITS; - br->bit_pos_ -= VP8L_WBITS; - br->val_ |= (vp8l_val_t)HToLE32(WebPMemToUint32(br->buf_ + br->pos_)) << - (VP8L_LBITS - VP8L_WBITS); - br->pos_ += VP8L_LOG8_WBITS; - return; - } -#endif - ShiftBytes(br); // Slow path. -} - -uint32_t VP8LReadBits(VP8LBitReader* const br, int n_bits) { - assert(n_bits >= 0); - // Flag an error if end_of_stream or n_bits is more than allowed limit. - if (!br->eos_ && n_bits <= VP8L_MAX_NUM_BIT_READ) { - const uint32_t val = VP8LPrefetchBits(br) & kBitMask[n_bits]; - const int new_bits = br->bit_pos_ + n_bits; - br->bit_pos_ = new_bits; - ShiftBytes(br); - return val; - } else { - VP8LSetEndOfStream(br); - return 0; - } -} - -//------------------------------------------------------------------------------ -// Bit-tracing tool - -#if (BITTRACE > 0) - -#include // for atexit() -#include -#include - -#define MAX_NUM_LABELS 32 -static struct { - const char* label; - int size; - int count; -} kLabels[MAX_NUM_LABELS]; - -static int last_label = 0; -static int last_pos = 0; -static const uint8_t* buf_start = NULL; -static int init_done = 0; - -static void PrintBitTraces(void) { - int i; - int scale = 1; - int total = 0; - const char* units = "bits"; -#if (BITTRACE == 2) - scale = 8; - units = "bytes"; -#endif - for (i = 0; i < last_label; ++i) total += kLabels[i].size; - if (total < 1) total = 1; // avoid rounding errors - printf("=== Bit traces ===\n"); - for (i = 0; i < last_label; ++i) { - const int skip = 16 - (int)strlen(kLabels[i].label); - const int value = (kLabels[i].size + scale - 1) / scale; - assert(skip > 0); - printf("%s \%*s: %6d %s \t[%5.2f%%] [count: %7d]\n", - kLabels[i].label, skip, "", value, units, - 100.f * kLabels[i].size / total, - kLabels[i].count); - } - total = (total + scale - 1) / scale; - printf("Total: %d %s\n", total, units); -} - -void BitTrace(const struct VP8BitReader* const br, const char label[]) { - int i, pos; - if (!init_done) { - memset(kLabels, 0, sizeof(kLabels)); - atexit(PrintBitTraces); - buf_start = br->buf_; - init_done = 1; - } - pos = (int)(br->buf_ - buf_start) * 8 - br->bits_; - // if there's a too large jump, we've changed partition -> reset counter - if (abs(pos - last_pos) > 32) { - buf_start = br->buf_; - pos = 0; - last_pos = 0; - } - if (br->range_ >= 0x7f) pos += kVP8Log2Range[br->range_ - 0x7f]; - for (i = 0; i < last_label; ++i) { - if (!strcmp(label, kLabels[i].label)) break; - } - if (i == MAX_NUM_LABELS) abort(); // overflow! - kLabels[i].label = label; - kLabels[i].size += pos - last_pos; - kLabels[i].count += 1; - if (i == last_label) ++last_label; - last_pos = pos; -} - -#endif // BITTRACE > 0 - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h deleted file mode 100644 index e64156e3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h +++ /dev/null @@ -1,194 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Boolean decoder -// -// Author: Skal (pascal.massimino@gmail.com) -// Vikas Arora (vikaas.arora@gmail.com) - -#ifndef WEBP_UTILS_BIT_READER_UTILS_H_ -#define WEBP_UTILS_BIT_READER_UTILS_H_ - -#include -#ifdef _MSC_VER -#include // _byteswap_ulong -#endif -#include "src/webp/types.h" - -// Warning! This macro triggers quite some MACRO wizardry around func signature! -#if !defined(BITTRACE) -#define BITTRACE 0 // 0 = off, 1 = print bits, 2 = print bytes -#endif - -#if (BITTRACE > 0) -struct VP8BitReader; -extern void BitTrace(const struct VP8BitReader* const br, const char label[]); -#define BT_TRACK(br) BitTrace(br, label) -#define VP8Get(BR, L) VP8GetValue(BR, 1, L) -#else -#define BT_TRACK(br) -// We'll REMOVE the 'const char label[]' from all signatures and calls (!!): -#define VP8GetValue(BR, N, L) VP8GetValue(BR, N) -#define VP8Get(BR, L) VP8GetValue(BR, 1, L) -#define VP8GetSignedValue(BR, N, L) VP8GetSignedValue(BR, N) -#define VP8GetBit(BR, P, L) VP8GetBit(BR, P) -#define VP8GetBitAlt(BR, P, L) VP8GetBitAlt(BR, P) -#define VP8GetSigned(BR, V, L) VP8GetSigned(BR, V) -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -// The Boolean decoder needs to maintain infinite precision on the value_ field. -// However, since range_ is only 8bit, we only need an active window of 8 bits -// for value_. Left bits (MSB) gets zeroed and shifted away when value_ falls -// below 128, range_ is updated, and fresh bits read from the bitstream are -// brought in as LSB. To avoid reading the fresh bits one by one (slow), we -// cache BITS of them ahead. The total of (BITS + 8) bits must fit into a -// natural register (with type bit_t). To fetch BITS bits from bitstream we -// use a type lbit_t. -// -// BITS can be any multiple of 8 from 8 to 56 (inclusive). -// Pick values that fit natural register size. - -#if defined(__i386__) || defined(_M_IX86) // x86 32bit -#define BITS 24 -#elif defined(__x86_64__) || defined(_M_X64) // x86 64bit -#define BITS 56 -#elif defined(__arm__) || defined(_M_ARM) // ARM -#define BITS 24 -#elif defined(__aarch64__) // ARM 64bit -#define BITS 56 -#elif defined(__mips__) // MIPS -#define BITS 24 -#else // reasonable default -#define BITS 24 -#endif - -//------------------------------------------------------------------------------ -// Derived types and constants: -// bit_t = natural register type for storing 'value_' (which is BITS+8 bits) -// range_t = register for 'range_' (which is 8bits only) - -#if (BITS > 24) -typedef uint64_t bit_t; -#else -typedef uint32_t bit_t; -#endif - -typedef uint32_t range_t; - -//------------------------------------------------------------------------------ -// Bitreader - -typedef struct VP8BitReader VP8BitReader; -struct VP8BitReader { - // boolean decoder (keep the field ordering as is!) - bit_t value_; // current value - range_t range_; // current range minus 1. In [127, 254] interval. - int bits_; // number of valid bits left - // read buffer - const uint8_t* buf_; // next byte to be read - const uint8_t* buf_end_; // end of read buffer - const uint8_t* buf_max_; // max packed-read position on buffer - int eof_; // true if input is exhausted -}; - -// Initialize the bit reader and the boolean decoder. -void VP8InitBitReader(VP8BitReader* const br, - const uint8_t* const start, size_t size); -// Sets the working read buffer. -void VP8BitReaderSetBuffer(VP8BitReader* const br, - const uint8_t* const start, size_t size); - -// Update internal pointers to displace the byte buffer by the -// relative offset 'offset'. -void VP8RemapBitReader(VP8BitReader* const br, ptrdiff_t offset); - -// return the next value made of 'num_bits' bits -uint32_t VP8GetValue(VP8BitReader* const br, int num_bits, const char label[]); - -// return the next value with sign-extension. -int32_t VP8GetSignedValue(VP8BitReader* const br, int num_bits, - const char label[]); - -// bit_reader_inl.h will implement the following methods: -// static WEBP_INLINE int VP8GetBit(VP8BitReader* const br, int prob, ...) -// static WEBP_INLINE int VP8GetSigned(VP8BitReader* const br, int v, ...) -// and should be included by the .c files that actually need them. -// This is to avoid recompiling the whole library whenever this file is touched, -// and also allowing platform-specific ad-hoc hacks. - -// ----------------------------------------------------------------------------- -// Bitreader for lossless format - -// maximum number of bits (inclusive) the bit-reader can handle: -#define VP8L_MAX_NUM_BIT_READ 24 - -#define VP8L_LBITS 64 // Number of bits prefetched (= bit-size of vp8l_val_t). -#define VP8L_WBITS 32 // Minimum number of bytes ready after VP8LFillBitWindow. - -typedef uint64_t vp8l_val_t; // right now, this bit-reader can only use 64bit. - -typedef struct { - vp8l_val_t val_; // pre-fetched bits - const uint8_t* buf_; // input byte buffer - size_t len_; // buffer length - size_t pos_; // byte position in buf_ - int bit_pos_; // current bit-reading position in val_ - int eos_; // true if a bit was read past the end of buffer -} VP8LBitReader; - -void VP8LInitBitReader(VP8LBitReader* const br, - const uint8_t* const start, - size_t length); - -// Sets a new data buffer. -void VP8LBitReaderSetBuffer(VP8LBitReader* const br, - const uint8_t* const buffer, size_t length); - -// Reads the specified number of bits from read buffer. -// Flags an error in case end_of_stream or n_bits is more than the allowed limit -// of VP8L_MAX_NUM_BIT_READ (inclusive). -// Flags eos_ if this read attempt is going to cross the read buffer. -uint32_t VP8LReadBits(VP8LBitReader* const br, int n_bits); - -// Return the prefetched bits, so they can be looked up. -static WEBP_INLINE uint32_t VP8LPrefetchBits(VP8LBitReader* const br) { - return (uint32_t)(br->val_ >> (br->bit_pos_ & (VP8L_LBITS - 1))); -} - -// Returns true if there was an attempt at reading bit past the end of -// the buffer. Doesn't set br->eos_ flag. -static WEBP_INLINE int VP8LIsEndOfStream(const VP8LBitReader* const br) { - assert(br->pos_ <= br->len_); - return br->eos_ || ((br->pos_ == br->len_) && (br->bit_pos_ > VP8L_LBITS)); -} - -// For jumping over a number of bits in the bit stream when accessed with -// VP8LPrefetchBits and VP8LFillBitWindow. -// This function does *not* set br->eos_, since it's speed-critical. -// Use with extreme care! -static WEBP_INLINE void VP8LSetBitPos(VP8LBitReader* const br, int val) { - br->bit_pos_ = val; -} - -// Advances the read buffer by 4 bytes to make room for reading next 32 bits. -// Speed critical, but infrequent part of the code can be non-inlined. -extern void VP8LDoFillBitWindow(VP8LBitReader* const br); -static WEBP_INLINE void VP8LFillBitWindow(VP8LBitReader* const br) { - if (br->bit_pos_ >= VP8L_WBITS) VP8LDoFillBitWindow(br); -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_BIT_READER_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.c deleted file mode 100644 index bef0e31c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.c +++ /dev/null @@ -1,347 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Bit writing and boolean coder -// -// Author: Skal (pascal.massimino@gmail.com) -// Vikas Arora (vikaas.arora@gmail.com) - -#include -#include // for memcpy() -#include - -#include "src/utils/bit_writer_utils.h" -#include "src/utils/endian_inl_utils.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// VP8BitWriter - -static int BitWriterResize(VP8BitWriter* const bw, size_t extra_size) { - uint8_t* new_buf; - size_t new_size; - const uint64_t needed_size_64b = (uint64_t)bw->pos_ + extra_size; - const size_t needed_size = (size_t)needed_size_64b; - if (needed_size_64b != needed_size) { - bw->error_ = 1; - return 0; - } - if (needed_size <= bw->max_pos_) return 1; - // If the following line wraps over 32bit, the test just after will catch it. - new_size = 2 * bw->max_pos_; - if (new_size < needed_size) new_size = needed_size; - if (new_size < 1024) new_size = 1024; - new_buf = (uint8_t*)WebPSafeMalloc(1ULL, new_size); - if (new_buf == NULL) { - bw->error_ = 1; - return 0; - } - if (bw->pos_ > 0) { - assert(bw->buf_ != NULL); - memcpy(new_buf, bw->buf_, bw->pos_); - } - WebPSafeFree(bw->buf_); - bw->buf_ = new_buf; - bw->max_pos_ = new_size; - return 1; -} - -static void Flush(VP8BitWriter* const bw) { - const int s = 8 + bw->nb_bits_; - const int32_t bits = bw->value_ >> s; - assert(bw->nb_bits_ >= 0); - bw->value_ -= bits << s; - bw->nb_bits_ -= 8; - if ((bits & 0xff) != 0xff) { - size_t pos = bw->pos_; - if (!BitWriterResize(bw, bw->run_ + 1)) { - return; - } - if (bits & 0x100) { // overflow -> propagate carry over pending 0xff's - if (pos > 0) bw->buf_[pos - 1]++; - } - if (bw->run_ > 0) { - const int value = (bits & 0x100) ? 0x00 : 0xff; - for (; bw->run_ > 0; --bw->run_) bw->buf_[pos++] = value; - } - bw->buf_[pos++] = bits & 0xff; - bw->pos_ = pos; - } else { - bw->run_++; // delay writing of bytes 0xff, pending eventual carry. - } -} - -//------------------------------------------------------------------------------ -// renormalization - -static const uint8_t kNorm[128] = { // renorm_sizes[i] = 8 - log2(i) - 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0 -}; - -// range = ((range + 1) << kVP8Log2Range[range]) - 1 -static const uint8_t kNewRange[128] = { - 127, 127, 191, 127, 159, 191, 223, 127, 143, 159, 175, 191, 207, 223, 239, - 127, 135, 143, 151, 159, 167, 175, 183, 191, 199, 207, 215, 223, 231, 239, - 247, 127, 131, 135, 139, 143, 147, 151, 155, 159, 163, 167, 171, 175, 179, - 183, 187, 191, 195, 199, 203, 207, 211, 215, 219, 223, 227, 231, 235, 239, - 243, 247, 251, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, - 151, 153, 155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 177, 179, - 181, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, 203, 205, 207, 209, - 211, 213, 215, 217, 219, 221, 223, 225, 227, 229, 231, 233, 235, 237, 239, - 241, 243, 245, 247, 249, 251, 253, 127 -}; - -int VP8PutBit(VP8BitWriter* const bw, int bit, int prob) { - const int split = (bw->range_ * prob) >> 8; - if (bit) { - bw->value_ += split + 1; - bw->range_ -= split + 1; - } else { - bw->range_ = split; - } - if (bw->range_ < 127) { // emit 'shift' bits out and renormalize - const int shift = kNorm[bw->range_]; - bw->range_ = kNewRange[bw->range_]; - bw->value_ <<= shift; - bw->nb_bits_ += shift; - if (bw->nb_bits_ > 0) Flush(bw); - } - return bit; -} - -int VP8PutBitUniform(VP8BitWriter* const bw, int bit) { - const int split = bw->range_ >> 1; - if (bit) { - bw->value_ += split + 1; - bw->range_ -= split + 1; - } else { - bw->range_ = split; - } - if (bw->range_ < 127) { - bw->range_ = kNewRange[bw->range_]; - bw->value_ <<= 1; - bw->nb_bits_ += 1; - if (bw->nb_bits_ > 0) Flush(bw); - } - return bit; -} - -void VP8PutBits(VP8BitWriter* const bw, uint32_t value, int nb_bits) { - uint32_t mask; - assert(nb_bits > 0 && nb_bits < 32); - for (mask = 1u << (nb_bits - 1); mask; mask >>= 1) { - VP8PutBitUniform(bw, value & mask); - } -} - -void VP8PutSignedBits(VP8BitWriter* const bw, int value, int nb_bits) { - if (!VP8PutBitUniform(bw, value != 0)) return; - if (value < 0) { - VP8PutBits(bw, ((-value) << 1) | 1, nb_bits + 1); - } else { - VP8PutBits(bw, value << 1, nb_bits + 1); - } -} - -//------------------------------------------------------------------------------ - -int VP8BitWriterInit(VP8BitWriter* const bw, size_t expected_size) { - bw->range_ = 255 - 1; - bw->value_ = 0; - bw->run_ = 0; - bw->nb_bits_ = -8; - bw->pos_ = 0; - bw->max_pos_ = 0; - bw->error_ = 0; - bw->buf_ = NULL; - return (expected_size > 0) ? BitWriterResize(bw, expected_size) : 1; -} - -uint8_t* VP8BitWriterFinish(VP8BitWriter* const bw) { - VP8PutBits(bw, 0, 9 - bw->nb_bits_); - bw->nb_bits_ = 0; // pad with zeroes - Flush(bw); - return bw->buf_; -} - -int VP8BitWriterAppend(VP8BitWriter* const bw, - const uint8_t* data, size_t size) { - assert(data != NULL); - if (bw->nb_bits_ != -8) return 0; // Flush() must have been called - if (!BitWriterResize(bw, size)) return 0; - memcpy(bw->buf_ + bw->pos_, data, size); - bw->pos_ += size; - return 1; -} - -void VP8BitWriterWipeOut(VP8BitWriter* const bw) { - if (bw != NULL) { - WebPSafeFree(bw->buf_); - memset(bw, 0, sizeof(*bw)); - } -} - -//------------------------------------------------------------------------------ -// VP8LBitWriter - -// This is the minimum amount of size the memory buffer is guaranteed to grow -// when extra space is needed. -#define MIN_EXTRA_SIZE (32768ULL) - -// Returns 1 on success. -static int VP8LBitWriterResize(VP8LBitWriter* const bw, size_t extra_size) { - uint8_t* allocated_buf; - size_t allocated_size; - const size_t max_bytes = bw->end_ - bw->buf_; - const size_t current_size = bw->cur_ - bw->buf_; - const uint64_t size_required_64b = (uint64_t)current_size + extra_size; - const size_t size_required = (size_t)size_required_64b; - if (size_required != size_required_64b) { - bw->error_ = 1; - return 0; - } - if (max_bytes > 0 && size_required <= max_bytes) return 1; - allocated_size = (3 * max_bytes) >> 1; - if (allocated_size < size_required) allocated_size = size_required; - // make allocated size multiple of 1k - allocated_size = (((allocated_size >> 10) + 1) << 10); - allocated_buf = (uint8_t*)WebPSafeMalloc(1ULL, allocated_size); - if (allocated_buf == NULL) { - bw->error_ = 1; - return 0; - } - if (current_size > 0) { - memcpy(allocated_buf, bw->buf_, current_size); - } - WebPSafeFree(bw->buf_); - bw->buf_ = allocated_buf; - bw->cur_ = bw->buf_ + current_size; - bw->end_ = bw->buf_ + allocated_size; - return 1; -} - -int VP8LBitWriterInit(VP8LBitWriter* const bw, size_t expected_size) { - memset(bw, 0, sizeof(*bw)); - return VP8LBitWriterResize(bw, expected_size); -} - -int VP8LBitWriterClone(const VP8LBitWriter* const src, - VP8LBitWriter* const dst) { - const size_t current_size = src->cur_ - src->buf_; - assert(src->cur_ >= src->buf_ && src->cur_ <= src->end_); - if (!VP8LBitWriterResize(dst, current_size)) return 0; - memcpy(dst->buf_, src->buf_, current_size); - dst->bits_ = src->bits_; - dst->used_ = src->used_; - dst->error_ = src->error_; - dst->cur_ = dst->buf_ + current_size; - return 1; -} - -void VP8LBitWriterWipeOut(VP8LBitWriter* const bw) { - if (bw != NULL) { - WebPSafeFree(bw->buf_); - memset(bw, 0, sizeof(*bw)); - } -} - -void VP8LBitWriterReset(const VP8LBitWriter* const bw_init, - VP8LBitWriter* const bw) { - bw->bits_ = bw_init->bits_; - bw->used_ = bw_init->used_; - bw->cur_ = bw->buf_ + (bw_init->cur_ - bw_init->buf_); - assert(bw->cur_ <= bw->end_); - bw->error_ = bw_init->error_; -} - -void VP8LBitWriterSwap(VP8LBitWriter* const src, VP8LBitWriter* const dst) { - const VP8LBitWriter tmp = *src; - *src = *dst; - *dst = tmp; -} - -void VP8LPutBitsFlushBits(VP8LBitWriter* const bw) { - // If needed, make some room by flushing some bits out. - if (bw->cur_ + VP8L_WRITER_BYTES > bw->end_) { - const uint64_t extra_size = (bw->end_ - bw->buf_) + MIN_EXTRA_SIZE; - if (extra_size != (size_t)extra_size || - !VP8LBitWriterResize(bw, (size_t)extra_size)) { - bw->cur_ = bw->buf_; - bw->error_ = 1; - return; - } - } - *(vp8l_wtype_t*)bw->cur_ = (vp8l_wtype_t)WSWAP((vp8l_wtype_t)bw->bits_); - bw->cur_ += VP8L_WRITER_BYTES; - bw->bits_ >>= VP8L_WRITER_BITS; - bw->used_ -= VP8L_WRITER_BITS; -} - -void VP8LPutBitsInternal(VP8LBitWriter* const bw, uint32_t bits, int n_bits) { - assert(n_bits <= 32); - // That's the max we can handle: - assert(sizeof(vp8l_wtype_t) == 2); - if (n_bits > 0) { - vp8l_atype_t lbits = bw->bits_; - int used = bw->used_; - // Special case of overflow handling for 32bit accumulator (2-steps flush). -#if VP8L_WRITER_BITS == 16 - if (used + n_bits >= VP8L_WRITER_MAX_BITS) { - // Fill up all the VP8L_WRITER_MAX_BITS so it can be flushed out below. - const int shift = VP8L_WRITER_MAX_BITS - used; - lbits |= (vp8l_atype_t)bits << used; - used = VP8L_WRITER_MAX_BITS; - n_bits -= shift; - bits >>= shift; - assert(n_bits <= VP8L_WRITER_MAX_BITS); - } -#endif - // If needed, make some room by flushing some bits out. - while (used >= VP8L_WRITER_BITS) { - if (bw->cur_ + VP8L_WRITER_BYTES > bw->end_) { - const uint64_t extra_size = (bw->end_ - bw->buf_) + MIN_EXTRA_SIZE; - if (extra_size != (size_t)extra_size || - !VP8LBitWriterResize(bw, (size_t)extra_size)) { - bw->cur_ = bw->buf_; - bw->error_ = 1; - return; - } - } - *(vp8l_wtype_t*)bw->cur_ = (vp8l_wtype_t)WSWAP((vp8l_wtype_t)lbits); - bw->cur_ += VP8L_WRITER_BYTES; - lbits >>= VP8L_WRITER_BITS; - used -= VP8L_WRITER_BITS; - } - bw->bits_ = lbits | ((vp8l_atype_t)bits << used); - bw->used_ = used + n_bits; - } -} - -uint8_t* VP8LBitWriterFinish(VP8LBitWriter* const bw) { - // flush leftover bits - if (VP8LBitWriterResize(bw, (bw->used_ + 7) >> 3)) { - while (bw->used_ > 0) { - *bw->cur_++ = (uint8_t)bw->bits_; - bw->bits_ >>= 8; - bw->used_ -= 8; - } - bw->used_ = 0; - } - return bw->buf_; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h deleted file mode 100644 index b9d5102a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h +++ /dev/null @@ -1,154 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Bit writing and boolean coder -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_UTILS_BIT_WRITER_UTILS_H_ -#define WEBP_UTILS_BIT_WRITER_UTILS_H_ - -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// Bit-writing - -typedef struct VP8BitWriter VP8BitWriter; -struct VP8BitWriter { - int32_t range_; // range-1 - int32_t value_; - int run_; // number of outstanding bits - int nb_bits_; // number of pending bits - uint8_t* buf_; // internal buffer. Re-allocated regularly. Not owned. - size_t pos_; - size_t max_pos_; - int error_; // true in case of error -}; - -// Initialize the object. Allocates some initial memory based on expected_size. -int VP8BitWriterInit(VP8BitWriter* const bw, size_t expected_size); -// Finalize the bitstream coding. Returns a pointer to the internal buffer. -uint8_t* VP8BitWriterFinish(VP8BitWriter* const bw); -// Release any pending memory and zeroes the object. Not a mandatory call. -// Only useful in case of error, when the internal buffer hasn't been grabbed! -void VP8BitWriterWipeOut(VP8BitWriter* const bw); - -int VP8PutBit(VP8BitWriter* const bw, int bit, int prob); -int VP8PutBitUniform(VP8BitWriter* const bw, int bit); -void VP8PutBits(VP8BitWriter* const bw, uint32_t value, int nb_bits); -void VP8PutSignedBits(VP8BitWriter* const bw, int value, int nb_bits); - -// Appends some bytes to the internal buffer. Data is copied. -int VP8BitWriterAppend(VP8BitWriter* const bw, - const uint8_t* data, size_t size); - -// return approximate write position (in bits) -static WEBP_INLINE uint64_t VP8BitWriterPos(const VP8BitWriter* const bw) { - const uint64_t nb_bits = 8 + bw->nb_bits_; // bw->nb_bits_ is <= 0, note - return (bw->pos_ + bw->run_) * 8 + nb_bits; -} - -// Returns a pointer to the internal buffer. -static WEBP_INLINE uint8_t* VP8BitWriterBuf(const VP8BitWriter* const bw) { - return bw->buf_; -} -// Returns the size of the internal buffer. -static WEBP_INLINE size_t VP8BitWriterSize(const VP8BitWriter* const bw) { - return bw->pos_; -} - -//------------------------------------------------------------------------------ -// VP8LBitWriter - -#if defined(__x86_64__) || defined(_M_X64) // 64bit -typedef uint64_t vp8l_atype_t; // accumulator type -typedef uint32_t vp8l_wtype_t; // writing type -#define WSWAP HToLE32 -#define VP8L_WRITER_BYTES 4 // sizeof(vp8l_wtype_t) -#define VP8L_WRITER_BITS 32 // 8 * sizeof(vp8l_wtype_t) -#define VP8L_WRITER_MAX_BITS 64 // 8 * sizeof(vp8l_atype_t) -#else -typedef uint32_t vp8l_atype_t; -typedef uint16_t vp8l_wtype_t; -#define WSWAP HToLE16 -#define VP8L_WRITER_BYTES 2 -#define VP8L_WRITER_BITS 16 -#define VP8L_WRITER_MAX_BITS 32 -#endif - -typedef struct { - vp8l_atype_t bits_; // bit accumulator - int used_; // number of bits used in accumulator - uint8_t* buf_; // start of buffer - uint8_t* cur_; // current write position - uint8_t* end_; // end of buffer - - // After all bits are written (VP8LBitWriterFinish()), the caller must observe - // the state of error_. A value of 1 indicates that a memory allocation - // failure has happened during bit writing. A value of 0 indicates successful - // writing of bits. - int error_; -} VP8LBitWriter; - -static WEBP_INLINE size_t VP8LBitWriterNumBytes(const VP8LBitWriter* const bw) { - return (bw->cur_ - bw->buf_) + ((bw->used_ + 7) >> 3); -} - -// Returns false in case of memory allocation error. -int VP8LBitWriterInit(VP8LBitWriter* const bw, size_t expected_size); -// Returns false in case of memory allocation error. -int VP8LBitWriterClone(const VP8LBitWriter* const src, - VP8LBitWriter* const dst); -// Finalize the bitstream coding. Returns a pointer to the internal buffer. -uint8_t* VP8LBitWriterFinish(VP8LBitWriter* const bw); -// Release any pending memory and zeroes the object. -void VP8LBitWriterWipeOut(VP8LBitWriter* const bw); -// Resets the cursor of the BitWriter bw to when it was like in bw_init. -void VP8LBitWriterReset(const VP8LBitWriter* const bw_init, - VP8LBitWriter* const bw); -// Swaps the memory held by two BitWriters. -void VP8LBitWriterSwap(VP8LBitWriter* const src, VP8LBitWriter* const dst); - -// Internal function for VP8LPutBits flushing 32 bits from the written state. -void VP8LPutBitsFlushBits(VP8LBitWriter* const bw); - -// PutBits internal function used in the 16 bit vp8l_wtype_t case. -void VP8LPutBitsInternal(VP8LBitWriter* const bw, uint32_t bits, int n_bits); - -// This function writes bits into bytes in increasing addresses (little endian), -// and within a byte least-significant-bit first. -// This function can write up to 32 bits in one go, but VP8LBitReader can only -// read 24 bits max (VP8L_MAX_NUM_BIT_READ). -// VP8LBitWriter's error_ flag is set in case of memory allocation error. -static WEBP_INLINE void VP8LPutBits(VP8LBitWriter* const bw, - uint32_t bits, int n_bits) { - if (sizeof(vp8l_wtype_t) == 4) { - if (n_bits > 0) { - if (bw->used_ >= 32) { - VP8LPutBitsFlushBits(bw); - } - bw->bits_ |= (vp8l_atype_t)bits << bw->used_; - bw->used_ += n_bits; - } - } else { - VP8LPutBitsInternal(bw, bits, n_bits); - } -} - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_BIT_WRITER_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/color_cache_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/color_cache_utils.c deleted file mode 100644 index b09f538e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/color_cache_utils.c +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Color Cache for WebP Lossless -// -// Author: Jyrki Alakuijala (jyrki@google.com) - -#include -#include -#include -#include "src/utils/color_cache_utils.h" -#include "src/utils/utils.h" - -//------------------------------------------------------------------------------ -// VP8LColorCache. - -int VP8LColorCacheInit(VP8LColorCache* const cc, int hash_bits) { - const int hash_size = 1 << hash_bits; - assert(cc != NULL); - assert(hash_bits > 0); - cc->colors_ = (uint32_t*)WebPSafeCalloc((uint64_t)hash_size, - sizeof(*cc->colors_)); - if (cc->colors_ == NULL) return 0; - cc->hash_shift_ = 32 - hash_bits; - cc->hash_bits_ = hash_bits; - return 1; -} - -void VP8LColorCacheClear(VP8LColorCache* const cc) { - if (cc != NULL) { - WebPSafeFree(cc->colors_); - cc->colors_ = NULL; - } -} - -void VP8LColorCacheCopy(const VP8LColorCache* const src, - VP8LColorCache* const dst) { - assert(src != NULL); - assert(dst != NULL); - assert(src->hash_bits_ == dst->hash_bits_); - memcpy(dst->colors_, src->colors_, - ((size_t)1u << dst->hash_bits_) * sizeof(*dst->colors_)); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h deleted file mode 100644 index b45d47c2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Color Cache for WebP Lossless -// -// Authors: Jyrki Alakuijala (jyrki@google.com) -// Urvang Joshi (urvang@google.com) - -#ifndef WEBP_UTILS_COLOR_CACHE_UTILS_H_ -#define WEBP_UTILS_COLOR_CACHE_UTILS_H_ - -#include - -#include "src/dsp/dsp.h" -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Main color cache struct. -typedef struct { - uint32_t* colors_; // color entries - int hash_shift_; // Hash shift: 32 - hash_bits_. - int hash_bits_; -} VP8LColorCache; - -static const uint32_t kHashMul = 0x1e35a7bdu; - -static WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW WEBP_INLINE -int VP8LHashPix(uint32_t argb, int shift) { - return (int)((argb * kHashMul) >> shift); -} - -static WEBP_INLINE uint32_t VP8LColorCacheLookup( - const VP8LColorCache* const cc, uint32_t key) { - assert((key >> cc->hash_bits_) == 0u); - return cc->colors_[key]; -} - -static WEBP_INLINE void VP8LColorCacheSet(const VP8LColorCache* const cc, - uint32_t key, uint32_t argb) { - assert((key >> cc->hash_bits_) == 0u); - cc->colors_[key] = argb; -} - -static WEBP_INLINE void VP8LColorCacheInsert(const VP8LColorCache* const cc, - uint32_t argb) { - const int key = VP8LHashPix(argb, cc->hash_shift_); - cc->colors_[key] = argb; -} - -static WEBP_INLINE int VP8LColorCacheGetIndex(const VP8LColorCache* const cc, - uint32_t argb) { - return VP8LHashPix(argb, cc->hash_shift_); -} - -// Return the key if cc contains argb, and -1 otherwise. -static WEBP_INLINE int VP8LColorCacheContains(const VP8LColorCache* const cc, - uint32_t argb) { - const int key = VP8LHashPix(argb, cc->hash_shift_); - return (cc->colors_[key] == argb) ? key : -1; -} - -//------------------------------------------------------------------------------ - -// Initializes the color cache with 'hash_bits' bits for the keys. -// Returns false in case of memory error. -int VP8LColorCacheInit(VP8LColorCache* const color_cache, int hash_bits); - -void VP8LColorCacheCopy(const VP8LColorCache* const src, - VP8LColorCache* const dst); - -// Delete the memory associated to color cache. -void VP8LColorCacheClear(VP8LColorCache* const color_cache); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} -#endif - -#endif // WEBP_UTILS_COLOR_CACHE_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h deleted file mode 100644 index 3630a293..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Endian related functions. - -#ifndef WEBP_UTILS_ENDIAN_INL_UTILS_H_ -#define WEBP_UTILS_ENDIAN_INL_UTILS_H_ - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#include "src/dsp/dsp.h" -#include "src/webp/types.h" - -#if defined(WORDS_BIGENDIAN) -#define HToLE32 BSwap32 -#define HToLE16 BSwap16 -#else -#define HToLE32(x) (x) -#define HToLE16(x) (x) -#endif - -#if !defined(HAVE_CONFIG_H) -#if LOCAL_GCC_PREREQ(4,8) || __has_builtin(__builtin_bswap16) -#define HAVE_BUILTIN_BSWAP16 -#endif -#if LOCAL_GCC_PREREQ(4,3) || __has_builtin(__builtin_bswap32) -#define HAVE_BUILTIN_BSWAP32 -#endif -#if LOCAL_GCC_PREREQ(4,3) || __has_builtin(__builtin_bswap64) -#define HAVE_BUILTIN_BSWAP64 -#endif -#endif // !HAVE_CONFIG_H - -static WEBP_INLINE uint16_t BSwap16(uint16_t x) { -#if defined(HAVE_BUILTIN_BSWAP16) - return __builtin_bswap16(x); -#elif defined(_MSC_VER) - return _byteswap_ushort(x); -#else - // gcc will recognize a 'rorw $8, ...' here: - return (x >> 8) | ((x & 0xff) << 8); -#endif // HAVE_BUILTIN_BSWAP16 -} - -static WEBP_INLINE uint32_t BSwap32(uint32_t x) { -#if defined(WEBP_USE_MIPS32_R2) - uint32_t ret; - __asm__ volatile ( - "wsbh %[ret], %[x] \n\t" - "rotr %[ret], %[ret], 16 \n\t" - : [ret]"=r"(ret) - : [x]"r"(x) - ); - return ret; -#elif defined(HAVE_BUILTIN_BSWAP32) - return __builtin_bswap32(x); -#elif defined(__i386__) || defined(__x86_64__) - uint32_t swapped_bytes; - __asm__ volatile("bswap %0" : "=r"(swapped_bytes) : "0"(x)); - return swapped_bytes; -#elif defined(_MSC_VER) - return (uint32_t)_byteswap_ulong(x); -#else - return (x >> 24) | ((x >> 8) & 0xff00) | ((x << 8) & 0xff0000) | (x << 24); -#endif // HAVE_BUILTIN_BSWAP32 -} - -static WEBP_INLINE uint64_t BSwap64(uint64_t x) { -#if defined(HAVE_BUILTIN_BSWAP64) - return __builtin_bswap64(x); -#elif defined(__x86_64__) - uint64_t swapped_bytes; - __asm__ volatile("bswapq %0" : "=r"(swapped_bytes) : "0"(x)); - return swapped_bytes; -#elif defined(_MSC_VER) - return (uint64_t)_byteswap_uint64(x); -#else // generic code for swapping 64-bit values (suggested by bdb@) - x = ((x & 0xffffffff00000000ull) >> 32) | ((x & 0x00000000ffffffffull) << 32); - x = ((x & 0xffff0000ffff0000ull) >> 16) | ((x & 0x0000ffff0000ffffull) << 16); - x = ((x & 0xff00ff00ff00ff00ull) >> 8) | ((x & 0x00ff00ff00ff00ffull) << 8); - return x; -#endif // HAVE_BUILTIN_BSWAP64 -} - -#endif // WEBP_UTILS_ENDIAN_INL_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/filters_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/filters_utils.c deleted file mode 100644 index bbc2c34d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/filters_utils.c +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// filter estimation -// -// Author: Urvang (urvang@google.com) - -#include "src/utils/filters_utils.h" -#include -#include - -// ----------------------------------------------------------------------------- -// Quick estimate of a potentially interesting filter mode to try. - -#define SMAX 16 -#define SDIFF(a, b) (abs((a) - (b)) >> 4) // Scoring diff, in [0..SMAX) - -static WEBP_INLINE int GradientPredictor(uint8_t a, uint8_t b, uint8_t c) { - const int g = a + b - c; - return ((g & ~0xff) == 0) ? g : (g < 0) ? 0 : 255; // clip to 8bit -} - -WEBP_FILTER_TYPE WebPEstimateBestFilter(const uint8_t* data, - int width, int height, int stride) { - int i, j; - int bins[WEBP_FILTER_LAST][SMAX]; - memset(bins, 0, sizeof(bins)); - - // We only sample every other pixels. That's enough. - for (j = 2; j < height - 1; j += 2) { - const uint8_t* const p = data + j * stride; - int mean = p[0]; - for (i = 2; i < width - 1; i += 2) { - const int diff0 = SDIFF(p[i], mean); - const int diff1 = SDIFF(p[i], p[i - 1]); - const int diff2 = SDIFF(p[i], p[i - width]); - const int grad_pred = - GradientPredictor(p[i - 1], p[i - width], p[i - width - 1]); - const int diff3 = SDIFF(p[i], grad_pred); - bins[WEBP_FILTER_NONE][diff0] = 1; - bins[WEBP_FILTER_HORIZONTAL][diff1] = 1; - bins[WEBP_FILTER_VERTICAL][diff2] = 1; - bins[WEBP_FILTER_GRADIENT][diff3] = 1; - mean = (3 * mean + p[i] + 2) >> 2; - } - } - { - int filter; - WEBP_FILTER_TYPE best_filter = WEBP_FILTER_NONE; - int best_score = 0x7fffffff; - for (filter = WEBP_FILTER_NONE; filter < WEBP_FILTER_LAST; ++filter) { - int score = 0; - for (i = 0; i < SMAX; ++i) { - if (bins[filter][i] > 0) { - score += i; - } - } - if (score < best_score) { - best_score = score; - best_filter = (WEBP_FILTER_TYPE)filter; - } - } - return best_filter; - } -} - -#undef SMAX -#undef SDIFF - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/filters_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/filters_utils.h deleted file mode 100644 index 61da66e2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/filters_utils.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Spatial prediction using various filters -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_UTILS_FILTERS_UTILS_H_ -#define WEBP_UTILS_FILTERS_UTILS_H_ - -#include "src/webp/types.h" -#include "src/dsp/dsp.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Fast estimate of a potentially good filter. -WEBP_FILTER_TYPE WebPEstimateBestFilter(const uint8_t* data, - int width, int height, int stride); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_FILTERS_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.c deleted file mode 100644 index 6f3b1bbe..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.c +++ /dev/null @@ -1,417 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Jyrki Alakuijala (jyrki@google.com) -// -// Entropy encoding (Huffman) for webp lossless. - -#include -#include -#include -#include "src/utils/huffman_encode_utils.h" -#include "src/utils/utils.h" -#include "src/webp/format_constants.h" - -// ----------------------------------------------------------------------------- -// Util function to optimize the symbol map for RLE coding - -// Heuristics for selecting the stride ranges to collapse. -static int ValuesShouldBeCollapsedToStrideAverage(int a, int b) { - return abs(a - b) < 4; -} - -// Change the population counts in a way that the consequent -// Huffman tree compression, especially its RLE-part, give smaller output. -static void OptimizeHuffmanForRle(int length, uint8_t* const good_for_rle, - uint32_t* const counts) { - // 1) Let's make the Huffman code more compatible with rle encoding. - int i; - for (; length >= 0; --length) { - if (length == 0) { - return; // All zeros. - } - if (counts[length - 1] != 0) { - // Now counts[0..length - 1] does not have trailing zeros. - break; - } - } - // 2) Let's mark all population counts that already can be encoded - // with an rle code. - { - // Let's not spoil any of the existing good rle codes. - // Mark any seq of 0's that is longer as 5 as a good_for_rle. - // Mark any seq of non-0's that is longer as 7 as a good_for_rle. - uint32_t symbol = counts[0]; - int stride = 0; - for (i = 0; i < length + 1; ++i) { - if (i == length || counts[i] != symbol) { - if ((symbol == 0 && stride >= 5) || - (symbol != 0 && stride >= 7)) { - int k; - for (k = 0; k < stride; ++k) { - good_for_rle[i - k - 1] = 1; - } - } - stride = 1; - if (i != length) { - symbol = counts[i]; - } - } else { - ++stride; - } - } - } - // 3) Let's replace those population counts that lead to more rle codes. - { - uint32_t stride = 0; - uint32_t limit = counts[0]; - uint32_t sum = 0; - for (i = 0; i < length + 1; ++i) { - if (i == length || good_for_rle[i] || - (i != 0 && good_for_rle[i - 1]) || - !ValuesShouldBeCollapsedToStrideAverage(counts[i], limit)) { - if (stride >= 4 || (stride >= 3 && sum == 0)) { - uint32_t k; - // The stride must end, collapse what we have, if we have enough (4). - uint32_t count = (sum + stride / 2) / stride; - if (count < 1) { - count = 1; - } - if (sum == 0) { - // Don't make an all zeros stride to be upgraded to ones. - count = 0; - } - for (k = 0; k < stride; ++k) { - // We don't want to change value at counts[i], - // that is already belonging to the next stride. Thus - 1. - counts[i - k - 1] = count; - } - } - stride = 0; - sum = 0; - if (i < length - 3) { - // All interesting strides have a count of at least 4, - // at least when non-zeros. - limit = (counts[i] + counts[i + 1] + - counts[i + 2] + counts[i + 3] + 2) / 4; - } else if (i < length) { - limit = counts[i]; - } else { - limit = 0; - } - } - ++stride; - if (i != length) { - sum += counts[i]; - if (stride >= 4) { - limit = (sum + stride / 2) / stride; - } - } - } - } -} - -// A comparer function for two Huffman trees: sorts first by 'total count' -// (more comes first), and then by 'value' (more comes first). -static int CompareHuffmanTrees(const void* ptr1, const void* ptr2) { - const HuffmanTree* const t1 = (const HuffmanTree*)ptr1; - const HuffmanTree* const t2 = (const HuffmanTree*)ptr2; - if (t1->total_count_ > t2->total_count_) { - return -1; - } else if (t1->total_count_ < t2->total_count_) { - return 1; - } else { - assert(t1->value_ != t2->value_); - return (t1->value_ < t2->value_) ? -1 : 1; - } -} - -static void SetBitDepths(const HuffmanTree* const tree, - const HuffmanTree* const pool, - uint8_t* const bit_depths, int level) { - if (tree->pool_index_left_ >= 0) { - SetBitDepths(&pool[tree->pool_index_left_], pool, bit_depths, level + 1); - SetBitDepths(&pool[tree->pool_index_right_], pool, bit_depths, level + 1); - } else { - bit_depths[tree->value_] = level; - } -} - -// Create an optimal Huffman tree. -// -// (data,length): population counts. -// tree_limit: maximum bit depth (inclusive) of the codes. -// bit_depths[]: how many bits are used for the symbol. -// -// Returns 0 when an error has occurred. -// -// The catch here is that the tree cannot be arbitrarily deep -// -// count_limit is the value that is to be faked as the minimum value -// and this minimum value is raised until the tree matches the -// maximum length requirement. -// -// This algorithm is not of excellent performance for very long data blocks, -// especially when population counts are longer than 2**tree_limit, but -// we are not planning to use this with extremely long blocks. -// -// See http://en.wikipedia.org/wiki/Huffman_coding -static void GenerateOptimalTree(const uint32_t* const histogram, - int histogram_size, - HuffmanTree* tree, int tree_depth_limit, - uint8_t* const bit_depths) { - uint32_t count_min; - HuffmanTree* tree_pool; - int tree_size_orig = 0; - int i; - - for (i = 0; i < histogram_size; ++i) { - if (histogram[i] != 0) { - ++tree_size_orig; - } - } - - if (tree_size_orig == 0) { // pretty optimal already! - return; - } - - tree_pool = tree + tree_size_orig; - - // For block sizes with less than 64k symbols we never need to do a - // second iteration of this loop. - // If we actually start running inside this loop a lot, we would perhaps - // be better off with the Katajainen algorithm. - assert(tree_size_orig <= (1 << (tree_depth_limit - 1))); - for (count_min = 1; ; count_min *= 2) { - int tree_size = tree_size_orig; - // We need to pack the Huffman tree in tree_depth_limit bits. - // So, we try by faking histogram entries to be at least 'count_min'. - int idx = 0; - int j; - for (j = 0; j < histogram_size; ++j) { - if (histogram[j] != 0) { - const uint32_t count = - (histogram[j] < count_min) ? count_min : histogram[j]; - tree[idx].total_count_ = count; - tree[idx].value_ = j; - tree[idx].pool_index_left_ = -1; - tree[idx].pool_index_right_ = -1; - ++idx; - } - } - - // Build the Huffman tree. - qsort(tree, tree_size, sizeof(*tree), CompareHuffmanTrees); - - if (tree_size > 1) { // Normal case. - int tree_pool_size = 0; - while (tree_size > 1) { // Finish when we have only one root. - uint32_t count; - tree_pool[tree_pool_size++] = tree[tree_size - 1]; - tree_pool[tree_pool_size++] = tree[tree_size - 2]; - count = tree_pool[tree_pool_size - 1].total_count_ + - tree_pool[tree_pool_size - 2].total_count_; - tree_size -= 2; - { - // Search for the insertion point. - int k; - for (k = 0; k < tree_size; ++k) { - if (tree[k].total_count_ <= count) { - break; - } - } - memmove(tree + (k + 1), tree + k, (tree_size - k) * sizeof(*tree)); - tree[k].total_count_ = count; - tree[k].value_ = -1; - - tree[k].pool_index_left_ = tree_pool_size - 1; - tree[k].pool_index_right_ = tree_pool_size - 2; - tree_size = tree_size + 1; - } - } - SetBitDepths(&tree[0], tree_pool, bit_depths, 0); - } else if (tree_size == 1) { // Trivial case: only one element. - bit_depths[tree[0].value_] = 1; - } - - { - // Test if this Huffman tree satisfies our 'tree_depth_limit' criteria. - int max_depth = bit_depths[0]; - for (j = 1; j < histogram_size; ++j) { - if (max_depth < bit_depths[j]) { - max_depth = bit_depths[j]; - } - } - if (max_depth <= tree_depth_limit) { - break; - } - } - } -} - -// ----------------------------------------------------------------------------- -// Coding of the Huffman tree values - -static HuffmanTreeToken* CodeRepeatedValues(int repetitions, - HuffmanTreeToken* tokens, - int value, int prev_value) { - assert(value <= MAX_ALLOWED_CODE_LENGTH); - if (value != prev_value) { - tokens->code = value; - tokens->extra_bits = 0; - ++tokens; - --repetitions; - } - while (repetitions >= 1) { - if (repetitions < 3) { - int i; - for (i = 0; i < repetitions; ++i) { - tokens->code = value; - tokens->extra_bits = 0; - ++tokens; - } - break; - } else if (repetitions < 7) { - tokens->code = 16; - tokens->extra_bits = repetitions - 3; - ++tokens; - break; - } else { - tokens->code = 16; - tokens->extra_bits = 3; - ++tokens; - repetitions -= 6; - } - } - return tokens; -} - -static HuffmanTreeToken* CodeRepeatedZeros(int repetitions, - HuffmanTreeToken* tokens) { - while (repetitions >= 1) { - if (repetitions < 3) { - int i; - for (i = 0; i < repetitions; ++i) { - tokens->code = 0; // 0-value - tokens->extra_bits = 0; - ++tokens; - } - break; - } else if (repetitions < 11) { - tokens->code = 17; - tokens->extra_bits = repetitions - 3; - ++tokens; - break; - } else if (repetitions < 139) { - tokens->code = 18; - tokens->extra_bits = repetitions - 11; - ++tokens; - break; - } else { - tokens->code = 18; - tokens->extra_bits = 0x7f; // 138 repeated 0s - ++tokens; - repetitions -= 138; - } - } - return tokens; -} - -int VP8LCreateCompressedHuffmanTree(const HuffmanTreeCode* const tree, - HuffmanTreeToken* tokens, int max_tokens) { - HuffmanTreeToken* const starting_token = tokens; - HuffmanTreeToken* const ending_token = tokens + max_tokens; - const int depth_size = tree->num_symbols; - int prev_value = 8; // 8 is the initial value for rle. - int i = 0; - assert(tokens != NULL); - while (i < depth_size) { - const int value = tree->code_lengths[i]; - int k = i + 1; - int runs; - while (k < depth_size && tree->code_lengths[k] == value) ++k; - runs = k - i; - if (value == 0) { - tokens = CodeRepeatedZeros(runs, tokens); - } else { - tokens = CodeRepeatedValues(runs, tokens, value, prev_value); - prev_value = value; - } - i += runs; - assert(tokens <= ending_token); - } - (void)ending_token; // suppress 'unused variable' warning - return (int)(tokens - starting_token); -} - -// ----------------------------------------------------------------------------- - -// Pre-reversed 4-bit values. -static const uint8_t kReversedBits[16] = { - 0x0, 0x8, 0x4, 0xc, 0x2, 0xa, 0x6, 0xe, - 0x1, 0x9, 0x5, 0xd, 0x3, 0xb, 0x7, 0xf -}; - -static uint32_t ReverseBits(int num_bits, uint32_t bits) { - uint32_t retval = 0; - int i = 0; - while (i < num_bits) { - i += 4; - retval |= kReversedBits[bits & 0xf] << (MAX_ALLOWED_CODE_LENGTH + 1 - i); - bits >>= 4; - } - retval >>= (MAX_ALLOWED_CODE_LENGTH + 1 - num_bits); - return retval; -} - -// Get the actual bit values for a tree of bit depths. -static void ConvertBitDepthsToSymbols(HuffmanTreeCode* const tree) { - // 0 bit-depth means that the symbol does not exist. - int i; - int len; - uint32_t next_code[MAX_ALLOWED_CODE_LENGTH + 1]; - int depth_count[MAX_ALLOWED_CODE_LENGTH + 1] = { 0 }; - - assert(tree != NULL); - len = tree->num_symbols; - for (i = 0; i < len; ++i) { - const int code_length = tree->code_lengths[i]; - assert(code_length <= MAX_ALLOWED_CODE_LENGTH); - ++depth_count[code_length]; - } - depth_count[0] = 0; // ignore unused symbol - next_code[0] = 0; - { - uint32_t code = 0; - for (i = 1; i <= MAX_ALLOWED_CODE_LENGTH; ++i) { - code = (code + depth_count[i - 1]) << 1; - next_code[i] = code; - } - } - for (i = 0; i < len; ++i) { - const int code_length = tree->code_lengths[i]; - tree->codes[i] = ReverseBits(code_length, next_code[code_length]++); - } -} - -// ----------------------------------------------------------------------------- -// Main entry point - -void VP8LCreateHuffmanTree(uint32_t* const histogram, int tree_depth_limit, - uint8_t* const buf_rle, - HuffmanTree* const huff_tree, - HuffmanTreeCode* const huff_code) { - const int num_symbols = huff_code->num_symbols; - memset(buf_rle, 0, num_symbols * sizeof(*buf_rle)); - OptimizeHuffmanForRle(num_symbols, buf_rle, histogram); - GenerateOptimalTree(histogram, num_symbols, huff_tree, tree_depth_limit, - huff_code->code_lengths); - // Create the actual bit codes for the bit lengths. - ConvertBitDepthsToSymbols(huff_code); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.h deleted file mode 100644 index 3e6763ce..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.h +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Author: Jyrki Alakuijala (jyrki@google.com) -// -// Entropy encoding (Huffman) for webp lossless - -#ifndef WEBP_UTILS_HUFFMAN_ENCODE_UTILS_H_ -#define WEBP_UTILS_HUFFMAN_ENCODE_UTILS_H_ - -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Struct for holding the tree header in coded form. -typedef struct { - uint8_t code; // value (0..15) or escape code (16,17,18) - uint8_t extra_bits; // extra bits for escape codes -} HuffmanTreeToken; - -// Struct to represent the tree codes (depth and bits array). -typedef struct { - int num_symbols; // Number of symbols. - uint8_t* code_lengths; // Code lengths of the symbols. - uint16_t* codes; // Symbol Codes. -} HuffmanTreeCode; - -// Struct to represent the Huffman tree. -typedef struct { - uint32_t total_count_; // Symbol frequency. - int value_; // Symbol value. - int pool_index_left_; // Index for the left sub-tree. - int pool_index_right_; // Index for the right sub-tree. -} HuffmanTree; - -// Turn the Huffman tree into a token sequence. -// Returns the number of tokens used. -int VP8LCreateCompressedHuffmanTree(const HuffmanTreeCode* const tree, - HuffmanTreeToken* tokens, int max_tokens); - -// Create an optimized tree, and tokenize it. -// 'buf_rle' and 'huff_tree' are pre-allocated and the 'tree' is the constructed -// huffman code tree. -void VP8LCreateHuffmanTree(uint32_t* const histogram, int tree_depth_limit, - uint8_t* const buf_rle, HuffmanTree* const huff_tree, - HuffmanTreeCode* const tree); - -#ifdef __cplusplus -} -#endif - -#endif // WEBP_UTILS_HUFFMAN_ENCODE_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_utils.c deleted file mode 100644 index 0cba0fbb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_utils.c +++ /dev/null @@ -1,235 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utilities for building and looking up Huffman trees. -// -// Author: Urvang Joshi (urvang@google.com) - -#include -#include -#include -#include "src/utils/huffman_utils.h" -#include "src/utils/utils.h" -#include "src/webp/format_constants.h" - -// Huffman data read via DecodeImageStream is represented in two (red and green) -// bytes. -#define MAX_HTREE_GROUPS 0x10000 - -HTreeGroup* VP8LHtreeGroupsNew(int num_htree_groups) { - HTreeGroup* const htree_groups = - (HTreeGroup*)WebPSafeMalloc(num_htree_groups, sizeof(*htree_groups)); - if (htree_groups == NULL) { - return NULL; - } - assert(num_htree_groups <= MAX_HTREE_GROUPS); - return htree_groups; -} - -void VP8LHtreeGroupsFree(HTreeGroup* const htree_groups) { - if (htree_groups != NULL) { - WebPSafeFree(htree_groups); - } -} - -// Returns reverse(reverse(key, len) + 1, len), where reverse(key, len) is the -// bit-wise reversal of the len least significant bits of key. -static WEBP_INLINE uint32_t GetNextKey(uint32_t key, int len) { - uint32_t step = 1 << (len - 1); - while (key & step) { - step >>= 1; - } - return step ? (key & (step - 1)) + step : key; -} - -// Stores code in table[0], table[step], table[2*step], ..., table[end]. -// Assumes that end is an integer multiple of step. -static WEBP_INLINE void ReplicateValue(HuffmanCode* table, - int step, int end, - HuffmanCode code) { - assert(end % step == 0); - do { - end -= step; - table[end] = code; - } while (end > 0); -} - -// Returns the table width of the next 2nd level table. count is the histogram -// of bit lengths for the remaining symbols, len is the code length of the next -// processed symbol -static WEBP_INLINE int NextTableBitSize(const int* const count, - int len, int root_bits) { - int left = 1 << (len - root_bits); - while (len < MAX_ALLOWED_CODE_LENGTH) { - left -= count[len]; - if (left <= 0) break; - ++len; - left <<= 1; - } - return len - root_bits; -} - -// sorted[code_lengths_size] is a pre-allocated array for sorting symbols -// by code length. -static int BuildHuffmanTable(HuffmanCode* const root_table, int root_bits, - const int code_lengths[], int code_lengths_size, - uint16_t sorted[]) { - HuffmanCode* table = root_table; // next available space in table - int total_size = 1 << root_bits; // total size root table + 2nd level table - int len; // current code length - int symbol; // symbol index in original or sorted table - // number of codes of each length: - int count[MAX_ALLOWED_CODE_LENGTH + 1] = { 0 }; - // offsets in sorted table for each length: - int offset[MAX_ALLOWED_CODE_LENGTH + 1]; - - assert(code_lengths_size != 0); - assert(code_lengths != NULL); - assert((root_table != NULL && sorted != NULL) || - (root_table == NULL && sorted == NULL)); - assert(root_bits > 0); - - // Build histogram of code lengths. - for (symbol = 0; symbol < code_lengths_size; ++symbol) { - if (code_lengths[symbol] > MAX_ALLOWED_CODE_LENGTH) { - return 0; - } - ++count[code_lengths[symbol]]; - } - - // Error, all code lengths are zeros. - if (count[0] == code_lengths_size) { - return 0; - } - - // Generate offsets into sorted symbol table by code length. - offset[1] = 0; - for (len = 1; len < MAX_ALLOWED_CODE_LENGTH; ++len) { - if (count[len] > (1 << len)) { - return 0; - } - offset[len + 1] = offset[len] + count[len]; - } - - // Sort symbols by length, by symbol order within each length. - for (symbol = 0; symbol < code_lengths_size; ++symbol) { - const int symbol_code_length = code_lengths[symbol]; - if (code_lengths[symbol] > 0) { - if (sorted != NULL) { - sorted[offset[symbol_code_length]++] = symbol; - } else { - offset[symbol_code_length]++; - } - } - } - - // Special case code with only one value. - if (offset[MAX_ALLOWED_CODE_LENGTH] == 1) { - if (sorted != NULL) { - HuffmanCode code; - code.bits = 0; - code.value = (uint16_t)sorted[0]; - ReplicateValue(table, 1, total_size, code); - } - return total_size; - } - - { - int step; // step size to replicate values in current table - uint32_t low = -1; // low bits for current root entry - uint32_t mask = total_size - 1; // mask for low bits - uint32_t key = 0; // reversed prefix code - int num_nodes = 1; // number of Huffman tree nodes - int num_open = 1; // number of open branches in current tree level - int table_bits = root_bits; // key length of current table - int table_size = 1 << table_bits; // size of current table - symbol = 0; - // Fill in root table. - for (len = 1, step = 2; len <= root_bits; ++len, step <<= 1) { - num_open <<= 1; - num_nodes += num_open; - num_open -= count[len]; - if (num_open < 0) { - return 0; - } - if (root_table == NULL) continue; - for (; count[len] > 0; --count[len]) { - HuffmanCode code; - code.bits = (uint8_t)len; - code.value = (uint16_t)sorted[symbol++]; - ReplicateValue(&table[key], step, table_size, code); - key = GetNextKey(key, len); - } - } - - // Fill in 2nd level tables and add pointers to root table. - for (len = root_bits + 1, step = 2; len <= MAX_ALLOWED_CODE_LENGTH; - ++len, step <<= 1) { - num_open <<= 1; - num_nodes += num_open; - num_open -= count[len]; - if (num_open < 0) { - return 0; - } - if (root_table == NULL) continue; - for (; count[len] > 0; --count[len]) { - HuffmanCode code; - if ((key & mask) != low) { - table += table_size; - table_bits = NextTableBitSize(count, len, root_bits); - table_size = 1 << table_bits; - total_size += table_size; - low = key & mask; - root_table[low].bits = (uint8_t)(table_bits + root_bits); - root_table[low].value = (uint16_t)((table - root_table) - low); - } - code.bits = (uint8_t)(len - root_bits); - code.value = (uint16_t)sorted[symbol++]; - ReplicateValue(&table[key >> root_bits], step, table_size, code); - key = GetNextKey(key, len); - } - } - - // Check if tree is full. - if (num_nodes != 2 * offset[MAX_ALLOWED_CODE_LENGTH] - 1) { - return 0; - } - } - - return total_size; -} - -// Maximum code_lengths_size is 2328 (reached for 11-bit color_cache_bits). -// More commonly, the value is around ~280. -#define MAX_CODE_LENGTHS_SIZE \ - ((1 << MAX_CACHE_BITS) + NUM_LITERAL_CODES + NUM_LENGTH_CODES) -// Cut-off value for switching between heap and stack allocation. -#define SORTED_SIZE_CUTOFF 512 -int VP8LBuildHuffmanTable(HuffmanCode* const root_table, int root_bits, - const int code_lengths[], int code_lengths_size) { - int total_size; - assert(code_lengths_size <= MAX_CODE_LENGTHS_SIZE); - if (root_table == NULL) { - total_size = BuildHuffmanTable(NULL, root_bits, - code_lengths, code_lengths_size, NULL); - } else if (code_lengths_size <= SORTED_SIZE_CUTOFF) { - // use local stack-allocated array. - uint16_t sorted[SORTED_SIZE_CUTOFF]; - total_size = BuildHuffmanTable(root_table, root_bits, - code_lengths, code_lengths_size, sorted); - } else { // rare case. Use heap allocation. - uint16_t* const sorted = - (uint16_t*)WebPSafeMalloc(code_lengths_size, sizeof(*sorted)); - if (sorted == NULL) return 0; - total_size = BuildHuffmanTable(root_table, root_bits, - code_lengths, code_lengths_size, sorted); - WebPSafeFree(sorted); - } - return total_size; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_utils.h deleted file mode 100644 index 13b7ad1a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/huffman_utils.h +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Utilities for building and looking up Huffman trees. -// -// Author: Urvang Joshi (urvang@google.com) - -#ifndef WEBP_UTILS_HUFFMAN_UTILS_H_ -#define WEBP_UTILS_HUFFMAN_UTILS_H_ - -#include -#include "src/webp/format_constants.h" -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define HUFFMAN_TABLE_BITS 8 -#define HUFFMAN_TABLE_MASK ((1 << HUFFMAN_TABLE_BITS) - 1) - -#define LENGTHS_TABLE_BITS 7 -#define LENGTHS_TABLE_MASK ((1 << LENGTHS_TABLE_BITS) - 1) - - -// Huffman lookup table entry -typedef struct { - uint8_t bits; // number of bits used for this symbol - uint16_t value; // symbol value or table offset -} HuffmanCode; - -// long version for holding 32b values -typedef struct { - int bits; // number of bits used for this symbol, - // or an impossible value if not a literal code. - uint32_t value; // 32b packed ARGB value if literal, - // or non-literal symbol otherwise -} HuffmanCode32; - -#define HUFFMAN_PACKED_BITS 6 -#define HUFFMAN_PACKED_TABLE_SIZE (1u << HUFFMAN_PACKED_BITS) - -// Huffman table group. -// Includes special handling for the following cases: -// - is_trivial_literal: one common literal base for RED/BLUE/ALPHA (not GREEN) -// - is_trivial_code: only 1 code (no bit is read from bitstream) -// - use_packed_table: few enough literal symbols, so all the bit codes -// can fit into a small look-up table packed_table[] -// The common literal base, if applicable, is stored in 'literal_arb'. -typedef struct HTreeGroup HTreeGroup; -struct HTreeGroup { - HuffmanCode* htrees[HUFFMAN_CODES_PER_META_CODE]; - int is_trivial_literal; // True, if huffman trees for Red, Blue & Alpha - // Symbols are trivial (have a single code). - uint32_t literal_arb; // If is_trivial_literal is true, this is the - // ARGB value of the pixel, with Green channel - // being set to zero. - int is_trivial_code; // true if is_trivial_literal with only one code - int use_packed_table; // use packed table below for short literal code - // table mapping input bits to a packed values, or escape case to literal code - HuffmanCode32 packed_table[HUFFMAN_PACKED_TABLE_SIZE]; -}; - -// Creates the instance of HTreeGroup with specified number of tree-groups. -HTreeGroup* VP8LHtreeGroupsNew(int num_htree_groups); - -// Releases the memory allocated for HTreeGroup. -void VP8LHtreeGroupsFree(HTreeGroup* const htree_groups); - -// Builds Huffman lookup table assuming code lengths are in symbol order. -// The 'code_lengths' is pre-allocated temporary memory buffer used for creating -// the huffman table. -// Returns built table size or 0 in case of error (invalid tree or -// memory error). -// If root_table is NULL, it returns 0 if a lookup cannot be built, something -// > 0 otherwise (but not the table size). -int VP8LBuildHuffmanTable(HuffmanCode* const root_table, int root_bits, - const int code_lengths[], int code_lengths_size); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_HUFFMAN_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.c deleted file mode 100644 index f65b6cdb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.c +++ /dev/null @@ -1,291 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Implement gradient smoothing: we replace a current alpha value by its -// surrounding average if it's close enough (that is: the change will be less -// than the minimum distance between two quantized level). -// We use sliding window for computing the 2d moving average. -// -// Author: Skal (pascal.massimino@gmail.com) - -#include "src/utils/quant_levels_dec_utils.h" - -#include // for memset - -#include "src/utils/utils.h" - -// #define USE_DITHERING // uncomment to enable ordered dithering (not vital) - -#define FIX 16 // fix-point precision for averaging -#define LFIX 2 // extra precision for look-up table -#define LUT_SIZE ((1 << (8 + LFIX)) - 1) // look-up table size - -#if defined(USE_DITHERING) - -#define DFIX 4 // extra precision for ordered dithering -#define DSIZE 4 // dithering size (must be a power of two) -// cf. http://en.wikipedia.org/wiki/Ordered_dithering -static const uint8_t kOrderedDither[DSIZE][DSIZE] = { - { 0, 8, 2, 10 }, // coefficients are in DFIX fixed-point precision - { 12, 4, 14, 6 }, - { 3, 11, 1, 9 }, - { 15, 7, 13, 5 } -}; - -#else -#define DFIX 0 -#endif - -typedef struct { - int width_, height_; // dimension - int stride_; // stride in bytes - int row_; // current input row being processed - uint8_t* src_; // input pointer - uint8_t* dst_; // output pointer - - int radius_; // filter radius (=delay) - int scale_; // normalization factor, in FIX bits precision - - void* mem_; // all memory - - // various scratch buffers - uint16_t* start_; - uint16_t* cur_; - uint16_t* end_; - uint16_t* top_; - uint16_t* average_; - - // input levels distribution - int num_levels_; // number of quantized levels - int min_, max_; // min and max level values - int min_level_dist_; // smallest distance between two consecutive levels - - int16_t* correction_; // size = 1 + 2*LUT_SIZE -> ~4k memory -} SmoothParams; - -//------------------------------------------------------------------------------ - -#define CLIP_8b_MASK (int)(~0U << (8 + DFIX)) -static WEBP_INLINE uint8_t clip_8b(int v) { - return (!(v & CLIP_8b_MASK)) ? (uint8_t)(v >> DFIX) : (v < 0) ? 0u : 255u; -} -#undef CLIP_8b_MASK - -// vertical accumulation -static void VFilter(SmoothParams* const p) { - const uint8_t* src = p->src_; - const int w = p->width_; - uint16_t* const cur = p->cur_; - const uint16_t* const top = p->top_; - uint16_t* const out = p->end_; - uint16_t sum = 0; // all arithmetic is modulo 16bit - int x; - - for (x = 0; x < w; ++x) { - uint16_t new_value; - sum += src[x]; - new_value = top[x] + sum; - out[x] = new_value - cur[x]; // vertical sum of 'r' pixels. - cur[x] = new_value; - } - // move input pointers one row down - p->top_ = p->cur_; - p->cur_ += w; - if (p->cur_ == p->end_) p->cur_ = p->start_; // roll-over - // We replicate edges, as it's somewhat easier as a boundary condition. - // That's why we don't update the 'src' pointer on top/bottom area: - if (p->row_ >= 0 && p->row_ < p->height_ - 1) { - p->src_ += p->stride_; - } -} - -// horizontal accumulation. We use mirror replication of missing pixels, as it's -// a little easier to implement (surprisingly). -static void HFilter(SmoothParams* const p) { - const uint16_t* const in = p->end_; - uint16_t* const out = p->average_; - const uint32_t scale = p->scale_; - const int w = p->width_; - const int r = p->radius_; - - int x; - for (x = 0; x <= r; ++x) { // left mirroring - const uint16_t delta = in[x + r - 1] + in[r - x]; - out[x] = (delta * scale) >> FIX; - } - for (; x < w - r; ++x) { // bulk middle run - const uint16_t delta = in[x + r] - in[x - r - 1]; - out[x] = (delta * scale) >> FIX; - } - for (; x < w; ++x) { // right mirroring - const uint16_t delta = - 2 * in[w - 1] - in[2 * w - 2 - r - x] - in[x - r - 1]; - out[x] = (delta * scale) >> FIX; - } -} - -// emit one filtered output row -static void ApplyFilter(SmoothParams* const p) { - const uint16_t* const average = p->average_; - const int w = p->width_; - const int16_t* const correction = p->correction_; -#if defined(USE_DITHERING) - const uint8_t* const dither = kOrderedDither[p->row_ % DSIZE]; -#endif - uint8_t* const dst = p->dst_; - int x; - for (x = 0; x < w; ++x) { - const int v = dst[x]; - if (v < p->max_ && v > p->min_) { - const int c = (v << DFIX) + correction[average[x] - (v << LFIX)]; -#if defined(USE_DITHERING) - dst[x] = clip_8b(c + dither[x % DSIZE]); -#else - dst[x] = clip_8b(c); -#endif - } - } - p->dst_ += p->stride_; // advance output pointer -} - -//------------------------------------------------------------------------------ -// Initialize correction table - -static void InitCorrectionLUT(int16_t* const lut, int min_dist) { - // The correction curve is: - // f(x) = x for x <= threshold2 - // f(x) = 0 for x >= threshold1 - // and a linear interpolation for range x=[threshold2, threshold1] - // (along with f(-x) = -f(x) symmetry). - // Note that: threshold2 = 3/4 * threshold1 - const int threshold1 = min_dist << LFIX; - const int threshold2 = (3 * threshold1) >> 2; - const int max_threshold = threshold2 << DFIX; - const int delta = threshold1 - threshold2; - int i; - for (i = 1; i <= LUT_SIZE; ++i) { - int c = (i <= threshold2) ? (i << DFIX) - : (i < threshold1) ? max_threshold * (threshold1 - i) / delta - : 0; - c >>= LFIX; - lut[+i] = +c; - lut[-i] = -c; - } - lut[0] = 0; -} - -static void CountLevels(SmoothParams* const p) { - int i, j, last_level; - uint8_t used_levels[256] = { 0 }; - const uint8_t* data = p->src_; - p->min_ = 255; - p->max_ = 0; - for (j = 0; j < p->height_; ++j) { - for (i = 0; i < p->width_; ++i) { - const int v = data[i]; - if (v < p->min_) p->min_ = v; - if (v > p->max_) p->max_ = v; - used_levels[v] = 1; - } - data += p->stride_; - } - // Compute the mininum distance between two non-zero levels. - p->min_level_dist_ = p->max_ - p->min_; - last_level = -1; - for (i = 0; i < 256; ++i) { - if (used_levels[i]) { - ++p->num_levels_; - if (last_level >= 0) { - const int level_dist = i - last_level; - if (level_dist < p->min_level_dist_) { - p->min_level_dist_ = level_dist; - } - } - last_level = i; - } - } -} - -// Initialize all params. -static int InitParams(uint8_t* const data, int width, int height, int stride, - int radius, SmoothParams* const p) { - const int R = 2 * radius + 1; // total size of the kernel - - const size_t size_scratch_m = (R + 1) * width * sizeof(*p->start_); - const size_t size_m = width * sizeof(*p->average_); - const size_t size_lut = (1 + 2 * LUT_SIZE) * sizeof(*p->correction_); - const size_t total_size = size_scratch_m + size_m + size_lut; - uint8_t* mem = (uint8_t*)WebPSafeMalloc(1U, total_size); - - if (mem == NULL) return 0; - p->mem_ = (void*)mem; - - p->start_ = (uint16_t*)mem; - p->cur_ = p->start_; - p->end_ = p->start_ + R * width; - p->top_ = p->end_ - width; - memset(p->top_, 0, width * sizeof(*p->top_)); - mem += size_scratch_m; - - p->average_ = (uint16_t*)mem; - mem += size_m; - - p->width_ = width; - p->height_ = height; - p->stride_ = stride; - p->src_ = data; - p->dst_ = data; - p->radius_ = radius; - p->scale_ = (1 << (FIX + LFIX)) / (R * R); // normalization constant - p->row_ = -radius; - - // analyze the input distribution so we can best-fit the threshold - CountLevels(p); - - // correction table - p->correction_ = ((int16_t*)mem) + LUT_SIZE; - InitCorrectionLUT(p->correction_, p->min_level_dist_); - - return 1; -} - -static void CleanupParams(SmoothParams* const p) { - WebPSafeFree(p->mem_); -} - -int WebPDequantizeLevels(uint8_t* const data, int width, int height, int stride, - int strength) { - int radius = 4 * strength / 100; - - if (strength < 0 || strength > 100) return 0; - if (data == NULL || width <= 0 || height <= 0) return 0; // bad params - - // limit the filter size to not exceed the image dimensions - if (2 * radius + 1 > width) radius = (width - 1) >> 1; - if (2 * radius + 1 > height) radius = (height - 1) >> 1; - - if (radius > 0) { - SmoothParams p; - memset(&p, 0, sizeof(p)); - if (!InitParams(data, width, height, stride, radius, &p)) return 0; - if (p.num_levels_ > 2) { - for (; p.row_ < p.height_; ++p.row_) { - VFilter(&p); // accumulate average of input - // Need to wait few rows in order to prime the filter, - // before emitting some output. - if (p.row_ >= p.radius_) { - HFilter(&p); - ApplyFilter(&p); - } - } - } - CleanupParams(&p); - } - return 1; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.h deleted file mode 100644 index 327f19f3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.h +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Alpha plane de-quantization utility -// -// Author: Vikas Arora (vikasa@google.com) - -#ifndef WEBP_UTILS_QUANT_LEVELS_DEC_UTILS_H_ -#define WEBP_UTILS_QUANT_LEVELS_DEC_UTILS_H_ - -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Apply post-processing to input 'data' of size 'width'x'height' assuming that -// the source was quantized to a reduced number of levels. 'stride' is in bytes. -// Strength is in [0..100] and controls the amount of dithering applied. -// Returns false in case of error (data is NULL, invalid parameters, -// malloc failure, ...). -int WebPDequantizeLevels(uint8_t* const data, int width, int height, int stride, - int strength); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_QUANT_LEVELS_DEC_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.c deleted file mode 100644 index d65ad3c2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.c +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Quantize levels for specified number of quantization-levels ([2, 256]). -// Min and max values are preserved (usual 0 and 255 for alpha plane). -// -// Author: Skal (pascal.massimino@gmail.com) - -#include - -#include "src/utils/quant_levels_utils.h" - -#define NUM_SYMBOLS 256 - -#define MAX_ITER 6 // Maximum number of convergence steps. -#define ERROR_THRESHOLD 1e-4 // MSE stopping criterion. - -// ----------------------------------------------------------------------------- -// Quantize levels. - -int QuantizeLevels(uint8_t* const data, int width, int height, - int num_levels, uint64_t* const sse) { - int freq[NUM_SYMBOLS] = { 0 }; - int q_level[NUM_SYMBOLS] = { 0 }; - double inv_q_level[NUM_SYMBOLS] = { 0 }; - int min_s = 255, max_s = 0; - const size_t data_size = height * width; - int i, num_levels_in, iter; - double last_err = 1.e38, err = 0.; - const double err_threshold = ERROR_THRESHOLD * data_size; - - if (data == NULL) { - return 0; - } - - if (width <= 0 || height <= 0) { - return 0; - } - - if (num_levels < 2 || num_levels > 256) { - return 0; - } - - { - size_t n; - num_levels_in = 0; - for (n = 0; n < data_size; ++n) { - num_levels_in += (freq[data[n]] == 0); - if (min_s > data[n]) min_s = data[n]; - if (max_s < data[n]) max_s = data[n]; - ++freq[data[n]]; - } - } - - if (num_levels_in <= num_levels) goto End; // nothing to do! - - // Start with uniformly spread centroids. - for (i = 0; i < num_levels; ++i) { - inv_q_level[i] = min_s + (double)(max_s - min_s) * i / (num_levels - 1); - } - - // Fixed values. Won't be changed. - q_level[min_s] = 0; - q_level[max_s] = num_levels - 1; - assert(inv_q_level[0] == min_s); - assert(inv_q_level[num_levels - 1] == max_s); - - // k-Means iterations. - for (iter = 0; iter < MAX_ITER; ++iter) { - double q_sum[NUM_SYMBOLS] = { 0 }; - double q_count[NUM_SYMBOLS] = { 0 }; - int s, slot = 0; - - // Assign classes to representatives. - for (s = min_s; s <= max_s; ++s) { - // Keep track of the nearest neighbour 'slot' - while (slot < num_levels - 1 && - 2 * s > inv_q_level[slot] + inv_q_level[slot + 1]) { - ++slot; - } - if (freq[s] > 0) { - q_sum[slot] += s * freq[s]; - q_count[slot] += freq[s]; - } - q_level[s] = slot; - } - - // Assign new representatives to classes. - if (num_levels > 2) { - for (slot = 1; slot < num_levels - 1; ++slot) { - const double count = q_count[slot]; - if (count > 0.) { - inv_q_level[slot] = q_sum[slot] / count; - } - } - } - - // Compute convergence error. - err = 0.; - for (s = min_s; s <= max_s; ++s) { - const double error = s - inv_q_level[q_level[s]]; - err += freq[s] * error * error; - } - - // Check for convergence: we stop as soon as the error is no - // longer improving. - if (last_err - err < err_threshold) break; - last_err = err; - } - - // Remap the alpha plane to quantized values. - { - // double->int rounding operation can be costly, so we do it - // once for all before remapping. We also perform the data[] -> slot - // mapping, while at it (avoid one indirection in the final loop). - uint8_t map[NUM_SYMBOLS]; - int s; - size_t n; - for (s = min_s; s <= max_s; ++s) { - const int slot = q_level[s]; - map[s] = (uint8_t)(inv_q_level[slot] + .5); - } - // Final pass. - for (n = 0; n < data_size; ++n) { - data[n] = map[data[n]]; - } - } - End: - // Store sum of squared error if needed. - if (sse != NULL) *sse = (uint64_t)err; - - return 1; -} - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.h deleted file mode 100644 index 9ee3ea00..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Alpha plane quantization utility -// -// Author: Vikas Arora (vikasa@google.com) - -#ifndef WEBP_UTILS_QUANT_LEVELS_UTILS_H_ -#define WEBP_UTILS_QUANT_LEVELS_UTILS_H_ - -#include - -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Replace the input 'data' of size 'width'x'height' with 'num-levels' -// quantized values. If not NULL, 'sse' will contain the sum of squared error. -// Valid range for 'num_levels' is [2, 256]. -// Returns false in case of error (data is NULL, or parameters are invalid). -int QuantizeLevels(uint8_t* const data, int width, int height, int num_levels, - uint64_t* const sse); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_QUANT_LEVELS_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/random_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/random_utils.c deleted file mode 100644 index 7edb3fef..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/random_utils.c +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Pseudo-random utilities -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include "src/utils/random_utils.h" - -//------------------------------------------------------------------------------ - -// 31b-range values -static const uint32_t kRandomTable[VP8_RANDOM_TABLE_SIZE] = { - 0x0de15230, 0x03b31886, 0x775faccb, 0x1c88626a, 0x68385c55, 0x14b3b828, - 0x4a85fef8, 0x49ddb84b, 0x64fcf397, 0x5c550289, 0x4a290000, 0x0d7ec1da, - 0x5940b7ab, 0x5492577d, 0x4e19ca72, 0x38d38c69, 0x0c01ee65, 0x32a1755f, - 0x5437f652, 0x5abb2c32, 0x0faa57b1, 0x73f533e7, 0x685feeda, 0x7563cce2, - 0x6e990e83, 0x4730a7ed, 0x4fc0d9c6, 0x496b153c, 0x4f1403fa, 0x541afb0c, - 0x73990b32, 0x26d7cb1c, 0x6fcc3706, 0x2cbb77d8, 0x75762f2a, 0x6425ccdd, - 0x24b35461, 0x0a7d8715, 0x220414a8, 0x141ebf67, 0x56b41583, 0x73e502e3, - 0x44cab16f, 0x28264d42, 0x73baaefb, 0x0a50ebed, 0x1d6ab6fb, 0x0d3ad40b, - 0x35db3b68, 0x2b081e83, 0x77ce6b95, 0x5181e5f0, 0x78853bbc, 0x009f9494, - 0x27e5ed3c -}; - -void VP8InitRandom(VP8Random* const rg, float dithering) { - memcpy(rg->tab_, kRandomTable, sizeof(rg->tab_)); - rg->index1_ = 0; - rg->index2_ = 31; - rg->amp_ = (dithering < 0.0) ? 0 - : (dithering > 1.0) ? (1 << VP8_RANDOM_DITHER_FIX) - : (uint32_t)((1 << VP8_RANDOM_DITHER_FIX) * dithering); -} - -//------------------------------------------------------------------------------ - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/random_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/random_utils.h deleted file mode 100644 index a5006f84..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/random_utils.h +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Pseudo-random utilities -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_UTILS_RANDOM_UTILS_H_ -#define WEBP_UTILS_RANDOM_UTILS_H_ - -#include -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define VP8_RANDOM_DITHER_FIX 8 // fixed-point precision for dithering -#define VP8_RANDOM_TABLE_SIZE 55 - -typedef struct { - int index1_, index2_; - uint32_t tab_[VP8_RANDOM_TABLE_SIZE]; - int amp_; -} VP8Random; - -// Initializes random generator with an amplitude 'dithering' in range [0..1]. -void VP8InitRandom(VP8Random* const rg, float dithering); - -// Returns a centered pseudo-random number with 'num_bits' amplitude. -// (uses D.Knuth's Difference-based random generator). -// 'amp' is in VP8_RANDOM_DITHER_FIX fixed-point precision. -static WEBP_INLINE int VP8RandomBits2(VP8Random* const rg, int num_bits, - int amp) { - int diff; - assert(num_bits + VP8_RANDOM_DITHER_FIX <= 31); - diff = rg->tab_[rg->index1_] - rg->tab_[rg->index2_]; - if (diff < 0) diff += (1u << 31); - rg->tab_[rg->index1_] = diff; - if (++rg->index1_ == VP8_RANDOM_TABLE_SIZE) rg->index1_ = 0; - if (++rg->index2_ == VP8_RANDOM_TABLE_SIZE) rg->index2_ = 0; - // sign-extend, 0-center - diff = (int)((uint32_t)diff << 1) >> (32 - num_bits); - diff = (diff * amp) >> VP8_RANDOM_DITHER_FIX; // restrict range - diff += 1 << (num_bits - 1); // shift back to 0.5-center - return diff; -} - -static WEBP_INLINE int VP8RandomBits(VP8Random* const rg, int num_bits) { - return VP8RandomBits2(rg, num_bits, rg->amp_); -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_RANDOM_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/rescaler_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/rescaler_utils.c deleted file mode 100644 index 4bcae24a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/rescaler_utils.c +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Rescaling functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include -#include -#include "src/dsp/dsp.h" -#include "src/utils/rescaler_utils.h" - -//------------------------------------------------------------------------------ - -void WebPRescalerInit(WebPRescaler* const wrk, int src_width, int src_height, - uint8_t* const dst, - int dst_width, int dst_height, int dst_stride, - int num_channels, rescaler_t* const work) { - const int x_add = src_width, x_sub = dst_width; - const int y_add = src_height, y_sub = dst_height; - wrk->x_expand = (src_width < dst_width); - wrk->y_expand = (src_height < dst_height); - wrk->src_width = src_width; - wrk->src_height = src_height; - wrk->dst_width = dst_width; - wrk->dst_height = dst_height; - wrk->src_y = 0; - wrk->dst_y = 0; - wrk->dst = dst; - wrk->dst_stride = dst_stride; - wrk->num_channels = num_channels; - - // for 'x_expand', we use bilinear interpolation - wrk->x_add = wrk->x_expand ? (x_sub - 1) : x_add; - wrk->x_sub = wrk->x_expand ? (x_add - 1) : x_sub; - if (!wrk->x_expand) { // fx_scale is not used otherwise - wrk->fx_scale = WEBP_RESCALER_FRAC(1, wrk->x_sub); - } - // vertical scaling parameters - wrk->y_add = wrk->y_expand ? y_add - 1 : y_add; - wrk->y_sub = wrk->y_expand ? y_sub - 1 : y_sub; - wrk->y_accum = wrk->y_expand ? wrk->y_sub : wrk->y_add; - if (!wrk->y_expand) { - // This is WEBP_RESCALER_FRAC(dst_height, x_add * y_add) without the cast. - // Its value is <= WEBP_RESCALER_ONE, because dst_height <= wrk->y_add, and - // wrk->x_add >= 1; - const uint64_t ratio = - (uint64_t)dst_height * WEBP_RESCALER_ONE / (wrk->x_add * wrk->y_add); - if (ratio != (uint32_t)ratio) { - // When ratio == WEBP_RESCALER_ONE, we can't represent the ratio with the - // current fixed-point precision. This happens when src_height == - // wrk->y_add (which == src_height), and wrk->x_add == 1. - // => We special-case fxy_scale = 0, in WebPRescalerExportRow(). - wrk->fxy_scale = 0; - } else { - wrk->fxy_scale = (uint32_t)ratio; - } - wrk->fy_scale = WEBP_RESCALER_FRAC(1, wrk->y_sub); - } else { - wrk->fy_scale = WEBP_RESCALER_FRAC(1, wrk->x_add); - // wrk->fxy_scale is unused here. - } - wrk->irow = work; - wrk->frow = work + num_channels * dst_width; - memset(work, 0, 2 * dst_width * num_channels * sizeof(*work)); - - WebPRescalerDspInit(); -} - -int WebPRescalerGetScaledDimensions(int src_width, int src_height, - int* const scaled_width, - int* const scaled_height) { - assert(scaled_width != NULL); - assert(scaled_height != NULL); - { - int width = *scaled_width; - int height = *scaled_height; - - // if width is unspecified, scale original proportionally to height ratio. - if (width == 0 && src_height > 0) { - width = - (int)(((uint64_t)src_width * height + src_height - 1) / src_height); - } - // if height is unspecified, scale original proportionally to width ratio. - if (height == 0 && src_width > 0) { - height = - (int)(((uint64_t)src_height * width + src_width - 1) / src_width); - } - // Check if the overall dimensions still make sense. - if (width <= 0 || height <= 0) { - return 0; - } - - *scaled_width = width; - *scaled_height = height; - return 1; - } -} - -//------------------------------------------------------------------------------ -// all-in-one calls - -int WebPRescaleNeededLines(const WebPRescaler* const wrk, int max_num_lines) { - const int num_lines = (wrk->y_accum + wrk->y_sub - 1) / wrk->y_sub; - return (num_lines > max_num_lines) ? max_num_lines : num_lines; -} - -int WebPRescalerImport(WebPRescaler* const wrk, int num_lines, - const uint8_t* src, int src_stride) { - int total_imported = 0; - while (total_imported < num_lines && !WebPRescalerHasPendingOutput(wrk)) { - if (wrk->y_expand) { - rescaler_t* const tmp = wrk->irow; - wrk->irow = wrk->frow; - wrk->frow = tmp; - } - WebPRescalerImportRow(wrk, src); - if (!wrk->y_expand) { // Accumulate the contribution of the new row. - int x; - for (x = 0; x < wrk->num_channels * wrk->dst_width; ++x) { - wrk->irow[x] += wrk->frow[x]; - } - } - ++wrk->src_y; - src += src_stride; - ++total_imported; - wrk->y_accum -= wrk->y_sub; - } - return total_imported; -} - -int WebPRescalerExport(WebPRescaler* const rescaler) { - int total_exported = 0; - while (WebPRescalerHasPendingOutput(rescaler)) { - WebPRescalerExportRow(rescaler); - ++total_exported; - } - return total_exported; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h deleted file mode 100644 index ca41e42c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Rescaling functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_UTILS_RESCALER_UTILS_H_ -#define WEBP_UTILS_RESCALER_UTILS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "src/webp/types.h" - -#define WEBP_RESCALER_RFIX 32 // fixed-point precision for multiplies -#define WEBP_RESCALER_ONE (1ull << WEBP_RESCALER_RFIX) -#define WEBP_RESCALER_FRAC(x, y) \ - ((uint32_t)(((uint64_t)(x) << WEBP_RESCALER_RFIX) / (y))) - -// Structure used for on-the-fly rescaling -typedef uint32_t rescaler_t; // type for side-buffer -typedef struct WebPRescaler WebPRescaler; -struct WebPRescaler { - int x_expand; // true if we're expanding in the x direction - int y_expand; // true if we're expanding in the y direction - int num_channels; // bytes to jump between pixels - uint32_t fx_scale; // fixed-point scaling factors - uint32_t fy_scale; // '' - uint32_t fxy_scale; // '' - int y_accum; // vertical accumulator - int y_add, y_sub; // vertical increments - int x_add, x_sub; // horizontal increments - int src_width, src_height; // source dimensions - int dst_width, dst_height; // destination dimensions - int src_y, dst_y; // row counters for input and output - uint8_t* dst; - int dst_stride; - rescaler_t* irow, *frow; // work buffer -}; - -// Initialize a rescaler given scratch area 'work' and dimensions of src & dst. -void WebPRescalerInit(WebPRescaler* const rescaler, - int src_width, int src_height, - uint8_t* const dst, - int dst_width, int dst_height, int dst_stride, - int num_channels, - rescaler_t* const work); - -// If either 'scaled_width' or 'scaled_height' (but not both) is 0 the value -// will be calculated preserving the aspect ratio, otherwise the values are -// left unmodified. Returns true on success, false if either value is 0 after -// performing the scaling calculation. -int WebPRescalerGetScaledDimensions(int src_width, int src_height, - int* const scaled_width, - int* const scaled_height); - -// Returns the number of input lines needed next to produce one output line, -// considering that the maximum available input lines are 'max_num_lines'. -int WebPRescaleNeededLines(const WebPRescaler* const rescaler, - int max_num_lines); - -// Import multiple rows over all channels, until at least one row is ready to -// be exported. Returns the actual number of lines that were imported. -int WebPRescalerImport(WebPRescaler* const rescaler, int num_rows, - const uint8_t* src, int src_stride); - -// Export as many rows as possible. Return the numbers of rows written. -int WebPRescalerExport(WebPRescaler* const rescaler); - -// Return true if input is finished -static WEBP_INLINE -int WebPRescalerInputDone(const WebPRescaler* const rescaler) { - return (rescaler->src_y >= rescaler->src_height); -} -// Return true if output is finished -static WEBP_INLINE -int WebPRescalerOutputDone(const WebPRescaler* const rescaler) { - return (rescaler->dst_y >= rescaler->dst_height); -} - -// Return true if there are pending output rows ready. -static WEBP_INLINE -int WebPRescalerHasPendingOutput(const WebPRescaler* const rescaler) { - return !WebPRescalerOutputDone(rescaler) && (rescaler->y_accum <= 0); -} - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_RESCALER_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/thread_utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/thread_utils.c deleted file mode 100644 index 4e470e17..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/thread_utils.c +++ /dev/null @@ -1,369 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Multi-threaded worker -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include // for memset() -#include "src/utils/thread_utils.h" -#include "src/utils/utils.h" - -#ifdef WEBP_USE_THREAD - -#if defined(_WIN32) - -#include -typedef HANDLE pthread_t; -typedef CRITICAL_SECTION pthread_mutex_t; - -#if _WIN32_WINNT >= 0x0600 // Windows Vista / Server 2008 or greater -#define USE_WINDOWS_CONDITION_VARIABLE -typedef CONDITION_VARIABLE pthread_cond_t; -#else -typedef struct { - HANDLE waiting_sem_; - HANDLE received_sem_; - HANDLE signal_event_; -} pthread_cond_t; -#endif // _WIN32_WINNT >= 0x600 - -#ifndef WINAPI_FAMILY_PARTITION -#define WINAPI_PARTITION_DESKTOP 1 -#define WINAPI_FAMILY_PARTITION(x) x -#endif - -#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) -#define USE_CREATE_THREAD -#endif - -#else // !_WIN32 - -#include - -#endif // _WIN32 - -typedef struct { - pthread_mutex_t mutex_; - pthread_cond_t condition_; - pthread_t thread_; -} WebPWorkerImpl; - -#if defined(_WIN32) - -//------------------------------------------------------------------------------ -// simplistic pthread emulation layer - -#include - -// _beginthreadex requires __stdcall -#define THREADFN unsigned int __stdcall -#define THREAD_RETURN(val) (unsigned int)((DWORD_PTR)val) - -#if _WIN32_WINNT >= 0x0501 // Windows XP or greater -#define WaitForSingleObject(obj, timeout) \ - WaitForSingleObjectEx(obj, timeout, FALSE /*bAlertable*/) -#endif - -static int pthread_create(pthread_t* const thread, const void* attr, - unsigned int (__stdcall* start)(void*), void* arg) { - (void)attr; -#ifdef USE_CREATE_THREAD - *thread = CreateThread(NULL, /* lpThreadAttributes */ - 0, /* dwStackSize */ - start, - arg, - 0, /* dwStackSize */ - NULL); /* lpThreadId */ -#else - *thread = (pthread_t)_beginthreadex(NULL, /* void *security */ - 0, /* unsigned stack_size */ - start, - arg, - 0, /* unsigned initflag */ - NULL); /* unsigned *thrdaddr */ -#endif - if (*thread == NULL) return 1; - SetThreadPriority(*thread, THREAD_PRIORITY_ABOVE_NORMAL); - return 0; -} - -static int pthread_join(pthread_t thread, void** value_ptr) { - (void)value_ptr; - return (WaitForSingleObject(thread, INFINITE) != WAIT_OBJECT_0 || - CloseHandle(thread) == 0); -} - -// Mutex -static int pthread_mutex_init(pthread_mutex_t* const mutex, void* mutexattr) { - (void)mutexattr; -#if _WIN32_WINNT >= 0x0600 // Windows Vista / Server 2008 or greater - InitializeCriticalSectionEx(mutex, 0 /*dwSpinCount*/, 0 /*Flags*/); -#else - InitializeCriticalSection(mutex); -#endif - return 0; -} - -static int pthread_mutex_lock(pthread_mutex_t* const mutex) { - EnterCriticalSection(mutex); - return 0; -} - -static int pthread_mutex_unlock(pthread_mutex_t* const mutex) { - LeaveCriticalSection(mutex); - return 0; -} - -static int pthread_mutex_destroy(pthread_mutex_t* const mutex) { - DeleteCriticalSection(mutex); - return 0; -} - -// Condition -static int pthread_cond_destroy(pthread_cond_t* const condition) { - int ok = 1; -#ifdef USE_WINDOWS_CONDITION_VARIABLE - (void)condition; -#else - ok &= (CloseHandle(condition->waiting_sem_) != 0); - ok &= (CloseHandle(condition->received_sem_) != 0); - ok &= (CloseHandle(condition->signal_event_) != 0); -#endif - return !ok; -} - -static int pthread_cond_init(pthread_cond_t* const condition, void* cond_attr) { - (void)cond_attr; -#ifdef USE_WINDOWS_CONDITION_VARIABLE - InitializeConditionVariable(condition); -#else - condition->waiting_sem_ = CreateSemaphore(NULL, 0, 1, NULL); - condition->received_sem_ = CreateSemaphore(NULL, 0, 1, NULL); - condition->signal_event_ = CreateEvent(NULL, FALSE, FALSE, NULL); - if (condition->waiting_sem_ == NULL || - condition->received_sem_ == NULL || - condition->signal_event_ == NULL) { - pthread_cond_destroy(condition); - return 1; - } -#endif - return 0; -} - -static int pthread_cond_signal(pthread_cond_t* const condition) { - int ok = 1; -#ifdef USE_WINDOWS_CONDITION_VARIABLE - WakeConditionVariable(condition); -#else - if (WaitForSingleObject(condition->waiting_sem_, 0) == WAIT_OBJECT_0) { - // a thread is waiting in pthread_cond_wait: allow it to be notified - ok = SetEvent(condition->signal_event_); - // wait until the event is consumed so the signaler cannot consume - // the event via its own pthread_cond_wait. - ok &= (WaitForSingleObject(condition->received_sem_, INFINITE) != - WAIT_OBJECT_0); - } -#endif - return !ok; -} - -static int pthread_cond_wait(pthread_cond_t* const condition, - pthread_mutex_t* const mutex) { - int ok; -#ifdef USE_WINDOWS_CONDITION_VARIABLE - ok = SleepConditionVariableCS(condition, mutex, INFINITE); -#else - // note that there is a consumer available so the signal isn't dropped in - // pthread_cond_signal - if (!ReleaseSemaphore(condition->waiting_sem_, 1, NULL)) return 1; - // now unlock the mutex so pthread_cond_signal may be issued - pthread_mutex_unlock(mutex); - ok = (WaitForSingleObject(condition->signal_event_, INFINITE) == - WAIT_OBJECT_0); - ok &= ReleaseSemaphore(condition->received_sem_, 1, NULL); - pthread_mutex_lock(mutex); -#endif - return !ok; -} - -#else // !_WIN32 -# define THREADFN void* -# define THREAD_RETURN(val) val -#endif // _WIN32 - -//------------------------------------------------------------------------------ - -static THREADFN ThreadLoop(void* ptr) { - WebPWorker* const worker = (WebPWorker*)ptr; - WebPWorkerImpl* const impl = (WebPWorkerImpl*)worker->impl_; - int done = 0; - while (!done) { - pthread_mutex_lock(&impl->mutex_); - while (worker->status_ == OK) { // wait in idling mode - pthread_cond_wait(&impl->condition_, &impl->mutex_); - } - if (worker->status_ == WORK) { - WebPGetWorkerInterface()->Execute(worker); - worker->status_ = OK; - } else if (worker->status_ == NOT_OK) { // finish the worker - done = 1; - } - // signal to the main thread that we're done (for Sync()) - // Note the associated mutex does not need to be held when signaling the - // condition. Unlocking the mutex first may improve performance in some - // implementations, avoiding the case where the waiting thread can't - // reacquire the mutex when woken. - pthread_mutex_unlock(&impl->mutex_); - pthread_cond_signal(&impl->condition_); - } - return THREAD_RETURN(NULL); // Thread is finished -} - -// main thread state control -static void ChangeState(WebPWorker* const worker, WebPWorkerStatus new_status) { - // No-op when attempting to change state on a thread that didn't come up. - // Checking status_ without acquiring the lock first would result in a data - // race. - WebPWorkerImpl* const impl = (WebPWorkerImpl*)worker->impl_; - if (impl == NULL) return; - - pthread_mutex_lock(&impl->mutex_); - if (worker->status_ >= OK) { - // wait for the worker to finish - while (worker->status_ != OK) { - pthread_cond_wait(&impl->condition_, &impl->mutex_); - } - // assign new status and release the working thread if needed - if (new_status != OK) { - worker->status_ = new_status; - // Note the associated mutex does not need to be held when signaling the - // condition. Unlocking the mutex first may improve performance in some - // implementations, avoiding the case where the waiting thread can't - // reacquire the mutex when woken. - pthread_mutex_unlock(&impl->mutex_); - pthread_cond_signal(&impl->condition_); - return; - } - } - pthread_mutex_unlock(&impl->mutex_); -} - -#endif // WEBP_USE_THREAD - -//------------------------------------------------------------------------------ - -static void Init(WebPWorker* const worker) { - memset(worker, 0, sizeof(*worker)); - worker->status_ = NOT_OK; -} - -static int Sync(WebPWorker* const worker) { -#ifdef WEBP_USE_THREAD - ChangeState(worker, OK); -#endif - assert(worker->status_ <= OK); - return !worker->had_error; -} - -static int Reset(WebPWorker* const worker) { - int ok = 1; - worker->had_error = 0; - if (worker->status_ < OK) { -#ifdef WEBP_USE_THREAD - WebPWorkerImpl* const impl = - (WebPWorkerImpl*)WebPSafeCalloc(1, sizeof(WebPWorkerImpl)); - worker->impl_ = (void*)impl; - if (worker->impl_ == NULL) { - return 0; - } - if (pthread_mutex_init(&impl->mutex_, NULL)) { - goto Error; - } - if (pthread_cond_init(&impl->condition_, NULL)) { - pthread_mutex_destroy(&impl->mutex_); - goto Error; - } - pthread_mutex_lock(&impl->mutex_); - ok = !pthread_create(&impl->thread_, NULL, ThreadLoop, worker); - if (ok) worker->status_ = OK; - pthread_mutex_unlock(&impl->mutex_); - if (!ok) { - pthread_mutex_destroy(&impl->mutex_); - pthread_cond_destroy(&impl->condition_); - Error: - WebPSafeFree(impl); - worker->impl_ = NULL; - return 0; - } -#else - worker->status_ = OK; -#endif - } else if (worker->status_ > OK) { - ok = Sync(worker); - } - assert(!ok || (worker->status_ == OK)); - return ok; -} - -static void Execute(WebPWorker* const worker) { - if (worker->hook != NULL) { - worker->had_error |= !worker->hook(worker->data1, worker->data2); - } -} - -static void Launch(WebPWorker* const worker) { -#ifdef WEBP_USE_THREAD - ChangeState(worker, WORK); -#else - Execute(worker); -#endif -} - -static void End(WebPWorker* const worker) { -#ifdef WEBP_USE_THREAD - if (worker->impl_ != NULL) { - WebPWorkerImpl* const impl = (WebPWorkerImpl*)worker->impl_; - ChangeState(worker, NOT_OK); - pthread_join(impl->thread_, NULL); - pthread_mutex_destroy(&impl->mutex_); - pthread_cond_destroy(&impl->condition_); - WebPSafeFree(impl); - worker->impl_ = NULL; - } -#else - worker->status_ = NOT_OK; - assert(worker->impl_ == NULL); -#endif - assert(worker->status_ == NOT_OK); -} - -//------------------------------------------------------------------------------ - -static WebPWorkerInterface g_worker_interface = { - Init, Reset, Sync, Launch, Execute, End -}; - -int WebPSetWorkerInterface(const WebPWorkerInterface* const winterface) { - if (winterface == NULL || - winterface->Init == NULL || winterface->Reset == NULL || - winterface->Sync == NULL || winterface->Launch == NULL || - winterface->Execute == NULL || winterface->End == NULL) { - return 0; - } - g_worker_interface = *winterface; - return 1; -} - -const WebPWorkerInterface* WebPGetWorkerInterface(void) { - return &g_worker_interface; -} - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/thread_utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/thread_utils.h deleted file mode 100644 index 29ad49f7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/thread_utils.h +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Multi-threaded worker -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_UTILS_THREAD_UTILS_H_ -#define WEBP_UTILS_THREAD_UTILS_H_ - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// State of the worker thread object -typedef enum { - NOT_OK = 0, // object is unusable - OK, // ready to work - WORK // busy finishing the current task -} WebPWorkerStatus; - -// Function to be called by the worker thread. Takes two opaque pointers as -// arguments (data1 and data2), and should return false in case of error. -typedef int (*WebPWorkerHook)(void*, void*); - -// Synchronization object used to launch job in the worker thread -typedef struct { - void* impl_; // platform-dependent implementation worker details - WebPWorkerStatus status_; - WebPWorkerHook hook; // hook to call - void* data1; // first argument passed to 'hook' - void* data2; // second argument passed to 'hook' - int had_error; // return value of the last call to 'hook' -} WebPWorker; - -// The interface for all thread-worker related functions. All these functions -// must be implemented. -typedef struct { - // Must be called first, before any other method. - void (*Init)(WebPWorker* const worker); - // Must be called to initialize the object and spawn the thread. Re-entrant. - // Will potentially launch the thread. Returns false in case of error. - int (*Reset)(WebPWorker* const worker); - // Makes sure the previous work is finished. Returns true if worker->had_error - // was not set and no error condition was triggered by the working thread. - int (*Sync)(WebPWorker* const worker); - // Triggers the thread to call hook() with data1 and data2 arguments. These - // hook/data1/data2 values can be changed at any time before calling this - // function, but not be changed afterward until the next call to Sync(). - void (*Launch)(WebPWorker* const worker); - // This function is similar to Launch() except that it calls the - // hook directly instead of using a thread. Convenient to bypass the thread - // mechanism while still using the WebPWorker structs. Sync() must - // still be called afterward (for error reporting). - void (*Execute)(WebPWorker* const worker); - // Kill the thread and terminate the object. To use the object again, one - // must call Reset() again. - void (*End)(WebPWorker* const worker); -} WebPWorkerInterface; - -// Install a new set of threading functions, overriding the defaults. This -// should be done before any workers are started, i.e., before any encoding or -// decoding takes place. The contents of the interface struct are copied, it -// is safe to free the corresponding memory after this call. This function is -// not thread-safe. Return false in case of invalid pointer or methods. -WEBP_EXTERN int WebPSetWorkerInterface( - const WebPWorkerInterface* const winterface); - -// Retrieve the currently set thread worker interface. -WEBP_EXTERN const WebPWorkerInterface* WebPGetWorkerInterface(void); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_THREAD_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/utils.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/utils.c deleted file mode 100644 index 764f752b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/utils.c +++ /dev/null @@ -1,335 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Misc. common utility functions -// -// Author: Skal (pascal.massimino@gmail.com) - -#include -#include // for memcpy() -#include "src/webp/decode.h" -#include "src/webp/encode.h" -#include "src/webp/format_constants.h" // for MAX_PALETTE_SIZE -#include "src/utils/color_cache_utils.h" -#include "src/utils/utils.h" - -// If PRINT_MEM_INFO is defined, extra info (like total memory used, number of -// alloc/free etc) is printed. For debugging/tuning purpose only (it's slow, -// and not multi-thread safe!). -// An interesting alternative is valgrind's 'massif' tool: -// http://valgrind.org/docs/manual/ms-manual.html -// Here is an example command line: -/* valgrind --tool=massif --massif-out-file=massif.out \ - --stacks=yes --alloc-fn=WebPSafeMalloc --alloc-fn=WebPSafeCalloc - ms_print massif.out -*/ -// In addition: -// * if PRINT_MEM_TRAFFIC is defined, all the details of the malloc/free cycles -// are printed. -// * if MALLOC_FAIL_AT is defined, the global environment variable -// $MALLOC_FAIL_AT is used to simulate a memory error when calloc or malloc -// is called for the nth time. Example usage: -// export MALLOC_FAIL_AT=50 && ./examples/cwebp input.png -// * if MALLOC_LIMIT is defined, the global environment variable $MALLOC_LIMIT -// sets the maximum amount of memory (in bytes) made available to libwebp. -// This can be used to emulate environment with very limited memory. -// Example: export MALLOC_LIMIT=64000000 && ./examples/dwebp picture.webp - -// #define PRINT_MEM_INFO -// #define PRINT_MEM_TRAFFIC -// #define MALLOC_FAIL_AT -// #define MALLOC_LIMIT - -//------------------------------------------------------------------------------ -// Checked memory allocation - -#if defined(PRINT_MEM_INFO) - -#include - -static int num_malloc_calls = 0; -static int num_calloc_calls = 0; -static int num_free_calls = 0; -static int countdown_to_fail = 0; // 0 = off - -typedef struct MemBlock MemBlock; -struct MemBlock { - void* ptr_; - size_t size_; - MemBlock* next_; -}; - -static MemBlock* all_blocks = NULL; -static size_t total_mem = 0; -static size_t total_mem_allocated = 0; -static size_t high_water_mark = 0; -static size_t mem_limit = 0; - -static int exit_registered = 0; - -static void PrintMemInfo(void) { - fprintf(stderr, "\nMEMORY INFO:\n"); - fprintf(stderr, "num calls to: malloc = %4d\n", num_malloc_calls); - fprintf(stderr, " calloc = %4d\n", num_calloc_calls); - fprintf(stderr, " free = %4d\n", num_free_calls); - fprintf(stderr, "total_mem: %u\n", (uint32_t)total_mem); - fprintf(stderr, "total_mem allocated: %u\n", (uint32_t)total_mem_allocated); - fprintf(stderr, "high-water mark: %u\n", (uint32_t)high_water_mark); - while (all_blocks != NULL) { - MemBlock* b = all_blocks; - all_blocks = b->next_; - free(b); - } -} - -static void Increment(int* const v) { - if (!exit_registered) { -#if defined(MALLOC_FAIL_AT) - { - const char* const malloc_fail_at_str = getenv("MALLOC_FAIL_AT"); - if (malloc_fail_at_str != NULL) { - countdown_to_fail = atoi(malloc_fail_at_str); - } - } -#endif -#if defined(MALLOC_LIMIT) - { - const char* const malloc_limit_str = getenv("MALLOC_LIMIT"); - if (malloc_limit_str != NULL) { - mem_limit = atoi(malloc_limit_str); - } - } -#endif - (void)countdown_to_fail; - (void)mem_limit; - atexit(PrintMemInfo); - exit_registered = 1; - } - ++*v; -} - -static void AddMem(void* ptr, size_t size) { - if (ptr != NULL) { - MemBlock* const b = (MemBlock*)malloc(sizeof(*b)); - if (b == NULL) abort(); - b->next_ = all_blocks; - all_blocks = b; - b->ptr_ = ptr; - b->size_ = size; - total_mem += size; - total_mem_allocated += size; -#if defined(PRINT_MEM_TRAFFIC) -#if defined(MALLOC_FAIL_AT) - fprintf(stderr, "fail-count: %5d [mem=%u]\n", - num_malloc_calls + num_calloc_calls, (uint32_t)total_mem); -#else - fprintf(stderr, "Mem: %u (+%u)\n", (uint32_t)total_mem, (uint32_t)size); -#endif -#endif - if (total_mem > high_water_mark) high_water_mark = total_mem; - } -} - -static void SubMem(void* ptr) { - if (ptr != NULL) { - MemBlock** b = &all_blocks; - // Inefficient search, but that's just for debugging. - while (*b != NULL && (*b)->ptr_ != ptr) b = &(*b)->next_; - if (*b == NULL) { - fprintf(stderr, "Invalid pointer free! (%p)\n", ptr); - abort(); - } - { - MemBlock* const block = *b; - *b = block->next_; - total_mem -= block->size_; -#if defined(PRINT_MEM_TRAFFIC) - fprintf(stderr, "Mem: %u (-%u)\n", - (uint32_t)total_mem, (uint32_t)block->size_); -#endif - free(block); - } - } -} - -#else -#define Increment(v) do {} while (0) -#define AddMem(p, s) do {} while (0) -#define SubMem(p) do {} while (0) -#endif - -// Returns 0 in case of overflow of nmemb * size. -static int CheckSizeArgumentsOverflow(uint64_t nmemb, size_t size) { - const uint64_t total_size = nmemb * size; - if (nmemb == 0) return 1; - if ((uint64_t)size > WEBP_MAX_ALLOCABLE_MEMORY / nmemb) return 0; - if (total_size != (size_t)total_size) return 0; -#if defined(PRINT_MEM_INFO) && defined(MALLOC_FAIL_AT) - if (countdown_to_fail > 0 && --countdown_to_fail == 0) { - return 0; // fake fail! - } -#endif -#if defined(MALLOC_LIMIT) - if (mem_limit > 0) { - const uint64_t new_total_mem = (uint64_t)total_mem + total_size; - if (new_total_mem != (size_t)new_total_mem || - new_total_mem > mem_limit) { - return 0; // fake fail! - } - } -#endif - - return 1; -} - -void* WebPSafeMalloc(uint64_t nmemb, size_t size) { - void* ptr; - Increment(&num_malloc_calls); - if (!CheckSizeArgumentsOverflow(nmemb, size)) return NULL; - assert(nmemb * size > 0); - ptr = malloc((size_t)(nmemb * size)); - AddMem(ptr, (size_t)(nmemb * size)); - return ptr; -} - -void* WebPSafeCalloc(uint64_t nmemb, size_t size) { - void* ptr; - Increment(&num_calloc_calls); - if (!CheckSizeArgumentsOverflow(nmemb, size)) return NULL; - assert(nmemb * size > 0); - ptr = calloc((size_t)nmemb, size); - AddMem(ptr, (size_t)(nmemb * size)); - return ptr; -} - -void WebPSafeFree(void* const ptr) { - if (ptr != NULL) { - Increment(&num_free_calls); - SubMem(ptr); - } - free(ptr); -} - -// Public API functions. - -void* WebPMalloc(size_t size) { - return WebPSafeMalloc(1, size); -} - -void WebPFree(void* ptr) { - WebPSafeFree(ptr); -} - -//------------------------------------------------------------------------------ - -void WebPCopyPlane(const uint8_t* src, int src_stride, - uint8_t* dst, int dst_stride, int width, int height) { - assert(src != NULL && dst != NULL); - assert(src_stride >= width && dst_stride >= width); - while (height-- > 0) { - memcpy(dst, src, width); - src += src_stride; - dst += dst_stride; - } -} - -void WebPCopyPixels(const WebPPicture* const src, WebPPicture* const dst) { - assert(src != NULL && dst != NULL); - assert(src->width == dst->width && src->height == dst->height); - assert(src->use_argb && dst->use_argb); - WebPCopyPlane((uint8_t*)src->argb, 4 * src->argb_stride, (uint8_t*)dst->argb, - 4 * dst->argb_stride, 4 * src->width, src->height); -} - -//------------------------------------------------------------------------------ - -#define COLOR_HASH_SIZE (MAX_PALETTE_SIZE * 4) -#define COLOR_HASH_RIGHT_SHIFT 22 // 32 - log2(COLOR_HASH_SIZE). - -int WebPGetColorPalette(const WebPPicture* const pic, uint32_t* const palette) { - int i; - int x, y; - int num_colors = 0; - uint8_t in_use[COLOR_HASH_SIZE] = { 0 }; - uint32_t colors[COLOR_HASH_SIZE]; - const uint32_t* argb = pic->argb; - const int width = pic->width; - const int height = pic->height; - uint32_t last_pix = ~argb[0]; // so we're sure that last_pix != argb[0] - assert(pic != NULL); - assert(pic->use_argb); - - for (y = 0; y < height; ++y) { - for (x = 0; x < width; ++x) { - int key; - if (argb[x] == last_pix) { - continue; - } - last_pix = argb[x]; - key = VP8LHashPix(last_pix, COLOR_HASH_RIGHT_SHIFT); - while (1) { - if (!in_use[key]) { - colors[key] = last_pix; - in_use[key] = 1; - ++num_colors; - if (num_colors > MAX_PALETTE_SIZE) { - return MAX_PALETTE_SIZE + 1; // Exact count not needed. - } - break; - } else if (colors[key] == last_pix) { - break; // The color is already there. - } else { - // Some other color sits here, so do linear conflict resolution. - ++key; - key &= (COLOR_HASH_SIZE - 1); // Key mask. - } - } - } - argb += pic->argb_stride; - } - - if (palette != NULL) { // Fill the colors into palette. - num_colors = 0; - for (i = 0; i < COLOR_HASH_SIZE; ++i) { - if (in_use[i]) { - palette[num_colors] = colors[i]; - ++num_colors; - } - } - } - return num_colors; -} - -#undef COLOR_HASH_SIZE -#undef COLOR_HASH_RIGHT_SHIFT - -//------------------------------------------------------------------------------ - -#if defined(WEBP_NEED_LOG_TABLE_8BIT) -const uint8_t WebPLogTable8bit[256] = { // 31 ^ clz(i) - 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 -}; -#endif - -//------------------------------------------------------------------------------ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/utils.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/utils.h deleted file mode 100644 index 2a3ec926..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/utils/utils.h +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Misc. common utility functions -// -// Authors: Skal (pascal.massimino@gmail.com) -// Urvang (urvang@google.com) - -#ifndef WEBP_UTILS_UTILS_H_ -#define WEBP_UTILS_UTILS_H_ - -#ifdef HAVE_CONFIG_H -#include "src/webp/config.h" -#endif - -#include -#include - -#include "src/dsp/dsp.h" -#include "src/webp/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -//------------------------------------------------------------------------------ -// Memory allocation - -// This is the maximum memory amount that libwebp will ever try to allocate. -#ifndef WEBP_MAX_ALLOCABLE_MEMORY -#if SIZE_MAX > (1ULL << 34) -#define WEBP_MAX_ALLOCABLE_MEMORY (1ULL << 34) -#else -// For 32-bit targets keep this below INT_MAX to avoid valgrind warnings. -#define WEBP_MAX_ALLOCABLE_MEMORY ((1ULL << 31) - (1 << 16)) -#endif -#endif // WEBP_MAX_ALLOCABLE_MEMORY - -// size-checking safe malloc/calloc: verify that the requested size is not too -// large, or return NULL. You don't need to call these for constructs like -// malloc(sizeof(foo)), but only if there's picture-dependent size involved -// somewhere (like: malloc(num_pixels * sizeof(*something))). That's why this -// safe malloc() borrows the signature from calloc(), pointing at the dangerous -// underlying multiply involved. -WEBP_EXTERN void* WebPSafeMalloc(uint64_t nmemb, size_t size); -// Note that WebPSafeCalloc() expects the second argument type to be 'size_t' -// in order to favor the "calloc(num_foo, sizeof(foo))" pattern. -WEBP_EXTERN void* WebPSafeCalloc(uint64_t nmemb, size_t size); - -// Companion deallocation function to the above allocations. -WEBP_EXTERN void WebPSafeFree(void* const ptr); - -//------------------------------------------------------------------------------ -// Alignment - -#define WEBP_ALIGN_CST 31 -#define WEBP_ALIGN(PTR) (((uintptr_t)(PTR) + WEBP_ALIGN_CST) & ~WEBP_ALIGN_CST) - -#include -// memcpy() is the safe way of moving potentially unaligned 32b memory. -static WEBP_INLINE uint32_t WebPMemToUint32(const uint8_t* const ptr) { - uint32_t A; - memcpy(&A, ptr, sizeof(A)); - return A; -} -static WEBP_INLINE void WebPUint32ToMem(uint8_t* const ptr, uint32_t val) { - memcpy(ptr, &val, sizeof(val)); -} - -//------------------------------------------------------------------------------ -// Reading/writing data. - -// Read 16, 24 or 32 bits stored in little-endian order. -static WEBP_INLINE int GetLE16(const uint8_t* const data) { - return (int)(data[0] << 0) | (data[1] << 8); -} - -static WEBP_INLINE int GetLE24(const uint8_t* const data) { - return GetLE16(data) | (data[2] << 16); -} - -static WEBP_INLINE uint32_t GetLE32(const uint8_t* const data) { - return GetLE16(data) | ((uint32_t)GetLE16(data + 2) << 16); -} - -// Store 16, 24 or 32 bits in little-endian order. -static WEBP_INLINE void PutLE16(uint8_t* const data, int val) { - assert(val < (1 << 16)); - data[0] = (val >> 0) & 0xff; - data[1] = (val >> 8) & 0xff; -} - -static WEBP_INLINE void PutLE24(uint8_t* const data, int val) { - assert(val < (1 << 24)); - PutLE16(data, val & 0xffff); - data[2] = (val >> 16) & 0xff; -} - -static WEBP_INLINE void PutLE32(uint8_t* const data, uint32_t val) { - PutLE16(data, (int)(val & 0xffff)); - PutLE16(data + 2, (int)(val >> 16)); -} - -// Returns (int)floor(log2(n)). n must be > 0. -// use GNU builtins where available. -#if defined(__GNUC__) && \ - ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ >= 4) -static WEBP_INLINE int BitsLog2Floor(uint32_t n) { - return 31 ^ __builtin_clz(n); -} -#elif defined(_MSC_VER) && _MSC_VER > 1310 && \ - (defined(_M_X64) || defined(_M_IX86)) -#include -#pragma intrinsic(_BitScanReverse) - -static WEBP_INLINE int BitsLog2Floor(uint32_t n) { - unsigned long first_set_bit; - _BitScanReverse(&first_set_bit, n); - return first_set_bit; -} -#else // default: use the C-version. -// Returns 31 ^ clz(n) = log2(n). This is the default C-implementation, either -// based on table or not. Can be used as fallback if clz() is not available. -#define WEBP_NEED_LOG_TABLE_8BIT -extern const uint8_t WebPLogTable8bit[256]; -static WEBP_INLINE int WebPLog2FloorC(uint32_t n) { - int log_value = 0; - while (n >= 256) { - log_value += 8; - n >>= 8; - } - return log_value + WebPLogTable8bit[n]; -} - -static WEBP_INLINE int BitsLog2Floor(uint32_t n) { return WebPLog2FloorC(n); } -#endif - -//------------------------------------------------------------------------------ -// Pixel copying. - -struct WebPPicture; - -// Copy width x height pixels from 'src' to 'dst' honoring the strides. -WEBP_EXTERN void WebPCopyPlane(const uint8_t* src, int src_stride, - uint8_t* dst, int dst_stride, - int width, int height); - -// Copy ARGB pixels from 'src' to 'dst' honoring strides. 'src' and 'dst' are -// assumed to be already allocated and using ARGB data. -WEBP_EXTERN void WebPCopyPixels(const struct WebPPicture* const src, - struct WebPPicture* const dst); - -//------------------------------------------------------------------------------ -// Unique colors. - -// Returns count of unique colors in 'pic', assuming pic->use_argb is true. -// If the unique color count is more than MAX_PALETTE_SIZE, returns -// MAX_PALETTE_SIZE+1. -// If 'palette' is not NULL and number of unique colors is less than or equal to -// MAX_PALETTE_SIZE, also outputs the actual unique colors into 'palette'. -// Note: 'palette' is assumed to be an array already allocated with at least -// MAX_PALETTE_SIZE elements. -WEBP_EXTERN int WebPGetColorPalette(const struct WebPPicture* const pic, - uint32_t* const palette); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_UTILS_UTILS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/decode.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/decode.h deleted file mode 100644 index 80dd0ef0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/decode.h +++ /dev/null @@ -1,503 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0209 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header, returning true on success, -// false otherwise. '*width' and '*height' are only valid on successful return. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -WEBP_EXTERN int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling WebPFree(). -// Returns NULL in case of error. -WEBP_EXTERN uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be passed to -// WebPFree(), unlike the returned Y luma one. The dimension of the U and V -// planes are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN uint8_t* WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN uint8_t* WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If non-zero, 'internal_memory' pointer is not - // used. If value is '2' or more, the external - // memory is considered 'slow' and multiple - // read/write will be avoided. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is 0). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN void WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&output_buffer); -// output_buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&output_buffer); -// while (additional_data_is_available) { -// // ... (get additional data in some new_data[] buffer) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) { -// break; // an error occurred. -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// not set to 0. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN WebPIDecoder* WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN WebPIDecoder* WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN WebPIDecoder* WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN void WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN VP8StatusCode WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN VP8StatusCode WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. The values in these pointers are only valid on successful (non-NULL) -// return. -WEBP_EXTERN uint8_t* WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN uint8_t* WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless - - uint32_t pad[5]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN VP8StatusCode WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - int dithering_strength; // dithering strength (0=Off, 100=full) - int flip; // flip output vertically - int alpha_dithering_strength; // alpha dithering strength in [0..100] - - uint32_t pad[5]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. If 'config' is not NULL, it must outlive the WebPIDecoder object -// as some references to its fields will be used. No internal copy of 'config' -// is made. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition, if available). -WEBP_EXTERN WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). Note that 'config' cannot be NULL. -WEBP_EXTERN VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DECODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/demux.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/demux.h deleted file mode 100644 index 846eeb15..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/demux.h +++ /dev/null @@ -1,363 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Demux API. -// Enables extraction of image and extended format data from WebP files. - -// Code Example: Demuxing WebP data to extract all the frames, ICC profile -// and EXIF/XMP metadata. -/* - WebPDemuxer* demux = WebPDemux(&webp_data); - - uint32_t width = WebPDemuxGetI(demux, WEBP_FF_CANVAS_WIDTH); - uint32_t height = WebPDemuxGetI(demux, WEBP_FF_CANVAS_HEIGHT); - // ... (Get information about the features present in the WebP file). - uint32_t flags = WebPDemuxGetI(demux, WEBP_FF_FORMAT_FLAGS); - - // ... (Iterate over all frames). - WebPIterator iter; - if (WebPDemuxGetFrame(demux, 1, &iter)) { - do { - // ... (Consume 'iter'; e.g. Decode 'iter.fragment' with WebPDecode(), - // ... and get other frame properties like width, height, offsets etc. - // ... see 'struct WebPIterator' below for more info). - } while (WebPDemuxNextFrame(&iter)); - WebPDemuxReleaseIterator(&iter); - } - - // ... (Extract metadata). - WebPChunkIterator chunk_iter; - if (flags & ICCP_FLAG) WebPDemuxGetChunk(demux, "ICCP", 1, &chunk_iter); - // ... (Consume the ICC profile in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & EXIF_FLAG) WebPDemuxGetChunk(demux, "EXIF", 1, &chunk_iter); - // ... (Consume the EXIF metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & XMP_FLAG) WebPDemuxGetChunk(demux, "XMP ", 1, &chunk_iter); - // ... (Consume the XMP metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - WebPDemuxDelete(demux); -*/ - -#ifndef WEBP_WEBP_DEMUX_H_ -#define WEBP_WEBP_DEMUX_H_ - -#include "./decode.h" // for WEBP_CSP_MODE -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DEMUX_ABI_VERSION 0x0107 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPDemuxState WebPDemuxState; -// typedef enum WebPFormatFeature WebPFormatFeature; -typedef struct WebPDemuxer WebPDemuxer; -typedef struct WebPIterator WebPIterator; -typedef struct WebPChunkIterator WebPChunkIterator; -typedef struct WebPAnimInfo WebPAnimInfo; -typedef struct WebPAnimDecoderOptions WebPAnimDecoderOptions; - -//------------------------------------------------------------------------------ - -// Returns the version number of the demux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDemuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Demux object - -typedef enum WebPDemuxState { - WEBP_DEMUX_PARSE_ERROR = -1, // An error occurred while parsing. - WEBP_DEMUX_PARSING_HEADER = 0, // Not enough data to parse full header. - WEBP_DEMUX_PARSED_HEADER = 1, // Header parsing complete, - // data may be available. - WEBP_DEMUX_DONE = 2 // Entire file has been parsed. -} WebPDemuxState; - -// Internal, version-checked, entry point -WEBP_EXTERN WebPDemuxer* WebPDemuxInternal( - const WebPData*, int, WebPDemuxState*, int); - -// Parses the full WebP file given by 'data'. For single images the WebP file -// header alone or the file header and the chunk header may be absent. -// Returns a WebPDemuxer object on successful parse, NULL otherwise. -static WEBP_INLINE WebPDemuxer* WebPDemux(const WebPData* data) { - return WebPDemuxInternal(data, 0, NULL, WEBP_DEMUX_ABI_VERSION); -} - -// Parses the possibly incomplete WebP file given by 'data'. -// If 'state' is non-NULL it will be set to indicate the status of the demuxer. -// Returns NULL in case of error or if there isn't enough data to start parsing; -// and a WebPDemuxer object on successful parse. -// Note that WebPDemuxer keeps internal pointers to 'data' memory segment. -// If this data is volatile, the demuxer object should be deleted (by calling -// WebPDemuxDelete()) and WebPDemuxPartial() called again on the new data. -// This is usually an inexpensive operation. -static WEBP_INLINE WebPDemuxer* WebPDemuxPartial( - const WebPData* data, WebPDemuxState* state) { - return WebPDemuxInternal(data, 1, state, WEBP_DEMUX_ABI_VERSION); -} - -// Frees memory associated with 'dmux'. -WEBP_EXTERN void WebPDemuxDelete(WebPDemuxer* dmux); - -//------------------------------------------------------------------------------ -// Data/information extraction. - -typedef enum WebPFormatFeature { - WEBP_FF_FORMAT_FLAGS, // bit-wise combination of WebPFeatureFlags - // corresponding to the 'VP8X' chunk (if present). - WEBP_FF_CANVAS_WIDTH, - WEBP_FF_CANVAS_HEIGHT, - WEBP_FF_LOOP_COUNT, // only relevant for animated file - WEBP_FF_BACKGROUND_COLOR, // idem. - WEBP_FF_FRAME_COUNT // Number of frames present in the demux object. - // In case of a partial demux, this is the number - // of frames seen so far, with the last frame - // possibly being partial. -} WebPFormatFeature; - -// Get the 'feature' value from the 'dmux'. -// NOTE: values are only valid if WebPDemux() was used or WebPDemuxPartial() -// returned a state > WEBP_DEMUX_PARSING_HEADER. -// If 'feature' is WEBP_FF_FORMAT_FLAGS, the returned value is a bit-wise -// combination of WebPFeatureFlags values. -// If 'feature' is WEBP_FF_LOOP_COUNT, WEBP_FF_BACKGROUND_COLOR, the returned -// value is only meaningful if the bitstream is animated. -WEBP_EXTERN uint32_t WebPDemuxGetI( - const WebPDemuxer* dmux, WebPFormatFeature feature); - -//------------------------------------------------------------------------------ -// Frame iteration. - -struct WebPIterator { - int frame_num; - int num_frames; // equivalent to WEBP_FF_FRAME_COUNT. - int x_offset, y_offset; // offset relative to the canvas. - int width, height; // dimensions of this frame. - int duration; // display duration in milliseconds. - WebPMuxAnimDispose dispose_method; // dispose method for the frame. - int complete; // true if 'fragment' contains a full frame. partial images - // may still be decoded with the WebP incremental decoder. - WebPData fragment; // The frame given by 'frame_num'. Note for historical - // reasons this is called a fragment. - int has_alpha; // True if the frame contains transparency. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - - uint32_t pad[2]; // padding for later use. - void* private_; // for internal use only. -}; - -// Retrieves frame 'frame_number' from 'dmux'. -// 'iter->fragment' points to the frame on return from this function. -// Setting 'frame_number' equal to 0 will return the last frame of the image. -// Returns false if 'dmux' is NULL or frame 'frame_number' is not present. -// Call WebPDemuxReleaseIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of 'iter'. -WEBP_EXTERN int WebPDemuxGetFrame( - const WebPDemuxer* dmux, int frame_number, WebPIterator* iter); - -// Sets 'iter->fragment' to point to the next ('iter->frame_num' + 1) or -// previous ('iter->frame_num' - 1) frame. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextFrame(WebPIterator* iter); -WEBP_EXTERN int WebPDemuxPrevFrame(WebPIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before any subsequent calls to WebPDemuxGetChunk() on the same -// iter. Also, must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseIterator(WebPIterator* iter); - -//------------------------------------------------------------------------------ -// Chunk iteration. - -struct WebPChunkIterator { - // The current and total number of chunks with the fourcc given to - // WebPDemuxGetChunk(). - int chunk_num; - int num_chunks; - WebPData chunk; // The payload of the chunk. - - uint32_t pad[6]; // padding for later use - void* private_; -}; - -// Retrieves the 'chunk_number' instance of the chunk with id 'fourcc' from -// 'dmux'. -// 'fourcc' is a character array containing the fourcc of the chunk to return, -// e.g., "ICCP", "XMP ", "EXIF", etc. -// Setting 'chunk_number' equal to 0 will return the last chunk in a set. -// Returns true if the chunk is found, false otherwise. Image related chunk -// payloads are accessed through WebPDemuxGetFrame() and related functions. -// Call WebPDemuxReleaseChunkIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of the iterator. -WEBP_EXTERN int WebPDemuxGetChunk(const WebPDemuxer* dmux, - const char fourcc[4], int chunk_number, - WebPChunkIterator* iter); - -// Sets 'iter->chunk' to point to the next ('iter->chunk_num' + 1) or previous -// ('iter->chunk_num' - 1) chunk. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextChunk(WebPChunkIterator* iter); -WEBP_EXTERN int WebPDemuxPrevChunk(WebPChunkIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseChunkIterator(WebPChunkIterator* iter); - -//------------------------------------------------------------------------------ -// WebPAnimDecoder API -// -// This API allows decoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimDecoderOptions dec_options; - WebPAnimDecoderOptionsInit(&dec_options); - // Tune 'dec_options' as needed. - WebPAnimDecoder* dec = WebPAnimDecoderNew(webp_data, &dec_options); - WebPAnimInfo anim_info; - WebPAnimDecoderGetInfo(dec, &anim_info); - for (uint32_t i = 0; i < anim_info.loop_count; ++i) { - while (WebPAnimDecoderHasMoreFrames(dec)) { - uint8_t* buf; - int timestamp; - WebPAnimDecoderGetNext(dec, &buf, ×tamp); - // ... (Render 'buf' based on 'timestamp'). - // ... (Do NOT free 'buf', as it is owned by 'dec'). - } - WebPAnimDecoderReset(dec); - } - const WebPDemuxer* demuxer = WebPAnimDecoderGetDemuxer(dec); - // ... (Do something using 'demuxer'; e.g. get EXIF/XMP/ICC data). - WebPAnimDecoderDelete(dec); -*/ - -typedef struct WebPAnimDecoder WebPAnimDecoder; // Main opaque object. - -// Global options. -struct WebPAnimDecoderOptions { - // Output colorspace. Only the following modes are supported: - // MODE_RGBA, MODE_BGRA, MODE_rgbA and MODE_bgrA. - WEBP_CSP_MODE color_mode; - int use_threads; // If true, use multi-threaded decoding. - uint32_t padding[7]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimDecoderOptionsInitInternal( - WebPAnimDecoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimDecoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimDecoderOptionsInit() must have succeeded before using the -// 'dec_options' object. -static WEBP_INLINE int WebPAnimDecoderOptionsInit( - WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderOptionsInitInternal(dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimDecoder* WebPAnimDecoderNewInternal( - const WebPData*, const WebPAnimDecoderOptions*, int); - -// Creates and initializes a WebPAnimDecoder object. -// Parameters: -// webp_data - (in) WebP bitstream. This should remain unchanged during the -// lifetime of the output WebPAnimDecoder object. -// dec_options - (in) decoding options. Can be passed NULL to choose -// reasonable defaults (in particular, color mode MODE_RGBA -// will be picked). -// Returns: -// A pointer to the newly created WebPAnimDecoder object, or NULL in case of -// parsing error, invalid option or memory error. -static WEBP_INLINE WebPAnimDecoder* WebPAnimDecoderNew( - const WebPData* webp_data, const WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderNewInternal(webp_data, dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Global information about the animation.. -struct WebPAnimInfo { - uint32_t canvas_width; - uint32_t canvas_height; - uint32_t loop_count; - uint32_t bgcolor; - uint32_t frame_count; - uint32_t pad[4]; // padding for later use -}; - -// Get global information about the animation. -// Parameters: -// dec - (in) decoder instance to get information from. -// info - (out) global information fetched from the animation. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimDecoderGetInfo(const WebPAnimDecoder* dec, - WebPAnimInfo* info); - -// Fetch the next frame from 'dec' based on options supplied to -// WebPAnimDecoderNew(). This will be a fully reconstructed canvas of size -// 'canvas_width * 4 * canvas_height', and not just the frame sub-rectangle. The -// returned buffer 'buf' is valid only until the next call to -// WebPAnimDecoderGetNext(), WebPAnimDecoderReset() or WebPAnimDecoderDelete(). -// Parameters: -// dec - (in/out) decoder instance from which the next frame is to be fetched. -// buf - (out) decoded frame. -// timestamp - (out) timestamp of the frame in milliseconds. -// Returns: -// False if any of the arguments are NULL, or if there is a parsing or -// decoding error, or if there are no more frames. Otherwise, returns true. -WEBP_EXTERN int WebPAnimDecoderGetNext(WebPAnimDecoder* dec, - uint8_t** buf, int* timestamp); - -// Check if there are more frames left to decode. -// Parameters: -// dec - (in) decoder instance to be checked. -// Returns: -// True if 'dec' is not NULL and some frames are yet to be decoded. -// Otherwise, returns false. -WEBP_EXTERN int WebPAnimDecoderHasMoreFrames(const WebPAnimDecoder* dec); - -// Resets the WebPAnimDecoder object, so that next call to -// WebPAnimDecoderGetNext() will restart decoding from 1st frame. This would be -// helpful when all frames need to be decoded multiple times (e.g. -// info.loop_count times) without destroying and recreating the 'dec' object. -// Parameters: -// dec - (in/out) decoder instance to be reset -WEBP_EXTERN void WebPAnimDecoderReset(WebPAnimDecoder* dec); - -// Grab the internal demuxer object. -// Getting the demuxer object can be useful if one wants to use operations only -// available through demuxer; e.g. to get XMP/EXIF/ICC metadata. The returned -// demuxer object is owned by 'dec' and is valid only until the next call to -// WebPAnimDecoderDelete(). -// -// Parameters: -// dec - (in) decoder instance from which the demuxer object is to be fetched. -WEBP_EXTERN const WebPDemuxer* WebPAnimDecoderGetDemuxer( - const WebPAnimDecoder* dec); - -// Deletes the WebPAnimDecoder object. -// Parameters: -// dec - (in/out) decoder instance to be deleted -WEBP_EXTERN void WebPAnimDecoderDelete(WebPAnimDecoder* dec); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DEMUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/encode.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/encode.h deleted file mode 100644 index 655166e7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/encode.h +++ /dev/null @@ -1,546 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x020f // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'WebPFree(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN size_t WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -// Note these functions, like the lossy versions, use the library's default -// settings. For lossless this means 'exact' is disabled. RGB values in -// transparent areas will be modified to improve compression. To avoid this, -// use WebPEncode() and set WebPConfig::exact to 1. -WEBP_EXTERN size_t WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 and 100. For lossy, 0 gives the smallest - // size and 100 the largest. For lossless, this - // parameter is the amount of effort put into the - // compression: 0 is the fastest but gives larger - // files compared to the slowest, but best, 100. - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter: - // 0=none, 1=segment-smooth, 2=pseudo-random dithering - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - int near_lossless; // Near lossless encoding [0 = max loss .. 100 = off - // (default)]. - int exact; // if non-zero, preserve the exact RGB values under - // transparent area. Otherwise, discard this invisible - // RGB information for better compression. The default - // value is 0. - - int use_delta_palette; // reserved for future lossless feature - int use_sharp_yuv; // if needed, use sharp (and slow) RGB->YUV conversion - - uint32_t pad[2]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Activate the lossless compression mode with the desired efficiency level -// between 0 (fastest, lowest compression) and 9 (slower, best compression). -// A good default level is '6', providing a fair tradeoff between compression -// speed and final compressed size. -// This function will overwrite several fields from config: 'method', 'quality' -// and 'lossless'. Returns false in case of parameter error. -WEBP_EXTERN int WebPConfigLosslessPreset(WebPConfig* config, int level); - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN int WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics. - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - int lossless_hdr_size; // lossless header (transform, huffman etc) size - int lossless_data_size; // lossless image data size - - uint32_t pad[2]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN void WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The following must be called to deallocate writer->mem memory. The 'writer' -// object itself is not deallocated. -WEBP_EXTERN void WebPMemoryWriterClear(WebPMemoryWriter* writer); -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed by calling WebPMemoryWriterClear. -WEBP_EXTERN int WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV420A = 4, // alpha channel variant - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t* y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now - uint8_t* pad4, *pad5; - uint32_t pad6[8]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad7[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN void WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, *dst -// will fully own the copied pixels (this is not a view). The 'dst' picture need -// not be initialized as its content is overwritten. -// Returns false in case of memory allocation error. -WEBP_EXTERN int WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute the single distortion for packed planes of samples. -// 'src' will be compared to 'ref', and the raw distortion stored into -// '*distortion'. The refined metric (log(MSE), log(1 - ssim),...' will be -// stored in '*result'. -// 'x_step' is the horizontal stride (in bytes) between samples. -// 'src/ref_stride' is the byte distance between rows. -// Returns false in case of error (bad parameter, memory allocation error, ...). -WEBP_EXTERN int WebPPlaneDistortion(const uint8_t* src, size_t src_stride, - const uint8_t* ref, size_t ref_stride, - int width, int height, - size_t x_step, - int type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float* distortion, float* result); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. Results -// are in dB, stored in result[] in the B/G/R/A/All order. The distortion is -// always performed using ARGB samples. Hence if the input is YUV(A), the -// picture will be internally converted to ARGB (just for the measurement). -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN int WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN int WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). Picture 'dst' need not be initialized -// with WebPPictureInit() if it is different from 'src', since its content will -// be overwritten. -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN int WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN int WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// If either 'width' or 'height' (but not both) is 0 the corresponding -// dimension will be calculated preserving the aspect ratio. -// No gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN int WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN int WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN int WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN int WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN int WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN int WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUV420A format. The 'colorspace' -// parameter is deprecated and should be equal to WEBP_YUV420. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP /*colorspace = WEBP_YUV420*/); - -// Same as WebPPictureARGBToYUVA(), but the conversion is done using -// pseudo-random dithering with a strength 'dithering' between -// 0.0 (no dithering) and 1.0 (maximum dithering). This is useful -// for photographic picture. -WEBP_EXTERN int WebPPictureARGBToYUVADithered( - WebPPicture* picture, WebPEncCSP colorspace, float dithering); - -// Performs 'sharp' RGBA->YUVA420 downsampling and colorspace conversion. -// Downsampling is handled with extra care in case of color clipping. This -// method is roughly 2x slower than WebPPictureARGBToYUVA() but produces better -// and sharper YUV representation. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureSharpARGBToYUVA(WebPPicture* picture); -// kept for backward compatibility: -WEBP_EXTERN int WebPPictureSmartARGBToYUVA(WebPPicture* picture); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. The conversion from YUV420 to -// ARGB incurs a small loss too. -// Note that the use of this colorspace is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of RGBA or YUV(A) samples -// clean-up or smoothen the YUV or RGB samples under fully transparent area, -// to help compressibility (no guarantee, though). -WEBP_EXTERN void WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN int WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN void WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN int WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_ENCODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/format_constants.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/format_constants.h deleted file mode 100644 index eca6981a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/format_constants.h +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Internal header for constants related to WebP file format. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_WEBP_FORMAT_CONSTANTS_H_ -#define WEBP_WEBP_FORMAT_CONSTANTS_H_ - -// Create fourcc of the chunk from the chunk tag characters. -#define MKFOURCC(a, b, c, d) ((a) | (b) << 8 | (c) << 16 | (uint32_t)(d) << 24) - -// VP8 related constants. -#define VP8_SIGNATURE 0x9d012a // Signature in VP8 data. -#define VP8_MAX_PARTITION0_SIZE (1 << 19) // max size of mode partition -#define VP8_MAX_PARTITION_SIZE (1 << 24) // max size for token partition -#define VP8_FRAME_HEADER_SIZE 10 // Size of the frame header within VP8 data. - -// VP8L related constants. -#define VP8L_SIGNATURE_SIZE 1 // VP8L signature size. -#define VP8L_MAGIC_BYTE 0x2f // VP8L signature byte. -#define VP8L_IMAGE_SIZE_BITS 14 // Number of bits used to store - // width and height. -#define VP8L_VERSION_BITS 3 // 3 bits reserved for version. -#define VP8L_VERSION 0 // version 0 -#define VP8L_FRAME_HEADER_SIZE 5 // Size of the VP8L frame header. - -#define MAX_PALETTE_SIZE 256 -#define MAX_CACHE_BITS 11 -#define HUFFMAN_CODES_PER_META_CODE 5 -#define ARGB_BLACK 0xff000000 - -#define DEFAULT_CODE_LENGTH 8 -#define MAX_ALLOWED_CODE_LENGTH 15 - -#define NUM_LITERAL_CODES 256 -#define NUM_LENGTH_CODES 24 -#define NUM_DISTANCE_CODES 40 -#define CODE_LENGTH_CODES 19 - -#define MIN_HUFFMAN_BITS 2 // min number of Huffman bits -#define MAX_HUFFMAN_BITS 9 // max number of Huffman bits - -#define TRANSFORM_PRESENT 1 // The bit to be written when next data - // to be read is a transform. -#define NUM_TRANSFORMS 4 // Maximum number of allowed transform - // in a bitstream. -typedef enum { - PREDICTOR_TRANSFORM = 0, - CROSS_COLOR_TRANSFORM = 1, - SUBTRACT_GREEN = 2, - COLOR_INDEXING_TRANSFORM = 3 -} VP8LImageTransformType; - -// Alpha related constants. -#define ALPHA_HEADER_LEN 1 -#define ALPHA_NO_COMPRESSION 0 -#define ALPHA_LOSSLESS_COMPRESSION 1 -#define ALPHA_PREPROCESSED_LEVELS 1 - -// Mux related constants. -#define TAG_SIZE 4 // Size of a chunk tag (e.g. "VP8L"). -#define CHUNK_SIZE_BYTES 4 // Size needed to store chunk's size. -#define CHUNK_HEADER_SIZE 8 // Size of a chunk header. -#define RIFF_HEADER_SIZE 12 // Size of the RIFF header ("RIFFnnnnWEBP"). -#define ANMF_CHUNK_SIZE 16 // Size of an ANMF chunk. -#define ANIM_CHUNK_SIZE 6 // Size of an ANIM chunk. -#define VP8X_CHUNK_SIZE 10 // Size of a VP8X chunk. - -#define MAX_CANVAS_SIZE (1 << 24) // 24-bit max for VP8X width/height. -#define MAX_IMAGE_AREA (1ULL << 32) // 32-bit max for width x height. -#define MAX_LOOP_COUNT (1 << 16) // maximum value for loop-count -#define MAX_DURATION (1 << 24) // maximum duration -#define MAX_POSITION_OFFSET (1 << 24) // maximum frame x/y offset - -// Maximum chunk payload is such that adding the header and padding won't -// overflow a uint32_t. -#define MAX_CHUNK_PAYLOAD (~0U - CHUNK_HEADER_SIZE - 1) - -#endif // WEBP_WEBP_FORMAT_CONSTANTS_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/mux.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/mux.h deleted file mode 100644 index 7d27489a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/mux.h +++ /dev/null @@ -1,530 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// RIFF container manipulation and encoding for WebP images. -// -// Authors: Urvang (urvang@google.com) -// Vikas (vikasa@google.com) - -#ifndef WEBP_WEBP_MUX_H_ -#define WEBP_WEBP_MUX_H_ - -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_MUX_ABI_VERSION 0x0108 // MAJOR(8b) + MINOR(8b) - -//------------------------------------------------------------------------------ -// Mux API -// -// This API allows manipulation of WebP container images containing features -// like color profile, metadata, animation. -// -// Code Example#1: Create a WebPMux object with image data, color profile and -// XMP metadata. -/* - int copy_data = 0; - WebPMux* mux = WebPMuxNew(); - // ... (Prepare image data). - WebPMuxSetImage(mux, &image, copy_data); - // ... (Prepare ICCP color profile data). - WebPMuxSetChunk(mux, "ICCP", &icc_profile, copy_data); - // ... (Prepare XMP metadata). - WebPMuxSetChunk(mux, "XMP ", &xmp, copy_data); - // Get data from mux in WebP RIFF format. - WebPMuxAssemble(mux, &output_data); - WebPMuxDelete(mux); - // ... (Consume output_data; e.g. write output_data.bytes to file). - WebPDataClear(&output_data); -*/ - -// Code Example#2: Get image and color profile data from a WebP file. -/* - int copy_data = 0; - // ... (Read data from file). - WebPMux* mux = WebPMuxCreate(&data, copy_data); - WebPMuxGetFrame(mux, 1, &image); - // ... (Consume image; e.g. call WebPDecode() to decode the data). - WebPMuxGetChunk(mux, "ICCP", &icc_profile); - // ... (Consume icc_data). - WebPMuxDelete(mux); - WebPFree(data); -*/ - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPMuxError WebPMuxError; -// typedef enum WebPChunkId WebPChunkId; -typedef struct WebPMux WebPMux; // main opaque object. -typedef struct WebPMuxFrameInfo WebPMuxFrameInfo; -typedef struct WebPMuxAnimParams WebPMuxAnimParams; -typedef struct WebPAnimEncoderOptions WebPAnimEncoderOptions; - -// Error codes -typedef enum WebPMuxError { - WEBP_MUX_OK = 1, - WEBP_MUX_NOT_FOUND = 0, - WEBP_MUX_INVALID_ARGUMENT = -1, - WEBP_MUX_BAD_DATA = -2, - WEBP_MUX_MEMORY_ERROR = -3, - WEBP_MUX_NOT_ENOUGH_DATA = -4 -} WebPMuxError; - -// IDs for different types of chunks. -typedef enum WebPChunkId { - WEBP_CHUNK_VP8X, // VP8X - WEBP_CHUNK_ICCP, // ICCP - WEBP_CHUNK_ANIM, // ANIM - WEBP_CHUNK_ANMF, // ANMF - WEBP_CHUNK_DEPRECATED, // (deprecated from FRGM) - WEBP_CHUNK_ALPHA, // ALPH - WEBP_CHUNK_IMAGE, // VP8/VP8L - WEBP_CHUNK_EXIF, // EXIF - WEBP_CHUNK_XMP, // XMP - WEBP_CHUNK_UNKNOWN, // Other chunks. - WEBP_CHUNK_NIL -} WebPChunkId; - -//------------------------------------------------------------------------------ - -// Returns the version number of the mux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetMuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Mux object - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPNewInternal(int); - -// Creates an empty mux object. -// Returns: -// A pointer to the newly created empty mux object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPMux* WebPMuxNew(void) { - return WebPNewInternal(WEBP_MUX_ABI_VERSION); -} - -// Deletes the mux object. -// Parameters: -// mux - (in/out) object to be deleted -WEBP_EXTERN void WebPMuxDelete(WebPMux* mux); - -//------------------------------------------------------------------------------ -// Mux creation. - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPMuxCreateInternal(const WebPData*, int, int); - -// Creates a mux object from raw data given in WebP RIFF format. -// Parameters: -// bitstream - (in) the bitstream data in WebP RIFF format -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// A pointer to the mux object created from given data - on success. -// NULL - In case of invalid data or memory error. -static WEBP_INLINE WebPMux* WebPMuxCreate(const WebPData* bitstream, - int copy_data) { - return WebPMuxCreateInternal(bitstream, copy_data, WEBP_MUX_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// Non-image chunks. - -// Note: Only non-image related chunks should be managed through chunk APIs. -// (Image related chunks are: "ANMF", "VP8 ", "VP8L" and "ALPH"). -// To add, get and delete images, use WebPMuxSetImage(), WebPMuxPushFrame(), -// WebPMuxGetFrame() and WebPMuxDeleteFrame(). - -// Adds a chunk with id 'fourcc' and data 'chunk_data' in the mux object. -// Any existing chunk(s) with the same id will be removed. -// Parameters: -// mux - (in/out) object to which the chunk is to be added -// fourcc - (in) a character array containing the fourcc of the given chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (in) the chunk data to be added -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetChunk( - WebPMux* mux, const char fourcc[4], const WebPData* chunk_data, - int copy_data); - -// Gets a reference to the data of the chunk with id 'fourcc' in the mux object. -// The caller should NOT free the returned data. -// Parameters: -// mux - (in) object from which the chunk data is to be fetched -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (out) returned chunk data -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given id. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetChunk( - const WebPMux* mux, const char fourcc[4], WebPData* chunk_data); - -// Deletes the chunk with the given 'fourcc' from the mux object. -// Parameters: -// mux - (in/out) object from which the chunk is to be deleted -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or fourcc is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given fourcc. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteChunk( - WebPMux* mux, const char fourcc[4]); - -//------------------------------------------------------------------------------ -// Images. - -// Encapsulates data about a single frame. -struct WebPMuxFrameInfo { - WebPData bitstream; // image data: can be a raw VP8/VP8L bitstream - // or a single-image WebP file. - int x_offset; // x-offset of the frame. - int y_offset; // y-offset of the frame. - int duration; // duration of the frame (in milliseconds). - - WebPChunkId id; // frame type: should be one of WEBP_CHUNK_ANMF - // or WEBP_CHUNK_IMAGE - WebPMuxAnimDispose dispose_method; // Disposal method for the frame. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - uint32_t pad[1]; // padding for later use -}; - -// Sets the (non-animated) image in the mux object. -// Note: Any existing images (including frames) will be removed. -// Parameters: -// mux - (in/out) object in which the image is to be set -// bitstream - (in) can be a raw VP8/VP8L bitstream or a single-image -// WebP file (non-animated) -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL or bitstream is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetImage( - WebPMux* mux, const WebPData* bitstream, int copy_data); - -// Adds a frame at the end of the mux object. -// Notes: (1) frame.id should be WEBP_CHUNK_ANMF -// (2) For setting a non-animated image, use WebPMuxSetImage() instead. -// (3) Type of frame being pushed must be same as the frames in mux. -// (4) As WebP only supports even offsets, any odd offset will be snapped -// to an even location using: offset &= ~1 -// Parameters: -// mux - (in/out) object to which the frame is to be added -// frame - (in) frame data. -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL -// or if content of 'frame' is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxPushFrame( - WebPMux* mux, const WebPMuxFrameInfo* frame, int copy_data); - -// Gets the nth frame from the mux object. -// The content of 'frame->bitstream' is allocated using WebPMalloc(), and NOT -// owned by the 'mux' object. It MUST be deallocated by the caller by calling -// WebPDataClear(). -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in) object from which the info is to be fetched -// nth - (in) index of the frame in the mux object -// frame - (out) data of the returned frame -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL. -// WEBP_MUX_NOT_FOUND - if there are less than nth frames in the mux object. -// WEBP_MUX_BAD_DATA - if nth frame chunk in mux is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFrame( - const WebPMux* mux, uint32_t nth, WebPMuxFrameInfo* frame); - -// Deletes a frame from the mux object. -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in/out) object from which a frame is to be deleted -// nth - (in) The position from which the frame is to be deleted -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL. -// WEBP_MUX_NOT_FOUND - If there are less than nth frames in the mux object -// before deletion. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteFrame(WebPMux* mux, uint32_t nth); - -//------------------------------------------------------------------------------ -// Animation. - -// Animation parameters. -struct WebPMuxAnimParams { - uint32_t bgcolor; // Background color of the canvas stored (in MSB order) as: - // Bits 00 to 07: Alpha. - // Bits 08 to 15: Red. - // Bits 16 to 23: Green. - // Bits 24 to 31: Blue. - int loop_count; // Number of times to repeat the animation [0 = infinite]. -}; - -// Sets the animation parameters in the mux object. Any existing ANIM chunks -// will be removed. -// Parameters: -// mux - (in/out) object in which ANIM chunk is to be set/added -// params - (in) animation parameters. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetAnimationParams( - WebPMux* mux, const WebPMuxAnimParams* params); - -// Gets the animation parameters from the mux object. -// Parameters: -// mux - (in) object from which the animation parameters to be fetched -// params - (out) animation parameters extracted from the ANIM chunk -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_NOT_FOUND - if ANIM chunk is not present in mux object. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetAnimationParams( - const WebPMux* mux, WebPMuxAnimParams* params); - -//------------------------------------------------------------------------------ -// Misc Utilities. - -// Sets the canvas size for the mux object. The width and height can be -// specified explicitly or left as zero (0, 0). -// * When width and height are specified explicitly, then this frame bound is -// enforced during subsequent calls to WebPMuxAssemble() and an error is -// reported if any animated frame does not completely fit within the canvas. -// * When unspecified (0, 0), the constructed canvas will get the frame bounds -// from the bounding-box over all frames after calling WebPMuxAssemble(). -// Parameters: -// mux - (in) object to which the canvas size is to be set -// width - (in) canvas width -// height - (in) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL; or -// width or height are invalid or out of bounds -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetCanvasSize(WebPMux* mux, - int width, int height); - -// Gets the canvas size from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the canvas size is to be fetched -// width - (out) canvas width -// height - (out) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, width or height is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetCanvasSize(const WebPMux* mux, - int* width, int* height); - -// Gets the feature flags from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the features are to be fetched -// flags - (out) the flags specifying which features are present in the -// mux object. This will be an OR of various flag values. -// Enum 'WebPFeatureFlags' can be used to test individual flag values. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or flags is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFeatures(const WebPMux* mux, - uint32_t* flags); - -// Gets number of chunks with the given 'id' in the mux object. -// Parameters: -// mux - (in) object from which the info is to be fetched -// id - (in) chunk id specifying the type of chunk -// num_elements - (out) number of chunks with the given chunk id -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, or num_elements is NULL. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxNumChunks(const WebPMux* mux, - WebPChunkId id, int* num_elements); - -// Assembles all chunks in WebP RIFF format and returns in 'assembled_data'. -// This function also validates the mux object. -// Note: The content of 'assembled_data' will be ignored and overwritten. -// Also, the content of 'assembled_data' is allocated using WebPMalloc(), and -// NOT owned by the 'mux' object. It MUST be deallocated by the caller by -// calling WebPDataClear(). It's always safe to call WebPDataClear() upon -// return, even in case of error. -// Parameters: -// mux - (in/out) object whose chunks are to be assembled -// assembled_data - (out) assembled WebP data -// Returns: -// WEBP_MUX_BAD_DATA - if mux object is invalid. -// WEBP_MUX_INVALID_ARGUMENT - if mux or assembled_data is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxAssemble(WebPMux* mux, - WebPData* assembled_data); - -//------------------------------------------------------------------------------ -// WebPAnimEncoder API -// -// This API allows encoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimEncoderOptions enc_options; - WebPAnimEncoderOptionsInit(&enc_options); - // Tune 'enc_options' as needed. - WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, &enc_options); - while() { - WebPConfig config; - WebPConfigInit(&config); - // Tune 'config' as needed. - WebPAnimEncoderAdd(enc, frame, timestamp_ms, &config); - } - WebPAnimEncoderAdd(enc, NULL, timestamp_ms, NULL); - WebPAnimEncoderAssemble(enc, webp_data); - WebPAnimEncoderDelete(enc); - // Write the 'webp_data' to a file, or re-mux it further. -*/ - -typedef struct WebPAnimEncoder WebPAnimEncoder; // Main opaque object. - -// Forward declarations. Defined in encode.h. -struct WebPPicture; -struct WebPConfig; - -// Global options. -struct WebPAnimEncoderOptions { - WebPMuxAnimParams anim_params; // Animation parameters. - int minimize_size; // If true, minimize the output size (slow). Implicitly - // disables key-frame insertion. - int kmin; - int kmax; // Minimum and maximum distance between consecutive key - // frames in the output. The library may insert some key - // frames as needed to satisfy this criteria. - // Note that these conditions should hold: kmax > kmin - // and kmin >= kmax / 2 + 1. Also, if kmax <= 0, then - // key-frame insertion is disabled; and if kmax == 1, - // then all frames will be key-frames (kmin value does - // not matter for these special cases). - int allow_mixed; // If true, use mixed compression mode; may choose - // either lossy and lossless for each frame. - int verbose; // If true, print info and warning messages to stderr. - - uint32_t padding[4]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimEncoderOptionsInitInternal( - WebPAnimEncoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimEncoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimEncoderOptionsInit() must have succeeded before using the -// 'enc_options' object. -static WEBP_INLINE int WebPAnimEncoderOptionsInit( - WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderOptionsInitInternal(enc_options, WEBP_MUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimEncoder* WebPAnimEncoderNewInternal( - int, int, const WebPAnimEncoderOptions*, int); - -// Creates and initializes a WebPAnimEncoder object. -// Parameters: -// width/height - (in) canvas width and height of the animation. -// enc_options - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// A pointer to the newly created WebPAnimEncoder object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPAnimEncoder* WebPAnimEncoderNew( - int width, int height, const WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderNewInternal(width, height, enc_options, - WEBP_MUX_ABI_VERSION); -} - -// Optimize the given frame for WebP, encode it and add it to the -// WebPAnimEncoder object. -// The last call to 'WebPAnimEncoderAdd' should be with frame = NULL, which -// indicates that no more frames are to be added. This call is also used to -// determine the duration of the last frame. -// Parameters: -// enc - (in/out) object to which the frame is to be added. -// frame - (in/out) frame data in ARGB or YUV(A) format. If it is in YUV(A) -// format, it will be converted to ARGB, which incurs a small loss. -// timestamp_ms - (in) timestamp of this frame in milliseconds. -// Duration of a frame would be calculated as -// "timestamp of next frame - timestamp of this frame". -// Hence, timestamps should be in non-decreasing order. -// config - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// On error, returns false and frame->error_code is set appropriately. -// Otherwise, returns true. -WEBP_EXTERN int WebPAnimEncoderAdd( - WebPAnimEncoder* enc, struct WebPPicture* frame, int timestamp_ms, - const struct WebPConfig* config); - -// Assemble all frames added so far into a WebP bitstream. -// This call should be preceded by a call to 'WebPAnimEncoderAdd' with -// frame = NULL; if not, the duration of the last frame will be internally -// estimated. -// Parameters: -// enc - (in/out) object from which the frames are to be assembled. -// webp_data - (out) generated WebP bitstream. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimEncoderAssemble(WebPAnimEncoder* enc, - WebPData* webp_data); - -// Get error string corresponding to the most recent call using 'enc'. The -// returned string is owned by 'enc' and is valid only until the next call to -// WebPAnimEncoderAdd() or WebPAnimEncoderAssemble() or WebPAnimEncoderDelete(). -// Parameters: -// enc - (in/out) object from which the error string is to be fetched. -// Returns: -// NULL if 'enc' is NULL. Otherwise, returns the error string if the last call -// to 'enc' had an error, or an empty string if the last call was a success. -WEBP_EXTERN const char* WebPAnimEncoderGetError(WebPAnimEncoder* enc); - -// Deletes the WebPAnimEncoder object. -// Parameters: -// enc - (in/out) object to be deleted -WEBP_EXTERN void WebPAnimEncoderDelete(WebPAnimEncoder* enc); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/mux_types.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/mux_types.h deleted file mode 100644 index 2fe81958..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/mux_types.h +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Data-types common to the mux and demux libraries. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_WEBP_MUX_TYPES_H_ -#define WEBP_WEBP_MUX_TYPES_H_ - -#include // memset() -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPFeatureFlags WebPFeatureFlags; -// typedef enum WebPMuxAnimDispose WebPMuxAnimDispose; -// typedef enum WebPMuxAnimBlend WebPMuxAnimBlend; -typedef struct WebPData WebPData; - -// VP8X Feature Flags. -typedef enum WebPFeatureFlags { - ANIMATION_FLAG = 0x00000002, - XMP_FLAG = 0x00000004, - EXIF_FLAG = 0x00000008, - ALPHA_FLAG = 0x00000010, - ICCP_FLAG = 0x00000020, - - ALL_VALID_FLAGS = 0x0000003e -} WebPFeatureFlags; - -// Dispose method (animation only). Indicates how the area used by the current -// frame is to be treated before rendering the next frame on the canvas. -typedef enum WebPMuxAnimDispose { - WEBP_MUX_DISPOSE_NONE, // Do not dispose. - WEBP_MUX_DISPOSE_BACKGROUND // Dispose to background color. -} WebPMuxAnimDispose; - -// Blend operation (animation only). Indicates how transparent pixels of the -// current frame are blended with those of the previous canvas. -typedef enum WebPMuxAnimBlend { - WEBP_MUX_BLEND, // Blend. - WEBP_MUX_NO_BLEND // Do not blend. -} WebPMuxAnimBlend; - -// Data type used to describe 'raw' data, e.g., chunk data -// (ICC profile, metadata) and WebP compressed image data. -// 'bytes' memory must be allocated using WebPMalloc() and such. -struct WebPData { - const uint8_t* bytes; - size_t size; -}; - -// Initializes the contents of the 'webp_data' object with default values. -static WEBP_INLINE void WebPDataInit(WebPData* webp_data) { - if (webp_data != NULL) { - memset(webp_data, 0, sizeof(*webp_data)); - } -} - -// Clears the contents of the 'webp_data' object by calling WebPFree(). -// Does not deallocate the object itself. -static WEBP_INLINE void WebPDataClear(WebPData* webp_data) { - if (webp_data != NULL) { - WebPFree((void*)webp_data->bytes); - WebPDataInit(webp_data); - } -} - -// Allocates necessary storage for 'dst' and copies the contents of 'src'. -// Returns true on success. -static WEBP_INLINE int WebPDataCopy(const WebPData* src, WebPData* dst) { - if (src == NULL || dst == NULL) return 0; - WebPDataInit(dst); - if (src->bytes != NULL && src->size != 0) { - dst->bytes = (uint8_t*)WebPMalloc(src->size); - if (dst->bytes == NULL) return 0; - memcpy((void*)dst->bytes, src->bytes, src->size); - dst->size = src->size; - } - return 1; -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/types.h b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/types.h deleted file mode 100644 index 47f7f2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/src/webp/types.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Common types + memory wrappers -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) -#define WEBP_INLINE inline -#else -#define WEBP_INLINE -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -# if defined(__GNUC__) && __GNUC__ >= 4 -# define WEBP_EXTERN extern __attribute__ ((visibility ("default"))) -# else -# define WEBP_EXTERN extern -# endif /* __GNUC__ >= 4 */ -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#ifdef __cplusplus -extern "C" { -#endif - -// Allocates 'size' bytes of memory. Returns NULL upon error. Memory -// must be deallocated by calling WebPFree(). This function is made available -// by the core 'libwebp' library. -WEBP_EXTERN void* WebPMalloc(size_t size); - -// Releases memory returned by the WebPDecode*() functions (from decode.h). -WEBP_EXTERN void WebPFree(void* ptr); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/README b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/README deleted file mode 100644 index 725c0716..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/README +++ /dev/null @@ -1,56 +0,0 @@ -Building: -========= - -JNI SWIG bindings: ------------------- - $ gcc -shared -fPIC -fno-strict-aliasing -O2 \ - -I/path/to/your/jdk/includes \ - libwebp_java_wrap.c \ - -lwebp \ - -o libwebp_jni.so - --------------------------------------- BEGIN PSEUDO EXAMPLE -import com.google.webp.libwebp; - -import java.lang.reflect.Method; - -public class libwebp_jni_example { - static { - System.loadLibrary("webp_jni"); - } - - /** - * usage: java -cp libwebp.jar:. libwebp_jni_example - */ - public static void main(String argv[]) { - final int version = libwebp.WebPGetDecoderVersion(); - System.out.println("libwebp version: " + Integer.toHexString(version)); - - System.out.println("libwebp methods:"); - final Method[] libwebpMethods = libwebp.class.getDeclaredMethods(); - for (int i = 0; i < libwebpMethods.length; i++) { - System.out.println(libwebpMethods[i]); - } - } -} --------------------------------------- END PSEUDO EXAMPLE - - $ javac -cp libwebp.jar libwebp_jni_example.java - $ java -Djava.library.path=. -cp libwebp.jar:. libwebp_jni_example - -Python SWIG bindings: ---------------------- - $ python setup.py build_ext - $ python setup.py install --prefix=pylocal - --------------------------------------- BEGIN PSEUDO EXAMPLE -import glob -import sys -sys.path.append(glob.glob('pylocal/lib/python*/site-packages')[0]) - -from com.google.webp import libwebp -print "libwebp decoder version: %x" % libwebp.WebPGetDecoderVersion() - -print "libwebp attributes:" -for attr in dir(libwebp): print attr --------------------------------------- END PSEUDO EXAMPLE diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.go b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.go deleted file mode 100644 index df205aa3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.go +++ /dev/null @@ -1,45 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 2.0.10 - * - * This file is not intended to be easily readable and contains a number of - * coding conventions designed to improve portability and efficiency. Do not make - * changes to this file unless you know what you are doing--modify the SWIG - * interface file instead. - * ----------------------------------------------------------------------------- */ - -package libwebp - -import _ "runtime/cgo" -import "unsafe" - -type _ unsafe.Pointer - -type _swig_fnptr *byte -type _swig_memberptr *byte - -//extern libwebpSwigCgocall -func SwigCgocall() - -//extern libwebpSwigCgocallDone -func SwigCgocallDone() - -//extern libwebpSwigCgocallBack -func SwigCgocallBack() - -//extern libwebpSwigCgocallBackDone -func SwigCgocallBackDone() - -func WebPGetDecoderVersion() int -func Wrapped_WebPGetInfo(string, []int, []int) int - -// WebPGetInfo has 2 output parameters, provide a version in the more natural -// go idiom: -func WebPGetInfo(webp []byte) (ok bool, width int, height int) { - w := []int{0} - h := []int{0} - ok = Wrapped_WebPGetInfo(string(webp), w, h) != 0 - width = w[0] - height = h[0] - return -} diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.jar b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.jar deleted file mode 100644 index 2fc502b9..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.jar and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.py b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.py deleted file mode 100644 index 2d126b5d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.py +++ /dev/null @@ -1,235 +0,0 @@ -# This file was automatically generated by SWIG (http://www.swig.org). -# Version 3.0.12 -# -# Do not make changes to this file unless you know what you are doing--modify -# the SWIG interface file instead. - -from sys import version_info as _swig_python_version_info -if _swig_python_version_info >= (2, 7, 0): - def swig_import_helper(): - import importlib - pkg = __name__.rpartition('.')[0] - mname = '.'.join((pkg, '_libwebp')).lstrip('.') - try: - return importlib.import_module(mname) - except ImportError: - return importlib.import_module('_libwebp') - _libwebp = swig_import_helper() - del swig_import_helper -elif _swig_python_version_info >= (2, 6, 0): - def swig_import_helper(): - from os.path import dirname - import imp - fp = None - try: - fp, pathname, description = imp.find_module('_libwebp', [dirname(__file__)]) - except ImportError: - import _libwebp - return _libwebp - try: - _mod = imp.load_module('_libwebp', fp, pathname, description) - finally: - if fp is not None: - fp.close() - return _mod - _libwebp = swig_import_helper() - del swig_import_helper -else: - import _libwebp -del _swig_python_version_info - -try: - _swig_property = property -except NameError: - pass # Python < 2.2 doesn't have 'property'. - -try: - import builtins as __builtin__ -except ImportError: - import __builtin__ - -def _swig_setattr_nondynamic(self, class_type, name, value, static=1): - if (name == "thisown"): - return self.this.own(value) - if (name == "this"): - if type(value).__name__ == 'SwigPyObject': - self.__dict__[name] = value - return - method = class_type.__swig_setmethods__.get(name, None) - if method: - return method(self, value) - if (not static): - if _newclass: - object.__setattr__(self, name, value) - else: - self.__dict__[name] = value - else: - raise AttributeError("You cannot add attributes to %s" % self) - - -def _swig_setattr(self, class_type, name, value): - return _swig_setattr_nondynamic(self, class_type, name, value, 0) - - -def _swig_getattr(self, class_type, name): - if (name == "thisown"): - return self.this.own() - method = class_type.__swig_getmethods__.get(name, None) - if method: - return method(self) - raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name)) - - -def _swig_repr(self): - try: - strthis = "proxy of " + self.this.__repr__() - except __builtin__.Exception: - strthis = "" - return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) - -try: - _object = object - _newclass = 1 -except __builtin__.Exception: - class _object: - pass - _newclass = 0 - - -def WebPGetDecoderVersion(): - """WebPGetDecoderVersion() -> int""" - return _libwebp.WebPGetDecoderVersion() - -def WebPGetInfo(data): - """WebPGetInfo(uint8_t data) -> (width, height)""" - return _libwebp.WebPGetInfo(data) - -def WebPDecodeRGB(data): - """WebPDecodeRGB(uint8_t data) -> (rgb, width, height)""" - return _libwebp.WebPDecodeRGB(data) - -def WebPDecodeRGBA(data): - """WebPDecodeRGBA(uint8_t data) -> (rgb, width, height)""" - return _libwebp.WebPDecodeRGBA(data) - -def WebPDecodeARGB(data): - """WebPDecodeARGB(uint8_t data) -> (rgb, width, height)""" - return _libwebp.WebPDecodeARGB(data) - -def WebPDecodeBGR(data): - """WebPDecodeBGR(uint8_t data) -> (rgb, width, height)""" - return _libwebp.WebPDecodeBGR(data) - -def WebPDecodeBGRA(data): - """WebPDecodeBGRA(uint8_t data) -> (rgb, width, height)""" - return _libwebp.WebPDecodeBGRA(data) - -def WebPGetEncoderVersion(): - """WebPGetEncoderVersion() -> int""" - return _libwebp.WebPGetEncoderVersion() - -def wrap_WebPEncodeRGB(rgb, unused1, unused2, width, height, stride, quality_factor): - """private, do not call directly.""" - return _libwebp.wrap_WebPEncodeRGB(rgb, unused1, unused2, width, height, stride, quality_factor) - -def wrap_WebPEncodeBGR(rgb, unused1, unused2, width, height, stride, quality_factor): - """private, do not call directly.""" - return _libwebp.wrap_WebPEncodeBGR(rgb, unused1, unused2, width, height, stride, quality_factor) - -def wrap_WebPEncodeRGBA(rgb, unused1, unused2, width, height, stride, quality_factor): - """private, do not call directly.""" - return _libwebp.wrap_WebPEncodeRGBA(rgb, unused1, unused2, width, height, stride, quality_factor) - -def wrap_WebPEncodeBGRA(rgb, unused1, unused2, width, height, stride, quality_factor): - """private, do not call directly.""" - return _libwebp.wrap_WebPEncodeBGRA(rgb, unused1, unused2, width, height, stride, quality_factor) - -def wrap_WebPEncodeLosslessRGB(rgb, unused1, unused2, width, height, stride): - """private, do not call directly.""" - return _libwebp.wrap_WebPEncodeLosslessRGB(rgb, unused1, unused2, width, height, stride) - -def wrap_WebPEncodeLosslessBGR(rgb, unused1, unused2, width, height, stride): - """private, do not call directly.""" - return _libwebp.wrap_WebPEncodeLosslessBGR(rgb, unused1, unused2, width, height, stride) - -def wrap_WebPEncodeLosslessRGBA(rgb, unused1, unused2, width, height, stride): - """private, do not call directly.""" - return _libwebp.wrap_WebPEncodeLosslessRGBA(rgb, unused1, unused2, width, height, stride) - -def wrap_WebPEncodeLosslessBGRA(rgb, unused1, unused2, width, height, stride): - """private, do not call directly.""" - return _libwebp.wrap_WebPEncodeLosslessBGRA(rgb, unused1, unused2, width, height, stride) - -_UNUSED = 1 - - -def WebPEncodeRGB(rgb, width, height, stride, quality_factor): - """WebPEncodeRGB(uint8_t rgb, int width, int height, int stride, float quality_factor) -> lossy_webp""" - webp = wrap_WebPEncodeRGB( - rgb, _UNUSED, _UNUSED, width, height, stride, quality_factor) - if len(webp[0]) == 0: - return None - return webp[0] - - -def WebPEncodeRGBA(rgb, width, height, stride, quality_factor): - """WebPEncodeRGBA(uint8_t rgb, int width, int height, int stride, float quality_factor) -> lossy_webp""" - webp = wrap_WebPEncodeRGBA( - rgb, _UNUSED, _UNUSED, width, height, stride, quality_factor) - if len(webp[0]) == 0: - return None - return webp[0] - - -def WebPEncodeBGR(rgb, width, height, stride, quality_factor): - """WebPEncodeBGR(uint8_t rgb, int width, int height, int stride, float quality_factor) -> lossy_webp""" - webp = wrap_WebPEncodeBGR( - rgb, _UNUSED, _UNUSED, width, height, stride, quality_factor) - if len(webp[0]) == 0: - return None - return webp[0] - - -def WebPEncodeBGRA(rgb, width, height, stride, quality_factor): - """WebPEncodeBGRA(uint8_t rgb, int width, int height, int stride, float quality_factor) -> lossy_webp""" - webp = wrap_WebPEncodeBGRA( - rgb, _UNUSED, _UNUSED, width, height, stride, quality_factor) - if len(webp[0]) == 0: - return None - return webp[0] - - -def WebPEncodeLosslessRGB(rgb, width, height, stride): - """WebPEncodeLosslessRGB(uint8_t rgb, int width, int height, int stride) -> lossless_webp""" - webp = wrap_WebPEncodeLosslessRGB(rgb, _UNUSED, _UNUSED, width, height, stride) - if len(webp[0]) == 0: - return None - return webp[0] - - -def WebPEncodeLosslessRGBA(rgb, width, height, stride): - """WebPEncodeLosslessRGBA(uint8_t rgb, int width, int height, int stride) -> lossless_webp""" - webp = wrap_WebPEncodeLosslessRGBA(rgb, _UNUSED, _UNUSED, width, height, stride) - if len(webp[0]) == 0: - return None - return webp[0] - - -def WebPEncodeLosslessBGR(rgb, width, height, stride): - """WebPEncodeLosslessBGR(uint8_t rgb, int width, int height, int stride) -> lossless_webp""" - webp = wrap_WebPEncodeLosslessBGR(rgb, _UNUSED, _UNUSED, width, height, stride) - if len(webp[0]) == 0: - return None - return webp[0] - - -def WebPEncodeLosslessBGRA(rgb, width, height, stride): - """WebPEncodeLosslessBGRA(uint8_t rgb, int width, int height, int stride) -> lossless_webp""" - webp = wrap_WebPEncodeLosslessBGRA(rgb, _UNUSED, _UNUSED, width, height, stride) - if len(webp[0]) == 0: - return None - return webp[0] - -# This file is compatible with both classic and new-style classes. - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.swig b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.swig deleted file mode 100644 index ca382981..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp.swig +++ /dev/null @@ -1,438 +0,0 @@ -// Copyright 2011 Google Inc. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// libwebp swig interface definition -// -// Author: James Zern (jzern@google.com) - -/* - Go bindings: - $ swig -go \ - -outdir . \ - -o libwebp_go_wrap.c libwebp.swig - - Java bindings: - $ mkdir -p java/com/google/webp - $ swig -java \ - -package com.google.webp \ - -outdir java/com/google/webp \ - -o libwebp_java_wrap.c libwebp.swig - - Python bindings: - $ swig -python \ - -outdir . \ - -o libwebp_python_wrap.c libwebp.swig -*/ - -#ifdef SWIGPYTHON -%module(package="com.google.webp") libwebp -%begin %{ -#define SWIG_PYTHON_STRICT_BYTE_CHAR -%} -#else -%module libwebp -#endif /* SWIGPYTHON */ - -%include "constraints.i" -%include "typemaps.i" - -#ifdef SWIGGO -%apply (char* STRING, size_t LENGTH) { (const uint8_t* data, size_t data_size) } - -%rename(wrapped_WebPGetInfo) WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); -#endif /* SWIGGO */ - -#ifdef SWIGJAVA -%include "arrays_java.i"; -%include "enums.swg" /*NB: requires JDK-1.5+ - See: http://www.swig.org/Doc1.3/Java.html#enumerations */ - -// map uint8_t* such that a byte[] is used -%{ -#include "webp/types.h" -%} -// from arrays_java.i (signed char) -JAVA_ARRAYS_DECL(uint8_t, jbyte, Byte, Uint8) -JAVA_ARRAYS_IMPL(uint8_t, jbyte, Byte, Uint8) -JAVA_ARRAYS_TYPEMAPS(uint8_t, byte, jbyte, Uint8, "[B") -%apply uint8_t[] { uint8_t* } -#endif /* SWIGJAVA */ - -#ifdef SWIGPYTHON -%apply (char* STRING, size_t LENGTH) { (const uint8_t* data, size_t data_size) } -%typemap(out) uint8_t* { - $result = PyString_FromStringAndSize( - (const char*)$1, - ($1 == NULL) ? 0 : ReturnedBufferSize("$symname", arg3, arg4)); -} - -%typemap (in) const uint8_t* rgb (Py_buffer rgb_buffer) { - // NB: with Python < 2.6 the old style buffer protocol may be used: - // Py_ssize_t unused; - // PyObject_AsReadBuffer($input, (const void**)(&$1), &unused); - if (!PyObject_CheckBuffer($input)) { - SWIG_exception_fail(SWIG_TypeError, - "in method '$symname', argument $argnum" - " does not support the buffer interface"); - } - if (PyObject_GetBuffer($input, &rgb_buffer, PyBUF_SIMPLE)) { - SWIG_exception_fail(SWIG_RuntimeError, - "in method '$symname', unable to get buffer view"); - } - $1 = ($1_ltype)rgb_buffer.buf; -} - -%typemap(freearg) const uint8_t* rgb { - PyBuffer_Release(&rgb_buffer$argnum); -} - -%define DECODE_AUTODOC(func) -%feature("autodoc", #func "(uint8_t data) -> (rgb, width, height)") func; -%enddef - -%feature("autodoc", "1"); -DECODE_AUTODOC(WebPDecodeRGB); -DECODE_AUTODOC(WebPDecodeRGBA); -DECODE_AUTODOC(WebPDecodeARGB); -DECODE_AUTODOC(WebPDecodeBGR); -DECODE_AUTODOC(WebPDecodeBGRA); -%feature("autodoc", "WebPGetInfo(uint8_t data) -> (width, height)") WebPGetInfo; -#endif /* SWIGPYTHON */ - -//------------------------------------------------------------------------------ -// Decoder specific - -%apply int* OUTPUT { int* width, int* height } - -int WebPGetDecoderVersion(void); -int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -#if defined(SWIGJAVA) || defined(SWIGPYTHON) - -// free the buffer returned by these functions after copying into -// the native type -%newobject WebPDecodeRGB; -%newobject WebPDecodeRGBA; -%newobject WebPDecodeARGB; -%newobject WebPDecodeBGR; -%newobject WebPDecodeBGRA; -%typemap(newfree) uint8_t* "free($1);" - -uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); -uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); -uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); -uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); -uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -#endif /* SWIGJAVA || SWIGPYTHON */ - -//------------------------------------------------------------------------------ -// Encoder specific - -#if defined(SWIGJAVA) || defined(SWIGPYTHON) - -int WebPGetEncoderVersion(void); - -#endif /* SWIGJAVA || SWIGPYTHON */ - -//------------------------------------------------------------------------------ -// Wrapper code additions - -%{ -#include "webp/decode.h" -#include "webp/encode.h" -%} - -#ifdef SWIGJAVA -%{ -#define FillMeInAsSizeCannotBeDeterminedAutomatically \ - (result ? (jint)ReturnedBufferSize(__FUNCTION__, arg3, arg4) : 0) -%} -#endif /* SWIGJAVA */ - -#if defined(SWIGJAVA) || defined(SWIGPYTHON) -%{ -static size_t ReturnedBufferSize( - const char* function, int* width, int* height) { - static const struct sizemap { - const char* function; - int size_multiplier; - } size_map[] = { -#ifdef SWIGJAVA - { "Java_com_google_webp_libwebpJNI_WebPDecodeRGB", 3 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeRGBA", 4 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeARGB", 4 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeBGR", 3 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeBGRA", 4 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeRGB", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeBGR", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeRGBA", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeBGRA", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessRGB", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessBGR", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessRGBA", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessBGRA", 1 }, -#endif -#ifdef SWIGPYTHON - { "WebPDecodeRGB", 3 }, - { "WebPDecodeRGBA", 4 }, - { "WebPDecodeARGB", 4 }, - { "WebPDecodeBGR", 3 }, - { "WebPDecodeBGRA", 4 }, - { "wrap_WebPEncodeRGB", 1 }, - { "wrap_WebPEncodeBGR", 1 }, - { "wrap_WebPEncodeRGBA", 1 }, - { "wrap_WebPEncodeBGRA", 1 }, - { "wrap_WebPEncodeLosslessRGB", 1 }, - { "wrap_WebPEncodeLosslessBGR", 1 }, - { "wrap_WebPEncodeLosslessRGBA", 1 }, - { "wrap_WebPEncodeLosslessBGRA", 1 }, -#endif - { NULL, 0 } - }; - const struct sizemap* p; - size_t size = 0; - - for (p = size_map; p->function; ++p) { - if (!strcmp(function, p->function)) { - size = *width * *height * p->size_multiplier; - break; - } - } - - return size; -} -%} - -%{ -typedef size_t (*WebPEncodeFunction)(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -typedef size_t (*WebPEncodeLosslessFunction)(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); - -static uint8_t* EncodeLossy(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, - WebPEncodeFunction encfn, - int* output_size, int* unused) { - uint8_t* output = NULL; - const size_t image_size = - encfn(rgb, width, height, stride, quality_factor, &output); - // the values of following two will be interpreted by ReturnedBufferSize() - // as 'width' and 'height' in the size calculation. - *output_size = image_size; - *unused = 1; - return image_size ? output : NULL; -} - -static uint8_t* EncodeLossless(const uint8_t* rgb, - int width, int height, int stride, - WebPEncodeLosslessFunction encfn, - int* output_size, int* unused) { - uint8_t* output = NULL; - const size_t image_size = encfn(rgb, width, height, stride, &output); - // the values of the following two will be interpreted by - // ReturnedBufferSize() as 'width' and 'height' in the size calculation. - *output_size = image_size; - *unused = 1; - return image_size ? output : NULL; -} -%} - -#endif /* SWIGJAVA || SWIGPYTHON */ - -//------------------------------------------------------------------------------ -// libwebp/encode wrapper functions - -#if defined(SWIGJAVA) || defined(SWIGPYTHON) - -%apply int* INPUT { int* unused1, int* unused2 } -%apply int* OUTPUT { int* output_size } - -// free the buffer returned by these functions after copying into -// the native type -%newobject wrap_WebPEncodeRGB; -%newobject wrap_WebPEncodeBGR; -%newobject wrap_WebPEncodeRGBA; -%newobject wrap_WebPEncodeBGRA; -%newobject wrap_WebPEncodeLosslessRGB; -%newobject wrap_WebPEncodeLosslessBGR; -%newobject wrap_WebPEncodeLosslessRGBA; -%newobject wrap_WebPEncodeLosslessBGRA; - -#ifdef SWIGJAVA -// There's no reason to call these directly -%javamethodmodifiers wrap_WebPEncodeRGB "private"; -%javamethodmodifiers wrap_WebPEncodeBGR "private"; -%javamethodmodifiers wrap_WebPEncodeRGBA "private"; -%javamethodmodifiers wrap_WebPEncodeBGRA "private"; -%javamethodmodifiers wrap_WebPEncodeLosslessRGB "private"; -%javamethodmodifiers wrap_WebPEncodeLosslessBGR "private"; -%javamethodmodifiers wrap_WebPEncodeLosslessRGBA "private"; -%javamethodmodifiers wrap_WebPEncodeLosslessBGRA "private"; -#endif /* SWIGJAVA */ - -#ifdef SWIGPYTHON -// This autodoc will serve as a catch-all for wrap_*. -%feature("autodoc", "private, do not call directly."); -#endif - -%inline %{ -// Changes the return type of WebPEncode* to more closely match Decode*. -// This also makes it easier to wrap the output buffer in a native type rather -// than dealing with the return pointer. -// The additional parameters are to allow reuse of ReturnedBufferSize(), -// unused2 and output_size will be used in this case. -#define LOSSY_WRAPPER(FUNC) \ - static uint8_t* wrap_##FUNC( \ - const uint8_t* rgb, int* unused1, int* unused2, int* output_size, \ - int width, int height, int stride, float quality_factor) { \ - return EncodeLossy(rgb, width, height, stride, quality_factor, \ - FUNC, output_size, unused2); \ - } \ - -LOSSY_WRAPPER(WebPEncodeRGB) -LOSSY_WRAPPER(WebPEncodeBGR) -LOSSY_WRAPPER(WebPEncodeRGBA) -LOSSY_WRAPPER(WebPEncodeBGRA) - -#undef LOSSY_WRAPPER - -#define LOSSLESS_WRAPPER(FUNC) \ - static uint8_t* wrap_##FUNC( \ - const uint8_t* rgb, int* unused1, int* unused2, int* output_size, \ - int width, int height, int stride) { \ - return EncodeLossless(rgb, width, height, stride, \ - FUNC, output_size, unused2); \ - } \ - -LOSSLESS_WRAPPER(WebPEncodeLosslessRGB) -LOSSLESS_WRAPPER(WebPEncodeLosslessBGR) -LOSSLESS_WRAPPER(WebPEncodeLosslessRGBA) -LOSSLESS_WRAPPER(WebPEncodeLosslessBGRA) - -#undef LOSSLESS_WRAPPER - -%} - -#endif /* SWIGJAVA || SWIGPYTHON */ - -//------------------------------------------------------------------------------ -// Language specific - -#ifdef SWIGGO -%insert(go_wrapper) %{ - -// WebPGetInfo has 2 output parameters, provide a version in the more natural -// go idiom: -func WebPGetInfo(webp []byte) (ok bool, width int, height int) { - w := []int{0} - h := []int{0} - ok = Wrapped_WebPGetInfo(string(webp), w, h) != 0 - width = w[0] - height = h[0] - return -} - -%} -#endif /* SWIGGO */ - -#ifdef SWIGJAVA -%{ -/* Work around broken gcj jni.h */ -#ifdef __GCJ_JNI_H__ -# undef JNIEXPORT -# define JNIEXPORT -# undef JNICALL -# define JNICALL -#endif -%} - -%pragma(java) modulecode=%{ - private static final int UNUSED = 1; - private static int outputSize[] = { 0 }; -%} - - -%define CALL_ENCODE_LOSSY_WRAPPER(func) -%pragma(java) modulecode=%{ - public static byte[] func( - byte[] rgb, int width, int height, int stride, float quality_factor) { - return wrap_##func( - rgb, UNUSED, UNUSED, outputSize, width, height, stride, quality_factor); - } -%} -%enddef - -%define CALL_ENCODE_LOSSLESS_WRAPPER(func) -%pragma(java) modulecode=%{ - public static byte[] func( - byte[] rgb, int width, int height, int stride) { - return wrap_##func( - rgb, UNUSED, UNUSED, outputSize, width, height, stride); - } -%} -%enddef - -CALL_ENCODE_LOSSY_WRAPPER(WebPEncodeRGB) -CALL_ENCODE_LOSSY_WRAPPER(WebPEncodeRGBA) -CALL_ENCODE_LOSSY_WRAPPER(WebPEncodeBGR) -CALL_ENCODE_LOSSY_WRAPPER(WebPEncodeBGRA) -CALL_ENCODE_LOSSLESS_WRAPPER(WebPEncodeLosslessRGB) -CALL_ENCODE_LOSSLESS_WRAPPER(WebPEncodeLosslessRGBA) -CALL_ENCODE_LOSSLESS_WRAPPER(WebPEncodeLosslessBGR) -CALL_ENCODE_LOSSLESS_WRAPPER(WebPEncodeLosslessBGRA) -#endif /* SWIGJAVA */ - -#ifdef SWIGPYTHON -%pythoncode %{ -_UNUSED = 1 -%} - -%define CALL_ENCODE_LOSSY_WRAPPER(func) -%pythoncode %{ -def func(rgb, width, height, stride, quality_factor): - """func(uint8_t rgb, int width, int height, int stride, float quality_factor) -> lossy_webp""" - webp = wrap_##func( - rgb, _UNUSED, _UNUSED, width, height, stride, quality_factor) - if len(webp[0]) == 0: - return None - return webp[0] -%} -%enddef - -%define CALL_ENCODE_LOSSLESS_WRAPPER(func) -%pythoncode %{ -def func(rgb, width, height, stride): - """func(uint8_t rgb, int width, int height, int stride) -> lossless_webp""" - webp = wrap_##func(rgb, _UNUSED, _UNUSED, width, height, stride) - if len(webp[0]) == 0: - return None - return webp[0] -%} -%enddef - -CALL_ENCODE_LOSSY_WRAPPER(WebPEncodeRGB) -CALL_ENCODE_LOSSY_WRAPPER(WebPEncodeRGBA) -CALL_ENCODE_LOSSY_WRAPPER(WebPEncodeBGR) -CALL_ENCODE_LOSSY_WRAPPER(WebPEncodeBGRA) -CALL_ENCODE_LOSSLESS_WRAPPER(WebPEncodeLosslessRGB) -CALL_ENCODE_LOSSLESS_WRAPPER(WebPEncodeLosslessRGBA) -CALL_ENCODE_LOSSLESS_WRAPPER(WebPEncodeLosslessBGR) -CALL_ENCODE_LOSSLESS_WRAPPER(WebPEncodeLosslessBGRA) -#endif /* SWIGPYTHON */ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_gc.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_gc.c deleted file mode 100644 index 308b7f83..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_gc.c +++ /dev/null @@ -1,52 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 2.0.10 - * - * This file is not intended to be easily readable and contains a number of - * coding conventions designed to improve portability and efficiency. Do not make - * changes to this file unless you know what you are doing--modify the SWIG - * interface file instead. - * ----------------------------------------------------------------------------- */ - -/* This file should be compiled with 6c/8c. */ -#pragma dynimport _ _ "libwebp_go.so" - -#include "runtime.h" -#include "cgocall.h" - -#ifdef _64BIT -#define SWIG_PARM_SIZE 8 -#else -#define SWIG_PARM_SIZE 4 -#endif - -#pragma dynimport _wrap_WebPGetDecoderVersion _wrap_WebPGetDecoderVersion "" -extern void (*_wrap_WebPGetDecoderVersion)(void*); -static void (*x_wrap_WebPGetDecoderVersion)(void*) = _wrap_WebPGetDecoderVersion; - -void -·WebPGetDecoderVersion(struct { - uint8 x[SWIG_PARM_SIZE]; -} p) - -{ - runtime·cgocall(x_wrap_WebPGetDecoderVersion, &p); -} - - - -#pragma dynimport _wrap_wrapped_WebPGetInfo _wrap_wrapped_WebPGetInfo "" -extern void (*_wrap_wrapped_WebPGetInfo)(void*); -static void (*x_wrap_wrapped_WebPGetInfo)(void*) = _wrap_wrapped_WebPGetInfo; - -void -·Wrapped_WebPGetInfo(struct { - uint8 x[(2 * SWIG_PARM_SIZE) + (3 * SWIG_PARM_SIZE) + (3 * SWIG_PARM_SIZE) + SWIG_PARM_SIZE]; -} p) - -{ - runtime·cgocall(x_wrap_wrapped_WebPGetInfo, &p); -} - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_go_wrap.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_go_wrap.c deleted file mode 100644 index 351d523f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_go_wrap.c +++ /dev/null @@ -1,274 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 2.0.10 - * - * This file is not intended to be easily readable and contains a number of - * coding conventions designed to improve portability and efficiency. Do not make - * changes to this file unless you know what you are doing--modify the SWIG - * interface file instead. - * ----------------------------------------------------------------------------- */ -#define SWIGMODULE libwebp -/* ----------------------------------------------------------------------------- - * This section contains generic SWIG labels for method/variable - * declarations/attributes, and other compiler dependent labels. - * ----------------------------------------------------------------------------- */ - -/* template workaround for compilers that cannot correctly implement the C++ standard */ -#ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# elif defined(__HP_aCC) -/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ -/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -#endif - -/* inline attribute */ -#ifndef SWIGINLINE -# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) -# define SWIGINLINE inline -# else -# define SWIGINLINE -# endif -#endif - -/* attribute recognised by some compilers to avoid 'unused' warnings */ -#ifndef SWIGUNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -# elif defined(__ICC) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -#endif - -#ifndef SWIG_MSC_UNSUPPRESS_4505 -# if defined(_MSC_VER) -# pragma warning(disable : 4505) /* unreferenced local function has been removed */ -# endif -#endif - -#ifndef SWIGUNUSEDPARM -# ifdef __cplusplus -# define SWIGUNUSEDPARM(p) -# else -# define SWIGUNUSEDPARM(p) p SWIGUNUSED -# endif -#endif - -/* internal SWIG method */ -#ifndef SWIGINTERN -# define SWIGINTERN static SWIGUNUSED -#endif - -/* internal inline SWIG method */ -#ifndef SWIGINTERNINLINE -# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE -#endif - -/* exporting methods */ -#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -# ifndef GCC_HASCLASSVISIBILITY -# define GCC_HASCLASSVISIBILITY -# endif -#endif - -#ifndef SWIGEXPORT -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if defined(STATIC_LINKED) -# define SWIGEXPORT -# else -# define SWIGEXPORT __declspec(dllexport) -# endif -# else -# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) -# define SWIGEXPORT __attribute__ ((visibility("default"))) -# else -# define SWIGEXPORT -# endif -# endif -#endif - -/* calling conventions for Windows */ -#ifndef SWIGSTDCALL -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# define SWIGSTDCALL __stdcall -# else -# define SWIGSTDCALL -# endif -#endif - -/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ -#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) -# define _CRT_SECURE_NO_DEPRECATE -#endif - -/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ -#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) -# define _SCL_SECURE_NO_DEPRECATE -#endif - - - -#include -#include -#include -#include -#include - - - -typedef long long intgo; -typedef unsigned long long uintgo; - - - -typedef struct { char *p; intgo n; } _gostring_; -typedef struct { void* array; intgo len; intgo cap; } _goslice_; - - - - -#define swiggo_size_assert_eq(x, y, name) typedef char name[(x-y)*(x-y)*-2+1]; -#define swiggo_size_assert(t, n) swiggo_size_assert_eq(sizeof(t), n, swiggo_sizeof_##t##_is_not_##n) - -swiggo_size_assert(char, 1) -swiggo_size_assert(short, 2) -swiggo_size_assert(int, 4) -typedef long long swiggo_long_long; -swiggo_size_assert(swiggo_long_long, 8) -swiggo_size_assert(float, 4) -swiggo_size_assert(double, 8) - -#ifdef __cplusplus -extern "C" { -#endif -extern void crosscall2(void (*fn)(void *, int), void *, int); -extern void _cgo_allocate(void *, int); -extern void _cgo_panic(void *, int); -#ifdef __cplusplus -} -#endif - -static void *_swig_goallocate(size_t len) { - struct { - size_t len; - void *ret; - } a; - a.len = len; - crosscall2(_cgo_allocate, &a, (int) sizeof a); - return a.ret; -} - -static void _swig_gopanic(const char *p) { - struct { - const char *p; - } a; - a.p = p; - crosscall2(_cgo_panic, &a, (int) sizeof a); -} - - - - -static _gostring_ _swig_makegostring(const char *p, size_t l) { - _gostring_ ret; - ret.p = (char*)_swig_goallocate(l + 1); - memcpy(ret.p, p, l); - ret.n = l; - return ret; -} - -#define SWIG_contract_assert(expr, msg) \ - if (!(expr)) { _swig_gopanic(msg); } else - - -#define SWIG_exception(code, msg) _swig_gopanic(msg) - - -#include "webp/decode.h" -#include "webp/encode.h" - -#ifdef __cplusplus -extern "C" { -#endif - -void -_wrap_WebPGetDecoderVersion(void *swig_v) -{ - int result; - - struct swigargs { - long : 0; - intgo result; - } *swig_a = (struct swigargs *) swig_v; - - - result = (int)WebPGetDecoderVersion(); - swig_a->result = result; -} - - -void -_wrap_wrapped_WebPGetInfo(void *swig_v) -{ - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int temp3 ; - int temp4 ; - int result; - - struct swigargs { - _gostring_ arg1; - _goslice_ arg3; - _goslice_ arg4; - long : 0; - intgo result; - } *swig_a = (struct swigargs *) swig_v; - - - arg1 = (uint8_t *)swig_a->arg1.p; - arg2 = (size_t)swig_a->arg1.n; - - { - if (swig_a->arg3.len == 0) { - _swig_gopanic("array must contain at least 1 element"); - } - arg3 = &temp3; - } - { - if (swig_a->arg4.len == 0) { - _swig_gopanic("array must contain at least 1 element"); - } - arg4 = &temp4; - } - - result = (int)WebPGetInfo((uint8_t const *)arg1,arg2,arg3,arg4); - swig_a->result = result; - { - int* a = (int *) swig_a->arg3.array; - a[0] = temp3; - } - { - int* a = (int *) swig_a->arg4.array; - a[0] = temp4; - } - - -} - - -#ifdef __cplusplus -} -#endif - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_java_wrap.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_java_wrap.c deleted file mode 100644 index c8d4b133..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_java_wrap.c +++ /dev/null @@ -1,1765 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 2.0.4 - * - * This file is not intended to be easily readable and contains a number of - * coding conventions designed to improve portability and efficiency. Do not make - * changes to this file unless you know what you are doing--modify the SWIG - * interface file instead. - * ----------------------------------------------------------------------------- */ - -#define SWIGJAVA - -/* ----------------------------------------------------------------------------- - * This section contains generic SWIG labels for method/variable - * declarations/attributes, and other compiler dependent labels. - * ----------------------------------------------------------------------------- */ - -/* template workaround for compilers that cannot correctly implement the C++ standard */ -#ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# elif defined(__HP_aCC) -/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ -/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -#endif - -/* inline attribute */ -#ifndef SWIGINLINE -# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) -# define SWIGINLINE inline -# else -# define SWIGINLINE -# endif -#endif - -/* attribute recognised by some compilers to avoid 'unused' warnings */ -#ifndef SWIGUNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -# elif defined(__ICC) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -#endif - -#ifndef SWIG_MSC_UNSUPPRESS_4505 -# if defined(_MSC_VER) -# pragma warning(disable : 4505) /* unreferenced local function has been removed */ -# endif -#endif - -#ifndef SWIGUNUSEDPARM -# ifdef __cplusplus -# define SWIGUNUSEDPARM(p) -# else -# define SWIGUNUSEDPARM(p) p SWIGUNUSED -# endif -#endif - -/* internal SWIG method */ -#ifndef SWIGINTERN -# define SWIGINTERN static SWIGUNUSED -#endif - -/* internal inline SWIG method */ -#ifndef SWIGINTERNINLINE -# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE -#endif - -/* exporting methods */ -#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -# ifndef GCC_HASCLASSVISIBILITY -# define GCC_HASCLASSVISIBILITY -# endif -#endif - -#ifndef SWIGEXPORT -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if defined(STATIC_LINKED) -# define SWIGEXPORT -# else -# define SWIGEXPORT __declspec(dllexport) -# endif -# else -# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) -# define SWIGEXPORT __attribute__ ((visibility("default"))) -# else -# define SWIGEXPORT -# endif -# endif -#endif - -/* calling conventions for Windows */ -#ifndef SWIGSTDCALL -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# define SWIGSTDCALL __stdcall -# else -# define SWIGSTDCALL -# endif -#endif - -/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ -#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) -# define _CRT_SECURE_NO_DEPRECATE -#endif - -/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ -#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) -# define _SCL_SECURE_NO_DEPRECATE -#endif - - - -/* Fix for jlong on some versions of gcc on Windows */ -#if defined(__GNUC__) && !defined(__INTEL_COMPILER) - typedef long long __int64; -#endif - -/* Fix for jlong on 64-bit x86 Solaris */ -#if defined(__x86_64) -# ifdef _LP64 -# undef _LP64 -# endif -#endif - -#include -#include -#include - - -/* Support for throwing Java exceptions */ -typedef enum { - SWIG_JavaOutOfMemoryError = 1, - SWIG_JavaIOException, - SWIG_JavaRuntimeException, - SWIG_JavaIndexOutOfBoundsException, - SWIG_JavaArithmeticException, - SWIG_JavaIllegalArgumentException, - SWIG_JavaNullPointerException, - SWIG_JavaDirectorPureVirtual, - SWIG_JavaUnknownError -} SWIG_JavaExceptionCodes; - -typedef struct { - SWIG_JavaExceptionCodes code; - const char *java_exception; -} SWIG_JavaExceptions_t; - - -static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) { - jclass excep; - static const SWIG_JavaExceptions_t java_exceptions[] = { - { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" }, - { SWIG_JavaIOException, "java/io/IOException" }, - { SWIG_JavaRuntimeException, "java/lang/RuntimeException" }, - { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" }, - { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" }, - { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" }, - { SWIG_JavaNullPointerException, "java/lang/NullPointerException" }, - { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" }, - { SWIG_JavaUnknownError, "java/lang/UnknownError" }, - { (SWIG_JavaExceptionCodes)0, "java/lang/UnknownError" } - }; - const SWIG_JavaExceptions_t *except_ptr = java_exceptions; - - while (except_ptr->code != code && except_ptr->code) - except_ptr++; - - (*jenv)->ExceptionClear(jenv); - excep = (*jenv)->FindClass(jenv, except_ptr->java_exception); - if (excep) - (*jenv)->ThrowNew(jenv, excep, msg); -} - - -/* Contract support */ - -#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else - -/* Errors in SWIG */ -#define SWIG_UnknownError -1 -#define SWIG_IOError -2 -#define SWIG_RuntimeError -3 -#define SWIG_IndexError -4 -#define SWIG_TypeError -5 -#define SWIG_DivisionByZero -6 -#define SWIG_OverflowError -7 -#define SWIG_SyntaxError -8 -#define SWIG_ValueError -9 -#define SWIG_SystemError -10 -#define SWIG_AttributeError -11 -#define SWIG_MemoryError -12 -#define SWIG_NullReferenceError -13 - - - - -SWIGINTERN void SWIG_JavaException(JNIEnv *jenv, int code, const char *msg) { - SWIG_JavaExceptionCodes exception_code = SWIG_JavaUnknownError; - switch(code) { - case SWIG_MemoryError: - exception_code = SWIG_JavaOutOfMemoryError; - break; - case SWIG_IOError: - exception_code = SWIG_JavaIOException; - break; - case SWIG_SystemError: - case SWIG_RuntimeError: - exception_code = SWIG_JavaRuntimeException; - break; - case SWIG_OverflowError: - case SWIG_IndexError: - exception_code = SWIG_JavaIndexOutOfBoundsException; - break; - case SWIG_DivisionByZero: - exception_code = SWIG_JavaArithmeticException; - break; - case SWIG_SyntaxError: - case SWIG_ValueError: - case SWIG_TypeError: - exception_code = SWIG_JavaIllegalArgumentException; - break; - case SWIG_UnknownError: - default: - exception_code = SWIG_JavaUnknownError; - break; - } - SWIG_JavaThrowException(jenv, exception_code, msg); -} - - -#if defined(SWIG_NOINCLUDE) || defined(SWIG_NOARRAYS) - - -int SWIG_JavaArrayInSchar (JNIEnv *jenv, jbyte **jarr, signed char **carr, jbyteArray input); -void SWIG_JavaArrayArgoutSchar (JNIEnv *jenv, jbyte *jarr, signed char *carr, jbyteArray input); -jbyteArray SWIG_JavaArrayOutSchar (JNIEnv *jenv, signed char *result, jsize sz); - - -int SWIG_JavaArrayInUchar (JNIEnv *jenv, jshort **jarr, unsigned char **carr, jshortArray input); -void SWIG_JavaArrayArgoutUchar (JNIEnv *jenv, jshort *jarr, unsigned char *carr, jshortArray input); -jshortArray SWIG_JavaArrayOutUchar (JNIEnv *jenv, unsigned char *result, jsize sz); - - -int SWIG_JavaArrayInShort (JNIEnv *jenv, jshort **jarr, short **carr, jshortArray input); -void SWIG_JavaArrayArgoutShort (JNIEnv *jenv, jshort *jarr, short *carr, jshortArray input); -jshortArray SWIG_JavaArrayOutShort (JNIEnv *jenv, short *result, jsize sz); - - -int SWIG_JavaArrayInUshort (JNIEnv *jenv, jint **jarr, unsigned short **carr, jintArray input); -void SWIG_JavaArrayArgoutUshort (JNIEnv *jenv, jint *jarr, unsigned short *carr, jintArray input); -jintArray SWIG_JavaArrayOutUshort (JNIEnv *jenv, unsigned short *result, jsize sz); - - -int SWIG_JavaArrayInInt (JNIEnv *jenv, jint **jarr, int **carr, jintArray input); -void SWIG_JavaArrayArgoutInt (JNIEnv *jenv, jint *jarr, int *carr, jintArray input); -jintArray SWIG_JavaArrayOutInt (JNIEnv *jenv, int *result, jsize sz); - - -int SWIG_JavaArrayInUint (JNIEnv *jenv, jlong **jarr, unsigned int **carr, jlongArray input); -void SWIG_JavaArrayArgoutUint (JNIEnv *jenv, jlong *jarr, unsigned int *carr, jlongArray input); -jlongArray SWIG_JavaArrayOutUint (JNIEnv *jenv, unsigned int *result, jsize sz); - - -int SWIG_JavaArrayInLong (JNIEnv *jenv, jint **jarr, long **carr, jintArray input); -void SWIG_JavaArrayArgoutLong (JNIEnv *jenv, jint *jarr, long *carr, jintArray input); -jintArray SWIG_JavaArrayOutLong (JNIEnv *jenv, long *result, jsize sz); - - -int SWIG_JavaArrayInUlong (JNIEnv *jenv, jlong **jarr, unsigned long **carr, jlongArray input); -void SWIG_JavaArrayArgoutUlong (JNIEnv *jenv, jlong *jarr, unsigned long *carr, jlongArray input); -jlongArray SWIG_JavaArrayOutUlong (JNIEnv *jenv, unsigned long *result, jsize sz); - - -int SWIG_JavaArrayInLonglong (JNIEnv *jenv, jlong **jarr, jlong **carr, jlongArray input); -void SWIG_JavaArrayArgoutLonglong (JNIEnv *jenv, jlong *jarr, jlong *carr, jlongArray input); -jlongArray SWIG_JavaArrayOutLonglong (JNIEnv *jenv, jlong *result, jsize sz); - - -int SWIG_JavaArrayInFloat (JNIEnv *jenv, jfloat **jarr, float **carr, jfloatArray input); -void SWIG_JavaArrayArgoutFloat (JNIEnv *jenv, jfloat *jarr, float *carr, jfloatArray input); -jfloatArray SWIG_JavaArrayOutFloat (JNIEnv *jenv, float *result, jsize sz); - - -int SWIG_JavaArrayInDouble (JNIEnv *jenv, jdouble **jarr, double **carr, jdoubleArray input); -void SWIG_JavaArrayArgoutDouble (JNIEnv *jenv, jdouble *jarr, double *carr, jdoubleArray input); -jdoubleArray SWIG_JavaArrayOutDouble (JNIEnv *jenv, double *result, jsize sz); - - -#else - - -/* signed char[] support */ -int SWIG_JavaArrayInSchar (JNIEnv *jenv, jbyte **jarr, signed char **carr, jbyteArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetByteArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (signed char*) calloc(sz, sizeof(signed char)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseByteArrayElements(jenv, input, jarr, 0); -} - -jbyteArray SWIG_JavaArrayOutSchar (JNIEnv *jenv, signed char *result, jsize sz) { - jbyte *arr; - int i; - jbyteArray jresult = (*jenv)->NewByteArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetByteArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseByteArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -/* unsigned char[] support */ -int SWIG_JavaArrayInUchar (JNIEnv *jenv, jshort **jarr, unsigned char **carr, jshortArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetShortArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (unsigned char*) calloc(sz, sizeof(unsigned char)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseShortArrayElements(jenv, input, jarr, 0); -} - -jshortArray SWIG_JavaArrayOutUchar (JNIEnv *jenv, unsigned char *result, jsize sz) { - jshort *arr; - int i; - jshortArray jresult = (*jenv)->NewShortArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetShortArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseShortArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -/* short[] support */ -int SWIG_JavaArrayInShort (JNIEnv *jenv, jshort **jarr, short **carr, jshortArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetShortArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (short*) calloc(sz, sizeof(short)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseShortArrayElements(jenv, input, jarr, 0); -} - -jshortArray SWIG_JavaArrayOutShort (JNIEnv *jenv, short *result, jsize sz) { - jshort *arr; - int i; - jshortArray jresult = (*jenv)->NewShortArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetShortArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseShortArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -/* unsigned short[] support */ -int SWIG_JavaArrayInUshort (JNIEnv *jenv, jint **jarr, unsigned short **carr, jintArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (unsigned short*) calloc(sz, sizeof(unsigned short)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseIntArrayElements(jenv, input, jarr, 0); -} - -jintArray SWIG_JavaArrayOutUshort (JNIEnv *jenv, unsigned short *result, jsize sz) { - jint *arr; - int i; - jintArray jresult = (*jenv)->NewIntArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseIntArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -/* int[] support */ -int SWIG_JavaArrayInInt (JNIEnv *jenv, jint **jarr, int **carr, jintArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (int*) calloc(sz, sizeof(int)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseIntArrayElements(jenv, input, jarr, 0); -} - -jintArray SWIG_JavaArrayOutInt (JNIEnv *jenv, int *result, jsize sz) { - jint *arr; - int i; - jintArray jresult = (*jenv)->NewIntArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseIntArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -/* unsigned int[] support */ -int SWIG_JavaArrayInUint (JNIEnv *jenv, jlong **jarr, unsigned int **carr, jlongArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (unsigned int*) calloc(sz, sizeof(unsigned int)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseLongArrayElements(jenv, input, jarr, 0); -} - -jlongArray SWIG_JavaArrayOutUint (JNIEnv *jenv, unsigned int *result, jsize sz) { - jlong *arr; - int i; - jlongArray jresult = (*jenv)->NewLongArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseLongArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -/* long[] support */ -int SWIG_JavaArrayInLong (JNIEnv *jenv, jint **jarr, long **carr, jintArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (long*) calloc(sz, sizeof(long)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseIntArrayElements(jenv, input, jarr, 0); -} - -jintArray SWIG_JavaArrayOutLong (JNIEnv *jenv, long *result, jsize sz) { - jint *arr; - int i; - jintArray jresult = (*jenv)->NewIntArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseIntArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -/* unsigned long[] support */ -int SWIG_JavaArrayInUlong (JNIEnv *jenv, jlong **jarr, unsigned long **carr, jlongArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (unsigned long*) calloc(sz, sizeof(unsigned long)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseLongArrayElements(jenv, input, jarr, 0); -} - -jlongArray SWIG_JavaArrayOutUlong (JNIEnv *jenv, unsigned long *result, jsize sz) { - jlong *arr; - int i; - jlongArray jresult = (*jenv)->NewLongArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseLongArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -/* jlong[] support */ -int SWIG_JavaArrayInLonglong (JNIEnv *jenv, jlong **jarr, jlong **carr, jlongArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (jlong*) calloc(sz, sizeof(jlong)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseLongArrayElements(jenv, input, jarr, 0); -} - -jlongArray SWIG_JavaArrayOutLonglong (JNIEnv *jenv, jlong *result, jsize sz) { - jlong *arr; - int i; - jlongArray jresult = (*jenv)->NewLongArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseLongArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -/* float[] support */ -int SWIG_JavaArrayInFloat (JNIEnv *jenv, jfloat **jarr, float **carr, jfloatArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetFloatArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (float*) calloc(sz, sizeof(float)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseFloatArrayElements(jenv, input, jarr, 0); -} - -jfloatArray SWIG_JavaArrayOutFloat (JNIEnv *jenv, float *result, jsize sz) { - jfloat *arr; - int i; - jfloatArray jresult = (*jenv)->NewFloatArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetFloatArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseFloatArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -/* double[] support */ -int SWIG_JavaArrayInDouble (JNIEnv *jenv, jdouble **jarr, double **carr, jdoubleArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetDoubleArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (double*) calloc(sz, sizeof(double)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseDoubleArrayElements(jenv, input, jarr, 0); -} - -jdoubleArray SWIG_JavaArrayOutDouble (JNIEnv *jenv, double *result, jsize sz) { - jdouble *arr; - int i; - jdoubleArray jresult = (*jenv)->NewDoubleArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetDoubleArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseDoubleArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -#endif - - -#include "webp/types.h" - - -int SWIG_JavaArrayInUint8 (JNIEnv *jenv, jbyte **jarr, uint8_t **carr, jbyteArray input); -void SWIG_JavaArrayArgoutUint8 (JNIEnv *jenv, jbyte *jarr, uint8_t *carr, jbyteArray input); -jbyteArray SWIG_JavaArrayOutUint8 (JNIEnv *jenv, uint8_t *result, jsize sz); - - -/* uint8_t[] support */ -int SWIG_JavaArrayInUint8 (JNIEnv *jenv, jbyte **jarr, uint8_t **carr, jbyteArray input) { - int i; - jsize sz; - if (!input) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); - return 0; - } - sz = (*jenv)->GetArrayLength(jenv, input); - *jarr = (*jenv)->GetByteArrayElements(jenv, input, 0); - if (!*jarr) - return 0; - *carr = (uint8_t*) calloc(sz, sizeof(uint8_t)); - if (!*carr) { - SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); - return 0; - } - for (i=0; iGetArrayLength(jenv, input); - for (i=0; iReleaseByteArrayElements(jenv, input, jarr, 0); -} - -jbyteArray SWIG_JavaArrayOutUint8 (JNIEnv *jenv, uint8_t *result, jsize sz) { - jbyte *arr; - int i; - jbyteArray jresult = (*jenv)->NewByteArray(jenv, sz); - if (!jresult) - return NULL; - arr = (*jenv)->GetByteArrayElements(jenv, jresult, 0); - if (!arr) - return NULL; - for (i=0; iReleaseByteArrayElements(jenv, jresult, arr, 0); - return jresult; -} - - -#include "webp/decode.h" -#include "webp/encode.h" - - -#define FillMeInAsSizeCannotBeDeterminedAutomatically \ - (result ? (jint)ReturnedBufferSize(__FUNCTION__, arg3, arg4) : 0) - - -static size_t ReturnedBufferSize( - const char* function, int* width, int* height) { - static const struct sizemap { - const char* function; - int size_multiplier; - } size_map[] = { -#ifdef SWIGJAVA - { "Java_com_google_webp_libwebpJNI_WebPDecodeRGB", 3 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeRGBA", 4 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeARGB", 4 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeBGR", 3 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeBGRA", 4 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeRGB", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeBGR", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeRGBA", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeBGRA", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessRGB", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessBGR", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessRGBA", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessBGRA", 1 }, -#endif -#ifdef SWIGPYTHON - { "WebPDecodeRGB", 3 }, - { "WebPDecodeRGBA", 4 }, - { "WebPDecodeARGB", 4 }, - { "WebPDecodeBGR", 3 }, - { "WebPDecodeBGRA", 4 }, - { "wrap_WebPEncodeRGB", 1 }, - { "wrap_WebPEncodeBGR", 1 }, - { "wrap_WebPEncodeRGBA", 1 }, - { "wrap_WebPEncodeBGRA", 1 }, - { "wrap_WebPEncodeLosslessRGB", 1 }, - { "wrap_WebPEncodeLosslessBGR", 1 }, - { "wrap_WebPEncodeLosslessRGBA", 1 }, - { "wrap_WebPEncodeLosslessBGRA", 1 }, -#endif - { NULL, 0 } - }; - const struct sizemap* p; - size_t size = 0; - - for (p = size_map; p->function; ++p) { - if (!strcmp(function, p->function)) { - size = *width * *height * p->size_multiplier; - break; - } - } - - return size; -} - - -typedef size_t (*WebPEncodeFunction)(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -typedef size_t (*WebPEncodeLosslessFunction)(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); - -static uint8_t* EncodeLossy(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, - WebPEncodeFunction encfn, - int* output_size, int* unused) { - uint8_t* output = NULL; - const size_t image_size = - encfn(rgb, width, height, stride, quality_factor, &output); - // the values of following two will be interpreted by ReturnedBufferSize() - // as 'width' and 'height' in the size calculation. - *output_size = image_size; - *unused = 1; - return image_size ? output : NULL; -} - -static uint8_t* EncodeLossless(const uint8_t* rgb, - int width, int height, int stride, - WebPEncodeLosslessFunction encfn, - int* output_size, int* unused) { - uint8_t* output = NULL; - const size_t image_size = encfn(rgb, width, height, stride, &output); - // the values of the following two will be interpreted by - // ReturnedBufferSize() as 'width' and 'height' in the size calculation. - *output_size = image_size; - *unused = 1; - return image_size ? output : NULL; -} - - -// Changes the return type of WebPEncode* to more closely match Decode*. -// This also makes it easier to wrap the output buffer in a native type rather -// than dealing with the return pointer. -// The additional parameters are to allow reuse of ReturnedBufferSize(), -// unused2 and output_size will be used in this case. -#define LOSSY_WRAPPER(FUNC) \ - static uint8_t* wrap_##FUNC( \ - const uint8_t* rgb, int* unused1, int* unused2, int* output_size, \ - int width, int height, int stride, float quality_factor) { \ - return EncodeLossy(rgb, width, height, stride, quality_factor, \ - FUNC, output_size, unused2); \ - } \ - -LOSSY_WRAPPER(WebPEncodeRGB) -LOSSY_WRAPPER(WebPEncodeBGR) -LOSSY_WRAPPER(WebPEncodeRGBA) -LOSSY_WRAPPER(WebPEncodeBGRA) - -#undef LOSSY_WRAPPER - -#define LOSSLESS_WRAPPER(FUNC) \ - static uint8_t* wrap_##FUNC( \ - const uint8_t* rgb, int* unused1, int* unused2, int* output_size, \ - int width, int height, int stride) { \ - return EncodeLossless(rgb, width, height, stride, \ - FUNC, output_size, unused2); \ - } \ - -LOSSLESS_WRAPPER(WebPEncodeLosslessRGB) -LOSSLESS_WRAPPER(WebPEncodeLosslessBGR) -LOSSLESS_WRAPPER(WebPEncodeLosslessRGBA) -LOSSLESS_WRAPPER(WebPEncodeLosslessBGRA) - -#undef LOSSLESS_WRAPPER - - - -/* Work around broken gcj jni.h */ -#ifdef __GCJ_JNI_H__ -# undef JNIEXPORT -# define JNIEXPORT -# undef JNICALL -# define JNICALL -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - -SWIGEXPORT jint JNICALL Java_com_google_webp_libwebpJNI_WebPGetDecoderVersion(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - int result; - - (void)jenv; - (void)jcls; - result = (int)WebPGetDecoderVersion(); - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_com_google_webp_libwebpJNI_WebPGetInfo(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jlong jarg2, jintArray jarg3, jintArray jarg4) { - jint jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - jbyte *jarr1 ; - int temp3 ; - int temp4 ; - int result; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (size_t)jarg2; - { - if (!jarg3) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg3) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg3 = &temp3; - } - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - result = (int)WebPGetInfo((uint8_t const *)arg1,arg2,arg3,arg4); - jresult = (jint)result; - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp3; - (*jenv)->SetIntArrayRegion(jenv, jarg3, 0, 1, &jvalue); - } - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_WebPDecodeRGB(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jlong jarg2, jintArray jarg3, jintArray jarg4) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - jbyte *jarr1 ; - int temp3 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (size_t)jarg2; - { - if (!jarg3) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg3) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg3 = &temp3; - } - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - result = (uint8_t *)WebPDecodeRGB((uint8_t const *)arg1,arg2,arg3,arg4); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp3; - (*jenv)->SetIntArrayRegion(jenv, jarg3, 0, 1, &jvalue); - } - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_WebPDecodeRGBA(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jlong jarg2, jintArray jarg3, jintArray jarg4) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - jbyte *jarr1 ; - int temp3 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (size_t)jarg2; - { - if (!jarg3) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg3) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg3 = &temp3; - } - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - result = (uint8_t *)WebPDecodeRGBA((uint8_t const *)arg1,arg2,arg3,arg4); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp3; - (*jenv)->SetIntArrayRegion(jenv, jarg3, 0, 1, &jvalue); - } - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_WebPDecodeARGB(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jlong jarg2, jintArray jarg3, jintArray jarg4) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - jbyte *jarr1 ; - int temp3 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (size_t)jarg2; - { - if (!jarg3) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg3) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg3 = &temp3; - } - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - result = (uint8_t *)WebPDecodeARGB((uint8_t const *)arg1,arg2,arg3,arg4); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp3; - (*jenv)->SetIntArrayRegion(jenv, jarg3, 0, 1, &jvalue); - } - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_WebPDecodeBGR(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jlong jarg2, jintArray jarg3, jintArray jarg4) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - jbyte *jarr1 ; - int temp3 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (size_t)jarg2; - { - if (!jarg3) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg3) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg3 = &temp3; - } - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - result = (uint8_t *)WebPDecodeBGR((uint8_t const *)arg1,arg2,arg3,arg4); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp3; - (*jenv)->SetIntArrayRegion(jenv, jarg3, 0, 1, &jvalue); - } - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_WebPDecodeBGRA(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jlong jarg2, jintArray jarg3, jintArray jarg4) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - jbyte *jarr1 ; - int temp3 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (size_t)jarg2; - { - if (!jarg3) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg3) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg3 = &temp3; - } - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - result = (uint8_t *)WebPDecodeBGRA((uint8_t const *)arg1,arg2,arg3,arg4); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp3; - (*jenv)->SetIntArrayRegion(jenv, jarg3, 0, 1, &jvalue); - } - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - free(result); - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_com_google_webp_libwebpJNI_WebPGetEncoderVersion(JNIEnv *jenv, jclass jcls) { - jint jresult = 0 ; - int result; - - (void)jenv; - (void)jcls; - result = (int)WebPGetEncoderVersion(); - jresult = (jint)result; - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeRGB(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jint jarg2, jint jarg3, jintArray jarg4, jint jarg5, jint jarg6, jint jarg7, jfloat jarg8) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - float arg8 ; - jbyte *jarr1 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (int *)&jarg2; - arg3 = (int *)&jarg3; - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - arg5 = (int)jarg5; - arg6 = (int)jarg6; - arg7 = (int)jarg7; - arg8 = (float)jarg8; - result = (uint8_t *)wrap_WebPEncodeRGB((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeBGR(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jint jarg2, jint jarg3, jintArray jarg4, jint jarg5, jint jarg6, jint jarg7, jfloat jarg8) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - float arg8 ; - jbyte *jarr1 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (int *)&jarg2; - arg3 = (int *)&jarg3; - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - arg5 = (int)jarg5; - arg6 = (int)jarg6; - arg7 = (int)jarg7; - arg8 = (float)jarg8; - result = (uint8_t *)wrap_WebPEncodeBGR((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeRGBA(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jint jarg2, jint jarg3, jintArray jarg4, jint jarg5, jint jarg6, jint jarg7, jfloat jarg8) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - float arg8 ; - jbyte *jarr1 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (int *)&jarg2; - arg3 = (int *)&jarg3; - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - arg5 = (int)jarg5; - arg6 = (int)jarg6; - arg7 = (int)jarg7; - arg8 = (float)jarg8; - result = (uint8_t *)wrap_WebPEncodeRGBA((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeBGRA(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jint jarg2, jint jarg3, jintArray jarg4, jint jarg5, jint jarg6, jint jarg7, jfloat jarg8) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - float arg8 ; - jbyte *jarr1 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (int *)&jarg2; - arg3 = (int *)&jarg3; - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - arg5 = (int)jarg5; - arg6 = (int)jarg6; - arg7 = (int)jarg7; - arg8 = (float)jarg8; - result = (uint8_t *)wrap_WebPEncodeBGRA((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessRGB(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jint jarg2, jint jarg3, jintArray jarg4, jint jarg5, jint jarg6, jint jarg7) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - jbyte *jarr1 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (int *)&jarg2; - arg3 = (int *)&jarg3; - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - arg5 = (int)jarg5; - arg6 = (int)jarg6; - arg7 = (int)jarg7; - result = (uint8_t *)wrap_WebPEncodeLosslessRGB((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessBGR(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jint jarg2, jint jarg3, jintArray jarg4, jint jarg5, jint jarg6, jint jarg7) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - jbyte *jarr1 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (int *)&jarg2; - arg3 = (int *)&jarg3; - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - arg5 = (int)jarg5; - arg6 = (int)jarg6; - arg7 = (int)jarg7; - result = (uint8_t *)wrap_WebPEncodeLosslessBGR((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessRGBA(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jint jarg2, jint jarg3, jintArray jarg4, jint jarg5, jint jarg6, jint jarg7) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - jbyte *jarr1 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (int *)&jarg2; - arg3 = (int *)&jarg3; - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - arg5 = (int)jarg5; - arg6 = (int)jarg6; - arg7 = (int)jarg7; - result = (uint8_t *)wrap_WebPEncodeLosslessRGBA((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - - free(result); - return jresult; -} - - -SWIGEXPORT jbyteArray JNICALL Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessBGRA(JNIEnv *jenv, jclass jcls, jbyteArray jarg1, jint jarg2, jint jarg3, jintArray jarg4, jint jarg5, jint jarg6, jint jarg7) { - jbyteArray jresult = 0 ; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - jbyte *jarr1 ; - int temp4 ; - uint8_t *result = 0 ; - - (void)jenv; - (void)jcls; - if (!SWIG_JavaArrayInUint8(jenv, &jarr1, &arg1, jarg1)) return 0; - arg2 = (int *)&jarg2; - arg3 = (int *)&jarg3; - { - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "array null"); - return 0; - } - if ((*jenv)->GetArrayLength(jenv, jarg4) == 0) { - SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, "Array must contain at least 1 element"); - return 0; - } - arg4 = &temp4; - } - arg5 = (int)jarg5; - arg6 = (int)jarg6; - arg7 = (int)jarg7; - result = (uint8_t *)wrap_WebPEncodeLosslessBGRA((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7); - jresult = SWIG_JavaArrayOutUint8(jenv, result, FillMeInAsSizeCannotBeDeterminedAutomatically); - SWIG_JavaArrayArgoutUint8(jenv, jarr1, arg1, jarg1); - { - jint jvalue = (jint)temp4; - (*jenv)->SetIntArrayRegion(jenv, jarg4, 0, 1, &jvalue); - } - free(arg1); - - - - free(result); - return jresult; -} - - -#ifdef __cplusplus -} -#endif - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_python_wrap.c b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_python_wrap.c deleted file mode 100644 index 10555738..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/libwebp_python_wrap.c +++ /dev/null @@ -1,5628 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 3.0.12 - * - * This file is not intended to be easily readable and contains a number of - * coding conventions designed to improve portability and efficiency. Do not make - * changes to this file unless you know what you are doing--modify the SWIG - * interface file instead. - * ----------------------------------------------------------------------------- */ - -#define SWIG_PYTHON_STRICT_BYTE_CHAR - - - -#ifndef SWIGPYTHON -#define SWIGPYTHON -#endif - -#define SWIG_PYTHON_DIRECTOR_NO_VTABLE - -/* ----------------------------------------------------------------------------- - * This section contains generic SWIG labels for method/variable - * declarations/attributes, and other compiler dependent labels. - * ----------------------------------------------------------------------------- */ - -/* template workaround for compilers that cannot correctly implement the C++ standard */ -#ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# elif defined(__HP_aCC) -/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ -/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -#endif - -/* inline attribute */ -#ifndef SWIGINLINE -# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) -# define SWIGINLINE inline -# else -# define SWIGINLINE -# endif -#endif - -/* attribute recognised by some compilers to avoid 'unused' warnings */ -#ifndef SWIGUNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -# elif defined(__ICC) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -#endif - -#ifndef SWIG_MSC_UNSUPPRESS_4505 -# if defined(_MSC_VER) -# pragma warning(disable : 4505) /* unreferenced local function has been removed */ -# endif -#endif - -#ifndef SWIGUNUSEDPARM -# ifdef __cplusplus -# define SWIGUNUSEDPARM(p) -# else -# define SWIGUNUSEDPARM(p) p SWIGUNUSED -# endif -#endif - -/* internal SWIG method */ -#ifndef SWIGINTERN -# define SWIGINTERN static SWIGUNUSED -#endif - -/* internal inline SWIG method */ -#ifndef SWIGINTERNINLINE -# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE -#endif - -/* exporting methods */ -#if defined(__GNUC__) -# if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -# ifndef GCC_HASCLASSVISIBILITY -# define GCC_HASCLASSVISIBILITY -# endif -# endif -#endif - -#ifndef SWIGEXPORT -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if defined(STATIC_LINKED) -# define SWIGEXPORT -# else -# define SWIGEXPORT __declspec(dllexport) -# endif -# else -# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) -# define SWIGEXPORT __attribute__ ((visibility("default"))) -# else -# define SWIGEXPORT -# endif -# endif -#endif - -/* calling conventions for Windows */ -#ifndef SWIGSTDCALL -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# define SWIGSTDCALL __stdcall -# else -# define SWIGSTDCALL -# endif -#endif - -/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ -#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) -# define _CRT_SECURE_NO_DEPRECATE -#endif - -/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ -#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) -# define _SCL_SECURE_NO_DEPRECATE -#endif - -/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */ -#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES) -# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0 -#endif - -/* Intel's compiler complains if a variable which was never initialised is - * cast to void, which is a common idiom which we use to indicate that we - * are aware a variable isn't used. So we just silence that warning. - * See: https://github.com/swig/swig/issues/192 for more discussion. - */ -#ifdef __INTEL_COMPILER -# pragma warning disable 592 -#endif - - -#if defined(_DEBUG) && defined(SWIG_PYTHON_INTERPRETER_NO_DEBUG) -/* Use debug wrappers with the Python release dll */ -# undef _DEBUG -# include -# define _DEBUG -#else -# include -#endif - -/* ----------------------------------------------------------------------------- - * swigrun.swg - * - * This file contains generic C API SWIG runtime support for pointer - * type checking. - * ----------------------------------------------------------------------------- */ - -/* This should only be incremented when either the layout of swig_type_info changes, - or for whatever reason, the runtime changes incompatibly */ -#define SWIG_RUNTIME_VERSION "4" - -/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ -#ifdef SWIG_TYPE_TABLE -# define SWIG_QUOTE_STRING(x) #x -# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) -# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) -#else -# define SWIG_TYPE_TABLE_NAME -#endif - -/* - You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for - creating a static or dynamic library from the SWIG runtime code. - In 99.9% of the cases, SWIG just needs to declare them as 'static'. - - But only do this if strictly necessary, ie, if you have problems - with your compiler or suchlike. -*/ - -#ifndef SWIGRUNTIME -# define SWIGRUNTIME SWIGINTERN -#endif - -#ifndef SWIGRUNTIMEINLINE -# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE -#endif - -/* Generic buffer size */ -#ifndef SWIG_BUFFER_SIZE -# define SWIG_BUFFER_SIZE 1024 -#endif - -/* Flags for pointer conversions */ -#define SWIG_POINTER_DISOWN 0x1 -#define SWIG_CAST_NEW_MEMORY 0x2 - -/* Flags for new pointer objects */ -#define SWIG_POINTER_OWN 0x1 - - -/* - Flags/methods for returning states. - - The SWIG conversion methods, as ConvertPtr, return an integer - that tells if the conversion was successful or not. And if not, - an error code can be returned (see swigerrors.swg for the codes). - - Use the following macros/flags to set or process the returning - states. - - In old versions of SWIG, code such as the following was usually written: - - if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { - // success code - } else { - //fail code - } - - Now you can be more explicit: - - int res = SWIG_ConvertPtr(obj,vptr,ty.flags); - if (SWIG_IsOK(res)) { - // success code - } else { - // fail code - } - - which is the same really, but now you can also do - - Type *ptr; - int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); - if (SWIG_IsOK(res)) { - // success code - if (SWIG_IsNewObj(res) { - ... - delete *ptr; - } else { - ... - } - } else { - // fail code - } - - I.e., now SWIG_ConvertPtr can return new objects and you can - identify the case and take care of the deallocation. Of course that - also requires SWIG_ConvertPtr to return new result values, such as - - int SWIG_ConvertPtr(obj, ptr,...) { - if () { - if () { - *ptr = ; - return SWIG_NEWOBJ; - } else { - *ptr = ; - return SWIG_OLDOBJ; - } - } else { - return SWIG_BADOBJ; - } - } - - Of course, returning the plain '0(success)/-1(fail)' still works, but you can be - more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the - SWIG errors code. - - Finally, if the SWIG_CASTRANK_MODE is enabled, the result code - allows to return the 'cast rank', for example, if you have this - - int food(double) - int fooi(int); - - and you call - - food(1) // cast rank '1' (1 -> 1.0) - fooi(1) // cast rank '0' - - just use the SWIG_AddCast()/SWIG_CheckState() -*/ - -#define SWIG_OK (0) -#define SWIG_ERROR (-1) -#define SWIG_IsOK(r) (r >= 0) -#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) - -/* The CastRankLimit says how many bits are used for the cast rank */ -#define SWIG_CASTRANKLIMIT (1 << 8) -/* The NewMask denotes the object was created (using new/malloc) */ -#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) -/* The TmpMask is for in/out typemaps that use temporal objects */ -#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) -/* Simple returning values */ -#define SWIG_BADOBJ (SWIG_ERROR) -#define SWIG_OLDOBJ (SWIG_OK) -#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) -#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) -/* Check, add and del mask methods */ -#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) -#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) -#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) -#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) -#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) -#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) - -/* Cast-Rank Mode */ -#if defined(SWIG_CASTRANK_MODE) -# ifndef SWIG_TypeRank -# define SWIG_TypeRank unsigned long -# endif -# ifndef SWIG_MAXCASTRANK /* Default cast allowed */ -# define SWIG_MAXCASTRANK (2) -# endif -# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) -# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) -SWIGINTERNINLINE int SWIG_AddCast(int r) { - return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; -} -SWIGINTERNINLINE int SWIG_CheckState(int r) { - return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; -} -#else /* no cast-rank mode */ -# define SWIG_AddCast(r) (r) -# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) -#endif - - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef void *(*swig_converter_func)(void *, int *); -typedef struct swig_type_info *(*swig_dycast_func)(void **); - -/* Structure to store information on one type */ -typedef struct swig_type_info { - const char *name; /* mangled name of this type */ - const char *str; /* human readable name of this type */ - swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ - struct swig_cast_info *cast; /* linked list of types that can cast into this type */ - void *clientdata; /* language specific type data */ - int owndata; /* flag if the structure owns the clientdata */ -} swig_type_info; - -/* Structure to store a type and conversion function used for casting */ -typedef struct swig_cast_info { - swig_type_info *type; /* pointer to type that is equivalent to this type */ - swig_converter_func converter; /* function to cast the void pointers */ - struct swig_cast_info *next; /* pointer to next cast in linked list */ - struct swig_cast_info *prev; /* pointer to the previous cast */ -} swig_cast_info; - -/* Structure used to store module information - * Each module generates one structure like this, and the runtime collects - * all of these structures and stores them in a circularly linked list.*/ -typedef struct swig_module_info { - swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ - size_t size; /* Number of types in this module */ - struct swig_module_info *next; /* Pointer to next element in circularly linked list */ - swig_type_info **type_initial; /* Array of initially generated type structures */ - swig_cast_info **cast_initial; /* Array of initially generated casting structures */ - void *clientdata; /* Language specific module data */ -} swig_module_info; - -/* - Compare two type names skipping the space characters, therefore - "char*" == "char *" and "Class" == "Class", etc. - - Return 0 when the two name types are equivalent, as in - strncmp, but skipping ' '. -*/ -SWIGRUNTIME int -SWIG_TypeNameComp(const char *f1, const char *l1, - const char *f2, const char *l2) { - for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { - while ((*f1 == ' ') && (f1 != l1)) ++f1; - while ((*f2 == ' ') && (f2 != l2)) ++f2; - if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; - } - return (int)((l1 - f1) - (l2 - f2)); -} - -/* - Check type equivalence in a name list like ||... - Return 0 if equal, -1 if nb < tb, 1 if nb > tb -*/ -SWIGRUNTIME int -SWIG_TypeCmp(const char *nb, const char *tb) { - int equiv = 1; - const char* te = tb + strlen(tb); - const char* ne = nb; - while (equiv != 0 && *ne) { - for (nb = ne; *ne; ++ne) { - if (*ne == '|') break; - } - equiv = SWIG_TypeNameComp(nb, ne, tb, te); - if (*ne) ++ne; - } - return equiv; -} - -/* - Check type equivalence in a name list like ||... - Return 0 if not equal, 1 if equal -*/ -SWIGRUNTIME int -SWIG_TypeEquiv(const char *nb, const char *tb) { - return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0; -} - -/* - Check the typename -*/ -SWIGRUNTIME swig_cast_info * -SWIG_TypeCheck(const char *c, swig_type_info *ty) { - if (ty) { - swig_cast_info *iter = ty->cast; - while (iter) { - if (strcmp(iter->type->name, c) == 0) { - if (iter == ty->cast) - return iter; - /* Move iter to the top of the linked list */ - iter->prev->next = iter->next; - if (iter->next) - iter->next->prev = iter->prev; - iter->next = ty->cast; - iter->prev = 0; - if (ty->cast) ty->cast->prev = iter; - ty->cast = iter; - return iter; - } - iter = iter->next; - } - } - return 0; -} - -/* - Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison -*/ -SWIGRUNTIME swig_cast_info * -SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) { - if (ty) { - swig_cast_info *iter = ty->cast; - while (iter) { - if (iter->type == from) { - if (iter == ty->cast) - return iter; - /* Move iter to the top of the linked list */ - iter->prev->next = iter->next; - if (iter->next) - iter->next->prev = iter->prev; - iter->next = ty->cast; - iter->prev = 0; - if (ty->cast) ty->cast->prev = iter; - ty->cast = iter; - return iter; - } - iter = iter->next; - } - } - return 0; -} - -/* - Cast a pointer up an inheritance hierarchy -*/ -SWIGRUNTIMEINLINE void * -SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) { - return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory); -} - -/* - Dynamic pointer casting. Down an inheritance hierarchy -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { - swig_type_info *lastty = ty; - if (!ty || !ty->dcast) return ty; - while (ty && (ty->dcast)) { - ty = (*ty->dcast)(ptr); - if (ty) lastty = ty; - } - return lastty; -} - -/* - Return the name associated with this type -*/ -SWIGRUNTIMEINLINE const char * -SWIG_TypeName(const swig_type_info *ty) { - return ty->name; -} - -/* - Return the pretty name associated with this type, - that is an unmangled type name in a form presentable to the user. -*/ -SWIGRUNTIME const char * -SWIG_TypePrettyName(const swig_type_info *type) { - /* The "str" field contains the equivalent pretty names of the - type, separated by vertical-bar characters. We choose - to print the last name, as it is often (?) the most - specific. */ - if (!type) return NULL; - if (type->str != NULL) { - const char *last_name = type->str; - const char *s; - for (s = type->str; *s; s++) - if (*s == '|') last_name = s+1; - return last_name; - } - else - return type->name; -} - -/* - Set the clientdata field for a type -*/ -SWIGRUNTIME void -SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { - swig_cast_info *cast = ti->cast; - /* if (ti->clientdata == clientdata) return; */ - ti->clientdata = clientdata; - - while (cast) { - if (!cast->converter) { - swig_type_info *tc = cast->type; - if (!tc->clientdata) { - SWIG_TypeClientData(tc, clientdata); - } - } - cast = cast->next; - } -} -SWIGRUNTIME void -SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { - SWIG_TypeClientData(ti, clientdata); - ti->owndata = 1; -} - -/* - Search for a swig_type_info structure only by mangled name - Search is a O(log #types) - - We start searching at module start, and finish searching when start == end. - Note: if start == end at the beginning of the function, we go all the way around - the circular list. -*/ -SWIGRUNTIME swig_type_info * -SWIG_MangledTypeQueryModule(swig_module_info *start, - swig_module_info *end, - const char *name) { - swig_module_info *iter = start; - do { - if (iter->size) { - size_t l = 0; - size_t r = iter->size - 1; - do { - /* since l+r >= 0, we can (>> 1) instead (/ 2) */ - size_t i = (l + r) >> 1; - const char *iname = iter->types[i]->name; - if (iname) { - int compare = strcmp(name, iname); - if (compare == 0) { - return iter->types[i]; - } else if (compare < 0) { - if (i) { - r = i - 1; - } else { - break; - } - } else if (compare > 0) { - l = i + 1; - } - } else { - break; /* should never happen */ - } - } while (l <= r); - } - iter = iter->next; - } while (iter != end); - return 0; -} - -/* - Search for a swig_type_info structure for either a mangled name or a human readable name. - It first searches the mangled names of the types, which is a O(log #types) - If a type is not found it then searches the human readable names, which is O(#types). - - We start searching at module start, and finish searching when start == end. - Note: if start == end at the beginning of the function, we go all the way around - the circular list. -*/ -SWIGRUNTIME swig_type_info * -SWIG_TypeQueryModule(swig_module_info *start, - swig_module_info *end, - const char *name) { - /* STEP 1: Search the name field using binary search */ - swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); - if (ret) { - return ret; - } else { - /* STEP 2: If the type hasn't been found, do a complete search - of the str field (the human readable name) */ - swig_module_info *iter = start; - do { - size_t i = 0; - for (; i < iter->size; ++i) { - if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) - return iter->types[i]; - } - iter = iter->next; - } while (iter != end); - } - - /* neither found a match */ - return 0; -} - -/* - Pack binary data into a string -*/ -SWIGRUNTIME char * -SWIG_PackData(char *c, void *ptr, size_t sz) { - static const char hex[17] = "0123456789abcdef"; - const unsigned char *u = (unsigned char *) ptr; - const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - unsigned char uu = *u; - *(c++) = hex[(uu & 0xf0) >> 4]; - *(c++) = hex[uu & 0xf]; - } - return c; -} - -/* - Unpack binary data from a string -*/ -SWIGRUNTIME const char * -SWIG_UnpackData(const char *c, void *ptr, size_t sz) { - unsigned char *u = (unsigned char *) ptr; - const unsigned char *eu = u + sz; - for (; u != eu; ++u) { - char d = *(c++); - unsigned char uu; - if ((d >= '0') && (d <= '9')) - uu = (unsigned char)((d - '0') << 4); - else if ((d >= 'a') && (d <= 'f')) - uu = (unsigned char)((d - ('a'-10)) << 4); - else - return (char *) 0; - d = *(c++); - if ((d >= '0') && (d <= '9')) - uu |= (unsigned char)(d - '0'); - else if ((d >= 'a') && (d <= 'f')) - uu |= (unsigned char)(d - ('a'-10)); - else - return (char *) 0; - *u = uu; - } - return c; -} - -/* - Pack 'void *' into a string buffer. -*/ -SWIGRUNTIME char * -SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { - char *r = buff; - if ((2*sizeof(void *) + 2) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,&ptr,sizeof(void *)); - if (strlen(name) + 1 > (bsz - (r - buff))) return 0; - strcpy(r,name); - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - *ptr = (void *) 0; - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sizeof(void *)); -} - -SWIGRUNTIME char * -SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { - char *r = buff; - size_t lname = (name ? strlen(name) : 0); - if ((2*sz + 2 + lname) > bsz) return 0; - *(r++) = '_'; - r = SWIG_PackData(r,ptr,sz); - if (lname) { - strncpy(r,name,lname+1); - } else { - *r = 0; - } - return buff; -} - -SWIGRUNTIME const char * -SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { - if (*c != '_') { - if (strcmp(c,"NULL") == 0) { - memset(ptr,0,sz); - return name; - } else { - return 0; - } - } - return SWIG_UnpackData(++c,ptr,sz); -} - -#ifdef __cplusplus -} -#endif - -/* Errors in SWIG */ -#define SWIG_UnknownError -1 -#define SWIG_IOError -2 -#define SWIG_RuntimeError -3 -#define SWIG_IndexError -4 -#define SWIG_TypeError -5 -#define SWIG_DivisionByZero -6 -#define SWIG_OverflowError -7 -#define SWIG_SyntaxError -8 -#define SWIG_ValueError -9 -#define SWIG_SystemError -10 -#define SWIG_AttributeError -11 -#define SWIG_MemoryError -12 -#define SWIG_NullReferenceError -13 - - - -/* Compatibility macros for Python 3 */ -#if PY_VERSION_HEX >= 0x03000000 - -#define PyClass_Check(obj) PyObject_IsInstance(obj, (PyObject *)&PyType_Type) -#define PyInt_Check(x) PyLong_Check(x) -#define PyInt_AsLong(x) PyLong_AsLong(x) -#define PyInt_FromLong(x) PyLong_FromLong(x) -#define PyInt_FromSize_t(x) PyLong_FromSize_t(x) -#define PyString_Check(name) PyBytes_Check(name) -#define PyString_FromString(x) PyUnicode_FromString(x) -#define PyString_FromStringAndSize(x, y) PyBytes_FromStringAndSize(x, y) -#define PyString_Format(fmt, args) PyUnicode_Format(fmt, args) -#define PyString_AsString(str) PyBytes_AsString(str) -#define PyString_Size(str) PyBytes_Size(str) -#define PyString_InternFromString(key) PyUnicode_InternFromString(key) -#define Py_TPFLAGS_HAVE_CLASS Py_TPFLAGS_BASETYPE -#define PyString_AS_STRING(x) PyUnicode_AS_STRING(x) -#define _PyLong_FromSsize_t(x) PyLong_FromSsize_t(x) - -#endif - -#ifndef Py_TYPE -# define Py_TYPE(op) ((op)->ob_type) -#endif - -/* SWIG APIs for compatibility of both Python 2 & 3 */ - -#if PY_VERSION_HEX >= 0x03000000 -# define SWIG_Python_str_FromFormat PyUnicode_FromFormat -#else -# define SWIG_Python_str_FromFormat PyString_FromFormat -#endif - - -/* Warning: This function will allocate a new string in Python 3, - * so please call SWIG_Python_str_DelForPy3(x) to free the space. - */ -SWIGINTERN char* -SWIG_Python_str_AsChar(PyObject *str) -{ -#if PY_VERSION_HEX >= 0x03000000 - char *cstr; - char *newstr; - Py_ssize_t len; - str = PyUnicode_AsUTF8String(str); - PyBytes_AsStringAndSize(str, &cstr, &len); - newstr = (char *) malloc(len+1); - memcpy(newstr, cstr, len+1); - Py_XDECREF(str); - return newstr; -#else - return PyString_AsString(str); -#endif -} - -#if PY_VERSION_HEX >= 0x03000000 -# define SWIG_Python_str_DelForPy3(x) free( (void*) (x) ) -#else -# define SWIG_Python_str_DelForPy3(x) -#endif - - -SWIGINTERN PyObject* -SWIG_Python_str_FromChar(const char *c) -{ -#if PY_VERSION_HEX >= 0x03000000 - return PyUnicode_FromString(c); -#else - return PyString_FromString(c); -#endif -} - -/* Add PyOS_snprintf for old Pythons */ -#if PY_VERSION_HEX < 0x02020000 -# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM) -# define PyOS_snprintf _snprintf -# else -# define PyOS_snprintf snprintf -# endif -#endif - -/* A crude PyString_FromFormat implementation for old Pythons */ -#if PY_VERSION_HEX < 0x02020000 - -#ifndef SWIG_PYBUFFER_SIZE -# define SWIG_PYBUFFER_SIZE 1024 -#endif - -static PyObject * -PyString_FromFormat(const char *fmt, ...) { - va_list ap; - char buf[SWIG_PYBUFFER_SIZE * 2]; - int res; - va_start(ap, fmt); - res = vsnprintf(buf, sizeof(buf), fmt, ap); - va_end(ap); - return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf); -} -#endif - -#ifndef PyObject_DEL -# define PyObject_DEL PyObject_Del -#endif - -/* A crude PyExc_StopIteration exception for old Pythons */ -#if PY_VERSION_HEX < 0x02020000 -# ifndef PyExc_StopIteration -# define PyExc_StopIteration PyExc_RuntimeError -# endif -# ifndef PyObject_GenericGetAttr -# define PyObject_GenericGetAttr 0 -# endif -#endif - -/* Py_NotImplemented is defined in 2.1 and up. */ -#if PY_VERSION_HEX < 0x02010000 -# ifndef Py_NotImplemented -# define Py_NotImplemented PyExc_RuntimeError -# endif -#endif - -/* A crude PyString_AsStringAndSize implementation for old Pythons */ -#if PY_VERSION_HEX < 0x02010000 -# ifndef PyString_AsStringAndSize -# define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;} -# endif -#endif - -/* PySequence_Size for old Pythons */ -#if PY_VERSION_HEX < 0x02000000 -# ifndef PySequence_Size -# define PySequence_Size PySequence_Length -# endif -#endif - -/* PyBool_FromLong for old Pythons */ -#if PY_VERSION_HEX < 0x02030000 -static -PyObject *PyBool_FromLong(long ok) -{ - PyObject *result = ok ? Py_True : Py_False; - Py_INCREF(result); - return result; -} -#endif - -/* Py_ssize_t for old Pythons */ -/* This code is as recommended by: */ -/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */ -#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN) -typedef int Py_ssize_t; -# define PY_SSIZE_T_MAX INT_MAX -# define PY_SSIZE_T_MIN INT_MIN -typedef inquiry lenfunc; -typedef intargfunc ssizeargfunc; -typedef intintargfunc ssizessizeargfunc; -typedef intobjargproc ssizeobjargproc; -typedef intintobjargproc ssizessizeobjargproc; -typedef getreadbufferproc readbufferproc; -typedef getwritebufferproc writebufferproc; -typedef getsegcountproc segcountproc; -typedef getcharbufferproc charbufferproc; -static long PyNumber_AsSsize_t (PyObject *x, void *SWIGUNUSEDPARM(exc)) -{ - long result = 0; - PyObject *i = PyNumber_Int(x); - if (i) { - result = PyInt_AsLong(i); - Py_DECREF(i); - } - return result; -} -#endif - -#if PY_VERSION_HEX < 0x02050000 -#define PyInt_FromSize_t(x) PyInt_FromLong((long)x) -#endif - -#if PY_VERSION_HEX < 0x02040000 -#define Py_VISIT(op) \ - do { \ - if (op) { \ - int vret = visit((op), arg); \ - if (vret) \ - return vret; \ - } \ - } while (0) -#endif - -#if PY_VERSION_HEX < 0x02030000 -typedef struct { - PyTypeObject type; - PyNumberMethods as_number; - PyMappingMethods as_mapping; - PySequenceMethods as_sequence; - PyBufferProcs as_buffer; - PyObject *name, *slots; -} PyHeapTypeObject; -#endif - -#if PY_VERSION_HEX < 0x02030000 -typedef destructor freefunc; -#endif - -#if ((PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 6) || \ - (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION > 0) || \ - (PY_MAJOR_VERSION > 3)) -# define SWIGPY_USE_CAPSULE -# define SWIGPY_CAPSULE_NAME ((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION ".type_pointer_capsule" SWIG_TYPE_TABLE_NAME) -#endif - -#if PY_VERSION_HEX < 0x03020000 -#define PyDescr_TYPE(x) (((PyDescrObject *)(x))->d_type) -#define PyDescr_NAME(x) (((PyDescrObject *)(x))->d_name) -#define Py_hash_t long -#endif - -/* ----------------------------------------------------------------------------- - * error manipulation - * ----------------------------------------------------------------------------- */ - -SWIGRUNTIME PyObject* -SWIG_Python_ErrorType(int code) { - PyObject* type = 0; - switch(code) { - case SWIG_MemoryError: - type = PyExc_MemoryError; - break; - case SWIG_IOError: - type = PyExc_IOError; - break; - case SWIG_RuntimeError: - type = PyExc_RuntimeError; - break; - case SWIG_IndexError: - type = PyExc_IndexError; - break; - case SWIG_TypeError: - type = PyExc_TypeError; - break; - case SWIG_DivisionByZero: - type = PyExc_ZeroDivisionError; - break; - case SWIG_OverflowError: - type = PyExc_OverflowError; - break; - case SWIG_SyntaxError: - type = PyExc_SyntaxError; - break; - case SWIG_ValueError: - type = PyExc_ValueError; - break; - case SWIG_SystemError: - type = PyExc_SystemError; - break; - case SWIG_AttributeError: - type = PyExc_AttributeError; - break; - default: - type = PyExc_RuntimeError; - } - return type; -} - - -SWIGRUNTIME void -SWIG_Python_AddErrorMsg(const char* mesg) -{ - PyObject *type = 0; - PyObject *value = 0; - PyObject *traceback = 0; - - if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback); - if (value) { - char *tmp; - PyObject *old_str = PyObject_Str(value); - PyErr_Clear(); - Py_XINCREF(type); - - PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg); - SWIG_Python_str_DelForPy3(tmp); - Py_DECREF(old_str); - Py_DECREF(value); - } else { - PyErr_SetString(PyExc_RuntimeError, mesg); - } -} - -#if defined(SWIG_PYTHON_NO_THREADS) -# if defined(SWIG_PYTHON_THREADS) -# undef SWIG_PYTHON_THREADS -# endif -#endif -#if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */ -# if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL) -# if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */ -# define SWIG_PYTHON_USE_GIL -# endif -# endif -# if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */ -# ifndef SWIG_PYTHON_INITIALIZE_THREADS -# define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads() -# endif -# ifdef __cplusplus /* C++ code */ - class SWIG_Python_Thread_Block { - bool status; - PyGILState_STATE state; - public: - void end() { if (status) { PyGILState_Release(state); status = false;} } - SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {} - ~SWIG_Python_Thread_Block() { end(); } - }; - class SWIG_Python_Thread_Allow { - bool status; - PyThreadState *save; - public: - void end() { if (status) { PyEval_RestoreThread(save); status = false; }} - SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {} - ~SWIG_Python_Thread_Allow() { end(); } - }; -# define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block -# define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end() -# define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow -# define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end() -# else /* C code */ -# define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure() -# define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block) -# define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread() -# define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow) -# endif -# else /* Old thread way, not implemented, user must provide it */ -# if !defined(SWIG_PYTHON_INITIALIZE_THREADS) -# define SWIG_PYTHON_INITIALIZE_THREADS -# endif -# if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK) -# define SWIG_PYTHON_THREAD_BEGIN_BLOCK -# endif -# if !defined(SWIG_PYTHON_THREAD_END_BLOCK) -# define SWIG_PYTHON_THREAD_END_BLOCK -# endif -# if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW) -# define SWIG_PYTHON_THREAD_BEGIN_ALLOW -# endif -# if !defined(SWIG_PYTHON_THREAD_END_ALLOW) -# define SWIG_PYTHON_THREAD_END_ALLOW -# endif -# endif -#else /* No thread support */ -# define SWIG_PYTHON_INITIALIZE_THREADS -# define SWIG_PYTHON_THREAD_BEGIN_BLOCK -# define SWIG_PYTHON_THREAD_END_BLOCK -# define SWIG_PYTHON_THREAD_BEGIN_ALLOW -# define SWIG_PYTHON_THREAD_END_ALLOW -#endif - -/* ----------------------------------------------------------------------------- - * Python API portion that goes into the runtime - * ----------------------------------------------------------------------------- */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* ----------------------------------------------------------------------------- - * Constant declarations - * ----------------------------------------------------------------------------- */ - -/* Constant Types */ -#define SWIG_PY_POINTER 4 -#define SWIG_PY_BINARY 5 - -/* Constant information structure */ -typedef struct swig_const_info { - int type; - char *name; - long lvalue; - double dvalue; - void *pvalue; - swig_type_info **ptype; -} swig_const_info; - - -/* ----------------------------------------------------------------------------- - * Wrapper of PyInstanceMethod_New() used in Python 3 - * It is exported to the generated module, used for -fastproxy - * ----------------------------------------------------------------------------- */ -#if PY_VERSION_HEX >= 0x03000000 -SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func) -{ - return PyInstanceMethod_New(func); -} -#else -SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *SWIGUNUSEDPARM(func)) -{ - return NULL; -} -#endif - -#ifdef __cplusplus -} -#endif - - -/* ----------------------------------------------------------------------------- - * pyrun.swg - * - * This file contains the runtime support for Python modules - * and includes code for managing global variables and pointer - * type checking. - * - * ----------------------------------------------------------------------------- */ - -/* Common SWIG API */ - -/* for raw pointers */ -#define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0) -#define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags) -#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own) - -#ifdef SWIGPYTHON_BUILTIN -#define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(self, ptr, type, flags) -#else -#define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags) -#endif - -#define SWIG_InternalNewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(NULL, ptr, type, flags) - -#define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty) -#define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src) -#define swig_owntype int - -/* for raw packed data */ -#define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty) -#define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) - -/* for class or struct pointers */ -#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) -#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) - -/* for C or C++ function pointers */ -#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type) -#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(NULL, ptr, type, 0) - -/* for C++ member pointers, ie, member methods */ -#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty) -#define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) - - -/* Runtime API */ - -#define SWIG_GetModule(clientdata) SWIG_Python_GetModule(clientdata) -#define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer) -#define SWIG_NewClientData(obj) SwigPyClientData_New(obj) - -#define SWIG_SetErrorObj SWIG_Python_SetErrorObj -#define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg -#define SWIG_ErrorType(code) SWIG_Python_ErrorType(code) -#define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg) -#define SWIG_fail goto fail - - -/* Runtime API implementation */ - -/* Error manipulation */ - -SWIGINTERN void -SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) { - SWIG_PYTHON_THREAD_BEGIN_BLOCK; - PyErr_SetObject(errtype, obj); - Py_DECREF(obj); - SWIG_PYTHON_THREAD_END_BLOCK; -} - -SWIGINTERN void -SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) { - SWIG_PYTHON_THREAD_BEGIN_BLOCK; - PyErr_SetString(errtype, msg); - SWIG_PYTHON_THREAD_END_BLOCK; -} - -#define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj) - -/* Set a constant value */ - -#if defined(SWIGPYTHON_BUILTIN) - -SWIGINTERN void -SwigPyBuiltin_AddPublicSymbol(PyObject *seq, const char *key) { - PyObject *s = PyString_InternFromString(key); - PyList_Append(seq, s); - Py_DECREF(s); -} - -SWIGINTERN void -SWIG_Python_SetConstant(PyObject *d, PyObject *public_interface, const char *name, PyObject *obj) { -#if PY_VERSION_HEX < 0x02030000 - PyDict_SetItemString(d, (char *)name, obj); -#else - PyDict_SetItemString(d, name, obj); -#endif - Py_DECREF(obj); - if (public_interface) - SwigPyBuiltin_AddPublicSymbol(public_interface, name); -} - -#else - -SWIGINTERN void -SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) { -#if PY_VERSION_HEX < 0x02030000 - PyDict_SetItemString(d, (char *)name, obj); -#else - PyDict_SetItemString(d, name, obj); -#endif - Py_DECREF(obj); -} - -#endif - -/* Append a value to the result obj */ - -SWIGINTERN PyObject* -SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) { -#if !defined(SWIG_PYTHON_OUTPUT_TUPLE) - if (!result) { - result = obj; - } else if (result == Py_None) { - Py_DECREF(result); - result = obj; - } else { - if (!PyList_Check(result)) { - PyObject *o2 = result; - result = PyList_New(1); - PyList_SetItem(result, 0, o2); - } - PyList_Append(result,obj); - Py_DECREF(obj); - } - return result; -#else - PyObject* o2; - PyObject* o3; - if (!result) { - result = obj; - } else if (result == Py_None) { - Py_DECREF(result); - result = obj; - } else { - if (!PyTuple_Check(result)) { - o2 = result; - result = PyTuple_New(1); - PyTuple_SET_ITEM(result, 0, o2); - } - o3 = PyTuple_New(1); - PyTuple_SET_ITEM(o3, 0, obj); - o2 = result; - result = PySequence_Concat(o2, o3); - Py_DECREF(o2); - Py_DECREF(o3); - } - return result; -#endif -} - -/* Unpack the argument tuple */ - -SWIGINTERN Py_ssize_t -SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs) -{ - if (!args) { - if (!min && !max) { - return 1; - } else { - PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", - name, (min == max ? "" : "at least "), (int)min); - return 0; - } - } - if (!PyTuple_Check(args)) { - if (min <= 1 && max >= 1) { - Py_ssize_t i; - objs[0] = args; - for (i = 1; i < max; ++i) { - objs[i] = 0; - } - return 2; - } - PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple"); - return 0; - } else { - Py_ssize_t l = PyTuple_GET_SIZE(args); - if (l < min) { - PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", - name, (min == max ? "" : "at least "), (int)min, (int)l); - return 0; - } else if (l > max) { - PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", - name, (min == max ? "" : "at most "), (int)max, (int)l); - return 0; - } else { - Py_ssize_t i; - for (i = 0; i < l; ++i) { - objs[i] = PyTuple_GET_ITEM(args, i); - } - for (; l < max; ++l) { - objs[l] = 0; - } - return i + 1; - } - } -} - -/* A functor is a function object with one single object argument */ -#if PY_VERSION_HEX >= 0x02020000 -#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL); -#else -#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunction(functor, "O", obj); -#endif - -/* - Helper for static pointer initialization for both C and C++ code, for example - static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...); -*/ -#ifdef __cplusplus -#define SWIG_STATIC_POINTER(var) var -#else -#define SWIG_STATIC_POINTER(var) var = 0; if (!var) var -#endif - -/* ----------------------------------------------------------------------------- - * Pointer declarations - * ----------------------------------------------------------------------------- */ - -/* Flags for new pointer objects */ -#define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1) -#define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN) - -#define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1) - -#define SWIG_BUILTIN_TP_INIT (SWIG_POINTER_OWN << 2) -#define SWIG_BUILTIN_INIT (SWIG_BUILTIN_TP_INIT | SWIG_POINTER_OWN) - -#ifdef __cplusplus -extern "C" { -#endif - -/* How to access Py_None */ -#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# ifndef SWIG_PYTHON_NO_BUILD_NONE -# ifndef SWIG_PYTHON_BUILD_NONE -# define SWIG_PYTHON_BUILD_NONE -# endif -# endif -#endif - -#ifdef SWIG_PYTHON_BUILD_NONE -# ifdef Py_None -# undef Py_None -# define Py_None SWIG_Py_None() -# endif -SWIGRUNTIMEINLINE PyObject * -_SWIG_Py_None(void) -{ - PyObject *none = Py_BuildValue((char*)""); - Py_DECREF(none); - return none; -} -SWIGRUNTIME PyObject * -SWIG_Py_None(void) -{ - static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None(); - return none; -} -#endif - -/* The python void return value */ - -SWIGRUNTIMEINLINE PyObject * -SWIG_Py_Void(void) -{ - PyObject *none = Py_None; - Py_INCREF(none); - return none; -} - -/* SwigPyClientData */ - -typedef struct { - PyObject *klass; - PyObject *newraw; - PyObject *newargs; - PyObject *destroy; - int delargs; - int implicitconv; - PyTypeObject *pytype; -} SwigPyClientData; - -SWIGRUNTIMEINLINE int -SWIG_Python_CheckImplicit(swig_type_info *ty) -{ - SwigPyClientData *data = (SwigPyClientData *)ty->clientdata; - return data ? data->implicitconv : 0; -} - -SWIGRUNTIMEINLINE PyObject * -SWIG_Python_ExceptionType(swig_type_info *desc) { - SwigPyClientData *data = desc ? (SwigPyClientData *) desc->clientdata : 0; - PyObject *klass = data ? data->klass : 0; - return (klass ? klass : PyExc_RuntimeError); -} - - -SWIGRUNTIME SwigPyClientData * -SwigPyClientData_New(PyObject* obj) -{ - if (!obj) { - return 0; - } else { - SwigPyClientData *data = (SwigPyClientData *)malloc(sizeof(SwigPyClientData)); - /* the klass element */ - data->klass = obj; - Py_INCREF(data->klass); - /* the newraw method and newargs arguments used to create a new raw instance */ - if (PyClass_Check(obj)) { - data->newraw = 0; - data->newargs = obj; - Py_INCREF(obj); - } else { -#if (PY_VERSION_HEX < 0x02020000) - data->newraw = 0; -#else - data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__"); -#endif - if (data->newraw) { - Py_INCREF(data->newraw); - data->newargs = PyTuple_New(1); - PyTuple_SetItem(data->newargs, 0, obj); - } else { - data->newargs = obj; - } - Py_INCREF(data->newargs); - } - /* the destroy method, aka as the C++ delete method */ - data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__"); - if (PyErr_Occurred()) { - PyErr_Clear(); - data->destroy = 0; - } - if (data->destroy) { - int flags; - Py_INCREF(data->destroy); - flags = PyCFunction_GET_FLAGS(data->destroy); -#ifdef METH_O - data->delargs = !(flags & (METH_O)); -#else - data->delargs = 0; -#endif - } else { - data->delargs = 0; - } - data->implicitconv = 0; - data->pytype = 0; - return data; - } -} - -SWIGRUNTIME void -SwigPyClientData_Del(SwigPyClientData *data) { - Py_XDECREF(data->newraw); - Py_XDECREF(data->newargs); - Py_XDECREF(data->destroy); -} - -/* =============== SwigPyObject =====================*/ - -typedef struct { - PyObject_HEAD - void *ptr; - swig_type_info *ty; - int own; - PyObject *next; -#ifdef SWIGPYTHON_BUILTIN - PyObject *dict; -#endif -} SwigPyObject; - - -#ifdef SWIGPYTHON_BUILTIN - -SWIGRUNTIME PyObject * -SwigPyObject_get___dict__(PyObject *v, PyObject *SWIGUNUSEDPARM(args)) -{ - SwigPyObject *sobj = (SwigPyObject *)v; - - if (!sobj->dict) - sobj->dict = PyDict_New(); - - Py_INCREF(sobj->dict); - return sobj->dict; -} - -#endif - -SWIGRUNTIME PyObject * -SwigPyObject_long(SwigPyObject *v) -{ - return PyLong_FromVoidPtr(v->ptr); -} - -SWIGRUNTIME PyObject * -SwigPyObject_format(const char* fmt, SwigPyObject *v) -{ - PyObject *res = NULL; - PyObject *args = PyTuple_New(1); - if (args) { - if (PyTuple_SetItem(args, 0, SwigPyObject_long(v)) == 0) { - PyObject *ofmt = SWIG_Python_str_FromChar(fmt); - if (ofmt) { -#if PY_VERSION_HEX >= 0x03000000 - res = PyUnicode_Format(ofmt,args); -#else - res = PyString_Format(ofmt,args); -#endif - Py_DECREF(ofmt); - } - Py_DECREF(args); - } - } - return res; -} - -SWIGRUNTIME PyObject * -SwigPyObject_oct(SwigPyObject *v) -{ - return SwigPyObject_format("%o",v); -} - -SWIGRUNTIME PyObject * -SwigPyObject_hex(SwigPyObject *v) -{ - return SwigPyObject_format("%x",v); -} - -SWIGRUNTIME PyObject * -#ifdef METH_NOARGS -SwigPyObject_repr(SwigPyObject *v) -#else -SwigPyObject_repr(SwigPyObject *v, PyObject *args) -#endif -{ - const char *name = SWIG_TypePrettyName(v->ty); - PyObject *repr = SWIG_Python_str_FromFormat("", (name ? name : "unknown"), (void *)v); - if (v->next) { -# ifdef METH_NOARGS - PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next); -# else - PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next, args); -# endif -# if PY_VERSION_HEX >= 0x03000000 - PyObject *joined = PyUnicode_Concat(repr, nrep); - Py_DecRef(repr); - Py_DecRef(nrep); - repr = joined; -# else - PyString_ConcatAndDel(&repr,nrep); -# endif - } - return repr; -} - -/* We need a version taking two PyObject* parameters so it's a valid - * PyCFunction to use in swigobject_methods[]. */ -SWIGRUNTIME PyObject * -SwigPyObject_repr2(PyObject *v, PyObject *SWIGUNUSEDPARM(args)) -{ - return SwigPyObject_repr((SwigPyObject*)v); -} - -SWIGRUNTIME int -SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w) -{ - void *i = v->ptr; - void *j = w->ptr; - return (i < j) ? -1 : ((i > j) ? 1 : 0); -} - -/* Added for Python 3.x, would it also be useful for Python 2.x? */ -SWIGRUNTIME PyObject* -SwigPyObject_richcompare(SwigPyObject *v, SwigPyObject *w, int op) -{ - PyObject* res; - if( op != Py_EQ && op != Py_NE ) { - Py_INCREF(Py_NotImplemented); - return Py_NotImplemented; - } - res = PyBool_FromLong( (SwigPyObject_compare(v, w)==0) == (op == Py_EQ) ? 1 : 0); - return res; -} - - -SWIGRUNTIME PyTypeObject* SwigPyObject_TypeOnce(void); - -#ifdef SWIGPYTHON_BUILTIN -static swig_type_info *SwigPyObject_stype = 0; -SWIGRUNTIME PyTypeObject* -SwigPyObject_type(void) { - SwigPyClientData *cd; - assert(SwigPyObject_stype); - cd = (SwigPyClientData*) SwigPyObject_stype->clientdata; - assert(cd); - assert(cd->pytype); - return cd->pytype; -} -#else -SWIGRUNTIME PyTypeObject* -SwigPyObject_type(void) { - static PyTypeObject *SWIG_STATIC_POINTER(type) = SwigPyObject_TypeOnce(); - return type; -} -#endif - -SWIGRUNTIMEINLINE int -SwigPyObject_Check(PyObject *op) { -#ifdef SWIGPYTHON_BUILTIN - PyTypeObject *target_tp = SwigPyObject_type(); - if (PyType_IsSubtype(op->ob_type, target_tp)) - return 1; - return (strcmp(op->ob_type->tp_name, "SwigPyObject") == 0); -#else - return (Py_TYPE(op) == SwigPyObject_type()) - || (strcmp(Py_TYPE(op)->tp_name,"SwigPyObject") == 0); -#endif -} - -SWIGRUNTIME PyObject * -SwigPyObject_New(void *ptr, swig_type_info *ty, int own); - -SWIGRUNTIME void -SwigPyObject_dealloc(PyObject *v) -{ - SwigPyObject *sobj = (SwigPyObject *) v; - PyObject *next = sobj->next; - if (sobj->own == SWIG_POINTER_OWN) { - swig_type_info *ty = sobj->ty; - SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0; - PyObject *destroy = data ? data->destroy : 0; - if (destroy) { - /* destroy is always a VARARGS method */ - PyObject *res; - - /* PyObject_CallFunction() has the potential to silently drop - the active active exception. In cases of unnamed temporary - variable or where we just finished iterating over a generator - StopIteration will be active right now, and this needs to - remain true upon return from SwigPyObject_dealloc. So save - and restore. */ - - PyObject *val = NULL, *type = NULL, *tb = NULL; - PyErr_Fetch(&val, &type, &tb); - - if (data->delargs) { - /* we need to create a temporary object to carry the destroy operation */ - PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0); - res = SWIG_Python_CallFunctor(destroy, tmp); - Py_DECREF(tmp); - } else { - PyCFunction meth = PyCFunction_GET_FUNCTION(destroy); - PyObject *mself = PyCFunction_GET_SELF(destroy); - res = ((*meth)(mself, v)); - } - if (!res) - PyErr_WriteUnraisable(destroy); - - PyErr_Restore(val, type, tb); - - Py_XDECREF(res); - } -#if !defined(SWIG_PYTHON_SILENT_MEMLEAK) - else { - const char *name = SWIG_TypePrettyName(ty); - printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown")); - } -#endif - } - Py_XDECREF(next); - PyObject_DEL(v); -} - -SWIGRUNTIME PyObject* -SwigPyObject_append(PyObject* v, PyObject* next) -{ - SwigPyObject *sobj = (SwigPyObject *) v; -#ifndef METH_O - PyObject *tmp = 0; - if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL; - next = tmp; -#endif - if (!SwigPyObject_Check(next)) { - PyErr_SetString(PyExc_TypeError, "Attempt to append a non SwigPyObject"); - return NULL; - } - sobj->next = next; - Py_INCREF(next); - return SWIG_Py_Void(); -} - -SWIGRUNTIME PyObject* -SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) -{ - SwigPyObject *sobj = (SwigPyObject *) v; - if (sobj->next) { - Py_INCREF(sobj->next); - return sobj->next; - } else { - return SWIG_Py_Void(); - } -} - -SWIGINTERN PyObject* -#ifdef METH_NOARGS -SwigPyObject_disown(PyObject *v) -#else -SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) -#endif -{ - SwigPyObject *sobj = (SwigPyObject *)v; - sobj->own = 0; - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject* -#ifdef METH_NOARGS -SwigPyObject_acquire(PyObject *v) -#else -SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) -#endif -{ - SwigPyObject *sobj = (SwigPyObject *)v; - sobj->own = SWIG_POINTER_OWN; - return SWIG_Py_Void(); -} - -#ifdef METH_NOARGS -static PyObject* -SwigPyObject_disown2(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) -{ - return SwigPyObject_disown(v); -} - -static PyObject* -SwigPyObject_acquire2(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) -{ - return SwigPyObject_acquire(v); -} -#endif - -SWIGINTERN PyObject* -SwigPyObject_own(PyObject *v, PyObject *args) -{ - PyObject *val = 0; -#if (PY_VERSION_HEX < 0x02020000) - if (!PyArg_ParseTuple(args,(char *)"|O:own",&val)) -#elif (PY_VERSION_HEX < 0x02050000) - if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val)) -#else - if (!PyArg_UnpackTuple(args, "own", 0, 1, &val)) -#endif - { - return NULL; - } - else - { - SwigPyObject *sobj = (SwigPyObject *)v; - PyObject *obj = PyBool_FromLong(sobj->own); - if (val) { -#ifdef METH_NOARGS - if (PyObject_IsTrue(val)) { - SwigPyObject_acquire(v); - } else { - SwigPyObject_disown(v); - } -#else - if (PyObject_IsTrue(val)) { - SwigPyObject_acquire(v,args); - } else { - SwigPyObject_disown(v,args); - } -#endif - } - return obj; - } -} - -#ifdef METH_O -static PyMethodDef -swigobject_methods[] = { - {(char *)"disown", (PyCFunction)SwigPyObject_disown2, METH_NOARGS, (char *)"releases ownership of the pointer"}, - {(char *)"acquire", (PyCFunction)SwigPyObject_acquire2,METH_NOARGS, (char *)"acquires ownership of the pointer"}, - {(char *)"own", (PyCFunction)SwigPyObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, - {(char *)"append", (PyCFunction)SwigPyObject_append, METH_O, (char *)"appends another 'this' object"}, - {(char *)"next", (PyCFunction)SwigPyObject_next, METH_NOARGS, (char *)"returns the next 'this' object"}, - {(char *)"__repr__",(PyCFunction)SwigPyObject_repr2, METH_NOARGS, (char *)"returns object representation"}, - {0, 0, 0, 0} -}; -#else -static PyMethodDef -swigobject_methods[] = { - {(char *)"disown", (PyCFunction)SwigPyObject_disown, METH_VARARGS, (char *)"releases ownership of the pointer"}, - {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_VARARGS, (char *)"acquires ownership of the pointer"}, - {(char *)"own", (PyCFunction)SwigPyObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, - {(char *)"append", (PyCFunction)SwigPyObject_append, METH_VARARGS, (char *)"appends another 'this' object"}, - {(char *)"next", (PyCFunction)SwigPyObject_next, METH_VARARGS, (char *)"returns the next 'this' object"}, - {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_VARARGS, (char *)"returns object representation"}, - {0, 0, 0, 0} -}; -#endif - -#if PY_VERSION_HEX < 0x02020000 -SWIGINTERN PyObject * -SwigPyObject_getattr(SwigPyObject *sobj,char *name) -{ - return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name); -} -#endif - -SWIGRUNTIME PyTypeObject* -SwigPyObject_TypeOnce(void) { - static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer"; - - static PyNumberMethods SwigPyObject_as_number = { - (binaryfunc)0, /*nb_add*/ - (binaryfunc)0, /*nb_subtract*/ - (binaryfunc)0, /*nb_multiply*/ - /* nb_divide removed in Python 3 */ -#if PY_VERSION_HEX < 0x03000000 - (binaryfunc)0, /*nb_divide*/ -#endif - (binaryfunc)0, /*nb_remainder*/ - (binaryfunc)0, /*nb_divmod*/ - (ternaryfunc)0,/*nb_power*/ - (unaryfunc)0, /*nb_negative*/ - (unaryfunc)0, /*nb_positive*/ - (unaryfunc)0, /*nb_absolute*/ - (inquiry)0, /*nb_nonzero*/ - 0, /*nb_invert*/ - 0, /*nb_lshift*/ - 0, /*nb_rshift*/ - 0, /*nb_and*/ - 0, /*nb_xor*/ - 0, /*nb_or*/ -#if PY_VERSION_HEX < 0x03000000 - 0, /*nb_coerce*/ -#endif - (unaryfunc)SwigPyObject_long, /*nb_int*/ -#if PY_VERSION_HEX < 0x03000000 - (unaryfunc)SwigPyObject_long, /*nb_long*/ -#else - 0, /*nb_reserved*/ -#endif - (unaryfunc)0, /*nb_float*/ -#if PY_VERSION_HEX < 0x03000000 - (unaryfunc)SwigPyObject_oct, /*nb_oct*/ - (unaryfunc)SwigPyObject_hex, /*nb_hex*/ -#endif -#if PY_VERSION_HEX >= 0x03050000 /* 3.5 */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_matrix_multiply */ -#elif PY_VERSION_HEX >= 0x03000000 /* 3.0 */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */ -#elif PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */ -#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ -#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */ - 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */ -#endif - }; - - static PyTypeObject swigpyobject_type; - static int type_init = 0; - if (!type_init) { - const PyTypeObject tmp = { -#if PY_VERSION_HEX >= 0x03000000 - PyVarObject_HEAD_INIT(NULL, 0) -#else - PyObject_HEAD_INIT(NULL) - 0, /* ob_size */ -#endif - (char *)"SwigPyObject", /* tp_name */ - sizeof(SwigPyObject), /* tp_basicsize */ - 0, /* tp_itemsize */ - (destructor)SwigPyObject_dealloc, /* tp_dealloc */ - 0, /* tp_print */ -#if PY_VERSION_HEX < 0x02020000 - (getattrfunc)SwigPyObject_getattr, /* tp_getattr */ -#else - (getattrfunc)0, /* tp_getattr */ -#endif - (setattrfunc)0, /* tp_setattr */ -#if PY_VERSION_HEX >= 0x03000000 - 0, /* tp_reserved in 3.0.1, tp_compare in 3.0.0 but not used */ -#else - (cmpfunc)SwigPyObject_compare, /* tp_compare */ -#endif - (reprfunc)SwigPyObject_repr, /* tp_repr */ - &SwigPyObject_as_number, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - (hashfunc)0, /* tp_hash */ - (ternaryfunc)0, /* tp_call */ - 0, /* tp_str */ - PyObject_GenericGetAttr, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT, /* tp_flags */ - swigobject_doc, /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - (richcmpfunc)SwigPyObject_richcompare,/* tp_richcompare */ - 0, /* tp_weaklistoffset */ -#if PY_VERSION_HEX >= 0x02020000 - 0, /* tp_iter */ - 0, /* tp_iternext */ - swigobject_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - 0, /* tp_new */ - 0, /* tp_free */ - 0, /* tp_is_gc */ - 0, /* tp_bases */ - 0, /* tp_mro */ - 0, /* tp_cache */ - 0, /* tp_subclasses */ - 0, /* tp_weaklist */ -#endif -#if PY_VERSION_HEX >= 0x02030000 - 0, /* tp_del */ -#endif -#if PY_VERSION_HEX >= 0x02060000 - 0, /* tp_version_tag */ -#endif -#if PY_VERSION_HEX >= 0x03040000 - 0, /* tp_finalize */ -#endif -#ifdef COUNT_ALLOCS - 0, /* tp_allocs */ - 0, /* tp_frees */ - 0, /* tp_maxalloc */ -#if PY_VERSION_HEX >= 0x02050000 - 0, /* tp_prev */ -#endif - 0 /* tp_next */ -#endif - }; - swigpyobject_type = tmp; - type_init = 1; -#if PY_VERSION_HEX < 0x02020000 - swigpyobject_type.ob_type = &PyType_Type; -#else - if (PyType_Ready(&swigpyobject_type) < 0) - return NULL; -#endif - } - return &swigpyobject_type; -} - -SWIGRUNTIME PyObject * -SwigPyObject_New(void *ptr, swig_type_info *ty, int own) -{ - SwigPyObject *sobj = PyObject_NEW(SwigPyObject, SwigPyObject_type()); - if (sobj) { - sobj->ptr = ptr; - sobj->ty = ty; - sobj->own = own; - sobj->next = 0; - } - return (PyObject *)sobj; -} - -/* ----------------------------------------------------------------------------- - * Implements a simple Swig Packed type, and use it instead of string - * ----------------------------------------------------------------------------- */ - -typedef struct { - PyObject_HEAD - void *pack; - swig_type_info *ty; - size_t size; -} SwigPyPacked; - -SWIGRUNTIME int -SwigPyPacked_print(SwigPyPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags)) -{ - char result[SWIG_BUFFER_SIZE]; - fputs("pack, v->size, 0, sizeof(result))) { - fputs("at ", fp); - fputs(result, fp); - } - fputs(v->ty->name,fp); - fputs(">", fp); - return 0; -} - -SWIGRUNTIME PyObject * -SwigPyPacked_repr(SwigPyPacked *v) -{ - char result[SWIG_BUFFER_SIZE]; - if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) { - return SWIG_Python_str_FromFormat("", result, v->ty->name); - } else { - return SWIG_Python_str_FromFormat("", v->ty->name); - } -} - -SWIGRUNTIME PyObject * -SwigPyPacked_str(SwigPyPacked *v) -{ - char result[SWIG_BUFFER_SIZE]; - if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){ - return SWIG_Python_str_FromFormat("%s%s", result, v->ty->name); - } else { - return SWIG_Python_str_FromChar(v->ty->name); - } -} - -SWIGRUNTIME int -SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w) -{ - size_t i = v->size; - size_t j = w->size; - int s = (i < j) ? -1 : ((i > j) ? 1 : 0); - return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size); -} - -SWIGRUNTIME PyTypeObject* SwigPyPacked_TypeOnce(void); - -SWIGRUNTIME PyTypeObject* -SwigPyPacked_type(void) { - static PyTypeObject *SWIG_STATIC_POINTER(type) = SwigPyPacked_TypeOnce(); - return type; -} - -SWIGRUNTIMEINLINE int -SwigPyPacked_Check(PyObject *op) { - return ((op)->ob_type == SwigPyPacked_TypeOnce()) - || (strcmp((op)->ob_type->tp_name,"SwigPyPacked") == 0); -} - -SWIGRUNTIME void -SwigPyPacked_dealloc(PyObject *v) -{ - if (SwigPyPacked_Check(v)) { - SwigPyPacked *sobj = (SwigPyPacked *) v; - free(sobj->pack); - } - PyObject_DEL(v); -} - -SWIGRUNTIME PyTypeObject* -SwigPyPacked_TypeOnce(void) { - static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer"; - static PyTypeObject swigpypacked_type; - static int type_init = 0; - if (!type_init) { - const PyTypeObject tmp = { -#if PY_VERSION_HEX>=0x03000000 - PyVarObject_HEAD_INIT(NULL, 0) -#else - PyObject_HEAD_INIT(NULL) - 0, /* ob_size */ -#endif - (char *)"SwigPyPacked", /* tp_name */ - sizeof(SwigPyPacked), /* tp_basicsize */ - 0, /* tp_itemsize */ - (destructor)SwigPyPacked_dealloc, /* tp_dealloc */ - (printfunc)SwigPyPacked_print, /* tp_print */ - (getattrfunc)0, /* tp_getattr */ - (setattrfunc)0, /* tp_setattr */ -#if PY_VERSION_HEX>=0x03000000 - 0, /* tp_reserved in 3.0.1 */ -#else - (cmpfunc)SwigPyPacked_compare, /* tp_compare */ -#endif - (reprfunc)SwigPyPacked_repr, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - (hashfunc)0, /* tp_hash */ - (ternaryfunc)0, /* tp_call */ - (reprfunc)SwigPyPacked_str, /* tp_str */ - PyObject_GenericGetAttr, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT, /* tp_flags */ - swigpacked_doc, /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ -#if PY_VERSION_HEX >= 0x02020000 - 0, /* tp_iter */ - 0, /* tp_iternext */ - 0, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - 0, /* tp_init */ - 0, /* tp_alloc */ - 0, /* tp_new */ - 0, /* tp_free */ - 0, /* tp_is_gc */ - 0, /* tp_bases */ - 0, /* tp_mro */ - 0, /* tp_cache */ - 0, /* tp_subclasses */ - 0, /* tp_weaklist */ -#endif -#if PY_VERSION_HEX >= 0x02030000 - 0, /* tp_del */ -#endif -#if PY_VERSION_HEX >= 0x02060000 - 0, /* tp_version_tag */ -#endif -#if PY_VERSION_HEX >= 0x03040000 - 0, /* tp_finalize */ -#endif -#ifdef COUNT_ALLOCS - 0, /* tp_allocs */ - 0, /* tp_frees */ - 0, /* tp_maxalloc */ -#if PY_VERSION_HEX >= 0x02050000 - 0, /* tp_prev */ -#endif - 0 /* tp_next */ -#endif - }; - swigpypacked_type = tmp; - type_init = 1; -#if PY_VERSION_HEX < 0x02020000 - swigpypacked_type.ob_type = &PyType_Type; -#else - if (PyType_Ready(&swigpypacked_type) < 0) - return NULL; -#endif - } - return &swigpypacked_type; -} - -SWIGRUNTIME PyObject * -SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty) -{ - SwigPyPacked *sobj = PyObject_NEW(SwigPyPacked, SwigPyPacked_type()); - if (sobj) { - void *pack = malloc(size); - if (pack) { - memcpy(pack, ptr, size); - sobj->pack = pack; - sobj->ty = ty; - sobj->size = size; - } else { - PyObject_DEL((PyObject *) sobj); - sobj = 0; - } - } - return (PyObject *) sobj; -} - -SWIGRUNTIME swig_type_info * -SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size) -{ - if (SwigPyPacked_Check(obj)) { - SwigPyPacked *sobj = (SwigPyPacked *)obj; - if (sobj->size != size) return 0; - memcpy(ptr, sobj->pack, size); - return sobj->ty; - } else { - return 0; - } -} - -/* ----------------------------------------------------------------------------- - * pointers/data manipulation - * ----------------------------------------------------------------------------- */ - -SWIGRUNTIMEINLINE PyObject * -_SWIG_This(void) -{ - return SWIG_Python_str_FromChar("this"); -} - -static PyObject *swig_this = NULL; - -SWIGRUNTIME PyObject * -SWIG_This(void) -{ - if (swig_this == NULL) - swig_this = _SWIG_This(); - return swig_this; -} - -/* #define SWIG_PYTHON_SLOW_GETSET_THIS */ - -/* TODO: I don't know how to implement the fast getset in Python 3 right now */ -#if PY_VERSION_HEX>=0x03000000 -#define SWIG_PYTHON_SLOW_GETSET_THIS -#endif - -SWIGRUNTIME SwigPyObject * -SWIG_Python_GetSwigThis(PyObject *pyobj) -{ - PyObject *obj; - - if (SwigPyObject_Check(pyobj)) - return (SwigPyObject *) pyobj; - -#ifdef SWIGPYTHON_BUILTIN - (void)obj; -# ifdef PyWeakref_CheckProxy - if (PyWeakref_CheckProxy(pyobj)) { - pyobj = PyWeakref_GET_OBJECT(pyobj); - if (pyobj && SwigPyObject_Check(pyobj)) - return (SwigPyObject*) pyobj; - } -# endif - return NULL; -#else - - obj = 0; - -#if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000)) - if (PyInstance_Check(pyobj)) { - obj = _PyInstance_Lookup(pyobj, SWIG_This()); - } else { - PyObject **dictptr = _PyObject_GetDictPtr(pyobj); - if (dictptr != NULL) { - PyObject *dict = *dictptr; - obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0; - } else { -#ifdef PyWeakref_CheckProxy - if (PyWeakref_CheckProxy(pyobj)) { - PyObject *wobj = PyWeakref_GET_OBJECT(pyobj); - return wobj ? SWIG_Python_GetSwigThis(wobj) : 0; - } -#endif - obj = PyObject_GetAttr(pyobj,SWIG_This()); - if (obj) { - Py_DECREF(obj); - } else { - if (PyErr_Occurred()) PyErr_Clear(); - return 0; - } - } - } -#else - obj = PyObject_GetAttr(pyobj,SWIG_This()); - if (obj) { - Py_DECREF(obj); - } else { - if (PyErr_Occurred()) PyErr_Clear(); - return 0; - } -#endif - if (obj && !SwigPyObject_Check(obj)) { - /* a PyObject is called 'this', try to get the 'real this' - SwigPyObject from it */ - return SWIG_Python_GetSwigThis(obj); - } - return (SwigPyObject *)obj; -#endif -} - -/* Acquire a pointer value */ - -SWIGRUNTIME int -SWIG_Python_AcquirePtr(PyObject *obj, int own) { - if (own == SWIG_POINTER_OWN) { - SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj); - if (sobj) { - int oldown = sobj->own; - sobj->own = own; - return oldown; - } - } - return 0; -} - -/* Convert a pointer value */ - -SWIGRUNTIME int -SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) { - int res; - SwigPyObject *sobj; - int implicit_conv = (flags & SWIG_POINTER_IMPLICIT_CONV) != 0; - - if (!obj) - return SWIG_ERROR; - if (obj == Py_None && !implicit_conv) { - if (ptr) - *ptr = 0; - return SWIG_OK; - } - - res = SWIG_ERROR; - - sobj = SWIG_Python_GetSwigThis(obj); - if (own) - *own = 0; - while (sobj) { - void *vptr = sobj->ptr; - if (ty) { - swig_type_info *to = sobj->ty; - if (to == ty) { - /* no type cast needed */ - if (ptr) *ptr = vptr; - break; - } else { - swig_cast_info *tc = SWIG_TypeCheck(to->name,ty); - if (!tc) { - sobj = (SwigPyObject *)sobj->next; - } else { - if (ptr) { - int newmemory = 0; - *ptr = SWIG_TypeCast(tc,vptr,&newmemory); - if (newmemory == SWIG_CAST_NEW_MEMORY) { - assert(own); /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */ - if (own) - *own = *own | SWIG_CAST_NEW_MEMORY; - } - } - break; - } - } - } else { - if (ptr) *ptr = vptr; - break; - } - } - if (sobj) { - if (own) - *own = *own | sobj->own; - if (flags & SWIG_POINTER_DISOWN) { - sobj->own = 0; - } - res = SWIG_OK; - } else { - if (implicit_conv) { - SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0; - if (data && !data->implicitconv) { - PyObject *klass = data->klass; - if (klass) { - PyObject *impconv; - data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/ - impconv = SWIG_Python_CallFunctor(klass, obj); - data->implicitconv = 0; - if (PyErr_Occurred()) { - PyErr_Clear(); - impconv = 0; - } - if (impconv) { - SwigPyObject *iobj = SWIG_Python_GetSwigThis(impconv); - if (iobj) { - void *vptr; - res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0); - if (SWIG_IsOK(res)) { - if (ptr) { - *ptr = vptr; - /* transfer the ownership to 'ptr' */ - iobj->own = 0; - res = SWIG_AddCast(res); - res = SWIG_AddNewMask(res); - } else { - res = SWIG_AddCast(res); - } - } - } - Py_DECREF(impconv); - } - } - } - } - if (!SWIG_IsOK(res) && obj == Py_None) { - if (ptr) - *ptr = 0; - if (PyErr_Occurred()) - PyErr_Clear(); - res = SWIG_OK; - } - } - return res; -} - -/* Convert a function ptr value */ - -SWIGRUNTIME int -SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) { - if (!PyCFunction_Check(obj)) { - return SWIG_ConvertPtr(obj, ptr, ty, 0); - } else { - void *vptr = 0; - - /* here we get the method pointer for callbacks */ - const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); - const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0; - if (desc) - desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0; - if (!desc) - return SWIG_ERROR; - if (ty) { - swig_cast_info *tc = SWIG_TypeCheck(desc,ty); - if (tc) { - int newmemory = 0; - *ptr = SWIG_TypeCast(tc,vptr,&newmemory); - assert(!newmemory); /* newmemory handling not yet implemented */ - } else { - return SWIG_ERROR; - } - } else { - *ptr = vptr; - } - return SWIG_OK; - } -} - -/* Convert a packed value value */ - -SWIGRUNTIME int -SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) { - swig_type_info *to = SwigPyPacked_UnpackData(obj, ptr, sz); - if (!to) return SWIG_ERROR; - if (ty) { - if (to != ty) { - /* check type cast? */ - swig_cast_info *tc = SWIG_TypeCheck(to->name,ty); - if (!tc) return SWIG_ERROR; - } - } - return SWIG_OK; -} - -/* ----------------------------------------------------------------------------- - * Create a new pointer object - * ----------------------------------------------------------------------------- */ - -/* - Create a new instance object, without calling __init__, and set the - 'this' attribute. -*/ - -SWIGRUNTIME PyObject* -SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this) -{ -#if (PY_VERSION_HEX >= 0x02020000) - PyObject *inst = 0; - PyObject *newraw = data->newraw; - if (newraw) { - inst = PyObject_Call(newraw, data->newargs, NULL); - if (inst) { -#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS) - PyObject **dictptr = _PyObject_GetDictPtr(inst); - if (dictptr != NULL) { - PyObject *dict = *dictptr; - if (dict == NULL) { - dict = PyDict_New(); - *dictptr = dict; - PyDict_SetItem(dict, SWIG_This(), swig_this); - } - } -#else - PyObject *key = SWIG_This(); - PyObject_SetAttr(inst, key, swig_this); -#endif - } - } else { -#if PY_VERSION_HEX >= 0x03000000 - inst = ((PyTypeObject*) data->newargs)->tp_new((PyTypeObject*) data->newargs, Py_None, Py_None); - if (inst) { - PyObject_SetAttr(inst, SWIG_This(), swig_this); - Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG; - } -#else - PyObject *dict = PyDict_New(); - if (dict) { - PyDict_SetItem(dict, SWIG_This(), swig_this); - inst = PyInstance_NewRaw(data->newargs, dict); - Py_DECREF(dict); - } -#endif - } - return inst; -#else -#if (PY_VERSION_HEX >= 0x02010000) - PyObject *inst = 0; - PyObject *dict = PyDict_New(); - if (dict) { - PyDict_SetItem(dict, SWIG_This(), swig_this); - inst = PyInstance_NewRaw(data->newargs, dict); - Py_DECREF(dict); - } - return (PyObject *) inst; -#else - PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type); - if (inst == NULL) { - return NULL; - } - inst->in_class = (PyClassObject *)data->newargs; - Py_INCREF(inst->in_class); - inst->in_dict = PyDict_New(); - if (inst->in_dict == NULL) { - Py_DECREF(inst); - return NULL; - } -#ifdef Py_TPFLAGS_HAVE_WEAKREFS - inst->in_weakreflist = NULL; -#endif -#ifdef Py_TPFLAGS_GC - PyObject_GC_Init(inst); -#endif - PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this); - return (PyObject *) inst; -#endif -#endif -} - -SWIGRUNTIME void -SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this) -{ - PyObject *dict; -#if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS) - PyObject **dictptr = _PyObject_GetDictPtr(inst); - if (dictptr != NULL) { - dict = *dictptr; - if (dict == NULL) { - dict = PyDict_New(); - *dictptr = dict; - } - PyDict_SetItem(dict, SWIG_This(), swig_this); - return; - } -#endif - dict = PyObject_GetAttrString(inst, (char*)"__dict__"); - PyDict_SetItem(dict, SWIG_This(), swig_this); - Py_DECREF(dict); -} - - -SWIGINTERN PyObject * -SWIG_Python_InitShadowInstance(PyObject *args) { - PyObject *obj[2]; - if (!SWIG_Python_UnpackTuple(args, "swiginit", 2, 2, obj)) { - return NULL; - } else { - SwigPyObject *sthis = SWIG_Python_GetSwigThis(obj[0]); - if (sthis) { - SwigPyObject_append((PyObject*) sthis, obj[1]); - } else { - SWIG_Python_SetSwigThis(obj[0], obj[1]); - } - return SWIG_Py_Void(); - } -} - -/* Create a new pointer object */ - -SWIGRUNTIME PyObject * -SWIG_Python_NewPointerObj(PyObject *self, void *ptr, swig_type_info *type, int flags) { - SwigPyClientData *clientdata; - PyObject * robj; - int own; - - if (!ptr) - return SWIG_Py_Void(); - - clientdata = type ? (SwigPyClientData *)(type->clientdata) : 0; - own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0; - if (clientdata && clientdata->pytype) { - SwigPyObject *newobj; - if (flags & SWIG_BUILTIN_TP_INIT) { - newobj = (SwigPyObject*) self; - if (newobj->ptr) { - PyObject *next_self = clientdata->pytype->tp_alloc(clientdata->pytype, 0); - while (newobj->next) - newobj = (SwigPyObject *) newobj->next; - newobj->next = next_self; - newobj = (SwigPyObject *)next_self; -#ifdef SWIGPYTHON_BUILTIN - newobj->dict = 0; -#endif - } - } else { - newobj = PyObject_New(SwigPyObject, clientdata->pytype); -#ifdef SWIGPYTHON_BUILTIN - newobj->dict = 0; -#endif - } - if (newobj) { - newobj->ptr = ptr; - newobj->ty = type; - newobj->own = own; - newobj->next = 0; - return (PyObject*) newobj; - } - return SWIG_Py_Void(); - } - - assert(!(flags & SWIG_BUILTIN_TP_INIT)); - - robj = SwigPyObject_New(ptr, type, own); - if (robj && clientdata && !(flags & SWIG_POINTER_NOSHADOW)) { - PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj); - Py_DECREF(robj); - robj = inst; - } - return robj; -} - -/* Create a new packed object */ - -SWIGRUNTIMEINLINE PyObject * -SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) { - return ptr ? SwigPyPacked_New((void *) ptr, sz, type) : SWIG_Py_Void(); -} - -/* -----------------------------------------------------------------------------* - * Get type list - * -----------------------------------------------------------------------------*/ - -#ifdef SWIG_LINK_RUNTIME -void *SWIG_ReturnGlobalTypeList(void *); -#endif - -SWIGRUNTIME swig_module_info * -SWIG_Python_GetModule(void *SWIGUNUSEDPARM(clientdata)) { - static void *type_pointer = (void *)0; - /* first check if module already created */ - if (!type_pointer) { -#ifdef SWIG_LINK_RUNTIME - type_pointer = SWIG_ReturnGlobalTypeList((void *)0); -#else -# ifdef SWIGPY_USE_CAPSULE - type_pointer = PyCapsule_Import(SWIGPY_CAPSULE_NAME, 0); -# else - type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, - (char*)"type_pointer" SWIG_TYPE_TABLE_NAME); -# endif - if (PyErr_Occurred()) { - PyErr_Clear(); - type_pointer = (void *)0; - } -#endif - } - return (swig_module_info *) type_pointer; -} - -#if PY_MAJOR_VERSION < 2 -/* PyModule_AddObject function was introduced in Python 2.0. The following function - is copied out of Python/modsupport.c in python version 2.3.4 */ -SWIGINTERN int -PyModule_AddObject(PyObject *m, char *name, PyObject *o) -{ - PyObject *dict; - if (!PyModule_Check(m)) { - PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs module as first arg"); - return SWIG_ERROR; - } - if (!o) { - PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs non-NULL value"); - return SWIG_ERROR; - } - - dict = PyModule_GetDict(m); - if (dict == NULL) { - /* Internal error -- modules must have a dict! */ - PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__", - PyModule_GetName(m)); - return SWIG_ERROR; - } - if (PyDict_SetItemString(dict, name, o)) - return SWIG_ERROR; - Py_DECREF(o); - return SWIG_OK; -} -#endif - -SWIGRUNTIME void -#ifdef SWIGPY_USE_CAPSULE -SWIG_Python_DestroyModule(PyObject *obj) -#else -SWIG_Python_DestroyModule(void *vptr) -#endif -{ -#ifdef SWIGPY_USE_CAPSULE - swig_module_info *swig_module = (swig_module_info *) PyCapsule_GetPointer(obj, SWIGPY_CAPSULE_NAME); -#else - swig_module_info *swig_module = (swig_module_info *) vptr; -#endif - swig_type_info **types = swig_module->types; - size_t i; - for (i =0; i < swig_module->size; ++i) { - swig_type_info *ty = types[i]; - if (ty->owndata) { - SwigPyClientData *data = (SwigPyClientData *) ty->clientdata; - if (data) SwigPyClientData_Del(data); - } - } - Py_DECREF(SWIG_This()); - swig_this = NULL; -} - -SWIGRUNTIME void -SWIG_Python_SetModule(swig_module_info *swig_module) { -#if PY_VERSION_HEX >= 0x03000000 - /* Add a dummy module object into sys.modules */ - PyObject *module = PyImport_AddModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION); -#else - static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} }; /* Sentinel */ - PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, swig_empty_runtime_method_table); -#endif -#ifdef SWIGPY_USE_CAPSULE - PyObject *pointer = PyCapsule_New((void *) swig_module, SWIGPY_CAPSULE_NAME, SWIG_Python_DestroyModule); - if (pointer && module) { - PyModule_AddObject(module, (char*)"type_pointer_capsule" SWIG_TYPE_TABLE_NAME, pointer); - } else { - Py_XDECREF(pointer); - } -#else - PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule); - if (pointer && module) { - PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer); - } else { - Py_XDECREF(pointer); - } -#endif -} - -/* The python cached type query */ -SWIGRUNTIME PyObject * -SWIG_Python_TypeCache(void) { - static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New(); - return cache; -} - -SWIGRUNTIME swig_type_info * -SWIG_Python_TypeQuery(const char *type) -{ - PyObject *cache = SWIG_Python_TypeCache(); - PyObject *key = SWIG_Python_str_FromChar(type); - PyObject *obj = PyDict_GetItem(cache, key); - swig_type_info *descriptor; - if (obj) { -#ifdef SWIGPY_USE_CAPSULE - descriptor = (swig_type_info *) PyCapsule_GetPointer(obj, NULL); -#else - descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj); -#endif - } else { - swig_module_info *swig_module = SWIG_GetModule(0); - descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type); - if (descriptor) { -#ifdef SWIGPY_USE_CAPSULE - obj = PyCapsule_New((void*) descriptor, NULL, NULL); -#else - obj = PyCObject_FromVoidPtr(descriptor, NULL); -#endif - PyDict_SetItem(cache, key, obj); - Py_DECREF(obj); - } - } - Py_DECREF(key); - return descriptor; -} - -/* - For backward compatibility only -*/ -#define SWIG_POINTER_EXCEPTION 0 -#define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg) -#define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags) - -SWIGRUNTIME int -SWIG_Python_AddErrMesg(const char* mesg, int infront) -{ - if (PyErr_Occurred()) { - PyObject *type = 0; - PyObject *value = 0; - PyObject *traceback = 0; - PyErr_Fetch(&type, &value, &traceback); - if (value) { - char *tmp; - PyObject *old_str = PyObject_Str(value); - Py_XINCREF(type); - PyErr_Clear(); - if (infront) { - PyErr_Format(type, "%s %s", mesg, tmp = SWIG_Python_str_AsChar(old_str)); - } else { - PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg); - } - SWIG_Python_str_DelForPy3(tmp); - Py_DECREF(old_str); - } - return 1; - } else { - return 0; - } -} - -SWIGRUNTIME int -SWIG_Python_ArgFail(int argnum) -{ - if (PyErr_Occurred()) { - /* add information about failing argument */ - char mesg[256]; - PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum); - return SWIG_Python_AddErrMesg(mesg, 1); - } else { - return 0; - } -} - -SWIGRUNTIMEINLINE const char * -SwigPyObject_GetDesc(PyObject *self) -{ - SwigPyObject *v = (SwigPyObject *)self; - swig_type_info *ty = v ? v->ty : 0; - return ty ? ty->str : ""; -} - -SWIGRUNTIME void -SWIG_Python_TypeError(const char *type, PyObject *obj) -{ - if (type) { -#if defined(SWIG_COBJECT_TYPES) - if (obj && SwigPyObject_Check(obj)) { - const char *otype = (const char *) SwigPyObject_GetDesc(obj); - if (otype) { - PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'SwigPyObject(%s)' is received", - type, otype); - return; - } - } else -#endif - { - const char *otype = (obj ? obj->ob_type->tp_name : 0); - if (otype) { - PyObject *str = PyObject_Str(obj); - const char *cstr = str ? SWIG_Python_str_AsChar(str) : 0; - if (cstr) { - PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received", - type, otype, cstr); - SWIG_Python_str_DelForPy3(cstr); - } else { - PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received", - type, otype); - } - Py_XDECREF(str); - return; - } - } - PyErr_Format(PyExc_TypeError, "a '%s' is expected", type); - } else { - PyErr_Format(PyExc_TypeError, "unexpected type is received"); - } -} - - -/* Convert a pointer value, signal an exception on a type mismatch */ -SWIGRUNTIME void * -SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int SWIGUNUSEDPARM(argnum), int flags) { - void *result; - if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) { - PyErr_Clear(); -#if SWIG_POINTER_EXCEPTION - if (flags) { - SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); - SWIG_Python_ArgFail(argnum); - } -#endif - } - return result; -} - -#ifdef SWIGPYTHON_BUILTIN -SWIGRUNTIME int -SWIG_Python_NonDynamicSetAttr(PyObject *obj, PyObject *name, PyObject *value) { - PyTypeObject *tp = obj->ob_type; - PyObject *descr; - PyObject *encoded_name; - descrsetfunc f; - int res = -1; - -# ifdef Py_USING_UNICODE - if (PyString_Check(name)) { - name = PyUnicode_Decode(PyString_AsString(name), PyString_Size(name), NULL, NULL); - if (!name) - return -1; - } else if (!PyUnicode_Check(name)) -# else - if (!PyString_Check(name)) -# endif - { - PyErr_Format(PyExc_TypeError, "attribute name must be string, not '%.200s'", name->ob_type->tp_name); - return -1; - } else { - Py_INCREF(name); - } - - if (!tp->tp_dict) { - if (PyType_Ready(tp) < 0) - goto done; - } - - descr = _PyType_Lookup(tp, name); - f = NULL; - if (descr != NULL) - f = descr->ob_type->tp_descr_set; - if (!f) { - if (PyString_Check(name)) { - encoded_name = name; - Py_INCREF(name); - } else { - encoded_name = PyUnicode_AsUTF8String(name); - } - PyErr_Format(PyExc_AttributeError, "'%.100s' object has no attribute '%.200s'", tp->tp_name, PyString_AsString(encoded_name)); - Py_DECREF(encoded_name); - } else { - res = f(descr, obj, value); - } - - done: - Py_DECREF(name); - return res; -} -#endif - - -#ifdef __cplusplus -} -#endif - - - -#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) - -#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else - - - - #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0) - - -/* -------- TYPES TABLE (BEGIN) -------- */ - -#define SWIGTYPE_p_char swig_types[0] -#define SWIGTYPE_p_int swig_types[1] -#define SWIGTYPE_p_uint8_t swig_types[2] -static swig_type_info *swig_types[4]; -static swig_module_info swig_module = {swig_types, 3, 0, 0, 0, 0}; -#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) -#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) - -/* -------- TYPES TABLE (END) -------- */ - -#if (PY_VERSION_HEX <= 0x02000000) -# if !defined(SWIG_PYTHON_CLASSIC) -# error "This python version requires swig to be run with the '-classic' option" -# endif -#endif - -/*----------------------------------------------- - @(target):= _libwebp.so - ------------------------------------------------*/ -#if PY_VERSION_HEX >= 0x03000000 -# define SWIG_init PyInit__libwebp - -#else -# define SWIG_init init_libwebp - -#endif -#define SWIG_name "_libwebp" - -#define SWIGVERSION 0x030012 -#define SWIG_VERSION SWIGVERSION - - -#define SWIG_as_voidptr(a) (void *)((const void *)(a)) -#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a)) - - -SWIGINTERNINLINE PyObject* - SWIG_From_int (int value) -{ - return PyInt_FromLong((long) value); -} - - -SWIGINTERN swig_type_info* -SWIG_pchar_descriptor(void) -{ - static int init = 0; - static swig_type_info* info = 0; - if (!init) { - info = SWIG_TypeQuery("_p_char"); - init = 1; - } - return info; -} - - -SWIGINTERN int -SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc) -{ -#if PY_VERSION_HEX>=0x03000000 -#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR) - if (PyBytes_Check(obj)) -#else - if (PyUnicode_Check(obj)) -#endif -#else - if (PyString_Check(obj)) -#endif - { - char *cstr; Py_ssize_t len; -#if PY_VERSION_HEX>=0x03000000 -#if !defined(SWIG_PYTHON_STRICT_BYTE_CHAR) - if (!alloc && cptr) { - /* We can't allow converting without allocation, since the internal - representation of string in Python 3 is UCS-2/UCS-4 but we require - a UTF-8 representation. - TODO(bhy) More detailed explanation */ - return SWIG_RuntimeError; - } - obj = PyUnicode_AsUTF8String(obj); - if(alloc) *alloc = SWIG_NEWOBJ; -#endif - PyBytes_AsStringAndSize(obj, &cstr, &len); -#else - PyString_AsStringAndSize(obj, &cstr, &len); -#endif - if (cptr) { - if (alloc) { - /* - In python the user should not be able to modify the inner - string representation. To warranty that, if you define - SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string - buffer is always returned. - - The default behavior is just to return the pointer value, - so, be careful. - */ -#if defined(SWIG_PYTHON_SAFE_CSTRINGS) - if (*alloc != SWIG_OLDOBJ) -#else - if (*alloc == SWIG_NEWOBJ) -#endif - { - *cptr = (char *)memcpy(malloc((len + 1)*sizeof(char)), cstr, sizeof(char)*(len + 1)); - *alloc = SWIG_NEWOBJ; - } else { - *cptr = cstr; - *alloc = SWIG_OLDOBJ; - } - } else { -#if PY_VERSION_HEX>=0x03000000 -#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR) - *cptr = PyBytes_AsString(obj); -#else - assert(0); /* Should never reach here with Unicode strings in Python 3 */ -#endif -#else - *cptr = SWIG_Python_str_AsChar(obj); -#endif - } - } - if (psize) *psize = len + 1; -#if PY_VERSION_HEX>=0x03000000 && !defined(SWIG_PYTHON_STRICT_BYTE_CHAR) - Py_XDECREF(obj); -#endif - return SWIG_OK; - } else { -#if defined(SWIG_PYTHON_2_UNICODE) -#if defined(SWIG_PYTHON_STRICT_BYTE_CHAR) -#error "Cannot use both SWIG_PYTHON_2_UNICODE and SWIG_PYTHON_STRICT_BYTE_CHAR at once" -#endif -#if PY_VERSION_HEX<0x03000000 - if (PyUnicode_Check(obj)) { - char *cstr; Py_ssize_t len; - if (!alloc && cptr) { - return SWIG_RuntimeError; - } - obj = PyUnicode_AsUTF8String(obj); - if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) { - if (cptr) { - if (alloc) *alloc = SWIG_NEWOBJ; - *cptr = (char *)memcpy(malloc((len + 1)*sizeof(char)), cstr, sizeof(char)*(len + 1)); - } - if (psize) *psize = len + 1; - - Py_XDECREF(obj); - return SWIG_OK; - } else { - Py_XDECREF(obj); - } - } -#endif -#endif - - swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); - if (pchar_descriptor) { - void* vptr = 0; - if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) { - if (cptr) *cptr = (char *) vptr; - if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0; - if (alloc) *alloc = SWIG_OLDOBJ; - return SWIG_OK; - } - } - } - return SWIG_TypeError; -} - - -SWIGINTERN int -SWIG_AsVal_double (PyObject *obj, double *val) -{ - int res = SWIG_TypeError; - if (PyFloat_Check(obj)) { - if (val) *val = PyFloat_AsDouble(obj); - return SWIG_OK; -#if PY_VERSION_HEX < 0x03000000 - } else if (PyInt_Check(obj)) { - if (val) *val = (double) PyInt_AsLong(obj); - return SWIG_OK; -#endif - } else if (PyLong_Check(obj)) { - double v = PyLong_AsDouble(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_OK; - } else { - PyErr_Clear(); - } - } -#ifdef SWIG_PYTHON_CAST_MODE - { - int dispatch = 0; - double d = PyFloat_AsDouble(obj); - if (!PyErr_Occurred()) { - if (val) *val = d; - return SWIG_AddCast(SWIG_OK); - } else { - PyErr_Clear(); - } - if (!dispatch) { - long v = PyLong_AsLong(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_AddCast(SWIG_AddCast(SWIG_OK)); - } else { - PyErr_Clear(); - } - } - } -#endif - return res; -} - - -#include - - -#include - - -SWIGINTERNINLINE int -SWIG_CanCastAsInteger(double *d, double min, double max) { - double x = *d; - if ((min <= x && x <= max)) { - double fx = floor(x); - double cx = ceil(x); - double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */ - if ((errno == EDOM) || (errno == ERANGE)) { - errno = 0; - } else { - double summ, reps, diff; - if (rd < x) { - diff = x - rd; - } else if (rd > x) { - diff = rd - x; - } else { - return 1; - } - summ = rd + x; - reps = diff/summ; - if (reps < 8*DBL_EPSILON) { - *d = rd; - return 1; - } - } - } - return 0; -} - - -SWIGINTERN int -SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val) -{ -#if PY_VERSION_HEX < 0x03000000 - if (PyInt_Check(obj)) { - long v = PyInt_AsLong(obj); - if (v >= 0) { - if (val) *val = v; - return SWIG_OK; - } else { - return SWIG_OverflowError; - } - } else -#endif - if (PyLong_Check(obj)) { - unsigned long v = PyLong_AsUnsignedLong(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_OK; - } else { - PyErr_Clear(); - return SWIG_OverflowError; - } - } -#ifdef SWIG_PYTHON_CAST_MODE - { - int dispatch = 0; - unsigned long v = PyLong_AsUnsignedLong(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_AddCast(SWIG_OK); - } else { - PyErr_Clear(); - } - if (!dispatch) { - double d; - int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d)); - if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) { - if (val) *val = (unsigned long)(d); - return res; - } - } - } -#endif - return SWIG_TypeError; -} - - -#include -#if !defined(SWIG_NO_LLONG_MAX) -# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__) -# define LLONG_MAX __LONG_LONG_MAX__ -# define LLONG_MIN (-LLONG_MAX - 1LL) -# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) -# endif -#endif - - -#if defined(LLONG_MAX) && !defined(SWIG_LONG_LONG_AVAILABLE) -# define SWIG_LONG_LONG_AVAILABLE -#endif - - -#ifdef SWIG_LONG_LONG_AVAILABLE -SWIGINTERN int -SWIG_AsVal_unsigned_SS_long_SS_long (PyObject *obj, unsigned long long *val) -{ - int res = SWIG_TypeError; - if (PyLong_Check(obj)) { - unsigned long long v = PyLong_AsUnsignedLongLong(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_OK; - } else { - PyErr_Clear(); - res = SWIG_OverflowError; - } - } else { - unsigned long v; - res = SWIG_AsVal_unsigned_SS_long (obj,&v); - if (SWIG_IsOK(res)) { - if (val) *val = v; - return res; - } - } -#ifdef SWIG_PYTHON_CAST_MODE - { - const double mant_max = 1LL << DBL_MANT_DIG; - double d; - res = SWIG_AsVal_double (obj,&d); - if (SWIG_IsOK(res) && !SWIG_CanCastAsInteger(&d, 0, mant_max)) - return SWIG_OverflowError; - if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, mant_max)) { - if (val) *val = (unsigned long long)(d); - return SWIG_AddCast(res); - } - res = SWIG_TypeError; - } -#endif - return res; -} -#endif - - -SWIGINTERNINLINE int -SWIG_AsVal_size_t (PyObject * obj, size_t *val) -{ - int res = SWIG_TypeError; -#ifdef SWIG_LONG_LONG_AVAILABLE - if (sizeof(size_t) <= sizeof(unsigned long)) { -#endif - unsigned long v; - res = SWIG_AsVal_unsigned_SS_long (obj, val ? &v : 0); - if (SWIG_IsOK(res) && val) *val = (size_t)(v); -#ifdef SWIG_LONG_LONG_AVAILABLE - } else if (sizeof(size_t) <= sizeof(unsigned long long)) { - unsigned long long v; - res = SWIG_AsVal_unsigned_SS_long_SS_long (obj, val ? &v : 0); - if (SWIG_IsOK(res) && val) *val = (size_t)(v); - } -#endif - return res; -} - - -#include "webp/decode.h" -#include "webp/encode.h" - - -static size_t ReturnedBufferSize( - const char* function, int* width, int* height) { - static const struct sizemap { - const char* function; - int size_multiplier; - } size_map[] = { -#ifdef SWIGJAVA - { "Java_com_google_webp_libwebpJNI_WebPDecodeRGB", 3 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeRGBA", 4 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeARGB", 4 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeBGR", 3 }, - { "Java_com_google_webp_libwebpJNI_WebPDecodeBGRA", 4 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeRGB", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeBGR", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeRGBA", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeBGRA", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessRGB", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessBGR", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessRGBA", 1 }, - { "Java_com_google_webp_libwebpJNI_wrap_1WebPEncodeLosslessBGRA", 1 }, -#endif -#ifdef SWIGPYTHON - { "WebPDecodeRGB", 3 }, - { "WebPDecodeRGBA", 4 }, - { "WebPDecodeARGB", 4 }, - { "WebPDecodeBGR", 3 }, - { "WebPDecodeBGRA", 4 }, - { "wrap_WebPEncodeRGB", 1 }, - { "wrap_WebPEncodeBGR", 1 }, - { "wrap_WebPEncodeRGBA", 1 }, - { "wrap_WebPEncodeBGRA", 1 }, - { "wrap_WebPEncodeLosslessRGB", 1 }, - { "wrap_WebPEncodeLosslessBGR", 1 }, - { "wrap_WebPEncodeLosslessRGBA", 1 }, - { "wrap_WebPEncodeLosslessBGRA", 1 }, -#endif - { NULL, 0 } - }; - const struct sizemap* p; - size_t size = 0; - - for (p = size_map; p->function; ++p) { - if (!strcmp(function, p->function)) { - size = *width * *height * p->size_multiplier; - break; - } - } - - return size; -} - - -typedef size_t (*WebPEncodeFunction)(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -typedef size_t (*WebPEncodeLosslessFunction)(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); - -static uint8_t* EncodeLossy(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, - WebPEncodeFunction encfn, - int* output_size, int* unused) { - uint8_t* output = NULL; - const size_t image_size = - encfn(rgb, width, height, stride, quality_factor, &output); - // the values of following two will be interpreted by ReturnedBufferSize() - // as 'width' and 'height' in the size calculation. - *output_size = image_size; - *unused = 1; - return image_size ? output : NULL; -} - -static uint8_t* EncodeLossless(const uint8_t* rgb, - int width, int height, int stride, - WebPEncodeLosslessFunction encfn, - int* output_size, int* unused) { - uint8_t* output = NULL; - const size_t image_size = encfn(rgb, width, height, stride, &output); - // the values of the following two will be interpreted by - // ReturnedBufferSize() as 'width' and 'height' in the size calculation. - *output_size = image_size; - *unused = 1; - return image_size ? output : NULL; -} - - -// Changes the return type of WebPEncode* to more closely match Decode*. -// This also makes it easier to wrap the output buffer in a native type rather -// than dealing with the return pointer. -// The additional parameters are to allow reuse of ReturnedBufferSize(), -// unused2 and output_size will be used in this case. -#define LOSSY_WRAPPER(FUNC) \ - static uint8_t* wrap_##FUNC( \ - const uint8_t* rgb, int* unused1, int* unused2, int* output_size, \ - int width, int height, int stride, float quality_factor) { \ - return EncodeLossy(rgb, width, height, stride, quality_factor, \ - FUNC, output_size, unused2); \ - } \ - -LOSSY_WRAPPER(WebPEncodeRGB) -LOSSY_WRAPPER(WebPEncodeBGR) -LOSSY_WRAPPER(WebPEncodeRGBA) -LOSSY_WRAPPER(WebPEncodeBGRA) - -#undef LOSSY_WRAPPER - -#define LOSSLESS_WRAPPER(FUNC) \ - static uint8_t* wrap_##FUNC( \ - const uint8_t* rgb, int* unused1, int* unused2, int* output_size, \ - int width, int height, int stride) { \ - return EncodeLossless(rgb, width, height, stride, \ - FUNC, output_size, unused2); \ - } \ - -LOSSLESS_WRAPPER(WebPEncodeLosslessRGB) -LOSSLESS_WRAPPER(WebPEncodeLosslessBGR) -LOSSLESS_WRAPPER(WebPEncodeLosslessRGBA) -LOSSLESS_WRAPPER(WebPEncodeLosslessBGRA) - -#undef LOSSLESS_WRAPPER - - - -SWIGINTERN int -SWIG_AsVal_long (PyObject *obj, long* val) -{ -#if PY_VERSION_HEX < 0x03000000 - if (PyInt_Check(obj)) { - if (val) *val = PyInt_AsLong(obj); - return SWIG_OK; - } else -#endif - if (PyLong_Check(obj)) { - long v = PyLong_AsLong(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_OK; - } else { - PyErr_Clear(); - return SWIG_OverflowError; - } - } -#ifdef SWIG_PYTHON_CAST_MODE - { - int dispatch = 0; - long v = PyInt_AsLong(obj); - if (!PyErr_Occurred()) { - if (val) *val = v; - return SWIG_AddCast(SWIG_OK); - } else { - PyErr_Clear(); - } - if (!dispatch) { - double d; - int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d)); - if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) { - if (val) *val = (long)(d); - return res; - } - } - } -#endif - return SWIG_TypeError; -} - - -SWIGINTERN int -SWIG_AsVal_int (PyObject * obj, int *val) -{ - long v; - int res = SWIG_AsVal_long (obj, &v); - if (SWIG_IsOK(res)) { - if ((v < INT_MIN || v > INT_MAX)) { - return SWIG_OverflowError; - } else { - if (val) *val = (int)(v); - } - } - return res; -} - - -/* Getting isfinite working pre C99 across multiple platforms is non-trivial. Users can provide SWIG_isfinite on older platforms. */ -#ifndef SWIG_isfinite -/* isfinite() is a macro for C99 */ -# if defined(isfinite) -# define SWIG_isfinite(X) (isfinite(X)) -# elif defined __cplusplus && __cplusplus >= 201103L -/* Use a template so that this works whether isfinite() is std::isfinite() or - * in the global namespace. The reality seems to vary between compiler - * versions. - * - * Make sure namespace std exists to avoid compiler warnings. - * - * extern "C++" is required as this fragment can end up inside an extern "C" { } block - */ -namespace std { } -extern "C++" template -inline int SWIG_isfinite_func(T x) { - using namespace std; - return isfinite(x); -} -# define SWIG_isfinite(X) (SWIG_isfinite_func(X)) -# elif defined(_MSC_VER) -# define SWIG_isfinite(X) (_finite(X)) -# elif defined(__sun) && defined(__SVR4) -# include -# define SWIG_isfinite(X) (finite(X)) -# endif -#endif - - -/* Accept infinite as a valid float value unless we are unable to check if a value is finite */ -#ifdef SWIG_isfinite -# define SWIG_Float_Overflow_Check(X) ((X < -FLT_MAX || X > FLT_MAX) && SWIG_isfinite(X)) -#else -# define SWIG_Float_Overflow_Check(X) ((X < -FLT_MAX || X > FLT_MAX)) -#endif - - -SWIGINTERN int -SWIG_AsVal_float (PyObject * obj, float *val) -{ - double v; - int res = SWIG_AsVal_double (obj, &v); - if (SWIG_IsOK(res)) { - if (SWIG_Float_Overflow_Check(v)) { - return SWIG_OverflowError; - } else { - if (val) *val = (float)(v); - } - } - return res; -} - -#ifdef __cplusplus -extern "C" { -#endif -SWIGINTERN PyObject *_wrap_WebPGetDecoderVersion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - int result; - - if (!PyArg_ParseTuple(args,(char *)":WebPGetDecoderVersion")) SWIG_fail; - result = (int)WebPGetDecoderVersion(); - resultobj = SWIG_From_int((int)(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_WebPGetInfo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int res1 ; - char *buf1 = 0 ; - size_t size1 = 0 ; - int alloc1 = 0 ; - int temp3 ; - int res3 = SWIG_TMPOBJ ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - PyObject * obj0 = 0 ; - int result; - - arg3 = &temp3; - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"O:WebPGetInfo",&obj0)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, &size1, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "WebPGetInfo" "', argument " "1"" of type '" "uint8_t const *""'"); - } - arg1 = (uint8_t *)(buf1); - arg2 = (size_t)(size1 - 1); - result = (int)WebPGetInfo((uint8_t const *)arg1,arg2,arg3,arg4); - resultobj = SWIG_From_int((int)(result)); - if (SWIG_IsTmpObj(res3)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg3))); - } else { - int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return resultobj; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_WebPDecodeRGB(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int res1 ; - char *buf1 = 0 ; - size_t size1 = 0 ; - int alloc1 = 0 ; - int temp3 ; - int res3 = SWIG_TMPOBJ ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - PyObject * obj0 = 0 ; - uint8_t *result = 0 ; - - arg3 = &temp3; - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"O:WebPDecodeRGB",&obj0)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, &size1, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "WebPDecodeRGB" "', argument " "1"" of type '" "uint8_t const *""'"); - } - arg1 = (uint8_t *)(buf1); - arg2 = (size_t)(size1 - 1); - result = (uint8_t *)WebPDecodeRGB((uint8_t const *)arg1,arg2,arg3,arg4); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("WebPDecodeRGB", arg3, arg4)); - } - if (SWIG_IsTmpObj(res3)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg3))); - } else { - int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - free(result); - return resultobj; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_WebPDecodeRGBA(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int res1 ; - char *buf1 = 0 ; - size_t size1 = 0 ; - int alloc1 = 0 ; - int temp3 ; - int res3 = SWIG_TMPOBJ ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - PyObject * obj0 = 0 ; - uint8_t *result = 0 ; - - arg3 = &temp3; - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"O:WebPDecodeRGBA",&obj0)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, &size1, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "WebPDecodeRGBA" "', argument " "1"" of type '" "uint8_t const *""'"); - } - arg1 = (uint8_t *)(buf1); - arg2 = (size_t)(size1 - 1); - result = (uint8_t *)WebPDecodeRGBA((uint8_t const *)arg1,arg2,arg3,arg4); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("WebPDecodeRGBA", arg3, arg4)); - } - if (SWIG_IsTmpObj(res3)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg3))); - } else { - int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - free(result); - return resultobj; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_WebPDecodeARGB(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int res1 ; - char *buf1 = 0 ; - size_t size1 = 0 ; - int alloc1 = 0 ; - int temp3 ; - int res3 = SWIG_TMPOBJ ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - PyObject * obj0 = 0 ; - uint8_t *result = 0 ; - - arg3 = &temp3; - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"O:WebPDecodeARGB",&obj0)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, &size1, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "WebPDecodeARGB" "', argument " "1"" of type '" "uint8_t const *""'"); - } - arg1 = (uint8_t *)(buf1); - arg2 = (size_t)(size1 - 1); - result = (uint8_t *)WebPDecodeARGB((uint8_t const *)arg1,arg2,arg3,arg4); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("WebPDecodeARGB", arg3, arg4)); - } - if (SWIG_IsTmpObj(res3)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg3))); - } else { - int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - free(result); - return resultobj; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_WebPDecodeBGR(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int res1 ; - char *buf1 = 0 ; - size_t size1 = 0 ; - int alloc1 = 0 ; - int temp3 ; - int res3 = SWIG_TMPOBJ ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - PyObject * obj0 = 0 ; - uint8_t *result = 0 ; - - arg3 = &temp3; - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"O:WebPDecodeBGR",&obj0)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, &size1, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "WebPDecodeBGR" "', argument " "1"" of type '" "uint8_t const *""'"); - } - arg1 = (uint8_t *)(buf1); - arg2 = (size_t)(size1 - 1); - result = (uint8_t *)WebPDecodeBGR((uint8_t const *)arg1,arg2,arg3,arg4); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("WebPDecodeBGR", arg3, arg4)); - } - if (SWIG_IsTmpObj(res3)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg3))); - } else { - int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - free(result); - return resultobj; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_WebPDecodeBGRA(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - size_t arg2 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int res1 ; - char *buf1 = 0 ; - size_t size1 = 0 ; - int alloc1 = 0 ; - int temp3 ; - int res3 = SWIG_TMPOBJ ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - PyObject * obj0 = 0 ; - uint8_t *result = 0 ; - - arg3 = &temp3; - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"O:WebPDecodeBGRA",&obj0)) SWIG_fail; - res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, &size1, &alloc1); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "WebPDecodeBGRA" "', argument " "1"" of type '" "uint8_t const *""'"); - } - arg1 = (uint8_t *)(buf1); - arg2 = (size_t)(size1 - 1); - result = (uint8_t *)WebPDecodeBGRA((uint8_t const *)arg1,arg2,arg3,arg4); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("WebPDecodeBGRA", arg3, arg4)); - } - if (SWIG_IsTmpObj(res3)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg3))); - } else { - int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - free(result); - return resultobj; -fail: - if (alloc1 == SWIG_NEWOBJ) free((char*)buf1); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_WebPGetEncoderVersion(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - int result; - - if (!PyArg_ParseTuple(args,(char *)":WebPGetEncoderVersion")) SWIG_fail; - result = (int)WebPGetEncoderVersion(); - resultobj = SWIG_From_int((int)(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_wrap_WebPEncodeRGB(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - float arg8 ; - Py_buffer rgb_buffer1 ; - int temp2 ; - int res2 = 0 ; - int temp3 ; - int res3 = 0 ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - int val5 ; - int ecode5 = 0 ; - int val6 ; - int ecode6 = 0 ; - int val7 ; - int ecode7 = 0 ; - float val8 ; - int ecode8 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - PyObject * obj6 = 0 ; - uint8_t *result = 0 ; - - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:wrap_WebPEncodeRGB",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail; - { - // NB: with Python < 2.6 the old style buffer protocol may be used: - // Py_ssize_t unused; - // PyObject_AsReadBuffer(obj0, (const void**)(&arg1), &unused); - if (!PyObject_CheckBuffer(obj0)) { - SWIG_exception_fail(SWIG_TypeError, - "in method 'wrap_WebPEncodeRGB', argument 1" - " does not support the buffer interface"); - } - if (PyObject_GetBuffer(obj0, &rgb_buffer1, PyBUF_SIMPLE)) { - SWIG_exception_fail(SWIG_RuntimeError, - "in method 'wrap_WebPEncodeRGB', unable to get buffer view"); - } - arg1 = (uint8_t *)rgb_buffer1.buf; - } - if (!(SWIG_IsOK((res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj1, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeRGB" "', argument " "2"" of type '" "int""'"); - } - temp2 = (int)(val); - arg2 = &temp2; - res2 = SWIG_AddTmpMask(ecode); - } - if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj2, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeRGB" "', argument " "3"" of type '" "int""'"); - } - temp3 = (int)(val); - arg3 = &temp3; - res3 = SWIG_AddTmpMask(ecode); - } - ecode5 = SWIG_AsVal_int(obj3, &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "wrap_WebPEncodeRGB" "', argument " "5"" of type '" "int""'"); - } - arg5 = (int)(val5); - ecode6 = SWIG_AsVal_int(obj4, &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "wrap_WebPEncodeRGB" "', argument " "6"" of type '" "int""'"); - } - arg6 = (int)(val6); - ecode7 = SWIG_AsVal_int(obj5, &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "wrap_WebPEncodeRGB" "', argument " "7"" of type '" "int""'"); - } - arg7 = (int)(val7); - ecode8 = SWIG_AsVal_float(obj6, &val8); - if (!SWIG_IsOK(ecode8)) { - SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "wrap_WebPEncodeRGB" "', argument " "8"" of type '" "float""'"); - } - arg8 = (float)(val8); - result = (uint8_t *)wrap_WebPEncodeRGB((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("wrap_WebPEncodeRGB", arg3, arg4)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - free(result); - return resultobj; -fail: - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_wrap_WebPEncodeBGR(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - float arg8 ; - Py_buffer rgb_buffer1 ; - int temp2 ; - int res2 = 0 ; - int temp3 ; - int res3 = 0 ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - int val5 ; - int ecode5 = 0 ; - int val6 ; - int ecode6 = 0 ; - int val7 ; - int ecode7 = 0 ; - float val8 ; - int ecode8 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - PyObject * obj6 = 0 ; - uint8_t *result = 0 ; - - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:wrap_WebPEncodeBGR",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail; - { - // NB: with Python < 2.6 the old style buffer protocol may be used: - // Py_ssize_t unused; - // PyObject_AsReadBuffer(obj0, (const void**)(&arg1), &unused); - if (!PyObject_CheckBuffer(obj0)) { - SWIG_exception_fail(SWIG_TypeError, - "in method 'wrap_WebPEncodeBGR', argument 1" - " does not support the buffer interface"); - } - if (PyObject_GetBuffer(obj0, &rgb_buffer1, PyBUF_SIMPLE)) { - SWIG_exception_fail(SWIG_RuntimeError, - "in method 'wrap_WebPEncodeBGR', unable to get buffer view"); - } - arg1 = (uint8_t *)rgb_buffer1.buf; - } - if (!(SWIG_IsOK((res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj1, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeBGR" "', argument " "2"" of type '" "int""'"); - } - temp2 = (int)(val); - arg2 = &temp2; - res2 = SWIG_AddTmpMask(ecode); - } - if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj2, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeBGR" "', argument " "3"" of type '" "int""'"); - } - temp3 = (int)(val); - arg3 = &temp3; - res3 = SWIG_AddTmpMask(ecode); - } - ecode5 = SWIG_AsVal_int(obj3, &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "wrap_WebPEncodeBGR" "', argument " "5"" of type '" "int""'"); - } - arg5 = (int)(val5); - ecode6 = SWIG_AsVal_int(obj4, &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "wrap_WebPEncodeBGR" "', argument " "6"" of type '" "int""'"); - } - arg6 = (int)(val6); - ecode7 = SWIG_AsVal_int(obj5, &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "wrap_WebPEncodeBGR" "', argument " "7"" of type '" "int""'"); - } - arg7 = (int)(val7); - ecode8 = SWIG_AsVal_float(obj6, &val8); - if (!SWIG_IsOK(ecode8)) { - SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "wrap_WebPEncodeBGR" "', argument " "8"" of type '" "float""'"); - } - arg8 = (float)(val8); - result = (uint8_t *)wrap_WebPEncodeBGR((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("wrap_WebPEncodeBGR", arg3, arg4)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - free(result); - return resultobj; -fail: - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_wrap_WebPEncodeRGBA(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - float arg8 ; - Py_buffer rgb_buffer1 ; - int temp2 ; - int res2 = 0 ; - int temp3 ; - int res3 = 0 ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - int val5 ; - int ecode5 = 0 ; - int val6 ; - int ecode6 = 0 ; - int val7 ; - int ecode7 = 0 ; - float val8 ; - int ecode8 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - PyObject * obj6 = 0 ; - uint8_t *result = 0 ; - - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:wrap_WebPEncodeRGBA",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail; - { - // NB: with Python < 2.6 the old style buffer protocol may be used: - // Py_ssize_t unused; - // PyObject_AsReadBuffer(obj0, (const void**)(&arg1), &unused); - if (!PyObject_CheckBuffer(obj0)) { - SWIG_exception_fail(SWIG_TypeError, - "in method 'wrap_WebPEncodeRGBA', argument 1" - " does not support the buffer interface"); - } - if (PyObject_GetBuffer(obj0, &rgb_buffer1, PyBUF_SIMPLE)) { - SWIG_exception_fail(SWIG_RuntimeError, - "in method 'wrap_WebPEncodeRGBA', unable to get buffer view"); - } - arg1 = (uint8_t *)rgb_buffer1.buf; - } - if (!(SWIG_IsOK((res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj1, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeRGBA" "', argument " "2"" of type '" "int""'"); - } - temp2 = (int)(val); - arg2 = &temp2; - res2 = SWIG_AddTmpMask(ecode); - } - if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj2, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeRGBA" "', argument " "3"" of type '" "int""'"); - } - temp3 = (int)(val); - arg3 = &temp3; - res3 = SWIG_AddTmpMask(ecode); - } - ecode5 = SWIG_AsVal_int(obj3, &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "wrap_WebPEncodeRGBA" "', argument " "5"" of type '" "int""'"); - } - arg5 = (int)(val5); - ecode6 = SWIG_AsVal_int(obj4, &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "wrap_WebPEncodeRGBA" "', argument " "6"" of type '" "int""'"); - } - arg6 = (int)(val6); - ecode7 = SWIG_AsVal_int(obj5, &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "wrap_WebPEncodeRGBA" "', argument " "7"" of type '" "int""'"); - } - arg7 = (int)(val7); - ecode8 = SWIG_AsVal_float(obj6, &val8); - if (!SWIG_IsOK(ecode8)) { - SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "wrap_WebPEncodeRGBA" "', argument " "8"" of type '" "float""'"); - } - arg8 = (float)(val8); - result = (uint8_t *)wrap_WebPEncodeRGBA((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("wrap_WebPEncodeRGBA", arg3, arg4)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - free(result); - return resultobj; -fail: - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_wrap_WebPEncodeBGRA(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - float arg8 ; - Py_buffer rgb_buffer1 ; - int temp2 ; - int res2 = 0 ; - int temp3 ; - int res3 = 0 ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - int val5 ; - int ecode5 = 0 ; - int val6 ; - int ecode6 = 0 ; - int val7 ; - int ecode7 = 0 ; - float val8 ; - int ecode8 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - PyObject * obj6 = 0 ; - uint8_t *result = 0 ; - - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"OOOOOOO:wrap_WebPEncodeBGRA",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail; - { - // NB: with Python < 2.6 the old style buffer protocol may be used: - // Py_ssize_t unused; - // PyObject_AsReadBuffer(obj0, (const void**)(&arg1), &unused); - if (!PyObject_CheckBuffer(obj0)) { - SWIG_exception_fail(SWIG_TypeError, - "in method 'wrap_WebPEncodeBGRA', argument 1" - " does not support the buffer interface"); - } - if (PyObject_GetBuffer(obj0, &rgb_buffer1, PyBUF_SIMPLE)) { - SWIG_exception_fail(SWIG_RuntimeError, - "in method 'wrap_WebPEncodeBGRA', unable to get buffer view"); - } - arg1 = (uint8_t *)rgb_buffer1.buf; - } - if (!(SWIG_IsOK((res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj1, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeBGRA" "', argument " "2"" of type '" "int""'"); - } - temp2 = (int)(val); - arg2 = &temp2; - res2 = SWIG_AddTmpMask(ecode); - } - if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj2, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeBGRA" "', argument " "3"" of type '" "int""'"); - } - temp3 = (int)(val); - arg3 = &temp3; - res3 = SWIG_AddTmpMask(ecode); - } - ecode5 = SWIG_AsVal_int(obj3, &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "wrap_WebPEncodeBGRA" "', argument " "5"" of type '" "int""'"); - } - arg5 = (int)(val5); - ecode6 = SWIG_AsVal_int(obj4, &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "wrap_WebPEncodeBGRA" "', argument " "6"" of type '" "int""'"); - } - arg6 = (int)(val6); - ecode7 = SWIG_AsVal_int(obj5, &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "wrap_WebPEncodeBGRA" "', argument " "7"" of type '" "int""'"); - } - arg7 = (int)(val7); - ecode8 = SWIG_AsVal_float(obj6, &val8); - if (!SWIG_IsOK(ecode8)) { - SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "wrap_WebPEncodeBGRA" "', argument " "8"" of type '" "float""'"); - } - arg8 = (float)(val8); - result = (uint8_t *)wrap_WebPEncodeBGRA((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("wrap_WebPEncodeBGRA", arg3, arg4)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - free(result); - return resultobj; -fail: - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_wrap_WebPEncodeLosslessRGB(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - Py_buffer rgb_buffer1 ; - int temp2 ; - int res2 = 0 ; - int temp3 ; - int res3 = 0 ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - int val5 ; - int ecode5 = 0 ; - int val6 ; - int ecode6 = 0 ; - int val7 ; - int ecode7 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - uint8_t *result = 0 ; - - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"OOOOOO:wrap_WebPEncodeLosslessRGB",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; - { - // NB: with Python < 2.6 the old style buffer protocol may be used: - // Py_ssize_t unused; - // PyObject_AsReadBuffer(obj0, (const void**)(&arg1), &unused); - if (!PyObject_CheckBuffer(obj0)) { - SWIG_exception_fail(SWIG_TypeError, - "in method 'wrap_WebPEncodeLosslessRGB', argument 1" - " does not support the buffer interface"); - } - if (PyObject_GetBuffer(obj0, &rgb_buffer1, PyBUF_SIMPLE)) { - SWIG_exception_fail(SWIG_RuntimeError, - "in method 'wrap_WebPEncodeLosslessRGB', unable to get buffer view"); - } - arg1 = (uint8_t *)rgb_buffer1.buf; - } - if (!(SWIG_IsOK((res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj1, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeLosslessRGB" "', argument " "2"" of type '" "int""'"); - } - temp2 = (int)(val); - arg2 = &temp2; - res2 = SWIG_AddTmpMask(ecode); - } - if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj2, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeLosslessRGB" "', argument " "3"" of type '" "int""'"); - } - temp3 = (int)(val); - arg3 = &temp3; - res3 = SWIG_AddTmpMask(ecode); - } - ecode5 = SWIG_AsVal_int(obj3, &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "wrap_WebPEncodeLosslessRGB" "', argument " "5"" of type '" "int""'"); - } - arg5 = (int)(val5); - ecode6 = SWIG_AsVal_int(obj4, &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "wrap_WebPEncodeLosslessRGB" "', argument " "6"" of type '" "int""'"); - } - arg6 = (int)(val6); - ecode7 = SWIG_AsVal_int(obj5, &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "wrap_WebPEncodeLosslessRGB" "', argument " "7"" of type '" "int""'"); - } - arg7 = (int)(val7); - result = (uint8_t *)wrap_WebPEncodeLosslessRGB((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("wrap_WebPEncodeLosslessRGB", arg3, arg4)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - free(result); - return resultobj; -fail: - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_wrap_WebPEncodeLosslessBGR(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - Py_buffer rgb_buffer1 ; - int temp2 ; - int res2 = 0 ; - int temp3 ; - int res3 = 0 ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - int val5 ; - int ecode5 = 0 ; - int val6 ; - int ecode6 = 0 ; - int val7 ; - int ecode7 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - uint8_t *result = 0 ; - - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"OOOOOO:wrap_WebPEncodeLosslessBGR",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; - { - // NB: with Python < 2.6 the old style buffer protocol may be used: - // Py_ssize_t unused; - // PyObject_AsReadBuffer(obj0, (const void**)(&arg1), &unused); - if (!PyObject_CheckBuffer(obj0)) { - SWIG_exception_fail(SWIG_TypeError, - "in method 'wrap_WebPEncodeLosslessBGR', argument 1" - " does not support the buffer interface"); - } - if (PyObject_GetBuffer(obj0, &rgb_buffer1, PyBUF_SIMPLE)) { - SWIG_exception_fail(SWIG_RuntimeError, - "in method 'wrap_WebPEncodeLosslessBGR', unable to get buffer view"); - } - arg1 = (uint8_t *)rgb_buffer1.buf; - } - if (!(SWIG_IsOK((res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj1, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeLosslessBGR" "', argument " "2"" of type '" "int""'"); - } - temp2 = (int)(val); - arg2 = &temp2; - res2 = SWIG_AddTmpMask(ecode); - } - if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj2, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeLosslessBGR" "', argument " "3"" of type '" "int""'"); - } - temp3 = (int)(val); - arg3 = &temp3; - res3 = SWIG_AddTmpMask(ecode); - } - ecode5 = SWIG_AsVal_int(obj3, &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "wrap_WebPEncodeLosslessBGR" "', argument " "5"" of type '" "int""'"); - } - arg5 = (int)(val5); - ecode6 = SWIG_AsVal_int(obj4, &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "wrap_WebPEncodeLosslessBGR" "', argument " "6"" of type '" "int""'"); - } - arg6 = (int)(val6); - ecode7 = SWIG_AsVal_int(obj5, &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "wrap_WebPEncodeLosslessBGR" "', argument " "7"" of type '" "int""'"); - } - arg7 = (int)(val7); - result = (uint8_t *)wrap_WebPEncodeLosslessBGR((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("wrap_WebPEncodeLosslessBGR", arg3, arg4)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - free(result); - return resultobj; -fail: - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_wrap_WebPEncodeLosslessRGBA(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - Py_buffer rgb_buffer1 ; - int temp2 ; - int res2 = 0 ; - int temp3 ; - int res3 = 0 ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - int val5 ; - int ecode5 = 0 ; - int val6 ; - int ecode6 = 0 ; - int val7 ; - int ecode7 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - uint8_t *result = 0 ; - - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"OOOOOO:wrap_WebPEncodeLosslessRGBA",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; - { - // NB: with Python < 2.6 the old style buffer protocol may be used: - // Py_ssize_t unused; - // PyObject_AsReadBuffer(obj0, (const void**)(&arg1), &unused); - if (!PyObject_CheckBuffer(obj0)) { - SWIG_exception_fail(SWIG_TypeError, - "in method 'wrap_WebPEncodeLosslessRGBA', argument 1" - " does not support the buffer interface"); - } - if (PyObject_GetBuffer(obj0, &rgb_buffer1, PyBUF_SIMPLE)) { - SWIG_exception_fail(SWIG_RuntimeError, - "in method 'wrap_WebPEncodeLosslessRGBA', unable to get buffer view"); - } - arg1 = (uint8_t *)rgb_buffer1.buf; - } - if (!(SWIG_IsOK((res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj1, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeLosslessRGBA" "', argument " "2"" of type '" "int""'"); - } - temp2 = (int)(val); - arg2 = &temp2; - res2 = SWIG_AddTmpMask(ecode); - } - if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj2, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeLosslessRGBA" "', argument " "3"" of type '" "int""'"); - } - temp3 = (int)(val); - arg3 = &temp3; - res3 = SWIG_AddTmpMask(ecode); - } - ecode5 = SWIG_AsVal_int(obj3, &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "wrap_WebPEncodeLosslessRGBA" "', argument " "5"" of type '" "int""'"); - } - arg5 = (int)(val5); - ecode6 = SWIG_AsVal_int(obj4, &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "wrap_WebPEncodeLosslessRGBA" "', argument " "6"" of type '" "int""'"); - } - arg6 = (int)(val6); - ecode7 = SWIG_AsVal_int(obj5, &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "wrap_WebPEncodeLosslessRGBA" "', argument " "7"" of type '" "int""'"); - } - arg7 = (int)(val7); - result = (uint8_t *)wrap_WebPEncodeLosslessRGBA((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("wrap_WebPEncodeLosslessRGBA", arg3, arg4)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - free(result); - return resultobj; -fail: - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - return NULL; -} - - -SWIGINTERN PyObject *_wrap_wrap_WebPEncodeLosslessBGRA(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - uint8_t *arg1 = (uint8_t *) 0 ; - int *arg2 = (int *) 0 ; - int *arg3 = (int *) 0 ; - int *arg4 = (int *) 0 ; - int arg5 ; - int arg6 ; - int arg7 ; - Py_buffer rgb_buffer1 ; - int temp2 ; - int res2 = 0 ; - int temp3 ; - int res3 = 0 ; - int temp4 ; - int res4 = SWIG_TMPOBJ ; - int val5 ; - int ecode5 = 0 ; - int val6 ; - int ecode6 = 0 ; - int val7 ; - int ecode7 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - PyObject * obj4 = 0 ; - PyObject * obj5 = 0 ; - uint8_t *result = 0 ; - - arg4 = &temp4; - if (!PyArg_ParseTuple(args,(char *)"OOOOOO:wrap_WebPEncodeLosslessBGRA",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; - { - // NB: with Python < 2.6 the old style buffer protocol may be used: - // Py_ssize_t unused; - // PyObject_AsReadBuffer(obj0, (const void**)(&arg1), &unused); - if (!PyObject_CheckBuffer(obj0)) { - SWIG_exception_fail(SWIG_TypeError, - "in method 'wrap_WebPEncodeLosslessBGRA', argument 1" - " does not support the buffer interface"); - } - if (PyObject_GetBuffer(obj0, &rgb_buffer1, PyBUF_SIMPLE)) { - SWIG_exception_fail(SWIG_RuntimeError, - "in method 'wrap_WebPEncodeLosslessBGRA', unable to get buffer view"); - } - arg1 = (uint8_t *)rgb_buffer1.buf; - } - if (!(SWIG_IsOK((res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj1, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeLosslessBGRA" "', argument " "2"" of type '" "int""'"); - } - temp2 = (int)(val); - arg2 = &temp2; - res2 = SWIG_AddTmpMask(ecode); - } - if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_int,0))))) { - int val; - int ecode = SWIG_AsVal_int(obj2, &val); - if (!SWIG_IsOK(ecode)) { - SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "wrap_WebPEncodeLosslessBGRA" "', argument " "3"" of type '" "int""'"); - } - temp3 = (int)(val); - arg3 = &temp3; - res3 = SWIG_AddTmpMask(ecode); - } - ecode5 = SWIG_AsVal_int(obj3, &val5); - if (!SWIG_IsOK(ecode5)) { - SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "wrap_WebPEncodeLosslessBGRA" "', argument " "5"" of type '" "int""'"); - } - arg5 = (int)(val5); - ecode6 = SWIG_AsVal_int(obj4, &val6); - if (!SWIG_IsOK(ecode6)) { - SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "wrap_WebPEncodeLosslessBGRA" "', argument " "6"" of type '" "int""'"); - } - arg6 = (int)(val6); - ecode7 = SWIG_AsVal_int(obj5, &val7); - if (!SWIG_IsOK(ecode7)) { - SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "wrap_WebPEncodeLosslessBGRA" "', argument " "7"" of type '" "int""'"); - } - arg7 = (int)(val7); - result = (uint8_t *)wrap_WebPEncodeLosslessBGRA((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6,arg7); - { - resultobj = PyString_FromStringAndSize( - (const char*)result, - (result == NULL) ? 0 : ReturnedBufferSize("wrap_WebPEncodeLosslessBGRA", arg3, arg4)); - } - if (SWIG_IsTmpObj(res4)) { - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_From_int((*arg4))); - } else { - int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0 ) : 0 ; - resultobj = SWIG_Python_AppendOutput(resultobj, SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags)); - } - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - free(result); - return resultobj; -fail: - { - PyBuffer_Release(&rgb_buffer1); - } - if (SWIG_IsNewObj(res2)) free((char*)arg2); - if (SWIG_IsNewObj(res3)) free((char*)arg3); - return NULL; -} - - -static PyMethodDef SwigMethods[] = { - { "SWIG_PyInstanceMethod_New", SWIG_PyInstanceMethod_New, METH_O, NULL}, - { "WebPGetDecoderVersion", _wrap_WebPGetDecoderVersion, METH_VARARGS, (char *)"WebPGetDecoderVersion() -> int"}, - { "WebPGetInfo", _wrap_WebPGetInfo, METH_VARARGS, (char *)"WebPGetInfo(uint8_t data) -> (width, height)"}, - { "WebPDecodeRGB", _wrap_WebPDecodeRGB, METH_VARARGS, (char *)"WebPDecodeRGB(uint8_t data) -> (rgb, width, height)"}, - { "WebPDecodeRGBA", _wrap_WebPDecodeRGBA, METH_VARARGS, (char *)"WebPDecodeRGBA(uint8_t data) -> (rgb, width, height)"}, - { "WebPDecodeARGB", _wrap_WebPDecodeARGB, METH_VARARGS, (char *)"WebPDecodeARGB(uint8_t data) -> (rgb, width, height)"}, - { "WebPDecodeBGR", _wrap_WebPDecodeBGR, METH_VARARGS, (char *)"WebPDecodeBGR(uint8_t data) -> (rgb, width, height)"}, - { "WebPDecodeBGRA", _wrap_WebPDecodeBGRA, METH_VARARGS, (char *)"WebPDecodeBGRA(uint8_t data) -> (rgb, width, height)"}, - { "WebPGetEncoderVersion", _wrap_WebPGetEncoderVersion, METH_VARARGS, (char *)"WebPGetEncoderVersion() -> int"}, - { "wrap_WebPEncodeRGB", _wrap_wrap_WebPEncodeRGB, METH_VARARGS, (char *)"private, do not call directly."}, - { "wrap_WebPEncodeBGR", _wrap_wrap_WebPEncodeBGR, METH_VARARGS, (char *)"private, do not call directly."}, - { "wrap_WebPEncodeRGBA", _wrap_wrap_WebPEncodeRGBA, METH_VARARGS, (char *)"private, do not call directly."}, - { "wrap_WebPEncodeBGRA", _wrap_wrap_WebPEncodeBGRA, METH_VARARGS, (char *)"private, do not call directly."}, - { "wrap_WebPEncodeLosslessRGB", _wrap_wrap_WebPEncodeLosslessRGB, METH_VARARGS, (char *)"private, do not call directly."}, - { "wrap_WebPEncodeLosslessBGR", _wrap_wrap_WebPEncodeLosslessBGR, METH_VARARGS, (char *)"private, do not call directly."}, - { "wrap_WebPEncodeLosslessRGBA", _wrap_wrap_WebPEncodeLosslessRGBA, METH_VARARGS, (char *)"private, do not call directly."}, - { "wrap_WebPEncodeLosslessBGRA", _wrap_wrap_WebPEncodeLosslessBGRA, METH_VARARGS, (char *)"private, do not call directly."}, - { NULL, NULL, 0, NULL } -}; - - -/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ - -static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_uint8_t = {"_p_uint8_t", "uint8_t *", 0, 0, (void*)0, 0}; - -static swig_type_info *swig_type_initial[] = { - &_swigt__p_char, - &_swigt__p_int, - &_swigt__p_uint8_t, -}; - -static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_uint8_t[] = { {&_swigt__p_uint8_t, 0, 0, 0},{0, 0, 0, 0}}; - -static swig_cast_info *swig_cast_initial[] = { - _swigc__p_char, - _swigc__p_int, - _swigc__p_uint8_t, -}; - - -/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ - -static swig_const_info swig_const_table[] = { -{0, 0, 0, 0.0, 0, 0}}; - -#ifdef __cplusplus -} -#endif -/* ----------------------------------------------------------------------------- - * Type initialization: - * This problem is tough by the requirement that no dynamic - * memory is used. Also, since swig_type_info structures store pointers to - * swig_cast_info structures and swig_cast_info structures store pointers back - * to swig_type_info structures, we need some lookup code at initialization. - * The idea is that swig generates all the structures that are needed. - * The runtime then collects these partially filled structures. - * The SWIG_InitializeModule function takes these initial arrays out of - * swig_module, and does all the lookup, filling in the swig_module.types - * array with the correct data and linking the correct swig_cast_info - * structures together. - * - * The generated swig_type_info structures are assigned statically to an initial - * array. We just loop through that array, and handle each type individually. - * First we lookup if this type has been already loaded, and if so, use the - * loaded structure instead of the generated one. Then we have to fill in the - * cast linked list. The cast data is initially stored in something like a - * two-dimensional array. Each row corresponds to a type (there are the same - * number of rows as there are in the swig_type_initial array). Each entry in - * a column is one of the swig_cast_info structures for that type. - * The cast_initial array is actually an array of arrays, because each row has - * a variable number of columns. So to actually build the cast linked list, - * we find the array of casts associated with the type, and loop through it - * adding the casts to the list. The one last trick we need to do is making - * sure the type pointer in the swig_cast_info struct is correct. - * - * First off, we lookup the cast->type name to see if it is already loaded. - * There are three cases to handle: - * 1) If the cast->type has already been loaded AND the type we are adding - * casting info to has not been loaded (it is in this module), THEN we - * replace the cast->type pointer with the type pointer that has already - * been loaded. - * 2) If BOTH types (the one we are adding casting info to, and the - * cast->type) are loaded, THEN the cast info has already been loaded by - * the previous module so we just ignore it. - * 3) Finally, if cast->type has not already been loaded, then we add that - * swig_cast_info to the linked list (because the cast->type) pointer will - * be correct. - * ----------------------------------------------------------------------------- */ - -#ifdef __cplusplus -extern "C" { -#if 0 -} /* c-mode */ -#endif -#endif - -#if 0 -#define SWIGRUNTIME_DEBUG -#endif - - -SWIGRUNTIME void -SWIG_InitializeModule(void *clientdata) { - size_t i; - swig_module_info *module_head, *iter; - int init; - - /* check to see if the circular list has been setup, if not, set it up */ - if (swig_module.next==0) { - /* Initialize the swig_module */ - swig_module.type_initial = swig_type_initial; - swig_module.cast_initial = swig_cast_initial; - swig_module.next = &swig_module; - init = 1; - } else { - init = 0; - } - - /* Try and load any already created modules */ - module_head = SWIG_GetModule(clientdata); - if (!module_head) { - /* This is the first module loaded for this interpreter */ - /* so set the swig module into the interpreter */ - SWIG_SetModule(clientdata, &swig_module); - } else { - /* the interpreter has loaded a SWIG module, but has it loaded this one? */ - iter=module_head; - do { - if (iter==&swig_module) { - /* Our module is already in the list, so there's nothing more to do. */ - return; - } - iter=iter->next; - } while (iter!= module_head); - - /* otherwise we must add our module into the list */ - swig_module.next = module_head->next; - module_head->next = &swig_module; - } - - /* When multiple interpreters are used, a module could have already been initialized in - a different interpreter, but not yet have a pointer in this interpreter. - In this case, we do not want to continue adding types... everything should be - set up already */ - if (init == 0) return; - - /* Now work on filling in swig_module.types */ -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: size %d\n", swig_module.size); -#endif - for (i = 0; i < swig_module.size; ++i) { - swig_type_info *type = 0; - swig_type_info *ret; - swig_cast_info *cast; - -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); -#endif - - /* if there is another module already loaded */ - if (swig_module.next != &swig_module) { - type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); - } - if (type) { - /* Overwrite clientdata field */ -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: found type %s\n", type->name); -#endif - if (swig_module.type_initial[i]->clientdata) { - type->clientdata = swig_module.type_initial[i]->clientdata; -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); -#endif - } - } else { - type = swig_module.type_initial[i]; - } - - /* Insert casting types */ - cast = swig_module.cast_initial[i]; - while (cast->type) { - /* Don't need to add information already in the list */ - ret = 0; -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); -#endif - if (swig_module.next != &swig_module) { - ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); -#ifdef SWIGRUNTIME_DEBUG - if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); -#endif - } - if (ret) { - if (type == swig_module.type_initial[i]) { -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: skip old type %s\n", ret->name); -#endif - cast->type = ret; - ret = 0; - } else { - /* Check for casting already in the list */ - swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); -#ifdef SWIGRUNTIME_DEBUG - if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); -#endif - if (!ocast) ret = 0; - } - } - - if (!ret) { -#ifdef SWIGRUNTIME_DEBUG - printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); -#endif - if (type->cast) { - type->cast->prev = cast; - cast->next = type->cast; - } - type->cast = cast; - } - cast++; - } - /* Set entry in modules->types array equal to the type */ - swig_module.types[i] = type; - } - swig_module.types[i] = 0; - -#ifdef SWIGRUNTIME_DEBUG - printf("**** SWIG_InitializeModule: Cast List ******\n"); - for (i = 0; i < swig_module.size; ++i) { - int j = 0; - swig_cast_info *cast = swig_module.cast_initial[i]; - printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); - while (cast->type) { - printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); - cast++; - ++j; - } - printf("---- Total casts: %d\n",j); - } - printf("**** SWIG_InitializeModule: Cast List ******\n"); -#endif -} - -/* This function will propagate the clientdata field of type to -* any new swig_type_info structures that have been added into the list -* of equivalent types. It is like calling -* SWIG_TypeClientData(type, clientdata) a second time. -*/ -SWIGRUNTIME void -SWIG_PropagateClientData(void) { - size_t i; - swig_cast_info *equiv; - static int init_run = 0; - - if (init_run) return; - init_run = 1; - - for (i = 0; i < swig_module.size; i++) { - if (swig_module.types[i]->clientdata) { - equiv = swig_module.types[i]->cast; - while (equiv) { - if (!equiv->converter) { - if (equiv->type && !equiv->type->clientdata) - SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); - } - equiv = equiv->next; - } - } - } -} - -#ifdef __cplusplus -#if 0 -{ - /* c-mode */ -#endif -} -#endif - - - -#ifdef __cplusplus -extern "C" { -#endif - - /* Python-specific SWIG API */ -#define SWIG_newvarlink() SWIG_Python_newvarlink() -#define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr) -#define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants) - - /* ----------------------------------------------------------------------------- - * global variable support code. - * ----------------------------------------------------------------------------- */ - - typedef struct swig_globalvar { - char *name; /* Name of global variable */ - PyObject *(*get_attr)(void); /* Return the current value */ - int (*set_attr)(PyObject *); /* Set the value */ - struct swig_globalvar *next; - } swig_globalvar; - - typedef struct swig_varlinkobject { - PyObject_HEAD - swig_globalvar *vars; - } swig_varlinkobject; - - SWIGINTERN PyObject * - swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) { -#if PY_VERSION_HEX >= 0x03000000 - return PyUnicode_InternFromString(""); -#else - return PyString_FromString(""); -#endif - } - - SWIGINTERN PyObject * - swig_varlink_str(swig_varlinkobject *v) { -#if PY_VERSION_HEX >= 0x03000000 - PyObject *str = PyUnicode_InternFromString("("); - PyObject *tail; - PyObject *joined; - swig_globalvar *var; - for (var = v->vars; var; var=var->next) { - tail = PyUnicode_FromString(var->name); - joined = PyUnicode_Concat(str, tail); - Py_DecRef(str); - Py_DecRef(tail); - str = joined; - if (var->next) { - tail = PyUnicode_InternFromString(", "); - joined = PyUnicode_Concat(str, tail); - Py_DecRef(str); - Py_DecRef(tail); - str = joined; - } - } - tail = PyUnicode_InternFromString(")"); - joined = PyUnicode_Concat(str, tail); - Py_DecRef(str); - Py_DecRef(tail); - str = joined; -#else - PyObject *str = PyString_FromString("("); - swig_globalvar *var; - for (var = v->vars; var; var=var->next) { - PyString_ConcatAndDel(&str,PyString_FromString(var->name)); - if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", ")); - } - PyString_ConcatAndDel(&str,PyString_FromString(")")); -#endif - return str; - } - - SWIGINTERN int - swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) { - char *tmp; - PyObject *str = swig_varlink_str(v); - fprintf(fp,"Swig global variables "); - fprintf(fp,"%s\n", tmp = SWIG_Python_str_AsChar(str)); - SWIG_Python_str_DelForPy3(tmp); - Py_DECREF(str); - return 0; - } - - SWIGINTERN void - swig_varlink_dealloc(swig_varlinkobject *v) { - swig_globalvar *var = v->vars; - while (var) { - swig_globalvar *n = var->next; - free(var->name); - free(var); - var = n; - } - } - - SWIGINTERN PyObject * - swig_varlink_getattr(swig_varlinkobject *v, char *n) { - PyObject *res = NULL; - swig_globalvar *var = v->vars; - while (var) { - if (strcmp(var->name,n) == 0) { - res = (*var->get_attr)(); - break; - } - var = var->next; - } - if (res == NULL && !PyErr_Occurred()) { - PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n); - } - return res; - } - - SWIGINTERN int - swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) { - int res = 1; - swig_globalvar *var = v->vars; - while (var) { - if (strcmp(var->name,n) == 0) { - res = (*var->set_attr)(p); - break; - } - var = var->next; - } - if (res == 1 && !PyErr_Occurred()) { - PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n); - } - return res; - } - - SWIGINTERN PyTypeObject* - swig_varlink_type(void) { - static char varlink__doc__[] = "Swig var link object"; - static PyTypeObject varlink_type; - static int type_init = 0; - if (!type_init) { - const PyTypeObject tmp = { -#if PY_VERSION_HEX >= 0x03000000 - PyVarObject_HEAD_INIT(NULL, 0) -#else - PyObject_HEAD_INIT(NULL) - 0, /* ob_size */ -#endif - (char *)"swigvarlink", /* tp_name */ - sizeof(swig_varlinkobject), /* tp_basicsize */ - 0, /* tp_itemsize */ - (destructor) swig_varlink_dealloc, /* tp_dealloc */ - (printfunc) swig_varlink_print, /* tp_print */ - (getattrfunc) swig_varlink_getattr, /* tp_getattr */ - (setattrfunc) swig_varlink_setattr, /* tp_setattr */ - 0, /* tp_compare */ - (reprfunc) swig_varlink_repr, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - (reprfunc) swig_varlink_str, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - 0, /* tp_flags */ - varlink__doc__, /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ -#if PY_VERSION_HEX >= 0x02020000 - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ -#endif -#if PY_VERSION_HEX >= 0x02030000 - 0, /* tp_del */ -#endif -#if PY_VERSION_HEX >= 0x02060000 - 0, /* tp_version_tag */ -#endif -#if PY_VERSION_HEX >= 0x03040000 - 0, /* tp_finalize */ -#endif -#ifdef COUNT_ALLOCS - 0, /* tp_allocs */ - 0, /* tp_frees */ - 0, /* tp_maxalloc */ -#if PY_VERSION_HEX >= 0x02050000 - 0, /* tp_prev */ -#endif - 0 /* tp_next */ -#endif - }; - varlink_type = tmp; - type_init = 1; -#if PY_VERSION_HEX < 0x02020000 - varlink_type.ob_type = &PyType_Type; -#else - if (PyType_Ready(&varlink_type) < 0) - return NULL; -#endif - } - return &varlink_type; - } - - /* Create a variable linking object for use later */ - SWIGINTERN PyObject * - SWIG_Python_newvarlink(void) { - swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type()); - if (result) { - result->vars = 0; - } - return ((PyObject*) result); - } - - SWIGINTERN void - SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) { - swig_varlinkobject *v = (swig_varlinkobject *) p; - swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar)); - if (gv) { - size_t size = strlen(name)+1; - gv->name = (char *)malloc(size); - if (gv->name) { - strncpy(gv->name,name,size); - gv->get_attr = get_attr; - gv->set_attr = set_attr; - gv->next = v->vars; - } - } - v->vars = gv; - } - - SWIGINTERN PyObject * - SWIG_globals(void) { - static PyObject *_SWIG_globals = 0; - if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink(); - return _SWIG_globals; - } - - /* ----------------------------------------------------------------------------- - * constants/methods manipulation - * ----------------------------------------------------------------------------- */ - - /* Install Constants */ - SWIGINTERN void - SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) { - PyObject *obj = 0; - size_t i; - for (i = 0; constants[i].type; ++i) { - switch(constants[i].type) { - case SWIG_PY_POINTER: - obj = SWIG_InternalNewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0); - break; - case SWIG_PY_BINARY: - obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype)); - break; - default: - obj = 0; - break; - } - if (obj) { - PyDict_SetItemString(d, constants[i].name, obj); - Py_DECREF(obj); - } - } - } - - /* -----------------------------------------------------------------------------*/ - /* Fix SwigMethods to carry the callback ptrs when needed */ - /* -----------------------------------------------------------------------------*/ - - SWIGINTERN void - SWIG_Python_FixMethods(PyMethodDef *methods, - swig_const_info *const_table, - swig_type_info **types, - swig_type_info **types_initial) { - size_t i; - for (i = 0; methods[i].ml_name; ++i) { - const char *c = methods[i].ml_doc; - if (!c) continue; - c = strstr(c, "swig_ptr: "); - if (c) { - int j; - swig_const_info *ci = 0; - const char *name = c + 10; - for (j = 0; const_table[j].type; ++j) { - if (strncmp(const_table[j].name, name, - strlen(const_table[j].name)) == 0) { - ci = &(const_table[j]); - break; - } - } - if (ci) { - void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0; - if (ptr) { - size_t shift = (ci->ptype) - types; - swig_type_info *ty = types_initial[shift]; - size_t ldoc = (c - methods[i].ml_doc); - size_t lptr = strlen(ty->name)+2*sizeof(void*)+2; - char *ndoc = (char*)malloc(ldoc + lptr + 10); - if (ndoc) { - char *buff = ndoc; - memcpy(buff, methods[i].ml_doc, ldoc); - buff += ldoc; - memcpy(buff, "swig_ptr: ", 10); - buff += 10; - SWIG_PackVoidPtr(buff, ptr, ty->name, lptr); - methods[i].ml_doc = ndoc; - } - } - } - } - } - } - -#ifdef __cplusplus -} -#endif - -/* -----------------------------------------------------------------------------* - * Partial Init method - * -----------------------------------------------------------------------------*/ - -#ifdef __cplusplus -extern "C" -#endif - -SWIGEXPORT -#if PY_VERSION_HEX >= 0x03000000 -PyObject* -#else -void -#endif -SWIG_init(void) { - PyObject *m, *d, *md; -#if PY_VERSION_HEX >= 0x03000000 - static struct PyModuleDef SWIG_module = { -# if PY_VERSION_HEX >= 0x03020000 - PyModuleDef_HEAD_INIT, -# else - { - PyObject_HEAD_INIT(NULL) - NULL, /* m_init */ - 0, /* m_index */ - NULL, /* m_copy */ - }, -# endif - (char *) SWIG_name, - NULL, - -1, - SwigMethods, - NULL, - NULL, - NULL, - NULL - }; -#endif - -#if defined(SWIGPYTHON_BUILTIN) - static SwigPyClientData SwigPyObject_clientdata = { - 0, 0, 0, 0, 0, 0, 0 - }; - static PyGetSetDef this_getset_def = { - (char *)"this", &SwigPyBuiltin_ThisClosure, NULL, NULL, NULL - }; - static SwigPyGetSet thisown_getset_closure = { - SwigPyObject_own, - SwigPyObject_own - }; - static PyGetSetDef thisown_getset_def = { - (char *)"thisown", SwigPyBuiltin_GetterClosure, SwigPyBuiltin_SetterClosure, NULL, &thisown_getset_closure - }; - PyTypeObject *builtin_pytype; - int builtin_base_count; - swig_type_info *builtin_basetype; - PyObject *tuple; - PyGetSetDescrObject *static_getset; - PyTypeObject *metatype; - PyTypeObject *swigpyobject; - SwigPyClientData *cd; - PyObject *public_interface, *public_symbol; - PyObject *this_descr; - PyObject *thisown_descr; - PyObject *self = 0; - int i; - - (void)builtin_pytype; - (void)builtin_base_count; - (void)builtin_basetype; - (void)tuple; - (void)static_getset; - (void)self; - - /* Metaclass is used to implement static member variables */ - metatype = SwigPyObjectType(); - assert(metatype); -#endif - - /* Fix SwigMethods to carry the callback ptrs when needed */ - SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial); - -#if PY_VERSION_HEX >= 0x03000000 - m = PyModule_Create(&SWIG_module); -#else - m = Py_InitModule((char *) SWIG_name, SwigMethods); -#endif - - md = d = PyModule_GetDict(m); - (void)md; - - SWIG_InitializeModule(0); - -#ifdef SWIGPYTHON_BUILTIN - swigpyobject = SwigPyObject_TypeOnce(); - - SwigPyObject_stype = SWIG_MangledTypeQuery("_p_SwigPyObject"); - assert(SwigPyObject_stype); - cd = (SwigPyClientData*) SwigPyObject_stype->clientdata; - if (!cd) { - SwigPyObject_stype->clientdata = &SwigPyObject_clientdata; - SwigPyObject_clientdata.pytype = swigpyobject; - } else if (swigpyobject->tp_basicsize != cd->pytype->tp_basicsize) { - PyErr_SetString(PyExc_RuntimeError, "Import error: attempted to load two incompatible swig-generated modules."); -# if PY_VERSION_HEX >= 0x03000000 - return NULL; -# else - return; -# endif - } - - /* All objects have a 'this' attribute */ - this_descr = PyDescr_NewGetSet(SwigPyObject_type(), &this_getset_def); - (void)this_descr; - - /* All objects have a 'thisown' attribute */ - thisown_descr = PyDescr_NewGetSet(SwigPyObject_type(), &thisown_getset_def); - (void)thisown_descr; - - public_interface = PyList_New(0); - public_symbol = 0; - (void)public_symbol; - - PyDict_SetItemString(md, "__all__", public_interface); - Py_DECREF(public_interface); - for (i = 0; SwigMethods[i].ml_name != NULL; ++i) - SwigPyBuiltin_AddPublicSymbol(public_interface, SwigMethods[i].ml_name); - for (i = 0; swig_const_table[i].name != 0; ++i) - SwigPyBuiltin_AddPublicSymbol(public_interface, swig_const_table[i].name); -#endif - - SWIG_InstallConstants(d,swig_const_table); - -#if PY_VERSION_HEX >= 0x03000000 - return m; -#else - return; -#endif -} - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/setup.py b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/setup.py deleted file mode 100644 index 3a3bfe19..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/swig/setup.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/python - -"""distutils script for libwebp python module.""" - -from distutils.core import setup -from distutils.extension import Extension -import os -import shutil -import tempfile - -tmpdir = tempfile.mkdtemp() -package = "com.google.webp" -package_path = os.path.join(tmpdir, *package.split(".")) -os.makedirs(package_path) - -# Create __init_.py files along the package path. -initpy_path = tmpdir -for d in package.split("."): - initpy_path = os.path.join(initpy_path, d) - open(os.path.join(initpy_path, "__init__.py"), "w").close() - -shutil.copy2("libwebp.py", package_path) -setup(name="libwebp", - version="0.0", - description="libwebp python wrapper", - long_description="Provides access to 'simple' libwebp decode interface", - license="BSD", - url="http://developers.google.com/speed/webp", - ext_package=package, - ext_modules=[Extension("_libwebp", - ["libwebp_python_wrap.c"], - libraries=["webp"], - ), - ], - package_dir={"": tmpdir}, - packages=["com", "com.google", "com.google.webp"], - py_modules=[package + ".libwebp"], - ) - -shutil.rmtree(tmpdir) diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/index.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/index.html deleted file mode 100644 index 10873a98..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/index.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - simple Javascript WebP decoding demo - - - - - - -

- WebP in JavaScript demo - -

-

- WebP decoder in JavaScript, using libwebp compiled with - Emscripten. -

-

- -

-

Timing: N/A

- Your browser does not support canvas - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/index_wasm.html b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/index_wasm.html deleted file mode 100644 index b77c22c4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/index_wasm.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - simple Javascript WebP decoding demo, using Web-Assembly (WASM) - - - - - -

- WebP demo using Web-Assembly - -

-

- WASM version of the WebP decoder, using libwebp compiled with - Emscripten. -

-

- -

-

Timing: N/A

- Your browser does not support canvas - - diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/test_webp_js.webp b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/test_webp_js.webp deleted file mode 100644 index f798f556..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/test_webp_js.webp and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/test_webp_wasm.webp b/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/test_webp_wasm.webp deleted file mode 100644 index f798f556..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Carthage/Checkouts/libwebp/webp_js/test_webp_wasm.webp and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Example-Mac.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Example-Mac.xcodeproj/project.pbxproj deleted file mode 100644 index a2ae3b02..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Example-Mac.xcodeproj/project.pbxproj +++ /dev/null @@ -1,446 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 689613C6208EA95800D2095C /* GIFViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 689613C4208EA95800D2095C /* GIFViewController.m */; }; - 689613C7208EA95800D2095C /* GIFViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 689613C5208EA95800D2095C /* GIFViewController.xib */; }; - 9C8BAA38D285DF744BB7A18E /* libPods-Example-Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 30CF2F690D5332945E2257CA /* libPods-Example-Mac.a */; }; - 9D9328C51C3C60E700E1F1D3 /* PINViewWithBackgroundColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D9328C41C3C60E700E1F1D3 /* PINViewWithBackgroundColor.m */; }; - 9D9328C91C3D09BB00E1F1D3 /* WebPViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D9328C71C3D09BB00E1F1D3 /* WebPViewController.m */; }; - 9D9328CA1C3D09BB00E1F1D3 /* WebPViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9D9328C81C3D09BB00E1F1D3 /* WebPViewController.xib */; }; - 9D9328CF1C3D0C0D00E1F1D3 /* ScrollViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D9328CD1C3D0C0D00E1F1D3 /* ScrollViewController.m */; }; - 9D9328D01C3D0C0D00E1F1D3 /* ScrollViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9D9328CE1C3D0C0D00E1F1D3 /* ScrollViewController.xib */; }; - 9D9328D41C3D131900E1F1D3 /* ProcessingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D9328D21C3D131900E1F1D3 /* ProcessingViewController.m */; }; - 9D9328D51C3D131900E1F1D3 /* ProcessingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9D9328D31C3D131900E1F1D3 /* ProcessingViewController.xib */; }; - 9D9328D91C3D243A00E1F1D3 /* ProgressiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D9328D71C3D243A00E1F1D3 /* ProgressiveViewController.m */; }; - 9D9328DA1C3D243A00E1F1D3 /* ProgressiveViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9D9328D81C3D243A00E1F1D3 /* ProgressiveViewController.xib */; }; - 9D9328DE1C3D275D00E1F1D3 /* DegradedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D9328DC1C3D275D00E1F1D3 /* DegradedViewController.m */; }; - 9D9328DF1C3D275D00E1F1D3 /* DegradedViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9D9328DD1C3D275D00E1F1D3 /* DegradedViewController.xib */; }; - 9D9328E21C3D489400E1F1D3 /* Kitten.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D9328E11C3D489400E1F1D3 /* Kitten.m */; }; - 9D97D09D1C3C4D960006C115 /* PINImageCollectionViewItemView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9D97D09B1C3C4D960006C115 /* PINImageCollectionViewItemView.xib */; }; - 9DC09DB81C39AB0D00C6451E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DC09DB71C39AB0D00C6451E /* AppDelegate.m */; }; - 9DC09DBB1C39AB0D00C6451E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DC09DBA1C39AB0D00C6451E /* main.m */; }; - 9DC09DBD1C39AB0D00C6451E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9DC09DBC1C39AB0D00C6451E /* Assets.xcassets */; }; - 9DC09DC01C39AB0D00C6451E /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9DC09DBE1C39AB0D00C6451E /* MainMenu.xib */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 0C7B3B480ECE116693899B73 /* Pods-PINRemoteImage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINRemoteImage.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PINRemoteImage/Pods-PINRemoteImage.debug.xcconfig"; sourceTree = ""; }; - 30CF2F690D5332945E2257CA /* libPods-Example-Mac.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Example-Mac.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 689613C3208EA95800D2095C /* GIFViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIFViewController.h; sourceTree = ""; }; - 689613C4208EA95800D2095C /* GIFViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIFViewController.m; sourceTree = ""; }; - 689613C5208EA95800D2095C /* GIFViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GIFViewController.xib; sourceTree = ""; }; - 7C5CAA5957692DE0A6EC6CF9 /* Pods-Example-Mac.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-Mac.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example-Mac/Pods-Example-Mac.release.xcconfig"; sourceTree = ""; }; - 92BC66B6FF2EEFA71D678DDF /* Pods-Example-Mac.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-Mac.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example-Mac/Pods-Example-Mac.debug.xcconfig"; sourceTree = ""; }; - 9D9328C31C3C60E700E1F1D3 /* PINViewWithBackgroundColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINViewWithBackgroundColor.h; sourceTree = ""; }; - 9D9328C41C3C60E700E1F1D3 /* PINViewWithBackgroundColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINViewWithBackgroundColor.m; sourceTree = ""; }; - 9D9328C61C3D09BB00E1F1D3 /* WebPViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPViewController.h; sourceTree = ""; }; - 9D9328C71C3D09BB00E1F1D3 /* WebPViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebPViewController.m; sourceTree = ""; }; - 9D9328C81C3D09BB00E1F1D3 /* WebPViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WebPViewController.xib; sourceTree = ""; }; - 9D9328CC1C3D0C0D00E1F1D3 /* ScrollViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollViewController.h; sourceTree = ""; }; - 9D9328CD1C3D0C0D00E1F1D3 /* ScrollViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ScrollViewController.m; sourceTree = ""; }; - 9D9328CE1C3D0C0D00E1F1D3 /* ScrollViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ScrollViewController.xib; sourceTree = ""; }; - 9D9328D11C3D131900E1F1D3 /* ProcessingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProcessingViewController.h; sourceTree = ""; }; - 9D9328D21C3D131900E1F1D3 /* ProcessingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProcessingViewController.m; sourceTree = ""; }; - 9D9328D31C3D131900E1F1D3 /* ProcessingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ProcessingViewController.xib; sourceTree = ""; }; - 9D9328D61C3D243A00E1F1D3 /* ProgressiveViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProgressiveViewController.h; sourceTree = ""; }; - 9D9328D71C3D243A00E1F1D3 /* ProgressiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProgressiveViewController.m; sourceTree = ""; }; - 9D9328D81C3D243A00E1F1D3 /* ProgressiveViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ProgressiveViewController.xib; sourceTree = ""; }; - 9D9328DB1C3D275D00E1F1D3 /* DegradedViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DegradedViewController.h; sourceTree = ""; }; - 9D9328DC1C3D275D00E1F1D3 /* DegradedViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DegradedViewController.m; sourceTree = ""; }; - 9D9328DD1C3D275D00E1F1D3 /* DegradedViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DegradedViewController.xib; sourceTree = ""; }; - 9D9328E01C3D489400E1F1D3 /* Kitten.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Kitten.h; path = "../../Example-Shared/Kitten.h"; sourceTree = ""; }; - 9D9328E11C3D489400E1F1D3 /* Kitten.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Kitten.m; path = "../../Example-Shared/Kitten.m"; sourceTree = ""; }; - 9D97D09C1C3C4D960006C115 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PINImageCollectionViewItemView.xib; sourceTree = ""; }; - 9DC09DB31C39AB0D00C6451E /* Example-Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Example-Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9DC09DB61C39AB0D00C6451E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 9DC09DB71C39AB0D00C6451E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 9DC09DBA1C39AB0D00C6451E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 9DC09DBC1C39AB0D00C6451E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 9DC09DBF1C39AB0D00C6451E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 9DC09DC11C39AB0D00C6451E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9DC09DCA1C39AB0D00C6451E /* PINRemoteImageTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageTests.m; sourceTree = ""; }; - 9DC09DCC1C39AB0D00C6451E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A560E2F6800411CCF5086206 /* Pods-PINRemoteImage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINRemoteImage.release.xcconfig"; path = "Pods/Target Support Files/Pods-PINRemoteImage/Pods-PINRemoteImage.release.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 9DC09DB01C39AB0D00C6451E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9C8BAA38D285DF744BB7A18E /* libPods-Example-Mac.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 19057E8A9A6779B7C486AF2B /* Frameworks */ = { - isa = PBXGroup; - children = ( - 30CF2F690D5332945E2257CA /* libPods-Example-Mac.a */, - ); - name = Frameworks; - sourceTree = ""; - }; - 9D9328CB1C3D09BE00E1F1D3 /* Views */ = { - isa = PBXGroup; - children = ( - 9D97D09B1C3C4D960006C115 /* PINImageCollectionViewItemView.xib */, - 9D9328C31C3C60E700E1F1D3 /* PINViewWithBackgroundColor.h */, - 9D9328C41C3C60E700E1F1D3 /* PINViewWithBackgroundColor.m */, - ); - name = Views; - sourceTree = ""; - }; - 9DC09DAA1C39AB0D00C6451E = { - isa = PBXGroup; - children = ( - 9DC09DB51C39AB0D00C6451E /* PINRemoteImage */, - 9DC09DC91C39AB0D00C6451E /* PINRemoteImageTests */, - 9DC09DB41C39AB0D00C6451E /* Products */, - D8AD56B80C0F0D90F37F7BC5 /* Pods */, - 19057E8A9A6779B7C486AF2B /* Frameworks */, - ); - sourceTree = ""; - }; - 9DC09DB41C39AB0D00C6451E /* Products */ = { - isa = PBXGroup; - children = ( - 9DC09DB31C39AB0D00C6451E /* Example-Mac.app */, - ); - name = Products; - sourceTree = ""; - }; - 9DC09DB51C39AB0D00C6451E /* PINRemoteImage */ = { - isa = PBXGroup; - children = ( - 9DC09DB91C39AB0D00C6451E /* Supporting Files */, - 9D9328CB1C3D09BE00E1F1D3 /* Views */, - 9D9328E01C3D489400E1F1D3 /* Kitten.h */, - 9D9328E11C3D489400E1F1D3 /* Kitten.m */, - 9DC09DB61C39AB0D00C6451E /* AppDelegate.h */, - 9DC09DB71C39AB0D00C6451E /* AppDelegate.m */, - 9DC09DBE1C39AB0D00C6451E /* MainMenu.xib */, - 9DC09DC11C39AB0D00C6451E /* Info.plist */, - 9D9328CC1C3D0C0D00E1F1D3 /* ScrollViewController.h */, - 9D9328CD1C3D0C0D00E1F1D3 /* ScrollViewController.m */, - 9D9328CE1C3D0C0D00E1F1D3 /* ScrollViewController.xib */, - 9D9328C61C3D09BB00E1F1D3 /* WebPViewController.h */, - 9D9328C71C3D09BB00E1F1D3 /* WebPViewController.m */, - 9D9328C81C3D09BB00E1F1D3 /* WebPViewController.xib */, - 9D9328D61C3D243A00E1F1D3 /* ProgressiveViewController.h */, - 9D9328D71C3D243A00E1F1D3 /* ProgressiveViewController.m */, - 9D9328D81C3D243A00E1F1D3 /* ProgressiveViewController.xib */, - 9D9328DB1C3D275D00E1F1D3 /* DegradedViewController.h */, - 9D9328DC1C3D275D00E1F1D3 /* DegradedViewController.m */, - 9D9328DD1C3D275D00E1F1D3 /* DegradedViewController.xib */, - 9D9328D11C3D131900E1F1D3 /* ProcessingViewController.h */, - 9D9328D21C3D131900E1F1D3 /* ProcessingViewController.m */, - 9D9328D31C3D131900E1F1D3 /* ProcessingViewController.xib */, - 689613C3208EA95800D2095C /* GIFViewController.h */, - 689613C4208EA95800D2095C /* GIFViewController.m */, - 689613C5208EA95800D2095C /* GIFViewController.xib */, - ); - path = PINRemoteImage; - sourceTree = ""; - }; - 9DC09DB91C39AB0D00C6451E /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 9DC09DBC1C39AB0D00C6451E /* Assets.xcassets */, - 9DC09DBA1C39AB0D00C6451E /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 9DC09DC91C39AB0D00C6451E /* PINRemoteImageTests */ = { - isa = PBXGroup; - children = ( - 9DC09DCA1C39AB0D00C6451E /* PINRemoteImageTests.m */, - 9DC09DCC1C39AB0D00C6451E /* Info.plist */, - ); - path = PINRemoteImageTests; - sourceTree = ""; - }; - D8AD56B80C0F0D90F37F7BC5 /* Pods */ = { - isa = PBXGroup; - children = ( - 0C7B3B480ECE116693899B73 /* Pods-PINRemoteImage.debug.xcconfig */, - A560E2F6800411CCF5086206 /* Pods-PINRemoteImage.release.xcconfig */, - 92BC66B6FF2EEFA71D678DDF /* Pods-Example-Mac.debug.xcconfig */, - 7C5CAA5957692DE0A6EC6CF9 /* Pods-Example-Mac.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 9DC09DB21C39AB0D00C6451E /* Example-Mac */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9DC09DCF1C39AB0D00C6451E /* Build configuration list for PBXNativeTarget "Example-Mac" */; - buildPhases = ( - 8CFB37DD63603884BA1E041F /* [CP] Check Pods Manifest.lock */, - 9DC09DAF1C39AB0D00C6451E /* Sources */, - 9DC09DB01C39AB0D00C6451E /* Frameworks */, - 9DC09DB11C39AB0D00C6451E /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Example-Mac"; - productName = PINRemoteImage; - productReference = 9DC09DB31C39AB0D00C6451E /* Example-Mac.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 9DC09DAB1C39AB0D00C6451E /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0720; - ORGANIZATIONNAME = mischneider; - TargetAttributes = { - 9DC09DB21C39AB0D00C6451E = { - CreatedOnToolsVersion = 7.2; - }; - }; - }; - buildConfigurationList = 9DC09DAE1C39AB0D00C6451E /* Build configuration list for PBXProject "Example-Mac" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - en, - Base, - ); - mainGroup = 9DC09DAA1C39AB0D00C6451E; - productRefGroup = 9DC09DB41C39AB0D00C6451E /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 9DC09DB21C39AB0D00C6451E /* Example-Mac */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 9DC09DB11C39AB0D00C6451E /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9DC09DBD1C39AB0D00C6451E /* Assets.xcassets in Resources */, - 9D9328DA1C3D243A00E1F1D3 /* ProgressiveViewController.xib in Resources */, - 9D9328DF1C3D275D00E1F1D3 /* DegradedViewController.xib in Resources */, - 9D9328CA1C3D09BB00E1F1D3 /* WebPViewController.xib in Resources */, - 9D9328D01C3D0C0D00E1F1D3 /* ScrollViewController.xib in Resources */, - 9D97D09D1C3C4D960006C115 /* PINImageCollectionViewItemView.xib in Resources */, - 689613C7208EA95800D2095C /* GIFViewController.xib in Resources */, - 9DC09DC01C39AB0D00C6451E /* MainMenu.xib in Resources */, - 9D9328D51C3D131900E1F1D3 /* ProcessingViewController.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 8CFB37DD63603884BA1E041F /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Example-Mac-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 9DC09DAF1C39AB0D00C6451E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9D9328CF1C3D0C0D00E1F1D3 /* ScrollViewController.m in Sources */, - 689613C6208EA95800D2095C /* GIFViewController.m in Sources */, - 9D9328C91C3D09BB00E1F1D3 /* WebPViewController.m in Sources */, - 9D9328E21C3D489400E1F1D3 /* Kitten.m in Sources */, - 9D9328DE1C3D275D00E1F1D3 /* DegradedViewController.m in Sources */, - 9DC09DBB1C39AB0D00C6451E /* main.m in Sources */, - 9D9328D41C3D131900E1F1D3 /* ProcessingViewController.m in Sources */, - 9D9328D91C3D243A00E1F1D3 /* ProgressiveViewController.m in Sources */, - 9DC09DB81C39AB0D00C6451E /* AppDelegate.m in Sources */, - 9D9328C51C3C60E700E1F1D3 /* PINViewWithBackgroundColor.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 9D97D09B1C3C4D960006C115 /* PINImageCollectionViewItemView.xib */ = { - isa = PBXVariantGroup; - children = ( - 9D97D09C1C3C4D960006C115 /* Base */, - ); - name = PINImageCollectionViewItemView.xib; - sourceTree = ""; - }; - 9DC09DBE1C39AB0D00C6451E /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 9DC09DBF1C39AB0D00C6451E /* Base */, - ); - name = MainMenu.xib; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 9DC09DCD1C39AB0D00C6451E /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - }; - name = Debug; - }; - 9DC09DCE1C39AB0D00C6451E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - }; - name = Release; - }; - 9DC09DD01C39AB0D00C6451E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 92BC66B6FF2EEFA71D678DDF /* Pods-Example-Mac.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = PINRemoteImage/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.demo.Example; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 9DC09DD11C39AB0D00C6451E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7C5CAA5957692DE0A6EC6CF9 /* Pods-Example-Mac.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = PINRemoteImage/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.demo.Example; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 9DC09DAE1C39AB0D00C6451E /* Build configuration list for PBXProject "Example-Mac" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9DC09DCD1C39AB0D00C6451E /* Debug */, - 9DC09DCE1C39AB0D00C6451E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9DC09DCF1C39AB0D00C6451E /* Build configuration list for PBXNativeTarget "Example-Mac" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9DC09DD01C39AB0D00C6451E /* Debug */, - 9DC09DD11C39AB0D00C6451E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 9DC09DAB1C39AB0D00C6451E /* Project object */; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/AppDelegate.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/AppDelegate.h deleted file mode 100644 index a0dbd672..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/AppDelegate.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// AppDelegate.h -// PINRemoteImage -// -// Created by Michael Schneider on 1/3/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import - -@interface AppDelegate : NSObject - - -@end - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/AppDelegate.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/AppDelegate.m deleted file mode 100644 index 881cd9d9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/AppDelegate.m +++ /dev/null @@ -1,103 +0,0 @@ -// -// AppDelegate.m -// PINRemoteImage -// -// Created by Michael Schneider on 1/3/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import "AppDelegate.h" - -#import - -#import "ScrollViewController.h" -#import "WebPViewController.h" -#import "DegradedViewController.h" -#import "ProgressiveViewController.h" -#import "ProcessingViewController.h" -#import "GIFViewController.h" - -enum : NSUInteger { - kScrollViewControllerSegment = 0, - kWebPViewControllerSegment, - kProgressiveViewControllerSegment, - kDegradedViewControllerSegment, - kProcessingViewControllerSegment, - kGIFViewControllerSegment -}; - -@interface AppDelegate () -@property (weak) IBOutlet NSWindow *window; -@property (weak) IBOutlet NSSegmentedControl *segmentedControl; - -@property (nonatomic, strong) NSViewController *currentViewController; -@property (nonatomic, copy, readonly) NSDictionary *viewControllerMapping; -@property (nonatomic, strong) NSMutableDictionary *viewControllerCache; - -@end - -@implementation AppDelegate - - -#pragma mark - NSNibAwakening - -- (void)awakeFromNib -{ - [super awakeFromNib]; - - self.window.titleVisibility = NSWindowTitleHidden; - self.segmentedControl.selectedSegment = 0; - self.viewControllerCache = [NSMutableDictionary dictionary]; -} - - -#pragma mark - NSApplicationDelegate - -- (void)applicationDidFinishLaunching:(NSNotification *)aNotification -{ - [[PINRemoteImageManager sharedImageManager] setProgressiveRendersMaxProgressiveRenderSize:CGSizeMake(2048, 2048) completion:nil]; - [self segmentedControlChanged:self.segmentedControl]; -} - - -#pragma mark - Mapping - -- (NSDictionary *)viewControllerMapping -{ - static NSDictionary *mapping = nil; - if (mapping == nil) { - mapping = @{ - @(kScrollViewControllerSegment) : [ScrollViewController class], - @(kWebPViewControllerSegment) : [WebPViewController class], - @(kProgressiveViewControllerSegment) : [ProgressiveViewController class], - @(kDegradedViewControllerSegment) : [DegradedViewController class], - @(kProcessingViewControllerSegment) : [ProcessingViewController class], - @(kGIFViewControllerSegment) : [GIFViewController class] - }; - } - - return [mapping copy]; -} - - -#pragma mark - Actions - -- (IBAction)segmentedControlChanged:(NSSegmentedControl *)segmentedControl -{ - [self.currentViewController.view removeFromSuperview]; - - NSInteger selectedSegment = segmentedControl.selectedSegment; - NSViewController *viewController = self.viewControllerCache[@(selectedSegment)]; - if (viewController == nil) { - viewController = [self.viewControllerMapping[@(selectedSegment)] new]; - viewController.view.autoresizingMask = NSViewHeightSizable | NSViewWidthSizable; - - self.viewControllerCache[@(selectedSegment)] = viewController; - } - self.currentViewController = viewController; - - self.currentViewController.view.frame = self.window.contentView.bounds; - [self.window.contentView addSubview:self.currentViewController.view]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/AppIcon.appiconset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 2db2b1c7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "images" : [ - { - "idiom" : "mac", - "size" : "16x16", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "16x16", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "32x32", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "32x32", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "128x128", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "128x128", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "256x256", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "256x256", - "scale" : "2x" - }, - { - "idiom" : "mac", - "size" : "512x512", - "scale" : "1x" - }, - { - "idiom" : "mac", - "size" : "512x512", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png deleted file mode 100644 index 2c882a9b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@2x.png b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@2x.png deleted file mode 100644 index 53546558..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@2x.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Base.lproj/MainMenu.xib b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Base.lproj/MainMenu.xib deleted file mode 100644 index 37a9d19d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,724 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default - - - - - - - Left to Right - - - - - - - Right to Left - - - - - - - - - - - Default - - - - - - - Left to Right - - - - - - - Right to Left - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Base.lproj/PINImageCollectionViewItemView.xib b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Base.lproj/PINImageCollectionViewItemView.xib deleted file mode 100644 index a4d8e66b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Base.lproj/PINImageCollectionViewItemView.xib +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/DegradedViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/DegradedViewController.h deleted file mode 100644 index 7c6c29e8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/DegradedViewController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// DegradedViewController.h -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import - -@interface DegradedViewController : NSViewController - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/DegradedViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/DegradedViewController.m deleted file mode 100644 index 01bc62a4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/DegradedViewController.m +++ /dev/null @@ -1,48 +0,0 @@ -// -// DegradedViewController.m -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import "DegradedViewController.h" - -#import - -@interface DegradedViewController () -@property (weak) IBOutlet NSImageView *imageView; -@end - -@implementation DegradedViewController - -#pragma mark - Lifecycle - -- (instancetype)init -{ - self = [super initWithNibName:NSStringFromClass(self.class) bundle:nil]; - if (self == nil) { return self; } - return self; -} - - -#pragma mark - NSViewController - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - [[PINRemoteImageManager sharedImageManager] setShouldUpgradeLowQualityImages:YES completion:nil]; -} - - -- (void)viewWillAppear -{ - [super viewWillAppear]; - - [self.imageView pin_setImageFromURLs:@[[NSURL URLWithString:@"https://placekitten.com/101/101"], - [NSURL URLWithString:@"https://placekitten.com/401/401"], - [NSURL URLWithString:@"https://placekitten.com/801/801"]]]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/DegradedViewController.xib b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/DegradedViewController.xib deleted file mode 100644 index c032bcff..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/DegradedViewController.xib +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/GIFViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/GIFViewController.h deleted file mode 100644 index 0a5fe687..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/GIFViewController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// GIFViewController.h -// PINRemoteImage -// -// Created by Garrett Moon on 4/23/18. -// Copyright © 2018 mischneider. All rights reserved. -// - -#import - -@interface GIFViewController : NSViewController - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/GIFViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/GIFViewController.m deleted file mode 100644 index e02e4b83..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/GIFViewController.m +++ /dev/null @@ -1,26 +0,0 @@ -// -// GIFViewController.m -// PINRemoteImage -// -// Created by Garrett Moon on 4/23/18. -// Copyright © 2018 mischneider. All rights reserved. -// - -#import "GIFViewController.h" - -#import "PINAnimatedImageView+PINRemoteImage.h" - -@interface GIFViewController () - -@property (weak) IBOutlet PINAnimatedImageView *animatedImageView; - -@end - -@implementation GIFViewController - -- (void)viewWillAppear { - [super viewWillAppear]; - [self.animatedImageView pin_setImageFromURL:[NSURL URLWithString:@"https://i.pinimg.com/originals/f5/23/f1/f523f141646b613f78566ba964208990.gif"]]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/GIFViewController.xib b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/GIFViewController.xib deleted file mode 100644 index 91e68321..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/GIFViewController.xib +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Info.plist b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Info.plist deleted file mode 100644 index 3d897a32..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - Copyright © 2016 mischneider. All rights reserved. - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/PINViewWithBackgroundColor.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/PINViewWithBackgroundColor.h deleted file mode 100644 index 2d05cb77..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/PINViewWithBackgroundColor.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINViewWithBackgroundColor.h -// PINRemoteImage -// -// Created by Michael Schneider on 1/5/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import - -@interface PINViewWithBackgroundColor : NSView - -@property (nonatomic, strong) NSColor *backgroundColor; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/PINViewWithBackgroundColor.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/PINViewWithBackgroundColor.m deleted file mode 100644 index 2ca316eb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/PINViewWithBackgroundColor.m +++ /dev/null @@ -1,60 +0,0 @@ -// -// PINViewWithBackgroundColor.m -// PINRemoteImage -// -// Created by Michael Schneider on 1/5/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import "PINViewWithBackgroundColor.h" - -@implementation PINViewWithBackgroundColor - - -#pragma mark - Lifecycle - -- (instancetype)init -{ - self = [super init]; - if (self == nil) { return self; } - [self initPINViewWithBackgroundColor]; - return self; -} - - -- (instancetype)initWithCoder:(NSCoder *)coder -{ - self = [super initWithCoder:coder]; - if (self == nil) { return self; } - [self initPINViewWithBackgroundColor]; - return self; -} - -- (void)initPINViewWithBackgroundColor -{ - self.wantsLayer = YES; -} - - -#pragma mark - NSView - -- (BOOL)wantsUpdateLayer -{ - return YES; -} - -- (void)updateLayer -{ - self.layer.backgroundColor = self.backgroundColor.CGColor; -} - - -#pragma mark - Setter - -- (void)setBackgroundColor:(NSColor *)backgroundColor -{ - _backgroundColor = backgroundColor; - [self setNeedsDisplay:YES]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProcessingViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProcessingViewController.h deleted file mode 100644 index 274add9e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProcessingViewController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// ProcessingViewController.h -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import - -@interface ProcessingViewController : NSViewController - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProcessingViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProcessingViewController.m deleted file mode 100644 index 3b4670fd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProcessingViewController.m +++ /dev/null @@ -1,80 +0,0 @@ -// -// ProcessingViewController.m -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import "ProcessingViewController.h" - -#import -#import - -@interface ProcessingViewController () -@property (weak) IBOutlet NSImageView *imageView; - -@end - -@implementation ProcessingViewController - -#pragma mark - Lifecycle - -- (instancetype)init -{ - self = [super initWithNibName:NSStringFromClass(self.class) bundle:nil]; - if (self == nil) { return self; } - return self; -} - - -#pragma mark - NSViewController - -- (void)viewWillAppear -{ - [super viewWillAppear]; - - [self.imageView pin_setImageFromURL:[NSURL URLWithString:@"https://i.pinimg.com/736x/5b/c6/c5/5bc6c5387ff6f104fd642f2b375efba3.jpg"] processorKey:@"rounded" processor:^NSImage *(PINRemoteImageManagerResult *result, NSUInteger *cost) - { - NSImage *image = result.image; - CGFloat radius = 7.0f; - CGSize targetSize = CGSizeMake(200, 300); - CGRect imageRect = CGRectMake(0, 0, targetSize.width, targetSize.height); - - NSImage *processedImage = [[NSImage alloc] initWithSize:targetSize]; - [processedImage lockFocus]; - - NSBezierPath *bezierPath = [NSBezierPath bezierPathWithRoundedRect:imageRect xRadius:radius yRadius:radius]; - [bezierPath addClip]; - - CGFloat widthMultiplier = targetSize.width / image.size.width; - CGFloat heightMultiplier = targetSize.height / image.size.height; - CGFloat sizeMultiplier = MAX(widthMultiplier, heightMultiplier); - - CGRect drawRect = CGRectMake(0, 0, image.size.width * sizeMultiplier, image.size.height * sizeMultiplier); - if (CGRectGetMaxX(drawRect) > CGRectGetMaxX(imageRect)) { - drawRect.origin.x -= (CGRectGetMaxX(drawRect) - CGRectGetMaxX(imageRect)) / 2.0; - } - if (CGRectGetMaxY(drawRect) > CGRectGetMaxY(imageRect)) { - drawRect.origin.y -= (CGRectGetMaxY(drawRect) - CGRectGetMaxY(imageRect)) / 2.0; - } - - [image drawInRect:drawRect]; - - [[NSColor redColor] setStroke]; - [bezierPath setLineWidth:5.0]; - [bezierPath stroke]; - - NSImage *logo = [NSImage imageNamed:@"white-pinterest-logo"]; - CGContextRef ctx = [[NSGraphicsContext currentContext] graphicsPort]; - CGContextSetBlendMode(ctx, kCGBlendModeOverlay); - CGContextSetAlpha(ctx, 0.5); - CGContextDrawImage(ctx, CGRectMake(90, 10, logo.size.width, logo.size.height), [logo CGImage]); - - [processedImage unlockFocus]; - - return processedImage; - }]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProcessingViewController.xib b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProcessingViewController.xib deleted file mode 100644 index 133b7018..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProcessingViewController.xib +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProgressiveViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProgressiveViewController.h deleted file mode 100644 index a2c7d687..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProgressiveViewController.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// ProgressiveViewController.h -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import - -@interface ProgressiveViewController : NSViewController - - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProgressiveViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProgressiveViewController.m deleted file mode 100644 index 518298bd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProgressiveViewController.m +++ /dev/null @@ -1,60 +0,0 @@ -// -// ProgressiveViewController.m -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import "ProgressiveViewController.h" - -#import -#import - -@interface ProgressiveViewController () -@property (weak) IBOutlet NSImageView *imageView; - -@end - -@implementation ProgressiveViewController - -#pragma mark - Lifecycle - -- (instancetype)init -{ - self = [super initWithNibName:NSStringFromClass(self.class) bundle:nil]; - if (self == nil) { return self; } - return self; -} - - -#pragma mark - NSViewController - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - // MUST BE SET ON IMAGE VIEW TO GET PROGRESS UPDATES! - self.imageView.pin_updateWithProgress = YES; -} - -- (void)viewWillAppear -{ - [super viewWillAppear]; - - NSURL *progressiveURL = [NSURL URLWithString:@"https://i.pinimg.com/1200x/2e/0c/c5/2e0cc5d86e7b7cd42af225c29f21c37f.jpg"]; - [[PINRemoteImageManager sharedImageManager] setProgressThresholds:@[@(0.1), @(0.2), @(0.3), @(0.4), @(0.5), @(0.6), @(0.7), @(0.8), @(0.9)] completion:nil]; - [[[PINRemoteImageManager sharedImageManager] cache] removeObjectForKey:[[PINRemoteImageManager sharedImageManager] cacheKeyForURL:progressiveURL processorKey:nil]]; - [self.imageView pin_setImageFromURL:progressiveURL]; - - NSMutableArray *progress = [[NSMutableArray alloc] init]; - [[PINRemoteImageManager sharedImageManager] - downloadImageWithURL:progressiveURL - options:PINRemoteImageManagerDownloadOptionsNone progressImage:^(PINRemoteImageManagerResult *result) { - [progress addObject:result.image]; - } completion:^(PINRemoteImageManagerResult *result) { - [progress addObject:result.image]; - }]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProgressiveViewController.xib b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProgressiveViewController.xib deleted file mode 100644 index 3232b863..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ProgressiveViewController.xib +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ScrollViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ScrollViewController.h deleted file mode 100644 index 012c5609..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ScrollViewController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// ScrollViewController.h -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import - -@interface ScrollViewController : NSViewController - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ScrollViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ScrollViewController.m deleted file mode 100644 index 770ff6f8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ScrollViewController.m +++ /dev/null @@ -1,129 +0,0 @@ -// -// ScrollViewController.m -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import "ScrollViewController.h" - -#import -#import -#import -#import - -#import "PINViewWithBackgroundColor.h" -#import "Kitten.h" - -@interface PINImageCollectionViewItem : NSCollectionViewItem - -@end - -@interface ScrollViewController () -@property (weak) IBOutlet NSCollectionView *collectionView; -@property (nonatomic, strong) NSMutableArray *kittens; -@end - -@implementation ScrollViewController - - -#pragma mark - Lifecycle - -- (instancetype)init -{ - srand([[NSDate date] timeIntervalSince1970]); - - self = [super initWithNibName:NSStringFromClass(self.class) bundle:nil]; - if (self == nil) { return self; } - [[[PINRemoteImageManager sharedImageManager] cache] removeAllObjects]; - return self; -} - - -#pragma mark - NSViewController - -- (void)awakeFromNib -{ - [super awakeFromNib]; - - [self.collectionView registerNib:[[NSNib alloc] initWithNibNamed:@"PINImageCollectionViewItemView" bundle:nil] forItemWithIdentifier:@"ItemIdentifier"]; -} - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - self.kittens = [NSMutableArray new]; - [self fetchKittenImages]; -} - -- (void)viewWillLayout -{ - [super viewWillLayout]; - - [self.collectionView.collectionViewLayout invalidateLayout]; -} - - -#pragma mark - Load images - -- (void)fetchKittenImages -{ - [Kitten fetchKittenForWidth:CGRectGetWidth(self.collectionView.frame) completion:^(NSArray *kittens) { - [self.kittens addObjectsFromArray:kittens]; - [self.collectionView reloadData]; - }]; -} - - -#pragma mark - - -- (NSInteger)collectionView:(NSCollectionView *)collectionView numberOfItemsInSection:(NSInteger)section -{ - return self.kittens.count; -} - -- (NSCollectionViewItem *)collectionView:(NSCollectionView *)collectionView itemForRepresentedObjectAtIndexPath:(NSIndexPath *)indexPath -{ - PINImageCollectionViewItem *item = [collectionView makeItemWithIdentifier:@"PINImageCollectionViewItemView" forIndexPath:indexPath]; - Kitten *kitten = [self.kittens objectAtIndex:indexPath.item]; - item.imageView.alphaValue = 0.0f; - [((PINViewWithBackgroundColor *)item.view) setBackgroundColor:kitten.dominantColor]; - __weak NSCollectionViewItem *weakItem = item; - - [item.imageView pin_setImageFromURL:kitten.imageURL - completion:^(PINRemoteImageManagerResult *result) { - if (result.requestDuration > 0.25) { - [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){ - context.duration = 0.3; - context.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; - weakItem.imageView.animator.alphaValue = 1.0f; - } completionHandler:^{ - }]; - } else { - weakItem.imageView.alphaValue = 1.0f; - } - }]; - return item; -} - -- (NSSize)collectionView:(NSCollectionView *)collectionView layout:(NSCollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath -{ - Kitten *kitten = [self.kittens objectAtIndex:indexPath.item]; - return NSMakeSize(CGRectGetWidth(collectionView.frame), kitten.imageSize.height); -} - -@end - - -@implementation PINImageCollectionViewItem - -- (void)prepareForReuse -{ - [super prepareForReuse]; - - self.imageView.image = nil; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ScrollViewController.xib b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ScrollViewController.xib deleted file mode 100644 index aaf3ef39..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/ScrollViewController.xib +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/WebPViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/WebPViewController.h deleted file mode 100644 index 9821a964..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/WebPViewController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// WebPViewController.h -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import - -@interface WebPViewController : NSViewController - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/WebPViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/WebPViewController.m deleted file mode 100644 index d160d7c6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/WebPViewController.m +++ /dev/null @@ -1,38 +0,0 @@ -// -// WebPViewController.m -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import "WebPViewController.h" - -#import - -@interface WebPViewController () -@property (weak) IBOutlet NSImageView *imageView; -@end - -@implementation WebPViewController - -#pragma mark - Lifecycle - -- (instancetype)init -{ - self = [super initWithNibName:NSStringFromClass(self.class) bundle:nil]; - if (self == nil) { return self; } - return self; -} - - -#pragma mark - NSViewController - -- (void)viewWillAppear -{ - [super viewWillAppear]; - - [self.imageView pin_setImageFromURL:[NSURL URLWithString:@"https://github.com/samdutton/simpl/blob/master/picturetype/kittens.webp?raw=true"]]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/WebPViewController.xib b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/WebPViewController.xib deleted file mode 100644 index 79d720b5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/WebPViewController.xib +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/main.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/main.m deleted file mode 100644 index 4a7bffee..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/main.m +++ /dev/null @@ -1,13 +0,0 @@ -// -// main.m -// PINRemoteImage -// -// Created by Michael Schneider on 1/3/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import - -int main(int argc, const char * argv[]) { - return NSApplicationMain(argc, argv); -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Podfile b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Podfile deleted file mode 100644 index dd7082f7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Podfile +++ /dev/null @@ -1,9 +0,0 @@ -platform :macos, 10.11 - -target 'Example-Mac' do - pod "PINRemoteImage/OSX", :path => "../../" - pod "PINRemoteImage/WebP", :path => "../../" - pod "PINRemoteImage/PINCache", :path => "../../" - pod "PINCache" - pod "libwebp" -end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Podfile.lock b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Podfile.lock deleted file mode 100644 index d1629857..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Podfile.lock +++ /dev/null @@ -1,55 +0,0 @@ -PODS: - - libwebp (1.1.0): - - libwebp/demux (= 1.1.0) - - libwebp/mux (= 1.1.0) - - libwebp/webp (= 1.1.0) - - libwebp/demux (1.1.0): - - libwebp/webp - - libwebp/mux (1.1.0): - - libwebp/demux - - libwebp/webp (1.1.0) - - PINCache (3.0.1-beta.8): - - PINCache/Arc-exception-safe (= 3.0.1-beta.8) - - PINCache/Core (= 3.0.1-beta.8) - - PINCache/Arc-exception-safe (3.0.1-beta.8): - - PINCache/Core - - PINCache/Core (3.0.1-beta.8): - - PINOperation (~> 1.1.1) - - PINOperation (1.1.2) - - PINRemoteImage/Core (3.0.0): - - PINOperation - - PINRemoteImage/OSX (3.0.0): - - PINRemoteImage/Core - - PINRemoteImage/PINCache (3.0.0): - - PINCache (= 3.0.1-beta.8) - - PINRemoteImage/Core - - PINRemoteImage/WebP (3.0.0): - - libwebp - - PINRemoteImage/Core - -DEPENDENCIES: - - libwebp - - PINCache - - PINRemoteImage/OSX (from `../../`) - - PINRemoteImage/PINCache (from `../../`) - - PINRemoteImage/WebP (from `../../`) - -SPEC REPOS: - trunk: - - libwebp - - PINCache - - PINOperation - -EXTERNAL SOURCES: - PINRemoteImage: - :path: "../../" - -SPEC CHECKSUMS: - libwebp: 946cb3063cea9236285f7e9a8505d806d30e07f3 - PINCache: 534fd41d358d828dfdf227a0d327f3673a65e20b - PINOperation: 24b774353ca248fcf87d67b2d61eef42087c125a - PINRemoteImage: e2b89e19fb6e77ffc099f9d9f3b3fe1745e3f9f9 - -PODFILE CHECKSUM: 4892a6aad6fa79c35bdc8eefc4ae4da70f111f35 - -COCOAPODS: 1.9.3 diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Shared/Kitten.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Shared/Kitten.h deleted file mode 100644 index 5428710c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Shared/Kitten.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// Kitten.h -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// -#import - -#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED -#import -#else -#import -#endif - -@interface Kitten : NSObject - -@property (nonatomic, strong) NSURL *imageURL; -@property (nonatomic, strong) id dominantColor; -@property (nonatomic, assign) CGSize imageSize; - -+ (void)fetchKittenForWidth:(CGFloat)width completion:(void (^)(NSArray *kittens))completion; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Shared/Kitten.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example-Shared/Kitten.m deleted file mode 100644 index f2a48cb3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Shared/Kitten.m +++ /dev/null @@ -1,132 +0,0 @@ -// -// Kitten.m -// PINRemoteImage -// -// Created by Michael Schneider on 1/6/16. -// Copyright © 2016 mischneider. All rights reserved. -// - -#import "Kitten.h" - -#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED - -@interface NSValue (PINiOSMapping) -+ (NSValue *)valueWithCGSize:(CGSize)size; -- (CGSize)CGSizeValue; -@end - -@implementation NSValue (PINiOSMapping) - -+ (NSValue *)valueWithCGSize:(CGSize)size -{ - return [self valueWithSize:size]; -} - -- (CGSize)CGSizeValue -{ - return self.sizeValue; -} - -@end - -#endif - - -@implementation Kitten - -+ (void)fetchKittenForWidth:(CGFloat)width completion:(void (^)(NSArray *kittens))completion -{ - NSArray *kittenURLs = @[[NSURL URLWithString:@"https://i.pinimg.com/736x/92/5d/5a/925d5ac74db0dcfabc238e1686e31d16.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/ff/b3/ae/ffb3ae40533b7f9463cf1c04d7ab69d1.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/e4/b7/7c/e4b77ca06e1d4a401b1a49d7fadd90d9.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/46/e1/59/46e159d76b167ed9211d662f95e7bf6f.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/7a/72/77/7a72779329942c06f888c148eb8d7e34.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/60/21/8f/60218ff43257fb3b6d7c5b888f74a5bf.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/90/e8/e4/90e8e47d53e71e0d97691dd13a5617fb.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/96/ae/31/96ae31fbc52d96dd3308d2754a6ca37e.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/9b/7b/99/9b7b99ff63be31bba8f9863724b3ebbc.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/80/23/51/802351d953dd2a8b232d0da1c7ca6880.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/f5/c4/f0/f5c4f04fa2686338dc3b08420d198484.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/2b/06/4f/2b064f3e0af984a556ac94b251ff7060.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/17/1f/c0/171fc02398143269d8a507a15563166a.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/8a/35/33/8a35338bbf67c86a198ba2dd926edd82.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/4d/6e/3c/4d6e3cf970031116c57486e85c2a4cab.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/54/25/ee/5425eeccba78731cf7be70f0b8808bd2.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/04/f1/3f/04f13fdb7580dcbe8c4d6b7d5a0a5ec2.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/dc/16/4e/dc164ed33af9d899e5ed188e642f00e9.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/c1/06/13/c106132936189b6cb654671f2a2183ed.jpg"], - [NSURL URLWithString:@"https://i.pinimg.com/736x/46/43/ed/4643eda4e1be4273721a76a370b90346.jpg"], - ]; - - NSArray *kittenSizes = @[[NSValue valueWithCGSize:CGSizeMake(503, 992)], - [NSValue valueWithCGSize:CGSizeMake(500, 337)], - [NSValue valueWithCGSize:CGSizeMake(522, 695)], - [NSValue valueWithCGSize:CGSizeMake(557, 749)], - [NSValue valueWithCGSize:CGSizeMake(710, 1069)], - [NSValue valueWithCGSize:CGSizeMake(522, 676)], - [NSValue valueWithCGSize:CGSizeMake(500, 688)], - [NSValue valueWithCGSize:CGSizeMake(377, 700)], - [NSValue valueWithCGSize:CGSizeMake(334, 494)], - [NSValue valueWithCGSize:CGSizeMake(625, 469)], - [NSValue valueWithCGSize:CGSizeMake(625, 833)], - [NSValue valueWithCGSize:CGSizeMake(625, 469)], - [NSValue valueWithCGSize:CGSizeMake(625, 469)], - [NSValue valueWithCGSize:CGSizeMake(625, 791)], - [NSValue valueWithCGSize:CGSizeMake(625, 833)], - [NSValue valueWithCGSize:CGSizeMake(605, 605)], - [NSValue valueWithCGSize:CGSizeMake(504, 750)], - [NSValue valueWithCGSize:CGSizeMake(500, 500)], - [NSValue valueWithCGSize:CGSizeMake(640, 640)], - [NSValue valueWithCGSize:CGSizeMake(500, 473)], - ]; - - dispatch_group_t group = dispatch_group_create(); - NSMutableArray *kittens = [[NSMutableArray alloc] init]; - - CGFloat scale = 1; -#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED - scale = [[UIScreen mainScreen] scale]; -#else - scale = [[NSScreen mainScreen] backingScaleFactor]; -#endif - dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - NSInteger count = 0; - for (NSInteger idx = 0; idx < 500; idx++) { - Kitten *kitten = [[Kitten alloc] init]; - CGFloat r = (rand() % 255) / 255.0f; - CGFloat g = (rand() % 255) / 255.0f; - CGFloat b = (rand() % 255) / 255.0f; -#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED - kitten.dominantColor = [UIColor colorWithRed:r green:g blue:b alpha:1.0f]; -#else - kitten.dominantColor = [NSColor colorWithRed:r green:g blue:b alpha:1.0f]; -#endif - - NSUInteger kittenIdx = rand() % 20; - - CGSize kittenSize = [kittenSizes[kittenIdx] CGSizeValue]; - NSInteger kittenSizeWidth = kittenSize.width; - NSInteger kittenSizeHeight = kittenSize.height; - - if (kittenSizeWidth > (width * scale)) { - kittenSizeHeight = ((width * scale) / kittenSizeWidth) * kittenSizeHeight; - kittenSizeWidth = (width * scale); - } - - kitten.imageURL = kittenURLs[kittenIdx]; - kitten.imageSize = CGSizeMake(kittenSizeWidth / scale, kittenSizeHeight / scale); - - dispatch_sync(dispatch_get_main_queue(), ^{ - [kittens addObject:kitten]; - }); - count++; - } - }); - dispatch_group_notify(group, dispatch_get_main_queue(), ^{ - if (completion) { - completion(kittens); - } - }); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Example-tvOS.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Example-tvOS.xcodeproj/project.pbxproj deleted file mode 100644 index 58fe1870..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Example-tvOS.xcodeproj/project.pbxproj +++ /dev/null @@ -1,405 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 689613C9208FBC6B00D2095C /* GIFViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 689613C8208FBC6B00D2095C /* GIFViewController.swift */; }; - 689613CB208FBE3100D2095C /* WebPViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 689613CA208FBE3100D2095C /* WebPViewController.swift */; }; - 78699F481C668C8E0044C9E9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78699F471C668C8E0044C9E9 /* AppDelegate.swift */; }; - 78699F4C1C668C8E0044C9E9 /* ProgressiveViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78699F4B1C668C8E0044C9E9 /* ProgressiveViewController.swift */; }; - 78699F4F1C668C8E0044C9E9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 78699F4D1C668C8E0044C9E9 /* Main.storyboard */; }; - 78699F511C668C8E0044C9E9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 78699F501C668C8E0044C9E9 /* Assets.xcassets */; }; - 78699F591C669AC70044C9E9 /* ProcessingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78699F581C669AC70044C9E9 /* ProcessingViewController.swift */; }; - 78699F5B1C66A5A90044C9E9 /* DegradedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78699F5A1C66A5A90044C9E9 /* DegradedViewController.swift */; }; - 78699F5D1C66A7E20044C9E9 /* CollectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78699F5C1C66A7E20044C9E9 /* CollectionViewController.swift */; }; - 78699F5F1C66A8610044C9E9 /* CollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78699F5E1C66A8610044C9E9 /* CollectionViewCell.swift */; }; - C0AB4733C23AA355900F09E9 /* Pods_Example_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3CA13FB1BD9E2682A1CCEF /* Pods_Example_tvOS.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 092ED8B731DCCEB16C919D24 /* Pods-Example-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.release.xcconfig"; sourceTree = ""; }; - 093C3E4AE850337BCD0D2FE6 /* Pods-PINRemoteImage.tvOSExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINRemoteImage.tvOSExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PINRemoteImage.tvOSExample/Pods-PINRemoteImage.tvOSExample.debug.xcconfig"; sourceTree = ""; }; - 689613C8208FBC6B00D2095C /* GIFViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GIFViewController.swift; sourceTree = ""; }; - 689613CA208FBE3100D2095C /* WebPViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebPViewController.swift; sourceTree = ""; }; - 78699F441C668C8E0044C9E9 /* Example-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Example-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 78699F471C668C8E0044C9E9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 78699F4B1C668C8E0044C9E9 /* ProgressiveViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressiveViewController.swift; sourceTree = ""; }; - 78699F4E1C668C8E0044C9E9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 78699F501C668C8E0044C9E9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 78699F521C668C8E0044C9E9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 78699F581C669AC70044C9E9 /* ProcessingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProcessingViewController.swift; sourceTree = ""; }; - 78699F5A1C66A5A90044C9E9 /* DegradedViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DegradedViewController.swift; sourceTree = ""; }; - 78699F5C1C66A7E20044C9E9 /* CollectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewController.swift; sourceTree = ""; }; - 78699F5E1C66A8610044C9E9 /* CollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewCell.swift; sourceTree = ""; }; - AAF1AB8C026DF61369E568CC /* Pods-PINRemoteImage.tvOSExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINRemoteImage.tvOSExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-PINRemoteImage.tvOSExample/Pods-PINRemoteImage.tvOSExample.release.xcconfig"; sourceTree = ""; }; - AB405D54A079CA1CF3D77696 /* Pods-Example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.debug.xcconfig"; sourceTree = ""; }; - BC3CA13FB1BD9E2682A1CCEF /* Pods_Example_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 78699F411C668C8E0044C9E9 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - C0AB4733C23AA355900F09E9 /* Pods_Example_tvOS.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 717A14585C13E19AFD257717 /* Frameworks */ = { - isa = PBXGroup; - children = ( - BC3CA13FB1BD9E2682A1CCEF /* Pods_Example_tvOS.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 78699F3B1C668C8E0044C9E9 = { - isa = PBXGroup; - children = ( - 78699F461C668C8E0044C9E9 /* PINRemoteImage.tvOSExample */, - 78699F451C668C8E0044C9E9 /* Products */, - 91B09A3FE05D54DA24016146 /* Pods */, - 717A14585C13E19AFD257717 /* Frameworks */, - ); - sourceTree = ""; - }; - 78699F451C668C8E0044C9E9 /* Products */ = { - isa = PBXGroup; - children = ( - 78699F441C668C8E0044C9E9 /* Example-tvOS.app */, - ); - name = Products; - sourceTree = ""; - }; - 78699F461C668C8E0044C9E9 /* PINRemoteImage.tvOSExample */ = { - isa = PBXGroup; - children = ( - 78699F501C668C8E0044C9E9 /* Assets.xcassets */, - 78699F521C668C8E0044C9E9 /* Info.plist */, - 78699F471C668C8E0044C9E9 /* AppDelegate.swift */, - 78699F4D1C668C8E0044C9E9 /* Main.storyboard */, - 78699F4B1C668C8E0044C9E9 /* ProgressiveViewController.swift */, - 78699F581C669AC70044C9E9 /* ProcessingViewController.swift */, - 78699F5A1C66A5A90044C9E9 /* DegradedViewController.swift */, - 78699F5C1C66A7E20044C9E9 /* CollectionViewController.swift */, - 78699F5E1C66A8610044C9E9 /* CollectionViewCell.swift */, - 689613C8208FBC6B00D2095C /* GIFViewController.swift */, - 689613CA208FBE3100D2095C /* WebPViewController.swift */, - ); - path = PINRemoteImage.tvOSExample; - sourceTree = ""; - }; - 91B09A3FE05D54DA24016146 /* Pods */ = { - isa = PBXGroup; - children = ( - 093C3E4AE850337BCD0D2FE6 /* Pods-PINRemoteImage.tvOSExample.debug.xcconfig */, - AAF1AB8C026DF61369E568CC /* Pods-PINRemoteImage.tvOSExample.release.xcconfig */, - AB405D54A079CA1CF3D77696 /* Pods-Example-tvOS.debug.xcconfig */, - 092ED8B731DCCEB16C919D24 /* Pods-Example-tvOS.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 78699F431C668C8E0044C9E9 /* Example-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 78699F551C668C8E0044C9E9 /* Build configuration list for PBXNativeTarget "Example-tvOS" */; - buildPhases = ( - FA9E035135C48FB08841B4A3 /* [CP] Check Pods Manifest.lock */, - 78699F401C668C8E0044C9E9 /* Sources */, - 78699F411C668C8E0044C9E9 /* Frameworks */, - 78699F421C668C8E0044C9E9 /* Resources */, - 8B150830C60182EB93A19C74 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Example-tvOS"; - productName = PINRemoteImage.tvOSExample; - productReference = 78699F441C668C8E0044C9E9 /* Example-tvOS.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 78699F3C1C668C8E0044C9E9 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0720; - LastUpgradeCheck = 0910; - TargetAttributes = { - 78699F431C668C8E0044C9E9 = { - CreatedOnToolsVersion = 7.2.1; - LastSwiftMigration = 0910; - }; - }; - }; - buildConfigurationList = 78699F3F1C668C8E0044C9E9 /* Build configuration list for PBXProject "Example-tvOS" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - en, - Base, - ); - mainGroup = 78699F3B1C668C8E0044C9E9; - productRefGroup = 78699F451C668C8E0044C9E9 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 78699F431C668C8E0044C9E9 /* Example-tvOS */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 78699F421C668C8E0044C9E9 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 78699F511C668C8E0044C9E9 /* Assets.xcassets in Resources */, - 78699F4F1C668C8E0044C9E9 /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 8B150830C60182EB93A19C74 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/PINOperation/PINOperation.framework", - "${BUILT_PRODUCTS_DIR}/PINRemoteImage/PINRemoteImage.framework", - "${BUILT_PRODUCTS_DIR}/libwebp/libwebp.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINOperation.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINRemoteImage.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - FA9E035135C48FB08841B4A3 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Example-tvOS-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 78699F401C668C8E0044C9E9 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 689613CB208FBE3100D2095C /* WebPViewController.swift in Sources */, - 78699F5D1C66A7E20044C9E9 /* CollectionViewController.swift in Sources */, - 78699F4C1C668C8E0044C9E9 /* ProgressiveViewController.swift in Sources */, - 78699F591C669AC70044C9E9 /* ProcessingViewController.swift in Sources */, - 78699F5F1C66A8610044C9E9 /* CollectionViewCell.swift in Sources */, - 689613C9208FBC6B00D2095C /* GIFViewController.swift in Sources */, - 78699F481C668C8E0044C9E9 /* AppDelegate.swift in Sources */, - 78699F5B1C66A5A90044C9E9 /* DegradedViewController.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 78699F4D1C668C8E0044C9E9 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 78699F4E1C668C8E0044C9E9 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 78699F531C668C8E0044C9E9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = appletvos; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.1; - }; - name = Debug; - }; - 78699F541C668C8E0044C9E9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = appletvos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.1; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 78699F561C668C8E0044C9E9 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AB405D54A079CA1CF3D77696 /* Pods-Example-tvOS.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - INFOPLIST_FILE = PINRemoteImage.tvOSExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.PINRemoteImage-tvOSExample"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Debug; - }; - 78699F571C668C8E0044C9E9 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 092ED8B731DCCEB16C919D24 /* Pods-Example-tvOS.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - INFOPLIST_FILE = PINRemoteImage.tvOSExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.PINRemoteImage-tvOSExample"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; - TVOS_DEPLOYMENT_TARGET = 9.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 78699F3F1C668C8E0044C9E9 /* Build configuration list for PBXProject "Example-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 78699F531C668C8E0044C9E9 /* Debug */, - 78699F541C668C8E0044C9E9 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 78699F551C668C8E0044C9E9 /* Build configuration list for PBXNativeTarget "Example-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 78699F561C668C8E0044C9E9 /* Debug */, - 78699F571C668C8E0044C9E9 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 78699F3C1C668C8E0044C9E9 /* Project object */; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Example-tvOS.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Example-tvOS.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 72403e9e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Example-tvOS.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Example-tvOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Example-tvOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Example-tvOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/AppDelegate.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/AppDelegate.swift deleted file mode 100644 index 843bb0a1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/AppDelegate.swift +++ /dev/null @@ -1,43 +0,0 @@ -// -// AppDelegate.swift -// PINRemoteImage.tvOSExample -// -// Created by Isaac Overacker on 2/6/16. -// -// - -import UIKit - -@UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate { - - var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool { - // Override point for customization after application launch. - return true - } - func applicationWillResignActive(_ application: UIApplication) { - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. - } - - func applicationDidEnterBackground(_ application: UIApplication) { - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. - } - - func applicationWillEnterForeground(_ application: UIApplication) { - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. - } - - func applicationDidBecomeActive(_ application: UIApplication) { - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. - } - - func applicationWillTerminate(_ application: UIApplication) { - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. - } - - -} - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json deleted file mode 100644 index 0564959f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "idiom" : "tv", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json deleted file mode 100644 index 8bf75d9f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "layers" : [ - { - "filename" : "Front.imagestacklayer" - }, - { - "filename" : "Middle.imagestacklayer" - }, - { - "filename" : "Back.imagestacklayer" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json deleted file mode 100644 index 0564959f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "idiom" : "tv", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json deleted file mode 100644 index 0564959f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "idiom" : "tv", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json deleted file mode 100644 index 0564959f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "idiom" : "tv", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json deleted file mode 100644 index 8bf75d9f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "layers" : [ - { - "filename" : "Front.imagestacklayer" - }, - { - "filename" : "Middle.imagestacklayer" - }, - { - "filename" : "Back.imagestacklayer" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json deleted file mode 100644 index 0564959f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "idiom" : "tv", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json deleted file mode 100644 index 0564959f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "idiom" : "tv", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json deleted file mode 100644 index 6a3dcfa5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "assets" : [ - { - "size" : "1280x768", - "idiom" : "tv", - "filename" : "App Icon - Large.imagestack", - "role" : "primary-app-icon" - }, - { - "size" : "400x240", - "idiom" : "tv", - "filename" : "App Icon - Small.imagestack", - "role" : "primary-app-icon" - }, - { - "size" : "1920x720", - "idiom" : "tv", - "filename" : "Top Shelf Image.imageset", - "role" : "top-shelf-image" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json deleted file mode 100644 index 0564959f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "idiom" : "tv", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/LaunchImage.launchimage/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/LaunchImage.launchimage/Contents.json deleted file mode 100644 index 29d94c78..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/LaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "images" : [ - { - "orientation" : "landscape", - "idiom" : "tv", - "extent" : "full-screen", - "minimum-system-version" : "9.0", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/white-pinterest-logo.imageset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/white-pinterest-logo.imageset/Contents.json deleted file mode 100644 index 6ce31c87..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/white-pinterest-logo.imageset/Contents.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "images" : [ - { - "idiom" : "tv", - "filename" : "white-pinterest-logo@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png deleted file mode 100644 index 2c882a9b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Assets.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Base.lproj/Main.storyboard b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Base.lproj/Main.storyboard deleted file mode 100644 index 90039622..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Base.lproj/Main.storyboard +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/CollectionViewCell.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/CollectionViewCell.swift deleted file mode 100644 index a0344150..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/CollectionViewCell.swift +++ /dev/null @@ -1,20 +0,0 @@ -// -// CollectionViewCell.swift -// PINRemoteImage.tvOSExample -// -// Created by Isaac Overacker on 2/6/16. -// -// - -import UIKit - -class CollectionViewCell: UICollectionViewCell { - - @IBOutlet weak var imageView: UIImageView! - - override func prepareForReuse() { - super.prepareForReuse() - self.imageView.image = nil - } - -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/CollectionViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/CollectionViewController.swift deleted file mode 100644 index 7c56fbe2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/CollectionViewController.swift +++ /dev/null @@ -1,65 +0,0 @@ -// -// CollectionViewController.swift -// PINRemoteImage.tvOSExample -// -// Created by Isaac Overacker on 2/6/16. -// -// - -import UIKit -import PINRemoteImage - -private let reuseIdentifier = "Cell" - -class CollectionViewController: UICollectionViewController { - - let kittenURLs = [ - URL(string: "https://i.pinimg.com/736x/92/5d/5a/925d5ac74db0dcfabc238e1686e31d16.jpg"), - URL(string: "https://i.pinimg.com/736x/ff/b3/ae/ffb3ae40533b7f9463cf1c04d7ab69d1.jpg"), - URL(string: "https://i.pinimg.com/736x/e4/b7/7c/e4b77ca06e1d4a401b1a49d7fadd90d9.jpg"), - URL(string: "https://i.pinimg.com/736x/46/e1/59/46e159d76b167ed9211d662f95e7bf6f.jpg"), - URL(string: "https://i.pinimg.com/736x/7a/72/77/7a72779329942c06f888c148eb8d7e34.jpg"), - URL(string: "https://i.pinimg.com/736x/60/21/8f/60218ff43257fb3b6d7c5b888f74a5bf.jpg"), - URL(string: "https://i.pinimg.com/736x/90/e8/e4/90e8e47d53e71e0d97691dd13a5617fb.jpg"), - URL(string: "https://i.pinimg.com/736x/96/ae/31/96ae31fbc52d96dd3308d2754a6ca37e.jpg"), - URL(string: "https://i.pinimg.com/736x/9b/7b/99/9b7b99ff63be31bba8f9863724b3ebbc.jpg"), - URL(string: "https://i.pinimg.com/736x/80/23/51/802351d953dd2a8b232d0da1c7ca6880.jpg"), - URL(string: "https://i.pinimg.com/736x/f5/c4/f0/f5c4f04fa2686338dc3b08420d198484.jpg"), - URL(string: "https://i.pinimg.com/736x/2b/06/4f/2b064f3e0af984a556ac94b251ff7060.jpg"), - URL(string: "https://i.pinimg.com/736x/17/1f/c0/171fc02398143269d8a507a15563166a.jpg"), - URL(string: "https://i.pinimg.com/736x/8a/35/33/8a35338bbf67c86a198ba2dd926edd82.jpg"), - URL(string: "https://i.pinimg.com/736x/4d/6e/3c/4d6e3cf970031116c57486e85c2a4cab.jpg"), - URL(string: "https://i.pinimg.com/736x/54/25/ee/5425eeccba78731cf7be70f0b8808bd2.jpg"), - URL(string: "https://i.pinimg.com/736x/04/f1/3f/04f13fdb7580dcbe8c4d6b7d5a0a5ec2.jpg"), - URL(string: "https://i.pinimg.com/736x/dc/16/4e/dc164ed33af9d899e5ed188e642f00e9.jpg"), - URL(string: "https://i.pinimg.com/736x/c1/06/13/c106132936189b6cb654671f2a2183ed.jpg"), - URL(string: "https://i.pinimg.com/736x/46/43/ed/4643eda4e1be4273721a76a370b90346.jpg") - ] - - override func viewDidLoad() { - super.viewDidLoad() - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - // MARK: UICollectionViewDataSource - - override func numberOfSections(in collectionView: UICollectionView) -> Int { - return 1 - } - - - override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return kittenURLs.count - } - - override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! CollectionViewCell - cell.imageView.pin_setImage(from: kittenURLs[indexPath.row]) - return cell - } - -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/DegradedViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/DegradedViewController.swift deleted file mode 100644 index 717ac042..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/DegradedViewController.swift +++ /dev/null @@ -1,35 +0,0 @@ -// -// DegradedViewController.swift -// PINRemoteImage.tvOSExample -// -// Created by Isaac Overacker on 2/6/16. -// -// - -import UIKit -import PINRemoteImage - -class DegradedViewController: UIViewController { - - @IBOutlet weak var imageView: UIImageView! - - override func viewDidLoad() { - super.viewDidLoad() - PINRemoteImageManager.shared().setShouldUpgradeLowQualityImages(true, completion: nil) - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - imageView.pin_setImage(from: [ - URL(string: "https://placekitten.com/101/101")!, - URL(string: "https://placekitten.com/401/401")!, - URL(string: "https://placekitten.com/801/801")! - ]) - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/GIFViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/GIFViewController.swift deleted file mode 100644 index cf6e10ee..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/GIFViewController.swift +++ /dev/null @@ -1,20 +0,0 @@ -// -// GIFViewController.swift -// PINRemoteImage.tvOSExample -// -// Created by Garrett Moon on 4/24/18. -// - -import UIKit -import PINRemoteImage - -class GIFViewController: UIViewController { - - @IBOutlet weak var imageView: PINAnimatedImageView! - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - imageView.pin_setImage(from: URL(string: "https://i.pinimg.com/originals/f5/23/f1/f523f141646b613f78566ba964208990.gif")) - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Info.plist b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Info.plist deleted file mode 100644 index 6aae3e5b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - arm64 - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/ProcessingViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/ProcessingViewController.swift deleted file mode 100644 index 5e7cc147..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/ProcessingViewController.swift +++ /dev/null @@ -1,75 +0,0 @@ -// -// ProcessingViewController.swift -// PINRemoteImage.tvOSExample -// -// Created by Isaac Overacker on 2/6/16. -// -// - -import UIKit -import PINRemoteImage - -class ProcessingViewController: UIViewController { - - @IBOutlet weak var imageView: UIImageView! - - override func viewDidLoad() { - super.viewDidLoad() - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - if let url = URL(string: "https://i.pinimg.com/1200x/2e/0c/c5/2e0cc5d86e7b7cd42af225c29f21c37f.jpg") { - imageView.pin_setImage(from: url, - processorKey: "rounded", - processor: { (result, cost) -> UIImage? in - if let image = result.image { - let radius = CGFloat(7.0) - let targetSize = CGSize(width: 200, height: 300) - let imageRect = CGRect(x: 0, y: 0, width: targetSize.width, height: targetSize.height) - UIGraphicsBeginImageContext(imageRect.size) - let bezierPath = UIBezierPath(roundedRect: imageRect, cornerRadius: radius) - bezierPath.addClip() - - let widthMultiplier = CGFloat(targetSize.width / image.size.width) - let heightMultiplier = CGFloat(targetSize.height / image.size.height) - let sizeMultiplier = max(widthMultiplier, heightMultiplier) - - var drawRect = CGRect(x: 0, y: 0, width: image.size.width * sizeMultiplier, height: image.size.height * sizeMultiplier) - if drawRect.maxX > imageRect.maxX { - drawRect.origin.x -= (drawRect.maxX - imageRect.maxX) / 2.0 - } - if drawRect.maxY > imageRect.maxY { - drawRect.origin.y -= (drawRect.maxY - imageRect.maxY) / 2.0 - } - - image.draw(in: drawRect) - - UIColor.red.setStroke() - bezierPath.lineWidth = 5.0 - bezierPath.stroke() - - let ctx = UIGraphicsGetCurrentContext()! - ctx.setBlendMode(.overlay) - ctx.setAlpha(0.5) - - if let logo = UIImage(named: "white-pinterest-logo") { - logo.draw(in: CGRect(x: 0, y: drawRect.size.height - logo.size.height, width: logo.size.width, height: logo.size.height)) - } - - let processedImage = UIGraphicsGetImageFromCurrentImageContext() - UIGraphicsEndImageContext() - return processedImage - } - - return nil - }) - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/ProgressiveViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/ProgressiveViewController.swift deleted file mode 100644 index 0d2d2334..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/ProgressiveViewController.swift +++ /dev/null @@ -1,50 +0,0 @@ -// -// ProgressiveViewController.swift -// PINRemoteImage.tvOSExample -// -// Created by Isaac Overacker on 2/6/16. -// -// - -import UIKit -import PINRemoteImage - -class ProgressiveViewController: UIViewController { - - @IBOutlet weak var imageView: UIImageView! - - override func viewDidLoad() { - super.viewDidLoad() - imageView.pin_updateWithProgress = true - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - if let url = URL(string: "https://i.pinimg.com/1200x/2e/0c/c5/2e0cc5d86e7b7cd42af225c29f21c37f.jpg") { - PINRemoteImageManager.shared().setProgressThresholds([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9], completion: nil) - - imageView.pin_setImage(from: url) - - var progress = [UIImage]() - PINRemoteImageManager.shared().downloadImage(with: url, - options: [], - progressImage: { result in - if let image = result.image { - progress.append(image) - } - }, completion: { result in - if let image = result.image { - progress.append(image) - } - }) - } - } - -} - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/WebPViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/WebPViewController.swift deleted file mode 100644 index 318a1c59..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/PINRemoteImage.tvOSExample/WebPViewController.swift +++ /dev/null @@ -1,20 +0,0 @@ -// -// WebPViewController.swift -// PINRemoteImage.tvOSExample -// -// Created by Garrett Moon on 4/24/18. -// - -import UIKit -import PINRemoteImage - -class WebPViewController: UIViewController { - - @IBOutlet weak var imageView: UIImageView! - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - imageView.pin_setImage(from: URL(string: "https://github.com/samdutton/simpl/blob/master/picturetype/kittens.webp?raw=true")) - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Podfile b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Podfile deleted file mode 100644 index 81322e09..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Podfile +++ /dev/null @@ -1,8 +0,0 @@ -use_frameworks! - -platform :tvos, 9.0 - -target 'Example-tvOS' do - pod "PINRemoteImage/iOS", :path => "../../" - pod "PINRemoteImage/WebP", :path => "../../" -end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Podfile.lock b/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Podfile.lock deleted file mode 100644 index e1af34fa..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-tvOS/Podfile.lock +++ /dev/null @@ -1,40 +0,0 @@ -PODS: - - libwebp (1.1.0): - - libwebp/demux (= 1.1.0) - - libwebp/mux (= 1.1.0) - - libwebp/webp (= 1.1.0) - - libwebp/demux (1.1.0): - - libwebp/webp - - libwebp/mux (1.1.0): - - libwebp/demux - - libwebp/webp (1.1.0) - - PINOperation (1.2) - - PINRemoteImage/Core (3.0.0): - - PINOperation - - PINRemoteImage/iOS (3.0.0): - - PINRemoteImage/Core - - PINRemoteImage/WebP (3.0.0): - - libwebp - - PINRemoteImage/Core - -DEPENDENCIES: - - PINRemoteImage/iOS (from `../../`) - - PINRemoteImage/WebP (from `../../`) - -SPEC REPOS: - trunk: - - libwebp - - PINOperation - -EXTERNAL SOURCES: - PINRemoteImage: - :path: "../../" - -SPEC CHECKSUMS: - libwebp: 946cb3063cea9236285f7e9a8505d806d30e07f3 - PINOperation: 3a967a927e7867e61976c6cc23e5770416449fbc - PINRemoteImage: e2b89e19fb6e77ffc099f9d9f3b3fe1745e3f9f9 - -PODFILE CHECKSUM: 616774737470fed4625bcb3219bb8a1df4d701b8 - -COCOAPODS: 1.9.3 diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/Example.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINRemoteImage/Examples/Example/Example.xcodeproj/project.pbxproj deleted file mode 100644 index e8bc4dd7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/Example.xcodeproj/project.pbxproj +++ /dev/null @@ -1,454 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 2B38B1CD5C8E405102293255 /* libPods-Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3FA9AA7E6E87DBD4CB132A1F /* libPods-Example.a */; }; - 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; - 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; }; - 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; - 6003F598195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F596195388D20070C39A /* InfoPlist.strings */; }; - 6003F59A195388D20070C39A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F599195388D20070C39A /* main.m */; }; - 6003F59E195388D20070C39A /* PINAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F59D195388D20070C39A /* PINAppDelegate.m */; }; - 6003F5A1195388D20070C39A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6003F59F195388D20070C39A /* Main.storyboard */; }; - 6003F5A7195388D20070C39A /* PINViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5A6195388D20070C39A /* PINViewController.m */; }; - 6003F5A9195388D20070C39A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5A8195388D20070C39A /* Images.xcassets */; }; - 682C52611B584DD300B3B813 /* ProcessingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 682C52601B584DD300B3B813 /* ProcessingViewController.m */; }; - 682C52671B58515D00B3B813 /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 682C52661B58515D00B3B813 /* Media.xcassets */; }; - 687666B920869C82001E825C /* GIFViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 687666B820869C82001E825C /* GIFViewController.m */; }; - 68B385081B557116004EB26F /* WebPViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 68B385071B557116004EB26F /* WebPViewController.m */; }; - 68B3850B1B5572BF004EB26F /* ProgressiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 68B3850A1B5572BF004EB26F /* ProgressiveViewController.m */; }; - 68B3850E1B5577D4004EB26F /* DegradedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 68B3850D1B5577D4004EB26F /* DegradedViewController.m */; }; - 9D9328E51C3D4CC200E1F1D3 /* Kitten.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D9328E41C3D4CC200E1F1D3 /* Kitten.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 063FF605A6CC8884BB10EE35 /* Pods-PINRemoteImage Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINRemoteImage Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PINRemoteImage Tests/Pods-PINRemoteImage Tests.debug.xcconfig"; sourceTree = ""; }; - 25CF9DB8CF954119BAA63004 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; - 32A377E2A670E405B928B26E /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; }; - 3FA9AA7E6E87DBD4CB132A1F /* libPods-Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 500C3EFB07D23E183AC04C5D /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; }; - 5A85B7779305DF163437777D /* libPods-PINRemoteImage Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-PINRemoteImage Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6003F58A195388D20070C39A /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 6003F591195388D20070C39A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 6003F595195388D20070C39A /* PINRemoteImage-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PINRemoteImage-Info.plist"; sourceTree = ""; }; - 6003F597195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 6003F599195388D20070C39A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 6003F59C195388D20070C39A /* PINAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINAppDelegate.h; sourceTree = ""; }; - 6003F59D195388D20070C39A /* PINAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINAppDelegate.m; sourceTree = ""; }; - 6003F5A0195388D20070C39A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 6003F5A5195388D20070C39A /* PINViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINViewController.h; sourceTree = ""; }; - 6003F5A6195388D20070C39A /* PINViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINViewController.m; sourceTree = ""; }; - 6003F5A8195388D20070C39A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 6003F5AF195388D20070C39A /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 6008DA13D004B38845BA74EC /* Pods-PINRemoteImage Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINRemoteImage Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-PINRemoteImage Tests/Pods-PINRemoteImage Tests.release.xcconfig"; sourceTree = ""; }; - 682C525F1B584DD300B3B813 /* ProcessingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProcessingViewController.h; sourceTree = ""; }; - 682C52601B584DD300B3B813 /* ProcessingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProcessingViewController.m; sourceTree = ""; }; - 682C52661B58515D00B3B813 /* Media.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Media.xcassets; path = PINRemoteImage/Media.xcassets; sourceTree = SOURCE_ROOT; }; - 687666B720869C82001E825C /* GIFViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIFViewController.h; sourceTree = ""; }; - 687666B820869C82001E825C /* GIFViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIFViewController.m; sourceTree = ""; }; - 68B385061B557116004EB26F /* WebPViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPViewController.h; sourceTree = ""; }; - 68B385071B557116004EB26F /* WebPViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebPViewController.m; sourceTree = ""; }; - 68B385091B5572BF004EB26F /* ProgressiveViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProgressiveViewController.h; sourceTree = ""; }; - 68B3850A1B5572BF004EB26F /* ProgressiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProgressiveViewController.m; sourceTree = ""; }; - 68B3850C1B5577D4004EB26F /* DegradedViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DegradedViewController.h; sourceTree = ""; }; - 68B3850D1B5577D4004EB26F /* DegradedViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DegradedViewController.m; sourceTree = ""; }; - 68B5CDF01A0BEC8C00A4BAAC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 68B5CDF11A0BEC8C00A4BAAC /* PINRemoteImage_Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImage_Tests.m; sourceTree = ""; }; - 8D571FD9970F7A64A2B80EE0 /* Pods-PINRemoteImage.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINRemoteImage.release.xcconfig"; path = "Pods/Target Support Files/Pods-PINRemoteImage/Pods-PINRemoteImage.release.xcconfig"; sourceTree = ""; }; - 95043F8A31505C02E51C4D2F /* Pods-PINRemoteImage.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PINRemoteImage.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PINRemoteImage/Pods-PINRemoteImage.debug.xcconfig"; sourceTree = ""; }; - 9D9328E31C3D4CC200E1F1D3 /* Kitten.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Kitten.h; path = "../../Example-Shared/Kitten.h"; sourceTree = ""; }; - 9D9328E41C3D4CC200E1F1D3 /* Kitten.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Kitten.m; path = "../../Example-Shared/Kitten.m"; sourceTree = ""; }; - A5DEC9B706184109844D57E2 /* PINRemoteImage.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = PINRemoteImage.podspec; path = ../PINRemoteImage.podspec; sourceTree = ""; }; - E2B84DF860DF48B5B22537B6 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; - F30E394524AE56850067A777 /* PINRemoteImage copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "PINRemoteImage copy-Info.plist"; path = "/Users/garrettmoon/code/PINRemoteImage/Examples/Example/PINRemoteImage copy-Info.plist"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 6003F587195388D20070C39A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */, - 6003F592195388D20070C39A /* UIKit.framework in Frameworks */, - 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */, - 2B38B1CD5C8E405102293255 /* libPods-Example.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 6003F581195388D10070C39A = { - isa = PBXGroup; - children = ( - 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */, - 6003F593195388D20070C39A /* PINRemoteImage */, - 68B5CDEE1A0BEC8C00A4BAAC /* PINRemoteImage Tests */, - 6003F58C195388D20070C39A /* Frameworks */, - 6003F58B195388D20070C39A /* Products */, - F5A6BFF7672C3055495CF245 /* Pods */, - F30E394524AE56850067A777 /* PINRemoteImage copy-Info.plist */, - ); - sourceTree = ""; - }; - 6003F58B195388D20070C39A /* Products */ = { - isa = PBXGroup; - children = ( - 6003F58A195388D20070C39A /* Example.app */, - ); - name = Products; - sourceTree = ""; - }; - 6003F58C195388D20070C39A /* Frameworks */ = { - isa = PBXGroup; - children = ( - 6003F58D195388D20070C39A /* Foundation.framework */, - 6003F58F195388D20070C39A /* CoreGraphics.framework */, - 6003F591195388D20070C39A /* UIKit.framework */, - 6003F5AF195388D20070C39A /* XCTest.framework */, - 5A85B7779305DF163437777D /* libPods-PINRemoteImage Tests.a */, - 3FA9AA7E6E87DBD4CB132A1F /* libPods-Example.a */, - ); - name = Frameworks; - sourceTree = ""; - }; - 6003F593195388D20070C39A /* PINRemoteImage */ = { - isa = PBXGroup; - children = ( - 9D9328E31C3D4CC200E1F1D3 /* Kitten.h */, - 9D9328E41C3D4CC200E1F1D3 /* Kitten.m */, - 6003F59C195388D20070C39A /* PINAppDelegate.h */, - 6003F59D195388D20070C39A /* PINAppDelegate.m */, - 6003F59F195388D20070C39A /* Main.storyboard */, - 6003F5A5195388D20070C39A /* PINViewController.h */, - 6003F5A6195388D20070C39A /* PINViewController.m */, - 6003F5A8195388D20070C39A /* Images.xcassets */, - 6003F594195388D20070C39A /* Supporting Files */, - 68B385061B557116004EB26F /* WebPViewController.h */, - 68B385071B557116004EB26F /* WebPViewController.m */, - 68B385091B5572BF004EB26F /* ProgressiveViewController.h */, - 682C52661B58515D00B3B813 /* Media.xcassets */, - 68B3850A1B5572BF004EB26F /* ProgressiveViewController.m */, - 68B3850C1B5577D4004EB26F /* DegradedViewController.h */, - 68B3850D1B5577D4004EB26F /* DegradedViewController.m */, - 682C525F1B584DD300B3B813 /* ProcessingViewController.h */, - 682C52601B584DD300B3B813 /* ProcessingViewController.m */, - 687666B720869C82001E825C /* GIFViewController.h */, - 687666B820869C82001E825C /* GIFViewController.m */, - ); - path = PINRemoteImage; - sourceTree = ""; - }; - 6003F594195388D20070C39A /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 6003F595195388D20070C39A /* PINRemoteImage-Info.plist */, - 6003F596195388D20070C39A /* InfoPlist.strings */, - 6003F599195388D20070C39A /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */ = { - isa = PBXGroup; - children = ( - A5DEC9B706184109844D57E2 /* PINRemoteImage.podspec */, - E2B84DF860DF48B5B22537B6 /* README.md */, - 25CF9DB8CF954119BAA63004 /* LICENSE */, - ); - name = "Podspec Metadata"; - sourceTree = ""; - }; - 68B5CDEE1A0BEC8C00A4BAAC /* PINRemoteImage Tests */ = { - isa = PBXGroup; - children = ( - 68B5CDF11A0BEC8C00A4BAAC /* PINRemoteImage_Tests.m */, - 68B5CDEF1A0BEC8C00A4BAAC /* Supporting Files */, - ); - path = "PINRemoteImage Tests"; - sourceTree = ""; - }; - 68B5CDEF1A0BEC8C00A4BAAC /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 68B5CDF01A0BEC8C00A4BAAC /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - F5A6BFF7672C3055495CF245 /* Pods */ = { - isa = PBXGroup; - children = ( - 95043F8A31505C02E51C4D2F /* Pods-PINRemoteImage.debug.xcconfig */, - 8D571FD9970F7A64A2B80EE0 /* Pods-PINRemoteImage.release.xcconfig */, - 063FF605A6CC8884BB10EE35 /* Pods-PINRemoteImage Tests.debug.xcconfig */, - 6008DA13D004B38845BA74EC /* Pods-PINRemoteImage Tests.release.xcconfig */, - 32A377E2A670E405B928B26E /* Pods-Example.debug.xcconfig */, - 500C3EFB07D23E183AC04C5D /* Pods-Example.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 6003F589195388D20070C39A /* Example */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "Example" */; - buildPhases = ( - D2E4FE25FDCE1E36A864F521 /* [CP] Check Pods Manifest.lock */, - 6003F586195388D20070C39A /* Sources */, - 6003F587195388D20070C39A /* Frameworks */, - 6003F588195388D20070C39A /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Example; - productName = PIRemoteImage; - productReference = 6003F58A195388D20070C39A /* Example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 6003F582195388D10070C39A /* Project object */ = { - isa = PBXProject; - attributes = { - CLASSPREFIX = PI; - LastUpgradeCheck = 0730; - ORGANIZATIONNAME = "Garrett Moon"; - }; - buildConfigurationList = 6003F585195388D10070C39A /* Build configuration list for PBXProject "Example" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - en, - Base, - ); - mainGroup = 6003F581195388D10070C39A; - productRefGroup = 6003F58B195388D20070C39A /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 6003F589195388D20070C39A /* Example */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 6003F588195388D20070C39A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 682C52671B58515D00B3B813 /* Media.xcassets in Resources */, - 6003F5A9195388D20070C39A /* Images.xcassets in Resources */, - 6003F5A1195388D20070C39A /* Main.storyboard in Resources */, - 6003F598195388D20070C39A /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - D2E4FE25FDCE1E36A864F521 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 6003F586195388D20070C39A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 68B385081B557116004EB26F /* WebPViewController.m in Sources */, - 68B3850B1B5572BF004EB26F /* ProgressiveViewController.m in Sources */, - 9D9328E51C3D4CC200E1F1D3 /* Kitten.m in Sources */, - 6003F59E195388D20070C39A /* PINAppDelegate.m in Sources */, - 682C52611B584DD300B3B813 /* ProcessingViewController.m in Sources */, - 687666B920869C82001E825C /* GIFViewController.m in Sources */, - 6003F5A7195388D20070C39A /* PINViewController.m in Sources */, - 68B3850E1B5577D4004EB26F /* DegradedViewController.m in Sources */, - 6003F59A195388D20070C39A /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 6003F596195388D20070C39A /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 6003F597195388D20070C39A /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; - 6003F59F195388D20070C39A /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 6003F5A0195388D20070C39A /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 6003F5BD195388D20070C39A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.1; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 6003F5BE195388D20070C39A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 7.1; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 6003F5C0195388D20070C39A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 32A377E2A670E405B928B26E /* Pods-Example.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - INFOPLIST_FILE = "PINRemoteImage/PINRemoteImage-Info.plist"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Example; - PROVISIONING_PROFILE = ""; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - 6003F5C1195388D20070C39A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 500C3EFB07D23E183AC04C5D /* Pods-Example.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - INFOPLIST_FILE = "PINRemoteImage/PINRemoteImage-Info.plist"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Example; - PROVISIONING_PROFILE = ""; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 6003F585195388D10070C39A /* Build configuration list for PBXProject "Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6003F5BD195388D20070C39A /* Debug */, - 6003F5BE195388D20070C39A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 6003F5C0195388D20070C39A /* Debug */, - 6003F5C1195388D20070C39A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 6003F582195388D10070C39A /* Project object */; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/Example.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINRemoteImage/Examples/Example/Example.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index a37cf193..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/Example.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Carthage/Checkouts/PINRemoteImage/Examples/Example/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Base.lproj/Main.storyboard b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Base.lproj/Main.storyboard deleted file mode 100644 index 6283a5eb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Base.lproj/Main.storyboard +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/DegradedViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/DegradedViewController.h deleted file mode 100644 index 3ebebcfc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/DegradedViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// DegradedViewController.h -// PINRemoteImage -// -// Created by Garrett Moon on 7/14/15. -// Copyright (c) 2015 Garrett Moon. All rights reserved. -// - -#import - -@interface DegradedViewController : UIViewController - -@property (nonatomic, weak) IBOutlet UIImageView *imageView; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/DegradedViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/DegradedViewController.m deleted file mode 100644 index 560d3ec2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/DegradedViewController.m +++ /dev/null @@ -1,50 +0,0 @@ -// -// DegradedViewController.m -// PINRemoteImage -// -// Created by Garrett Moon on 7/14/15. -// Copyright (c) 2015 Garrett Moon. All rights reserved. -// - -#import "DegradedViewController.h" - -#import - -@interface DegradedViewController () - -@end - -@implementation DegradedViewController - -- (void)viewDidLoad -{ - [super viewDidLoad]; - // Do any additional setup after loading the view. - [[PINRemoteImageManager sharedImageManager] setShouldUpgradeLowQualityImages:YES completion:nil]; -} - -- (void)didReceiveMemoryWarning -{ - [super didReceiveMemoryWarning]; - // Dispose of any resources that can be recreated. -} - -- (void)viewWillAppear:(BOOL)animated -{ - [super viewWillAppear:animated]; - [self.imageView pin_setImageFromURLs:@[[NSURL URLWithString:@"https://placekitten.com/101/101"], - [NSURL URLWithString:@"https://placekitten.com/401/401"], - [NSURL URLWithString:@"https://placekitten.com/801/801"]]]; -} - -/* -#pragma mark - Navigation - -// In a storyboard-based application, you will often want to do a little preparation before navigation -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { - // Get the new view controller using [segue destinationViewController]. - // Pass the selected object to the new view controller. -} -*/ - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/GIFViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/GIFViewController.h deleted file mode 100644 index 8dc074bd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/GIFViewController.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// GIFViewController.h -// PINRemoteImage -// -// Created by Garrett Moon on 4/17/18. -// Copyright © 2018 Garrett Moon. All rights reserved. -// - -#import - -#import - -@interface GIFViewController : UIViewController - -@property (nonatomic, weak) IBOutlet PINAnimatedImageView *animatedImageView; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/GIFViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/GIFViewController.m deleted file mode 100644 index 215799c6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/GIFViewController.m +++ /dev/null @@ -1,45 +0,0 @@ -// -// GIFViewController.m -// PINRemoteImage -// -// Created by Garrett Moon on 4/17/18. -// Copyright © 2018 Garrett Moon. All rights reserved. -// - -#import "GIFViewController.h" - -#import - -@interface GIFViewController () - -@end - -@implementation GIFViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - // Do any additional setup after loading the view. -} - -- (void)didReceiveMemoryWarning { - [super didReceiveMemoryWarning]; - // Dispose of any resources that can be recreated. -} - -- (void)viewWillAppear:(BOOL)animated -{ - [super viewWillAppear:animated]; - [self.animatedImageView pin_setImageFromURL:[NSURL URLWithString:@"https://i.pinimg.com/originals/f5/23/f1/f523f141646b613f78566ba964208990.gif"]]; -} - -/* -#pragma mark - Navigation - -// In a storyboard-based application, you will often want to do a little preparation before navigation -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { - // Get the new view controller using [segue destinationViewController]. - // Pass the selected object to the new view controller. -} -*/ - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Images.xcassets/AppIcon.appiconset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 9221b9bb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "20x20" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "83.5x83.5" - }, - { - "idiom" : "ios-marketing", - "scale" : "1x", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Images.xcassets/LaunchImage.launchimage/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Images.xcassets/LaunchImage.launchimage/Contents.json deleted file mode 100644 index 4458b40c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Images.xcassets/LaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "images" : [ - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "subtype" : "retina4", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Media.xcassets/white-pinterest-logo.imageset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Media.xcassets/white-pinterest-logo.imageset/Contents.json deleted file mode 100644 index 5c589373..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Media.xcassets/white-pinterest-logo.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x", - "filename" : "white-pinterest-logo@1x.png" - }, - { - "idiom" : "universal", - "scale" : "2x", - "filename" : "white-pinterest-logo@2x.png" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png deleted file mode 100644 index 2c882a9b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@2x.png b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@2x.png deleted file mode 100644 index 53546558..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@2x.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINAppDelegate.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINAppDelegate.h deleted file mode 100644 index efee66e0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINAppDelegate.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINAppDelegate.h -// PINRemoteImage -// -// Created by CocoaPods on 08/11/2014. -// Copyright (c) 2014 Garrett Moon. All rights reserved. -// - -#import - -@interface PINAppDelegate : UIResponder - -@property (strong, nonatomic) UIWindow *window; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINAppDelegate.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINAppDelegate.m deleted file mode 100644 index 4d952c98..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINAppDelegate.m +++ /dev/null @@ -1,49 +0,0 @@ -// -// PINAppDelegate.m -// PINRemoteImage -// -// Created by CocoaPods on 08/11/2014. -// Copyright (c) 2014 Garrett Moon. All rights reserved. -// - -#import "PINAppDelegate.h" - -#import - -@implementation PINAppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - // Override point for customization after application launch. - [[PINRemoteImageManager sharedImageManager] setProgressiveRendersMaxProgressiveRenderSize:CGSizeMake(2048, 2048) completion:nil]; - return YES; -} - -- (void)applicationWillResignActive:(UIApplication *)application -{ - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. -} - -- (void)applicationDidEnterBackground:(UIApplication *)application -{ - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. -} - -- (void)applicationWillEnterForeground:(UIApplication *)application -{ - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. -} - -- (void)applicationDidBecomeActive:(UIApplication *)application -{ - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. -} - -- (void)applicationWillTerminate:(UIApplication *)application -{ - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINRemoteImage-Info.plist b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINRemoteImage-Info.plist deleted file mode 100644 index 3272b56e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINRemoteImage-Info.plist +++ /dev/null @@ -1,54 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - $(PRODUCT_NAME) - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - NSExceptionAllowsInsecureHTTPLoads - - - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINViewController.h deleted file mode 100644 index c56a45a6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINViewController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// PINViewController.h -// PINRemoteImage -// -// Created by Garrett Moon on 08/11/2014. -// Copyright (c) 2014 Garrett Moon. All rights reserved. -// - -#import - -@interface PINViewController : UIViewController - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINViewController.m deleted file mode 100644 index 0770d944..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/PINViewController.m +++ /dev/null @@ -1,123 +0,0 @@ -// -// PINViewController.m -// PINRemoteImage -// -// Created by Garrett Moon on 08/11/2014. -// Copyright (c) 2014 Garrett Moon. All rights reserved. -// - -#import "PINViewController.h" - -#import -#import -#import - -#import "Kitten.h" - -@interface PINViewController () - -@property (nonatomic, strong) UICollectionView *collectionView; -@property (nonatomic, strong) NSMutableArray *kittens; - -@end - -@interface PINImageCell : UICollectionViewCell - -@property (nonatomic, strong) UIImageView *imageView; - -@end - -@implementation PINViewController - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - srand([[NSDate date] timeIntervalSince1970]); - if (self = [super initWithCoder:aDecoder]) { - [[[PINRemoteImageManager sharedImageManager] cache] removeAllObjects]; - } - return self; -} - -- (void)fetchKittenImages -{ - [Kitten fetchKittenForWidth:CGRectGetWidth(self.collectionView.frame) completion:^(NSArray *kittens) { - [self.kittens addObjectsFromArray:kittens]; - [self.collectionView reloadData]; - }]; -} - -- (void)viewDidLoad -{ - [super viewDidLoad]; - // Do any additional setup after loading the view, typically from a nib. - self.collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:[[UICollectionViewFlowLayout alloc] init]]; - self.collectionView.dataSource = self; - self.collectionView.delegate = self; - [self.collectionView registerClass:[PINImageCell class] forCellWithReuseIdentifier:NSStringFromClass([PINImageCell class])]; - [self.view addSubview:self.collectionView]; - - self.kittens = [[NSMutableArray alloc] init]; - [self fetchKittenImages]; -} - -- (CGSize)collectionView:(UICollectionView *)collectionView - layout:(UICollectionViewLayout *)collectionViewLayout - sizeForItemAtIndexPath:(NSIndexPath *)indexPath -{ - Kitten *kitten = [self.kittens objectAtIndex:indexPath.item]; - return kitten.imageSize; -} - -- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView -{ - return 1; -} - -- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section -{ - return self.kittens.count; -} - -- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath -{ - PINImageCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([PINImageCell class]) forIndexPath:indexPath]; - Kitten *kitten = [self.kittens objectAtIndex:indexPath.item]; - cell.backgroundColor = kitten.dominantColor; - cell.imageView.alpha = 0.0f; - __weak PINImageCell *weakCell = cell; - - [cell.imageView pin_setImageFromURL:kitten.imageURL - completion:^(PINRemoteImageManagerResult *result) { - if (result.requestDuration > 0.25) { - [UIView animateWithDuration:0.3 animations:^{ - weakCell.imageView.alpha = 1.0f; - }]; - } else { - weakCell.imageView.alpha = 1.0f; - } - }]; - return cell; -} - -@end - -@implementation PINImageCell - -- (instancetype)initWithFrame:(CGRect)frame -{ - if (self = [super initWithFrame:frame]) { - self.layer.cornerRadius = 7.0f; - self.layer.masksToBounds = YES; - self.imageView = [[UIImageView alloc] initWithFrame:self.bounds]; - self.imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight); - [self.contentView addSubview:self.imageView]; - } - return self; -} - -- (void)prepareForReuse -{ - self.imageView.image = nil; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProcessingViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProcessingViewController.h deleted file mode 100644 index 96010ea4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProcessingViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// ProcessingViewController.h -// PINRemoteImage -// -// Created by Garrett Moon on 7/16/15. -// Copyright (c) 2015 Garrett Moon. All rights reserved. -// - -#import - -@interface ProcessingViewController : UIViewController - -@property (nonatomic, weak) IBOutlet UIImageView *imageView; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProcessingViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProcessingViewController.m deleted file mode 100644 index 833a3b8c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProcessingViewController.m +++ /dev/null @@ -1,88 +0,0 @@ -// -// ProcessingViewController.m -// PINRemoteImage -// -// Created by Garrett Moon on 7/16/15. -// Copyright (c) 2015 Garrett Moon. All rights reserved. -// - -#import "ProcessingViewController.h" - -#import - -@interface ProcessingViewController () - -@end - -@implementation ProcessingViewController - -- (void)viewDidLoad -{ - [super viewDidLoad]; - // Do any additional setup after loading the view. -} - -- (void)didReceiveMemoryWarning -{ - [super didReceiveMemoryWarning]; - // Dispose of any resources that can be recreated. -} - -- (void)viewWillAppear:(BOOL)animated -{ - [super viewWillAppear:animated]; - - [self.imageView pin_setImageFromURL:[NSURL URLWithString:@"https://i.pinimg.com/736x/5b/c6/c5/5bc6c5387ff6f104fd642f2b375efba3.jpg"] processorKey:@"rounded" processor:^UIImage *(PINRemoteImageManagerResult *result, NSUInteger *cost) - { - UIImage *image = result.image; - CGFloat radius = 7.0f; - CGSize targetSize = CGSizeMake(200, 300); - CGRect imageRect = CGRectMake(0, 0, targetSize.width, targetSize.height); - UIGraphicsBeginImageContext(imageRect.size); - UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRoundedRect:imageRect cornerRadius:radius]; - [bezierPath addClip]; - - CGFloat widthMultiplier = targetSize.width / image.size.width; - CGFloat heightMultiplier = targetSize.height / image.size.height; - CGFloat sizeMultiplier = MAX(widthMultiplier, heightMultiplier); - - CGRect drawRect = CGRectMake(0, 0, image.size.width * sizeMultiplier, image.size.height * sizeMultiplier); - if (CGRectGetMaxX(drawRect) > CGRectGetMaxX(imageRect)) { - drawRect.origin.x -= (CGRectGetMaxX(drawRect) - CGRectGetMaxX(imageRect)) / 2.0; - } - if (CGRectGetMaxY(drawRect) > CGRectGetMaxY(imageRect)) { - drawRect.origin.y -= (CGRectGetMaxY(drawRect) - CGRectGetMaxY(imageRect)) / 2.0; - } - - [image drawInRect:drawRect]; - - [[UIColor redColor] setStroke]; - [bezierPath setLineWidth:5.0]; - [bezierPath stroke]; - - CGContextRef ctx = UIGraphicsGetCurrentContext(); - CGContextSetBlendMode(ctx, kCGBlendModeOverlay); - CGContextSetAlpha(ctx, 0.5); - - UIImage *logo = [UIImage imageNamed:@"white-pinterest-logo"]; - CGContextScaleCTM(ctx, 1.0, -1.0); - CGContextTranslateCTM(ctx, 0.0, -drawRect.size.height); - CGContextDrawImage(ctx, CGRectMake(90, 10, logo.size.width, logo.size.height), [logo CGImage]); - - UIImage *processedImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return processedImage; - }]; -} - -/* -#pragma mark - Navigation - -// In a storyboard-based application, you will often want to do a little preparation before navigation -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { - // Get the new view controller using [segue destinationViewController]. - // Pass the selected object to the new view controller. -} -*/ - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProgressiveViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProgressiveViewController.h deleted file mode 100644 index 7e75a6de..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProgressiveViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// ProgressiveViewController.h -// PINRemoteImage -// -// Created by Garrett Moon on 7/14/15. -// Copyright (c) 2015 Garrett Moon. All rights reserved. -// - -#import - -@interface ProgressiveViewController : UIViewController - -@property (nonatomic, weak) IBOutlet UIImageView *imageView; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProgressiveViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProgressiveViewController.m deleted file mode 100644 index efac02ee..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/ProgressiveViewController.m +++ /dev/null @@ -1,64 +0,0 @@ -// -// ProgressiveViewController.m -// PINRemoteImage -// -// Created by Garrett Moon on 7/14/15. -// Copyright (c) 2015 Garrett Moon. All rights reserved. -// - -#import "ProgressiveViewController.h" - -#import -#import - - -@interface ProgressiveViewController () - -@end - -@implementation ProgressiveViewController - -- (void)viewDidLoad -{ - [super viewDidLoad]; - // MUST BE SET ON IMAGE VIEW TO GET PROGRESS UPDATES! - self.imageView.pin_updateWithProgress = YES; - // Do any additional setup after loading the view. -} - -- (void)didReceiveMemoryWarning -{ - [super didReceiveMemoryWarning]; - // Dispose of any resources that can be recreated. -} - -- (void)viewWillAppear:(BOOL)animated -{ - [super viewWillAppear:animated]; - self.imageView.image = nil; - NSURL *progressiveURL = [NSURL URLWithString:@"https://i.pinimg.com/1200x/2e/0c/c5/2e0cc5d86e7b7cd42af225c29f21c37f.jpg"]; - [[PINRemoteImageManager sharedImageManager] setProgressThresholds:@[@(0.1), @(0.2), @(0.3), @(0.4), @(0.5), @(0.6), @(0.7), @(0.8), @(0.9)] completion:nil]; - [[[PINRemoteImageManager sharedImageManager] cache] removeObjectForKey:[[PINRemoteImageManager sharedImageManager] cacheKeyForURL:progressiveURL processorKey:nil]]; - [self.imageView pin_setImageFromURL:progressiveURL]; - - NSMutableArray *progress = [[NSMutableArray alloc] init]; - [[PINRemoteImageManager sharedImageManager] - downloadImageWithURL:progressiveURL - options:PINRemoteImageManagerDownloadOptionsNone progressImage:^(PINRemoteImageManagerResult *result) { - [progress addObject:result.image]; - } completion:^(PINRemoteImageManagerResult *result) { - [progress addObject:result.image]; - }]; -} - -/* -#pragma mark - Navigation - -// In a storyboard-based application, you will often want to do a little preparation before navigation -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { - // Get the new view controller using [segue destinationViewController]. - // Pass the selected object to the new view controller. -} -*/ - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/WebPViewController.h b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/WebPViewController.h deleted file mode 100644 index 6323f938..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/WebPViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// WebPViewController.h -// PINRemoteImage -// -// Created by Garrett Moon on 7/14/15. -// Copyright (c) 2015 Garrett Moon. All rights reserved. -// - -#import - -@interface WebPViewController : UIViewController - -@property (nonatomic, weak) IBOutlet UIImageView *imageView; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/WebPViewController.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/WebPViewController.m deleted file mode 100644 index aa4539f8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/WebPViewController.m +++ /dev/null @@ -1,47 +0,0 @@ -// -// WebPViewController.m -// PINRemoteImage -// -// Created by Garrett Moon on 7/14/15. -// Copyright (c) 2015 Garrett Moon. All rights reserved. -// - -#import "WebPViewController.h" - -#import - -@interface WebPViewController () - -@end - -@implementation WebPViewController - -- (void)viewDidLoad -{ - [super viewDidLoad]; - // Do any additional setup after loading the view. -} - -- (void)didReceiveMemoryWarning -{ - [super didReceiveMemoryWarning]; - // Dispose of any resources that can be recreated. -} - -- (void)viewWillAppear:(BOOL)animated -{ - [super viewWillAppear:animated]; - [self.imageView pin_setImageFromURL:[NSURL URLWithString:@"https://github.com/samdutton/simpl/blob/master/picturetype/kittens.webp?raw=true"]]; -} - -/* -#pragma mark - Navigation - -// In a storyboard-based application, you will often want to do a little preparation before navigation -- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { - // Get the new view controller using [segue destinationViewController]. - // Pass the selected object to the new view controller. -} -*/ - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/en.lproj/InfoPlist.strings b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/en.lproj/InfoPlist.strings deleted file mode 100644 index 477b28ff..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/main.m b/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/main.m deleted file mode 100644 index b450b2c0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/PINRemoteImage/main.m +++ /dev/null @@ -1,18 +0,0 @@ -// -// main.m -// PINRemoteImage -// -// Created by Garrett Moon on 08/11/2014. -// Copyright (c) 2014 Garrett Moon. All rights reserved. -// - -#import - -#import "PINAppDelegate.h" - -int main(int argc, char * argv[]) -{ - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([PINAppDelegate class])); - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/Podfile b/Carthage/Checkouts/PINRemoteImage/Examples/Example/Podfile deleted file mode 100644 index 3d0605e9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/Podfile +++ /dev/null @@ -1,11 +0,0 @@ -platform :ios, 8.0 - -def shared_pods - pod "PINRemoteImage", :path => "../../" - pod "PINRemoteImage/WebP", :path => "../../" - pod "PINRemoteImage/PINCache", :path => "../../" -end - -target 'Example' do - shared_pods -end diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example/Podfile.lock b/Carthage/Checkouts/PINRemoteImage/Examples/Example/Podfile.lock deleted file mode 100644 index 337741b4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example/Podfile.lock +++ /dev/null @@ -1,53 +0,0 @@ -PODS: - - libwebp (1.1.0): - - libwebp/demux (= 1.1.0) - - libwebp/mux (= 1.1.0) - - libwebp/webp (= 1.1.0) - - libwebp/demux (1.1.0): - - libwebp/webp - - libwebp/mux (1.1.0): - - libwebp/demux - - libwebp/webp (1.1.0) - - PINCache (3.0.1-beta.8): - - PINCache/Arc-exception-safe (= 3.0.1-beta.8) - - PINCache/Core (= 3.0.1-beta.8) - - PINCache/Arc-exception-safe (3.0.1-beta.8): - - PINCache/Core - - PINCache/Core (3.0.1-beta.8): - - PINOperation (~> 1.1.1) - - PINOperation (1.1.2) - - PINRemoteImage (3.0.0): - - PINRemoteImage/PINCache (= 3.0.0) - - PINRemoteImage/Core (3.0.0): - - PINOperation - - PINRemoteImage/PINCache (3.0.0): - - PINCache (= 3.0.1-beta.8) - - PINRemoteImage/Core - - PINRemoteImage/WebP (3.0.0): - - libwebp - - PINRemoteImage/Core - -DEPENDENCIES: - - PINRemoteImage (from `../../`) - - PINRemoteImage/PINCache (from `../../`) - - PINRemoteImage/WebP (from `../../`) - -SPEC REPOS: - trunk: - - libwebp - - PINCache - - PINOperation - -EXTERNAL SOURCES: - PINRemoteImage: - :path: "../../" - -SPEC CHECKSUMS: - libwebp: 946cb3063cea9236285f7e9a8505d806d30e07f3 - PINCache: 534fd41d358d828dfdf227a0d327f3673a65e20b - PINOperation: 24b774353ca248fcf87d67b2d61eef42087c125a - PINRemoteImage: e2b89e19fb6e77ffc099f9d9f3b3fe1745e3f9f9 - -PODFILE CHECKSUM: 6be36f4931404348fd582ddb8bd0b80c534561ac - -COCOAPODS: 1.9.3 diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Podfile b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Podfile deleted file mode 100644 index 4fc8a72f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Podfile +++ /dev/null @@ -1,10 +0,0 @@ -# Uncomment this line to define a global platform for your project -platform :ios, '8.0' -# Uncomment this line if you're using Swift -use_frameworks! - -target 'Swift-Example' do - pod 'PINRemoteImage', :path => '../../' - pod 'PINRemoteImage/WebP', :path => '../../' -end - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Podfile.lock b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Podfile.lock deleted file mode 100644 index 4e96b940..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Podfile.lock +++ /dev/null @@ -1,67 +0,0 @@ -PODS: - - libwebp (1.0.2): - - libwebp/core (= 1.0.2) - - libwebp/dec (= 1.0.2) - - libwebp/demux (= 1.0.2) - - libwebp/dsp (= 1.0.2) - - libwebp/enc (= 1.0.2) - - libwebp/mux (= 1.0.2) - - libwebp/utils (= 1.0.2) - - libwebp/webp (= 1.0.2) - - libwebp/core (1.0.2): - - libwebp/webp - - libwebp/dec (1.0.2): - - libwebp/core - - libwebp/demux (1.0.2): - - libwebp/core - - libwebp/dsp (1.0.2): - - libwebp/core - - libwebp/enc (1.0.2): - - libwebp/core - - libwebp/mux (1.0.2): - - libwebp/core - - libwebp/utils (1.0.2): - - libwebp/core - - libwebp/webp (1.0.2) - - PINCache (3.0.1-beta.7): - - PINCache/Arc-exception-safe (= 3.0.1-beta.7) - - PINCache/Core (= 3.0.1-beta.7) - - PINCache/Arc-exception-safe (3.0.1-beta.7): - - PINCache/Core - - PINCache/Core (3.0.1-beta.7): - - PINOperation (~> 1.1.1) - - PINOperation (1.1.1) - - PINRemoteImage (3.0.0-beta.14): - - PINRemoteImage/PINCache (= 3.0.0-beta.14) - - PINRemoteImage/Core (3.0.0-beta.14): - - PINOperation - - PINRemoteImage/PINCache (3.0.0-beta.14): - - PINCache (= 3.0.1-beta.7) - - PINRemoteImage/Core - - PINRemoteImage/WebP (3.0.0-beta.14): - - libwebp - - PINRemoteImage/Core - -DEPENDENCIES: - - PINRemoteImage (from `../../`) - - PINRemoteImage/WebP (from `../../`) - -SPEC REPOS: - https://github.com/cocoapods/specs.git: - - libwebp - - PINCache - - PINOperation - -EXTERNAL SOURCES: - PINRemoteImage: - :path: "../../" - -SPEC CHECKSUMS: - libwebp: b068a3bd7c45f7460f6715be7bed1a18fd5d6b48 - PINCache: 7cb9ae068c8f655717f7c644ef1dff9fd573e979 - PINOperation: a6219e6fc9db9c269eb7a7b871ac193bcf400aac - PINRemoteImage: 81bbff853acc71c6de9e106e9e489a791b8bbb08 - -PODFILE CHECKSUM: a59d0c8bbae76419ecd87b8e4089d7dd00ea9e67 - -COCOAPODS: 1.6.0 diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example.xcodeproj/project.pbxproj deleted file mode 100644 index e44e4d76..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example.xcodeproj/project.pbxproj +++ /dev/null @@ -1,406 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 689613CD208FC26400D2095C /* GIFViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 689613CC208FC26400D2095C /* GIFViewController.swift */; }; - 8E0F3C501C542A25006C0777 /* ScrollViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E0F3C4F1C542A25006C0777 /* ScrollViewController.swift */; }; - 8E0F3C521C542A31006C0777 /* WebPViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E0F3C511C542A31006C0777 /* WebPViewController.swift */; }; - 8E0F3C541C542A55006C0777 /* ProgressiveViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E0F3C531C542A55006C0777 /* ProgressiveViewController.swift */; }; - 8E0F3C561C542A63006C0777 /* DegradedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E0F3C551C542A63006C0777 /* DegradedViewController.swift */; }; - 8E0F3C581C542A6F006C0777 /* ProcessingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E0F3C571C542A6F006C0777 /* ProcessingViewController.swift */; }; - 8E161F221C78910D0047D3C9 /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8E161F211C78910D0047D3C9 /* Media.xcassets */; }; - 8E50054A1C4F62EB0095AD0F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E5005491C4F62EB0095AD0F /* AppDelegate.swift */; }; - 8E50054F1C4F62EB0095AD0F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8E50054D1C4F62EB0095AD0F /* Main.storyboard */; }; - 8E5005511C4F62EB0095AD0F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8E5005501C4F62EB0095AD0F /* Assets.xcassets */; }; - 8E5005541C4F62EB0095AD0F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8E5005521C4F62EB0095AD0F /* LaunchScreen.storyboard */; }; - C413DCAD48C05B093777B96B /* Pods_Swift_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3498E59FF2DC090C0259B157 /* Pods_Swift_Example.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 3498E59FF2DC090C0259B157 /* Pods_Swift_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Swift_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 39E0C8A2598DAAD2294FF9F4 /* Pods-Swift-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Swift-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Swift-Example/Pods-Swift-Example.debug.xcconfig"; sourceTree = ""; }; - 689613CC208FC26400D2095C /* GIFViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GIFViewController.swift; sourceTree = ""; }; - 7184321E1DE18C231C8323FF /* Pods-Swift-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Swift-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Swift-Example/Pods-Swift-Example.release.xcconfig"; sourceTree = ""; }; - 8E0F3C4F1C542A25006C0777 /* ScrollViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScrollViewController.swift; sourceTree = ""; }; - 8E0F3C511C542A31006C0777 /* WebPViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebPViewController.swift; sourceTree = ""; }; - 8E0F3C531C542A55006C0777 /* ProgressiveViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProgressiveViewController.swift; sourceTree = ""; }; - 8E0F3C551C542A63006C0777 /* DegradedViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DegradedViewController.swift; sourceTree = ""; }; - 8E0F3C571C542A6F006C0777 /* ProcessingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProcessingViewController.swift; sourceTree = ""; }; - 8E161F211C78910D0047D3C9 /* Media.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Media.xcassets; sourceTree = ""; }; - 8E5005461C4F62EB0095AD0F /* Swift-Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Swift-Example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 8E5005491C4F62EB0095AD0F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 8E50054E1C4F62EB0095AD0F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 8E5005501C4F62EB0095AD0F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 8E5005531C4F62EB0095AD0F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 8E5005551C4F62EB0095AD0F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8E5005431C4F62EB0095AD0F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - C413DCAD48C05B093777B96B /* Pods_Swift_Example.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 24730C1B70695DF45A582B9E /* Frameworks */ = { - isa = PBXGroup; - children = ( - 3498E59FF2DC090C0259B157 /* Pods_Swift_Example.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 7ED1DD6CD3BBE6638F979D61 /* Pods */ = { - isa = PBXGroup; - children = ( - 39E0C8A2598DAAD2294FF9F4 /* Pods-Swift-Example.debug.xcconfig */, - 7184321E1DE18C231C8323FF /* Pods-Swift-Example.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; - 8E0F3C5A1C542A84006C0777 /* Controllers */ = { - isa = PBXGroup; - children = ( - 8E0F3C4F1C542A25006C0777 /* ScrollViewController.swift */, - 8E0F3C531C542A55006C0777 /* ProgressiveViewController.swift */, - 8E0F3C511C542A31006C0777 /* WebPViewController.swift */, - 8E0F3C571C542A6F006C0777 /* ProcessingViewController.swift */, - 8E0F3C551C542A63006C0777 /* DegradedViewController.swift */, - 689613CC208FC26400D2095C /* GIFViewController.swift */, - ); - name = Controllers; - sourceTree = ""; - }; - 8E50053D1C4F62EB0095AD0F = { - isa = PBXGroup; - children = ( - 8E5005481C4F62EB0095AD0F /* Swift-Example */, - 8E5005471C4F62EB0095AD0F /* Products */, - 7ED1DD6CD3BBE6638F979D61 /* Pods */, - 24730C1B70695DF45A582B9E /* Frameworks */, - ); - sourceTree = ""; - }; - 8E5005471C4F62EB0095AD0F /* Products */ = { - isa = PBXGroup; - children = ( - 8E5005461C4F62EB0095AD0F /* Swift-Example.app */, - ); - name = Products; - sourceTree = ""; - }; - 8E5005481C4F62EB0095AD0F /* Swift-Example */ = { - isa = PBXGroup; - children = ( - 8E5005491C4F62EB0095AD0F /* AppDelegate.swift */, - 8E0F3C5A1C542A84006C0777 /* Controllers */, - 8E50054D1C4F62EB0095AD0F /* Main.storyboard */, - 8E161F211C78910D0047D3C9 /* Media.xcassets */, - 8E5005501C4F62EB0095AD0F /* Assets.xcassets */, - 8E5005521C4F62EB0095AD0F /* LaunchScreen.storyboard */, - 8E5005551C4F62EB0095AD0F /* Info.plist */, - ); - path = "Swift-Example"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8E5005451C4F62EB0095AD0F /* Swift-Example */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8E5005581C4F62EB0095AD0F /* Build configuration list for PBXNativeTarget "Swift-Example" */; - buildPhases = ( - DF334D262862F883DC0191BF /* [CP] Check Pods Manifest.lock */, - 8E5005421C4F62EB0095AD0F /* Sources */, - 8E5005431C4F62EB0095AD0F /* Frameworks */, - 8E5005441C4F62EB0095AD0F /* Resources */, - 4D54DBF73842B0F913D42C98 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Swift-Example"; - productName = "Swift-Example"; - productReference = 8E5005461C4F62EB0095AD0F /* Swift-Example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 8E50053E1C4F62EB0095AD0F /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0710; - LastUpgradeCheck = 0810; - ORGANIZATIONNAME = "Marius Landwehr"; - TargetAttributes = { - 8E5005451C4F62EB0095AD0F = { - CreatedOnToolsVersion = 7.1.1; - LastSwiftMigration = 1020; - }; - }; - }; - buildConfigurationList = 8E5005411C4F62EB0095AD0F /* Build configuration list for PBXProject "Swift-Example" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - en, - Base, - ); - mainGroup = 8E50053D1C4F62EB0095AD0F; - productRefGroup = 8E5005471C4F62EB0095AD0F /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8E5005451C4F62EB0095AD0F /* Swift-Example */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8E5005441C4F62EB0095AD0F /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8E5005541C4F62EB0095AD0F /* LaunchScreen.storyboard in Resources */, - 8E5005511C4F62EB0095AD0F /* Assets.xcassets in Resources */, - 8E161F221C78910D0047D3C9 /* Media.xcassets in Resources */, - 8E50054F1C4F62EB0095AD0F /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 4D54DBF73842B0F913D42C98 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Swift-Example/Pods-Swift-Example-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/PINCache/PINCache.framework", - "${BUILT_PRODUCTS_DIR}/PINOperation/PINOperation.framework", - "${BUILT_PRODUCTS_DIR}/PINRemoteImage/PINRemoteImage.framework", - "${BUILT_PRODUCTS_DIR}/libwebp/libwebp.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINCache.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINOperation.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINRemoteImage.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Swift-Example/Pods-Swift-Example-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - DF334D262862F883DC0191BF /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Swift-Example-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8E5005421C4F62EB0095AD0F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8E50054A1C4F62EB0095AD0F /* AppDelegate.swift in Sources */, - 8E0F3C501C542A25006C0777 /* ScrollViewController.swift in Sources */, - 8E0F3C541C542A55006C0777 /* ProgressiveViewController.swift in Sources */, - 8E0F3C581C542A6F006C0777 /* ProcessingViewController.swift in Sources */, - 689613CD208FC26400D2095C /* GIFViewController.swift in Sources */, - 8E0F3C521C542A31006C0777 /* WebPViewController.swift in Sources */, - 8E0F3C561C542A63006C0777 /* DegradedViewController.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 8E50054D1C4F62EB0095AD0F /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 8E50054E1C4F62EB0095AD0F /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 8E5005521C4F62EB0095AD0F /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 8E5005531C4F62EB0095AD0F /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 8E5005561C4F62EB0095AD0F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 8E5005571C4F62EB0095AD0F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.1; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 8E5005591C4F62EB0095AD0F /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 39E0C8A2598DAAD2294FF9F4 /* Pods-Swift-Example.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - INFOPLIST_FILE = "Swift-Example/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pintereset.Swift-Example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 8E50055A1C4F62EB0095AD0F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7184321E1DE18C231C8323FF /* Pods-Swift-Example.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - INFOPLIST_FILE = "Swift-Example/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pintereset.Swift-Example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8E5005411C4F62EB0095AD0F /* Build configuration list for PBXProject "Swift-Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8E5005561C4F62EB0095AD0F /* Debug */, - 8E5005571C4F62EB0095AD0F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8E5005581C4F62EB0095AD0F /* Build configuration list for PBXNativeTarget "Swift-Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8E5005591C4F62EB0095AD0F /* Debug */, - 8E50055A1C4F62EB0095AD0F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 8E50053E1C4F62EB0095AD0F /* Project object */; -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example.xcworkspace/contents.xcworkspacedata b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 3c22eb94..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/AppDelegate.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/AppDelegate.swift deleted file mode 100644 index 79c5c824..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/AppDelegate.swift +++ /dev/null @@ -1,47 +0,0 @@ -// -// AppDelegate.swift -// Swift-Example -// -// Created by Marius Landwehr on 20.01.16. -// Copyright © 2016 Marius Landwehr. All rights reserved. -// - -import UIKit -import PINRemoteImage - -@UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate { - - var window: UIWindow? - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. - PINRemoteImageManager.shared().setProgressiveRendersMaxProgressiveRenderSize(CGSize.init(width: 2048, height: 2048), completion: nil) - return true - } - - func applicationWillResignActive(_ application: UIApplication) { - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. - } - - func applicationDidEnterBackground(_ application: UIApplication) { - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. - } - - func applicationWillEnterForeground(_ application: UIApplication) { - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. - } - - func applicationDidBecomeActive(_ application: UIApplication) { - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. - } - - func applicationWillTerminate(_ application: UIApplication) { - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. - } - - -} - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Assets.xcassets/AppIcon.appiconset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 118c98f7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Base.lproj/Main.storyboard b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Base.lproj/Main.storyboard deleted file mode 100644 index 2b3edfc4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Base.lproj/Main.storyboard +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/DegradedViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/DegradedViewController.swift deleted file mode 100644 index c5129896..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/DegradedViewController.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// DegradedViewController.swift -// Swift-Example -// -// Created by Marius Landwehr on 23.01.16. -// Copyright © 2016 Marius Landwehr. All rights reserved. -// - -import UIKit -import PINRemoteImage - -class DegradedViewController: UIViewController { - - @IBOutlet weak var imageView: UIImageView! - - override func viewDidLoad() { - super.viewDidLoad() - - PINRemoteImageManager.shared().setShouldUpgradeLowQualityImages(true, completion: nil) - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - imageView.pin_setImage(from: [ - URL(string: "https://placekitten.com/101/101")!, - URL(string: "https://placekitten.com/401/401")!, - URL(string: "https://placekitten.com/801/801")!]) - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/GIFViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/GIFViewController.swift deleted file mode 100644 index 04582bb9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/GIFViewController.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// GIFViewController.swift -// Swift-Example -// -// Created by Garrett Moon on 4/24/18. -// Copyright © 2018 Marius Landwehr. All rights reserved. -// - -import UIKit -import PINRemoteImage - -class GIFViewController: UIViewController { - - @IBOutlet weak var imageView: PINAnimatedImageView! - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - imageView.pin_setImage(from: URL(string: "https://i.pinimg.com/originals/f5/23/f1/f523f141646b613f78566ba964208990.gif")) - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Info.plist b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Info.plist deleted file mode 100644 index 6905cc67..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Info.plist +++ /dev/null @@ -1,40 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Media.xcassets/white-pinterest-logo.imageset/Contents.json b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Media.xcassets/white-pinterest-logo.imageset/Contents.json deleted file mode 100644 index 5c589373..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Media.xcassets/white-pinterest-logo.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x", - "filename" : "white-pinterest-logo@1x.png" - }, - { - "idiom" : "universal", - "scale" : "2x", - "filename" : "white-pinterest-logo@2x.png" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png deleted file mode 100644 index 2c882a9b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@1x.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@2x.png b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@2x.png deleted file mode 100644 index 53546558..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Media.xcassets/white-pinterest-logo.imageset/white-pinterest-logo@2x.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/ProcessingViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/ProcessingViewController.swift deleted file mode 100644 index 6022f358..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/ProcessingViewController.swift +++ /dev/null @@ -1,71 +0,0 @@ -// -// ProcessingViewController.swift -// Swift-Example -// -// Created by Marius Landwehr on 23.01.16. -// Copyright © 2016 Marius Landwehr. All rights reserved. -// - -import UIKit -import PINRemoteImage - -class ProcessingViewController: UIViewController { - - @IBOutlet weak var imageView: UIImageView! - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - let url = URL(string: "https://i.pinimg.com/736x/5b/c6/c5/5bc6c5387ff6f104fd642f2b375efba3.jpg") - - imageView.pin_setImage(from: url, processorKey: "rounded") { (result, unsafePointer) -> UIImage? in - - guard let image = result.image else { return nil } - - let radius : CGFloat = 7.0 - let targetSize = CGSize(width: 200, height: 300) - let imageRect = CGRect(x: 0, y: 0, width: targetSize.width, height: targetSize.height) - - UIGraphicsBeginImageContext(imageRect.size) - - let bezierPath = UIBezierPath(roundedRect: imageRect, cornerRadius: radius) - bezierPath.addClip() - - let widthMultiplier : CGFloat = targetSize.width / image.size.width - let heightMultiplier : CGFloat = targetSize.height / image.size.height - let sizeMultiplier = max(widthMultiplier, heightMultiplier) - - var drawRect = CGRect(x: 0, y: 0, width: image.size.width * sizeMultiplier, height: image.size.height * sizeMultiplier) - if (drawRect.maxX > imageRect.maxX) { - drawRect.origin.x -= (drawRect.maxX - imageRect.maxX) / 2 - } - if (drawRect.maxY > imageRect.maxY) { - drawRect.origin.y -= (drawRect.maxY - imageRect.maxY) / 2 - } - - image.draw(in: drawRect) - - UIColor.red.setStroke() - bezierPath.lineWidth = 5.0 - bezierPath.stroke() - - let ctx = UIGraphicsGetCurrentContext() - ctx?.setBlendMode(CGBlendMode.overlay) - ctx?.setAlpha(0.5) - - let logo = UIImage(named: "white-pinterest-logo") - ctx?.scaleBy(x: 1.0, y: -1.0) - ctx?.translateBy(x: 0.0, y: -drawRect.size.height) - - if let coreGraphicsImage = logo?.cgImage { - ctx?.draw(coreGraphicsImage, in: CGRect(x: 90, y: 10, width: logo!.size.width, height: logo!.size.height)) - } - - let processedImage = UIGraphicsGetImageFromCurrentImageContext() - UIGraphicsEndImageContext() - - return processedImage - - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/ProgressiveViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/ProgressiveViewController.swift deleted file mode 100644 index 07161517..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/ProgressiveViewController.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// ProgressiveViewController.swift -// Swift-Example -// -// Created by Marius Landwehr on 23.01.16. -// Copyright © 2016 Marius Landwehr. All rights reserved. -// - -import UIKit -import PINRemoteImage -import PINCache - -class ProgressiveViewController: UIViewController { - - @IBOutlet weak var imageView: UIImageView! - - override func viewDidLoad() { - super.viewDidLoad() - - // Do any additional setup after loading the view. - imageView.pin_updateWithProgress = true - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - guard let imageURL = URL(string: "https://i.pinimg.com/1200x/2e/0c/c5/2e0cc5d86e7b7cd42af225c29f21c37f.jpg") else { - return - } - - PINRemoteImageManager.shared().setProgressThresholds([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0], completion: nil) - PINRemoteImageManager.shared().cache.removeObject(forKey: PINRemoteImageManager.shared().cacheKey(for: imageURL, processorKey: nil)) - - imageView.pin_setImage(from: imageURL) - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/ScrollViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/ScrollViewController.swift deleted file mode 100644 index 4c9b506a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/ScrollViewController.swift +++ /dev/null @@ -1,190 +0,0 @@ -// -// ScrollViewController.swift -// Swift-Example -// -// Created by Marius Landwehr on 23.01.16. -// Copyright © 2016 Marius Landwehr. All rights reserved. -// - -import UIKit -import PINRemoteImage -import PINCache - -struct Kitten { - - let imageUrl : URL - let size : CGSize - var dominantColor : UIColor? - - init(urlString : String, size : CGSize) { - self.imageUrl = URL(string: urlString)! - self.size = size - } -} - -class PinImageCell : UICollectionViewCell { - - let imageView : UIImageView - - override init(frame: CGRect) { - imageView = UIImageView() - - super.init(frame: frame) - - imageView.translatesAutoresizingMaskIntoConstraints = false - contentView.addSubview(imageView) - - let view = ["imageView" : imageView] - - let constraintsH = NSLayoutConstraint.constraints(withVisualFormat: "H:|-0-[imageView]-0-|", options: [], metrics: nil, views: view) - let constraintsV = NSLayoutConstraint.constraints(withVisualFormat: "V:|-0-[imageView]-0-|", options: [], metrics: nil, views: view) - contentView.addConstraints(constraintsH) - contentView.addConstraints(constraintsV) - - layer.cornerRadius = 7 - layer.masksToBounds = true - } - - required init?(coder aDecoder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - override func prepareForReuse() { - super.prepareForReuse() - imageView.image = nil - } -} - -class ScrollViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { - - let kittens = [ - Kitten(urlString: "https://i.pinimg.com/736x/92/5d/5a/925d5ac74db0dcfabc238e1686e31d16.jpg", size: CGSize(width: 503, height: 992)), - Kitten(urlString: "https://i.pinimg.com/736x/ff/b3/ae/ffb3ae40533b7f9463cf1c04d7ab69d1.jpg", size: CGSize(width: 500, height: 337)), - Kitten(urlString: "https://i.pinimg.com/736x/e4/b7/7c/e4b77ca06e1d4a401b1a49d7fadd90d9.jpg", size: CGSize(width: 522, height: 695)), - Kitten(urlString: "https://i.pinimg.com/736x/46/e1/59/46e159d76b167ed9211d662f95e7bf6f.jpg", size: CGSize(width: 557, height: 749)), - Kitten(urlString: "https://i.pinimg.com/736x/7a/72/77/7a72779329942c06f888c148eb8d7e34.jpg", size: CGSize(width: 710, height: 1069)), - Kitten(urlString: "https://i.pinimg.com/736x/60/21/8f/60218ff43257fb3b6d7c5b888f74a5bf.jpg", size: CGSize(width: 522, height: 676)), - Kitten(urlString: "https://i.pinimg.com/736x/90/e8/e4/90e8e47d53e71e0d97691dd13a5617fb.jpg", size: CGSize(width: 500, height: 688)), - Kitten(urlString: "https://i.pinimg.com/736x/96/ae/31/96ae31fbc52d96dd3308d2754a6ca37e.jpg", size: CGSize(width: 377, height: 700)), - Kitten(urlString: "https://i.pinimg.com/736x/9b/7b/99/9b7b99ff63be31bba8f9863724b3ebbc.jpg", size: CGSize(width: 334, height: 494)), - Kitten(urlString: "https://i.pinimg.com/736x/80/23/51/802351d953dd2a8b232d0da1c7ca6880.jpg", size: CGSize(width: 625, height: 469)), - Kitten(urlString: "https://i.pinimg.com/736x/f5/c4/f0/f5c4f04fa2686338dc3b08420d198484.jpg", size: CGSize(width: 625, height: 833)), - Kitten(urlString: "https://i.pinimg.com/736x/2b/06/4f/2b064f3e0af984a556ac94b251ff7060.jpg", size: CGSize(width: 625, height: 469)), - Kitten(urlString: "https://i.pinimg.com/736x/17/1f/c0/171fc02398143269d8a507a15563166a.jpg", size: CGSize(width: 625, height: 469)), - Kitten(urlString: "https://i.pinimg.com/736x/8a/35/33/8a35338bbf67c86a198ba2dd926edd82.jpg", size: CGSize(width: 625, height: 791)), - Kitten(urlString: "https://i.pinimg.com/736x/4d/6e/3c/4d6e3cf970031116c57486e85c2a4cab.jpg", size: CGSize(width: 625, height: 833)), - Kitten(urlString: "https://i.pinimg.com/736x/54/25/ee/5425eeccba78731cf7be70f0b8808bd2.jpg", size: CGSize(width: 605, height: 605)), - Kitten(urlString: "https://i.pinimg.com/736x/04/f1/3f/04f13fdb7580dcbe8c4d6b7d5a0a5ec2.jpg", size: CGSize(width: 504, height: 750)), - Kitten(urlString: "https://i.pinimg.com/736x/dc/16/4e/dc164ed33af9d899e5ed188e642f00e9.jpg", size: CGSize(width: 500, height: 500)), - Kitten(urlString: "https://i.pinimg.com/736x/c1/06/13/c106132936189b6cb654671f2a2183ed.jpg", size: CGSize(width: 640, height: 640)), - Kitten(urlString: "https://i.pinimg.com/736x/46/43/ed/4643eda4e1be4273721a76a370b90346.jpg", size: CGSize(width: 500, height: 473)), - ] - - var collectionKittens = [Kitten]() - - var collectionView : UICollectionView? - - override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { - super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) - PINRemoteImageManager.shared().cache.removeAllObjects() - } - - required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - PINRemoteImageManager.shared().cache.removeAllObjects() - } - - override func viewDidLoad() { - super.viewDidLoad() - - collectionView = UICollectionView(frame: view.bounds, collectionViewLayout: UICollectionViewFlowLayout()) - collectionView?.register(PinImageCell.self, forCellWithReuseIdentifier: String(describing: PinImageCell.self)) - collectionView?.delegate = self - collectionView?.dataSource = self - - if let cView = collectionView { - view.addSubview(cView) - } - - createRandomKittens() - } - - func createRandomKittens() { - let dispatchGroup = DispatchGroup() - if let bounds = collectionView?.bounds { - var tmpKittens = [Kitten]() - - DispatchQueue.global(qos: DispatchQoS.QoSClass.default).async(group: dispatchGroup) { () -> Void in - - for _ in 1...500 { - let randGreen : CGFloat = CGFloat(drand48()) - let randBlue : CGFloat = CGFloat(drand48()) - let randRed : CGFloat = CGFloat(drand48()) - - let randomColor = UIColor(red: randRed, green: randGreen, blue: randBlue, alpha: 1) - let kittenIndex : Int = Int(arc4random() % 20) - let randKitten = self.kittens[kittenIndex] - - var width = randKitten.size.width - var height = randKitten.size.height - - if width > (bounds.size.width) { - height = height / (width / bounds.size.width) - width = bounds.size.width - } - - var newKitten = Kitten(urlString: randKitten.imageUrl.absoluteString, size: CGSize(width: width, height: height)) - newKitten.dominantColor = randomColor - - DispatchQueue.main.sync(execute: { () -> Void in - tmpKittens.append(newKitten) - }) - } - } - - dispatchGroup.notify(queue: DispatchQueue.main, execute: { () -> Void in - self.collectionKittens += tmpKittens - self.collectionView?.reloadData() - }) - } - } - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { - let kitten = collectionKittens[indexPath.row] - return kitten.size - } - - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: String(describing: PinImageCell.self), for: indexPath) - - if let pinCell = cell as? PinImageCell { - - let kitten = collectionKittens[indexPath.row] - pinCell.backgroundColor = kitten.dominantColor - pinCell.alpha = 0 - - weak var weakPinCell = pinCell - - pinCell.imageView.pin_setImage(from: kitten.imageUrl, completion: { (result) in - if result.requestDuration > 0.25 { - UIView.animate(withDuration: 0.3, animations: { - weakPinCell?.alpha = 1 - }) - } else { - weakPinCell?.alpha = 1 - } - }) - } - - return cell - } - - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return collectionKittens.count - } - - func numberOfSections(in collectionView: UICollectionView) -> Int { - return 1 - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/WebPViewController.swift b/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/WebPViewController.swift deleted file mode 100644 index e109ea0b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/WebPViewController.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// WebPViewController.swift -// Swift-Example -// -// Created by Marius Landwehr on 23.01.16. -// Copyright © 2016 Marius Landwehr. All rights reserved. -// - -import UIKit -import PINRemoteImage - -class WebPViewController: UIViewController { - - @IBOutlet weak var imageView: UIImageView! - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - imageView.pin_setImage(from: URL(string: "https://github.com/samdutton/simpl/blob/master/picturetype/kittens.webp?raw=true")) - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/LICENSE b/Carthage/Checkouts/PINRemoteImage/LICENSE deleted file mode 100644 index d0381d6d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/LICENSE +++ /dev/null @@ -1,176 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/Carthage/Checkouts/PINRemoteImage/Makefile b/Carthage/Checkouts/PINRemoteImage/Makefile deleted file mode 100644 index b6ebd8ba..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -PLATFORM="platform=iOS Simulator,name=iPhone 8" -SDK="iphonesimulator" -SHELL=/bin/bash -o pipefail - -.PHONY: all webp cocoapods test carthage analyze - -cocoapods: - pod lib lint - -analyze: - xcodebuild clean analyze -destination ${PLATFORM} -sdk ${SDK} -project PINRemoteImage.xcodeproj -scheme PINRemoteImage \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO \ - CLANG_ANALYZER_OUTPUT=plist-html \ - CLANG_ANALYZER_OUTPUT_DIR="$(shell pwd)/clang" | xcpretty - if [[ -n `find $(shell pwd)/clang -name "*.html"` ]] ; then rm -rf `pwd`/clang; exit 1; fi - rm -rf $(shell pwd)/clang - -test: - xcodebuild clean test -destination ${PLATFORM} -sdk ${SDK} -project PINRemoteImage.xcodeproj -scheme PINRemoteImage \ - ONLY_ACTIVE_ARCH=NO \ - CODE_SIGNING_REQUIRED=NO | xcpretty - -carthage: - carthage update --no-use-binaries --no-build - carthage build --no-use-binaries --no-skip-current - -webp: - carthage update --no-use-binaries --no-build - cd webp && ../Carthage/Checkouts/libwebp/iosbuild.sh - -all: carthage test cocoapods analyze \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.podspec b/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.podspec deleted file mode 100644 index becd0851..00000000 --- a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.podspec +++ /dev/null @@ -1,81 +0,0 @@ -# -# Be sure to run `pod lib lint PINRemoteImage.podspec' to ensure this is a -# valid spec and remove all comments before submitting the spec. -# -# Any lines starting with a # are optional, but encouraged -# -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html -# - -Pod::Spec.new do |s| - s.name = "PINRemoteImage" - s.version = "3.0.1" - s.summary = "A thread safe, performant, feature rich image fetcher" - s.homepage = "https://github.com/pinterest/PINRemoteImage" - s.license = 'Apache 2.0' - s.author = { "Garrett Moon" => "garrett@pinterest.com" } - s.source = { :git => "https://github.com/pinterest/PINRemoteImage.git", :tag => s.version.to_s } - s.prefix_header_file = false - # s.social_media_url = 'https://twitter.com/garrettmoon' - - ios_deployment = "8.0" - tvos_deployment = "9.0" - osx_deployment = "10.11" - s.ios.deployment_target = ios_deployment - s.tvos.deployment_target = tvos_deployment - s.requires_arc = true - - s.default_subspecs = 'PINCache' - - ### Subspecs - s.subspec 'Core' do |cs| - cs.dependency 'PINOperation' - cs.ios.deployment_target = ios_deployment - cs.tvos.deployment_target = tvos_deployment - cs.osx.deployment_target = osx_deployment - cs.source_files = 'Source/Classes/**/*.{h,m}' - cs.public_header_files = 'Source/Classes/**/*.h' - cs.exclude_files = 'Source/Classes/PINCache/*.{h,m}' - cs.frameworks = 'ImageIO', 'Accelerate' - end - - s.subspec 'iOS' do |ios| - ios.ios.deployment_target = ios_deployment - ios.tvos.deployment_target = tvos_deployment - ios.dependency 'PINRemoteImage/Core' - ios.frameworks = 'UIKit' - end - - s.subspec 'OSX' do |cs| - cs.osx.deployment_target = osx_deployment - cs.dependency 'PINRemoteImage/Core' - cs.frameworks = 'Cocoa', 'CoreServices' - end - - # The tvOS spec is no longer necessary, iOS should be used instead. - s.subspec 'tvOS' do |tvos| - tvos.dependency 'PINRemoteImage/iOS' - end - - s.subspec 'WebP' do |webp| - webp.ios.deployment_target = ios_deployment - webp.tvos.deployment_target = tvos_deployment - webp.osx.deployment_target = osx_deployment - webp.xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) PIN_WEBP=1', - 'USER_HEADER_SEARCH_PATHS' => '$(inherited) $(SRCROOT)/libwebp/src' - } - webp.dependency 'PINRemoteImage/Core' - webp.dependency 'libwebp' - end - - s.subspec "PINCache" do |pc| - pc.dependency 'PINRemoteImage/Core' - pc.dependency 'PINCache', '~> 3.0.1' - pc.ios.deployment_target = ios_deployment - pc.tvos.deployment_target = tvos_deployment - pc.osx.deployment_target = osx_deployment - pc.source_files = 'Source/Classes/PINCache/*.{h,m}' - end - -end diff --git a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.xcodeproj/project.pbxproj b/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.xcodeproj/project.pbxproj deleted file mode 100644 index 9f66b0a8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1479 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 0E71BE2A22E94C7200FC5B99 /* fireworks.gif in Resources */ = {isa = PBXBuildFile; fileRef = 0E71BE2522E94C7200FC5B99 /* fireworks.gif */; }; - 139D3A631F67284400F82935 /* PINRemoteImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 139D3A5A1F67284400F82935 /* PINRemoteImage.framework */; }; - 139D4FCA1F672B0D00DE64E0 /* PINButton+PINRemoteImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DD47F991C699F4B00F12CA0 /* PINButton+PINRemoteImage.m */; }; - 139D4FCB1F672B0D00DE64E0 /* PINImageView+PINRemoteImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DD47F9B1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.m */; }; - 139D4FCC1F672B0D00DE64E0 /* NSData+ImageDetectors.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918DF1BCF23C800710963 /* NSData+ImageDetectors.m */; }; - 139D4FCD1F672B0D00DE64E0 /* PINCache+PINRemoteImageCaching.m in Sources */ = {isa = PBXBuildFile; fileRef = 68CA92821DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.m */; }; - 139D4FCE1F672B0D00DE64E0 /* PINAlternateRepresentationProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 68F0EA8F1CB32EC900F1FD41 /* PINAlternateRepresentationProvider.m */; }; - 139D4FD01F672B0D00DE64E0 /* PINProgressiveImage.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918EE1BCF23C800710963 /* PINProgressiveImage.m */; }; - 139D4FD11F672B0D00DE64E0 /* PINRemoteImageCategoryManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918DC1BCF23C800710963 /* PINRemoteImageCategoryManager.m */; }; - 139D4FD21F672B0D00DE64E0 /* PINRemoteImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918F61BCF23C800710963 /* PINRemoteImageManager.m */; }; - 139D4FD31F672B0D00DE64E0 /* PINRemoteImageManagerResult.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918F81BCF23C800710963 /* PINRemoteImageManagerResult.m */; }; - 139D4FD41F672B0D00DE64E0 /* PINURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918FE1BCF23C900710963 /* PINURLSessionManager.m */; }; - 139D4FD51F672B0D00DE64E0 /* PINRequestRetryStrategy.m in Sources */ = {isa = PBXBuildFile; fileRef = 926E015D1F0DFCAE00874D01 /* PINRequestRetryStrategy.m */; }; - 139D4FD61F672B0D00DE64E0 /* PINImage+ScaledImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 68A6B1D91E5248BF003A92D1 /* PINImage+ScaledImage.m */; }; - 139D4FD71F672B0D00DE64E0 /* PINImage+DecodedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DD47FA11C699FDC00F12CA0 /* PINImage+DecodedImage.m */; }; - 139D4FD81F672B0D00DE64E0 /* PINImage+WebP.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DD47FA31C699FDC00F12CA0 /* PINImage+WebP.m */; }; - 139D4FDB1F672B0D00DE64E0 /* PINRemoteImageCallbacks.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918F11BCF23C800710963 /* PINRemoteImageCallbacks.m */; }; - 139D4FDC1F672B0D00DE64E0 /* PINRemoteImageDownloadTask.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918F41BCF23C800710963 /* PINRemoteImageDownloadTask.m */; }; - 139D4FDD1F672B0D00DE64E0 /* PINRemoteImageProcessorTask.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918FA1BCF23C800710963 /* PINRemoteImageProcessorTask.m */; }; - 139D4FDE1F672B0D00DE64E0 /* PINRemoteImageTask.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918FC1BCF23C800710963 /* PINRemoteImageTask.m */; }; - 139D4FDF1F672B0D00DE64E0 /* PINRemoteLock.m in Sources */ = {isa = PBXBuildFile; fileRef = 6858C0741C9CC5BA00E420EB /* PINRemoteLock.m */; }; - 139D4FE01F672B0D00DE64E0 /* PINRemoteImageMemoryContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 68F0EA911CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.m */; }; - 139D4FE11F672B0D00DE64E0 /* PINRemoteImageBasicCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 68CA927A1DAEFF93008BECE2 /* PINRemoteImageBasicCache.m */; }; - 139D4FE21F672B0D00DE64E0 /* PINRemoteImageDownloadQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 68B1F2801E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.m */; }; - 139D4FE31F672B0D00DE64E0 /* PINResume.m in Sources */ = {isa = PBXBuildFile; fileRef = 68B7E3B11E736C73000FC887 /* PINResume.m */; }; - 139D4FE41F672B0D00DE64E0 /* PINSpeedRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6860CB071F578287005E886E /* PINSpeedRecorder.m */; }; - 139D50A31F672BBF00DE64E0 /* PINImage+ScaledImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A6B1DA1E5248BF003A92D1 /* PINImage+ScaledImage.h */; }; - 139D50A41F672BBF00DE64E0 /* PINImage+DecodedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DD47FA01C699FDC00F12CA0 /* PINImage+DecodedImage.h */; }; - 139D50A51F672BBF00DE64E0 /* PINImage+WebP.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DD47FA21C699FDC00F12CA0 /* PINImage+WebP.h */; }; - 139D50A71F672BBF00DE64E0 /* PINRemoteImageTask+Subclassing.h in Headers */ = {isa = PBXBuildFile; fileRef = 686D48CE1ED38FC0003DB4C2 /* PINRemoteImageTask+Subclassing.h */; }; - 139D50A91F672BBF00DE64E0 /* PINRemoteImageCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F01BCF23C800710963 /* PINRemoteImageCallbacks.h */; }; - 139D50AA1F672BBF00DE64E0 /* PINRemoteImageDownloadTask.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F31BCF23C800710963 /* PINRemoteImageDownloadTask.h */; }; - 139D50AB1F672BBF00DE64E0 /* PINRemoteImageProcessorTask.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F91BCF23C800710963 /* PINRemoteImageProcessorTask.h */; }; - 139D50AC1F672BBF00DE64E0 /* PINRemoteImageTask.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918FB1BCF23C800710963 /* PINRemoteImageTask.h */; }; - 139D50AD1F672BBF00DE64E0 /* PINRemoteLock.h in Headers */ = {isa = PBXBuildFile; fileRef = 6858C0731C9CC5BA00E420EB /* PINRemoteLock.h */; }; - 139D50AE1F672BBF00DE64E0 /* PINRemoteImageMemoryContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68F0EA901CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.h */; }; - 139D50AF1F672BBF00DE64E0 /* PINRemoteImageBasicCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 68CA92791DAEFF93008BECE2 /* PINRemoteImageBasicCache.h */; }; - 139D50B01F672BBF00DE64E0 /* PINRemoteImageDownloadQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 68B1F27F1E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.h */; }; - 139D50B11F672BBF00DE64E0 /* PINResume.h in Headers */ = {isa = PBXBuildFile; fileRef = 68B7E3B01E736C73000FC887 /* PINResume.h */; }; - 139D50B21F672BBF00DE64E0 /* PINSpeedRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6860CB061F578287005E886E /* PINSpeedRecorder.h */; }; - 139D50B41F672C1C00DE64E0 /* PINButton+PINRemoteImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DD47F981C699F4B00F12CA0 /* PINButton+PINRemoteImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50B51F672C1C00DE64E0 /* PINImageView+PINRemoteImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DD47F9A1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50B61F672C1C00DE64E0 /* NSData+ImageDetectors.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918DE1BCF23C800710963 /* NSData+ImageDetectors.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50B71F672C1C00DE64E0 /* PINCache+PINRemoteImageCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 68CA92811DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50B81F672C1C00DE64E0 /* PINRemoteImage.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918EF1BCF23C800710963 /* PINRemoteImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50B91F672C1C00DE64E0 /* PINAlternateRepresentationProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 68F0EA8E1CB32EC900F1FD41 /* PINAlternateRepresentationProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50BB1F672C1C00DE64E0 /* PINRemoteImageMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = F165DFD81BD0504A0008C6E8 /* PINRemoteImageMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50BC1F672C1C00DE64E0 /* PINProgressiveImage.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918ED1BCF23C800710963 /* PINProgressiveImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50BD1F672C1C00DE64E0 /* PINRemoteImageCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 68CA927B1DAEFF93008BECE2 /* PINRemoteImageCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50BE1F672C1C00DE64E0 /* PINRemoteImageCategoryManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F21BCF23C800710963 /* PINRemoteImageCategoryManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50BF1F672C1C00DE64E0 /* PINRemoteImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F51BCF23C800710963 /* PINRemoteImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50C01F672C1C00DE64E0 /* PINRemoteImageManagerResult.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F71BCF23C800710963 /* PINRemoteImageManagerResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50C11F672C1C00DE64E0 /* PINURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918FD1BCF23C800710963 /* PINURLSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 139D50C21F672C1C00DE64E0 /* PINRequestRetryStrategy.h in Headers */ = {isa = PBXBuildFile; fileRef = 926E015C1F0DFCAE00874D01 /* PINRequestRetryStrategy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 683128F51F95045200D5B4A8 /* PINAnimatedImage+PINAnimatedImageTesting.m in Sources */ = {isa = PBXBuildFile; fileRef = 683128F41F95045200D5B4A8 /* PINAnimatedImage+PINAnimatedImageTesting.m */; }; - 6858C0751C9CC5BA00E420EB /* PINRemoteLock.h in Headers */ = {isa = PBXBuildFile; fileRef = 6858C0731C9CC5BA00E420EB /* PINRemoteLock.h */; }; - 6858C0761C9CC5BA00E420EB /* PINRemoteLock.m in Sources */ = {isa = PBXBuildFile; fileRef = 6858C0741C9CC5BA00E420EB /* PINRemoteLock.m */; }; - 6860CB081F578287005E886E /* PINSpeedRecorder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6860CB061F578287005E886E /* PINSpeedRecorder.h */; }; - 6860CB091F578287005E886E /* PINSpeedRecorder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6860CB071F578287005E886E /* PINSpeedRecorder.m */; }; - 6864A9221F6D94AF007BB848 /* PINAnimatedImageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6864A9211F6D94AF007BB848 /* PINAnimatedImageTests.swift */; }; - 686D48D01ED38FC0003DB4C2 /* PINRemoteImageTask+Subclassing.h in Headers */ = {isa = PBXBuildFile; fileRef = 686D48CE1ED38FC0003DB4C2 /* PINRemoteImageTask+Subclassing.h */; }; - 687750271F6B2305008748B0 /* PINWebPAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 687750251F6B2305008748B0 /* PINWebPAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 687750281F6B2305008748B0 /* PINWebPAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 687750261F6B2305008748B0 /* PINWebPAnimatedImage.m */; }; - 68912D86208FDB4900F5FE0E /* PINRemoteWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 68912D84208FDB4900F5FE0E /* PINRemoteWeakProxy.h */; }; - 68912D87208FDB4900F5FE0E /* PINRemoteWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 68912D84208FDB4900F5FE0E /* PINRemoteWeakProxy.h */; }; - 68912D88208FDB4900F5FE0E /* PINRemoteWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 68912D85208FDB4900F5FE0E /* PINRemoteWeakProxy.m */; }; - 68912D89208FDB4900F5FE0E /* PINRemoteWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 68912D85208FDB4900F5FE0E /* PINRemoteWeakProxy.m */; }; - 689613D8208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 689613D2208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.m */; }; - 689613D9208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 689613D2208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.m */; }; - 689613DA208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 689613D7208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 689613DB208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 689613D7208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 689613DE208FD8B700D2095C /* PINAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 689613DC208FD8B600D2095C /* PINAnimatedImageView.m */; }; - 689613DF208FD8B700D2095C /* PINAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 689613DC208FD8B600D2095C /* PINAnimatedImageView.m */; }; - 689613E0208FD8B700D2095C /* PINAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 689613DD208FD8B700D2095C /* PINAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 689613E1208FD8B700D2095C /* PINAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 689613DD208FD8B700D2095C /* PINAnimatedImageView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 689613E4208FD90B00D2095C /* PINDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 689613E2208FD90A00D2095C /* PINDisplayLink.h */; }; - 689613E5208FD90B00D2095C /* PINDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 689613E2208FD90A00D2095C /* PINDisplayLink.h */; }; - 689613E6208FD90B00D2095C /* PINDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 689613E3208FD90B00D2095C /* PINDisplayLink.m */; }; - 689613E7208FD90B00D2095C /* PINDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 689613E3208FD90B00D2095C /* PINDisplayLink.m */; }; - 68A0FC1C1E523434000B552D /* PINRemoteImageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 68A0FC1B1E523434000B552D /* PINRemoteImageTests.m */; }; - 68A0FC1E1E523434000B552D /* PINRemoteImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F1B918D11BCF239200710963 /* PINRemoteImage.framework */; }; - 68A6B1DB1E5248BF003A92D1 /* PINImage+ScaledImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 68A6B1D91E5248BF003A92D1 /* PINImage+ScaledImage.m */; }; - 68A6B1DC1E5248BF003A92D1 /* PINImage+ScaledImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A6B1DA1E5248BF003A92D1 /* PINImage+ScaledImage.h */; }; - 68B1F2811E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 68B1F27F1E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.h */; }; - 68B1F2821E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 68B1F2801E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.m */; }; - 68B7E3B21E736C73000FC887 /* PINResume.h in Headers */ = {isa = PBXBuildFile; fileRef = 68B7E3B01E736C73000FC887 /* PINResume.h */; }; - 68B7E3B31E736C73000FC887 /* PINResume.m in Sources */ = {isa = PBXBuildFile; fileRef = 68B7E3B11E736C73000FC887 /* PINResume.m */; }; - 68C155CB1F6EE0A20075EE40 /* PINCachedAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C155C91F6EE0A20075EE40 /* PINCachedAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68C155CC1F6EE0A20075EE40 /* PINCachedAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 68C155CA1F6EE0A20075EE40 /* PINCachedAnimatedImage.m */; }; - 68C155D61F6EE8890075EE40 /* PINAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C155D41F6EE8890075EE40 /* PINAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68C155D71F6EE8890075EE40 /* PINAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 68C155D51F6EE8890075EE40 /* PINAnimatedImage.m */; }; - 68C155DC1F6F202F0075EE40 /* PINGIFAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C155DA1F6F202F0075EE40 /* PINGIFAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68C155DD1F6F202F0075EE40 /* PINGIFAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 68C155DB1F6F202F0075EE40 /* PINGIFAnimatedImage.m */; }; - 68CA927C1DAEFF93008BECE2 /* PINRemoteImageBasicCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 68CA92791DAEFF93008BECE2 /* PINRemoteImageBasicCache.h */; }; - 68CA927D1DAEFF93008BECE2 /* PINRemoteImageBasicCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 68CA927A1DAEFF93008BECE2 /* PINRemoteImageBasicCache.m */; }; - 68CA927E1DAEFF93008BECE2 /* PINRemoteImageCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 68CA927B1DAEFF93008BECE2 /* PINRemoteImageCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68CA92831DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 68CA92811DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68CA92841DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.m in Sources */ = {isa = PBXBuildFile; fileRef = 68CA92821DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.m */; }; - 68D734471F75FDC800B9C95D /* PINAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C155D41F6EE8890075EE40 /* PINAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68D7344C1F75FDCF00B9C95D /* PINAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 68C155D51F6EE8890075EE40 /* PINAnimatedImage.m */; }; - 68D7344D1F75FDD600B9C95D /* PINCachedAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C155C91F6EE0A20075EE40 /* PINCachedAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68D7344E1F75FDDB00B9C95D /* PINCachedAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 68C155CA1F6EE0A20075EE40 /* PINCachedAnimatedImage.m */; }; - 68D734511F75FDE500B9C95D /* PINGIFAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C155DA1F6F202F0075EE40 /* PINGIFAnimatedImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68D734521F75FDEA00B9C95D /* PINGIFAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 68C155DB1F6F202F0075EE40 /* PINGIFAnimatedImage.m */; }; - 68F0EA921CB32EC900F1FD41 /* PINAlternateRepresentationProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 68F0EA8E1CB32EC900F1FD41 /* PINAlternateRepresentationProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68F0EA931CB32EC900F1FD41 /* PINAlternateRepresentationProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 68F0EA8F1CB32EC900F1FD41 /* PINAlternateRepresentationProvider.m */; }; - 68F0EA941CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 68F0EA901CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.h */; }; - 68F0EA951CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 68F0EA911CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.m */; }; - 926E01631F0DFEE100874D01 /* PINRequestRetryStrategy.h in Headers */ = {isa = PBXBuildFile; fileRef = 926E015C1F0DFCAE00874D01 /* PINRequestRetryStrategy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 926E01641F0DFEE800874D01 /* PINRequestRetryStrategy.m in Sources */ = {isa = PBXBuildFile; fileRef = 926E015D1F0DFCAE00874D01 /* PINRequestRetryStrategy.m */; }; - 938E98D52224775600029E4D /* PINRemoteImageManagerConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 939546BE2220AF84006031BB /* PINRemoteImageManagerConfiguration.h */; }; - 938E98DA2224775B00029E4D /* PINRemoteImageManagerConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 939546BF2220AF84006031BB /* PINRemoteImageManagerConfiguration.m */; }; - 939546C02220AF84006031BB /* PINRemoteImageManagerConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 939546BE2220AF84006031BB /* PINRemoteImageManagerConfiguration.h */; }; - 939546C12220AF84006031BB /* PINRemoteImageManagerConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 939546BF2220AF84006031BB /* PINRemoteImageManagerConfiguration.m */; }; - 9DD47F9C1C699F4B00F12CA0 /* PINButton+PINRemoteImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DD47F981C699F4B00F12CA0 /* PINButton+PINRemoteImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9DD47F9D1C699F4B00F12CA0 /* PINButton+PINRemoteImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DD47F991C699F4B00F12CA0 /* PINButton+PINRemoteImage.m */; }; - 9DD47F9E1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DD47F9A1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9DD47F9F1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DD47F9B1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.m */; }; - 9DD47FA41C699FDC00F12CA0 /* PINImage+DecodedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DD47FA01C699FDC00F12CA0 /* PINImage+DecodedImage.h */; }; - 9DD47FA51C699FDC00F12CA0 /* PINImage+DecodedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DD47FA11C699FDC00F12CA0 /* PINImage+DecodedImage.m */; }; - 9DD47FA61C699FDC00F12CA0 /* PINImage+WebP.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DD47FA21C699FDC00F12CA0 /* PINImage+WebP.h */; }; - 9DD47FA71C699FDC00F12CA0 /* PINImage+WebP.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DD47FA31C699FDC00F12CA0 /* PINImage+WebP.m */; }; - A7343C5B228993D100972894 /* NSHTTPURLResponse+MaxAge.m in Sources */ = {isa = PBXBuildFile; fileRef = ACD28EAE81695DDF84BB76B8 /* NSHTTPURLResponse+MaxAge.m */; }; - A7343C60228993F400972894 /* NSHTTPURLResponse+MaxAge.m in Sources */ = {isa = PBXBuildFile; fileRef = ACD28EAE81695DDF84BB76B8 /* NSHTTPURLResponse+MaxAge.m */; }; - ACD28AB87FABF6BA3B9BF4E4 /* NSDate+PINCacheTests.m in Sources */ = {isa = PBXBuildFile; fileRef = ACD28D963D79EEC14EE071CE /* NSDate+PINCacheTests.m */; }; - D93A340224182D46005EB15E /* TestAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = D93A340124182D46005EB15E /* TestAnimatedImage.m */; }; - D93A340324182D46005EB15E /* TestAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = D93A340124182D46005EB15E /* TestAnimatedImage.m */; }; - F165DFD91BD0504A0008C6E8 /* PINRemoteImageMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = F165DFD81BD0504A0008C6E8 /* PINRemoteImageMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F1B918FF1BCF23C900710963 /* PINRemoteImageCategoryManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918DC1BCF23C800710963 /* PINRemoteImageCategoryManager.m */; }; - F1B919001BCF23C900710963 /* NSData+ImageDetectors.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918DE1BCF23C800710963 /* NSData+ImageDetectors.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F1B919011BCF23C900710963 /* NSData+ImageDetectors.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918DF1BCF23C800710963 /* NSData+ImageDetectors.m */; }; - F1B9190E1BCF23C900710963 /* PINProgressiveImage.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918ED1BCF23C800710963 /* PINProgressiveImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F1B9190F1BCF23C900710963 /* PINProgressiveImage.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918EE1BCF23C800710963 /* PINProgressiveImage.m */; }; - F1B919101BCF23C900710963 /* PINRemoteImage.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918EF1BCF23C800710963 /* PINRemoteImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F1B919111BCF23C900710963 /* PINRemoteImageCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F01BCF23C800710963 /* PINRemoteImageCallbacks.h */; }; - F1B919121BCF23C900710963 /* PINRemoteImageCallbacks.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918F11BCF23C800710963 /* PINRemoteImageCallbacks.m */; }; - F1B919131BCF23C900710963 /* PINRemoteImageCategoryManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F21BCF23C800710963 /* PINRemoteImageCategoryManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F1B919141BCF23C900710963 /* PINRemoteImageDownloadTask.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F31BCF23C800710963 /* PINRemoteImageDownloadTask.h */; }; - F1B919151BCF23C900710963 /* PINRemoteImageDownloadTask.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918F41BCF23C800710963 /* PINRemoteImageDownloadTask.m */; }; - F1B919161BCF23C900710963 /* PINRemoteImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F51BCF23C800710963 /* PINRemoteImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F1B919171BCF23C900710963 /* PINRemoteImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918F61BCF23C800710963 /* PINRemoteImageManager.m */; }; - F1B919181BCF23C900710963 /* PINRemoteImageManagerResult.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F71BCF23C800710963 /* PINRemoteImageManagerResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F1B919191BCF23C900710963 /* PINRemoteImageManagerResult.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918F81BCF23C800710963 /* PINRemoteImageManagerResult.m */; }; - F1B9191A1BCF23C900710963 /* PINRemoteImageProcessorTask.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918F91BCF23C800710963 /* PINRemoteImageProcessorTask.h */; }; - F1B9191B1BCF23C900710963 /* PINRemoteImageProcessorTask.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918FA1BCF23C800710963 /* PINRemoteImageProcessorTask.m */; }; - F1B9191C1BCF23C900710963 /* PINRemoteImageTask.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918FB1BCF23C800710963 /* PINRemoteImageTask.h */; }; - F1B9191D1BCF23C900710963 /* PINRemoteImageTask.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918FC1BCF23C800710963 /* PINRemoteImageTask.m */; }; - F1B9191E1BCF23C900710963 /* PINURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B918FD1BCF23C800710963 /* PINURLSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F1B9191F1BCF23C900710963 /* PINURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B918FE1BCF23C900710963 /* PINURLSessionManager.m */; }; - F370FD6624AD0F6D0026A9D9 /* WebPDemux.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F370FD6524AD0F6D0026A9D9 /* WebPDemux.framework */; }; - F370FD6924AD0F920026A9D9 /* WebPDecoder.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F370FD6824AD0F920026A9D9 /* WebPDecoder.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 139D3A641F67284400F82935 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F1B918C81BCF239200710963 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 139D3A591F67284400F82935; - remoteInfo = "PINRemoteImage-tvOS"; - }; - 139D50761F672B8800DE64E0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = CC0105C01E271A4000890935; - remoteInfo = "PINCache-tvOS"; - }; - 6818C2B71E564FF900875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105B11E271A1600890935; - remoteInfo = PINCache; - }; - 6818C2B91E564FF900875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105DA1E271A5C00890935; - remoteInfo = PINCacheTests; - }; - 6818C2BB1E564FF900875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105C11E271A4000890935; - remoteInfo = "PINCache-tvOS"; - }; - 6818C2BD1E564FF900875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105E91E271A6400890935; - remoteInfo = "PINCache-tvOSTests"; - }; - 6818C2BF1E564FF900875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105CE1E271A4900890935; - remoteInfo = "PINCache-macOS"; - }; - 6818C2C11E564FF900875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = CC0105F81E271A7300890935; - remoteInfo = "PINCache-macOSTests"; - }; - 6818C2C31E56500900875DB7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = CC0105B01E271A1600890935; - remoteInfo = PINCache; - }; - 68A0FC1F1E523434000B552D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = F1B918C81BCF239200710963 /* Project object */; - proxyType = 1; - remoteGlobalIDString = F1B918D01BCF239200710963; - remoteInfo = "PINRemoteImage-iOS"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 687BB0A81E526FE0005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 687BB0B11E527EBC005D70C6 /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0E71BE2522E94C7200FC5B99 /* fireworks.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = fireworks.gif; sourceTree = ""; }; - 139D3A5A1F67284400F82935 /* PINRemoteImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINRemoteImage.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 139D3A621F67284400F82935 /* PINRemoteImage-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PINRemoteImage-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 680B83C71ECE5F9D00210A55 /* PINRemoteImageManager+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "PINRemoteImageManager+Private.h"; path = "../PINRemoteImageManager+Private.h"; sourceTree = ""; }; - 6818C1541E551B5A00875DB7 /* PINCache.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PINCache.framework; path = "Carthage/Checkouts/PINCache/build/Debug-iphoneos/PINCache.framework"; sourceTree = ""; }; - 6818C1561E551BAB00875DB7 /* PINOperation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PINOperation.framework; path = "Carthage/Checkouts/PINOperation/build/Debug-iphoneos/PINOperation.framework"; sourceTree = ""; }; - 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = PINCache.xcodeproj; path = Carthage/Checkouts/PINCache/PINCache.xcodeproj; sourceTree = ""; }; - 683128F31F95045200D5B4A8 /* PINAnimatedImage+PINAnimatedImageTesting.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PINAnimatedImage+PINAnimatedImageTesting.h"; sourceTree = ""; }; - 683128F41F95045200D5B4A8 /* PINAnimatedImage+PINAnimatedImageTesting.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "PINAnimatedImage+PINAnimatedImageTesting.m"; sourceTree = ""; }; - 6858C0731C9CC5BA00E420EB /* PINRemoteLock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteLock.h; sourceTree = ""; }; - 6858C0741C9CC5BA00E420EB /* PINRemoteLock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteLock.m; sourceTree = ""; }; - 6860CB061F578287005E886E /* PINSpeedRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINSpeedRecorder.h; sourceTree = ""; }; - 6860CB071F578287005E886E /* PINSpeedRecorder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINSpeedRecorder.m; sourceTree = ""; }; - 6864A9201F6D94AF007BB848 /* PINRemoteImageTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PINRemoteImageTests-Bridging-Header.h"; sourceTree = ""; }; - 6864A9211F6D94AF007BB848 /* PINAnimatedImageTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PINAnimatedImageTests.swift; sourceTree = ""; }; - 686D48CE1ED38FC0003DB4C2 /* PINRemoteImageTask+Subclassing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PINRemoteImageTask+Subclassing.h"; sourceTree = ""; }; - 687750251F6B2305008748B0 /* PINWebPAnimatedImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINWebPAnimatedImage.h; sourceTree = ""; }; - 687750261F6B2305008748B0 /* PINWebPAnimatedImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINWebPAnimatedImage.m; sourceTree = ""; }; - 687D3FC81E5650790027B131 /* PINOperation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PINOperation.framework; path = "Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/build/Debug-iphoneos/PINOperation.framework"; sourceTree = ""; }; - 68912D84208FDB4900F5FE0E /* PINRemoteWeakProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINRemoteWeakProxy.h; sourceTree = ""; }; - 68912D85208FDB4900F5FE0E /* PINRemoteWeakProxy.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINRemoteWeakProxy.m; sourceTree = ""; }; - 689613D2208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PINAnimatedImageView+PINRemoteImage.m"; sourceTree = ""; }; - 689613D7208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PINAnimatedImageView+PINRemoteImage.h"; sourceTree = ""; }; - 689613DC208FD8B600D2095C /* PINAnimatedImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINAnimatedImageView.m; sourceTree = ""; }; - 689613DD208FD8B700D2095C /* PINAnimatedImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINAnimatedImageView.h; sourceTree = ""; }; - 689613E2208FD90A00D2095C /* PINDisplayLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINDisplayLink.h; sourceTree = ""; }; - 689613E3208FD90B00D2095C /* PINDisplayLink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINDisplayLink.m; sourceTree = ""; }; - 68A0FC191E523434000B552D /* PINRemoteImageTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PINRemoteImageTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 68A0FC1B1E523434000B552D /* PINRemoteImageTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageTests.m; sourceTree = ""; }; - 68A0FC1D1E523434000B552D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 68A6B1D91E5248BF003A92D1 /* PINImage+ScaledImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PINImage+ScaledImage.m"; sourceTree = ""; }; - 68A6B1DA1E5248BF003A92D1 /* PINImage+ScaledImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PINImage+ScaledImage.h"; sourceTree = ""; }; - 68B1F27F1E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageDownloadQueue.h; sourceTree = ""; }; - 68B1F2801E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageDownloadQueue.m; sourceTree = ""; }; - 68B7E3B01E736C73000FC887 /* PINResume.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINResume.h; sourceTree = ""; }; - 68B7E3B11E736C73000FC887 /* PINResume.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINResume.m; sourceTree = ""; }; - 68C155C91F6EE0A20075EE40 /* PINCachedAnimatedImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINCachedAnimatedImage.h; sourceTree = ""; }; - 68C155CA1F6EE0A20075EE40 /* PINCachedAnimatedImage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINCachedAnimatedImage.m; sourceTree = ""; }; - 68C155D41F6EE8890075EE40 /* PINAnimatedImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINAnimatedImage.h; sourceTree = ""; }; - 68C155D51F6EE8890075EE40 /* PINAnimatedImage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINAnimatedImage.m; sourceTree = ""; }; - 68C155DA1F6F202F0075EE40 /* PINGIFAnimatedImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINGIFAnimatedImage.h; sourceTree = ""; }; - 68C155DB1F6F202F0075EE40 /* PINGIFAnimatedImage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINGIFAnimatedImage.m; sourceTree = ""; }; - 68CA92791DAEFF93008BECE2 /* PINRemoteImageBasicCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageBasicCache.h; sourceTree = ""; }; - 68CA927A1DAEFF93008BECE2 /* PINRemoteImageBasicCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageBasicCache.m; sourceTree = ""; }; - 68CA927B1DAEFF93008BECE2 /* PINRemoteImageCaching.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageCaching.h; sourceTree = ""; }; - 68CA92811DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "PINCache+PINRemoteImageCaching.h"; path = "PINCache/PINCache+PINRemoteImageCaching.h"; sourceTree = ""; }; - 68CA92821DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "PINCache+PINRemoteImageCaching.m"; path = "PINCache/PINCache+PINRemoteImageCaching.m"; sourceTree = ""; }; - 68F0EA8E1CB32EC900F1FD41 /* PINAlternateRepresentationProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINAlternateRepresentationProvider.h; sourceTree = ""; }; - 68F0EA8F1CB32EC900F1FD41 /* PINAlternateRepresentationProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINAlternateRepresentationProvider.m; sourceTree = ""; }; - 68F0EA901CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageMemoryContainer.h; sourceTree = ""; }; - 68F0EA911CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageMemoryContainer.m; sourceTree = ""; }; - 926E015C1F0DFCAE00874D01 /* PINRequestRetryStrategy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINRequestRetryStrategy.h; sourceTree = ""; }; - 926E015D1F0DFCAE00874D01 /* PINRequestRetryStrategy.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINRequestRetryStrategy.m; sourceTree = ""; }; - 939546BE2220AF84006031BB /* PINRemoteImageManagerConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageManagerConfiguration.h; sourceTree = ""; }; - 939546BF2220AF84006031BB /* PINRemoteImageManagerConfiguration.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageManagerConfiguration.m; sourceTree = ""; }; - 9DD47F981C699F4B00F12CA0 /* PINButton+PINRemoteImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PINButton+PINRemoteImage.h"; sourceTree = ""; }; - 9DD47F991C699F4B00F12CA0 /* PINButton+PINRemoteImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PINButton+PINRemoteImage.m"; sourceTree = ""; }; - 9DD47F9A1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PINImageView+PINRemoteImage.h"; sourceTree = ""; }; - 9DD47F9B1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PINImageView+PINRemoteImage.m"; sourceTree = ""; }; - 9DD47FA01C699FDC00F12CA0 /* PINImage+DecodedImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PINImage+DecodedImage.h"; sourceTree = ""; }; - 9DD47FA11C699FDC00F12CA0 /* PINImage+DecodedImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PINImage+DecodedImage.m"; sourceTree = ""; }; - 9DD47FA21C699FDC00F12CA0 /* PINImage+WebP.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PINImage+WebP.h"; sourceTree = ""; }; - 9DD47FA31C699FDC00F12CA0 /* PINImage+WebP.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PINImage+WebP.m"; sourceTree = ""; }; - ACD288C6E6B13E6DA226D252 /* NSDate+PINCacheTests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+PINCacheTests.h"; sourceTree = ""; }; - ACD28A0374E664CFF0BB3297 /* NSHTTPURLResponse+MaxAge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSHTTPURLResponse+MaxAge.h"; sourceTree = ""; }; - ACD28D963D79EEC14EE071CE /* NSDate+PINCacheTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+PINCacheTests.m"; sourceTree = ""; }; - ACD28EAE81695DDF84BB76B8 /* NSHTTPURLResponse+MaxAge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSHTTPURLResponse+MaxAge.m"; sourceTree = ""; }; - D93A340024182D46005EB15E /* TestAnimatedImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestAnimatedImage.h; sourceTree = ""; }; - D93A340124182D46005EB15E /* TestAnimatedImage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestAnimatedImage.m; sourceTree = ""; }; - F165DFD81BD0504A0008C6E8 /* PINRemoteImageMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageMacros.h; sourceTree = ""; }; - F1B918D11BCF239200710963 /* PINRemoteImage.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PINRemoteImage.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F1B918D61BCF239200710963 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F1B918DC1BCF23C800710963 /* PINRemoteImageCategoryManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageCategoryManager.m; sourceTree = ""; }; - F1B918DE1BCF23C800710963 /* NSData+ImageDetectors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+ImageDetectors.h"; sourceTree = ""; }; - F1B918DF1BCF23C800710963 /* NSData+ImageDetectors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+ImageDetectors.m"; sourceTree = ""; }; - F1B918ED1BCF23C800710963 /* PINProgressiveImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINProgressiveImage.h; sourceTree = ""; }; - F1B918EE1BCF23C800710963 /* PINProgressiveImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINProgressiveImage.m; sourceTree = ""; }; - F1B918EF1BCF23C800710963 /* PINRemoteImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImage.h; sourceTree = ""; }; - F1B918F01BCF23C800710963 /* PINRemoteImageCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageCallbacks.h; sourceTree = ""; }; - F1B918F11BCF23C800710963 /* PINRemoteImageCallbacks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageCallbacks.m; sourceTree = ""; }; - F1B918F21BCF23C800710963 /* PINRemoteImageCategoryManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageCategoryManager.h; sourceTree = ""; }; - F1B918F31BCF23C800710963 /* PINRemoteImageDownloadTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageDownloadTask.h; sourceTree = ""; }; - F1B918F41BCF23C800710963 /* PINRemoteImageDownloadTask.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageDownloadTask.m; sourceTree = ""; }; - F1B918F51BCF23C800710963 /* PINRemoteImageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageManager.h; sourceTree = ""; }; - F1B918F61BCF23C800710963 /* PINRemoteImageManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageManager.m; sourceTree = ""; }; - F1B918F71BCF23C800710963 /* PINRemoteImageManagerResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageManagerResult.h; sourceTree = ""; }; - F1B918F81BCF23C800710963 /* PINRemoteImageManagerResult.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageManagerResult.m; sourceTree = ""; }; - F1B918F91BCF23C800710963 /* PINRemoteImageProcessorTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageProcessorTask.h; sourceTree = ""; }; - F1B918FA1BCF23C800710963 /* PINRemoteImageProcessorTask.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageProcessorTask.m; sourceTree = ""; }; - F1B918FB1BCF23C800710963 /* PINRemoteImageTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINRemoteImageTask.h; sourceTree = ""; }; - F1B918FC1BCF23C800710963 /* PINRemoteImageTask.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINRemoteImageTask.m; sourceTree = ""; }; - F1B918FD1BCF23C800710963 /* PINURLSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PINURLSessionManager.h; sourceTree = ""; }; - F1B918FE1BCF23C900710963 /* PINURLSessionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PINURLSessionManager.m; sourceTree = ""; }; - F1E3658B1BE04112003BF022 /* PINRemoteImage.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = PINRemoteImage.modulemap; sourceTree = ""; }; - F370FD6524AD0F6D0026A9D9 /* WebPDemux.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebPDemux.framework; path = webp/WebPDemux.framework; sourceTree = ""; }; - F370FD6824AD0F920026A9D9 /* WebPDecoder.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebPDecoder.framework; path = webp/WebPDecoder.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 139D3A561F67284400F82935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 139D3A5F1F67284400F82935 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 139D3A631F67284400F82935 /* PINRemoteImage.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 68A0FC161E523434000B552D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 68A0FC1E1E523434000B552D /* PINRemoteImage.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F1B918CD1BCF239200710963 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - F370FD6624AD0F6D0026A9D9 /* WebPDemux.framework in Frameworks */, - F370FD6924AD0F920026A9D9 /* WebPDecoder.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 6818C1531E551B5900875DB7 /* Frameworks */ = { - isa = PBXGroup; - children = ( - F370FD6824AD0F920026A9D9 /* WebPDecoder.framework */, - F370FD6524AD0F6D0026A9D9 /* WebPDemux.framework */, - 687D3FC81E5650790027B131 /* PINOperation.framework */, - 6818C1561E551BAB00875DB7 /* PINOperation.framework */, - 6818C1541E551B5A00875DB7 /* PINCache.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 6818C2AF1E564FF900875DB7 /* Products */ = { - isa = PBXGroup; - children = ( - 6818C2B81E564FF900875DB7 /* PINCache.framework */, - 6818C2BA1E564FF900875DB7 /* PINCacheTests.xctest */, - 6818C2BC1E564FF900875DB7 /* PINCache.framework */, - 6818C2BE1E564FF900875DB7 /* PINCache-tvOSTests.xctest */, - 6818C2C01E564FF900875DB7 /* PINCache.framework */, - 6818C2C21E564FF900875DB7 /* PINCache-macOSTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 68A0FC1A1E523434000B552D /* Tests */ = { - isa = PBXGroup; - children = ( - 0E71BE2522E94C7200FC5B99 /* fireworks.gif */, - 68A0FC1B1E523434000B552D /* PINRemoteImageTests.m */, - 6864A9211F6D94AF007BB848 /* PINAnimatedImageTests.swift */, - D93A340024182D46005EB15E /* TestAnimatedImage.h */, - D93A340124182D46005EB15E /* TestAnimatedImage.m */, - 68A0FC1D1E523434000B552D /* Info.plist */, - 6864A9201F6D94AF007BB848 /* PINRemoteImageTests-Bridging-Header.h */, - 683128F31F95045200D5B4A8 /* PINAnimatedImage+PINAnimatedImageTesting.h */, - 683128F41F95045200D5B4A8 /* PINAnimatedImage+PINAnimatedImageTesting.m */, - ACD288C6E6B13E6DA226D252 /* NSDate+PINCacheTests.h */, - ACD28D963D79EEC14EE071CE /* NSDate+PINCacheTests.m */, - ); - path = Tests; - sourceTree = ""; - }; - 68C155D21F6EE3450075EE40 /* AnimatedImages */ = { - isa = PBXGroup; - children = ( - 68C155D41F6EE8890075EE40 /* PINAnimatedImage.h */, - 68C155D51F6EE8890075EE40 /* PINAnimatedImage.m */, - 689613DD208FD8B700D2095C /* PINAnimatedImageView.h */, - 689613DC208FD8B600D2095C /* PINAnimatedImageView.m */, - 68C155C91F6EE0A20075EE40 /* PINCachedAnimatedImage.h */, - 68C155CA1F6EE0A20075EE40 /* PINCachedAnimatedImage.m */, - 687750251F6B2305008748B0 /* PINWebPAnimatedImage.h */, - 687750261F6B2305008748B0 /* PINWebPAnimatedImage.m */, - 68C155DA1F6F202F0075EE40 /* PINGIFAnimatedImage.h */, - 68C155DB1F6F202F0075EE40 /* PINGIFAnimatedImage.m */, - ); - path = AnimatedImages; - sourceTree = ""; - }; - 68C155D31F6EE3BE0075EE40 /* AnimatedImages */ = { - isa = PBXGroup; - children = ( - ); - path = AnimatedImages; - sourceTree = ""; - }; - 68CA92801DB19C06008BECE2 /* PINCache */ = { - isa = PBXGroup; - children = ( - 68CA92811DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.h */, - 68CA92821DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.m */, - ); - name = PINCache; - sourceTree = ""; - }; - 68EB25221C6A64BE002501A3 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - F1B918D61BCF239200710963 /* Info.plist */, - F1E3658B1BE04112003BF022 /* PINRemoteImage.modulemap */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - CC4243F61E62051900FD6517 /* Categories */ = { - isa = PBXGroup; - children = ( - F1B918DE1BCF23C800710963 /* NSData+ImageDetectors.h */, - F1B918DF1BCF23C800710963 /* NSData+ImageDetectors.m */, - ); - path = Categories; - sourceTree = ""; - }; - F165DFD61BD021E30008C6E8 /* Public */ = { - isa = PBXGroup; - children = ( - 68C155D21F6EE3450075EE40 /* AnimatedImages */, - F1B918E41BCF23C800710963 /* ImageCategories */, - CC4243F61E62051900FD6517 /* Categories */, - 68CA92801DB19C06008BECE2 /* PINCache */, - F1B918EF1BCF23C800710963 /* PINRemoteImage.h */, - 68F0EA8E1CB32EC900F1FD41 /* PINAlternateRepresentationProvider.h */, - 68F0EA8F1CB32EC900F1FD41 /* PINAlternateRepresentationProvider.m */, - F165DFD81BD0504A0008C6E8 /* PINRemoteImageMacros.h */, - F1B918ED1BCF23C800710963 /* PINProgressiveImage.h */, - F1B918EE1BCF23C800710963 /* PINProgressiveImage.m */, - 68CA927B1DAEFF93008BECE2 /* PINRemoteImageCaching.h */, - F1B918F21BCF23C800710963 /* PINRemoteImageCategoryManager.h */, - F1B918DC1BCF23C800710963 /* PINRemoteImageCategoryManager.m */, - F1B918F51BCF23C800710963 /* PINRemoteImageManager.h */, - F1B918F61BCF23C800710963 /* PINRemoteImageManager.m */, - 939546BE2220AF84006031BB /* PINRemoteImageManagerConfiguration.h */, - 939546BF2220AF84006031BB /* PINRemoteImageManagerConfiguration.m */, - F1B918F71BCF23C800710963 /* PINRemoteImageManagerResult.h */, - F1B918F81BCF23C800710963 /* PINRemoteImageManagerResult.m */, - F1B918FD1BCF23C800710963 /* PINURLSessionManager.h */, - F1B918FE1BCF23C900710963 /* PINURLSessionManager.m */, - 926E015C1F0DFCAE00874D01 /* PINRequestRetryStrategy.h */, - 926E015D1F0DFCAE00874D01 /* PINRequestRetryStrategy.m */, - ); - name = Public; - path = Classes; - sourceTree = ""; - }; - F165DFD71BD021EE0008C6E8 /* Project */ = { - isa = PBXGroup; - children = ( - 68C155D31F6EE3BE0075EE40 /* AnimatedImages */, - F1B918DD1BCF23C800710963 /* Categories */, - 689613E2208FD90A00D2095C /* PINDisplayLink.h */, - 689613E3208FD90B00D2095C /* PINDisplayLink.m */, - F1B918F01BCF23C800710963 /* PINRemoteImageCallbacks.h */, - F1B918F11BCF23C800710963 /* PINRemoteImageCallbacks.m */, - F1B918F31BCF23C800710963 /* PINRemoteImageDownloadTask.h */, - F1B918F41BCF23C800710963 /* PINRemoteImageDownloadTask.m */, - F1B918F91BCF23C800710963 /* PINRemoteImageProcessorTask.h */, - F1B918FA1BCF23C800710963 /* PINRemoteImageProcessorTask.m */, - F1B918FB1BCF23C800710963 /* PINRemoteImageTask.h */, - F1B918FC1BCF23C800710963 /* PINRemoteImageTask.m */, - 6858C0731C9CC5BA00E420EB /* PINRemoteLock.h */, - 6858C0741C9CC5BA00E420EB /* PINRemoteLock.m */, - 68F0EA901CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.h */, - 68F0EA911CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.m */, - 68CA92791DAEFF93008BECE2 /* PINRemoteImageBasicCache.h */, - 68CA927A1DAEFF93008BECE2 /* PINRemoteImageBasicCache.m */, - 68B1F27F1E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.h */, - 68B1F2801E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.m */, - 68912D84208FDB4900F5FE0E /* PINRemoteWeakProxy.h */, - 68912D85208FDB4900F5FE0E /* PINRemoteWeakProxy.m */, - 68B7E3B01E736C73000FC887 /* PINResume.h */, - 68B7E3B11E736C73000FC887 /* PINResume.m */, - 6860CB061F578287005E886E /* PINSpeedRecorder.h */, - 6860CB071F578287005E886E /* PINSpeedRecorder.m */, - ); - name = Project; - path = Classes; - sourceTree = ""; - }; - F1B918C71BCF239200710963 = { - isa = PBXGroup; - children = ( - 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */, - F1B918D31BCF239200710963 /* PINRemoteImage */, - 68A0FC1A1E523434000B552D /* Tests */, - F1B918D21BCF239200710963 /* Products */, - 6818C1531E551B5900875DB7 /* Frameworks */, - ); - sourceTree = ""; - usesTabs = 0; - }; - F1B918D21BCF239200710963 /* Products */ = { - isa = PBXGroup; - children = ( - F1B918D11BCF239200710963 /* PINRemoteImage.framework */, - 68A0FC191E523434000B552D /* PINRemoteImageTests.xctest */, - 139D3A5A1F67284400F82935 /* PINRemoteImage.framework */, - 139D3A621F67284400F82935 /* PINRemoteImage-tvOSTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - F1B918D31BCF239200710963 /* PINRemoteImage */ = { - isa = PBXGroup; - children = ( - F165DFD61BD021E30008C6E8 /* Public */, - F165DFD71BD021EE0008C6E8 /* Project */, - 68EB25221C6A64BE002501A3 /* Supporting Files */, - ); - name = PINRemoteImage; - path = Source; - sourceTree = ""; - }; - F1B918DD1BCF23C800710963 /* Categories */ = { - isa = PBXGroup; - children = ( - 680B83C71ECE5F9D00210A55 /* PINRemoteImageManager+Private.h */, - 68A6B1D91E5248BF003A92D1 /* PINImage+ScaledImage.m */, - 68A6B1DA1E5248BF003A92D1 /* PINImage+ScaledImage.h */, - 9DD47FA01C699FDC00F12CA0 /* PINImage+DecodedImage.h */, - 9DD47FA11C699FDC00F12CA0 /* PINImage+DecodedImage.m */, - 9DD47FA21C699FDC00F12CA0 /* PINImage+WebP.h */, - 9DD47FA31C699FDC00F12CA0 /* PINImage+WebP.m */, - 686D48CE1ED38FC0003DB4C2 /* PINRemoteImageTask+Subclassing.h */, - ACD28EAE81695DDF84BB76B8 /* NSHTTPURLResponse+MaxAge.m */, - ACD28A0374E664CFF0BB3297 /* NSHTTPURLResponse+MaxAge.h */, - ); - path = Categories; - sourceTree = ""; - }; - F1B918E41BCF23C800710963 /* ImageCategories */ = { - isa = PBXGroup; - children = ( - 689613D7208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.h */, - 689613D2208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.m */, - 9DD47F981C699F4B00F12CA0 /* PINButton+PINRemoteImage.h */, - 9DD47F991C699F4B00F12CA0 /* PINButton+PINRemoteImage.m */, - 9DD47F9A1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.h */, - 9DD47F9B1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.m */, - ); - path = ImageCategories; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 139D3A571F67284400F82935 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 139D50B41F672C1C00DE64E0 /* PINButton+PINRemoteImage.h in Headers */, - 139D50B51F672C1C00DE64E0 /* PINImageView+PINRemoteImage.h in Headers */, - 139D50B61F672C1C00DE64E0 /* NSData+ImageDetectors.h in Headers */, - 139D50B71F672C1C00DE64E0 /* PINCache+PINRemoteImageCaching.h in Headers */, - 139D50B81F672C1C00DE64E0 /* PINRemoteImage.h in Headers */, - 139D50B91F672C1C00DE64E0 /* PINAlternateRepresentationProvider.h in Headers */, - 139D50BB1F672C1C00DE64E0 /* PINRemoteImageMacros.h in Headers */, - 139D50BC1F672C1C00DE64E0 /* PINProgressiveImage.h in Headers */, - 139D50BD1F672C1C00DE64E0 /* PINRemoteImageCaching.h in Headers */, - 139D50BE1F672C1C00DE64E0 /* PINRemoteImageCategoryManager.h in Headers */, - 139D50BF1F672C1C00DE64E0 /* PINRemoteImageManager.h in Headers */, - 139D50C01F672C1C00DE64E0 /* PINRemoteImageManagerResult.h in Headers */, - 139D50C11F672C1C00DE64E0 /* PINURLSessionManager.h in Headers */, - 139D50C21F672C1C00DE64E0 /* PINRequestRetryStrategy.h in Headers */, - 139D50A31F672BBF00DE64E0 /* PINImage+ScaledImage.h in Headers */, - 139D50A41F672BBF00DE64E0 /* PINImage+DecodedImage.h in Headers */, - 139D50A51F672BBF00DE64E0 /* PINImage+WebP.h in Headers */, - 139D50A71F672BBF00DE64E0 /* PINRemoteImageTask+Subclassing.h in Headers */, - 139D50A91F672BBF00DE64E0 /* PINRemoteImageCallbacks.h in Headers */, - 938E98D52224775600029E4D /* PINRemoteImageManagerConfiguration.h in Headers */, - 139D50AA1F672BBF00DE64E0 /* PINRemoteImageDownloadTask.h in Headers */, - 139D50AB1F672BBF00DE64E0 /* PINRemoteImageProcessorTask.h in Headers */, - 139D50AC1F672BBF00DE64E0 /* PINRemoteImageTask.h in Headers */, - 68D734471F75FDC800B9C95D /* PINAnimatedImage.h in Headers */, - 139D50AD1F672BBF00DE64E0 /* PINRemoteLock.h in Headers */, - 139D50AE1F672BBF00DE64E0 /* PINRemoteImageMemoryContainer.h in Headers */, - 139D50AF1F672BBF00DE64E0 /* PINRemoteImageBasicCache.h in Headers */, - 139D50B01F672BBF00DE64E0 /* PINRemoteImageDownloadQueue.h in Headers */, - 139D50B11F672BBF00DE64E0 /* PINResume.h in Headers */, - 139D50B21F672BBF00DE64E0 /* PINSpeedRecorder.h in Headers */, - 68912D87208FDB4900F5FE0E /* PINRemoteWeakProxy.h in Headers */, - 689613E5208FD90B00D2095C /* PINDisplayLink.h in Headers */, - 689613E1208FD8B700D2095C /* PINAnimatedImageView.h in Headers */, - 68D7344D1F75FDD600B9C95D /* PINCachedAnimatedImage.h in Headers */, - 68D734511F75FDE500B9C95D /* PINGIFAnimatedImage.h in Headers */, - 689613DB208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F1B918CE1BCF239200710963 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 9DD47FA61C699FDC00F12CA0 /* PINImage+WebP.h in Headers */, - 68B7E3B21E736C73000FC887 /* PINResume.h in Headers */, - F1B919131BCF23C900710963 /* PINRemoteImageCategoryManager.h in Headers */, - F1B919161BCF23C900710963 /* PINRemoteImageManager.h in Headers */, - 6860CB081F578287005E886E /* PINSpeedRecorder.h in Headers */, - 68912D86208FDB4900F5FE0E /* PINRemoteWeakProxy.h in Headers */, - 9DD47F9E1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.h in Headers */, - 68CA92831DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.h in Headers */, - 9DD47F9C1C699F4B00F12CA0 /* PINButton+PINRemoteImage.h in Headers */, - F165DFD91BD0504A0008C6E8 /* PINRemoteImageMacros.h in Headers */, - 68B1F2811E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.h in Headers */, - 68CA927E1DAEFF93008BECE2 /* PINRemoteImageCaching.h in Headers */, - 68F0EA941CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.h in Headers */, - 68C155DC1F6F202F0075EE40 /* PINGIFAnimatedImage.h in Headers */, - 68F0EA921CB32EC900F1FD41 /* PINAlternateRepresentationProvider.h in Headers */, - F1B9191C1BCF23C900710963 /* PINRemoteImageTask.h in Headers */, - F1B919101BCF23C900710963 /* PINRemoteImage.h in Headers */, - 926E01631F0DFEE100874D01 /* PINRequestRetryStrategy.h in Headers */, - 686D48D01ED38FC0003DB4C2 /* PINRemoteImageTask+Subclassing.h in Headers */, - F1B919001BCF23C900710963 /* NSData+ImageDetectors.h in Headers */, - F1B9191E1BCF23C900710963 /* PINURLSessionManager.h in Headers */, - 939546C02220AF84006031BB /* PINRemoteImageManagerConfiguration.h in Headers */, - 689613E0208FD8B700D2095C /* PINAnimatedImageView.h in Headers */, - 687750271F6B2305008748B0 /* PINWebPAnimatedImage.h in Headers */, - 689613DA208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.h in Headers */, - 68C155CB1F6EE0A20075EE40 /* PINCachedAnimatedImage.h in Headers */, - F1B919111BCF23C900710963 /* PINRemoteImageCallbacks.h in Headers */, - F1B9190E1BCF23C900710963 /* PINProgressiveImage.h in Headers */, - 6858C0751C9CC5BA00E420EB /* PINRemoteLock.h in Headers */, - 68A6B1DC1E5248BF003A92D1 /* PINImage+ScaledImage.h in Headers */, - 68C155D61F6EE8890075EE40 /* PINAnimatedImage.h in Headers */, - F1B919181BCF23C900710963 /* PINRemoteImageManagerResult.h in Headers */, - 689613E4208FD90B00D2095C /* PINDisplayLink.h in Headers */, - F1B9191A1BCF23C900710963 /* PINRemoteImageProcessorTask.h in Headers */, - 9DD47FA41C699FDC00F12CA0 /* PINImage+DecodedImage.h in Headers */, - 68CA927C1DAEFF93008BECE2 /* PINRemoteImageBasicCache.h in Headers */, - F1B919141BCF23C900710963 /* PINRemoteImageDownloadTask.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 139D3A591F67284400F82935 /* PINRemoteImage-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 139D3A741F67284400F82935 /* Build configuration list for PBXNativeTarget "PINRemoteImage-tvOS" */; - buildPhases = ( - 139D3A551F67284400F82935 /* Sources */, - 139D3A561F67284400F82935 /* Frameworks */, - 139D3A571F67284400F82935 /* Headers */, - 139D3A581F67284400F82935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 139D50771F672B8800DE64E0 /* PBXTargetDependency */, - ); - name = "PINRemoteImage-tvOS"; - productName = "PINRemoteImage-tvOS"; - productReference = 139D3A5A1F67284400F82935 /* PINRemoteImage.framework */; - productType = "com.apple.product-type.framework"; - }; - 139D3A611F67284400F82935 /* PINRemoteImage-tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 139D3A751F67284400F82935 /* Build configuration list for PBXNativeTarget "PINRemoteImage-tvOSTests" */; - buildPhases = ( - 139D3A5E1F67284400F82935 /* Sources */, - 139D3A5F1F67284400F82935 /* Frameworks */, - 139D3A601F67284400F82935 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 139D3A651F67284400F82935 /* PBXTargetDependency */, - ); - name = "PINRemoteImage-tvOSTests"; - productName = "PINRemoteImage-tvOSTests"; - productReference = 139D3A621F67284400F82935 /* PINRemoteImage-tvOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 68A0FC181E523434000B552D /* PINRemoteImageTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 68A0FC231E523434000B552D /* Build configuration list for PBXNativeTarget "PINRemoteImageTests" */; - buildPhases = ( - 68A0FC151E523434000B552D /* Sources */, - 687BB0B11E527EBC005D70C6 /* CopyFiles */, - 68A0FC161E523434000B552D /* Frameworks */, - 68A0FC171E523434000B552D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 68A0FC201E523434000B552D /* PBXTargetDependency */, - ); - name = PINRemoteImageTests; - productName = PINRemoteImageTests; - productReference = 68A0FC191E523434000B552D /* PINRemoteImageTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - F1B918D01BCF239200710963 /* PINRemoteImage */ = { - isa = PBXNativeTarget; - buildConfigurationList = F1B918D91BCF239200710963 /* Build configuration list for PBXNativeTarget "PINRemoteImage" */; - buildPhases = ( - F1B918CC1BCF239200710963 /* Sources */, - 687BB0A81E526FE0005D70C6 /* CopyFiles */, - F1B918CD1BCF239200710963 /* Frameworks */, - F1B918CE1BCF239200710963 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 6818C2C41E56500900875DB7 /* PBXTargetDependency */, - ); - name = PINRemoteImage; - productName = PINRemoteImage; - productReference = F1B918D11BCF239200710963 /* PINRemoteImage.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - F1B918C81BCF239200710963 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1150; - ORGANIZATIONNAME = Pinterest; - TargetAttributes = { - 139D3A591F67284400F82935 = { - CreatedOnToolsVersion = 9.0; - ProvisioningStyle = Automatic; - }; - 139D3A611F67284400F82935 = { - CreatedOnToolsVersion = 9.0; - ProvisioningStyle = Automatic; - }; - 68A0FC181E523434000B552D = { - CreatedOnToolsVersion = 8.2.1; - LastSwiftMigration = 1020; - ProvisioningStyle = Automatic; - }; - F1B918D01BCF239200710963 = { - CreatedOnToolsVersion = 7.0; - }; - }; - }; - buildConfigurationList = F1B918CB1BCF239200710963 /* Build configuration list for PBXProject "PINRemoteImage" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = F1B918C71BCF239200710963; - productRefGroup = F1B918D21BCF239200710963 /* Products */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 6818C2AF1E564FF900875DB7 /* Products */; - ProjectRef = 6818C2AE1E564FF900875DB7 /* PINCache.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - F1B918D01BCF239200710963 /* PINRemoteImage */, - 68A0FC181E523434000B552D /* PINRemoteImageTests */, - 139D3A591F67284400F82935 /* PINRemoteImage-tvOS */, - 139D3A611F67284400F82935 /* PINRemoteImage-tvOSTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - 6818C2B81E564FF900875DB7 /* PINCache.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINCache.framework; - remoteRef = 6818C2B71E564FF900875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2BA1E564FF900875DB7 /* PINCacheTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = PINCacheTests.xctest; - remoteRef = 6818C2B91E564FF900875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2BC1E564FF900875DB7 /* PINCache.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINCache.framework; - remoteRef = 6818C2BB1E564FF900875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2BE1E564FF900875DB7 /* PINCache-tvOSTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "PINCache-tvOSTests.xctest"; - remoteRef = 6818C2BD1E564FF900875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2C01E564FF900875DB7 /* PINCache.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINCache.framework; - remoteRef = 6818C2BF1E564FF900875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 6818C2C21E564FF900875DB7 /* PINCache-macOSTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "PINCache-macOSTests.xctest"; - remoteRef = 6818C2C11E564FF900875DB7 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 139D3A581F67284400F82935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 139D3A601F67284400F82935 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 68A0FC171E523434000B552D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0E71BE2A22E94C7200FC5B99 /* fireworks.gif in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 139D3A551F67284400F82935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 139D4FCA1F672B0D00DE64E0 /* PINButton+PINRemoteImage.m in Sources */, - 139D4FCB1F672B0D00DE64E0 /* PINImageView+PINRemoteImage.m in Sources */, - 139D4FCC1F672B0D00DE64E0 /* NSData+ImageDetectors.m in Sources */, - 139D4FCD1F672B0D00DE64E0 /* PINCache+PINRemoteImageCaching.m in Sources */, - 139D4FCE1F672B0D00DE64E0 /* PINAlternateRepresentationProvider.m in Sources */, - 139D4FD01F672B0D00DE64E0 /* PINProgressiveImage.m in Sources */, - 139D4FD11F672B0D00DE64E0 /* PINRemoteImageCategoryManager.m in Sources */, - 139D4FD21F672B0D00DE64E0 /* PINRemoteImageManager.m in Sources */, - 139D4FD31F672B0D00DE64E0 /* PINRemoteImageManagerResult.m in Sources */, - 139D4FD41F672B0D00DE64E0 /* PINURLSessionManager.m in Sources */, - 139D4FD51F672B0D00DE64E0 /* PINRequestRetryStrategy.m in Sources */, - 139D4FD61F672B0D00DE64E0 /* PINImage+ScaledImage.m in Sources */, - 139D4FD71F672B0D00DE64E0 /* PINImage+DecodedImage.m in Sources */, - 139D4FD81F672B0D00DE64E0 /* PINImage+WebP.m in Sources */, - 139D4FDB1F672B0D00DE64E0 /* PINRemoteImageCallbacks.m in Sources */, - 139D4FDC1F672B0D00DE64E0 /* PINRemoteImageDownloadTask.m in Sources */, - 139D4FDD1F672B0D00DE64E0 /* PINRemoteImageProcessorTask.m in Sources */, - 139D4FDE1F672B0D00DE64E0 /* PINRemoteImageTask.m in Sources */, - 139D4FDF1F672B0D00DE64E0 /* PINRemoteLock.m in Sources */, - 139D4FE01F672B0D00DE64E0 /* PINRemoteImageMemoryContainer.m in Sources */, - 139D4FE11F672B0D00DE64E0 /* PINRemoteImageBasicCache.m in Sources */, - 139D4FE21F672B0D00DE64E0 /* PINRemoteImageDownloadQueue.m in Sources */, - 139D4FE31F672B0D00DE64E0 /* PINResume.m in Sources */, - 68D734521F75FDEA00B9C95D /* PINGIFAnimatedImage.m in Sources */, - 139D4FE41F672B0D00DE64E0 /* PINSpeedRecorder.m in Sources */, - 68D7344C1F75FDCF00B9C95D /* PINAnimatedImage.m in Sources */, - 938E98DA2224775B00029E4D /* PINRemoteImageManagerConfiguration.m in Sources */, - A7343C60228993F400972894 /* NSHTTPURLResponse+MaxAge.m in Sources */, - 689613E7208FD90B00D2095C /* PINDisplayLink.m in Sources */, - 68D7344E1F75FDDB00B9C95D /* PINCachedAnimatedImage.m in Sources */, - 689613D9208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.m in Sources */, - 68912D89208FDB4900F5FE0E /* PINRemoteWeakProxy.m in Sources */, - 689613DF208FD8B700D2095C /* PINAnimatedImageView.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 139D3A5E1F67284400F82935 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D93A340324182D46005EB15E /* TestAnimatedImage.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 68A0FC151E523434000B552D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6864A9221F6D94AF007BB848 /* PINAnimatedImageTests.swift in Sources */, - 68A0FC1C1E523434000B552D /* PINRemoteImageTests.m in Sources */, - 683128F51F95045200D5B4A8 /* PINAnimatedImage+PINAnimatedImageTesting.m in Sources */, - D93A340224182D46005EB15E /* TestAnimatedImage.m in Sources */, - ACD28AB87FABF6BA3B9BF4E4 /* NSDate+PINCacheTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F1B918CC1BCF239200710963 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 68F0EA931CB32EC900F1FD41 /* PINAlternateRepresentationProvider.m in Sources */, - 926E01641F0DFEE800874D01 /* PINRequestRetryStrategy.m in Sources */, - F1B9190F1BCF23C900710963 /* PINProgressiveImage.m in Sources */, - F1B919121BCF23C900710963 /* PINRemoteImageCallbacks.m in Sources */, - 68C155CC1F6EE0A20075EE40 /* PINCachedAnimatedImage.m in Sources */, - 9DD47F9D1C699F4B00F12CA0 /* PINButton+PINRemoteImage.m in Sources */, - 6858C0761C9CC5BA00E420EB /* PINRemoteLock.m in Sources */, - F1B919191BCF23C900710963 /* PINRemoteImageManagerResult.m in Sources */, - F1B9191D1BCF23C900710963 /* PINRemoteImageTask.m in Sources */, - 68B1F2821E679D7A00ED87C4 /* PINRemoteImageDownloadQueue.m in Sources */, - F1B919011BCF23C900710963 /* NSData+ImageDetectors.m in Sources */, - 939546C12220AF84006031BB /* PINRemoteImageManagerConfiguration.m in Sources */, - A7343C5B228993D100972894 /* NSHTTPURLResponse+MaxAge.m in Sources */, - 689613E6208FD90B00D2095C /* PINDisplayLink.m in Sources */, - F1B918FF1BCF23C900710963 /* PINRemoteImageCategoryManager.m in Sources */, - 9DD47FA51C699FDC00F12CA0 /* PINImage+DecodedImage.m in Sources */, - 68F0EA951CB32EC900F1FD41 /* PINRemoteImageMemoryContainer.m in Sources */, - F1B919151BCF23C900710963 /* PINRemoteImageDownloadTask.m in Sources */, - 68CA92841DB19C20008BECE2 /* PINCache+PINRemoteImageCaching.m in Sources */, - 68CA927D1DAEFF93008BECE2 /* PINRemoteImageBasicCache.m in Sources */, - 68C155DD1F6F202F0075EE40 /* PINGIFAnimatedImage.m in Sources */, - F1B9191F1BCF23C900710963 /* PINURLSessionManager.m in Sources */, - 689613D8208FD89900D2095C /* PINAnimatedImageView+PINRemoteImage.m in Sources */, - 687750281F6B2305008748B0 /* PINWebPAnimatedImage.m in Sources */, - F1B9191B1BCF23C900710963 /* PINRemoteImageProcessorTask.m in Sources */, - 9DD47FA71C699FDC00F12CA0 /* PINImage+WebP.m in Sources */, - 68A6B1DB1E5248BF003A92D1 /* PINImage+ScaledImage.m in Sources */, - 68C155D71F6EE8890075EE40 /* PINAnimatedImage.m in Sources */, - 68912D88208FDB4900F5FE0E /* PINRemoteWeakProxy.m in Sources */, - 6860CB091F578287005E886E /* PINSpeedRecorder.m in Sources */, - 689613DE208FD8B700D2095C /* PINAnimatedImageView.m in Sources */, - 9DD47F9F1C699F4B00F12CA0 /* PINImageView+PINRemoteImage.m in Sources */, - 68B7E3B31E736C73000FC887 /* PINResume.m in Sources */, - F1B919171BCF23C900710963 /* PINRemoteImageManager.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 139D3A651F67284400F82935 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 139D3A591F67284400F82935 /* PINRemoteImage-tvOS */; - targetProxy = 139D3A641F67284400F82935 /* PBXContainerItemProxy */; - }; - 139D50771F672B8800DE64E0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "PINCache-tvOS"; - targetProxy = 139D50761F672B8800DE64E0 /* PBXContainerItemProxy */; - }; - 6818C2C41E56500900875DB7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = PINCache; - targetProxy = 6818C2C31E56500900875DB7 /* PBXContainerItemProxy */; - }; - 68A0FC201E523434000B552D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = F1B918D01BCF239200710963 /* PINRemoteImage */; - targetProxy = 68A0FC1F1E523434000B552D /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 139D3A6B1F67284400F82935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/webp", - ); - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = ( - "PIN_WEBP=0", - "$(inherited)", - ); - INFOPLIST_FILE = Source/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = Source/PINRemoteImage.modulemap; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINRemoteImage; - PRODUCT_NAME = PINRemoteImage; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - }; - name = Debug; - }; - 139D3A6C1F67284400F82935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/webp", - ); - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "PIN_WEBP=0", - ); - INFOPLIST_FILE = Source/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = Source/PINRemoteImage.modulemap; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINRemoteImage; - PRODUCT_NAME = PINRemoteImage; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - }; - name = Release; - }; - 139D3A6D1F67284400F82935 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = ""; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_PREPROCESSOR_DEFINITIONS = ( - "PINWEBP=0", - "$(inherited)", - ); - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINRemoteImage-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = appletvos; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - 139D3A6E1F67284400F82935 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - DEVELOPMENT_TEAM = ""; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.pinterest.PINRemoteImage-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = appletvos; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - 68A0FC211E523434000B552D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "PIN_WEBP=1", - "$(inherited)", - ); - INFOPLIST_FILE = Tests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = test.PINRemoteImageTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Tests/PINRemoteImageTests-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 68A0FC221E523434000B552D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = Tests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = test.PINRemoteImageTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Tests/PINRemoteImageTests-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - F1B918D71BCF239200710963 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = Carthage/Build/iOS; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "Carthage/Checkouts/libwebp/**"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = ""; - PRODUCT_NAME = PINRemoteImage; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - TVOS_DEPLOYMENT_TARGET = 9.2; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - F1B918D81BCF239200710963 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_SEARCH_PATHS = Carthage/Build/iOS; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "Carthage/Checkouts/libwebp/**"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_CFLAGS = ""; - PRODUCT_NAME = PINRemoteImage; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = "1,2"; - TVOS_DEPLOYMENT_TARGET = 9.2; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - F1B918DA1BCF239200710963 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - "$(PROJECT_DIR)/Carthage/Build/Mac", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - "$(PROJECT_DIR)/Carthage/Checkouts/libwebp/Carthage/Build/iOS", - "$(PROJECT_DIR)/Carthage/Checkouts/libwebp/Carthage/Build/Mac", - "$(PROJECT_DIR)/Carthage/Checkouts/libwebp/Carthage/Build/tvOS", - "$(PROJECT_DIR)/Carthage/Checkouts/PINCache/Carthage/Build/iOS", - "$(PROJECT_DIR)/Carthage/Checkouts/PINCache/Carthage/Build/Mac", - "$(PROJECT_DIR)/Carthage/Checkouts/PINCache/Carthage/Build/tvOS", - "$(PROJECT_DIR)/webp", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "PIN_WEBP=1", - "$(inherited)", - ); - INFOPLIST_FILE = Source/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = Source/PINRemoteImage.modulemap; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINRemoteImage; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - F1B918DB1BCF239200710963 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - "$(PROJECT_DIR)/Carthage/Build/Mac", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - "$(PROJECT_DIR)/Carthage/Checkouts/libwebp/Carthage/Build/iOS", - "$(PROJECT_DIR)/Carthage/Checkouts/libwebp/Carthage/Build/Mac", - "$(PROJECT_DIR)/Carthage/Checkouts/libwebp/Carthage/Build/tvOS", - "$(PROJECT_DIR)/Carthage/Checkouts/PINCache/Carthage/Build/iOS", - "$(PROJECT_DIR)/Carthage/Checkouts/PINCache/Carthage/Build/Mac", - "$(PROJECT_DIR)/Carthage/Checkouts/PINCache/Carthage/Build/tvOS", - "$(PROJECT_DIR)/webp", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "PIN_WEBP=1", - "$(inherited)", - ); - INFOPLIST_FILE = Source/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = Source/PINRemoteImage.modulemap; - PRODUCT_BUNDLE_IDENTIFIER = com.pinterest.PINRemoteImage; - SKIP_INSTALL = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 139D3A741F67284400F82935 /* Build configuration list for PBXNativeTarget "PINRemoteImage-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 139D3A6B1F67284400F82935 /* Debug */, - 139D3A6C1F67284400F82935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 139D3A751F67284400F82935 /* Build configuration list for PBXNativeTarget "PINRemoteImage-tvOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 139D3A6D1F67284400F82935 /* Debug */, - 139D3A6E1F67284400F82935 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 68A0FC231E523434000B552D /* Build configuration list for PBXNativeTarget "PINRemoteImageTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 68A0FC211E523434000B552D /* Debug */, - 68A0FC221E523434000B552D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - F1B918CB1BCF239200710963 /* Build configuration list for PBXProject "PINRemoteImage" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F1B918D71BCF239200710963 /* Debug */, - F1B918D81BCF239200710963 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - F1B918D91BCF239200710963 /* Build configuration list for PBXNativeTarget "PINRemoteImage" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F1B918DA1BCF239200710963 /* Debug */, - F1B918DB1BCF239200710963 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = F1B918C81BCF239200710963 /* Project object */; -} diff --git a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.xcodeproj/xcshareddata/xcschemes/PINRemoteImage-tvOS.xcscheme b/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.xcodeproj/xcshareddata/xcschemes/PINRemoteImage-tvOS.xcscheme deleted file mode 100644 index 634b45f1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.xcodeproj/xcshareddata/xcschemes/PINRemoteImage-tvOS.xcscheme +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.xcodeproj/xcshareddata/xcschemes/PINRemoteImage.xcscheme b/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.xcodeproj/xcshareddata/xcschemes/PINRemoteImage.xcscheme deleted file mode 100644 index 1bc1a550..00000000 --- a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage.xcodeproj/xcshareddata/xcschemes/PINRemoteImage.xcscheme +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage/PINRemoteImageTests/Info.plist b/Carthage/Checkouts/PINRemoteImage/PINRemoteImage/PINRemoteImageTests/Info.plist deleted file mode 100644 index 6c6c23c4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage/PINRemoteImageTests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage/PINRemoteImageTests/PINRemoteImageTests.m b/Carthage/Checkouts/PINRemoteImage/PINRemoteImage/PINRemoteImageTests/PINRemoteImageTests.m deleted file mode 100644 index bfd6f5c7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/PINRemoteImage/PINRemoteImageTests/PINRemoteImageTests.m +++ /dev/null @@ -1,39 +0,0 @@ -// -// PINRemoteImageTests.m -// PINRemoteImageTests -// -// Created by Garrett Moon on 2/13/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import - -@interface PINRemoteImageTests : XCTestCase - -@end - -@implementation PINRemoteImageTests - -- (void)setUp { - [super setUp]; - // Put setup code here. This method is called before the invocation of each test method in the class. -} - -- (void)tearDown { - // Put teardown code here. This method is called after the invocation of each test method in the class. - [super tearDown]; -} - -- (void)testExample { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. -} - -- (void)testPerformanceExample { - // This is an example of a performance test case. - [self measureBlock:^{ - // Put the code you want to measure the time of here. - }]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/README.md b/Carthage/Checkouts/PINRemoteImage/README.md deleted file mode 100644 index d1928210..00000000 --- a/Carthage/Checkouts/PINRemoteImage/README.md +++ /dev/null @@ -1,252 +0,0 @@ -# PINRemoteImage - -## Fast, non-deadlocking parallel image downloader and cache for iOS - -[![CocoaPods compatible](https://img.shields.io/cocoapods/v/PINRemoteImage.svg?style=flat)](https://cocoapods.org/pods/PINRemoteImage) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Build status](https://github.com/pinterest/PINRemoteImage/workflows/CI/badge.svg)](https://github.com/pinterest/PINRemoteImage/actions?query=workflow%3ACI+branch%3Amaster) - -[PINRemoteImageManager](Source/Classes/PINRemoteImageManager.h) is an image downloading, processing and caching manager. It uses the concept of download and processing tasks to ensure that even if multiple calls to download or process an image are made, it only occurs one time (unless an item is no longer in the cache). PINRemoteImageManager is backed by **GCD** and safe to **access** from **multiple threads** simultaneously. It ensures that images are decoded off the main thread so that animation performance isn't affected. None of its exposed methods allow for synchronous access. However, it is optimized to call completions on the calling thread if an item is in its memory cache. - -PINRemoteImage supports downloading many types of files. It, of course, **supports** both **PNGs** and **JPGs**. It also supports decoding **WebP** images if Google's library is available. It even supports **GIFs** and **Animated WebP** via PINAnimatedImageView. - -PINRemoteImage also has two methods to improve the experience of downloading images on slow network connections. The first is support for **progressive JPGs**. This isn't any old support for progressive JPGs though: PINRemoteImage adds an attractive blur to progressive scans before returning them. - -![Progressive JPG with Blur](/progressive.gif "Looks better on device.") - -[PINRemoteImageCategoryManager](Pod/Classes/PINRemoteImageCategoryManager.h) defines a protocol which UIView subclasses can implement and provide easy access to -PINRemoteImageManager's methods. There are **built-in categories** on **UIImageView**, **PINAnimatedImageView** and **UIButton**, and it's very easy to implement a new category. See [UIImageView+PINRemoteImage](/Pod/Classes/Image Categories/UIImageView+PINRemoteImage.h) of the existing categories for reference. - - -### Download an image and set it on an image view: - -**Objective-C** -```objc -UIImageView *imageView = [[UIImageView alloc] init]; -[imageView pin_setImageFromURL:[NSURL URLWithString:@"http://pinterest.com/kitten.jpg"]]; -``` - -**Swift** -```swift -let imageView = UIImageView() -imageView.pin_setImage(from: URL(string: "https://pinterest.com/kitten.jpg")!) -``` - -### Download a progressive jpeg and get attractive blurred updates: - -**Objective-C** -```objc -UIImageView *imageView = [[UIImageView alloc] init]; -[imageView setPin_updateWithProgress:YES]; -[imageView pin_setImageFromURL:[NSURL URLWithString:@"http://pinterest.com/progressiveKitten.jpg"]]; -``` - -**Swift** -```swift -let imageView = UIImageView() -imageView.pin_updateWithProgress = true -imageView.pin_setImage(from: URL(string: "https://pinterest.com/progressiveKitten.jpg")!) -``` - -### Download a WebP file - -**Objective-C** -```objc -UIImageView *imageView = [[UIImageView alloc] init]; -[imageView pin_setImageFromURL:[NSURL URLWithString:@"http://pinterest.com/googleKitten.webp"]]; -``` - -**Swift** -```swift -let imageView = UIImageView() -imageView.pin_setImage(from: URL(string: "https://pinterest.com/googleKitten.webp")!) -``` - -### Download a GIF and display with PINAnimatedImageView - -**Objective-C** -```objc -PINAnimatedImageView *animatedImageView = [[PINAnimatedImageView alloc] init]; -[animatedImageView pin_setImageFromURL:[NSURL URLWithString:@"http://pinterest.com/flyingKitten.gif"]]; -``` - -**Swift** -```swift -let animatedImageView = PINAnimatedImageView() -animatedImageView.pin_setImage(from: URL(string: "http://pinterest.com/flyingKitten.gif")!) -``` - -### Download and process an image - -**Objective-C** -```objc -UIImageView *imageView = [[UIImageView alloc] init]; -[self.imageView pin_setImageFromURL:[NSURL URLWithString:@"https://i.pinimg.com/736x/5b/c6/c5/5bc6c5387ff6f104fd642f2b375efba3.jpg"] processorKey:@"rounded" processor:^UIImage *(PINRemoteImageManagerResult *result, NSUInteger *cost) - { - CGSize targetSize = CGSizeMake(200, 300); - CGRect imageRect = CGRectMake(0, 0, targetSize.width, targetSize.height); - UIGraphicsBeginImageContext(imageRect.size); - UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRoundedRect:imageRect cornerRadius:7.0]; - [bezierPath addClip]; - - CGFloat sizeMultiplier = MAX(targetSize.width / result.image.size.width, targetSize.height / result.image.size.height); - - CGRect drawRect = CGRectMake(0, 0, result.image.size.width * sizeMultiplier, result.image.size.height * sizeMultiplier); - if (CGRectGetMaxX(drawRect) > CGRectGetMaxX(imageRect)) { - drawRect.origin.x -= (CGRectGetMaxX(drawRect) - CGRectGetMaxX(imageRect)) / 2.0; - } - if (CGRectGetMaxY(drawRect) > CGRectGetMaxY(imageRect)) { - drawRect.origin.y -= (CGRectGetMaxY(drawRect) - CGRectGetMaxY(imageRect)) / 2.0; - } - - [result.image drawInRect:drawRect]; - - UIImage *processedImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return processedImage; - }]; -``` - -**Swift** -```swift -let imageView = FLAnimatedImageView() -imageView.pin_setImage(from: URL(string: "https://i.pinimg.com/736x/5b/c6/c5/5bc6c5387ff6f104fd642f2b375efba3.jpg")!, processorKey: "rounded") { (result, unsafePointer) -> UIImage? in - - guard let image = result.image else { return nil } - - let radius : CGFloat = 7.0 - let targetSize = CGSize(width: 200, height: 300) - let imageRect = CGRect(x: 0, y: 0, width: targetSize.width, height: targetSize.height) - - UIGraphicsBeginImageContext(imageRect.size) - - let bezierPath = UIBezierPath(roundedRect: imageRect, cornerRadius: radius) - bezierPath.addClip() - - let widthMultiplier : CGFloat = targetSize.width / image.size.width - let heightMultiplier : CGFloat = targetSize.height / image.size.height - let sizeMultiplier = max(widthMultiplier, heightMultiplier) - - var drawRect = CGRect(x: 0, y: 0, width: image.size.width * sizeMultiplier, height: image.size.height * sizeMultiplier) - if (drawRect.maxX > imageRect.maxX) { - drawRect.origin.x -= (drawRect.maxX - imageRect.maxX) / 2 - } - if (drawRect.maxY > imageRect.maxY) { - drawRect.origin.y -= (drawRect.maxY - imageRect.maxY) / 2 - } - - image.draw(in: drawRect) - - UIColor.red.setStroke() - bezierPath.lineWidth = 5.0 - bezierPath.stroke() - - let ctx = UIGraphicsGetCurrentContext() - ctx?.setBlendMode(CGBlendMode.overlay) - ctx?.setAlpha(0.5) - - let logo = UIImage(named: "white-pinterest-logo") - ctx?.scaleBy(x: 1.0, y: -1.0) - ctx?.translateBy(x: 0.0, y: -drawRect.size.height) - - if let coreGraphicsImage = logo?.cgImage { - ctx?.draw(coreGraphicsImage, in: CGRect(x: 90, y: 10, width: logo!.size.width, height: logo!.size.height)) - } - - let processedImage = UIGraphicsGetImageFromCurrentImageContext() - UIGraphicsEndImageContext() - - return processedImage - -} -``` - -### Handle Authentication - -**Objective-C** -```objc -[[PINRemoteImageManager sharedImageManager] setAuthenticationChallenge:^(NSURLSessionTask *task, NSURLAuthenticationChallenge *challenge, PINRemoteImageManagerAuthenticationChallengeCompletionHandler aCompletion) { -aCompletion(NSURLSessionAuthChallengePerformDefaultHandling, nil)]; -``` - -**Swift** -```swift -PINRemoteImageManager.shared().setAuthenticationChallenge { (task, challenge, completion) in - completion?(.performDefaultHandling, nil) -} -``` - -### Support for high resolution images -Currently there are two ways PINRemoteImage is supporting high resolution images: -1. If the URL contains an `_2x.` or an `_3x.` postfix it will be automatically handled by PINRemoteImage and the resulting image will be returned at the right scale. -2. If it's not possible to provide an URL with an `_2x.` or `_3x.` postfix, you can also handle it with a completion handler: -```objc -NSURL *url = ...; -__weak UIImageView *weakImageView = self.imageView; -[self.imageView pin_setImageFromURL:url completion:^(PINRemoteImageManagerResult * _Nonnull result) { - CGFloat scale = UIScreen.mainScreen.scale; - if (scale > 1.0) { - UIImage *image = result.image; - weakImageView.image = [UIImage imageWithCGImage:image.CGImage scale:scale orientation:image.imageOrientation]; - } -}]; -``` - -### Set some limits -``` -// cache is an instance of PINCache as long as you haven't overridden defaultImageCache -PINCache *cache = (PINCache *)[[PINRemoteImageManager sharedImageManager] cache]; -// Max memory cost is based on number of pixels, we estimate the size of one hundred 600x600 images as our max memory image cache. -[[cache memoryCache] setCostLimit:600 * [[UIScreen mainScreen] scale] * 600 * [[UIScreen mainScreen] scale] * 100]; - -// ~50 MB -[[cache diskCache] setByteLimit:50 * 1024 * 1024]; -// 30 days -[[cache diskCache] setAgeLimit:60 * 60 * 24 * 30]; -``` - -## Installation - -### CocoaPods - -Add [PINRemoteImage](http://cocoapods.org/?q=name%3APINRemoteImage) to your `Podfile` and run `pod install`. - -If you'd like to use WebP images, add [PINRemoteImage/WebP](http://cocoapods.org/?q=name%3APINRemoteImage) to your `Podfile` and run `pod install`. - - -### Carthage - -Add `github "pinterest/PINRemoteImage"` to your Cartfile . See [Carthage's readme](https://github.com/Carthage/Carthage) for more information on integrating Carthage-built frameworks into your project. - -### Manually - -[Download the latest tag](https://github.com/Pinterest/PINRemoteImage/tags) and drag the `Pod/Classes` folder into your Xcode project. You must also manually link against [PINCache](https://github.com/pinterest/PINCache). - -Install the docs by double clicking the `.docset` file under `docs/`, or view them online at [cocoadocs.org](http://cocoadocs.org/docsets/PINRemoteImage/) - -### Git Submodule - -You can set up PINRemoteImage as a submodule of your repo instead of cloning and copying all the files into your repo. Add the submodule using the commands below and then follow the manual instructions above. - - git submodule add https://github.com/pinterest/PINRemoteImage.git - git submodule update --init - - - -## Requirements - -__PINRemoteImage__ requires iOS 7.0 or greater. - -## Contact - -[Garrett Moon](mailto:garrett@pinterest.com) -[@garrettmoon](https://twitter.com/garrettmoon) -[Pinterest](https://www.pinterest.com/garrettlunar/) - -## License - -Copyright 2015 Pinterest, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. [See the License](LICENSE.txt) for the specific language governing permissions and limitations under the License. diff --git a/Carthage/Checkouts/PINRemoteImage/RELEASE.md b/Carthage/Checkouts/PINRemoteImage/RELEASE.md deleted file mode 100644 index e3068ecf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/RELEASE.md +++ /dev/null @@ -1,13 +0,0 @@ -# Release Process -This document describes the process for a public PINRemoteImage release. - -### Preparation -- Install [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator): `sudo gem install github_changelog_generator` -- Generate a GitHub Personal Access Token to prevent running into public GitHub API rate limits: https://github.com/github-changelog-generator/github-changelog-generator#github-token - -### Process -- Run `github_changelog_generator` in PINRemoteImage project directory: `github_changelog_generator --token --user Pinterest --project PINRemoteImage`. To avoid hitting rate limit, the generator will replace the entire file with just the changes from this version – revert that giant deletion to get the entire new changelog. -- Update `spec.version` within `PINRemoteImage.podspec` and the `since-tag` and `future-release` fields in `.github_changelog_generator`. -- Create a new PR with the updated `PINRemoteImage.podspec` and the newly generated changelog, add `#changelog` to the PR message so the CI will not prevent merging it. -- After merging in the PR, [create a new GitHub release](https://github.com/Pinterest/PINRemoteImage/releases/new). Use the generated changelog for the new release. -- Push to Cocoapods with `pod trunk push` diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/.gitkeep b/Carthage/Checkouts/PINRemoteImage/Source/Classes/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImage.h deleted file mode 100644 index 4f96b154..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImage.h +++ /dev/null @@ -1,165 +0,0 @@ -// -// PINAnimatedImage.h -// PINRemoteImage -// -// Created by Garrett Moon on 9/17/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -NS_ASSUME_NONNULL_BEGIN - -extern NSErrorDomain const kPINAnimatedImageErrorDomain; - -/** - PINAnimatedImage decoding and processing errors. - */ -typedef NS_ERROR_ENUM(kPINAnimatedImageErrorDomain, PINAnimatedImageErrorCode) { - /** No error, yay! */ - PINAnimatedImageErrorNoError = 0, - /** Could not create a necessary file. */ - PINAnimatedImageErrorFileCreationError, - /** Could not get a file handle to the necessary file. */ - PINAnimatedImageErrorFileHandleError, - /** Could not decode the image. */ - PINAnimatedImageErrorImageFrameError, - /** Could not memory map the file. */ - PINAnimatedImageErrorMappingError, - /** File write error */ - PINAnimatedImageErrorFileWrite, -}; - -/** - The processing status of the animated image. - */ -typedef NS_ENUM(NSUInteger, PINAnimatedImageStatus) { - /** No work has been done. */ - PINAnimatedImageStatusUnprocessed = 0, - /** Info about the animated image and the cover image are available. */ - PINAnimatedImageStatusInfoProcessed, - /** At least one set of frames has been decoded to a file. It's safe to start playback. */ - PINAnimatedImageStatusFirstFileProcessed, - /** The entire animated image has been processed. */ - PINAnimatedImageStatusProcessed, - /** Processing was canceled. */ - PINAnimatedImageStatusCanceled, - /** There was an error in processing. */ - PINAnimatedImageStatusError, -}; - -extern const Float32 kPINAnimatedImageDefaultDuration; - -/** - Called when the cover image of an animatedImage is ready. - */ -typedef void(^PINAnimatedImageInfoReady)(PINImage * _Nonnull coverImage); - -@protocol PINAnimatedImage; - -@interface PINAnimatedImage : NSObject - -/** - @abstract The maximum number of frames per second supported. - */ -+ (NSInteger)maximumFramesPerSecond; - -/** - @abstract Return the duration at a given index. - - @warning *Must be overridden by subclass - */ -- (CFTimeInterval)durationAtIndex:(NSUInteger)index; - -/** - @abstract Return the total number of frames in the animated image. - - @warning *Must be overridden by subclass - */ -@property (nonatomic, readonly) size_t frameCount; - -/** - @abstract Return the total duration of the animated image's playback. - */ -@property (nonatomic, readonly) CFTimeInterval totalDuration; - -/** - The number of frames to play per second * display refresh rate (defined as 60 which appears to be true on iOS). You probably want to - set this value on a displayLink. - @warning Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined. - */ -@property (nonatomic, readonly) NSUInteger frameInterval; - -@end - -@protocol PINCachedAnimatedFrameProvider - -@required - -- (nullable CGImageRef)cachedFrameImageAtIndex:(NSUInteger)index; - -@end - -@protocol PINAnimatedImage - -/** - @abstract the underlying data of the animated image if available. - */ -@property (nonatomic, readonly) NSData *data; - -/** - @abstract the native width of the animated image. - */ -@property (nonatomic, readonly) uint32_t width; - -/** - @abstract the native height of the animated image. - */ -@property (nonatomic, readonly) uint32_t height; - -/** - @abstract number of bytes per frame. - */ -@property (nonatomic, readonly) uint32_t bytesPerFrame; - -/** - @abstract Return the total duration of the animated image's playback. - */ -@property (nonatomic, readonly) CFTimeInterval totalDuration; -/** - @abstract Return the interval at which playback should occur. Will be set to a CADisplayLink's frame interval. - */ -@property (nonatomic, readonly) NSUInteger frameInterval; -/** - @abstract Return the total number of loops the animated image should play or 0 to loop infinitely. - */ -@property (nonatomic, readonly) size_t loopCount; -/** - @abstract Return the total number of frames in the animated image. - */ -@property (nonatomic, readonly) size_t frameCount; -/** - @abstract Return any error that has occurred. Playback will be paused if this returns non-nil. - */ -@property (nonatomic, readonly, nullable) NSError *error; - -/** - @abstract Return the image at a given index. - */ -- (nullable CGImageRef)imageAtIndex:(NSUInteger)index cacheProvider:(nullable id)cacheProvider; -/** - - @abstract Return the duration at a given index. - */ -- (CFTimeInterval)durationAtIndex:(NSUInteger)index; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImage.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImage.m deleted file mode 100644 index 9204b4e5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImage.m +++ /dev/null @@ -1,126 +0,0 @@ -// -// PINAnimatedImage.m -// PINRemoteImage -// -// Created by Garrett Moon on 9/17/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINAnimatedImage.h" - -NSErrorDomain const kPINAnimatedImageErrorDomain = @"kPINAnimatedImageErrorDomain"; - -//http://nullsleep.tumblr.com/post/16524517190/animated-gif-minimum-frame-delay-browser -const Float32 kPINAnimatedImageDefaultDuration = 0.1; - -@interface PINAnimatedImage () -{ - CFTimeInterval _totalDuration; -} -@end - -@implementation PINAnimatedImage - -+ (NSInteger)maximumFramesPerSecond -{ - static dispatch_once_t onceToken; - static NSInteger maximumFramesPerSecond = 60; - - dispatch_once(&onceToken, ^{ -#if PIN_TARGET_IOS - if (@available(iOS 10.3, tvOS 10.3, *)) { - maximumFramesPerSecond = 0; - for (UIScreen *screen in [UIScreen screens]) { - if ([screen maximumFramesPerSecond] > maximumFramesPerSecond) { - maximumFramesPerSecond = [screen maximumFramesPerSecond]; - } - } - } -#endif - }); - return maximumFramesPerSecond; -} - -- (instancetype)init -{ - if (self = [super init]) { - _totalDuration = -1; - } - return self; -} - -- (CFTimeInterval)durationAtIndex:(NSUInteger)index -{ - NSAssert(NO, @"Must be overridden by subclass"); - return 0; -} - -- (size_t)frameCount -{ - NSAssert(NO, @"Must be overridden by subclass"); - return 0; -} - - -- (CFTimeInterval)totalDuration -{ - if (_totalDuration == -1) { - _totalDuration = 0; - for (NSUInteger idx = 0; idx < self.frameCount; idx++) { - _totalDuration += [self durationAtIndex:idx]; - } - } - - return _totalDuration; -} - -- (NSUInteger)frameInterval -{ - return MAX(self.minimumFrameInterval * [PINAnimatedImage maximumFramesPerSecond], 1); -} - -//Credit to FLAnimatedImage ( https://github.com/Flipboard/FLAnimatedImage ) for display link interval calculations -- (NSTimeInterval)minimumFrameInterval -{ - static dispatch_once_t onceToken; - static NSTimeInterval kGreatestCommonDivisorPrecision; - dispatch_once(&onceToken, ^{ - kGreatestCommonDivisorPrecision = 2.0 / (1.0 / [PINAnimatedImage maximumFramesPerSecond]); - }); - - // Scales the frame delays by `kGreatestCommonDivisorPrecision` - // then converts it to an UInteger for in order to calculate the GCD. - NSUInteger scaledGCD = lrint([self durationAtIndex:0] * kGreatestCommonDivisorPrecision); - for (NSUInteger durationIdx = 1; durationIdx < self.frameCount; durationIdx++) { - CFTimeInterval duration = [self durationAtIndex:durationIdx]; - scaledGCD = gcd(lrint(duration * kGreatestCommonDivisorPrecision), scaledGCD); - } - - // Reverse to scale to get the value back into seconds. - return (scaledGCD / kGreatestCommonDivisorPrecision); -} - -// This likely isn't the most efficient but it's easy to reason about and we don't call it -// with super large numbers. -static NSUInteger gcd(NSUInteger a, NSUInteger b) -{ - // http://en.wikipedia.org/wiki/Greatest_common_divisor - NSCAssert(a > 0 && b > 0, @"A and B must be greater than 0"); - - while (a != b) { - if (a > b) { - a = a - b; - } else { - b = b - a; - } - } - return a; -} - -// Used only in testing -+ (NSUInteger)greatestCommonDivisorOfA:(NSUInteger)a andB:(NSUInteger)b -{ - return gcd(a, b); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImageView.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImageView.h deleted file mode 100644 index 694e9a0f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImageView.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// PINAnimatedImageView.h -// Pods -// -// Created by Garrett Moon on 4/17/18. -// - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -#import - -@interface PINAnimatedImageView : PINImageView - -- (nonnull instancetype)initWithAnimatedImage:(nonnull PINCachedAnimatedImage *)animatedImage NS_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(nonnull NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER; - -@property (nullable, nonatomic, strong) PINCachedAnimatedImage *animatedImage; -@property (nullable, nonatomic, strong) NSString *animatedImageRunLoopMode; -@property (nonatomic, assign, getter=isPlaybackPaused) BOOL playbackPaused; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImageView.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImageView.m deleted file mode 100644 index 6cbb3a9e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINAnimatedImageView.m +++ /dev/null @@ -1,442 +0,0 @@ -// -// PINAnimatedImageView.m -// Pods -// -// Created by Garrett Moon on 4/17/18. -// - -#import "PINAnimatedImageView.h" - -#import "PINRemoteLock.h" -#import "PINDisplayLink.h" -#import "PINImage+DecodedImage.h" -#import "PINRemoteWeakProxy.h" - -@interface PINAnimatedImageView () -{ - CFTimeInterval _playHead; - NSUInteger _playedLoops; - NSUInteger _lastSuccessfulFrameIndex; - CFTimeInterval *_durations; -} - -@property (nonatomic, assign) CGImageRef frameImage; -@property (nonatomic, strong) PINDisplayLink *displayLink; - -@property (nonatomic, assign) CFTimeInterval lastDisplayLinkFire; - -@end - -@implementation PINAnimatedImageView - -@synthesize animatedImage = _animatedImage; -@synthesize displayLink = _displayLink; -@synthesize playbackPaused = _playbackPaused; -@synthesize animatedImageRunLoopMode = _animatedImageRunLoopMode; - -- (instancetype)initWithAnimatedImage:(PINCachedAnimatedImage *)animatedImage -{ - if (self = [super initWithFrame:CGRectZero]) { - [self commonInit:animatedImage]; - } - return self; -} - -- (instancetype)initWithFrame:(CGRect)frame -{ - if (self = [super initWithFrame:frame]) { - [self commonInit:nil]; - } - return self; -} - -- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder -{ - if (self = [super initWithCoder:aDecoder]) { - [self commonInit:nil]; - } - return self; -} - -- (void)commonInit:(PINCachedAnimatedImage *)animatedImage -{ - _animatedImage = animatedImage; - _animatedImageRunLoopMode = NSRunLoopCommonModes; - _durations = NULL; - - if (animatedImage) { - [self initializeAnimatedImage:animatedImage]; - } -} - -- (void)initializeAnimatedImage:(nonnull PINCachedAnimatedImage *)animatedImage -{ - PINWeakify(self); - animatedImage.coverImageReadyCallback = ^(PINImage *coverImage) { - dispatch_async(dispatch_get_main_queue(), ^{ - PINStrongify(self); - // In this case the lock is already gone we have to call the unlocked version therefore - [self coverImageCompleted:coverImage]; - }); - }; - - animatedImage.playbackReadyCallback = ^{ - dispatch_async(dispatch_get_main_queue(), ^{ - // In this case the lock is already gone we have to call the unlocked version therefore - PINStrongify(self); - [self checkIfShouldAnimate]; - }); - }; - if (animatedImage.playbackReady) { - [self checkIfShouldAnimate]; - } - - [self resetDurationsWithAnimatedImage:animatedImage]; -} - -- (void)dealloc -{ - if (_frameImage) { - CGImageRelease(_frameImage); - } - if (_durations) { - free(_durations); - } -} - -#pragma mark - Public - -- (void)setAnimatedImage:(PINCachedAnimatedImage *)animatedImage -{ - PINAssertMain(); - if (_animatedImage == animatedImage && animatedImage.playbackReady) { - return; - } - - PINCachedAnimatedImage *previousAnimatedImage = _animatedImage; - - _animatedImage = animatedImage; - - if (animatedImage != nil) { - [self initializeAnimatedImage:animatedImage]; - } else { - // Clean up after ourselves. - self.layer.contents = nil; - [self setCoverImage:nil]; - } - - // Animated Image can take a while to dealloc, let's try and do it off main. - __block PINCachedAnimatedImage *strongAnimatedImage = previousAnimatedImage; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - strongAnimatedImage = nil; - }); -} - -- (PINCachedAnimatedImage *)animatedImage -{ - PINAssertMain(); - return _animatedImage; -} - -- (NSString *)animatedImageRunLoopMode -{ - PINAssertMain(); - return _animatedImageRunLoopMode; -} - -- (void)setAnimatedImageRunLoopMode:(NSString *)newRunLoopMode -{ - PINAssertMain(); - - NSString *runLoopMode = newRunLoopMode ?: NSRunLoopCommonModes; - - if (_displayLink != nil) { - [_displayLink removeFromRunLoop:[NSRunLoop mainRunLoop] forMode:_animatedImageRunLoopMode]; - [_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:runLoopMode]; - } - _animatedImageRunLoopMode = runLoopMode; -} - -- (BOOL)isPlaybackPaused -{ - PINAssertMain(); - return _playbackPaused; -} - -- (void)setPlaybackPaused:(BOOL)playbackPaused -{ - PINAssertMain(); - - _playbackPaused = playbackPaused; - [self checkIfShouldAnimate]; -} - -- (void)coverImageCompleted:(PINImage *)coverImage -{ - PINAssertMain(); - BOOL setCoverImage = (_displayLink == nil) || _displayLink.paused; - - if (setCoverImage) { - [self setCoverImage:coverImage]; - } -} - -- (void)setCoverImage:(PINImage *)coverImage -{ - PINAssertMain(); - if (_frameImage) { - CGImageRelease(_frameImage); - } - _frameImage = CGImageRetain([coverImage CGImage]); -} - -#pragma mark - Animating - -- (void)checkIfShouldAnimate -{ - PINAssertMain(); - BOOL shouldAnimate = _playbackPaused == NO && _animatedImage.playbackReady && [self canBeVisible]; - if (shouldAnimate) { - [self startAnimating]; - } else { - [self stopAnimating]; - } -} - -- (void)startAnimating -{ - PINAssertMain(); - - if (_playbackPaused) { - return; - } - - if (_animatedImage.playbackReady == NO) { - return; - } - - if ([self canBeVisible] == NO) { - return; - } - - // Get frame interval before holding display link lock to avoid deadlock - NSUInteger frameInterval = self.animatedImage.frameInterval; - - if (_displayLink == nil) { - _playHead = 0; - _displayLink = [PINDisplayLink displayLinkWithTarget:[PINRemoteWeakProxy weakProxyWithTarget:self] selector:@selector(displayLinkFired:)]; -#if PIN_TARGET_IOS - if (@available(iOS 10.0, tvOS 10.0, *)) { - _displayLink.preferredFramesPerSecond = frameInterval; - } else { -#endif - _displayLink.frameInterval = frameInterval; -#if PIN_TARGET_IOS - } -#endif - _lastSuccessfulFrameIndex = NSUIntegerMax; - - [_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:self.animatedImageRunLoopMode]; - } else { - _displayLink.paused = NO; - } -} - -- (void)stopAnimating -{ - PINAssertMain(); - - _displayLink.paused = YES; - _lastDisplayLinkFire = 0; - - [_animatedImage clearAnimatedImageCache]; -} - -#pragma mark - Overrides - -- (PINImage *)image -{ - PINAssertMain(); - if (_animatedImage) { - return [PINImage imageWithCGImage:_frameImage]; - } - return [super image]; -} - -- (CGImageRef)imageRef -{ - PINAssertMain(); - PINImage *underlyingImage = nil; - if (_animatedImage) { - return _frameImage; - } else if ((underlyingImage = [super image])) { - return (CGImageRef)CFAutorelease(CFRetain([underlyingImage CGImage])); - } - return nil; -} - -- (void)setImage:(PINImage *)image -{ - PINAssertMain(); - if (image) { - self.animatedImage = nil; - } - - super.image = image; -} - -- (void)displayLayer:(CALayer *)layer -{ - PINAssertMain(); - layer.contents = (__bridge id)[self imageRef]; -} - -#if PIN_TARGET_MAC - -- (void)_setImage:(PINImage *)image -{ - super.image = image; -} - -- (void)setAlphaValue:(CGFloat)alphaValue -{ - [super setAlphaValue:alphaValue]; - [self updateAnimationForPossibleVisibility]; -} - -- (void)viewDidMoveToWindow -{ - [super viewDidMoveToWindow]; - [self updateAnimationForPossibleVisibility]; -} - -- (void)viewDidMoveToSuperview -{ - [super viewDidMoveToSuperview]; - [self updateAnimationForPossibleVisibility]; -} -#else -- (void)setAlpha:(CGFloat)alpha -{ - [super setAlpha:alpha]; - [self updateAnimationForPossibleVisibility]; -} - -- (void)didMoveToWindow -{ - [super didMoveToWindow]; - [self updateAnimationForPossibleVisibility]; -} - -- (void)didMoveToSuperview -{ - [super didMoveToSuperview]; - [self updateAnimationForPossibleVisibility]; -} -#endif - -- (void)setHidden:(BOOL)hidden -{ - [super setHidden:hidden]; - [self updateAnimationForPossibleVisibility]; -} - -#pragma mark - Display Link Callbacks - -- (BOOL)canBeVisible -{ -#if PIN_TARGET_MAC - return self.window && self.superview && self.isHidden == NO && self.alphaValue > 0.0; -#else - return self.window && self.superview && self.isHidden == NO && self.alpha > 0.0; -#endif -} - -- (void)updateAnimationForPossibleVisibility -{ - [self checkIfShouldAnimate]; -} - -- (void)displayLinkFired:(PINDisplayLink *)displayLink -{ - PINAssertMain(); - CFTimeInterval timeBetweenLastFire; - if (_lastDisplayLinkFire == 0) { - timeBetweenLastFire = 0; - } else { - timeBetweenLastFire = CACurrentMediaTime() - self.lastDisplayLinkFire; - } - - self.lastDisplayLinkFire = CACurrentMediaTime(); - - _playHead += timeBetweenLastFire; - - while (_playHead > self.animatedImage.totalDuration) { - // Set playhead to zero to keep from showing different frames on different playthroughs - _playHead = 0; - _playedLoops++; - } - - if (self.animatedImage.loopCount > 0 && _playedLoops >= self.animatedImage.loopCount) { - [self stopAnimating]; - return; - } - - NSUInteger frameIndex = [self frameIndexAtPlayHeadPosition:_playHead]; - if (frameIndex == _lastSuccessfulFrameIndex) { - return; - } - CGImageRef frameImage = [self.animatedImage imageAtIndex:frameIndex]; - - if (frameImage == nil) { - //Pause the display link until we get a file ready notification - displayLink.paused = YES; - self.lastDisplayLinkFire = 0; - } else { - if (_frameImage) { - CGImageRelease(_frameImage); - } - _frameImage = CGImageRetain(frameImage); - _lastSuccessfulFrameIndex = frameIndex; -#if PIN_TARGET_MAC - [self _setImage:[NSImage imageWithCGImage:_frameImage]]; -#else - [self.layer setNeedsDisplay]; -#endif - } -} - -- (void)resetDurationsWithAnimatedImage:(PINCachedAnimatedImage *)animatedImage -{ - PINAssertMain(); - if (!animatedImage) { - return; - } - if (_durations) { - free(_durations); - } - _durations = malloc(sizeof(CFTimeInterval) * animatedImage.frameCount); - CFTimeInterval sum = 0.0f; - for (int i = 0; i < animatedImage.frameCount; i++) { - sum += [animatedImage durationAtIndex:i]; - _durations[i] = sum; - } -} - -- (NSUInteger)frameIndexAtPlayHeadPosition:(CFTimeInterval)playHead -{ - PINAssertMain(); - int low = 0, high = (int)_animatedImage.frameCount - 1; - - while (low <= high) { - int mid = low + (high - low) / 2; - if (_durations[mid] < playHead) { - low = mid + 1; - } else { - high = mid - 1; - } - } - return MAX(MIN(low, (int)_animatedImage.frameCount - 1), 0); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINCachedAnimatedImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINCachedAnimatedImage.h deleted file mode 100644 index b3b66815..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINCachedAnimatedImage.h +++ /dev/null @@ -1,83 +0,0 @@ -// -// PINCachedAnimatedImage.h -// PINRemoteImage -// -// Created by Garrett Moon on 9/17/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import - -#import "PINRemoteImageMacros.h" -#import "PINAnimatedImage.h" - -@interface PINCachedAnimatedImage : NSObject - -- (instancetype)init NS_UNAVAILABLE; -- (instancetype)initWithAnimatedImage:(id )animatedImage NS_DESIGNATED_INITIALIZER; -- (instancetype)initWithAnimatedImageData:(NSData *)animatedImageData; - -/** - @abstract A block which receives the cover image. Should be called when the objects cover image is ready. - */ -@property (nonatomic, readwrite) PINAnimatedImageInfoReady coverImageReadyCallback; - -/** - @abstract Return the objects's cover image. - */ -@property (nonatomic, readonly) PINImage *coverImage; -/** - @abstract Return a boolean to indicate that the cover image is ready. - */ -@property (nonatomic, readonly) BOOL coverImageReady; -/** - @abstract Return the total duration of the animated image's playback. - */ -@property (nonatomic, readonly) CFTimeInterval totalDuration; -/** - @abstract Return the interval at which playback should occur. Will be set to a CADisplayLink's frame interval. - */ -@property (nonatomic, readonly) NSUInteger frameInterval; -/** - @abstract Return the size of the underlying animated image. - */ -@property (nonatomic, readonly) CGSize size; -/** - @abstract Return the total number of loops the animated image should play or 0 to loop infinitely. - */ -@property (nonatomic, readonly) size_t loopCount; -/** - @abstract Return the total number of frames in the animated image. - */ -@property (nonatomic, readonly) size_t frameCount; -/** - @abstract Return the underlying data if available; - */ -@property (nonatomic, readonly) NSData *data; -/** - @abstract Return YES when playback is ready to occur. - */ -@property (nonatomic, readonly) BOOL playbackReady; -/** - @abstract Return any error that has occurred. Playback will be paused if this returns non-nil. - */ -@property (nonatomic, readonly) NSError *error; -/** - @abstract Should be called when playback is ready. - */ -@property (nonatomic, readwrite) dispatch_block_t playbackReadyCallback; - -/** - @abstract Return the image at a given index. - */ -- (CGImageRef)imageAtIndex:(NSUInteger)index; -/** - @abstract Return the duration at a given index. - */ -- (CFTimeInterval)durationAtIndex:(NSUInteger)index; -/** - @abstract Clear any cached data. Called when playback is paused. - */ -- (void)clearAnimatedImageCache; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINCachedAnimatedImage.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINCachedAnimatedImage.m deleted file mode 100644 index 1b4e8070..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINCachedAnimatedImage.m +++ /dev/null @@ -1,523 +0,0 @@ -// -// PINCachedAnimatedImage.m -// PINRemoteImage -// -// Created by Garrett Moon on 9/17/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINCachedAnimatedImage.h" - -#import "PINRemoteLock.h" -#import "PINGIFAnimatedImage.h" -#if PIN_WEBP -#import "PINWebPAnimatedImage.h" -#endif - -#import -#import "NSData+ImageDetectors.h" - -static const NSUInteger kFramesToRenderForLargeFrames = 4; -static const NSUInteger kFramesToRenderMinimum = 2; - -static const CFTimeInterval kSecondsAfterMemWarningToMinimumCache = 1; -static const CFTimeInterval kSecondsAfterMemWarningToLargeCache = 5; -static const CFTimeInterval kSecondsAfterMemWarningToAllCache = 10; -#if PIN_TARGET_IOS -static const CFTimeInterval kSecondsBetweenMemoryWarnings = 15; -#endif - -@interface PINCachedAnimatedImage () -{ - // Since _animatedImage is set on init it is thread-safe. - id _animatedImage; - - PINImage *_coverImage; - PINAnimatedImageInfoReady _coverImageReadyCallback; - dispatch_block_t _playbackReadyCallback; - NSMutableDictionary *_frameCache; - NSInteger _frameRenderCount; // Number of frames to cache until playback is ready. - BOOL _playbackReady; - PINOperationQueue *_operationQueue; - dispatch_queue_t _cachingQueue; - - NSUInteger _playhead; - BOOL _notifyOnReady; - NSMutableIndexSet *_cachedOrCachingFrames; - PINRemoteLock *_lock; - BOOL _cacheCleared; // Flag used to cancel any caching operations after clear cache is called. -} - -@property (atomic, strong) NSDate *lastMemoryWarning; - -// Set to YES if we continually see memory warnings after ramping up the number of cached frames. -@property (atomic, assign) BOOL cachingFramesCausingMemoryWarnings; - -@end - -@implementation PINCachedAnimatedImage - -- (instancetype)initWithAnimatedImageData:(NSData *)animatedImageData -{ - if ([animatedImageData pin_isAnimatedGIF]) { - return [self initWithAnimatedImage:[[PINGIFAnimatedImage alloc] initWithAnimatedImageData:animatedImageData]]; - } -#if PIN_WEBP - if ([animatedImageData pin_isAnimatedWebP]) { - return [self initWithAnimatedImage:[[PINWebPAnimatedImage alloc] initWithAnimatedImageData:animatedImageData]]; - } -#endif - return nil; -} - -- (instancetype)initWithAnimatedImage:(id )animatedImage -{ - if (self = [super init]) { - _animatedImage = animatedImage; - _frameCache = [[NSMutableDictionary alloc] init]; - _frameRenderCount = 0; - _playhead = 0; - _notifyOnReady = YES; - _cachedOrCachingFrames = [[NSMutableIndexSet alloc] init]; - _lock = [[PINRemoteLock alloc] initWithName:@"PINCachedAnimatedImage Lock"]; - -#if PIN_TARGET_IOS - _lastMemoryWarning = [NSDate distantPast]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(didReceiveMemoryWarningNotification:) - name:UIApplicationDidReceiveMemoryWarningNotification - object:nil]; -#endif - - _operationQueue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations:kFramesToRenderForLargeFrames]; - _cachingQueue = dispatch_queue_create("Caching Queue", DISPATCH_QUEUE_SERIAL); - - // dispatch later so that blocks can be set after init this runloop - PINWeakify(self); - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - PINStrongify(self); - [self imageAtIndex:0]; - }); - } - return self; -} - -- (void)dealloc -{ - [[NSNotificationCenter defaultCenter] removeObserver:self]; -} - -#if PIN_TARGET_IOS -- (void)didReceiveMemoryWarningNotification:(NSNotification *)notification -{ - NSDate *now = [NSDate date]; - if (-[self.lastMemoryWarning timeIntervalSinceDate:now] < kSecondsBetweenMemoryWarnings) { - self.cachingFramesCausingMemoryWarnings = YES; - } - self.lastMemoryWarning = now; - [self cleanupFrames]; -} -#endif - -- (PINImage *)coverImage -{ - __block PINImage *coverImage = nil; - __block PINAnimatedImageInfoReady coverImageReadyCallback = nil; - [_lock lockWithBlock:^{ - if (self->_coverImage == nil) { - CGImageRef coverImageRef = [self->_animatedImage imageAtIndex:0 cacheProvider:self]; - BOOL notifyCallback = [self _locked_updateCoverImage:coverImageRef]; - coverImageReadyCallback = notifyCallback ? self->_coverImageReadyCallback : nil; - } - coverImage = self->_coverImage; - }]; - if (coverImageReadyCallback) { - coverImageReadyCallback(coverImage); - } - return coverImage; -} - -// Update _coverImage property and return if it should notify the callback -- (BOOL)_locked_updateCoverImage:(CGImageRef)coverImageRef -{ - BOOL notifyCallback = NO; - if (coverImageRef) { - notifyCallback = (_coverImage == nil && coverImageRef != nil); -#if PIN_TARGET_IOS - _coverImage = [UIImage imageWithCGImage:coverImageRef]; -#elif PIN_TARGET_MAC - _coverImage = [[NSImage alloc] initWithCGImage:coverImageRef size:CGSizeMake(_animatedImage.width, _animatedImage.height)]; -#endif - } else { - _coverImage = nil; - } - return notifyCallback; -} - -- (BOOL)coverImageReady -{ - __block PINImage *coverImage = nil; - __block PINAnimatedImageInfoReady coverImageReadyCallback = nil; - [_lock lockWithBlock:^{ - if (self->_coverImage == nil) { - CGImageRef coverImageRef = (__bridge CGImageRef)[self->_frameCache objectForKey:@(0)]; - if (coverImageRef) { - BOOL notifyCallback = [self _locked_updateCoverImage:coverImageRef]; - coverImageReadyCallback = notifyCallback ? self->_coverImageReadyCallback : nil; - } - } - - coverImage = self->_coverImage; - }]; - if (coverImageReadyCallback) { - coverImageReadyCallback(coverImage); - } - return (coverImage != nil); -} - -#pragma mark - passthrough -- (CGSize)size -{ - return CGSizeMake(_animatedImage.width, _animatedImage.height); -} - -- (NSData *)data -{ - return _animatedImage.data; -} - -- (CFTimeInterval)totalDuration -{ - return _animatedImage.totalDuration; -} - -- (NSUInteger)frameInterval -{ - return _animatedImage.frameInterval; -} - -- (size_t)loopCount -{ - return _animatedImage.loopCount; -} - -- (size_t)frameCount -{ - return _animatedImage.frameCount; -} - -- (NSError *)error -{ - return _animatedImage.error; -} - -- (CGImageRef)imageAtIndex:(NSUInteger)index -{ - __block CGImageRef imageRef; - __block BOOL cachingDisabled = NO; - [_lock lockWithBlock:^{ - // Reset cache cleared flag if it's been set. - self->_cacheCleared = NO; - imageRef = (__bridge CGImageRef)[self->_frameCache objectForKey:@(index)]; - - self->_playhead = index; - if (imageRef == NULL) { - if ([self framesToCache] == 0) { - // We're not caching so we should just generate the frame. - cachingDisabled = YES; - } else { - PINLog(@"cache miss, aww."); - self->_notifyOnReady = YES; - } - } - - // Retain and autorelease while we have the lock, another thread could remove it from the cache - // and allow it to be released. - if (imageRef) { - CGImageRetain(imageRef); - CFAutorelease(imageRef); - } - }]; - - if (cachingDisabled && imageRef == NULL) { - imageRef = [_animatedImage imageAtIndex:index cacheProvider:self]; - } else { - PINWeakify(self); - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - PINStrongify(self); - [self updateCache]; - }); - } - - return imageRef; -} - -- (void)_updateCacheOnQueue -{ - // Kick off, in order, caching frames which need to be cached - NSRange endKeepRange; - NSRange beginningKeepRange; - - [self getKeepRanges:&endKeepRange beginningKeepRange:&beginningKeepRange]; - - [self->_lock lockWithBlock:^{ - for (NSUInteger idx = endKeepRange.location; idx < NSMaxRange(endKeepRange); idx++) { - if ([self->_cachedOrCachingFrames containsIndex:idx] == NO) { - [self _locked_cacheFrame:idx]; - } - } - - if (beginningKeepRange.location != NSNotFound) { - for (NSUInteger idx = beginningKeepRange.location; idx < NSMaxRange(beginningKeepRange); idx++) { - if ([self->_cachedOrCachingFrames containsIndex:idx] == NO) { - [self _locked_cacheFrame:idx]; - } - } - } - }]; -} - -- (void)updateCache -{ - PINWeakify(self); - // skip if we don't have any frames to cache - if ([self framesToCache] > 0) { - [_operationQueue scheduleOperation:^{ - PINStrongify(self); - [self _updateCacheOnQueue]; - }]; - } - - [_operationQueue scheduleOperation:^{ - PINStrongify(self); - [self cleanupFrames]; - }]; -} - -- (void)getKeepRanges:(nonnull out NSRange *)endKeepRangeIn beginningKeepRange:(nonnull out NSRange *)beginningKeepRangeIn -{ - __block NSRange endKeepRange; - __block NSRange beginningKeepRange; - - NSUInteger framesToCache = [self framesToCache]; - - [self->_lock lockWithBlock:^{ - // find the range of frames we want to keep - endKeepRange = NSMakeRange(self->_playhead, framesToCache); - beginningKeepRange = NSMakeRange(NSNotFound, 0); - if (NSMaxRange(endKeepRange) > self->_animatedImage.frameCount) { - beginningKeepRange = NSMakeRange(0, NSMaxRange(endKeepRange) - self->_animatedImage.frameCount); - endKeepRange.length = self->_animatedImage.frameCount - self->_playhead; - } - }]; - - if (endKeepRangeIn) { - *endKeepRangeIn = endKeepRange; - } - if (beginningKeepRangeIn) { - *beginningKeepRangeIn = beginningKeepRange; - } -} - -- (void)cleanupFrames -{ - NSRange endKeepRange; - NSRange beginningKeepRange; - [self getKeepRanges:&endKeepRange beginningKeepRange:&beginningKeepRange]; - - [_lock lockWithBlock:^{ - NSMutableIndexSet *removedFrames = [[NSMutableIndexSet alloc] init]; - PINLog(@"Checking if frames need removing: %lu", _cachedOrCachingFrames.count); - [self->_cachedOrCachingFrames enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL * _Nonnull stop) { - BOOL shouldKeepFrame = NSLocationInRange(idx, endKeepRange); - if (beginningKeepRange.location != NSNotFound) { - shouldKeepFrame |= NSLocationInRange(idx, beginningKeepRange); - } - if (shouldKeepFrame == NO) { - [removedFrames addIndex:idx]; - [self->_frameCache removeObjectForKey:@(idx)]; - PINLog(@"Removing: %lu", (unsigned long)idx); - } - }]; - [self->_cachedOrCachingFrames removeIndexes:removedFrames]; - }]; -} - -- (void)_cacheWithFrameIndex:(NSUInteger)frameIndex -{ - CGImageRef imageRef = [self->_animatedImage imageAtIndex:frameIndex cacheProvider:self]; - PINLog(@"Generating: %lu", (unsigned long)frameIndex); - - if (imageRef) { - __block PINImage *coverImage = nil; - __block PINAnimatedImageInfoReady coverImageReadyCallback = nil; - [self->_lock lockWithBlock:^{ - [self->_frameCache setObject:(__bridge id _Nonnull)(imageRef) forKey:@(frameIndex)]; - - // Update the cover image - if (frameIndex == 0) { - BOOL notifyCallback = [self _locked_updateCoverImage:imageRef]; - coverImageReadyCallback = notifyCallback ? self->_coverImageReadyCallback : nil; - coverImage = self->_coverImage; - } - - self->_frameRenderCount--; - NSAssert(self->_frameRenderCount >= 0, @"playback ready is less than zero, something is wrong :("); - - PINLog(@"Frames left: %ld", (long)_frameRenderCount); - - dispatch_block_t notify = nil; - if (self->_frameRenderCount == 0 && self->_notifyOnReady) { - self->_notifyOnReady = NO; - if (self->_playbackReadyCallback) { - notify = self->_playbackReadyCallback; - [self->_operationQueue scheduleOperation:^{ - notify(); - }]; - } - } - }]; - if (coverImageReadyCallback) { - coverImageReadyCallback(coverImage); - } - } -} - -- (void)_locked_cacheFrame:(NSUInteger)frameIndex -{ - if ([_cachedOrCachingFrames containsIndex:frameIndex] == NO && _cacheCleared == NO) { - PINLog(@"Requesting: %lu", (unsigned long)frameIndex); - [_cachedOrCachingFrames addIndex:frameIndex]; - _frameRenderCount++; - - PINWeakify(self); - dispatch_async(_cachingQueue, ^{ - PINStrongify(self); - [self _cacheWithFrameIndex:frameIndex]; - }); - } -} - -// Returns the number of frames that should be cached -- (NSUInteger)framesToCache -{ - unsigned long long totalBytes = [NSProcessInfo processInfo].physicalMemory; - NSUInteger framesToCache = 0; - - NSUInteger frameCost = _animatedImage.bytesPerFrame; - if (frameCost * _animatedImage.frameCount < totalBytes / 250) { - // If the total number of bytes takes up less than a 250th of total memory, lets just cache 'em all. - framesToCache = _animatedImage.frameCount; - } else if (frameCost < totalBytes / 1000) { - // If the cost of a frame is less than 1000th of physical memory, cache 4 frames to smooth animation. - framesToCache = kFramesToRenderForLargeFrames; - } else if (frameCost < totalBytes / 500) { - // Oooph, lets just try to get ahead of things by one. - framesToCache = kFramesToRenderMinimum; - } else { - // No caching :( - framesToCache = 0; - } - - // If it's been less than 5 seconds, we're not caching - CFTimeInterval timeSinceLastWarning = -[self.lastMemoryWarning timeIntervalSinceNow]; - if (self.cachingFramesCausingMemoryWarnings || timeSinceLastWarning < kSecondsAfterMemWarningToMinimumCache) { - framesToCache = 0; - } else if (timeSinceLastWarning < kSecondsAfterMemWarningToLargeCache) { - framesToCache = MIN(framesToCache, kFramesToRenderMinimum); - } else if (timeSinceLastWarning < kSecondsAfterMemWarningToAllCache) { - framesToCache = MIN(framesToCache, kFramesToRenderForLargeFrames); - } - - return framesToCache; -} - -- (CFTimeInterval)durationAtIndex:(NSUInteger)index -{ - return [_animatedImage durationAtIndex:index]; -} - -- (BOOL)playbackReady -{ - __block BOOL playbackReady = NO; - [_lock lockWithBlock:^{ - if (self->_playbackReady == NO) { - self->_playbackReady = self->_frameRenderCount == 0; - } - playbackReady = self->_playbackReady; - }]; - return playbackReady; -} - -- (dispatch_block_t)playbackReadyCallback -{ - __block dispatch_block_t playbackReadyCallback = nil; - [_lock lockWithBlock:^{ - playbackReadyCallback = self->_playbackReadyCallback; - }]; - return playbackReadyCallback; -} - -- (void)setPlaybackReadyCallback:(dispatch_block_t)playbackReadyCallback -{ - [_lock lockWithBlock:^{ - self->_playbackReadyCallback = playbackReadyCallback; - }]; -} - -- (PINAnimatedImageInfoReady)coverImageReadyCallback -{ - __block PINAnimatedImageInfoReady coverImageReadyCallback; - [_lock lockWithBlock:^{ - coverImageReadyCallback = self->_coverImageReadyCallback; - }]; - return coverImageReadyCallback; -} - -- (void)setCoverImageReadyCallback:(PINAnimatedImageInfoReady)coverImageReadyCallback -{ - [_lock lockWithBlock:^{ - self->_coverImageReadyCallback = coverImageReadyCallback; - }]; -} - -- (void)_clearAnimatedImageCache -{ - [self->_lock lockWithBlock:^{ - self->_cacheCleared = YES; - self->_coverImage = nil; - [self->_cachedOrCachingFrames enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL * _Nonnull stop) { - [self->_frameCache removeObjectForKey:@(idx)]; - }]; - [self->_cachedOrCachingFrames removeAllIndexes]; - }]; -} - -/** - @abstract Clear any cached data. Called when playback is paused. - */ -- (void)clearAnimatedImageCache -{ - PINWeakify(self); - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - PINStrongify(self); - [self _clearAnimatedImageCache]; - }); -} - -# pragma mark - PINCachedAnimatedFrameProvider - -- (CGImageRef)cachedFrameImageAtIndex:(NSUInteger)index -{ - __block CGImageRef imageRef; - [_lock lockWithBlock:^{ - imageRef = (__bridge CGImageRef)[self->_frameCache objectForKey:@(index)]; - if (imageRef) { - CGImageRetain(imageRef); - CFAutorelease(imageRef); - } - }]; - return imageRef; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINGIFAnimatedImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINGIFAnimatedImage.h deleted file mode 100644 index e106f9e4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINGIFAnimatedImage.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// PINGIFAnimatedImage.h -// PINRemoteImage -// -// Created by Garrett Moon on 9/17/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import - -#import "PINAnimatedImage.h" - -@interface PINGIFAnimatedImage : PINAnimatedImage - -- (instancetype)init NS_UNAVAILABLE; -- (instancetype)initWithAnimatedImageData:(NSData *)animatedImageData NS_DESIGNATED_INITIALIZER; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINGIFAnimatedImage.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINGIFAnimatedImage.m deleted file mode 100644 index 2b5016f9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINGIFAnimatedImage.m +++ /dev/null @@ -1,166 +0,0 @@ -// -// PINGIFAnimatedImage.m -// PINRemoteImage -// -// Created by Garrett Moon on 9/17/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINGIFAnimatedImage.h" - -#import -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -#import "PINImage+DecodedImage.h" -#import "NSData+ImageDetectors.h" - -@interface PINGIFAnimatedImage () -{ - NSData *_animatedImageData; - CGImageSourceRef _imageSource; - uint32_t _width; - uint32_t _height; - BOOL _hasAlpha; - size_t _frameCount; - size_t _loopCount; - CFTimeInterval *_durations; - NSError *_error; -} -@end - -@implementation PINGIFAnimatedImage - -- (instancetype)initWithAnimatedImageData:(NSData *)animatedImageData -{ - if (self = [super init]) { - _animatedImageData = animatedImageData; - _imageSource = - CGImageSourceCreateWithData((CFDataRef)animatedImageData, - (CFDictionaryRef)@{(__bridge NSString *)kCGImageSourceTypeIdentifierHint: - (__bridge NSString *)kUTTypeGIF, - (__bridge NSString *)kCGImageSourceShouldCache: - (__bridge NSNumber *)kCFBooleanFalse}); - if (_imageSource && [animatedImageData pin_isGIF]) { - _frameCount = (uint32_t)CGImageSourceGetCount(_imageSource); - NSDictionary *imageProperties = (__bridge_transfer NSDictionary *)CGImageSourceCopyProperties(_imageSource, nil); - _loopCount = (uint32_t)[[[imageProperties objectForKey:(__bridge NSString *)kCGImagePropertyGIFDictionary] - objectForKey:(__bridge NSString *)kCGImagePropertyGIFLoopCount] unsignedLongValue]; - _durations = malloc(sizeof(CFTimeInterval) * _frameCount); - imageProperties = (__bridge_transfer NSDictionary *) - CGImageSourceCopyPropertiesAtIndex(_imageSource, - 0, - (CFDictionaryRef)@{(__bridge NSString *)kCGImageSourceShouldCache: - (__bridge NSNumber *)kCFBooleanFalse}); - _width = (uint32_t)[(NSNumber *)imageProperties[(__bridge NSString *)kCGImagePropertyPixelWidth] unsignedIntegerValue]; - _height = (uint32_t)[(NSNumber *)imageProperties[(__bridge NSString *)kCGImagePropertyPixelHeight] unsignedIntegerValue]; - - for (NSUInteger frameIdx = 0; frameIdx < _frameCount; frameIdx++) { - _durations[frameIdx] = [PINGIFAnimatedImage frameDurationAtIndex:frameIdx source:_imageSource]; - } - } else { - return nil; - } - } - return self; -} - -+ (Float32)frameDurationAtIndex:(NSUInteger)index source:(CGImageSourceRef)source -{ - Float32 frameDuration = kPINAnimatedImageDefaultDuration; - NSDictionary *frameProperties = (__bridge_transfer NSDictionary *)CGImageSourceCopyPropertiesAtIndex(source, index, nil); - // use unclamped delay time before delay time before default - NSNumber *unclamedDelayTime = frameProperties[(__bridge NSString *)kCGImagePropertyGIFDictionary][(__bridge NSString *)kCGImagePropertyGIFUnclampedDelayTime]; - if (unclamedDelayTime != nil) { - frameDuration = [unclamedDelayTime floatValue]; - } else { - NSNumber *delayTime = frameProperties[(__bridge NSString *)kCGImagePropertyGIFDictionary][(__bridge NSString *)kCGImagePropertyGIFDelayTime]; - if (delayTime != nil) { - frameDuration = [delayTime floatValue]; - } - } - - static dispatch_once_t onceToken; - static Float32 maximumFrameDuration; - dispatch_once(&onceToken, ^{ - maximumFrameDuration = 1.0 / [PINAnimatedImage maximumFramesPerSecond]; - }); - - if (frameDuration < maximumFrameDuration) { - frameDuration = kPINAnimatedImageDefaultDuration; - } - - return frameDuration; -} - -- (void)dealloc -{ - if (_imageSource) { - CFRelease(_imageSource); - } - if (_durations) { - free(_durations); - } -} - -- (NSData *)data -{ - return _animatedImageData; -} - -- (size_t)frameCount -{ - return _frameCount; -} - -- (size_t)loopCount -{ - return _loopCount; -} - -- (uint32_t)width -{ - return _width; -} - -- (uint32_t)height -{ - return _height; -} - -- (uint32_t)bytesPerFrame -{ - return _width * _height * 4; -} - -- (NSError *)error -{ - return _error; -} - -- (CFTimeInterval)durationAtIndex:(NSUInteger)index -{ - return _durations[index]; -} - -- (CGImageRef)imageAtIndex:(NSUInteger)index cacheProvider:(nullable id)cacheProvider -{ - // I believe this is threadsafe as CGImageSource *seems* immutable… - CGImageRef imageRef = - CGImageSourceCreateImageAtIndex(_imageSource, - index, - (CFDictionaryRef)@{(__bridge NSString *)kCGImageSourceShouldCache: - (__bridge NSNumber *)kCFBooleanFalse}); - if (imageRef) { - CGImageRef decodedImageRef = [PINImage pin_decodedImageRefWithCGImageRef:imageRef]; - CGImageRelease(imageRef); - imageRef = decodedImageRef; - } - - return imageRef; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINWebPAnimatedImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINWebPAnimatedImage.h deleted file mode 100644 index 6bad969e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINWebPAnimatedImage.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// PINWebPAnimatedImage.h -// PINRemoteImage -// -// Created by Garrett Moon on 9/14/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import -#import - -#import "PINAnimatedImage.h" - -@interface PINWebPAnimatedImage : PINAnimatedImage - -- (instancetype)init NS_UNAVAILABLE; -- (instancetype)initWithAnimatedImageData:(NSData *)animatedImageData NS_DESIGNATED_INITIALIZER; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINWebPAnimatedImage.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINWebPAnimatedImage.m deleted file mode 100644 index 32b53ba9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/AnimatedImages/PINWebPAnimatedImage.m +++ /dev/null @@ -1,399 +0,0 @@ -// -// PINWebPAnimatedImage.m -// PINRemoteImage -// -// Created by Garrett Moon on 9/14/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#if PIN_WEBP - -#import "PINWebPAnimatedImage.h" - -#import "NSData+ImageDetectors.h" - -#import "demux.h" - -@interface PINWebPAnimatedImage () -{ - NSData *_animatedImageData; - WebPData _underlyingData; - WebPDemuxer *_demux; - CGImageRef previousFrame; - uint32_t _width; - uint32_t _height; - BOOL _hasAlpha; - size_t _frameCount; - size_t _loopCount; - CGColorRef _backgroundColor; - CFTimeInterval *_durations; - NSError *_error; -} - -@end - -static void releaseData(void *info, const void *data, size_t size) -{ - WebPFree((void *)data); -} - -@implementation PINWebPAnimatedImage - -- (instancetype)initWithAnimatedImageData:(NSData *)animatedImageData -{ - if (self = [super init]) { - _animatedImageData = animatedImageData; - _underlyingData.bytes = [animatedImageData bytes]; - _underlyingData.size = [animatedImageData length]; - _demux = WebPDemux(&_underlyingData); - - if (_demux != NULL) { - _width = WebPDemuxGetI(_demux, WEBP_FF_CANVAS_WIDTH); - _height = WebPDemuxGetI(_demux, WEBP_FF_CANVAS_HEIGHT); - _frameCount = WebPDemuxGetI(_demux, WEBP_FF_FRAME_COUNT); - _loopCount = WebPDemuxGetI(_demux, WEBP_FF_LOOP_COUNT); - uint32_t flags = WebPDemuxGetI(_demux, WEBP_FF_FORMAT_FLAGS); - _hasAlpha = flags & ALPHA_FLAG; - _durations = malloc(sizeof(CFTimeInterval) * _frameCount); - - uint32_t backgroundColorInt = WebPDemuxGetI(_demux, WEBP_FF_BACKGROUND_COLOR); - CGColorSpaceRef rgbColorSpace = CGColorSpaceCreateDeviceRGB(); - CGFloat components[4]; - components[0] = (CGFloat)(((backgroundColorInt & 0xFF000000) >> 24)/255.0); - components[1] = (CGFloat)(((backgroundColorInt & 0x00FF0000) >> 16)/255.0); - components[2] = (CGFloat)(((backgroundColorInt & 0x0000FF00) >> 8)/255.0); - components[3] = (CGFloat)((backgroundColorInt & 0x000000FF)/255.0); - _backgroundColor = CGColorCreate(rgbColorSpace, components); - CGColorSpaceRelease(rgbColorSpace); - - // Iterate over the frames to gather duration - WebPIterator iter; - if (WebPDemuxGetFrame(_demux, 1, &iter)) { - do { - CFTimeInterval duration = iter.duration / 1000.0; - static dispatch_once_t onceToken; - static CFTimeInterval maximumDuration; - dispatch_once(&onceToken, ^{ - maximumDuration = 1.0 / [PINAnimatedImage maximumFramesPerSecond]; - }); - if (duration < maximumDuration) { - duration = kPINAnimatedImageDefaultDuration; - } - _durations[iter.frame_num - 1] = duration; - } while (WebPDemuxNextFrame(&iter)); - WebPDemuxReleaseIterator(&iter); - } - } else { - return nil; - } - } - return self; -} - -- (void)dealloc -{ - if (_demux) { - WebPDemuxDelete(_demux); - } - if (_durations) { - free(_durations); - } - if (_backgroundColor) { - CGColorRelease(_backgroundColor); - } -} - -- (NSData *)data -{ - return _animatedImageData; -} - -- (size_t)frameCount -{ - return _frameCount; -} - -- (size_t)loopCount -{ - return _loopCount; -} - -- (uint32_t)width -{ - return _width; -} - -- (uint32_t)height -{ - return _height; -} - -- (uint32_t)bytesPerFrame -{ - return _width * _height * (_hasAlpha ? 4 : 3); -} - -- (NSError *)error -{ - return _error; -} - -- (CFTimeInterval)durationAtIndex:(NSUInteger)index -{ - return _durations[index]; -} - -- (CGImageRef)canvasWithPreviousFrame:(CGImageRef)previousFrame - previousFrameRect:(CGRect)previousFrameRect - clearPreviousFrame:(BOOL)clearPreviousFrame - backgroundColor:(CGColorRef)backgroundColor - image:(CGImageRef)image - clearCurrentFrame:(BOOL)clearCurrentFrame - atRect:(CGRect)rect -{ - CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB(); - CGContextRef context = CGBitmapContextCreate(NULL, - _width, - _height, - 8, - 0, - colorSpaceRef, - _hasAlpha ? kCGImageAlphaPremultipliedFirst : kCGImageAlphaNone); - if (backgroundColor) { - CGContextSetFillColorWithColor(context, backgroundColor); - } - - if (previousFrame) { - CGContextDrawImage(context, CGRectMake(0, 0, _width, _height), previousFrame); - if (clearPreviousFrame) { - CGContextFillRect(context, previousFrameRect); - } - } - - if (image) { - CGRect currentRect = CGRectMake(rect.origin.x, _height - rect.size.height - rect.origin.y, rect.size.width, rect.size.height); - if (clearCurrentFrame) { - CGContextFillRect(context, currentRect); - } - CGContextDrawImage(context, currentRect, image); - } - - CGImageRef canvas = CGBitmapContextCreateImage(context); - if (canvas) { - CFAutorelease(canvas); - } - CGContextRelease(context); - CGColorSpaceRelease(colorSpaceRef); - - return canvas; -} - -- (CGImageRef)rawImageWithIterator:(WebPIterator)iterator -{ - CGImageRef imageRef = NULL; - uint8_t *data = NULL; - int pixelLength = 0; - - if (iterator.has_alpha) { - data = WebPDecodeRGBA(iterator.fragment.bytes, iterator.fragment.size, NULL, NULL); - pixelLength = 4; - } else { - data = WebPDecodeRGB(iterator.fragment.bytes, iterator.fragment.size, NULL, NULL); - pixelLength = 3; - } - - if (data) { - CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, data, iterator.width * iterator.height * pixelLength, releaseData); - - CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB(); - CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault; - - if (iterator.has_alpha) { - bitmapInfo |= kCGImageAlphaLast; - } else { - bitmapInfo |= kCGImageAlphaNone; - } - - CGColorRenderingIntent renderingIntent = kCGRenderingIntentDefault; - imageRef = CGImageCreate(iterator.width, - iterator.height, - 8, - 8 * pixelLength, - pixelLength * iterator.width, - colorSpaceRef, - bitmapInfo, - provider, - NULL, - NO, - renderingIntent); - - CGColorSpaceRelease(colorSpaceRef); - CGDataProviderRelease(provider); - } - - if (imageRef) { - CFAutorelease(imageRef); - } - - return imageRef; -} - -- (CGImageRef)imageAtIndex:(NSUInteger)index cacheProvider:(nullable id)cacheProvider -{ - PINLog(@"Drawing webp image at index: %lu", (unsigned long)index); - // This all *appears* to be threadsafe as I believe demux is immutable… - WebPIterator iterator, previousIterator; - - if (index > 0) { - if (WebPDemuxGetFrame(_demux, (int)index, &previousIterator) == NO) { - return nil; - } - } - if (WebPDemuxGetFrame(_demux, (int)index + 1, &iterator) == NO) { - return nil; - } - - BOOL isKeyFrame = [self isKeyFrame:&iterator previousIterator:(index > 0) ? &previousIterator : nil]; - - CGImageRef imageRef = [self rawImageWithIterator:iterator]; - CGImageRef canvas = NULL; - - if (imageRef) { - if (isKeyFrame) { - // If the current frame is a keyframe, we can just copy it into a blank - // canvas. - if (iterator.x_offset == 0 && iterator.y_offset == 0 && iterator.width == _width && iterator.height == _height) { - // Output will be the same size as the canvas, just return it directly. - canvas = imageRef; - } else { - canvas = [self canvasWithPreviousFrame:nil - previousFrameRect:CGRectZero - clearPreviousFrame:NO - backgroundColor:_backgroundColor - image:imageRef - clearCurrentFrame:iterator.blend_method == WEBP_MUX_NO_BLEND - atRect:CGRectMake(iterator.x_offset, iterator.y_offset, iterator.width, iterator.height)]; - } - } else { - // If we have a cached image provider, try to get the last frame from them - CGImageRef previousFrame = [cacheProvider cachedFrameImageAtIndex:index - 1]; - if (previousFrame) { - // We need an iterator from the previous frame to dispose to background if - // necessary. - WebPDemuxReleaseIterator(&previousIterator); - WebPDemuxGetFrame(_demux, (int)index, &previousIterator); - CGRect previousFrameRect = CGRectMake(previousIterator.x_offset, _height - previousIterator.height - previousIterator.y_offset, previousIterator.width, previousIterator.height); - canvas = [self canvasWithPreviousFrame:previousFrame - previousFrameRect:previousFrameRect - clearPreviousFrame:previousIterator.dispose_method == WEBP_MUX_DISPOSE_BACKGROUND - backgroundColor:_backgroundColor - image:imageRef - clearCurrentFrame:iterator.blend_method == WEBP_MUX_NO_BLEND - atRect:CGRectMake(iterator.x_offset, iterator.y_offset, iterator.width, iterator.height)]; - } else if (index > 0) { - // Sadly, we need to draw *all* the frames from the previous key frame previousIterator to the current one :( - CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB(); - CGContextRef context = CGBitmapContextCreate(NULL, - _width, - _height, - 8, - 0, - colorSpaceRef, - _hasAlpha ? kCGImageAlphaPremultipliedFirst : kCGImageAlphaNone); - CGContextSetFillColorWithColor(context, _backgroundColor); - - while (previousIterator.frame_num <= iterator.frame_num) { - CGImageRef previousFrame = [self rawImageWithIterator:previousIterator]; - if (previousFrame) { - CGRect previousFrameRect = CGRectMake(previousIterator.x_offset, _height - previousIterator.height - previousIterator.y_offset, previousIterator.width, previousIterator.height); - if (previousIterator.blend_method == WEBP_MUX_NO_BLEND) { - CGContextFillRect(context, previousFrameRect); - } - - if (previousIterator.frame_num == iterator.frame_num) { - CGContextDrawImage(context, previousFrameRect, previousFrame); - // We have to break here because we're not getting the next frame! Basically - // the while loop is a sham and only here to illustrate what we want to iterate. - break; - } else { - if (previousIterator.dispose_method == WEBP_MUX_DISPOSE_BACKGROUND) { - CGContextFillRect(context, previousFrameRect); - } else { - CGContextDrawImage(context, previousFrameRect, previousFrame); - } - WebPDemuxNextFrame(&previousIterator); - } - } - } - - canvas = CGBitmapContextCreateImage(context); - if (canvas) { - CFAutorelease(canvas); - } - CGContextRelease(context); - CGColorSpaceRelease(colorSpaceRef); - } - } - } - - WebPDemuxReleaseIterator(&iterator); - if (index > 0) { - WebPDemuxReleaseIterator(&previousIterator); - } - - return canvas; -} - -// Checks to see if the iterator is a 'key frame' without taking previous frames into -// account. -- (BOOL)helperIsKeyFrame:(WebPIterator *)iterator -{ - if (iterator->frame_num == 1) { - //The first frame is always a key frame - return YES; - } else if ((iterator->has_alpha == NO || iterator->blend_method == WEBP_MUX_NO_BLEND) && iterator->width == _width && iterator->height == _height) { - //If the current frame has no alpha, or we're instructed not to blend, just make sure this fills the canvas. - return YES; - } - return NO; -} - -// Checks if the iterator is at a 'key frame' and rewinds previousIterator back to the last -// key frame if it's not. If this frame *is* a keyframe, the previousIterator's position is undefined. -// This takes previous frames into account to determine if the current frame is key. -- (BOOL)isKeyFrame:(WebPIterator *)iterator previousIterator:(WebPIterator *)previousIterator -{ - if ([self helperIsKeyFrame:iterator]) { - // Check if we're a key frame regardless of previous frame. - return YES; - } - - if (previousIterator == nil) { - return NO; - } - - BOOL previousFrameMadeThisKeyFrame = previousIterator->dispose_method == WEBP_MUX_DISPOSE_BACKGROUND; - BOOL foundKeyframe = NO; - while (foundKeyframe == NO) { - if ([self helperIsKeyFrame:previousIterator] || - (previousIterator->dispose_method == WEBP_MUX_DISPOSE_BACKGROUND && previousIterator->width == _width && previousIterator->height == _height)) { - foundKeyframe = YES; - } else { - // we need to rewind previous back to see if it was a keyframe - WebPDemuxPrevFrame(previousIterator); - if (previousIterator->dispose_method == WEBP_MUX_DISPOSE_BACKGROUND) { - // need to check previous frame - continue; - } else { - previousFrameMadeThisKeyFrame = NO; - continue; - } - } - } - - return previousFrameMadeThisKeyFrame; -} - -@end - -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSData+ImageDetectors.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSData+ImageDetectors.h deleted file mode 100644 index b5d91d9f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSData+ImageDetectors.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// NSData+ImageDetectors.h -// Pods -// -// Created by Garrett Moon on 11/19/14. -// -// - -#import - -#import "PINRemoteImageMacros.h" - -@interface NSData (PINImageDetectors) - -- (BOOL)pin_isGIF; -- (BOOL)pin_isAnimatedGIF; -#if PIN_WEBP -- (BOOL)pin_isWebP; -- (BOOL)pin_isAnimatedWebP; -#endif - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSData+ImageDetectors.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSData+ImageDetectors.m deleted file mode 100644 index f290b88f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSData+ImageDetectors.m +++ /dev/null @@ -1,135 +0,0 @@ -// -// NSData+ImageDetectors.m -// Pods -// -// Created by Garrett Moon on 11/19/14. -// -// - -#import "NSData+ImageDetectors.h" - -#if PIN_WEBP -#import "webp/demux.h" -#endif - -@implementation NSData (PINImageDetectors) - -- (BOOL)pin_isGIF -{ - const NSInteger length = 3; - Byte firstBytes[length]; - if ([self length] >= length) { - [self getBytes:&firstBytes length:length]; - //G, I, F - if (firstBytes[0] == 0x47 && firstBytes[1] == 0x49 && firstBytes[2] == 0x46) { - return YES; - } - } - return NO; -} - -#define BREAK_IF_INVALID(position) if (position >= length) break; - -static inline BOOL advancePositionWithCount(NSUInteger *position, NSUInteger length, NSUInteger count) -{ - if (*position + count >= length) { - return NO; - } - *position = *position + count; - - return YES; -} - -static inline BOOL advancePositionWithBytes(NSUInteger *position, Byte *bytes, NSUInteger length, NSUInteger count) -{ - BOOL readAgain; - do { - readAgain = NO; - if (*position + count >= length ) { - return NO; - } - *position = *position + count; - NSUInteger bytesToAdvance = *(bytes + *position); - if (bytesToAdvance == 0xFF) { - readAgain = YES; - count = 0; - } - // Advance the byte read as well. - bytesToAdvance++; - - if (*position + bytesToAdvance >= length) { - return NO; - } - *position = *position + bytesToAdvance; - } while (readAgain); - - return YES; -} - -- (BOOL)pin_isAnimatedGIF -{ - if ([self pin_isGIF] == NO) { - return NO; - } - - Byte *bytes = (Byte *)self.bytes; - NSUInteger length = self.length; - NSUInteger position = 0; - NSUInteger GCECount = 0; - - while (bytes && position < length) { - // Look for Graphic Control Extension - if (*(bytes + position) == 0x21) { - if (!advancePositionWithCount(&position, length, 1)) break; - if (*(bytes + position) == 0xF9) { - GCECount++; - if (GCECount > 1) { - break; - } - // Found GCE, advance to image. Next byte is size of GCE - if (!advancePositionWithBytes(&position, bytes, length, 1)) break; - // Advance 1 for 00 at the end of GCE - if (!advancePositionWithCount(&position, length, 1)) break; - // Advance image descriptor - if (!advancePositionWithCount(&position, length, 11)) break; - // Advance image - if (!advancePositionWithBytes(&position, bytes, length, 0)) break; - // Advance 1 for 00 at the end of image - if (!advancePositionWithCount(&position, length, 1)) break; - } - continue; - } - if (!advancePositionWithCount(&position, length, 1)) break; - } - - return GCECount > 1; -} - -#if PIN_WEBP -- (BOOL)pin_isWebP -{ - const NSInteger length = 12; - Byte firstBytes[length]; - if ([self length] >= length) { - [self getBytes:&firstBytes length:length]; - //R, I, F, F, -, -, -, -, W, E, B, P - if (firstBytes[0] == 0x52 && firstBytes[1] == 0x49 && firstBytes[2] == 0x46 && firstBytes[3] == 0x46 && firstBytes[8] == 0x57 && firstBytes[9] == 0x45 && firstBytes[10] == 0x42 && firstBytes[11] == 0x50) { - return YES; - } - } - return NO; -} - -- (BOOL)pin_isAnimatedWebP -{ - WebPBitstreamFeatures features; - if (WebPGetFeatures([self bytes], [self length], &features) == VP8_STATUS_OK) { - return features.has_animation; - } - - return NO; -} - -#endif - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSHTTPURLResponse+MaxAge.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSHTTPURLResponse+MaxAge.h deleted file mode 100644 index a1453726..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSHTTPURLResponse+MaxAge.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// NSHTTPURLResponse+MaxAge.m -// -// Created by Kevin Smith on 6/15/18. -// -// - -#import - -@interface NSHTTPURLResponse (MaxAge) - -- (NSNumber *)findMaxAge; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSHTTPURLResponse+MaxAge.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSHTTPURLResponse+MaxAge.m deleted file mode 100644 index 6acdcc95..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/NSHTTPURLResponse+MaxAge.m +++ /dev/null @@ -1,71 +0,0 @@ -// -// NSHTTPURLResponse+MaxAge.m -// -// Created by Kevin Smith on 6/15/18. -// -// - -#import "NSHTTPURLResponse+MaxAge.h" - -@implementation NSHTTPURLResponse (MaxAge) - -static NSDateFormatter *sharedFormatter; -static dispatch_once_t sharedFormatterToken; - -+ (NSDateFormatter *)RFC7231PreferredDateFormatter -{ - dispatch_once(&sharedFormatterToken, ^{ - NSLocale *enUSPOSIXLocale; - - sharedFormatter = [[NSDateFormatter alloc] init]; - - enUSPOSIXLocale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]; - - [sharedFormatter setLocale:enUSPOSIXLocale]; - [sharedFormatter setDateFormat:@"E, d MMM yyyy HH:mm:ss Z"]; - - }); - return sharedFormatter; -} - -- (NSNumber *)findMaxAge -{ - NSDictionary * headerFields = [self allHeaderFields]; - NSNumber *maxAge = nil; - - for (NSString * component in [headerFields[@"Cache-Control"] componentsSeparatedByString:@","]) { - NSString * trimmed = [[component stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] lowercaseString]; - - if ([trimmed isEqualToString:@"no-store"] || [trimmed isEqualToString:@"must-revalidate"] || [trimmed isEqualToString:@"no-cache"]) { - maxAge = @(0); - break; - } else { - // max-age - NSArray * split = [trimmed componentsSeparatedByString:@"max-age="]; - if ([split count] == 2) { - // if the max-age provided is invalid (does not parse into an - // int), we wind up with 0 which will be treated as do-not-cache. - // This is the RFC defined behavior for a malformed "expires" header, - // and while I cannot find any explicit instruction of how to behave - // with a malformed "max-age" header, it seems like a reasonable approach. - maxAge = @([split[1] integerValue]); - } else if ([split count] > 2) { - // very weird case "maxage=maxage=123" - maxAge = @(0); - } - } - } - - // If there is a Cache-Control header with the "max-age" directive in the response, the Expires header is ignored. - if (!maxAge && headerFields[@"Expires"]) { - NSString * expires = headerFields[@"Expires"]; - NSDate * date = [[NSHTTPURLResponse RFC7231PreferredDateFormatter] dateFromString:expires]; - - // Invalid dates (notably "0") or dates in the past must not be cached (RFC7231 5.3) - maxAge = @((NSInteger) MAX(([date timeIntervalSinceNow]), 0)); - } - - return maxAge; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+DecodedImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+DecodedImage.h deleted file mode 100644 index 08d0e5a0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+DecodedImage.h +++ /dev/null @@ -1,44 +0,0 @@ -// -// UIImage+DecodedImage.h -// Pods -// -// Created by Garrett Moon on 11/19/14. -// -// - -#import - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -#if !PIN_TARGET_IOS -@interface NSImage (PINiOSMapping) - -@property(nonatomic, readonly, nullable) CGImageRef CGImage; - -+ (nullable NSImage *)imageWithData:(nonnull NSData *)imageData; -+ (nullable NSImage *)imageWithContentsOfFile:(nonnull NSString *)path; -+ (nonnull NSImage *)imageWithCGImage:(nonnull CGImageRef)imageRef; - -@end -#endif - -NSData * __nullable PINImageJPEGRepresentation(PINImage * __nonnull image, CGFloat compressionQuality); -NSData * __nullable PINImagePNGRepresentation(PINImage * __nonnull image); - -@interface PINImage (PINDecodedImage) - -+ (nullable PINImage *)pin_decodedImageWithData:(nonnull NSData *)data; -+ (nullable PINImage *)pin_decodedImageWithData:(nonnull NSData *)data skipDecodeIfPossible:(BOOL)skipDecodeIfPossible; -+ (nullable PINImage *)pin_decodedImageWithCGImageRef:(nonnull CGImageRef)imageRef; -#if PIN_TARGET_IOS -+ (nullable PINImage *)pin_decodedImageWithCGImageRef:(nonnull CGImageRef)imageRef orientation:(UIImageOrientation) orientation; -#endif -+ (nullable CGImageRef)pin_decodedImageRefWithCGImageRef:(nonnull CGImageRef)imageRef; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+DecodedImage.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+DecodedImage.m deleted file mode 100644 index 3df65b3e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+DecodedImage.m +++ /dev/null @@ -1,229 +0,0 @@ -// -// UIImage+DecodedImage.m -// Pods -// -// Created by Garrett Moon on 11/19/14. -// -// - -#import "PINImage+DecodedImage.h" - -#import - -#ifdef PIN_WEBP -#import "PINImage+WebP.h" -#endif - -#import "NSData+ImageDetectors.h" - -#if !PIN_TARGET_IOS -@implementation NSImage (PINiOSMapping) - -- (CGImageRef)CGImage -{ - NSGraphicsContext *context = [NSGraphicsContext currentContext]; - NSRect rect = NSMakeRect(0.0, 0.0, self.size.width, self.size.height); - return [self CGImageForProposedRect:&rect context:context hints:NULL]; -} - -+ (NSImage *)imageWithData:(NSData *)imageData; -{ - return [[self alloc] initWithData:imageData]; -} - -+ (NSImage *)imageWithContentsOfFile:(NSString *)path -{ - return path ? [[self alloc] initWithContentsOfFile:path] : nil; -} - -+ (NSImage *)imageWithCGImage:(CGImageRef)imageRef -{ - return [[self alloc] initWithCGImage:imageRef size:CGSizeZero]; -} - -@end -#endif - -NSData * __nullable PINImageJPEGRepresentation(PINImage * __nonnull image, CGFloat compressionQuality) -{ -#if PIN_TARGET_IOS - return UIImageJPEGRepresentation(image, compressionQuality); -#elif PIN_TARGET_MAC - NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:[image TIFFRepresentation]]; - NSDictionary *imageProperties = @{NSImageCompressionFactor : @(compressionQuality)}; - return [imageRep representationUsingType:NSJPEGFileType properties:imageProperties]; -#endif -} - -NSData * __nullable PINImagePNGRepresentation(PINImage * __nonnull image) { -#if PIN_TARGET_IOS - return UIImagePNGRepresentation(image); -#elif PIN_TARGET_MAC - NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:[image TIFFRepresentation]]; - NSDictionary *imageProperties = @{NSImageCompressionFactor : @1}; - return [imageRep representationUsingType:NSPNGFileType properties:imageProperties]; -#endif -} - - -@implementation PINImage (PINDecodedImage) - -+ (PINImage *)pin_decodedImageWithData:(NSData *)data -{ - return [self pin_decodedImageWithData:data skipDecodeIfPossible:NO]; -} - -+ (PINImage *)pin_decodedImageWithData:(NSData *)data skipDecodeIfPossible:(BOOL)skipDecodeIfPossible -{ - if (data == nil) { - return nil; - } - -#if PIN_WEBP - if ([data pin_isWebP]) { - return [PINImage pin_imageWithWebPData:data]; - } -#endif - - PINImage *decodedImage = nil; - - CGImageSourceRef imageSourceRef = CGImageSourceCreateWithData((CFDataRef)data, NULL); - - if (imageSourceRef) { - CGImageRef imageRef = CGImageSourceCreateImageAtIndex(imageSourceRef, 0, (CFDictionaryRef)@{(NSString *)kCGImageSourceShouldCache : (NSNumber *)kCFBooleanFalse}); - if (imageRef) { -#if PIN_TARGET_IOS - UIImageOrientation orientation = pin_UIImageOrientationFromImageSource(imageSourceRef); - if (skipDecodeIfPossible) { - decodedImage = [PINImage imageWithCGImage:imageRef scale:1.0 orientation:orientation]; - } else { - decodedImage = [self pin_decodedImageWithCGImageRef:imageRef orientation:orientation]; - } -#elif PIN_TARGET_MAC - if (skipDecodeIfPossible) { - CGSize imageSize = CGSizeMake(CGImageGetWidth(imageRef), CGImageGetHeight(imageRef)); - decodedImage = [[NSImage alloc] initWithCGImage:imageRef size:imageSize]; - } else { - decodedImage = [self pin_decodedImageWithCGImageRef:imageRef]; - } -#endif - CGImageRelease(imageRef); - } - - CFRelease(imageSourceRef); - } - - return decodedImage; -} - -+ (PINImage *)pin_decodedImageWithCGImageRef:(CGImageRef)imageRef -{ -#if PIN_TARGET_IOS - return [self pin_decodedImageWithCGImageRef:imageRef orientation:UIImageOrientationUp]; -} - -+ (PINImage *)pin_decodedImageWithCGImageRef:(CGImageRef)imageRef orientation:(UIImageOrientation)orientation -{ -#endif -#if PIN_TARGET_IOS - return [UIImage imageWithCGImage:[self pin_decodedImageRefWithCGImageRef:imageRef] scale:1.0 orientation:orientation]; -#elif PIN_TARGET_MAC - return [[NSImage alloc] initWithCGImage:[self pin_decodedImageRefWithCGImageRef:imageRef] size:NSZeroSize]; -#endif -} - -+ (CGImageRef)pin_decodedImageRefWithCGImageRef:(CGImageRef)imageRef -{ - BOOL opaque = YES; - CGImageAlphaInfo alpha = CGImageGetAlphaInfo(imageRef); - if (alpha == kCGImageAlphaFirst || alpha == kCGImageAlphaLast || alpha == kCGImageAlphaOnly || alpha == kCGImageAlphaPremultipliedFirst || alpha == kCGImageAlphaPremultipliedLast) { - opaque = NO; - } - - CGSize imageSize = CGSizeMake(CGImageGetWidth(imageRef), CGImageGetHeight(imageRef)); - - CGBitmapInfo info = opaque ? (kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Host) : (kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host); - CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); - - //Use UIGraphicsBeginImageContext parameters from docs: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIGraphicsBeginImageContextWithOptions - CGContextRef ctx = CGBitmapContextCreate(NULL, imageSize.width, imageSize.height, - 8, - 0, - colorspace, - info); - - CGColorSpaceRelease(colorspace); - - if (ctx) { - CGContextSetBlendMode(ctx, kCGBlendModeCopy); - CGContextDrawImage(ctx, CGRectMake(0, 0, imageSize.width, imageSize.height), imageRef); - - CGImageRef decodedImageRef = CGBitmapContextCreateImage(ctx); - if (decodedImageRef) { - CFAutorelease(decodedImageRef); - } - CGContextRelease(ctx); - return decodedImageRef; - - } - - return imageRef; -} - -#if PIN_TARGET_IOS -UIImageOrientation pin_UIImageOrientationFromImageSource(CGImageSourceRef imageSourceRef) { - UIImageOrientation orientation = UIImageOrientationUp; - - if (imageSourceRef != nil) { - NSDictionary *dict = (NSDictionary *)CFBridgingRelease(CGImageSourceCopyPropertiesAtIndex(imageSourceRef, 0, NULL)); - - if (dict != nil) { - - NSNumber* exifOrientation = dict[(id)kCGImagePropertyOrientation]; - if (exifOrientation != nil) { - - switch (exifOrientation.intValue) { - case 1: /*kCGImagePropertyOrientationUp*/ - orientation = UIImageOrientationUp; - break; - - case 2: /*kCGImagePropertyOrientationUpMirrored*/ - orientation = UIImageOrientationUpMirrored; - break; - - case 3: /*kCGImagePropertyOrientationDown*/ - orientation = UIImageOrientationDown; - break; - - case 4: /*kCGImagePropertyOrientationDownMirrored*/ - orientation = UIImageOrientationDownMirrored; - break; - case 5: /*kCGImagePropertyOrientationLeftMirrored*/ - orientation = UIImageOrientationLeftMirrored; - break; - - case 6: /*kCGImagePropertyOrientationRight*/ - orientation = UIImageOrientationRight; - break; - - case 7: /*kCGImagePropertyOrientationRightMirrored*/ - orientation = UIImageOrientationRightMirrored; - break; - - case 8: /*kCGImagePropertyOrientationLeft*/ - orientation = UIImageOrientationLeft; - break; - - default: - break; - } - } - } - } - - return orientation; -} - -#endif - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+ScaledImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+ScaledImage.h deleted file mode 100644 index b82f9313..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+ScaledImage.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// UIImage+ScaledImage.h -// Pods -// -// Created by Michael Schneider on 2/9/17. -// -// - -#import - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -@interface PINImage (PINScaledImage) - -- (PINImage *)pin_scaledImageForKey:(NSString *)key; -+ (PINImage *)pin_scaledImageForImage:(PINImage *)image withKey:(NSString *)key; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+ScaledImage.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+ScaledImage.m deleted file mode 100644 index 9c4326ef..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+ScaledImage.m +++ /dev/null @@ -1,56 +0,0 @@ -// -// UIImage+ScaledImage.m -// Pods -// -// Created by Michael Schneider on 2/9/17. -// -// - -#import "PINImage+ScaledImage.h" - -static inline PINImage *PINScaledImageForKey(NSString * __nullable key, PINImage * __nullable image) { - if (image == nil) { - return nil; - } - -#if PIN_TARGET_IOS - - NSCAssert(image.CGImage != NULL, @"CGImage should not be NULL"); - - CGFloat scale = 1.0; - if (key.length >= 8) { - if ([key rangeOfString:@"_2x."].location != NSNotFound || - [key rangeOfString:@"@2x."].location != NSNotFound) { - scale = 2.0; - } - - if ([key rangeOfString:@"_3x."].location != NSNotFound || - [key rangeOfString:@"@3x."].location != NSNotFound) { - scale = 3.0; - } - } - - if (scale != image.scale) { - return [[UIImage alloc] initWithCGImage:image.CGImage scale:scale orientation:image.imageOrientation]; - } - - return image; - -#elif PIN_TARGET_MAC - return image; -#endif -} - -@implementation PINImage (ScaledImage) - -- (PINImage *)pin_scaledImageForKey:(NSString *)key -{ - return PINScaledImageForKey(key, self); -} - -+ (PINImage *)pin_scaledImageForImage:(PINImage *)image withKey:(NSString *)key -{ - return PINScaledImageForKey(key, image); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+WebP.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+WebP.h deleted file mode 100644 index 8c384076..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+WebP.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// UIImage+WebP.h -// Pods -// -// Created by Garrett Moon on 11/18/14. -// -// - -#import "PINRemoteImageMacros.h" - -#if PIN_WEBP - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -@interface PINImage (PINWebP) - -+ (PINImage *)pin_imageWithWebPData:(NSData *)webPData; - -@end - -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+WebP.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+WebP.m deleted file mode 100644 index b455cddf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINImage+WebP.m +++ /dev/null @@ -1,82 +0,0 @@ -// -// UIImage+WebP.m -// Pods -// -// Created by Garrett Moon on 11/18/14. -// -// - -#import "PINImage+WebP.h" - -#if PIN_WEBP -#import "decode.h" - -static void releaseData(void *info, const void *data, size_t size) -{ - WebPFree((void *)data); -} - -@implementation PINImage (PINWebP) - -+ (PINImage *)pin_imageWithWebPData:(NSData *)webPData -{ - WebPBitstreamFeatures features; - if (WebPGetFeatures([webPData bytes], [webPData length], &features) == VP8_STATUS_OK) { - // Decode the WebP image data into a RGBA value array - int height, width; - uint8_t *data = NULL; - int pixelLength = 0; - - if (features.has_alpha) { - data = WebPDecodeRGBA([webPData bytes], [webPData length], &width, &height); - pixelLength = 4; - } else { - data = WebPDecodeRGB([webPData bytes], [webPData length], &width, &height); - pixelLength = 3; - } - - if (data) { - CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, data, width * height * pixelLength, releaseData); - - CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB(); - CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault; - - if (features.has_alpha) { - bitmapInfo |= kCGImageAlphaLast; - } else { - bitmapInfo |= kCGImageAlphaNone; - } - - CGColorRenderingIntent renderingIntent = kCGRenderingIntentDefault; - CGImageRef imageRef = CGImageCreate(width, - height, - 8, - 8 * pixelLength, - pixelLength * width, - colorSpaceRef, - bitmapInfo, - provider, - NULL, - NO, - renderingIntent); - - PINImage *image = nil; -#if PIN_TARGET_IOS - image = [UIImage imageWithCGImage:imageRef]; -#elif PIN_TARGET_MAC - image = [[self alloc] initWithCGImage:imageRef size:CGSizeZero]; -#endif - - CGImageRelease(imageRef); - CGColorSpaceRelease(colorSpaceRef); - CGDataProviderRelease(provider); - - return image; - } - } - return nil; -} - -@end - -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINRemoteImageTask+Subclassing.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINRemoteImageTask+Subclassing.h deleted file mode 100644 index 8e0c6005..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/Categories/PINRemoteImageTask+Subclassing.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// PINRemoteImageTask+Subclassing.h -// PINRemoteImage -// -// Created by Garrett Moon on 5/22/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINRemoteImageTask.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface PINRemoteImageTask (Subclassing) - -- (NSMutableDictionary *)l_callbackBlocks; -- (BOOL)l_cancelWithUUID:(NSUUID *)UUID; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINAnimatedImageView+PINRemoteImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINAnimatedImageView+PINRemoteImage.h deleted file mode 100644 index cc14a651..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINAnimatedImageView+PINRemoteImage.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// PINAnimatedImageView+PINRemoteImage.h -// Pods -// -// Created by Garrett Moon on 4/19/18. -// - -#import - -#import "PINRemoteImageCategoryManager.h" - -@interface PINAnimatedImageView (PINRemoteImage) - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINAnimatedImageView+PINRemoteImage.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINAnimatedImageView+PINRemoteImage.m deleted file mode 100644 index 34edd842..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINAnimatedImageView+PINRemoteImage.m +++ /dev/null @@ -1,119 +0,0 @@ -// -// PINAnimatedImageView+PINRemoteImage.m -// Pods -// -// Created by Garrett Moon on 4/19/18. -// - -#import "PINAnimatedImageView+PINRemoteImage.h" - -#import "PINAnimatedImage.h" - -@implementation PINAnimatedImageView (PINRemoteImage) - -- (void)pin_setImageFromURL:(NSURL *)url -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url placeholderImage:placeholderImage]; -} - -- (void)pin_setImageFromURL:(NSURL *)url completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url completion:completion]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url placeholderImage:placeholderImage completion:completion]; -} - -- (void)pin_setImageFromURL:(NSURL *)url processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url processorKey:processorKey processor:processor]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url placeholderImage:placeholderImage processorKey:processorKey processor:processor]; -} - -- (void)pin_setImageFromURL:(NSURL *)url processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url processorKey:processorKey processor:processor completion:completion]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:@[url] placeholderImage:placeholderImage processorKey:processorKey processor:processor completion:completion]; -} - -- (void)pin_setImageFromURLs:(NSArray *)urls -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:urls]; -} - -- (void)pin_setImageFromURLs:(NSArray *)urls placeholderImage:(PINImage *)placeholderImage -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:urls placeholderImage:placeholderImage]; -} - -- (void)pin_setImageFromURLs:(NSArray *)urls placeholderImage:(PINImage *)placeholderImage completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:urls placeholderImage:placeholderImage completion:completion]; -} - -- (void)pin_cancelImageDownload -{ - [PINRemoteImageCategoryManager cancelImageDownloadOnView:self]; -} - -- (NSUUID *)pin_downloadImageOperationUUID -{ - return [PINRemoteImageCategoryManager downloadImageOperationUUIDOnView:self]; -} - -- (void)pin_setDownloadImageOperationUUID:(NSUUID *)downloadImageOperationUUID -{ - [PINRemoteImageCategoryManager setDownloadImageOperationUUID:downloadImageOperationUUID onView:self]; -} - -- (BOOL)pin_updateWithProgress -{ - return [PINRemoteImageCategoryManager updateWithProgressOnView:self]; -} - -- (void)setPin_updateWithProgress:(BOOL)updateWithProgress -{ - [PINRemoteImageCategoryManager setUpdateWithProgressOnView:updateWithProgress onView:self]; -} - -- (void)pin_setPlaceholderWithImage:(PINImage *)image -{ - self.image = image; -} - -- (void)pin_updateUIWithRemoteImageManagerResult:(PINRemoteImageManagerResult *)result -{ - if (result.alternativeRepresentation && [result.alternativeRepresentation isKindOfClass:[PINCachedAnimatedImage class]]) { - self.animatedImage = (PINCachedAnimatedImage *)result.alternativeRepresentation; - } else if (result.image) { - self.image = result.image; - } -} - -- (void)pin_clearImages -{ - self.animatedImage = nil; - self.image = nil; -} - -- (BOOL)pin_ignoreGIFs -{ - return NO; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINButton+PINRemoteImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINButton+PINRemoteImage.h deleted file mode 100644 index 1659db95..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINButton+PINRemoteImage.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// UIButton+PINRemoteImage.h -// Pods -// -// Created by Garrett Moon on 8/18/14. -// -// - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -#import "PINRemoteImageManager.h" -#import "PINRemoteImageCategoryManager.h" - -@interface PINButton (PINRemoteImage) - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINButton+PINRemoteImage.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINButton+PINRemoteImage.m deleted file mode 100644 index 50f5d802..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINButton+PINRemoteImage.m +++ /dev/null @@ -1,131 +0,0 @@ -// -// UIButton+PINRemoteImage.m -// Pods -// -// Created by Garrett Moon on 8/18/14. -// -// - -#import "PINButton+PINRemoteImage.h" - -@implementation PINButton (PINRemoteImage) - -- (void)pin_setImageFromURL:(NSURL *)url -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url placeholderImage:placeholderImage]; -} - -- (void)pin_setImageFromURL:(NSURL *)url completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url completion:completion]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url placeholderImage:placeholderImage completion:completion]; -} - -- (void)pin_setImageFromURL:(NSURL *)url processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url processorKey:processorKey processor:processor]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url placeholderImage:placeholderImage processorKey:processorKey processor:processor]; -} - -- (void)pin_setImageFromURL:(NSURL *)url processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url processorKey:processorKey processor:processor completion:completion]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:url?@[url]:nil placeholderImage:placeholderImage processorKey:processorKey processor:processor completion:completion]; -} - -- (void)pin_setImageFromURLs:(NSArray *)urls -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:urls]; -} - -- (void)pin_setImageFromURLs:(NSArray *)urls placeholderImage:(PINImage *)placeholderImage -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:urls placeholderImage:placeholderImage]; -} - -- (void)pin_setImageFromURLs:(NSArray *)urls placeholderImage:(PINImage *)placeholderImage completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:urls placeholderImage:placeholderImage completion:completion]; -} - -- (void)pin_cancelImageDownload -{ - [PINRemoteImageCategoryManager cancelImageDownloadOnView:self]; -} - -- (NSUUID *)pin_downloadImageOperationUUID -{ - return [PINRemoteImageCategoryManager downloadImageOperationUUIDOnView:self]; -} - -- (void)pin_setDownloadImageOperationUUID:(NSUUID *)downloadImageOperationUUID -{ - [PINRemoteImageCategoryManager setDownloadImageOperationUUID:downloadImageOperationUUID onView:self]; -} - -- (BOOL)pin_updateWithProgress -{ - return [PINRemoteImageCategoryManager updateWithProgressOnView:self]; -} - -- (void)setPin_updateWithProgress:(BOOL)updateWithProgress -{ - [PINRemoteImageCategoryManager setUpdateWithProgressOnView:updateWithProgress onView:self]; -} - -- (void)pin_setPlaceholderWithImage:(PINImage *)image -{ -#if PIN_TARGET_IOS - [self setImage:image forState:UIControlStateNormal]; -#elif PIN_TARGET_MAC - [self setImage:image]; -#endif -} - -- (void)pin_updateUIWithRemoteImageManagerResult:(PINRemoteImageManagerResult *)result -{ - if (result.image) { -#if PIN_TARGET_IOS - [self setImage:result.image forState:UIControlStateNormal]; - [self setNeedsLayout]; -#elif PIN_TARGET_MAC - [self setImage:result.image]; - [self setNeedsLayout:YES]; -#endif - } -} - -- (void)pin_clearImages -{ -#if PIN_TARGET_IOS - [self setImage:nil forState:UIControlStateNormal]; - [self setNeedsLayout]; -#elif PIN_TARGET_MAC - [self setImage:nil]; - [self setNeedsLayout:YES]; -#endif -} - -- (BOOL)pin_ignoreGIFs -{ - return YES; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINImageView+PINRemoteImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINImageView+PINRemoteImage.h deleted file mode 100644 index f5c4b7ed..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINImageView+PINRemoteImage.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// UIImageView+PINRemoteImage.h -// Pods -// -// Created by Garrett Moon on 8/17/14. -// -// - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -#import "PINRemoteImageManager.h" -#import "PINRemoteImageCategoryManager.h" - -@interface PINImageView (PINRemoteImage) - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINImageView+PINRemoteImage.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINImageView+PINRemoteImage.m deleted file mode 100644 index 1e6a6ab2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/ImageCategories/PINImageView+PINRemoteImage.m +++ /dev/null @@ -1,127 +0,0 @@ -// -// UIImageView+PINRemoteImage.m -// Pods -// -// Created by Garrett Moon on 8/17/14. -// -// - -#import "PINImageView+PINRemoteImage.h" - -@implementation PINImageView (PINRemoteImage) - -- (void)pin_setImageFromURL:(NSURL *)url -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url placeholderImage:placeholderImage]; -} - -- (void)pin_setImageFromURL:(NSURL *)url completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url completion:completion]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url placeholderImage:placeholderImage completion:completion]; -} - -- (void)pin_setImageFromURL:(NSURL *)url processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url processorKey:processorKey processor:processor]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url placeholderImage:placeholderImage processorKey:processorKey processor:processor]; -} - -- (void)pin_setImageFromURL:(NSURL *)url processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURL:url processorKey:processorKey processor:processor completion:completion]; -} - -- (void)pin_setImageFromURL:(NSURL *)url placeholderImage:(PINImage *)placeholderImage processorKey:(NSString *)processorKey processor:(PINRemoteImageManagerImageProcessor)processor completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:url?@[url]:nil placeholderImage:placeholderImage processorKey:processorKey processor:processor completion:completion]; -} - -- (void)pin_setImageFromURLs:(NSArray *)urls -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:urls]; -} - -- (void)pin_setImageFromURLs:(NSArray *)urls placeholderImage:(PINImage *)placeholderImage -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:urls placeholderImage:placeholderImage]; -} - -- (void)pin_setImageFromURLs:(NSArray *)urls placeholderImage:(PINImage *)placeholderImage completion:(PINRemoteImageManagerImageCompletion)completion -{ - [PINRemoteImageCategoryManager setImageOnView:self fromURLs:urls placeholderImage:placeholderImage completion:completion]; -} - -- (void)pin_cancelImageDownload -{ - [PINRemoteImageCategoryManager cancelImageDownloadOnView:self]; -} - -- (NSUUID *)pin_downloadImageOperationUUID -{ - return [PINRemoteImageCategoryManager downloadImageOperationUUIDOnView:self]; -} - -- (void)pin_setDownloadImageOperationUUID:(NSUUID *)downloadImageOperationUUID -{ - [PINRemoteImageCategoryManager setDownloadImageOperationUUID:downloadImageOperationUUID onView:self]; -} - -- (BOOL)pin_updateWithProgress -{ - return [PINRemoteImageCategoryManager updateWithProgressOnView:self]; -} - -- (void)setPin_updateWithProgress:(BOOL)updateWithProgress -{ - [PINRemoteImageCategoryManager setUpdateWithProgressOnView:updateWithProgress onView:self]; -} - -- (void)pin_setPlaceholderWithImage:(PINImage *)image -{ - self.image = image; -} - -- (void)pin_updateUIWithRemoteImageManagerResult:(PINRemoteImageManagerResult *)result -{ - if (result.image) { - self.image = result.image; - -#if PIN_TARGET_IOS - [self setNeedsLayout]; -#elif PIN_TARGET_MAC - [self setNeedsLayout:YES]; -#endif - } -} - -- (void)pin_clearImages -{ - self.image = nil; - -#if PIN_TARGET_IOS - [self setNeedsLayout]; -#elif PIN_TARGET_MAC - [self setNeedsLayout:YES]; -#endif -} - -- (BOOL)pin_ignoreGIFs -{ - return YES; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINAlternateRepresentationProvider.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINAlternateRepresentationProvider.h deleted file mode 100644 index d3506096..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINAlternateRepresentationProvider.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// PINAlternateRepresentationProvider.h -// Pods -// -// Created by Garrett Moon on 3/17/16. -// -// - -#import - -#import "PINRemoteImageManager.h" - -@protocol PINRemoteImageManagerAlternateRepresentationProvider -@required - -/** - @discussion This method will be called with data off the wire or stored in the cache. Return an object to have it returned as the alternativeRepresentation object in the PINRemoteImageManagerResult. @warning this method can be called on the main thread, be careful of doing expensive work. - */ -- (id)alternateRepresentationWithData:(NSData *)data options:(PINRemoteImageManagerDownloadOptions)options; - -@end - -@interface PINAlternateRepresentationProvider : NSObject - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINAlternateRepresentationProvider.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINAlternateRepresentationProvider.m deleted file mode 100644 index ea87911e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINAlternateRepresentationProvider.m +++ /dev/null @@ -1,30 +0,0 @@ -// -// PINAlternateRepresentationProvider.m -// Pods -// -// Created by Garrett Moon on 3/17/16. -// -// - -#import "PINAlternateRepresentationProvider.h" - -#import "PINCachedAnimatedImage.h" -#import "NSData+ImageDetectors.h" - -@implementation PINAlternateRepresentationProvider - -- (id)alternateRepresentationWithData:(NSData *)data options:(PINRemoteImageManagerDownloadOptions)options -{ -#if PIN_WEBP - if ([data pin_isAnimatedGIF] || [data pin_isAnimatedWebP]) { - return [[PINCachedAnimatedImage alloc] initWithAnimatedImageData:data]; - } -#else - if ([data pin_isAnimatedGIF]) { - return [[PINCachedAnimatedImage alloc] initWithAnimatedImageData:data]; - } -#endif - return nil; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINCache/PINCache+PINRemoteImageCaching.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINCache/PINCache+PINRemoteImageCaching.h deleted file mode 100644 index 907b3525..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINCache/PINCache+PINRemoteImageCaching.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// PINCache+PINRemoteImageCaching.h -// Pods -// -// Created by Aleksei Shevchenko on 7/28/16. -// -// - -#import - -#import "PINRemoteImageCaching.h" -#import "PINRemoteImageManager.h" - -@interface PINCache (PINRemoteImageCaching) - -@end - -@interface PINRemoteImageManager (PINCache) - -@property (nonatomic, nullable, readonly) PINCache *pinCache; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINCache/PINCache+PINRemoteImageCaching.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINCache/PINCache+PINRemoteImageCaching.m deleted file mode 100644 index 5641d784..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINCache/PINCache+PINRemoteImageCaching.m +++ /dev/null @@ -1,113 +0,0 @@ -// -// PINCache+PINRemoteImageCaching.m -// Pods -// -// Created by Aleksei Shevchenko on 7/28/16. -// -// - -#import "PINCache+PINRemoteImageCaching.h" - -@implementation PINCache (PINRemoteImageCaching) - -//****************************************************************************************************** -// Memory cache methods -//****************************************************************************************************** -- (nullable id)objectFromMemoryForKey:(NSString *)key -{ - return [self.memoryCache objectForKey:key]; -} - -- (void)setObjectInMemory:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost withAgeLimit:(NSTimeInterval)ageLimit -{ - [self.memoryCache setObject:object forKey:key withCost:cost ageLimit:ageLimit]; -} - -- (void)setObjectInMemory:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost -{ - [self.memoryCache setObject:object forKey:key withCost:cost]; -} - -- (void)removeObjectForKeyFromMemory:(NSString *)key -{ - [self.memoryCache removeObjectForKey:key]; -} - -//****************************************************************************************************** -// Disk cache methods -//****************************************************************************************************** -- (nullable id)objectFromDiskForKey:(NSString *)key -{ - return [self.diskCache objectForKey:key]; -} - -- (void)objectFromDiskForKey:(NSString *)key completion:(PINRemoteImageCachingObjectBlock)completion -{ - __weak typeof(self) weakSelf = self; - [self.diskCache objectForKeyAsync:key completion:^(PINDiskCache * _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - if(completion) { - typeof(self) strongSelf = weakSelf; - completion(strongSelf, key, object); - } - }]; -} - -- (void)setObjectOnDisk:(id)object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit -{ - [self.diskCache setObject:object forKey:key withAgeLimit:ageLimit]; -} - -- (void)setObjectOnDisk:(id)object forKey:(NSString *)key -{ - [self.diskCache setObject:object forKey:key withAgeLimit:0]; -} - -- (BOOL)objectExistsForKey:(NSString *)key -{ - return [self containsObjectForKey:key]; -} - -//****************************************************************************************************** -// Common cache methods -//****************************************************************************************************** -- (void)removeObjectForKey:(NSString *)key completion:(PINRemoteImageCachingObjectBlock)completion -{ - if (completion) { - __weak typeof(self) weakSelf = self; - [self removeObjectForKeyAsync:key completion:^(id _Nonnull cache, NSString * _Nonnull key, id _Nullable object) { - typeof(self) strongSelf = weakSelf; - completion(strongSelf, key, object); - }]; - } else { - [self removeObjectForKeyAsync:key completion:nil]; - } -} - -- (BOOL)diskCacheIsTTLCache -{ - return self.diskCache.isTTLCache; -} - -- (BOOL)memoryCacheIsTTLCache -{ - return self.memoryCache.isTTLCache; -} - -@end - -@implementation PINRemoteImageManager (PINCache) - -- (PINCache *)pinCache -{ - static BOOL isCachePINCache = NO; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - isCachePINCache = [self.cache isKindOfClass:[PINCache class]]; - }); - if (isCachePINCache) { - return (PINCache *)self.cache; - } - return nil; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINDisplayLink.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINDisplayLink.h deleted file mode 100644 index 0b43e7bf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINDisplayLink.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// PINDisplayLink.h -// Pods -// -// Created by Garrett Moon on 4/23/18. -// - -#import - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#define PINDisplayLink CADisplayLink -#elif PIN_TARGET_MAC -@interface PINDisplayLink : NSObject - -+ (PINDisplayLink *)displayLinkWithTarget:(id)target selector:(SEL)sel; -- (void)addToRunLoop:(NSRunLoop *)runloop forMode:(NSRunLoopMode)mode; -- (void)removeFromRunLoop:(NSRunLoop *)runloop forMode:(NSRunLoopMode)mode; - -@property(getter=isPaused, nonatomic) BOOL paused; -@property(nonatomic) NSInteger frameInterval; - -@end -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINDisplayLink.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINDisplayLink.m deleted file mode 100644 index 73124704..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINDisplayLink.m +++ /dev/null @@ -1,127 +0,0 @@ -// -// PINDisplayLink.m -// Pods -// -// Created by Garrett Moon on 4/23/18. -// - -#import "PINDisplayLink.h" - -#if PIN_TARGET_MAC - -@interface PINDisplayLink () - -@property (nonatomic, readonly) id target; -@property (nonatomic, readonly) SEL selector; -@property (nonatomic, readonly) NSRunLoop *runloop; -@property (nonatomic, readonly) NSRunLoopMode mode; - -- (void)displayLinkFired; - -@end - -static CVReturn displayLinkFired (CVDisplayLinkRef displayLink, - const CVTimeStamp *inNow, - const CVTimeStamp *inOutputTime, - CVOptionFlags flagsIn, - CVOptionFlags *flagsOut, - void *displayLinkContext) -{ - PINDisplayLink *link = (__bridge PINDisplayLink *)displayLinkContext; - [link displayLinkFired]; - return kCVReturnSuccess; -} - -@implementation PINDisplayLink -{ - CVDisplayLinkRef _displayLinkRef; - - BOOL _paused; - NSInteger _frameInterval; -} - -+ (PINDisplayLink *)displayLinkWithTarget:(id)target selector:(SEL)sel -{ - return [[PINDisplayLink alloc] initWithTarget:target selector:sel]; -} - -- (PINDisplayLink *)initWithTarget:(id)target selector:(SEL)sel -{ - if (self = [super init]) { - _target = target; - _selector = sel; - CVDisplayLinkCreateWithActiveCGDisplays(&_displayLinkRef); - CVDisplayLinkSetOutputCallback(_displayLinkRef, &displayLinkFired, (__bridge void * _Nullable)(self)); - } - return self; -} - -- (void)dealloc -{ - if (_displayLinkRef) { - CVDisplayLinkRelease(_displayLinkRef); - } -} - -- (void)displayLinkFired -{ - dispatch_async(dispatch_get_main_queue(), ^{ - [self.runloop performSelector:self.selector target:self.target argument:self order:NSUIntegerMax modes:@[self.mode]]; - }); -} - -- (void)addToRunLoop:(NSRunLoop *)runloop forMode:(NSRunLoopMode)mode -{ - PINAssertMain(); - NSAssert(runloop && mode, @"Must set a runloop and a mode."); - _runloop = runloop; - _mode = mode; - if (_paused == NO) { - CVDisplayLinkStart(_displayLinkRef); - } -} - -- (void)removeFromRunLoop:(NSRunLoop *)runloop forMode:(NSRunLoopMode)mode -{ - _runloop = nil; - _mode = nil; - if (_paused == NO) { - CVDisplayLinkStop(_displayLinkRef); - } -} - -- (BOOL)isPaused -{ - PINAssertMain(); - return _paused; -} - -- (void)setPaused:(BOOL)paused -{ - PINAssertMain(); - if (_paused == paused) { - return; - } - - _paused = paused; - if (paused) { - CVDisplayLinkStop(_displayLinkRef); - } else { - CVDisplayLinkStart(_displayLinkRef); - } -} - -- (NSInteger)frameInterval -{ - PINAssertMain(); - return _frameInterval; -} - -- (void)setFrameInterval:(NSInteger)frameInterval -{ - PINAssertMain(); - _frameInterval = frameInterval; -} - -@end -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINProgressiveImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINProgressiveImage.h deleted file mode 100644 index 1c68b1a1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINProgressiveImage.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// PINProgressiveImage.h -// Pods -// -// Created by Garrett Moon on 2/9/15. -// -// - -#import - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -@class PINRemoteImageDownloadTask; - -/** An object which store the data of a downloading image and vends progressive scans **/ -@interface PINProgressiveImage : NSObject - -@property (atomic, copy, nonnull) NSArray *progressThresholds; -@property (atomic, assign) CFTimeInterval estimatedRemainingTimeThreshold; -@property (nonatomic, strong, readonly, nonnull) NSURLSessionDataTask * dataTask; -@property (nonatomic, readonly) CFTimeInterval estimatedRemainingTime; - -- (nonnull instancetype)init NS_UNAVAILABLE; -- (nonnull instancetype)initWithDataTask:(nonnull NSURLSessionDataTask *)dataTask; - -- (void)updateProgressiveImageWithData:(nonnull NSData *)data expectedNumberOfBytes:(int64_t)expectedNumberOfBytes isResume:(BOOL)isResume; - -/** - Returns the latest image based on thresholds, returns nil if no new image is generated. - - @param blurred A boolean to indicate if the image should be blurred. - @param maxProgressiveRenderSize The maximum dimensions at which to apply a blur. If an image exceeds either the height. - or width of this dimension, the image will *not* be blurred regardless of the blurred parameter. - @param renderedImageQuality Value between 0 and 1. Computed by dividing the received number of bytes by the expected number of bytes. - @return PINImage A progressive scan of the image or nil if a new one has not been generated. - */ -- (nullable PINImage *)currentImageBlurred:(BOOL)blurred maxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize renderedImageQuality:(nonnull out CGFloat *)renderedImageQuality; - -/** - Returns the current data for the image. - - @return NSData The current data for the image. - */ -- (nullable NSData *)data; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINProgressiveImage.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINProgressiveImage.m deleted file mode 100644 index 8d530b98..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINProgressiveImage.m +++ /dev/null @@ -1,464 +0,0 @@ -// -// PINProgressiveImage.m -// Pods -// -// Created by Garrett Moon on 2/9/15. -// -// - -#import "PINProgressiveImage.h" - -#import -#import - -#import "PINRemoteImage.h" -#import "PINImage+DecodedImage.h" -#import "PINRemoteImageDownloadTask.h" -#import "PINSpeedRecorder.h" - -@interface PINProgressiveImage () - -@property (nonatomic, strong) NSURLSessionDataTask *dataTask; -@property (nonatomic, strong) NSMutableData *mutableData; -@property (nonatomic, assign) int64_t expectedNumberOfBytes; -@property (nonatomic, assign) CGImageSourceRef imageSource; -@property (nonatomic, assign) CGSize size; -@property (nonatomic, assign) BOOL isProgressiveJPEG; -@property (nonatomic, assign) NSUInteger currentThreshold; -@property (nonatomic, assign) NSUInteger startingBytes; -@property (nonatomic, assign) NSUInteger scannedByte; -@property (nonatomic, assign) NSInteger sosCount; -@property (nonatomic, strong) PINRemoteLock *lock; -#if DEBUG -@property (nonatomic, assign) CFTimeInterval scanTime; -#endif - -@end - -@implementation PINProgressiveImage - -@synthesize progressThresholds = _progressThresholds; -@synthesize estimatedRemainingTimeThreshold = _estimatedRemainingTimeThreshold; - -- (nonnull instancetype)initWithDataTask:(nonnull NSURLSessionDataTask *)dataTask -{ - if (self = [super init]) { - self.lock = [[PINRemoteLock alloc] initWithName:@"PINProgressiveImage"]; - - _dataTask = dataTask; - _imageSource = CGImageSourceCreateIncremental(NULL);; - self.size = CGSizeZero; - self.isProgressiveJPEG = NO; - self.currentThreshold = 0; - self.progressThresholds = @[@0.00, @0.35, @0.65]; - self.estimatedRemainingTimeThreshold = -1; - self.sosCount = 0; - self.scannedByte = 0; -#if DEBUG - self.scanTime = 0; -#endif - } - return self; -} - -- (void)dealloc -{ - [self.lock lock]; - if (self.imageSource) { - CFRelease(_imageSource); - } - [self.lock unlock]; -} - -#pragma mark - public - -- (void)setProgressThresholds:(NSArray *)progressThresholds -{ - // There's no reason to set an empty progress thresholds array, instead don't use the progressive feature - if (progressThresholds.count > 0) { - [self.lock lock]; - _progressThresholds = [progressThresholds copy]; - [self.lock unlock]; - } -} - -- (NSArray *)progressThresholds -{ - [self.lock lock]; - NSArray *progressThresholds = _progressThresholds; - [self.lock unlock]; - return progressThresholds; -} - -- (void)setEstimatedRemainingTimeThreshold:(CFTimeInterval)estimatedRemainingTimeThreshold -{ - [self.lock lock]; - _estimatedRemainingTimeThreshold = estimatedRemainingTimeThreshold; - [self.lock unlock]; -} - -- (CFTimeInterval)estimatedRemainingTimeThreshold -{ - [self.lock lock]; - CFTimeInterval estimatedRemainingTimeThreshold = _estimatedRemainingTimeThreshold; - [self.lock unlock]; - return estimatedRemainingTimeThreshold; -} - -- (CFTimeInterval)estimatedRemainingTime -{ - __block CFTimeInterval estimatedRemainingTime; - [self.lock lockWithBlock:^{ - estimatedRemainingTime = [self l_estimatedRemainingTime]; - }]; - return estimatedRemainingTime; -} - -- (CFTimeInterval)l_estimatedRemainingTime -{ - if (_dataTask.countOfBytesExpectedToReceive == NSURLSessionTransferSizeUnknown) { - return MAXFLOAT; - } - NSUInteger remainingBytes = (NSUInteger)_dataTask.countOfBytesExpectedToReceive - (NSUInteger)_dataTask.countOfBytesReceived; - if (remainingBytes == 0) { - return 0; - } - - float bytesPerSecond = [[PINSpeedRecorder sharedRecorder] weightedAdjustedBytesPerSecondForHost:[_dataTask.currentRequest.URL host]]; - if (bytesPerSecond == -1) { - return MAXFLOAT; - } - return remainingBytes / bytesPerSecond; -} - -- (void)updateProgressiveImageWithData:(nonnull NSData *)data expectedNumberOfBytes:(int64_t)expectedNumberOfBytes isResume:(BOOL)isResume -{ - [self.lock lock]; - if (isResume) { - NSAssert(self.mutableData == nil, @"If we're resuming, data shouldn't be setup yet."); - self.startingBytes = data.length; - } - - if (self.mutableData == nil) { - NSUInteger bytesToAlloc = 0; - if (expectedNumberOfBytes > 0) { - bytesToAlloc = (NSUInteger)expectedNumberOfBytes; - } - self.mutableData = [[NSMutableData alloc] initWithCapacity:bytesToAlloc]; - self.expectedNumberOfBytes = expectedNumberOfBytes; - } - [self.mutableData appendData:data]; - - while ([self l_hasCompletedFirstScan] == NO && self.scannedByte < self.mutableData.length) { - #if DEBUG - CFTimeInterval start = CACurrentMediaTime(); - #endif - NSUInteger startByte = self.scannedByte; - if (startByte > 0) { - startByte--; - } - if ([self l_scanForSOSinData:self.mutableData startByte:startByte scannedByte:&_scannedByte]) { - self.sosCount++; - } - #if DEBUG - CFTimeInterval total = CACurrentMediaTime() - start; - self.scanTime += total; - #endif - } - - if (self.imageSource) { - CGImageSourceUpdateData(self.imageSource, (CFDataRef)self.mutableData, NO); - } - [self.lock unlock]; -} - -- (PINImage *)currentImageBlurred:(BOOL)blurred maxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize renderedImageQuality:(out CGFloat *)renderedImageQuality -{ - [self.lock lock]; - if (self.imageSource == nil) { - [self.lock unlock]; - return nil; - } - - if (self.currentThreshold == _progressThresholds.count) { - [self.lock unlock]; - return nil; - } - - if (_estimatedRemainingTimeThreshold > 0 && [self l_estimatedRemainingTime] < _estimatedRemainingTimeThreshold) { - [self.lock unlock]; - return nil; - } - - if ([self l_hasCompletedFirstScan] == NO) { - [self.lock unlock]; - return nil; - } - - #if DEBUG - if (self.scanTime > 0) { - PINLog(@"scan time: %f", self.scanTime); - self.scanTime = 0; - } - #endif - - PINImage *currentImage = nil; - - //Size information comes after JFIF so jpeg properties should be available at or before size? - if (self.size.width <= 0 || self.size.height <= 0) { - //attempt to get size info - NSDictionary *imageProperties = (NSDictionary *)CFBridgingRelease(CGImageSourceCopyPropertiesAtIndex(self.imageSource, 0, NULL)); - CGSize size = self.size; - if (size.width <= 0 && imageProperties[(NSString *)kCGImagePropertyPixelWidth]) { - size.width = [imageProperties[(NSString *)kCGImagePropertyPixelWidth] floatValue]; - } - - if (size.height <= 0 && imageProperties[(NSString *)kCGImagePropertyPixelHeight]) { - size.height = [imageProperties[(NSString *)kCGImagePropertyPixelHeight] floatValue]; - } - - self.size = size; - - NSDictionary *jpegProperties = imageProperties[(NSString *)kCGImagePropertyJFIFDictionary]; - NSNumber *isProgressive = jpegProperties[(NSString *)kCGImagePropertyJFIFIsProgressive]; - self.isProgressiveJPEG = jpegProperties && [isProgressive boolValue]; - } - - if (self.size.width > maxProgressiveRenderSize.width || self.size.height > maxProgressiveRenderSize.height) { - [self.lock unlock]; - return nil; - } - - float progress = 0; - if (self.expectedNumberOfBytes > 0) { - progress = (float)self.mutableData.length / (float)self.expectedNumberOfBytes; - } - - //Don't bother if we're basically done - if (progress >= 0.99) { - [self.lock unlock]; - return nil; - } - - if (self.isProgressiveJPEG && self.size.width > 0 && self.size.height > 0 && progress > [_progressThresholds[self.currentThreshold] floatValue]) { - while (self.currentThreshold < _progressThresholds.count && progress > [_progressThresholds[self.currentThreshold] floatValue]) { - self.currentThreshold++; - } - PINLog(@"Generating preview image"); - CGImageRef image = CGImageSourceCreateImageAtIndex(self.imageSource, 0, NULL); - if (image) { - if (blurred) { - currentImage = [self l_postProcessImage:[PINImage imageWithCGImage:image] withProgress:progress]; - } else { - currentImage = [PINImage imageWithCGImage:image]; - } - CGImageRelease(image); - if (renderedImageQuality) { - *renderedImageQuality = progress; - } - } - } - - [self.lock unlock]; - return currentImage; -} - -- (NSData *)data -{ - [self.lock lock]; - NSData *data = [self.mutableData copy]; - [self.lock unlock]; - return data; -} - -#pragma mark - private - -- (BOOL)l_scanForSOSinData:(NSData *)data startByte:(NSUInteger)startByte scannedByte:(NSUInteger *)scannedByte -{ - //check if we have a complete scan - Byte scanMarker[2]; - //SOS marker - scanMarker[0] = 0xFF; - scanMarker[1] = 0xDA; - - //scan one byte back in case we only got half the SOS on the last data append - NSRange scanRange; - scanRange.location = startByte; - scanRange.length = data.length - scanRange.location; - NSRange sosRange = [data rangeOfData:[NSData dataWithBytes:scanMarker length:2] options:0 range:scanRange]; - if (sosRange.location != NSNotFound) { - if (scannedByte) { - *scannedByte = NSMaxRange(sosRange); - } - return YES; - } - if (scannedByte) { - *scannedByte = NSMaxRange(scanRange); - } - return NO; -} - -- (BOOL)l_hasCompletedFirstScan -{ - return self.sosCount >= 2; -} - -//Heavily cribbed from https://developer.apple.com/library/ios/samplecode/UIImageEffects/Listings/UIImageEffects_UIImageEffects_m.html#//apple_ref/doc/uid/DTS40013396-UIImageEffects_UIImageEffects_m-DontLinkElementID_9 -- (PINImage *)l_postProcessImage:(PINImage *)inputImage withProgress:(float)progress -{ - PINImage *outputImage = nil; - CGImageRef inputImageRef = CGImageRetain(inputImage.CGImage); - if (inputImageRef == nil) { - return nil; - } - - CGSize inputSize = inputImage.size; - if (inputSize.width < 1 || - inputSize.height < 1) { - CGImageRelease(inputImageRef); - return nil; - } - -#if PIN_TARGET_IOS - CGFloat imageScale = inputImage.scale; -#elif PIN_TARGET_MAC - // TODO: What scale factor should be used here? - CGFloat imageScale = [[NSScreen mainScreen] backingScaleFactor]; -#endif - - CGFloat radius = (inputImage.size.width / 25.0) * MAX(0, 1.0 - progress); - radius *= imageScale; - - //we'll round the radius to a whole number below anyway, - if (radius < FLT_EPSILON) { - CGImageRelease(inputImageRef); - return inputImage; - } - - CGContextRef ctx; -#if PIN_TARGET_IOS - UIGraphicsBeginImageContextWithOptions(inputSize, YES, imageScale); - ctx = UIGraphicsGetCurrentContext(); -#elif PIN_TARGET_MAC - ctx = CGBitmapContextCreate(0, inputSize.width, inputSize.height, 8, 0, [NSColorSpace genericRGBColorSpace].CGColorSpace, kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little); -#endif - - if (ctx) { -#if PIN_TARGET_IOS - CGContextScaleCTM(ctx, 1.0, -1.0); - CGContextTranslateCTM(ctx, 0, -inputSize.height); -#endif - - vImage_Buffer effectInBuffer; - vImage_Buffer scratchBuffer; - - vImage_Buffer *inputBuffer; - vImage_Buffer *outputBuffer; - - vImage_CGImageFormat format = { - .bitsPerComponent = 8, - .bitsPerPixel = 32, - .colorSpace = NULL, - // (kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little) - // requests a BGRA buffer. - .bitmapInfo = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little, - .version = 0, - .decode = NULL, - .renderingIntent = kCGRenderingIntentDefault - }; - - vImage_Error e = vImageBuffer_InitWithCGImage(&effectInBuffer, &format, NULL, inputImage.CGImage, kvImagePrintDiagnosticsToConsole); - if (e == kvImageNoError) - { - e = vImageBuffer_Init(&scratchBuffer, effectInBuffer.height, effectInBuffer.width, format.bitsPerPixel, kvImageNoFlags); - if (e == kvImageNoError) { - inputBuffer = &effectInBuffer; - outputBuffer = &scratchBuffer; - - // A description of how to compute the box kernel width from the Gaussian - // radius (aka standard deviation) appears in the SVG spec: - // http://www.w3.org/TR/SVG/filters.html#feGaussianBlurElement - // - // For larger values of 's' (s >= 2.0), an approximation can be used: Three - // successive box-blurs build a piece-wise quadratic convolution kernel, which - // approximates the Gaussian kernel to within roughly 3%. - // - // let d = floor(s * 3*sqrt(2*pi)/4 + 0.5) - // - // ... if d is odd, use three box-blurs of size 'd', centered on the output pixel. - // - if (radius - 2. < __FLT_EPSILON__) - radius = 2.; - uint32_t wholeRadius = floor((radius * 3. * sqrt(2 * M_PI) / 4 + 0.5) / 2); - - wholeRadius |= 1; // force wholeRadius to be odd so that the three box-blur methodology works. - - //calculate the size necessary for vImageBoxConvolve_ARGB8888, this does not actually do any operations. - NSInteger tempBufferSize = vImageBoxConvolve_ARGB8888(inputBuffer, outputBuffer, NULL, 0, 0, wholeRadius, wholeRadius, NULL, kvImageGetTempBufferSize | kvImageEdgeExtend); - void *tempBuffer = malloc(tempBufferSize); - - if (tempBuffer) { - //errors can be ignored because we've passed in allocated memory - vImageBoxConvolve_ARGB8888(inputBuffer, outputBuffer, tempBuffer, 0, 0, wholeRadius, wholeRadius, NULL, kvImageEdgeExtend); - vImageBoxConvolve_ARGB8888(outputBuffer, inputBuffer, tempBuffer, 0, 0, wholeRadius, wholeRadius, NULL, kvImageEdgeExtend); - vImageBoxConvolve_ARGB8888(inputBuffer, outputBuffer, tempBuffer, 0, 0, wholeRadius, wholeRadius, NULL, kvImageEdgeExtend); - - free(tempBuffer); - - //switch input and output - vImage_Buffer *temp = inputBuffer; - inputBuffer = outputBuffer; - outputBuffer = temp; - - CGImageRef effectCGImage = vImageCreateCGImageFromBuffer(inputBuffer, &format, &cleanupBuffer, NULL, kvImageNoAllocate, NULL); - if (effectCGImage == NULL) { - //if creating the cgimage failed, the cleanup buffer on input buffer will not be called, we must dealloc ourselves - free(inputBuffer->data); - } else { - // draw effect image - CGContextSaveGState(ctx); - CGContextDrawImage(ctx, CGRectMake(0, 0, inputSize.width, inputSize.height), effectCGImage); - CGContextRestoreGState(ctx); - CGImageRelease(effectCGImage); - } - - // Cleanup - free(outputBuffer->data); -#if PIN_TARGET_IOS - outputImage = UIGraphicsGetImageFromCurrentImageContext(); -#elif PIN_TARGET_MAC - CGImageRef outputImageRef = CGBitmapContextCreateImage(ctx); - outputImage = [[NSImage alloc] initWithCGImage:outputImageRef size:inputSize]; - CFRelease(outputImageRef); -#endif - - } - } else { - if (scratchBuffer.data) { - free(scratchBuffer.data); - } - free(effectInBuffer.data); - } - } else { - if (effectInBuffer.data) { - free(effectInBuffer.data); - } - } - } - -#if PIN_TARGET_IOS - UIGraphicsEndImageContext(); -#endif - - CGImageRelease(inputImageRef); - - return outputImage; -} - -// Helper function to handle deferred cleanup of a buffer. -static void cleanupBuffer(void *userData, void *buf_data) -{ - free(buf_data); -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImage.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImage.h deleted file mode 100644 index 140e1430..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImage.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// PINRemoteImage.h -// -// Created by Garrett Moon on 8/17/14. -// -// - -#import "PINRemoteImageMacros.h" - -#if USE_PINCACHE - #import "PINCache+PINRemoteImageCaching.h" -#endif - -#import "NSData+ImageDetectors.h" -#import "PINAlternateRepresentationProvider.h" -#import "PINCachedAnimatedImage.h" -#import "PINGIFAnimatedImage.h" -#import "PINWebPAnimatedImage.h" -#import "PINRemoteImageManager.h" -#import "PINRemoteImageCategoryManager.h" -#import "PINRemoteImageManagerResult.h" -#import "PINRemoteImageCaching.h" -#import "PINProgressiveImage.h" -#import "PINURLSessionManager.h" -#import "PINRequestRetryStrategy.h" diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageBasicCache.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageBasicCache.h deleted file mode 100644 index c669c3c3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageBasicCache.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// PINRemoteImageBasicCache.h -// Pods -// -// Created by Aleksei Shevchenko on 7/28/16. -// -// - -#import -#import "PINRemoteImageCaching.h" - -/** - * Simplistic wrapper based on NSCache. - * - * No data is persisted on disk. The disk cache methods are no-op. - */ -@interface PINRemoteImageBasicCache : NSObject - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageBasicCache.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageBasicCache.m deleted file mode 100644 index a3953ce8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageBasicCache.m +++ /dev/null @@ -1,99 +0,0 @@ -// -// PINRemoteImageBasicCache.m -// Pods -// -// Created by Aleksei Shevchenko on 7/28/16. -// -// - -#import "PINRemoteImageBasicCache.h" - -@interface PINRemoteImageBasicCache() -@property (nonatomic, strong) NSCache *cache; -@end - -@implementation PINRemoteImageBasicCache - -- (instancetype)init -{ - self = [super init]; - if (self) { - self.cache = [[NSCache alloc] init]; - } - return self; -} - -//****************************************************************************************************** -// Memory cache methods -//****************************************************************************************************** --(nullable id)objectFromMemoryForKey:(NSString *)key -{ - return [self.cache objectForKey:key]; -} - --(void)setObjectInMemory:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost -{ - [self.cache setObject:object forKey:key cost:cost]; -} - -- (void)removeObjectForKeyFromMemory:(NSString *)key -{ - [self.cache removeObjectForKey:key]; -} - -//****************************************************************************************************** -// Disk cache methods -//****************************************************************************************************** --(nullable id)objectFromDiskForKey:(NSString *)key -{ - return nil; -} - --(void)objectFromDiskForKey:(NSString *)key completion:(PINRemoteImageCachingObjectBlock)completion -{ - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - if (completion) { - typeof(self) strongSelf = weakSelf; - completion(strongSelf, key, nil); - } - }); -} - --(void)setObjectOnDisk:(id)object forKey:(NSString *)key -{ - -} - -//****************************************************************************************************** -// Common methods, should apply to both in-memory and disk storage -//****************************************************************************************************** -- (BOOL)objectExistsForKey:(NSString *)key -{ - return [self.cache objectForKey:key] != nil; -} - -- (void)removeObjectForKey:(NSString *)key -{ - [self.cache removeObjectForKey:key]; -} - -- (void)removeObjectForKey:(NSString *)key completion:(PINRemoteImageCachingObjectBlock)completion -{ - __weak typeof(self) weakSelf = self; - id object = [self.cache objectForKey:key]; - [self.cache removeObjectForKey:key]; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - if (completion) { - typeof(self) strongSelf = weakSelf; - completion(strongSelf, key, object); - } - }); -} - -- (void)removeAllObjects -{ - [self.cache removeAllObjects]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCaching.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCaching.h deleted file mode 100644 index bfafbdfc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCaching.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// PINRemoteImageCaching.h -// Pods -// -// Created by Aleksei Shevchenko on 7/25/16. -// -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@protocol PINRemoteImageCaching; -typedef void (^PINRemoteImageCachingObjectBlock)(id cache, NSString *key, id __nullable object); - -/** - * Image Cache is responsible for actual image caching. - */ -@protocol PINRemoteImageCaching - -//****************************************************************************************************** -// Memory cache methods -//****************************************************************************************************** -- (nullable id)objectFromMemoryForKey:(NSString *)key; -- (void)setObjectInMemory:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost; - -//****************************************************************************************************** -// Disk cache methods -//****************************************************************************************************** -- (nullable id)objectFromDiskForKey:(NSString *)key; -- (void)objectFromDiskForKey:(NSString *)key completion:(nullable PINRemoteImageCachingObjectBlock)completion; -- (void)setObjectOnDisk:(id)object forKey:(NSString *)key; - - -- (BOOL)objectExistsForKey:(NSString *)key; - -- (void)removeObjectForKey:(NSString *)key; -- (void)removeObjectForKey:(NSString *)key completion:(nullable PINRemoteImageCachingObjectBlock)completion; -- (void)removeAllObjects; - -@optional - -- (void)removeObjectForKeyFromMemory:(NSString *)key; -- (void)setObjectInMemory:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost withAgeLimit:(NSTimeInterval)ageLimit; -- (void)setObjectOnDisk:(id)object forKey:(NSString *)key withAgeLimit:(NSTimeInterval)ageLimit; -- (BOOL)memoryCacheIsTTLCache; -- (BOOL)diskCacheIsTTLCache; - -@end - - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCallbacks.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCallbacks.h deleted file mode 100644 index ebfbfc2d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCallbacks.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// PINRemoteImageCallbacks.h -// Pods -// -// Created by Garrett Moon on 3/9/15. -// -// - -#import - -#import "PINRemoteImageManager.h" - -@interface PINRemoteImageCallbacks : NSObject - -@property (atomic, strong, nullable) PINRemoteImageManagerImageCompletion completionBlock; -@property (atomic, strong, nullable) PINRemoteImageManagerImageCompletion progressImageBlock; -@property (atomic, strong, nullable) PINRemoteImageManagerProgressDownload progressDownloadBlock; -@property (assign, readonly) CFTimeInterval requestTime; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCallbacks.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCallbacks.m deleted file mode 100644 index f64795bc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCallbacks.m +++ /dev/null @@ -1,21 +0,0 @@ -// -// PINRemoteImageCallbacks.m -// Pods -// -// Created by Garrett Moon on 3/9/15. -// -// - -#import "PINRemoteImageCallbacks.h" - -@implementation PINRemoteImageCallbacks - -- (instancetype)init -{ - if (self = [super init]) { - _requestTime = CACurrentMediaTime(); - } - return self; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCategoryManager.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCategoryManager.h deleted file mode 100644 index ec941242..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCategoryManager.h +++ /dev/null @@ -1,230 +0,0 @@ -// -// PINRemoteImageCategory.h -// Pods -// -// Created by Garrett Moon on 11/4/14. -// -// - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -#import "PINRemoteImageManager.h" - -@protocol PINRemoteImageCategory; - -/** - PINRemoteImageCategoryManager is a class that handles subclassing image display classes. PINImageView+PINRemoteImage, UIButton+PINRemoteImage, etc, all delegate their work to this class. If you'd like to create a category to display an image on a view, you should mimic one of the above categories. - */ - -@interface PINRemoteImageCategoryManager : NSObject - -+ (void)setImageOnView:(nonnull id )view - fromURL:(nullable NSURL *)url; - -+ (void)setImageOnView:(nonnull id )view - fromURL:(nullable NSURL *)url - placeholderImage:(nullable PINImage *)placeholderImage; - -+ (void)setImageOnView:(nonnull id )view - fromURL:(nullable NSURL *)url - placeholderImage:(nullable PINImage *)placeholderImage - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -+ (void)setImageOnView:(nonnull id )view - fromURL:(nullable NSURL *)url - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -+ (void)setImageOnView:(nonnull id )view - fromURL:(nullable NSURL *)url - processorKey:(nullable NSString *)processorKey - processor:(nullable PINRemoteImageManagerImageProcessor)processor; - -+ (void)setImageOnView:(nonnull id )view - fromURL:(nullable NSURL *)url - placeholderImage:(nullable PINImage *)placeholderImage - processorKey:(nullable NSString *)processorKey - processor:(nullable PINRemoteImageManagerImageProcessor)processor; - -+ (void)setImageOnView:(nonnull id )view - fromURL:(nullable NSURL *)url - processorKey:(nullable NSString *)processorKey - processor:(nullable PINRemoteImageManagerImageProcessor)processor - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -+ (void)setImageOnView:(nonnull id )view - fromURLs:(nullable NSArray *)urls - placeholderImage:(nullable PINImage *)placeholderImage - processorKey:(nullable NSString *)processorKey - processor:(nullable PINRemoteImageManagerImageProcessor)processor - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -+ (void)setImageOnView:(nonnull id )view - fromURLs:(nullable NSArray *)urls; - -+ (void)setImageOnView:(nonnull id )view - fromURLs:(nullable NSArray *)urls - placeholderImage:(nullable PINImage *)placeholderImage; - -+ (void)setImageOnView:(nonnull id )view - fromURLs:(nullable NSArray *)urls - placeholderImage:(nullable PINImage *)placeholderImage - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -+ (void)cancelImageDownloadOnView:(nonnull id )view; - -+ (nullable NSUUID *)downloadImageOperationUUIDOnView:(nonnull id )view; - -+ (void)setDownloadImageOperationUUID:(nullable NSUUID *)downloadImageOperationUUID onView:(nonnull id )view; - -+ (BOOL)updateWithProgressOnView:(nonnull id )view; - -+ (void)setUpdateWithProgressOnView:(BOOL)updateWithProgress onView:(nonnull id )view; - -@end - -/** - Protocol to implement on UIView subclasses to support PINRemoteImage - */ -@protocol PINRemoteImageCategory - -//Call manager - -/** - Set the image from the given URL. - - @param url NSURL to fetch from. - */ -- (void)pin_setImageFromURL:(nullable NSURL *)url; - -/** - Set the image from the given URL and set placeholder image while image at URL is being retrieved. - - @param url NSURL to fetch from. - @param placeholderImage PINImage to set on the view while the image at URL is being retrieved. - */ -- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage; - -/** - Set the image from the given URL and call completion when finished. - - @param url NSURL to fetch from. - @param completion Called when url has been retrieved and set on view. - */ -- (void)pin_setImageFromURL:(nullable NSURL *)url completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Set the image from the given URL, set placeholder while image at url is being retrieved and call completion when finished. - - @param url NSURL to fetch from. - @param placeholderImage PINImage to set on the view while the image at URL is being retrieved. - @param completion Called when url has been retrieved and set on view. - */ -- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Retrieve the image from the given URL, process it using the passed in processor block and set result on view. - - @param url NSURL to fetch from. - @param processorKey NSString key to uniquely identify processor. Used in caching. - @param processor PINRemoteImageManagerImageProcessor processor block which should return the processed image. - */ -- (void)pin_setImageFromURL:(nullable NSURL *)url processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor; - -/** - Set placeholder on view and retrieve the image from the given URL, process it using the passed in processor block and set result on view. - - @param url NSURL to fetch from. - @param placeholderImage PINImage to set on the view while the image at URL is being retrieved. - @param processorKey NSString key to uniquely identify processor. Used in caching. - @param processor PINRemoteImageManagerImageProcessor processor block which should return the processed image. - */ -- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor; - -/** - Retrieve the image from the given URL, process it using the passed in processor block and set result on view. Call completion after image has been fetched, processed and set on view. - - @param url NSURL to fetch from. - @param processorKey NSString key to uniquely identify processor. Used in caching. - @param processor PINRemoteImageManagerImageProcessor processor block which should return the processed image. - @param completion Called when url has been retrieved and set on view. - */ -- (void)pin_setImageFromURL:(nullable NSURL *)url processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Set placeholder on view and retrieve the image from the given URL, process it using the passed in processor block and set result on view. Call completion after image has been fetched, processed and set on view. - - @param url NSURL to fetch from. - @param placeholderImage PINImage to set on the view while the image at URL is being retrieved. - @param processorKey NSString key to uniquely identify processor. Used in caching. - @param processor PINRemoteImageManagerImageProcessor processor block which should return the processed image. - @param completion Called when url has been retrieved and set on view. - */ -- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Retrieve one of the images at the passed in URLs depending on previous network performance and set result on view. - - @param urls NSArray of NSURLs sorted in increasing quality - */ -- (void)pin_setImageFromURLs:(nullable NSArray *)urls; - -/** - Set placeholder on view and retrieve one of the images at the passed in URLs depending on previous network performance and set result on view. - - @param urls NSArray of NSURLs sorted in increasing quality - @param placeholderImage PINImage to set on the view while the image at URL is being retrieved. - */ -- (void)pin_setImageFromURLs:(nullable NSArray *)urls placeholderImage:(nullable PINImage *)placeholderImage; - -/** - Set placeholder on view and retrieve one of the images at the passed in URLs depending on previous network performance and set result on view. Call completion after image has been fetched and set on view. - - @param urls NSArray of NSURLs sorted in increasing quality - @param placeholderImage PINImage to set on the view while the image at URL is being retrieved. - @param completion Called when url has been retrieved and set on view. - */ -- (void)pin_setImageFromURLs:(nullable NSArray *)urls placeholderImage:(nullable PINImage *)placeholderImage completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Cancels the image download. Guarantees that previous setImage calls will *not* have their results set on the image view after calling this (as opposed to PINRemoteImageManager which does not guarantee cancellation). - */ -- (void)pin_cancelImageDownload; - -/** - Returns the NSUUID associated with any PINRemoteImage task currently running on the view. - - @return NSUUID associated with any PINRemoteImage task currently running on the view. - */ -- (nullable NSUUID *)pin_downloadImageOperationUUID; - -/** - Set the current NSUUID associated with a PINRemoteImage task running on the view. - - @param downloadImageOperationUUID NSUUID associated with a PINRemoteImage task. - */ -- (void)pin_setDownloadImageOperationUUID:(nullable NSUUID *)downloadImageOperationUUID; - -/** - Whether the view should update with progress images (such as those provided by progressive JPEG images). - - @return BOOL value indicating whether the view should update with progress images - */ -@property (nonatomic, assign) BOOL pin_updateWithProgress; - -//Handle -- (void)pin_setPlaceholderWithImage:(nullable PINImage *)image; -- (void)pin_updateUIWithRemoteImageManagerResult:(nonnull PINRemoteImageManagerResult *)result; -- (void)pin_clearImages; -- (BOOL)pin_ignoreGIFs; - -@optional - -- (PINRemoteImageManagerDownloadOptions)pin_defaultOptions; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCategoryManager.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCategoryManager.m deleted file mode 100644 index 54635d6c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageCategoryManager.m +++ /dev/null @@ -1,268 +0,0 @@ -// -// PINRemoteImageCategory.m -// Pods -// -// Created by Garrett Moon on 11/4/14. -// -// - -#import "PINRemoteImageCategoryManager.h" - -#import - -@implementation PINRemoteImageCategoryManager - -+ (void)setImageOnView:(id )view - fromURL:(NSURL *)url -{ - [self setImageOnView:view fromURL:url placeholderImage:nil]; -} - -+ (void)setImageOnView:(id )view - fromURL:(NSURL *)url - placeholderImage:(PINImage *)placeholderImage -{ - [self setImageOnView:view fromURL:url placeholderImage:placeholderImage completion:nil]; -} - -+ (void)setImageOnView:(id )view - fromURL:(NSURL *)url - completion:(PINRemoteImageManagerImageCompletion)completion -{ - [self setImageOnView:view fromURL:url placeholderImage:nil completion:completion]; -} - -+ (void)setImageOnView:(id )view - fromURL:(NSURL *)url - placeholderImage:(PINImage *)placeholderImage - completion:(PINRemoteImageManagerImageCompletion)completion -{ - [self setImageOnView:view - fromURLs:url?@[url]:nil - placeholderImage:placeholderImage - processorKey:nil - processor:nil - completion:completion]; -} - -+ (void)setImageOnView:(id )view - fromURL:(NSURL *)url - processorKey:(NSString *)processorKey - processor:(PINRemoteImageManagerImageProcessor)processor -{ - [self setImageOnView:view - fromURL:url - processorKey:processorKey - processor:processor - completion:nil]; -} - -+ (void)setImageOnView:(id )view - fromURL:(NSURL *)url - placeholderImage:(PINImage *)placeholderImage - processorKey:(NSString *)processorKey - processor:(PINRemoteImageManagerImageProcessor)processor -{ - [self setImageOnView:view - fromURLs:url?@[url]:nil - placeholderImage:placeholderImage - processorKey:processorKey - processor:processor - completion:nil]; -} - -+ (void)setImageOnView:(id )view - fromURL:(NSURL *)url - processorKey:(NSString *)processorKey - processor:(PINRemoteImageManagerImageProcessor)processor - completion:(PINRemoteImageManagerImageCompletion)completion -{ - [self setImageOnView:view - fromURLs:url?@[url]:nil - placeholderImage:nil - processorKey:processorKey - processor:processor - completion:completion]; -} - -+ (void)setImageOnView:(id )view - fromURLs:(NSArray *)urls -{ - [self setImageOnView:view - fromURLs:urls - placeholderImage:nil]; -} - -+ (void)setImageOnView:(id )view - fromURLs:(NSArray *)urls - placeholderImage:(PINImage *)placeholderImage -{ - [self setImageOnView:view - fromURLs:urls - placeholderImage:placeholderImage - completion:nil]; -} - -+ (void)setImageOnView:(id )view - fromURLs:(NSArray *)urls - placeholderImage:(PINImage *)placeholderImage - completion:(PINRemoteImageManagerImageCompletion)completion -{ - return [self setImageOnView:view - fromURLs:urls - placeholderImage:placeholderImage - processorKey:nil - processor:nil - completion:completion]; -} - -+ (NSUUID *)downloadImageOperationUUIDOnView:(id )view -{ - return (NSUUID *)objc_getAssociatedObject(view, @selector(downloadImageOperationUUIDOnView:)); -} - -+ (void)setDownloadImageOperationUUID:(NSUUID *)downloadImageOperationUUID onView:(id )view -{ - objc_setAssociatedObject(view, @selector(downloadImageOperationUUIDOnView:), downloadImageOperationUUID, OBJC_ASSOCIATION_RETAIN_NONATOMIC); -} - -+ (BOOL)updateWithProgressOnView:(id )view -{ - return [(NSNumber *)objc_getAssociatedObject(view, @selector(updateWithProgressOnView:)) boolValue]; -} - -+ (void)setUpdateWithProgressOnView:(BOOL)updateWithProgress onView:(id )view -{ - objc_setAssociatedObject(view, @selector(updateWithProgressOnView:), [NSNumber numberWithBool:updateWithProgress], OBJC_ASSOCIATION_RETAIN); -} - -+ (void)cancelImageDownloadOnView:(id )view -{ - if ([self downloadImageOperationUUIDOnView:view]) { - [[PINRemoteImageManager sharedImageManager] cancelTaskWithUUID:[self downloadImageOperationUUIDOnView:view]]; - [self setDownloadImageOperationUUID:nil onView:view]; - } -} - -+ (void)setImageOnView:(id )view - fromURLs:(NSArray *)urls - placeholderImage:(PINImage *)placeholderImage - processorKey:(NSString *)processorKey - processor:(PINRemoteImageManagerImageProcessor)processor - completion:(PINRemoteImageManagerImageCompletion)completion -{ - if (![NSThread isMainThread]) { - dispatch_async(dispatch_get_main_queue(), ^{ - [self setImageOnView:view - fromURLs:urls - placeholderImage:placeholderImage - processorKey:processorKey - processor:processor - completion:completion]; - }); - return; - } - - [self cancelImageDownloadOnView:view]; - - if (placeholderImage) { - [view pin_setPlaceholderWithImage:placeholderImage]; - } - - if (urls == nil || urls.count == 0) { - if (!placeholderImage) { - [view pin_clearImages]; - } - return; - } - - PINRemoteImageManagerDownloadOptions options; - if([view respondsToSelector:@selector(pin_defaultOptions)]) { - options = [view pin_defaultOptions]; - } else { - options = PINRemoteImageManagerDownloadOptionsNone; - } - - if ([view pin_ignoreGIFs]) { - options |= PINRemoteImageManagerDisallowAlternateRepresentations; - } - - PINRemoteImageManagerImageCompletion internalProgress = nil; - if ([self updateWithProgressOnView:view] && processorKey.length <= 0 && processor == nil) { - internalProgress = ^(PINRemoteImageManagerResult *result) - { - void (^mainQueue)(void) = ^{ - //if result.UUID is nil, we returned immediately and want this result - NSUUID *currentUUID = [self downloadImageOperationUUIDOnView:view]; - if (![currentUUID isEqual:result.UUID] && result.UUID != nil) { - return; - } - if (result.image) { - [view pin_updateUIWithRemoteImageManagerResult:result]; - - } - }; - if ([NSThread isMainThread]) { - mainQueue(); - } else { - dispatch_async(dispatch_get_main_queue(), ^{ - mainQueue(); - }); - } - }; - } - - PINRemoteImageManagerImageCompletion internalCompletion = ^(PINRemoteImageManagerResult *result) - { - void (^mainQueue)(void) = ^{ - //if result.UUID is nil, we returned immediately and want this result - NSUUID *currentUUID = [self downloadImageOperationUUIDOnView:view]; - if (![currentUUID isEqual:result.UUID] && result.UUID != nil) { - return; - } - [self setDownloadImageOperationUUID:nil onView:view]; - if (result.error) { - if (completion) { - completion(result); - } - return; - } - - [view pin_updateUIWithRemoteImageManagerResult:result]; - - if (completion) { - completion(result); - } - }; - if ([NSThread isMainThread]) { - mainQueue(); - } else { - dispatch_async(dispatch_get_main_queue(), ^{ - mainQueue(); - }); - } - }; - - NSUUID *downloadImageOperationUUID = nil; - if (urls.count > 1) { - downloadImageOperationUUID = [[PINRemoteImageManager sharedImageManager] downloadImageWithURLs:urls - options:options - progressImage:internalProgress - completion:internalCompletion]; - } else if (processorKey.length > 0 && processor) { - downloadImageOperationUUID = [[PINRemoteImageManager sharedImageManager] downloadImageWithURL:urls[0] - options:options - processorKey:processorKey - processor:processor - completion:internalCompletion]; - } else { - downloadImageOperationUUID = [[PINRemoteImageManager sharedImageManager] downloadImageWithURL:urls[0] - options:options - progressImage:internalProgress - completion:internalCompletion]; - } - - [self setDownloadImageOperationUUID:downloadImageOperationUUID onView:view]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadQueue.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadQueue.h deleted file mode 100644 index 574a2800..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadQueue.h +++ /dev/null @@ -1,47 +0,0 @@ -// -// PINRemoteImageDownloadQueue.h -// PINRemoteImage -// -// Created by Garrett Moon on 3/1/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import - -#import "PINRemoteImageManager.h" - -@class PINURLSessionManager; - -NS_ASSUME_NONNULL_BEGIN - -typedef void (^PINRemoteImageDownloadCompletion)(NSURLResponse * _Nullable response, NSError *error); - -@interface PINRemoteImageDownloadQueue : NSObject - -@property (atomic, assign) NSUInteger maxNumberOfConcurrentDownloads; - -- (instancetype)init NS_UNAVAILABLE; -+ (PINRemoteImageDownloadQueue *)queueWithMaxConcurrentDownloads:(NSUInteger)maxNumberOfConcurrentDownloads; - -- (NSURLSessionDataTask *)addDownloadWithSessionManager:(PINURLSessionManager *)sessionManager - request:(NSURLRequest *)request - priority:(PINRemoteImageManagerPriority)priority - completionHandler:(PINRemoteImageDownloadCompletion)completionHandler; - -/*** - This prevents a task from being run if it hasn't already started yet. It is the caller's responsibility to cancel - the task if it has already been started. - - @return BOOL Returns YES if the task was in the queue. - */ -- (BOOL)removeDownloadTaskFromQueue:(NSURLSessionDataTask *)downloadTask; - -/* - This sets the tasks priority of execution. It is the caller's responsibility to set the priority on the task itself - for NSURLSessionManager. - */ -- (void)setQueuePriority:(PINRemoteImageManagerPriority)priority forTask:(NSURLSessionDataTask *)downloadTask; - -NS_ASSUME_NONNULL_END - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadQueue.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadQueue.m deleted file mode 100644 index 07e70f2e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadQueue.m +++ /dev/null @@ -1,177 +0,0 @@ -// -// PINRemoteImageDownloadQueue.m -// PINRemoteImage -// -// Created by Garrett Moon on 3/1/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINRemoteImageDownloadQueue.h" - -#import "PINURLSessionManager.h" -#import "PINRemoteLock.h" - -@interface PINRemoteImageDownloadQueue () -{ - PINRemoteLock *_lock; - - NSMutableOrderedSet *_highPriorityQueuedOperations; - NSMutableOrderedSet *_defaultPriorityQueuedOperations; - NSMutableOrderedSet *_lowPriorityQueuedOperations; - NSMutableSet *_runningTasks; -} - -@end - -@implementation PINRemoteImageDownloadQueue - -@synthesize maxNumberOfConcurrentDownloads = _maxNumberOfConcurrentDownloads; - -+ (PINRemoteImageDownloadQueue *)queueWithMaxConcurrentDownloads:(NSUInteger)maxNumberOfConcurrentDownloads -{ - return [[PINRemoteImageDownloadQueue alloc] initWithMaxConcurrentDownloads:maxNumberOfConcurrentDownloads]; -} - -- (PINRemoteImageDownloadQueue *)initWithMaxConcurrentDownloads:(NSUInteger)maxNumberOfConcurrentDownloads -{ - if (self = [super init]) { - _maxNumberOfConcurrentDownloads = maxNumberOfConcurrentDownloads; - - _lock = [[PINRemoteLock alloc] initWithName:@"PINRemoteImageDownloadQueue Lock"]; - _highPriorityQueuedOperations = [[NSMutableOrderedSet alloc] init]; - _defaultPriorityQueuedOperations = [[NSMutableOrderedSet alloc] init]; - _lowPriorityQueuedOperations = [[NSMutableOrderedSet alloc] init]; - _runningTasks = [[NSMutableSet alloc] init]; - } - return self; -} - -- (NSUInteger)maxNumberOfConcurrentDownloads -{ - [self lock]; - NSUInteger maxNumberOfConcurrentDownloads = _maxNumberOfConcurrentDownloads; - [self unlock]; - return maxNumberOfConcurrentDownloads; -} - -- (void)setMaxNumberOfConcurrentDownloads:(NSUInteger)maxNumberOfConcurrentDownloads -{ - [self lock]; - _maxNumberOfConcurrentDownloads = maxNumberOfConcurrentDownloads; - [self unlock]; - - [self scheduleDownloadsIfNeeded]; -} - -- (NSURLSessionDataTask *)addDownloadWithSessionManager:(PINURLSessionManager *)sessionManager - request:(NSURLRequest *)request - priority:(PINRemoteImageManagerPriority)priority - completionHandler:(PINRemoteImageDownloadCompletion)completionHandler -{ - NSURLSessionDataTask *dataTask = [sessionManager dataTaskWithRequest:request - priority:priority - completionHandler:^(NSURLSessionTask *task, NSError *error) { - completionHandler(task.response, error); - [self lock]; - [self->_runningTasks removeObject:task]; - [self unlock]; - - [self scheduleDownloadsIfNeeded]; - }]; - - [self setQueuePriority:priority forTask:dataTask addIfNecessary:YES]; - - [self scheduleDownloadsIfNeeded]; - - return dataTask; -} - -- (void)scheduleDownloadsIfNeeded -{ - [self lock]; - while (_runningTasks.count < _maxNumberOfConcurrentDownloads) { - NSMutableOrderedSet *queue = nil; - if (_highPriorityQueuedOperations.count > 0) { - queue = _highPriorityQueuedOperations; - } else if (_defaultPriorityQueuedOperations.count > 0) { - queue = _defaultPriorityQueuedOperations; - } else if (_lowPriorityQueuedOperations.count > 0) { - queue = _lowPriorityQueuedOperations; - } - - if (!queue) { - break; - } - - NSURLSessionDataTask *task = [queue firstObject]; - [queue removeObjectAtIndex:0]; - [task resume]; - - [_runningTasks addObject:task]; - } - [self unlock]; -} - -- (BOOL)removeDownloadTaskFromQueue:(NSURLSessionDataTask *)downloadTask -{ - BOOL containsTask = NO; - [self lock]; - if ([_highPriorityQueuedOperations containsObject:downloadTask]) { - containsTask = YES; - [_highPriorityQueuedOperations removeObject:downloadTask]; - } else if ([_defaultPriorityQueuedOperations containsObject:downloadTask]) { - containsTask = YES; - [_defaultPriorityQueuedOperations removeObject:downloadTask]; - } else if ([_lowPriorityQueuedOperations containsObject:downloadTask]) { - containsTask = YES; - [_lowPriorityQueuedOperations removeObject:downloadTask]; - } - [self unlock]; - return containsTask; -} - -- (void)setQueuePriority:(PINRemoteImageManagerPriority)priority forTask:(NSURLSessionDataTask *)downloadTask -{ - [self setQueuePriority:priority forTask:downloadTask addIfNecessary:NO]; -} - -- (void)setQueuePriority:(PINRemoteImageManagerPriority)priority forTask:(NSURLSessionDataTask *)downloadTask addIfNecessary:(BOOL)addIfNecessary -{ - BOOL containsTask = [self removeDownloadTaskFromQueue:downloadTask]; - - if (containsTask || addIfNecessary) { - NSMutableOrderedSet *queue = nil; - [self lock]; - switch (priority) { - case PINRemoteImageManagerPriorityLow: - queue = _lowPriorityQueuedOperations; - break; - - case PINRemoteImageManagerPriorityDefault: - queue = _defaultPriorityQueuedOperations; - break; - - case PINRemoteImageManagerPriorityHigh: - queue = _highPriorityQueuedOperations; - break; - - default: - NSAssert(NO, @"invalid priority: %tu", priority); - break; - } - [queue addObject:downloadTask]; - [self unlock]; - } -} - -- (void)lock -{ - [_lock lock]; -} - -- (void)unlock -{ - [_lock unlock]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadTask.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadTask.h deleted file mode 100644 index c0364c19..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadTask.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// PINRemoteImageDownloadTask.h -// Pods -// -// Created by Garrett Moon on 3/9/15. -// -// - -#import - -#import "PINRemoteImageManager+Private.h" -#import "PINRemoteImageTask.h" -#import "PINProgressiveImage.h" -#import "PINResume.h" - -@interface PINRemoteImageDownloadTask : PINRemoteImageTask - -@property (nonatomic, strong, nullable, readonly) NSURL *URL; -@property (nonatomic, copy, nullable) NSString *ifRange; -@property (nonatomic, copy, readonly, nullable) NSData *data; - -@property (nonatomic, readonly) CFTimeInterval estimatedRemainingTime; - -- (void)scheduleDownloadWithRequest:(nonnull NSURLRequest *)request - resume:(nullable PINResume *)resume - skipRetry:(BOOL)skipRetry - priority:(PINRemoteImageManagerPriority)priority - completionHandler:(nonnull PINRemoteImageManagerDataCompletion)completionHandler; - -- (void)didReceiveData:(nonnull NSData *)data; -- (void)didReceiveResponse:(nonnull NSURLResponse *)response; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadTask.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadTask.m deleted file mode 100644 index b1b261dc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageDownloadTask.m +++ /dev/null @@ -1,380 +0,0 @@ -// -// PINRemoteImageDownloadTask.m -// Pods -// -// Created by Garrett Moon on 3/9/15. -// -// - -#import "PINRemoteImageDownloadTask.h" - -#import "PINRemoteImageTask+Subclassing.h" -#import "PINRemoteImage.h" -#import "PINRemoteImageCallbacks.h" -#import "PINRemoteLock.h" -#import "PINSpeedRecorder.h" - -@interface PINRemoteImageDownloadTask () -{ - PINProgressiveImage *_progressImage; - PINResume *_resume; - id _retryStrategy; -} - -@end - -@implementation PINRemoteImageDownloadTask - -- (instancetype)initWithManager:(PINRemoteImageManager *)manager -{ - if (self = [super initWithManager:manager]) { - _retryStrategy = manager.retryStrategyCreationBlock(); - } - return self; -} - -- (void)callProgressDownload -{ - NSDictionary *callbackBlocks = self.callbackBlocks; - #if PINRemoteImageLogging - NSString *key = self.key; - #endif - - __block int64_t completedBytes; - __block int64_t totalBytes; - - [self.lock lockWithBlock:^{ - completedBytes = self->_progressImage.dataTask.countOfBytesReceived; - totalBytes = self->_progressImage.dataTask.countOfBytesExpectedToReceive; - }]; - - [callbackBlocks enumerateKeysAndObjectsUsingBlock:^(NSUUID *UUID, PINRemoteImageCallbacks *callback, BOOL *stop) { - PINRemoteImageManagerProgressDownload progressDownloadBlock = callback.progressDownloadBlock; - if (progressDownloadBlock != nil) { - PINLog(@"calling progress for UUID: %@ key: %@", UUID, key); - dispatch_async(self.manager.callbackQueue, ^ - { - progressDownloadBlock(completedBytes, totalBytes); - }); - } - }]; -} - -- (void)callProgressImageWithImage:(nonnull PINImage *)image renderedImageQuality:(CGFloat)renderedImageQuality -{ - NSDictionary *callbackBlocks = self.callbackBlocks; -#if PINRemoteImageLogging - NSString *key = self.key; -#endif - - - [callbackBlocks enumerateKeysAndObjectsUsingBlock:^(NSUUID *UUID, PINRemoteImageCallbacks *callback, BOOL *stop) { - PINRemoteImageManagerImageCompletion progressImageBlock = callback.progressImageBlock; - if (progressImageBlock != nil) { - PINLog(@"calling progress for UUID: %@ key: %@", UUID, key); - CFTimeInterval requestTime = callback.requestTime; - - dispatch_async(self.manager.callbackQueue, ^ - { - progressImageBlock([PINRemoteImageManagerResult imageResultWithImage:image - alternativeRepresentation:nil - requestLength:CACurrentMediaTime() - requestTime - resultType:PINRemoteImageResultTypeProgress - UUID:UUID - response:nil - error:nil - renderedImageQuality:renderedImageQuality]); - }); - } - }]; -} - -- (BOOL)cancelWithUUID:(NSUUID *)UUID resume:(PINResume **)resume -{ - __block BOOL noMoreCompletions; - __block PINResume *strongResume; - BOOL hasResume = resume != nil; - [self.lock lockWithBlock:^{ - if (hasResume) { - //consider skipping cancellation if there's a request for resume data and the time to start the connection is greater than - //the time remaining to download. - NSTimeInterval timeToFirstByte = [[PINSpeedRecorder sharedRecorder] weightedTimeToFirstByteForHost:self->_progressImage.dataTask.currentRequest.URL.host]; - if (self->_progressImage.estimatedRemainingTime <= timeToFirstByte) { - noMoreCompletions = NO; - return; - } - } - - noMoreCompletions = [super l_cancelWithUUID:UUID]; - - if (noMoreCompletions) { - [self.manager.urlSessionTaskQueue removeDownloadTaskFromQueue:self->_progressImage.dataTask]; - [self->_progressImage.dataTask cancel]; - - if (hasResume && self->_ifRange && self->_progressImage.dataTask.countOfBytesExpectedToReceive > 0 && self->_progressImage.dataTask.countOfBytesExpectedToReceive != NSURLSessionTransferSizeUnknown) { - NSData *progressData = self->_progressImage.data; - if (progressData.length > 0) { - strongResume = [PINResume resumeData:progressData ifRange:self->_ifRange totalBytes:self->_progressImage.dataTask.countOfBytesExpectedToReceive]; - } - } - - PINLog(@"Canceling download of URL: %@, UUID: %@", _progressImage.dataTask.originalRequest.URL, UUID); - } -#if PINRemoteImageLogging - else { - PINLog(@"Decrementing download of URL: %@, UUID: %@", _progressImage.dataTask.originalRequest.URL, UUID); - } -#endif - }]; - - if (hasResume) { - *resume = strongResume; - } - - return noMoreCompletions; -} - -- (void)setPriority:(PINRemoteImageManagerPriority)priority -{ - [super setPriority:priority]; - if (@available(iOS 8.0, macOS 10.10, tvOS 9.0, watchOS 2.0, *)) { - [self.lock lockWithBlock:^{ - NSURLSessionDataTask *dataTask = self->_progressImage.dataTask; - if (dataTask) { - dataTask.priority = dataTaskPriorityWithImageManagerPriority(priority); - [self.manager.urlSessionTaskQueue setQueuePriority:priority forTask:dataTask]; - } - }]; - } -} - -- (NSURL *)URL -{ - __block NSURL *url; - [self.lock lockWithBlock:^{ - url = self->_progressImage.dataTask.originalRequest.URL; - }]; - return url; -} - -- (nonnull PINRemoteImageManagerResult *)imageResultWithImage:(nullable PINImage *)image - alternativeRepresentation:(nullable id)alternativeRepresentation - requestLength:(NSTimeInterval)requestLength - error:(nullable NSError *)error - resultType:(PINRemoteImageResultType)resultType - UUID:(nullable NSUUID *)UUID - response:(nonnull NSURLResponse *)response -{ - __block NSUInteger bytesSavedByResuming; - [self.lock lockWithBlock:^{ - bytesSavedByResuming = self->_resume.resumeData.length; - }]; - return [PINRemoteImageManagerResult imageResultWithImage:image - alternativeRepresentation:alternativeRepresentation - requestLength:requestLength - resultType:resultType - UUID:UUID - response:response - error:error - bytesSavedByResuming:bytesSavedByResuming]; -} - -- (void)didReceiveData:(NSData *_Nonnull)data -{ - [self callProgressDownload]; - - __block int64_t expectedNumberOfBytes; - [self.lock lockWithBlock:^{ - expectedNumberOfBytes = self->_progressImage.dataTask.countOfBytesExpectedToReceive; - }]; - - [self updateData:data isResume:NO expectedBytes:expectedNumberOfBytes]; -} - -- (void)updateData:(NSData *)data isResume:(BOOL)isResume expectedBytes:(int64_t)expectedBytes -{ - __block PINProgressiveImage *progressImage; - __block BOOL hasProgressBlocks = NO; - [self.lock lockWithBlock:^{ - progressImage = self->_progressImage; - [[self l_callbackBlocks] enumerateKeysAndObjectsUsingBlock:^(NSUUID *UUID, PINRemoteImageCallbacks *callback, BOOL *stop) { - if (callback.progressImageBlock) { - hasProgressBlocks = YES; - *stop = YES; - } - }]; - }]; - - [progressImage updateProgressiveImageWithData:data expectedNumberOfBytes:expectedBytes isResume:isResume]; - - if (hasProgressBlocks) { - if (PINNSOperationSupportsBlur) { - [self.manager.concurrentOperationQueue scheduleOperation:^{ - CGFloat renderedImageQuality = 1.0; - PINImage *image = [progressImage currentImageBlurred:self.manager.shouldBlurProgressive maxProgressiveRenderSize:self.manager.maxProgressiveRenderSize renderedImageQuality:&renderedImageQuality]; - if (image) { - [self callProgressImageWithImage:image renderedImageQuality:renderedImageQuality]; - } - } withPriority:PINOperationQueuePriorityLow]; - } - } -} - -- (void)didReceiveResponse:(nonnull NSURLResponse *)response -{ - if ([response isKindOfClass:[NSHTTPURLResponse class]]) { - NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; - - // Got partial data back for a resume - if (httpResponse.statusCode == 206) { - __block PINResume *resume; - [self.lock lockWithBlock:^{ - resume = self->_resume; - }]; - - [self updateData:resume.resumeData isResume:YES expectedBytes:resume.totalBytes]; - } else { - //Check if there's resume data and we didn't get back a 206, get rid of it - [self.lock lockWithBlock:^{ - self->_resume = nil; - }]; - } - - // Check to see if the server supports resume - if ([[httpResponse allHeaderFields][@"Accept-Ranges"] isEqualToString:@"bytes"]) { - NSString *ifRange = nil; - NSString *etag = nil; - - if ((etag = [httpResponse allHeaderFields][@"ETag"])) { - if ([etag hasPrefix:@"W/"] == NO) { - ifRange = etag; - } - } else { - ifRange = [httpResponse allHeaderFields][@"Last-Modified"]; - } - - if (ifRange.length > 0) { - [self.lock lockWithBlock:^{ - self->_ifRange = ifRange; - }]; - } - } - } -} - -- (void)scheduleDownloadWithRequest:(nonnull NSURLRequest *)request - resume:(nullable PINResume *)resume - skipRetry:(BOOL)skipRetry - priority:(PINRemoteImageManagerPriority)priority - completionHandler:(nonnull PINRemoteImageManagerDataCompletion)completionHandler -{ - [self scheduleDownloadWithRequest:request resume:resume skipRetry:skipRetry priority:priority isRetry:NO completionHandler:completionHandler]; -} - -- (void)scheduleDownloadWithRequest:(NSURLRequest *)request - resume:(PINResume *)resume - skipRetry:(BOOL)skipRetry - priority:(PINRemoteImageManagerPriority)priority - isRetry:(BOOL)isRetry - completionHandler:(PINRemoteImageManagerDataCompletion)completionHandler -{ - [self.lock lockWithBlock:^{ - if (self->_progressImage != nil || [self l_callbackBlocks].count == 0 || (isRetry == NO && self->_retryStrategy.numberOfRetries > 0)) { - return; - } - self->_resume = resume; - - NSURLRequest *adjustedRequest = request; - if (self->_resume) { - NSMutableURLRequest *mutableRequest = [request mutableCopy]; - NSMutableDictionary *headers = [[mutableRequest allHTTPHeaderFields] mutableCopy]; - headers[@"If-Range"] = self->_resume.ifRange; - headers[@"Range"] = [NSString stringWithFormat:@"bytes=%tu-", self->_resume.resumeData.length]; - mutableRequest.allHTTPHeaderFields = headers; - adjustedRequest = mutableRequest; - } - - self->_progressImage = [[PINProgressiveImage alloc] initWithDataTask:[self.manager.urlSessionTaskQueue addDownloadWithSessionManager:self.manager.sessionManager - request:adjustedRequest - priority:priority - completionHandler:^(NSURLResponse * _Nonnull response, NSError * _Nonnull remoteError) - { - [self.manager.concurrentOperationQueue scheduleOperation:^{ - NSError *error = remoteError; -#if PINRemoteImageLogging - if (error && error.code != NSURLErrorCancelled) { - PINLog(@"Failed downloading image: %@ with error: %@", request.URL, error); - } else if (error == nil && response.expectedContentLength == 0) { - PINLog(@"image is empty at URL: %@", request.URL); - } else { - PINLog(@"Finished downloading image: %@", request.URL); - } -#endif - - if (error.code != NSURLErrorCancelled) { - NSData *data = self.progressImage.data; - - if (error == nil && data == nil) { - error = [NSError errorWithDomain:PINRemoteImageManagerErrorDomain - code:PINRemoteImageManagerErrorImageEmpty - userInfo:nil]; - } - - __block BOOL retry = NO; - __block int64_t delay = 0; - [self.lock lockWithBlock:^{ - retry = skipRetry == NO && [self->_retryStrategy shouldRetryWithError:error]; - if (retry) { - // Clear out the existing progress image or else new data from retry will be appended - self->_progressImage = nil; - [self->_retryStrategy incrementRetryCount]; - delay = [self->_retryStrategy nextDelay]; - } - }]; - if (retry) { - PINLog(@"Retrying download of %@ in %lld seconds.", request.URL, delay); - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [self scheduleDownloadWithRequest:request resume:nil skipRetry:skipRetry priority:priority isRetry:YES completionHandler:completionHandler]; - }); - return; - } - - completionHandler(data, response, error); - } - }]; - }]]; - }]; -} - -- (PINProgressiveImage *)progressImage -{ - __block PINProgressiveImage *progressImage = nil; - [self.lock lockWithBlock:^{ - progressImage = self->_progressImage; - }]; - return progressImage; -} - -+ (BOOL)retriableError:(NSError *)remoteImageError -{ - if ([remoteImageError.domain isEqualToString:PINURLErrorDomain]) { - return remoteImageError.code >= 500; - } else if ([remoteImageError.domain isEqualToString:NSURLErrorDomain] && remoteImageError.code == NSURLErrorUnsupportedURL) { - return NO; - } else if ([remoteImageError.domain isEqualToString:PINRemoteImageManagerErrorDomain]) { - return NO; - } - return YES; -} - -- (CFTimeInterval)estimatedRemainingTime -{ - return self.progressImage.estimatedRemainingTime; -} - -- (NSData *)data -{ - return self.progressImage.data; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageMacros.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageMacros.h deleted file mode 100644 index 6d6f248d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageMacros.h +++ /dev/null @@ -1,70 +0,0 @@ -// -// PINRemoteImageMacros.h -// PINRemoteImage -// - -#import - -#ifndef PINRemoteImageMacros_h -#define PINRemoteImageMacros_h - -#define PIN_TARGET_IOS (TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR || TARGET_OS_TV) -#define PIN_TARGET_MAC TARGET_OS_OSX - -#define PINRemoteImageLogging 0 -#if PINRemoteImageLogging -#define PINLog(args...) NSLog(args) -#else -#define PINLog(args...) -#endif - -#ifndef USE_PINCACHE - #if __has_include() - #define USE_PINCACHE 1 - #else - #define USE_PINCACHE 0 - #endif -#endif - -#ifndef PIN_WEBP - #if __has_include() - #define PIN_WEBP 1 - #else - #define PIN_WEBP 0 - #endif -#endif - -#if PIN_TARGET_IOS -#define PINImage UIImage -#define PINImageView UIImageView -#define PINButton UIButton -#define PINNSOperationSupportsBlur (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0) -#elif PIN_TARGET_MAC -#define PINImage NSImage -#define PINImageView NSImageView -#define PINButton NSButton -#define PINNSOperationSupportsBlur (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber10_10) -#define PINNSURLSessionTaskSupportsPriority (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber10_10) -#endif - -#define PINWeakify(var) __weak typeof(var) PINWeak_##var = var; - -#define PINStrongify(var) \ -_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wshadow\"") __strong typeof(var) var = \ -PINWeak_##var; \ -_Pragma("clang diagnostic pop") - -#define BlockAssert(condition, desc, ...) \ -do { \ -__PRAGMA_PUSH_NO_EXTRA_ARG_WARNINGS \ -if (!(condition)) { \ -[[NSAssertionHandler currentHandler] handleFailureInMethod:_cmd \ -object:strongSelf file:[NSString stringWithUTF8String:__FILE__] \ -lineNumber:__LINE__ description:(desc), ##__VA_ARGS__]; \ -} \ -__PRAGMA_POP_NO_EXTRA_ARG_WARNINGS \ -} while(0); - -#define PINAssertMain() NSAssert([NSThread isMainThread], @"Expected to be on the main thread."); - -#endif /* PINRemoteImageMacros_h */ diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManager+Private.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManager+Private.h deleted file mode 100644 index 39550e32..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManager+Private.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// PINRemoteImageManager+Private.h -// PINRemoteImage -// -// Created by Garrett Moon on 5/18/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#ifndef PINRemoteImageManager_Private_h -#define PINRemoteImageManager_Private_h - -#import "PINRemoteImageDownloadQueue.h" - -typedef void (^PINRemoteImageManagerDataCompletion)(NSData *data, NSURLResponse *response, NSError *error); - -@interface PINRemoteImageManager (PrivateExtension) - -@property (nonatomic, strong, readonly) dispatch_queue_t callbackQueue; -@property (nonatomic, strong, readonly) PINOperationQueue *concurrentOperationQueue; -@property (nonatomic, strong, readonly) PINRemoteImageDownloadQueue *urlSessionTaskQueue; -@property (nonatomic, strong, readonly) PINURLSessionManager *sessionManager; - -@property (nonatomic, readonly) NSArray *progressThresholds; -@property (nonatomic, readonly) NSTimeInterval estimatedRemainingTimeThreshold; -@property (nonatomic, readonly) BOOL shouldBlurProgressive; -@property (nonatomic, readonly) CGSize maxProgressiveRenderSize; - -@end - -#endif /* PINRemoteImageManager_Private_h */ diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManager.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManager.h deleted file mode 100644 index 83907078..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManager.h +++ /dev/null @@ -1,703 +0,0 @@ -// -// PINRemoteImageManager.h -// Pods -// -// Created by Garrett Moon on 8/17/14. -// -// - -#import - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -#import "PINRemoteImageManagerResult.h" - -#define PINRemoteImageHTTPMaximumConnectionsPerHost UINT16_MAX - -@protocol PINRemoteImageManagerAlternateRepresentationProvider; -@protocol PINRemoteImageCaching; -@protocol PINRequestRetryStrategy; - -@class PINRemoteImageManagerConfiguration; -@class PINRemoteImageManagerResult; - -extern NSErrorDomain _Nonnull const PINRemoteImageManagerErrorDomain; - -/** - Error codes returned by PINRemoteImage - */ -typedef NS_ERROR_ENUM(PINRemoteImageManagerErrorDomain, PINRemoteImageManagerError) { - /** The image failed to decode */ - PINRemoteImageManagerErrorFailedToDecodeImage = 1, - /** The image could not be downloaded and therefore could not be processed */ - PINRemoteImageManagerErrorFailedToFetchImageForProcessing = 2, - /** The image returned by the processor block was nil */ - PINRemoteImageManagerErrorFailedToProcessImage = 3, - /** The image in the cache was invalid */ - PINRemoteImageManagerErrorInvalidItemInCache = 4, - /** The image at the URL was empty */ - PINRemoteImageManagerErrorImageEmpty = 5, -}; - -/** - Options with which to download and process images - */ -typedef NS_OPTIONS(NSUInteger, PINRemoteImageManagerDownloadOptions) { - /** Download and process with default options (no other options set) */ - PINRemoteImageManagerDownloadOptionsNone = 0, - /** Set to disallow any alternate representations such as Animated Images */ - PINRemoteImageManagerDisallowAlternateRepresentations = 1, - /** Skip decoding the image before returning. This means smaller images returned, but images will be decoded on the main thread when set on an image view */ - PINRemoteImageManagerDownloadOptionsSkipDecode = 1 << 1, - /** Skip the early check of the memory cache */ - PINRemoteImageManagerDownloadOptionsSkipEarlyCheck = 1 << 2, - /** Save processed images as JPEGs in the cache. The default is PNG to support transparency */ - PINRemoteImageManagerSaveProcessedImageAsJPEG = 1 << 3, - /** Ignore cache and force download */ - PINRemoteImageManagerDownloadOptionsIgnoreCache = 1 << 4, - /** Skip download retry */ - PINRemoteImageManagerDownloadOptionsSkipRetry = 1 << 5, - /** - * Do not honor HTTP Cache-Control headers - * By default, PINRemoteImage will by default respect 'no-store', 'no-cache', 'max-age', - * 'Expires', and 'must-revalidate'. Set this flag to ignore those headers. - * TODO: Currently PINRemoteImage will re-download images that only must be re-validated. In the - * future this could be improved with revalidation behavior that stores ETag or Last-Modified - * values and only makes HEAD requests to see if these headers are unchanged. - * see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control and - * https://tools.ietf.org/html/rfc7234*/ - PINRemoteImageManagerDownloadOptionsIgnoreCacheControlHeaders = 1 << 6 -}; - -/** - Priority to download and process image at. - */ -typedef NS_ENUM(NSUInteger, PINRemoteImageManagerPriority) { - /** Low priority */ - PINRemoteImageManagerPriorityLow = 0, - /** Default priority */ - PINRemoteImageManagerPriorityDefault, - /** High priority */ - PINRemoteImageManagerPriorityHigh, - PINRemoteImageManagerPriorityVeryHigh DEPRECATED_ATTRIBUTE = PINRemoteImageManagerPriorityHigh, - PINRemoteImageManagerPriorityVeryLow DEPRECATED_ATTRIBUTE = PINRemoteImageManagerPriorityLow, - PINRemoteImageManagerPriorityMedium DEPRECATED_ATTRIBUTE = PINRemoteImageManagerPriorityDefault, -}; - -float dataTaskPriorityWithImageManagerPriority(PINRemoteImageManagerPriority priority); - -/** - Completion called for many PINRemoteImage tasks as well as progress updates. Passed in a PINRemoteImageManagerResult. - - @param result PINRemoteImageManagerResult which contains the downloaded image. - */ -typedef void (^PINRemoteImageManagerImageCompletion)(PINRemoteImageManagerResult * __nonnull result); - -/** - Processor block to post-process a downloaded image. Passed in a PINRemoteImageManagerResult and a pointer to an NSUInteger which can be updated to indicate the cost of processing the image. - - @param result PINRemoteImageManagerResult which contains the downloaded image. - @param cost NSUInteger point which can be modified to indicate the cost of processing the image. This is used when determining which cache objects to evict on memory pressure. - - @return return the processed UIImage - */ -typedef PINImage * _Nullable(^PINRemoteImageManagerImageProcessor)(PINRemoteImageManagerResult * __nonnull result, NSUInteger * __nonnull cost); - -/** - PINRemoteImageManager is the main workhorse of PINRemoteImage. It is unnecessary to access directly if you simply - wish to download images and have them rendered in a UIImageView, UIButton or PINAnimatedImageView. - - However, if you wish to download images directly, this class is your guy / gal. - - You can use this class to download images, postprocess downloaded images, prefetch images, download images progressively, or download one image in a set of images depending on network performance. - */ - -/** - Completion Handler block which will be forwarded to NSURLSessionTaskDelegate's completion handler - - @param disposition One of several constants that describes how the challenge should be handled. - @param credential The credential that should be used for authentication if disposition is NSURLSessionAuthChallengeUseCredential; otherwise, NULL. - */ -typedef void(^PINRemoteImageManagerAuthenticationChallengeCompletionHandler)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * __nullable credential); - -/** - Authentication challenge handler - - @param task The task whose request requires authentication. - @param challenge An object that contains the request for authentication. - @param aHandler A PINRemoteImageManagerAuthenticationChallengeCompletionHandler, see example for further details. - */ -typedef void(^PINRemoteImageManagerAuthenticationChallenge)(NSURLSessionTask * __nullable task, NSURLAuthenticationChallenge * __nonnull challenge, PINRemoteImageManagerAuthenticationChallengeCompletionHandler __nullable aHandler); - - -/** - Request configuration handler. Used to modify a network request before it is executed. - Useful for adding custom, per-request headers. - - @param request The request about to be executed - */ -typedef NSURLRequest * _Nonnull(^PINRemoteImageManagerRequestConfigurationHandler)(NSURLRequest * __nonnull request); - - -/** - Handler called for many PINRemoteImage tasks providing the progress of the download. - - @param completedBytes Amount of bytes that have been downloaded so far. - @param totalBytes Total amount of bytes in the image being downloaded. - */ -typedef void(^PINRemoteImageManagerProgressDownload)(int64_t completedBytes, int64_t totalBytes); - -/** - Reports NSURLSessionTaskMetrics for download requests - - */ -typedef void(^PINRemoteImageManagerMetrics)(NSURL * __nonnull url, NSURLSessionTaskMetrics * __nonnull metrics) API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)); - -/** An image downloading, processing and caching manager. It uses the concept of download and processing tasks to ensure that even if multiple calls to download or process an image are made, it only occurs one time (unless an item is no longer in the cache). PINRemoteImageManager is backed by GCD and safe to access from multiple threads simultaneously. It ensures that images are decoded off the main thread so that animation performance isn't affected. None of its exposed methods allow for synchronous access. However, it is optimized to call completions on the calling thread if an item is in its memory cache. **/ -@interface PINRemoteImageManager : NSObject - -@property (nonatomic, readonly, nonnull) id cache; - -/** - Create and return a PINRemoteImageManager created with the specified configuration. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. Specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. - @param sessionConfiguration The session configuration used to create the PINRemoteImageManager. - @return A PINRemoteImageManager with the specified configuration. - @note If you provide your own `sessionConfiguration`, please attention `HTTPMaximumConnectionsPerHost` property, it may causes timeout when in conjunction with `maxNumberOfConcurrentDownloads` if you set a larger number to `maxNumberOfConcurrentDownloads` but smaller number to `HTTPMaximumConnectionsPerHost`. - */ -- (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)sessionConfiguration; - -/** - Create and return a PINRemoteImageManager with the specified configuration and alternative representation delegate. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. Specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. If alternativeRepresentationProvider is nil, the default is used (and supports PINAnimatedImageView). - @param sessionConfiguration The session configuration used to create the PINRemoteImageManager. - @param alternativeRepresentationProvider a delegate which conforms to the PINRemoteImageManagerAlternateRepresentationProvider protocol. Provide a delegate if you want to have non image results. The manager maintains a weak reference to the delegate. @see PINRemoteImageManagerAlternateRepresentationProvider for an example. - @return A PINRemoteImageManager with the specified configuration. - @note If you provide your own `sessionConfiguration`, please attention `HTTPMaximumConnectionsPerHost` property, it may causes timeout when in conjunction with `maxNumberOfConcurrentDownloads` if you set a larger number to `maxNumberOfConcurrentDownloads` but smaller number to `HTTPMaximumConnectionsPerHost`. - */ -- (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)sessionConfiguration - alternativeRepresentationProvider:(nullable id )alternativeRepresentationProvider; - -/** - Create and return a PINRemoteImageManager with the specified configuration and alternative representation delegate. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. Specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. If alternativeRepresentationProvider is nil, the default is used (and supports PINAnimatedImageView). - @param sessionConfiguration The session configuration used to create the PINRemoteImageManager. - @param alternateRepDelegate a delegate which conforms to the PINRemoteImageManagerAlternateRepresentationProvider protocol. Provide a delegate if you want to have non image results. The manager maintains a weak reference to the delegate. @see PINRemoteImageManagerAlternateRepresentationProvider for an example. - @param imageCache Optional delegate which conforms to the PINRemoteImageCaching protocol. Provide a delegate if you want to control image caching. By default, image manager will use most appropriate implementation available (based on PINCache or NSCache, depending on subspec)@see PINRemoteImageBasicCache for an example. - @return A PINRemoteImageManager with the specified configuration. - @note If you provide your own `sessionConfiguration`, please attention `HTTPMaximumConnectionsPerHost` property, it may causes timeout when in conjunction with `maxNumberOfConcurrentDownloads` if you set a larger number to `maxNumberOfConcurrentDownloads` but smaller number to `HTTPMaximumConnectionsPerHost`. - */ -- (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)sessionConfiguration - alternativeRepresentationProvider:(nullable id )alternateRepDelegate - imageCache:(nullable id)imageCache; - -/** - Create and return a PINRemoteImageManager with the specified configuration and alternative representation delegate. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. Specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. If alternativeRepresentationProvider is nil, the default is used (and supports PINAnimatedImageView). - @param sessionConfiguration The session configuration used to create the PINRemoteImageManager. - @param alternateRepDelegate a delegate which conforms to the PINRemoteImageManagerAlternateRepresentationProvider protocol. Provide a delegate if you want to have non image results. The manager maintains a weak reference to the delegate. @see PINRemoteImageManagerAlternateRepresentationProvider for an example. - @param imageCache Optional delegate which conforms to the PINRemoteImageCaching protocol. Provide a delegate if you want to control image caching. By default, image manager will use most appropriate implementation available (based on PINCache or NSCache, depending on subspec)@see PINRemoteImageBasicCache for an example. - @param managerConfiguration The configuration used to create the PINRemoteImageManager. - @return A PINRemoteImageManager with the specified configuration. - @note If you provide your own `sessionConfiguration`, please attention `HTTPMaximumConnectionsPerHost` property, it may causes timeout when in conjunction with `maxNumberOfConcurrentDownloads` if you set a larger number to `maxNumberOfConcurrentDownloads` but smaller number to `HTTPMaximumConnectionsPerHost`. - */ -- (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)sessionConfiguration - alternativeRepresentationProvider:(nullable id )alternateRepDelegate - imageCache:(nullable id)imageCache - managerConfiguration:(nullable PINRemoteImageManagerConfiguration *)managerConfiguration NS_DESIGNATED_INITIALIZER; - -/** - Get the shared instance of PINRemoteImageManager - - @return Shared instance of PINRemoteImageManager - */ -+ (nonnull instancetype)sharedImageManager; - -/** - Sets the shared instance of PINRemoteImageManager to an instance with the supplied configuration. If configuration is nil, [NSURLSessionConfiguration ephemeralSessionConfiguration] is used. You specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. This method should not be used if the shared instance has already been created. - - @param configuration The configuration used to create the PINRemoteImageManager. - @note If you provide your own `sessionConfiguration`, please attention `HTTPMaximumConnectionsPerHost` property, it may causes timeout when in conjunction with `maxNumberOfConcurrentDownloads` if you set a larger number to `maxNumberOfConcurrentDownloads` but smaller number to `HTTPMaximumConnectionsPerHost`. - */ -+ (void)setSharedImageManagerWithConfiguration:(nullable NSURLSessionConfiguration *)configuration; - - -/** - The result of this method is assigned to self.cache in init. If you wish to provide a customized cache to the manager you can subclass PINRemoteImageManager and return a custom object, implementing PINRemoteImageCaching protocol from this method. Same effect could be achieved by using initWithSessionConfiguration:alternativeRepresentationProvider:imageCache: initializer. - @deprecated Use the class method +defaultImageCache - @warning This method is meant only for override. It will be called *once* by an instance of PINRemoteImageManager. The default implementation creates a new cache on every call. If you're looking to access the cache being used by an instance of PINRemoteImageManager, @c cache. - @return An instance of a object, implementing PINRemoteImageCaching protocol. - */ -- (nonnull id)defaultImageCache __attribute__((deprecated)); - -/** - The result of this method is assigned to self.cache in init. If you wish to provide a customized cache to the manager you can subclass PINRemoteImageManager and return a custom object, implementing PINRemoteImageCaching protocol from this method. Same effect could be achieved by using initWithSessionConfiguration:alternativeRepresentationProvider:imageCache: initializer. - @warning This method is meant only for override. It will be called *once* by an instance of PINRemoteImageManager. The default implementation creates a new cache on every call. If you're looking to access the cache being used by an instance of PINRemoteImageManager, @c cache. - @return An instance of a object, implementing PINRemoteImageCaching protocol. - */ -+ (nonnull id)defaultImageCache; - -/** - * If you want a Ttl (maxAge) image cache, you can pass the result of this method explicitly into the initWithSessionConfiguration:alternativeRepresentationProvider:imageCache: initializer. - * @return An instance of a object, implementing PINRemoteImageCaching protocol. - */ -+ (nonnull id)defaultImageTtlCache; - -/** - * Sets a custom header to be included in every request. Headers set from this method will override any header from NSURLSessionConfiguration. - * - * @deprecated Use NSURLSessionConfiguration.HTTPAdditionalHeaders instead - * @param value A value for the header. Pass in nil to remove a previously set value. - * @param header A string field for header. - - */ -- (void)setValue:(nullable NSString *)value forHTTPHeaderField:(nullable NSString *)header __attribute__((deprecated)); - -/** - Sets the Request Configuration Block. - - @param configurationBlock A PINRemoteImageManagerRequestConfigurationHandler block. - */ -- (void)setRequestConfiguration:(nullable PINRemoteImageManagerRequestConfigurationHandler)configurationBlock; - -/** - Set the Authentication Challenge Block. - - @param challengeBlock A PINRemoteImageManagerAuthenticationChallenge block. - */ -- (void)setAuthenticationChallenge:(nullable PINRemoteImageManagerAuthenticationChallenge)challengeBlock; - -/** - Set the minimum BPS to download the highest quality image in a set. - @see downloadImageWithURLs:options:progressImage:completion: - - @param highQualityBPSThreshold bytes per second minimum. Defaults to 500000. - @param completion Completion to be called once highQualityBPSThreshold has been set. - */ -- (void)setHighQualityBPSThreshold:(float)highQualityBPSThreshold completion:(nullable dispatch_block_t)completion; - -/** - Set the maximum BPS to download the lowest quality image in a set. - @see downloadImageWithURLs:options:progressImage:completion: - - @param lowQualityBPSThreshold bytes per second maximum. Defaults to 50000. - @param completion Completion to be called once lowQualityBPSThreshold has been set. - */ -- (void)setLowQualityBPSThreshold:(float)lowQualityBPSThreshold - completion:(nullable dispatch_block_t)completion; - -/** - Set whether high quality images should be downloaded when a low quality image is cached if network connectivity has improved. - @see downloadImageWithURLs:options:progressImage:completion: - - @param shouldUpgradeLowQualityImages if YES, low quality images will be 'upgraded'. - @param completion Completion to be called once shouldUpgradeLowQualityImages has been set. - */ -- (void)setShouldUpgradeLowQualityImages:(BOOL)shouldUpgradeLowQualityImages - completion:(nullable dispatch_block_t)completion; - -/** - Set the maximum number of concurrent operations (decompressing images, creating gifs, etc). - - @param maxNumberOfConcurrentOperations The maximum number of concurrent operations. Defaults to NSOperationQueueDefaultMaxConcurrentOperationCount. - @param completion Completion to be called once maxNumberOfConcurrentOperations is set. - */ -- (void)setMaxNumberOfConcurrentOperations:(NSInteger)maxNumberOfConcurrentOperations - completion:(nullable dispatch_block_t)completion; - -/** - Set the maximum number of concurrent downloads. - - @param maxNumberOfConcurrentDownloads The maximum number of concurrent downloads. Defaults to 10, maximum 65535. - @param completion Completion to be called once maxNumberOfConcurrentDownloads is set. - */ -- (void)setMaxNumberOfConcurrentDownloads:(NSInteger)maxNumberOfConcurrentDownloads - completion:(nullable dispatch_block_t)completion; - -/** - Set the estimated time remaining to download threshold at which to generate progressive images. Progressive images previews will only be generated if the estimated remaining time on a download is greater than estimatedTimeRemainingThreshold. If estimatedTimeRemainingThreshold is less than or equal to zero, this check is skipped. - - @param estimatedRemainingTimeThreshold The estimated remaining time threshold used to decide to skip progressive rendering. Defaults to 0.1. - @param completion Completion to be called once estimatedTimeRemainingTimeThreshold is set. - */ -- (void)setEstimatedRemainingTimeThresholdForProgressiveDownloads:(NSTimeInterval)estimatedRemainingTimeThreshold - completion:(nullable dispatch_block_t)completion; - -/** - Sets the progress at which progressive images are generated. By default this is @[@0.00, @0.35, @0.65] which generates at most, 3 progressive images. The first progressive image will only be generated when at least one scan has been completed (so you never see half an image). - - @param progressThresholds an array of progress thresholds at which to generate progressive images. progress thresholds should range from 0.00 - 1.00. Defaults to @[@0.00, @0.35, @0.65] - @param completion Completion to be called once progressThresholds is set. - */ -- (void)setProgressThresholds:(nonnull NSArray *)progressThresholds - completion:(nullable dispatch_block_t)completion; - -/** - Sets whether PINRemoteImage should blur progressive render results - - @param shouldBlur A bool value indicating whether PINRemoteImage should blur progressive render results - @param completion Completion to be called once progressThresholds is set. - */ -- (void)setProgressiveRendersShouldBlur:(BOOL)shouldBlur - completion:(nullable dispatch_block_t)completion; - -/** - Sets the maximum size of an image that PINRemoteImage will render progessively. If the image is too large, progressive rendering is skipped. - - @param maxProgressiveRenderSize A CGSize which indicates the max size PINRemoteImage will render a progressive image. If an image is larger in either dimension, progressive rendering will be skipped - @param completion Completion to be called once maxProgressiveRenderSize is set. - */ -- (void)setProgressiveRendersMaxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize - completion:(nullable dispatch_block_t)completion; - -/** - Sets a metrics callback block to be called when NSURLSessionTaskMetrics are reported for downloads. - - @warning PINRemoteImageManager will hold a strong reference to metricsCallback. Avoid retain cycles by using weak references in the block! - */ -- (void)setMetricsCallback:(nullable PINRemoteImageManagerMetrics)metricsCallback - completion:(nullable dispatch_block_t)completion API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)); - -/** - Prefetch an image at the given URL. - - @param url NSURL where the image to prefetch resides. - */ -- (nullable NSUUID *)prefetchImageWithURL:(nonnull NSURL *)url; - -/** - Prefetch an image at the given URL with given options. - - @param url NSURL where the image to prefetch resides. - @param options PINRemoteImageManagerDownloadOptions options with which to pefetch the image. - */ -- (nullable NSUUID *)prefetchImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options; - -/** - Prefetch an image at the given URL with given options. - - @param url NSURL where the image to prefetch resides. - @param options PINRemoteImageManagerDownloadOptions options with which to prefetch the image. - @param priority PINRemoteImageManagerPriority priority of the operation when to prefetch the image. - */ -- (nullable NSUUID *)prefetchImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options priority:(PINRemoteImageManagerPriority)priority; - -/** - Prefetch images at the given URLs. - - @param urls An array of NSURLs where the images to prefetch reside. - */ -- (nonnull NSArray *)prefetchImagesWithURLs:(nonnull NSArray *)urls; - -/** - Prefetch images at the given URLs with given options. - - @param urls An array of NSURLs where the images to prefetch reside. - @param options PINRemoteImageManagerDownloadOptions options with which to pefetch the image. - */ -- (nonnull NSArray *)prefetchImagesWithURLs:(nonnull NSArray *)urls options:(PINRemoteImageManagerDownloadOptions)options; - -/** - Prefetch images at the given URLs with given options. - - @param urls An array of NSURLs where the images to prefetch reside. - @param options PINRemoteImageManagerDownloadOptions options with which to pefetch the image. - @param priority PINRemoteImageManagerPriority priority of the operation to prefetch the image. - */ -- (nonnull NSArray *)prefetchImagesWithURLs:(nonnull NSArray *)urls options:(PINRemoteImageManagerDownloadOptions)options priority:(PINRemoteImageManagerPriority)priority; - -/** - Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - - @param url NSURL where the image to download resides. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - @return An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - */ -- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - - @param url NSURL where the image to download resides. - @param options PINRemoteImageManagerDownloadOptions options with which to fetch the image. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - @return An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - */ -- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - - @param url NSURL where the image to download resides. - @param options PINRemoteImageManagerDownloadOptions options with which to fetch the image. - @param progressImage PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - @return An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - */ -- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - - @param url NSURL where the image to download resides. - @param options PINRemoteImageManagerDownloadOptions options with which to fetch the image. - @param progressDownload PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - @return An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - */ -- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - - @param url NSURL where the image to download resides. - @param options PINRemoteImageManagerDownloadOptions options with which to fetch the image. - @param progressImage PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download. - @param progressDownload PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - @return An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - */ -- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage - progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Download or retrieve from cache the image found at the url and process it before calling completion. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - - @param url NSURL where the image to download resides. - @param options PINRemoteImageManagerDownloadOptions options with which to fetch the image. - @param priority PINRemoteImageManagerPriority which indicates the priority of the download task. - @param progressImage PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download. - @param progressDownload PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - @return An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - */ -- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - priority:(PINRemoteImageManagerPriority)priority - progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage - progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Download or retrieve from cache the image found at the url and process it before calling completion. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - - @param url NSURL where the image to download resides. - @param options PINRemoteImageManagerDownloadOptions options with which to fetch the image. - @param processorKey NSString key to uniquely identify processor and process. Will be used for caching processed images. - @param processor PINRemoteImageManagerImageProcessor block which will be called to post-process downloaded image. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - @return An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - */ -- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - processorKey:(nullable NSString *)processorKey - processor:(nullable PINRemoteImageManagerImageProcessor)processor - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Download or retrieve from cache the image found at the url and process it before calling completion. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - - @param url NSURL where the image to download resides. - @param options PINRemoteImageManagerDownloadOptions options with which to fetch the image. - @param processorKey NSString key to uniquely identify processor and process. Will be used for caching processed images. - @param progressDownload PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first. - @param processor PINRemoteImageManagerImageProcessor block which will be called to post-process downloaded image. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - @return An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - */ -- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - processorKey:(nullable NSString *)processorKey - processor:(nullable PINRemoteImageManagerImageProcessor)processor - progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Download or retrieve from cache one of the images found at the urls in the passed in array based on current network performance. URLs should be sorted from lowest quality image URL to highest. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - - Unless setShouldUpgradeLowQualityImages is set to YES, this method checks the cache for all URLs and returns the highest quality version stored. It is possible though unlikely for a cached image to not be returned if it is still being cached while a call is made to this method and if network conditions have changed. See source for more details. - - @param urls An array of NSURLs of increasing cost to download. - @param options PINRemoteImageManagerDownloadOptions options with which to fetch the image. - @param progressImage PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - @return An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - */ -- (nullable NSUUID *)downloadImageWithURLs:(nonnull NSArray *)urls - options:(PINRemoteImageManagerDownloadOptions)options - progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - -/** - Download or retrieve from cache one of the images found at the urls in the passed in array based on current network performance. URLs should be sorted from lowest quality image URL to highest. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - - Unless setShouldUpgradeLowQualityImages is set to YES, this method checks the cache for all URLs and returns the highest quality version stored. It is possible though unlikely for a cached image to not be returned if it is still being cached while a call is made to this method and if network conditions have changed. See source for more details. - - @param urls An array of NSURLs of increasing cost to download. - @param options PINRemoteImageManagerDownloadOptions options with which to fetch the image. - @param progressImage PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download. - @param progressDownload PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - @return An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - */ -- (nullable NSUUID *)downloadImageWithURLs:(nonnull NSArray *)urls - options:(PINRemoteImageManagerDownloadOptions)options - progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage - progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload - completion:(nullable PINRemoteImageManagerImageCompletion)completion; - - -/** - Adds an image manually into the memory and disk cache. - - @param data NSData with the raw image data. - @param url NSURL where the image resides. - @param processorKey NSString key to uniquely identify processor and process. Will be used for caching processed images. - @param additionalCost NSUInteger the additional cost (for cache eviction purposes) to generate the processed image - - @return A BOOL indicating if the image was successfully added to the cache. - */ -- (BOOL) insertImageDataIntoCache:(nonnull NSData*)data - withURL:(nonnull NSURL *)url - processorKey:(nullable NSString *)processorKey - additionalCost:(NSUInteger)additionalCost; - -/** - Returns the cacheKey for a given URL and processorKey. Exposed to be overridden if necessary or to be used with imageFromCacheWithCacheKey - @see imageFromCacheWithCacheKey:completion: - - @param url NSURL that was used to download image - @param processorKey An optional key to uniquely identify the processor used to post-process the downloaded image. - - @return returns an NSString which is the key used for caching. - */ -- (nonnull NSString *)cacheKeyForURL:(nonnull NSURL *)url processorKey:(nullable NSString *)processorKey; - -/** - @see imageFromCacheWithURL:processorKey:options:completion: - @deprecated - - @param cacheKey NSString key to look up image in the cache. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache. - */ -- (void)imageFromCacheWithCacheKey:(nonnull NSString *)cacheKey completion:(nonnull PINRemoteImageManagerImageCompletion)completion __attribute__((deprecated)); - -/** - @see imageFromCacheWithURL:processorKey:options:completion: - @deprecated - - @param cacheKey NSString key to look up image in the cache. - @param options options will be used to determine if the cached image should be decompressed or PINCachedAnimatedImages should be returned. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache. - */ -- (void)imageFromCacheWithCacheKey:(nonnull NSString *)cacheKey options:(PINRemoteImageManagerDownloadOptions)options completion:(nonnull PINRemoteImageManagerImageCompletion)completion __attribute__((deprecated)); - -/** - Directly get an image from the underlying cache. - - @param url NSURL that was used to download image - @param processorKey An optional key to uniquely identify the processor used to post-process the downloaded image. - @param options options will be used to determine if the cached image should be decompressed or PINCachedAnimatedImages should be returned. - @param completion PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache. - */ -- (void)imageFromCacheWithURL:(nonnull NSURL *)url processorKey:(nullable NSString *)processorKey options:(PINRemoteImageManagerDownloadOptions)options completion:(nonnull PINRemoteImageManagerImageCompletion)completion; - -/** - @deprecated - @see synchronousImageFromCacheWithURL:processorKey:options: - - @param cacheKey NSString obtained from @c cacheKeyForURL:processorKey - @param options options will be used to determine if the cached image should be decompressed or PINCachedAnimatedImages should be returned. - - @return A PINRemoteImageManagerResult - */ -- (nonnull PINRemoteImageManagerResult *)synchronousImageFromCacheWithCacheKey:(nonnull NSString *)cacheKey options:(PINRemoteImageManagerDownloadOptions)options __attribute__((deprecated)); - -/** - Directly get an image from the underlying memory cache synchronously. - - @param url NSURL that was used to download image - @param processorKey An optional key to uniquely identify the processor used to post-process the downloaded image. - @param options options will be used to determine if the cached image should be decompressed or PINCachedAnimatedImages should be returned. - - @return A PINRemoteImageManagerResult - */ -- (nonnull PINRemoteImageManagerResult *)synchronousImageFromCacheWithURL:(nonnull NSURL *)url processorKey:(nullable NSString *)processorKey options:(PINRemoteImageManagerDownloadOptions)options; - -/** - Cancel a download. Canceling will only cancel the download if all other downloads are also canceled with their associated UUIDs. - Canceling *does not* guarantee that your completion will not be called. You can use the UUID provided on the result object to verify - the completion you want called is being called. - @see PINRemoteImageCategoryManager - - @param UUID NSUUID of the task to cancel. - */ -- (void)cancelTaskWithUUID:(nonnull NSUUID *)UUID; - -/** - Cancel a download. Canceling will only cancel the download if all other downloads are also canceled with their associated UUIDs. - Canceling *does not* guarantee that your completion will not be called. You can use the UUID provided on the result object to verify - the completion you want called is being called. - @param storeResumeData if YES and the server indicates it supports resuming downloads, downloaded data will be stored in the disk - cache and used to resume the download if the same URL is attempted to be downloaded in the future. - PINRemoteImageBasicCache does not support disk caching, use PINCache. - */ -- (void)cancelTaskWithUUID:(nonnull NSUUID *)UUID storeResumeData:(BOOL)storeResumeData; - -/** - Cancel all tasks. - */ -- (void)cancelAllTasks; - -/** - Cancel all tasks and store resume data if any task has. - */ -- (void)cancelAllTasksAndStoreResumeData:(BOOL)storeResumeData; - -/** - Set the priority of a download task. Since there is only one task per download, the priority of the download task will always be the last priority this method was called with. - - @param priority priority to set on the task. - @param UUID NSUUID of the task to set the priority on. - */ -- (void)setPriority:(PINRemoteImageManagerPriority)priority ofTaskWithUUID:(nonnull NSUUID *)UUID; - -/** - * @abstract set the progress callback on a download task. You can use this to add progress callbacks or remove them for in flight downloads - * - * @param progressImageCallback a PINRemoteImageManagerImageCompletion block to be called with a progress update - * @param UUID NSUUID of the task to set the priority on. - */ -- (void)setProgressImageCallback:(nullable PINRemoteImageManagerImageCompletion)progressImageCallback ofTaskWithUUID:(nonnull NSUUID *)UUID; - -/** - Set retry strategy for all requests - - @param retryStrategyCreationBlock a block which should create new instance of PINRequestRetryStrategy when called. - */ -- (void)setRetryStrategyCreationBlock:(_Nonnull id (^_Nonnull)(void))retryStrategyCreationBlock; - -@property (nonatomic, readonly) _Nonnull id (^_Nonnull retryStrategyCreationBlock)(void); - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManager.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManager.m deleted file mode 100644 index b18bc19b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManager.m +++ /dev/null @@ -1,1646 +0,0 @@ -// -// PINRemoteImageManager.m -// Pods -// -// Created by Garrett Moon on 8/17/14. -// -// - -#import "PINRemoteImageManager.h" - -#import -#import - -#import - -#import "PINAlternateRepresentationProvider.h" -#import "PINRemoteImage.h" -#import "PINRemoteImageManagerConfiguration.h" -#import "PINRemoteLock.h" -#import "PINProgressiveImage.h" -#import "PINRemoteImageCallbacks.h" -#import "PINRemoteImageTask.h" -#import "PINRemoteImageProcessorTask.h" -#import "PINRemoteImageDownloadTask.h" -#import "PINResume.h" -#import "PINRemoteImageMemoryContainer.h" -#import "PINRemoteImageCaching.h" -#import "PINRequestRetryStrategy.h" -#import "PINRemoteImageDownloadQueue.h" -#import "PINRequestRetryStrategy.h" -#import "PINSpeedRecorder.h" -#import "PINURLSessionManager.h" - -#import "NSData+ImageDetectors.h" -#import "PINImage+DecodedImage.h" -#import "PINImage+ScaledImage.h" -#import "PINRemoteImageManager+Private.h" -#import "NSHTTPURLResponse+MaxAge.h" - -#if USE_PINCACHE -#import "PINCache+PINRemoteImageCaching.h" -#else -#import "PINRemoteImageBasicCache.h" -#endif - - -#define PINRemoteImageManagerDefaultTimeout 30.0 -//A limit of 200 characters is chosen because PINDiskCache -//may expand the length by encoding certain characters -#define PINRemoteImageManagerCacheKeyMaxLength 200 - -PINOperationQueuePriority operationPriorityWithImageManagerPriority(PINRemoteImageManagerPriority priority); -PINOperationQueuePriority operationPriorityWithImageManagerPriority(PINRemoteImageManagerPriority priority) { - switch (priority) { - case PINRemoteImageManagerPriorityLow: - return PINOperationQueuePriorityLow; - break; - - case PINRemoteImageManagerPriorityDefault: - return PINOperationQueuePriorityDefault; - break; - - case PINRemoteImageManagerPriorityHigh: - return PINOperationQueuePriorityHigh; - break; - } -} - -float dataTaskPriorityWithImageManagerPriority(PINRemoteImageManagerPriority priority) { - switch (priority) { - case PINRemoteImageManagerPriorityLow: - return 0.0; - break; - - case PINRemoteImageManagerPriorityDefault: - return 0.5; - break; - - case PINRemoteImageManagerPriorityHigh: - return 1.0; - break; - } -} - -// Reference: https://github.com/TextureGroup/Texture/blob/5dd5611/Source/Private/ASInternalHelpers.m#L60 -BOOL PINRemoteImageManagerSubclassOverridesSelector(Class subclass, SEL selector) -{ - Class superclass = [PINRemoteImageManager class]; - if (superclass == subclass) return NO; // Even if the class implements the selector, it doesn't override itself. - Method superclassMethod = class_getInstanceMethod(superclass, selector); - Method subclassMethod = class_getInstanceMethod(subclass, selector); - return (superclassMethod != subclassMethod); -} - -NSErrorDomain const PINRemoteImageManagerErrorDomain = @"PINRemoteImageManagerErrorDomain"; -NSString * const PINRemoteImageWeakTaskKey = @"PINRemoteImageWeakTaskKey"; -NSString * const PINRemoteImageCacheKeyResumePrefix = @"R-"; -typedef void (^PINRemoteImageManagerDataCompletion)(NSData *data, NSURLResponse *response, NSError *error); - -@interface PINRemoteImageWeakTask : NSObject - -@property (nonatomic, readonly, weak) PINRemoteImageTask *task; - -- (instancetype)initWithTask:(PINRemoteImageTask *)task; - -@end - -@implementation PINRemoteImageWeakTask - -- (instancetype)initWithTask:(PINRemoteImageTask *)task -{ - if (self = [super init]) { - _task = task; - } - return self; -} - -@end - -@interface PINRemoteImageManager () -{ - dispatch_queue_t _callbackQueue; - PINRemoteLock *_lock; - PINOperationQueue *_concurrentOperationQueue; - PINRemoteImageDownloadQueue *_urlSessionTaskQueue; - - // Necessary to have a strong reference to _defaultAlternateRepresentationProvider because _alternateRepProvider is __weak - PINAlternateRepresentationProvider *_defaultAlternateRepresentationProvider; - __weak PINAlternateRepresentationProvider *_alternateRepProvider; - NSURLSessionConfiguration *_sessionConfiguration; - -} - -@property (nonatomic, strong) id cache; -@property (nonatomic, strong) PINURLSessionManager *sessionManager; -@property (nonatomic, strong) NSMutableDictionary *tasks; -@property (nonatomic, strong) NSHashTable *canceledTasks; -@property (nonatomic, strong) NSMapTable *UUIDToTask; -@property (nonatomic, strong) NSArray *progressThresholds; -@property (nonatomic, assign) BOOL shouldBlurProgressive; -@property (nonatomic, assign) CGSize maxProgressiveRenderSize; -@property (nonatomic, assign) NSTimeInterval estimatedRemainingTimeThreshold; -@property (nonatomic, strong) dispatch_queue_t callbackQueue; -@property (nonatomic, strong) PINOperationQueue *concurrentOperationQueue; -@property (nonatomic, strong) PINRemoteImageDownloadQueue *urlSessionTaskQueue; -@property (nonatomic, assign) float highQualityBPSThreshold; -@property (nonatomic, assign) float lowQualityBPSThreshold; -@property (nonatomic, assign) BOOL shouldUpgradeLowQualityImages; -@property (nonatomic, strong) PINRemoteImageManagerMetrics metricsCallback API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)); -@property (nonatomic, copy) PINRemoteImageManagerAuthenticationChallenge authenticationChallengeHandler; -@property (nonatomic, copy) id (^retryStrategyCreationBlock)(void); -@property (nonatomic, copy) PINRemoteImageManagerRequestConfigurationHandler requestConfigurationHandler; -@property (nonatomic, strong) NSMutableDictionary *httpHeaderFields; -@property (nonatomic, readonly) BOOL diskCacheTTLIsEnabled; -@property (nonatomic, readonly) BOOL memoryCacheTTLIsEnabled; -#if DEBUG -@property (nonatomic, assign) NSUInteger totalDownloads; -#endif - -@end - -#pragma mark PINRemoteImageManager - -@implementation PINRemoteImageManager - -static PINRemoteImageManager *sharedImageManager = nil; -static dispatch_once_t sharedDispatchToken; - -+ (instancetype)sharedImageManager -{ - dispatch_once(&sharedDispatchToken, ^{ - sharedImageManager = [[[self class] alloc] init]; - }); - return sharedImageManager; -} - -+ (void)setSharedImageManagerWithConfiguration:(NSURLSessionConfiguration *)configuration -{ - NSAssert(sharedImageManager == nil, @"sharedImageManager singleton is already configured"); - - dispatch_once(&sharedDispatchToken, ^{ - sharedImageManager = [[[self class] alloc] initWithSessionConfiguration:configuration]; - }); -} - -- (instancetype)init -{ - return [self initWithSessionConfiguration:nil]; -} - -- (instancetype)initWithSessionConfiguration:(NSURLSessionConfiguration *)sessionConfiguration -{ - return [self initWithSessionConfiguration:sessionConfiguration alternativeRepresentationProvider:nil]; -} - -- (instancetype)initWithSessionConfiguration:(NSURLSessionConfiguration *)sessionConfiguration alternativeRepresentationProvider:(id )alternateRepProvider -{ - return [self initWithSessionConfiguration:sessionConfiguration alternativeRepresentationProvider:alternateRepProvider imageCache:nil managerConfiguration:nil]; -} - -- (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)sessionConfiguration - alternativeRepresentationProvider:(nullable id )alternateRepDelegate - imageCache:(nullable id)imageCache { - return [self initWithSessionConfiguration:sessionConfiguration alternativeRepresentationProvider:alternateRepDelegate imageCache:imageCache managerConfiguration:nil]; -} - --(nonnull instancetype)initWithSessionConfiguration:(NSURLSessionConfiguration *)sessionConfiguration - alternativeRepresentationProvider:(id)alternateRepProvider - imageCache:(id)imageCache - managerConfiguration:(nullable PINRemoteImageManagerConfiguration *)managerConfiguration -{ - if (self = [super init]) { - PINRemoteImageManagerConfiguration *configuration = managerConfiguration; - if (!configuration) { - configuration = [[PINRemoteImageManagerConfiguration alloc] init]; - } - - if (imageCache) { - self.cache = imageCache; - } else if (PINRemoteImageManagerSubclassOverridesSelector([self class], @selector(defaultImageCache))) { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - self.cache = [self defaultImageCache]; -#pragma clang diagnostic pop - } else { - self.cache = [[self class] defaultImageCache]; - } - - if ([self.cache respondsToSelector:@selector(setObjectOnDisk:forKey:withAgeLimit:)] && - [self.cache respondsToSelector:@selector(setObjectInMemory:forKey:withCost:withAgeLimit:)] && - [self.cache respondsToSelector:@selector(diskCacheIsTTLCache)] && - [self.cache respondsToSelector:@selector(memoryCacheIsTTLCache)]) { - _diskCacheTTLIsEnabled = [self.cache diskCacheIsTTLCache]; - _memoryCacheTTLIsEnabled = [self.cache memoryCacheIsTTLCache]; - } - - _sessionConfiguration = [sessionConfiguration copy]; - if (!_sessionConfiguration) { - _sessionConfiguration = [NSURLSessionConfiguration ephemeralSessionConfiguration]; - _sessionConfiguration.timeoutIntervalForRequest = PINRemoteImageManagerDefaultTimeout; - _sessionConfiguration.requestCachePolicy = NSURLRequestReloadIgnoringLocalCacheData; - _sessionConfiguration.URLCache = nil; - _sessionConfiguration.HTTPMaximumConnectionsPerHost = PINRemoteImageHTTPMaximumConnectionsPerHost; - } - - _callbackQueue = dispatch_queue_create("PINRemoteImageManagerCallbackQueue", DISPATCH_QUEUE_CONCURRENT); - _lock = [[PINRemoteLock alloc] initWithName:@"PINRemoteImageManager"]; - - _concurrentOperationQueue = [[PINOperationQueue alloc] initWithMaxConcurrentOperations: configuration.maxConcurrentOperations]; - _urlSessionTaskQueue = [PINRemoteImageDownloadQueue queueWithMaxConcurrentDownloads:configuration.maxConcurrentDownloads]; - - self.sessionManager = [[PINURLSessionManager alloc] initWithSessionConfiguration:_sessionConfiguration]; - self.sessionManager.delegate = self; - - self.estimatedRemainingTimeThreshold = configuration.estimatedRemainingTimeThreshold; - - _highQualityBPSThreshold = configuration.highQualityBPSThreshold; - _lowQualityBPSThreshold = configuration.lowQualityBPSThreshold; - _shouldUpgradeLowQualityImages = configuration.shouldUpgradeLowQualityImages; - _shouldBlurProgressive = configuration.shouldBlurProgressive; - _maxProgressiveRenderSize = configuration.maxProgressiveRenderSize; - self.tasks = [[NSMutableDictionary alloc] init]; - self.canceledTasks = [[NSHashTable alloc] initWithOptions:NSHashTableWeakMemory capacity:5]; - self.UUIDToTask = [NSMapTable weakToWeakObjectsMapTable]; - - if (alternateRepProvider == nil) { - _defaultAlternateRepresentationProvider = [[PINAlternateRepresentationProvider alloc] init]; - alternateRepProvider = _defaultAlternateRepresentationProvider; - } - _alternateRepProvider = alternateRepProvider; - __weak typeof(self) weakSelf = self; - _retryStrategyCreationBlock = ^id{ - return [weakSelf defaultRetryStrategy]; - }; - _httpHeaderFields = [[NSMutableDictionary alloc] init]; - } - return self; -} - -- (id)defaultRetryStrategy { - return [[PINRequestExponentialRetryStrategy alloc] initWithRetryMaxCount:3 delayBase:4]; -} - -- (void)dealloc -{ - [self.sessionManager invalidateSessionAndCancelTasks]; -} - -- (id)defaultImageCache { - return [PINRemoteImageManager defaultImageCache]; -} - -+ (id)defaultImageCache { - return [PINRemoteImageManager defaultImageCacheEnablingTtl:NO]; -} - -+ (id)defaultImageTtlCache { - return [PINRemoteImageManager defaultImageCacheEnablingTtl:YES]; -} - -+ (id)defaultImageCacheEnablingTtl:(BOOL)enableTtl -{ -#if USE_PINCACHE - NSString * const kPINRemoteImageDiskCacheName = @"PINRemoteImageManagerCache"; - NSString * const kPINRemoteImageDiskCacheVersionKey = @"kPINRemoteImageDiskCacheVersionKey"; - const NSInteger kPINRemoteImageDiskCacheVersion = 1; - NSUserDefaults *pinDefaults = [[NSUserDefaults alloc] init]; - - NSString *cacheURLRoot = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]; - - if ([pinDefaults integerForKey:kPINRemoteImageDiskCacheVersionKey] != kPINRemoteImageDiskCacheVersion) { - //remove the old version of the disk cache - NSURL *diskCacheURL = [PINDiskCache cacheURLWithRootPath:cacheURLRoot prefix:PINDiskCachePrefix name:kPINRemoteImageDiskCacheName]; - NSFileManager *fileManager = [NSFileManager defaultManager]; - NSURL *dstURL = [[[NSURL alloc] initFileURLWithPath:NSTemporaryDirectory()] URLByAppendingPathComponent:kPINRemoteImageDiskCacheName]; - [fileManager moveItemAtURL:diskCacheURL toURL:dstURL error:nil]; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [fileManager removeItemAtURL:dstURL error:nil]; - }); - [pinDefaults setInteger:kPINRemoteImageDiskCacheVersion forKey:kPINRemoteImageDiskCacheVersionKey]; - } - - PINCache *pinCache = [[PINCache alloc] initWithName:kPINRemoteImageDiskCacheName rootPath:cacheURLRoot serializer:^NSData * _Nonnull(id _Nonnull object, NSString * _Nonnull key) { - id obj = (id )object; - if ([key hasPrefix:PINRemoteImageCacheKeyResumePrefix]) { - return [NSKeyedArchiver archivedDataWithRootObject:obj]; - } - return (NSData *)object; - } deserializer:^id _Nonnull(NSData * _Nonnull data, NSString * _Nonnull key) { - if ([key hasPrefix:PINRemoteImageCacheKeyResumePrefix]) { - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; - } - return data; - } keyEncoder:nil keyDecoder:nil ttlCache:enableTtl]; - - return pinCache; -#else - return [[PINRemoteImageBasicCache alloc] init]; -#endif -} - -- (void)lockOnMainThread -{ -#if !DEBUG - NSAssert(NO, @"lockOnMainThread should only be called for testing on debug builds!"); -#endif - [_lock lock]; -} - -- (void)lock -{ - NSAssert([NSThread isMainThread] == NO, @"lock should not be called from the main thread!"); - [_lock lock]; -} - -- (void)unlock -{ - [_lock unlock]; -} - -- (void)setValue:(nullable NSString *)value forHTTPHeaderField:(nullable NSString *)header { - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.httpHeaderFields[[header copy]] = [value copy]; - [strongSelf unlock]; - }); -} - -- (void)setRequestConfiguration:(PINRemoteImageManagerRequestConfigurationHandler)configurationBlock { - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.requestConfigurationHandler = configurationBlock; - [strongSelf unlock]; - }); -} - -- (void)setAuthenticationChallenge:(PINRemoteImageManagerAuthenticationChallenge)challengeBlock { - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.authenticationChallengeHandler = challengeBlock; - [strongSelf unlock]; - }); -} - -- (void)setMaxNumberOfConcurrentOperations:(NSInteger)maxNumberOfConcurrentOperations completion:(dispatch_block_t)completion -{ - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.concurrentOperationQueue.maxConcurrentOperations = maxNumberOfConcurrentOperations; - [strongSelf unlock]; - if (completion) { - completion(); - } - }); -} - -- (void)setMaxNumberOfConcurrentDownloads:(NSInteger)maxNumberOfConcurrentDownloads completion:(dispatch_block_t)completion -{ - NSAssert(maxNumberOfConcurrentDownloads <= PINRemoteImageHTTPMaximumConnectionsPerHost, @"maxNumberOfConcurrentDownloads must be less than or equal to %d", PINRemoteImageHTTPMaximumConnectionsPerHost); - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.urlSessionTaskQueue.maxNumberOfConcurrentDownloads = maxNumberOfConcurrentDownloads; - [strongSelf unlock]; - if (completion) { - completion(); - } - }); -} - -- (void)setEstimatedRemainingTimeThresholdForProgressiveDownloads:(NSTimeInterval)estimatedRemainingTimeThreshold completion:(dispatch_block_t)completion -{ - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.estimatedRemainingTimeThreshold = estimatedRemainingTimeThreshold; - [strongSelf unlock]; - if (completion) { - completion(); - } - }); -} - -- (void)setProgressThresholds:(NSArray *)progressThresholds completion:(dispatch_block_t)completion -{ - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.progressThresholds = progressThresholds; - [strongSelf unlock]; - if (completion) { - completion(); - } - }); -} - -- (void)setProgressiveRendersShouldBlur:(BOOL)shouldBlur completion:(nullable dispatch_block_t)completion -{ - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.shouldBlurProgressive = shouldBlur; - [strongSelf unlock]; - if (completion) { - completion(); - } - }); -} - -- (void)setProgressiveRendersMaxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize completion:(nullable dispatch_block_t)completion -{ - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.maxProgressiveRenderSize = maxProgressiveRenderSize; - [strongSelf unlock]; - if (completion) { - completion(); - } - }); -} - -- (void)setHighQualityBPSThreshold:(float)highQualityBPSThreshold completion:(dispatch_block_t)completion -{ - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.highQualityBPSThreshold = highQualityBPSThreshold; - [strongSelf unlock]; - if (completion) { - completion(); - } - }); -} - -- (void)setLowQualityBPSThreshold:(float)lowQualityBPSThreshold completion:(dispatch_block_t)completion -{ - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.lowQualityBPSThreshold = lowQualityBPSThreshold; - [strongSelf unlock]; - if (completion) { - completion(); - } - }); -} - -- (void)setShouldUpgradeLowQualityImages:(BOOL)shouldUpgradeLowQualityImages completion:(dispatch_block_t)completion -{ - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf lock]; - strongSelf.shouldUpgradeLowQualityImages = shouldUpgradeLowQualityImages; - [strongSelf unlock]; - if (completion) { - completion(); - } - }); -} - -- (void)setMetricsCallback:(nullable PINRemoteImageManagerMetrics)metricsCallback completion:(nullable dispatch_block_t)completion -{ - __weak typeof(self) weakSelf = self; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - typeof(self) strongSelf = weakSelf; - [self lock]; - strongSelf.metricsCallback = metricsCallback; - [self unlock]; - if (completion) { - completion(); - } - }); -} - -- (NSUUID *)downloadImageWithURL:(NSURL *)url - completion:(PINRemoteImageManagerImageCompletion)completion -{ - return [self downloadImageWithURL:url - options:PINRemoteImageManagerDownloadOptionsNone - completion:completion]; -} - -- (NSUUID *)downloadImageWithURL:(NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - completion:(PINRemoteImageManagerImageCompletion)completion -{ - return [self downloadImageWithURL:url - options:options - progressImage:nil - completion:completion]; -} - -- (NSUUID *)downloadImageWithURL:(NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - progressImage:(PINRemoteImageManagerImageCompletion)progressImage - completion:(PINRemoteImageManagerImageCompletion)completion -{ - return [self downloadImageWithURL:url - options:options - progressImage:progressImage - progressDownload:nil - completion:completion]; -} - -- (NSUUID *)downloadImageWithURL:(NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - progressDownload:(PINRemoteImageManagerProgressDownload)progressDownload - completion:(PINRemoteImageManagerImageCompletion)completion -{ - return [self downloadImageWithURL:url - options:options - progressImage:nil - progressDownload:progressDownload - completion:completion]; -} - -- (NSUUID *)downloadImageWithURL:(NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - progressImage:(PINRemoteImageManagerImageCompletion)progressImage - progressDownload:(PINRemoteImageManagerProgressDownload)progressDownload - completion:(PINRemoteImageManagerImageCompletion)completion -{ - return [self downloadImageWithURL:url - options:options - priority:PINRemoteImageManagerPriorityDefault - progressImage:progressImage - progressDownload:progressDownload - completion:completion]; -} - -- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - priority:(PINRemoteImageManagerPriority)priority - progressImage:(PINRemoteImageManagerImageCompletion)progressImage - progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload - completion:(nullable PINRemoteImageManagerImageCompletion)completion; -{ - return [self downloadImageWithURL:url - options:options - priority:priority - processorKey:nil - processor:nil - progressImage:progressImage - progressDownload:progressDownload - completion:completion - inputUUID:nil]; -} - -- (NSUUID *)downloadImageWithURL:(NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - processorKey:(NSString *)processorKey - processor:(PINRemoteImageManagerImageProcessor)processor - completion:(PINRemoteImageManagerImageCompletion)completion -{ - return [self downloadImageWithURL:url - options:options - priority:PINRemoteImageManagerPriorityDefault - processorKey:processorKey - processor:processor - progressImage:nil - progressDownload:nil - completion:completion - inputUUID:nil]; -} - -- (NSUUID *)downloadImageWithURL:(NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - processorKey:(NSString *)processorKey - processor:(PINRemoteImageManagerImageProcessor)processor - progressDownload:(PINRemoteImageManagerProgressDownload)progressDownload - completion:(PINRemoteImageManagerImageCompletion)completion -{ - return [self downloadImageWithURL:url - options:options - priority:PINRemoteImageManagerPriorityDefault - processorKey:processorKey - processor:processor - progressImage:nil - progressDownload:progressDownload - completion:completion - inputUUID:nil]; -} - -- (NSUUID *)downloadImageWithURL:(NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - priority:(PINRemoteImageManagerPriority)priority - processorKey:(NSString *)processorKey - processor:(PINRemoteImageManagerImageProcessor)processor - progressImage:(PINRemoteImageManagerImageCompletion)progressImage - progressDownload:(PINRemoteImageManagerProgressDownload)progressDownload - completion:(PINRemoteImageManagerImageCompletion)completion - inputUUID:(NSUUID *)UUID -{ - NSAssert((processor != nil && processorKey.length > 0) || (processor == nil && processorKey == nil), @"processor must not be nil and processorKey length must be greater than zero OR processor must be nil and processorKey must be nil"); - - Class taskClass; - if (processor && processorKey.length > 0) { - taskClass = [PINRemoteImageProcessorTask class]; - } else { - taskClass = [PINRemoteImageDownloadTask class]; - } - - NSString *key = [self cacheKeyForURL:url processorKey:processorKey]; - - if (url == nil) { - [self earlyReturnWithOptions:options url:nil key:key object:nil completion:completion]; - return nil; - } - - NSAssert([url isKindOfClass:[NSURL class]], @"url must be of type NSURL, if it's an NSString, we'll try to correct"); - if ([url isKindOfClass:[NSString class]]) { - url = [NSURL URLWithString:(NSString *)url]; - } - - if (UUID == nil) { - UUID = [NSUUID UUID]; - } - - if ((options & PINRemoteImageManagerDownloadOptionsIgnoreCache) == 0) { - //Check to see if the image is in memory cache and we're on the main thread. - //If so, special case this to avoid flashing the UI - id object = [self.cache objectFromMemoryForKey:key]; - if (object) { - if ([self earlyReturnWithOptions:options url:url key:key object:object completion:completion]) { - return nil; - } - } - } - - if ([url.scheme isEqualToString:@"data"]) { - NSData *data = [NSData dataWithContentsOfURL:url]; - if (data) { - if ([self earlyReturnWithOptions:options url:url key:key object:data completion:completion]) { - return nil; - } - } - } - - [_concurrentOperationQueue scheduleOperation:^ - { - [self lock]; - //check canceled tasks first - if ([self.canceledTasks containsObject:UUID]) { - PINLog(@"skipping starting %@ because it was canceled.", UUID); - [self unlock]; - return; - } - - PINRemoteImageTask *task = [self.tasks objectForKey:key]; - BOOL taskExisted = NO; - if (task == nil) { - task = [[taskClass alloc] initWithManager:self]; - PINLog(@"Task does not exist creating with key: %@, URL: %@, UUID: %@, task: %p", key, url, UUID, task); - task.key = key; - } else { - taskExisted = YES; - PINLog(@"Task exists, attaching with key: %@, URL: %@, UUID: %@, task: %@", key, url, UUID, task); - } - [task addCallbacksWithCompletionBlock:completion progressImageBlock:progressImage progressDownloadBlock:progressDownload withUUID:UUID]; - [self.tasks setObject:task forKey:key]; - // Relax :), task retain the UUID for us, it's ok to have a weak reference to UUID here. - [self.UUIDToTask setObject:task forKey:UUID]; - - NSAssert(taskClass == [task class], @"Task class should be the same!"); - [self unlock]; - - if (taskExisted == NO) { - [self.concurrentOperationQueue scheduleOperation:^ - { - [self objectForKey:key options:options completion:^(BOOL found, BOOL valid, PINImage *image, id alternativeRepresentation) { - if (found) { - if (valid) { - [self callCompletionsWithKey:key image:image alternativeRepresentation:alternativeRepresentation cached:YES response:nil error:nil finalized:YES]; - } else { - //Remove completion and try again - [self lock]; - PINRemoteImageTask *task = [self.tasks objectForKey:key]; - [task removeCallbackWithUUID:UUID]; - if (task.callbackBlocks.count == 0) { - [self.tasks removeObjectForKey:key]; - } - [self unlock]; - - //Skip early check - [self downloadImageWithURL:url - options:options | PINRemoteImageManagerDownloadOptionsSkipEarlyCheck - priority:priority - processorKey:processorKey - processor:processor - progressImage:(PINRemoteImageManagerImageCompletion)progressImage - progressDownload:nil - completion:completion - inputUUID:UUID]; - } - } else { - if ([taskClass isSubclassOfClass:[PINRemoteImageProcessorTask class]]) { - //continue processing - [self downloadImageWithURL:url - options:options - priority:priority - key:key - processor:processor - UUID:UUID]; - } else if ([taskClass isSubclassOfClass:[PINRemoteImageDownloadTask class]]) { - //continue downloading - [self downloadImageWithURL:url - options:options - priority:priority - key:key - progressImage:progressImage - UUID:UUID]; - } - } - }]; - } withPriority:operationPriorityWithImageManagerPriority(priority)]; - } - } withPriority:operationPriorityWithImageManagerPriority(priority)]; - - return UUID; -} - -- (void)downloadImageWithURL:(NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - priority:(PINRemoteImageManagerPriority)priority - key:(NSString *)key - processor:(PINRemoteImageManagerImageProcessor)processor - UUID:(NSUUID *)UUID -{ - PINRemoteImageProcessorTask *task = nil; - [self lock]; - task = [self.tasks objectForKey:key]; - //check processing task still exists and download hasn't been started for another task - if (task == nil || task.downloadTaskUUID != nil) { - [self unlock]; - return; - } - - __weak typeof(self) weakSelf = self; - NSUUID *downloadTaskUUID = [self downloadImageWithURL:url - options:options | PINRemoteImageManagerDownloadOptionsSkipEarlyCheck - completion:^(PINRemoteImageManagerResult *result) - { - typeof(self) strongSelf = weakSelf; - NSUInteger processCost = 0; - NSError *error = result.error; - PINRemoteImageProcessorTask *task = nil; - [strongSelf lock]; - task = [strongSelf.tasks objectForKey:key]; - [strongSelf unlock]; - //check processing task still exists - if (task == nil) { - return; - } - if (result.image && error == nil) { - //If completionBlocks.count == 0, we've canceled before we were even able to start. - PINImage *image = processor(result, &processCost); - - if (image == nil) { - error = [NSError errorWithDomain:PINRemoteImageManagerErrorDomain - code:PINRemoteImageManagerErrorFailedToProcessImage - userInfo:nil]; - } - [strongSelf callCompletionsWithKey:key image:image alternativeRepresentation:nil cached:NO response:result.response error:error finalized:NO]; - - if (error == nil && image != nil) { - BOOL saveAsJPEG = (options & PINRemoteImageManagerSaveProcessedImageAsJPEG) != 0; - NSData *diskData = nil; - if (saveAsJPEG) { - diskData = PINImageJPEGRepresentation(image, 1.0); - } else { - diskData = PINImagePNGRepresentation(image); - } - - [strongSelf materializeAndCacheObject:image cacheInDisk:diskData additionalCost:processCost url:url key:key options:options outImage:nil outAltRep:nil]; - } - - [strongSelf callCompletionsWithKey:key image:image alternativeRepresentation:nil cached:NO response:result.response error:error finalized:YES]; - } else { - if (error == nil) { - error = [NSError errorWithDomain:PINRemoteImageManagerErrorDomain - code:PINRemoteImageManagerErrorFailedToFetchImageForProcessing - userInfo:nil]; - } - - [strongSelf callCompletionsWithKey:key image:nil alternativeRepresentation:nil cached:NO response:result.response error:error finalized:YES]; - } - }]; - task.downloadTaskUUID = downloadTaskUUID; - [self unlock]; -} - -- (void)downloadImageWithURL:(NSURL *)url - options:(PINRemoteImageManagerDownloadOptions)options - priority:(PINRemoteImageManagerPriority)priority - key:(NSString *)key - progressImage:(PINRemoteImageManagerImageCompletion)progressImage - UUID:(NSUUID *)UUID -{ - PINResume *resume = nil; - if ((options & PINRemoteImageManagerDownloadOptionsIgnoreCache) == NO) { - NSString *resumeKey = [self resumeCacheKeyForURL:url]; - resume = [self.cache objectFromDiskForKey:resumeKey]; - [self.cache removeObjectForKey:resumeKey completion:nil]; - } - - [self lock]; - PINRemoteImageDownloadTask *task = [self.tasks objectForKey:key]; - [self unlock]; - - [task scheduleDownloadWithRequest:[self requestWithURL:url task:task] - resume:resume - skipRetry:(options & PINRemoteImageManagerDownloadOptionsSkipRetry) - priority:priority - completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) - { - [self->_concurrentOperationQueue scheduleOperation:^ - { - NSError *remoteImageError = error; - PINImage *image = nil; - id alternativeRepresentation = nil; - NSNumber *maxAge = nil; - if (remoteImageError == nil) { - BOOL ignoreHeaders = (options & PINRemoteImageManagerDownloadOptionsIgnoreCacheControlHeaders) != 0; - if ((self.diskCacheTTLIsEnabled || self.memoryCacheTTLIsEnabled) && !ignoreHeaders) { - // examine Cache-Control headers (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control) - if ([response isKindOfClass:[NSHTTPURLResponse class]]) { - NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response; - maxAge = [httpResponse findMaxAge]; - } - } - // Stores the object in the cache. - [self materializeAndCacheObject:data cacheInDisk:data additionalCost:0 maxAge:maxAge url:url key:key options:options outImage:&image outAltRep:&alternativeRepresentation]; - } - - if (error == nil && image == nil && alternativeRepresentation == nil) { - remoteImageError = [NSError errorWithDomain:PINRemoteImageManagerErrorDomain - code:PINRemoteImageManagerErrorFailedToDecodeImage - userInfo:nil]; - } - - [self callCompletionsWithKey:key image:image alternativeRepresentation:alternativeRepresentation cached:NO response:response error:remoteImageError finalized:YES]; - } withPriority:operationPriorityWithImageManagerPriority(priority)]; - }]; -} - --(BOOL)insertImageDataIntoCache:(nonnull NSData*)data - withURL:(nonnull NSURL *)url - processorKey:(nullable NSString *)processorKey - additionalCost:(NSUInteger)additionalCost -{ - - if (url != nil) { - NSString *key = [self cacheKeyForURL:url processorKey:processorKey]; - - PINRemoteImageManagerDownloadOptions options = PINRemoteImageManagerDownloadOptionsSkipDecode | PINRemoteImageManagerDownloadOptionsSkipEarlyCheck; - PINRemoteImageMemoryContainer *container = [[PINRemoteImageMemoryContainer alloc] init]; - container.data = data; - - return [self materializeAndCacheObject:container cacheInDisk:data additionalCost:additionalCost url:url key:key options:options outImage: nil outAltRep: nil]; - } - - return NO; -} - -- (BOOL)earlyReturnWithOptions:(PINRemoteImageManagerDownloadOptions)options url:(NSURL *)url key:(NSString *)key object:(id)object completion:(PINRemoteImageManagerImageCompletion)completion -{ - PINImage *image = nil; - id alternativeRepresentation = nil; - PINRemoteImageResultType resultType = PINRemoteImageResultTypeNone; - - BOOL allowEarlyReturn = !(PINRemoteImageManagerDownloadOptionsSkipEarlyCheck & options); - - if (url != nil && object != nil) { - resultType = PINRemoteImageResultTypeMemoryCache; - [self materializeAndCacheObject:object url:url key:key options:options outImage:&image outAltRep:&alternativeRepresentation]; - } - - if (completion && ((image || alternativeRepresentation) || (url == nil))) { - //If we're on the main thread, special case to call completion immediately - NSError *error = nil; - if (!url) { - error = [NSError errorWithDomain:NSURLErrorDomain - code:NSURLErrorUnsupportedURL - userInfo:@{ NSLocalizedDescriptionKey : @"unsupported URL" }]; - } - PINRemoteImageManagerResult *result = [PINRemoteImageManagerResult imageResultWithImage:image - alternativeRepresentation:alternativeRepresentation - requestLength:0 - resultType:resultType - UUID:nil - response:nil - error:error]; - if (allowEarlyReturn && [NSThread isMainThread]) { - completion(result); - } else { - dispatch_async(self.callbackQueue, ^{ - completion(result); - }); - } - return YES; - } - return NO; -} - -- (NSURLRequest *)requestWithURL:(NSURL *)url task:(PINRemoteImageTask *)task -{ - NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; - - NSMutableDictionary *headers = [self.httpHeaderFields mutableCopy]; - - if (headers.count > 0) { - request.allHTTPHeaderFields = headers; - } - - if (_requestConfigurationHandler) { - request = [_requestConfigurationHandler(request) mutableCopy]; - } - - PINRemoteImageWeakTask *weakTask = [[PINRemoteImageWeakTask alloc] initWithTask:task]; - [NSURLProtocol setProperty:weakTask forKey:PINRemoteImageWeakTaskKey inRequest:request]; - - return request; -} - -- (void)callCompletionsWithKey:(NSString *)key - image:(PINImage *)image - alternativeRepresentation:(id)alternativeRepresentation - cached:(BOOL)cached - response:(NSURLResponse *)response - error:(NSError *)error - finalized:(BOOL)finalized -{ - [self lock]; - PINRemoteImageDownloadTask *task = [self.tasks objectForKey:key]; - [task callCompletionsWithImage:image alternativeRepresentation:alternativeRepresentation cached:cached response:response error:error remove:!finalized]; - if (finalized) { - [self.tasks removeObjectForKey:key]; - } - [self unlock]; -} - -#pragma mark - Prefetching - -- (NSArray *)prefetchImagesWithURLs:(NSArray *)urls -{ - return [self prefetchImagesWithURLs:urls options:PINRemoteImageManagerDownloadOptionsNone | PINRemoteImageManagerDownloadOptionsSkipEarlyCheck]; -} - -- (NSArray *)prefetchImagesWithURLs:(NSArray *)urls options:(PINRemoteImageManagerDownloadOptions)options -{ - return [self prefetchImagesWithURLs:urls options:options priority:PINRemoteImageManagerPriorityLow]; -} - -- (NSArray *)prefetchImagesWithURLs:(NSArray *)urls options:(PINRemoteImageManagerDownloadOptions)options priority:(PINRemoteImageManagerPriority)priority -{ - NSMutableArray *tasks = [NSMutableArray arrayWithCapacity:urls.count]; - for (NSURL *url in urls) { - NSUUID *task = [self prefetchImageWithURL:url options:options priority:priority]; - if (task != nil) { - [tasks addObject:task]; - } - } - return tasks; -} - -- (NSUUID *)prefetchImageWithURL:(NSURL *)url -{ - return [self prefetchImageWithURL:url options:PINRemoteImageManagerDownloadOptionsNone | PINRemoteImageManagerDownloadOptionsSkipEarlyCheck]; -} - -- (NSUUID *)prefetchImageWithURL:(NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options -{ - return [self prefetchImageWithURL:url options:options priority:PINRemoteImageManagerPriorityLow]; -} - -- (NSUUID *)prefetchImageWithURL:(NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options priority:(PINRemoteImageManagerPriority)priority -{ - return [self downloadImageWithURL:url - options:options - priority:priority - processorKey:nil - processor:nil - progressImage:nil - progressDownload:nil - completion:nil - inputUUID:nil]; -} - -#pragma mark - Cancellation & Priority - -- (void)cancelTaskWithUUID:(NSUUID *)UUID -{ - [self cancelTaskWithUUID:UUID storeResumeData:NO]; -} - -- (void)cancelTaskWithUUID:(nonnull NSUUID *)UUID storeResumeData:(BOOL)storeResumeData -{ - if (UUID == nil) { - return; - } - PINLog(@"Attempting to cancel UUID: %@", UUID); - [_concurrentOperationQueue scheduleOperation:^{ - PINResume *resume = nil; - [self lock]; - PINRemoteImageTask *taskToEvaluate = [self.UUIDToTask objectForKey:UUID]; - if (taskToEvaluate == nil) { - //maybe task hasn't been added to task list yet, add it to canceled tasks. - //there's no need to ever remove a UUID from canceledTasks because it is weak. - [self.canceledTasks addObject:UUID]; - } - - if ([taskToEvaluate cancelWithUUID:UUID resume:storeResumeData ? &resume : NULL]) { - [self.tasks removeObjectForKey:taskToEvaluate.key]; - } - [self unlock]; - - if (resume) { - //store resume data away, only download tasks currently return resume data - [self storeResumeData:resume forURL:[(PINRemoteImageDownloadTask *)taskToEvaluate URL]]; - } - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)cancelAllTasks -{ - [self cancelAllTasksAndStoreResumeData:NO]; -} - -- (void)cancelAllTasksAndStoreResumeData:(BOOL)storeResumeData -{ - [_concurrentOperationQueue scheduleOperation:^{ - [self lock]; - NSMapTable *uuidToTask = [self.UUIDToTask copy]; - [self unlock]; - - for (NSUUID *uuid in uuidToTask) { - [self cancelTaskWithUUID:uuid storeResumeData:storeResumeData]; - } - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)setPriority:(PINRemoteImageManagerPriority)priority ofTaskWithUUID:(NSUUID *)UUID -{ - if (UUID == nil) { - return; - } - PINLog(@"Setting priority of UUID: %@ priority: %lu", UUID, (unsigned long)priority); - [_concurrentOperationQueue scheduleOperation:^{ - [self lock]; - PINRemoteImageTask *task = [self.UUIDToTask objectForKey:UUID]; - [task setPriority:priority]; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)setProgressImageCallback:(nullable PINRemoteImageManagerImageCompletion)progressImageCallback ofTaskWithUUID:(nonnull NSUUID *)UUID -{ - if (UUID == nil) { - return; - } - - PINLog(@"setting progress block of UUID: %@ progressBlock: %@", UUID, progressImageCallback); - [_concurrentOperationQueue scheduleOperation:^{ - [self lock]; - PINRemoteImageTask *task = [self.UUIDToTask objectForKey:UUID]; - if ([task isKindOfClass:[PINRemoteImageDownloadTask class]]) { - PINRemoteImageCallbacks *callbacks = task.callbackBlocks[UUID]; - callbacks.progressImageBlock = progressImageCallback; - } - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -- (void)setRetryStrategyCreationBlock:(id (^)(void))retryStrategyCreationBlock { - [_concurrentOperationQueue scheduleOperation:^{ - [self lock]; - self->_retryStrategyCreationBlock = retryStrategyCreationBlock; - [self unlock]; - } withPriority:PINOperationQueuePriorityHigh]; -} - -#pragma mark - Caching - -- (void)imageFromCacheWithCacheKey:(NSString *)cacheKey - completion:(PINRemoteImageManagerImageCompletion)completion -{ - [self imageFromCacheWithCacheKey:cacheKey options:PINRemoteImageManagerDownloadOptionsNone completion:completion]; -} - -- (void)imageFromCacheWithCacheKey:(NSString *)cacheKey - options:(PINRemoteImageManagerDownloadOptions)options - completion:(PINRemoteImageManagerImageCompletion)completion -{ - [self imageFromCacheWithURL:nil processorKey:nil cacheKey:cacheKey options:options completion:completion]; -} - -- (void)imageFromCacheWithURL:(nonnull NSURL *)url - processorKey:(nullable NSString *)processorKey - options:(PINRemoteImageManagerDownloadOptions)options - completion:(nonnull PINRemoteImageManagerImageCompletion)completion -{ - [self imageFromCacheWithURL:url processorKey:processorKey cacheKey:nil options:options completion:completion]; -} - -- (void)imageFromCacheWithURL:(NSURL *)url - processorKey:(NSString *)processorKey - cacheKey:(NSString *)cacheKey - options:(PINRemoteImageManagerDownloadOptions)options - completion:(PINRemoteImageManagerImageCompletion)completion -{ - CFTimeInterval requestTime = CACurrentMediaTime(); - - if ((PINRemoteImageManagerDownloadOptionsSkipEarlyCheck & options) == NO && [NSThread isMainThread]) { - PINRemoteImageManagerResult *result = [self synchronousImageFromCacheWithURL:url processorKey:processorKey cacheKey:cacheKey options:options]; - if (result.image && result.error == nil) { - completion((result)); - return; - } - } - - [self objectForURL:url processorKey:processorKey key:cacheKey options:options completion:^(BOOL found, BOOL valid, PINImage *image, id alternativeRepresentation) { - NSError *error = nil; - if (valid == NO) { - error = [NSError errorWithDomain:PINRemoteImageManagerErrorDomain - code:PINRemoteImageManagerErrorInvalidItemInCache - userInfo:nil]; - } - - dispatch_async(self.callbackQueue, ^{ - completion([PINRemoteImageManagerResult imageResultWithImage:image - alternativeRepresentation:alternativeRepresentation - requestLength:CACurrentMediaTime() - requestTime - resultType:PINRemoteImageResultTypeCache - UUID:nil - response:nil - error:error]); - }); - }]; -} - -- (PINRemoteImageManagerResult *)synchronousImageFromCacheWithCacheKey:(NSString *)cacheKey options:(PINRemoteImageManagerDownloadOptions)options -{ - return [self synchronousImageFromCacheWithURL:nil processorKey:nil cacheKey:cacheKey options:options]; -} - -- (nonnull PINRemoteImageManagerResult *)synchronousImageFromCacheWithURL:(NSURL *)url processorKey:(nullable NSString *)processorKey options:(PINRemoteImageManagerDownloadOptions)options -{ - return [self synchronousImageFromCacheWithURL:url processorKey:processorKey cacheKey:nil options:options]; -} - -- (PINRemoteImageManagerResult *)synchronousImageFromCacheWithURL:(NSURL *)url processorKey:(NSString *)processorKey cacheKey:(NSString *)cacheKey options:(PINRemoteImageManagerDownloadOptions)options -{ - CFTimeInterval requestTime = CACurrentMediaTime(); - - if (cacheKey == nil && url == nil) { - return nil; - } - - cacheKey = cacheKey ?: [self cacheKeyForURL:url processorKey:processorKey]; - - id object = [self.cache objectFromMemoryForKey:cacheKey]; - PINImage *image; - id alternativeRepresentation; - NSError *error = nil; - if (object == nil) { - image = nil; - alternativeRepresentation = nil; - } else if ([self materializeAndCacheObject:object url:url key:cacheKey options:options outImage:&image outAltRep:&alternativeRepresentation] == NO) { - error = [NSError errorWithDomain:PINRemoteImageManagerErrorDomain - code:PINRemoteImageManagerErrorInvalidItemInCache - userInfo:nil]; - } - - return [PINRemoteImageManagerResult imageResultWithImage:image - alternativeRepresentation:alternativeRepresentation - requestLength:CACurrentMediaTime() - requestTime - resultType:PINRemoteImageResultTypeMemoryCache - UUID:nil - response:nil - error:error]; -} - -#pragma mark - Session Task Blocks - -- (void)didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge forTask:(NSURLSessionTask *)dataTask completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler { - [self lock]; - if (self.authenticationChallengeHandler) { - self.authenticationChallengeHandler(dataTask, challenge, completionHandler); - } else { - completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil); - } - [self unlock]; -} - -- (void)didReceiveResponse:(nonnull NSURLResponse *)response forTask:(nonnull NSURLSessionTask *)dataTask -{ - [self lock]; - PINRemoteImageWeakTask *weakTask = [NSURLProtocol propertyForKey:PINRemoteImageWeakTaskKey inRequest:dataTask.originalRequest]; - PINRemoteImageDownloadTask *task = (PINRemoteImageDownloadTask *)weakTask.task; - [self unlock]; - [task didReceiveResponse:response]; -} - -- (void)didReceiveData:(NSData *)data forTask:(NSURLSessionTask *)dataTask -{ - [self lock]; - PINRemoteImageWeakTask *weakTask = [NSURLProtocol propertyForKey:PINRemoteImageWeakTaskKey inRequest:dataTask.originalRequest]; - PINRemoteImageDownloadTask *task = (PINRemoteImageDownloadTask *)weakTask.task; - [self unlock]; - [task didReceiveData:data]; -} - -- (void)didCollectMetrics:(nonnull NSURLSessionTaskMetrics *)metrics forURL:(nonnull NSURL *)url API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)) -{ - [self lock]; - if (self.metricsCallback) { - self.metricsCallback(url, metrics); - } - [self unlock]; -} - -#pragma mark - QOS - -- (NSUUID *)downloadImageWithURLs:(NSArray *)urls - options:(PINRemoteImageManagerDownloadOptions)options - progressImage:(PINRemoteImageManagerImageCompletion)progressImage - completion:(PINRemoteImageManagerImageCompletion)completion -{ - return [self downloadImageWithURLs:urls - options:options - progressImage:progressImage - progressDownload:nil - completion:completion]; -} - -- (nullable NSUUID *)downloadImageWithURLs:(nonnull NSArray *)urls - options:(PINRemoteImageManagerDownloadOptions)options - progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage - progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload - completion:(nullable PINRemoteImageManagerImageCompletion)completion -{ - NSUUID *UUID = [NSUUID UUID]; - if (urls.count <= 1) { - NSURL *url = [urls firstObject]; - [self downloadImageWithURL:url - options:options - priority:PINRemoteImageManagerPriorityDefault - processorKey:nil - processor:nil - progressImage:progressImage - progressDownload:progressDownload - completion:completion - inputUUID:UUID]; - return UUID; - } - - [self.concurrentOperationQueue scheduleOperation:^{ - __block NSInteger highestQualityDownloadedIdx = -1; - - //check for the highest quality image already in cache. It's possible that an image is in the process of being - //cached when this is being run. In which case two things could happen: - // - If network conditions dictate that a lower quality image should be downloaded than the one that is currently - // being cached, it will be downloaded in addition. This is not ideal behavior, worst case scenario and unlikely. - // - If network conditions dictate that the same quality image should be downloaded as the one being cached, no - // new image will be downloaded as either the caching will have finished by the time we actually request it or - // the task will still exist and our callback will be attached. In this case, no detrimental behavior will have - // occurred. - [urls enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(NSURL *url, NSUInteger idx, BOOL *stop) { - NSAssert([url isKindOfClass:[NSURL class]], @"url must be of type URL"); - NSString *cacheKey = [self cacheKeyForURL:url processorKey:nil]; - - //we don't actually need the object, just need to know it exists so that we can request it later - BOOL hasObject = [self.cache objectExistsForKey:cacheKey]; - - if (hasObject) { - highestQualityDownloadedIdx = idx; - *stop = YES; - } - }]; - - [self lock]; - float highQualityQPSThreshold = [self highQualityBPSThreshold]; - float lowQualityQPSThreshold = [self lowQualityBPSThreshold]; - BOOL shouldUpgradeLowQualityImages = [self shouldUpgradeLowQualityImages]; - [self unlock]; - - NSUInteger desiredImageURLIdx = [PINSpeedRecorder appropriateImageIdxForURLsGivenHistoricalNetworkConditions:urls - lowQualityQPSThreshold:lowQualityQPSThreshold - highQualityQPSThreshold:highQualityQPSThreshold]; - - NSUInteger downloadIdx; - //if the highest quality already downloaded is less than what currentBPS would dictate and shouldUpgrade is - //set, download the new higher quality image. If no image has been cached, download the image dictated by - //current bps - - if ((highestQualityDownloadedIdx < desiredImageURLIdx && shouldUpgradeLowQualityImages) || highestQualityDownloadedIdx == -1) { - downloadIdx = desiredImageURLIdx; - } else { - downloadIdx = highestQualityDownloadedIdx; - } - - NSURL *downloadURL = [urls objectAtIndex:downloadIdx]; - - [self downloadImageWithURL:downloadURL - options:options - priority:PINRemoteImageManagerPriorityDefault - processorKey:nil - processor:nil - progressImage:progressImage - progressDownload:progressDownload - completion:^(PINRemoteImageManagerResult *result) { - //clean out any lower quality images from the cache - for (NSInteger idx = downloadIdx - 1; idx >= 0; idx--) { - [[self cache] removeObjectForKey:[self cacheKeyForURL:[urls objectAtIndex:idx] processorKey:nil]]; - } - - if (completion) { - completion(result); - } - } - inputUUID:UUID]; - } withPriority:PINOperationQueuePriorityDefault]; - return UUID; -} - -#pragma mark - Caching - -- (BOOL)materializeAndCacheObject:(id)object - url:(NSURL *)url - key:(NSString *)key - options:(PINRemoteImageManagerDownloadOptions)options - outImage:(PINImage **)outImage - outAltRep:(id *)outAlternateRepresentation -{ - return [self materializeAndCacheObject:object cacheInDisk:nil additionalCost:0 url:url key:key options:options outImage:outImage outAltRep:outAlternateRepresentation]; -} - -- (BOOL)materializeAndCacheObject:(id)object - cacheInDisk:(NSData *)diskData - additionalCost:(NSUInteger)additionalCost - url:(NSURL *)url - key:(NSString *)key - options:(PINRemoteImageManagerDownloadOptions)options - outImage:(PINImage **)outImage - outAltRep:(id *)outAlternateRepresentation { - return [self materializeAndCacheObject:object cacheInDisk:diskData additionalCost:additionalCost maxAge:nil url:url key:key options:options outImage:outImage outAltRep:outAlternateRepresentation]; -} - -//takes the object from the cache and returns an image or animated image. -//if it's a non-alternative representation and skipDecode is not set it also decompresses the image. -- (BOOL)materializeAndCacheObject:(id)object - cacheInDisk:(NSData *)diskData - additionalCost:(NSUInteger)additionalCost - maxAge:(NSNumber *)maxAge - url:(NSURL *)url - key:(NSString *)key - options:(PINRemoteImageManagerDownloadOptions)options - outImage:(PINImage **)outImage - outAltRep:(id *)outAlternateRepresentation -{ - NSAssert(object != nil, @"Object should not be nil."); - if (object == nil) { - return NO; - } - BOOL alternateRepresentationsAllowed = (PINRemoteImageManagerDisallowAlternateRepresentations & options) == 0; - BOOL skipDecode = (options & PINRemoteImageManagerDownloadOptionsSkipDecode) != 0; - __block id alternateRepresentation = nil; - __block PINImage *image = nil; - __block NSData *data = nil; - __block BOOL updateMemoryCache = NO; - - PINRemoteImageMemoryContainer *container = nil; - if ([object isKindOfClass:[PINRemoteImageMemoryContainer class]]) { - container = (PINRemoteImageMemoryContainer *)object; - [container.lock lockWithBlock:^{ - data = container.data; - }]; - } else { - updateMemoryCache = YES; - - // don't need to lock the container here because we just init it. - container = [[PINRemoteImageMemoryContainer alloc] init]; - - if ([object isKindOfClass:[PINImage class]]) { - data = diskData; - container.image = (PINImage *)object; - } else if ([object isKindOfClass:[NSData class]]) { - data = (NSData *)object; - } else { - //invalid item in cache - updateMemoryCache = NO; - data = nil; - container = nil; - } - - container.data = data; - } - - if (alternateRepresentationsAllowed) { - alternateRepresentation = [_alternateRepProvider alternateRepresentationWithData:data options:options]; - } - - if (alternateRepresentation == nil) { - //we need the image - [container.lock lockWithBlock:^{ - image = container.image; - }]; - if (image == nil && container.data) { - image = [PINImage pin_decodedImageWithData:container.data skipDecodeIfPossible:skipDecode]; - - if (url != nil) { - image = [PINImage pin_scaledImageForImage:image withKey:key]; - } - - if (skipDecode == NO) { - [container.lock lockWithBlock:^{ - updateMemoryCache = YES; - container.image = image; - }]; - } - } - } - - // maxAge set to 0 means that images should not be stored at all. - BOOL doNotCache = (maxAge != nil && [maxAge integerValue] == 0); - - // There is no HTTP header that can be sent to indicate "infinite". However not setting a value at all, which in - // our case is represented by maxAge == nil, effectively means that. - BOOL cacheIndefinitely = (maxAge == nil); - - if (!doNotCache) { - if (updateMemoryCache) { - [container.lock lockWithBlock:^{ - NSUInteger cacheCost = additionalCost; - cacheCost += [container.data length]; - CGImageRef imageRef = container.image.CGImage; - NSAssert(container.image == nil || imageRef != NULL, @"We only cache a decompressed image if we decompressed it ourselves. In that case, it should be backed by a CGImageRef."); - if (imageRef) { - cacheCost += CGImageGetHeight(imageRef) * CGImageGetBytesPerRow(imageRef); - } - if (!self.memoryCacheTTLIsEnabled || cacheIndefinitely) { - [self.cache setObjectInMemory:container forKey:key withCost:cacheCost]; - } else { - [self.cache setObjectInMemory:container forKey:key withCost:cacheCost withAgeLimit:[maxAge integerValue]]; - } - }]; - } - - if (diskData) { - if (!self.diskCacheTTLIsEnabled || cacheIndefinitely) { - // with an unset (nil) maxAge, or a cache that is not _isTtlCache, behave as before (will use cache global behavior) - [self.cache setObjectOnDisk:diskData forKey:key]; - } else { - [self.cache setObjectOnDisk:diskData forKey:key withAgeLimit:[maxAge integerValue]]; - } - } - } - - if (outImage) { - *outImage = image; - } - - if (outAlternateRepresentation) { - *outAlternateRepresentation = alternateRepresentation; - } - - if (image == nil && alternateRepresentation == nil) { - PINLog(@"Invalid item in cache"); - [self.cache removeObjectForKey:key completion:nil]; - return NO; - } - return YES; -} - -- (NSString *)cacheKeyForURL:(NSURL *)url processorKey:(NSString *)processorKey -{ - return [self cacheKeyForURL:url processorKey:processorKey resume:NO]; -} - -- (NSString *)cacheKeyForURL:(NSURL *)url processorKey:(NSString *)processorKey resume:(BOOL)resume -{ - NSString *cacheKey = [url absoluteString]; - NSAssert((processorKey.length == 0 && resume == YES) || resume == NO, @"It doesn't make sense to use resume with processing."); - if (processorKey.length > 0) { - cacheKey = [cacheKey stringByAppendingFormat:@"-<%@>", processorKey]; - } - - //PINDiskCache uses this key as the filename of the file written to disk - //Due to the current filesystem used in Darwin, this name must be limited to 255 chars. - //In case the generated key exceeds PINRemoteImageManagerCacheKeyMaxLength characters, - //we return the hash of it instead. - if (cacheKey.length > PINRemoteImageManagerCacheKeyMaxLength) { - __block CC_MD5_CTX ctx; - CC_MD5_Init(&ctx); - NSData *data = [cacheKey dataUsingEncoding:NSUTF8StringEncoding]; - [data enumerateByteRangesUsingBlock:^(const void * _Nonnull bytes, NSRange byteRange, BOOL * _Nonnull stop) { - CC_MD5_Update(&ctx, bytes, (CC_LONG)byteRange.length); - }]; - - unsigned char digest[CC_MD5_DIGEST_LENGTH]; - CC_MD5_Final(digest, &ctx); - - NSMutableString *hexString = [NSMutableString stringWithCapacity:(CC_MD5_DIGEST_LENGTH * 2)]; - for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { - [hexString appendFormat:@"%02lx", (unsigned long)digest[i]]; - } - cacheKey = [hexString copy]; - } - //The resume key must not be hashed, it is used to decide whether or not to decode from the disk cache. - if (resume) { - cacheKey = [PINRemoteImageCacheKeyResumePrefix stringByAppendingString:cacheKey]; - } - - return cacheKey; -} - -- (void)objectForKey:(NSString *)key options:(PINRemoteImageManagerDownloadOptions)options completion:(void (^)(BOOL found, BOOL valid, PINImage *image, id alternativeRepresentation))completion -{ - return [self objectForURL:nil processorKey:nil key:key options:options completion:completion]; -} - -- (void)objectForURL:(NSURL *)url processorKey:(NSString *)processorKey key:(NSString *)key options:(PINRemoteImageManagerDownloadOptions)options completion:(void (^)(BOOL found, BOOL valid, PINImage *image, id alternativeRepresentation))completion -{ - if ((options & PINRemoteImageManagerDownloadOptionsIgnoreCache) != 0) { - completion(NO, YES, nil, nil); - return; - } - - if (key == nil && url == nil) { - completion(NO, YES, nil, nil); - return; - } - - key = key ?: [self cacheKeyForURL:url processorKey:processorKey]; - - void (^materialize)(id object) = ^(id object) { - PINImage *image = nil; - id alternativeRepresentation = nil; - BOOL valid = [self materializeAndCacheObject:object - url:nil - key:key - options:options - outImage:&image - outAltRep:&alternativeRepresentation]; - - completion(YES, valid, image, alternativeRepresentation); - }; - - PINRemoteImageMemoryContainer *container = [self.cache objectFromMemoryForKey:key]; - if (container) { - materialize(container); - } else { - [self.cache objectFromDiskForKey:key completion:^(id _Nonnull cache, - NSString *_Nonnull key, - id _Nullable object) { - if (object) { - materialize(object); - } else { - completion(NO, YES, nil, nil); - } - }]; - } -} - -#pragma mark - Resume support - -- (NSString *)resumeCacheKeyForURL:(NSURL *)url -{ - return [self cacheKeyForURL:url processorKey:nil resume:YES]; -} - -- (void)storeResumeData:(PINResume *)resume forURL:(NSURL *)URL -{ - NSString *resumeKey = [self resumeCacheKeyForURL:URL]; - [self.cache setObjectOnDisk:resume forKey:resumeKey]; -} - -#if DEBUG -- (NSUInteger)totalDownloads -{ - //hack to avoid main thread assertion since these are only used in testing - [_lock lock]; - NSUInteger totalDownloads = _totalDownloads; - [_lock unlock]; - return totalDownloads; -} -#endif - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerConfiguration.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerConfiguration.h deleted file mode 100644 index b1509038..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerConfiguration.h +++ /dev/null @@ -1,46 +0,0 @@ -// -// PINRemoteImageManagerConfiguration.h -// Pods -// -// Created by Ryan Quan on 2/22/19. -// -// - -#import - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -/** A configuration object used to customize a PINRemoteImageManager instance **/ -@interface PINRemoteImageManagerConfiguration : NSObject - -/** The maximum number of concurrent operations. Defaults to NSOperationQueueDefaultMaxConcurrentOperationCount. */ -@property (nonatomic, readwrite, assign) NSUInteger maxConcurrentOperations; - -/** The maximum number of concurrent downloads. Defaults to 10, maximum 65535. */ -@property (nonatomic, readwrite, assign) NSUInteger maxConcurrentDownloads; - -/** The estimated remaining time threshold used to decide to skip progressive rendering. Defaults to 0.1. */ -@property (nonatomic, readwrite, assign) NSTimeInterval estimatedRemainingTimeThreshold; - -/** A bool value indicating whether PINRemoteImage should blur progressive render results */ -@property (nonatomic, readwrite, assign) BOOL shouldBlurProgressive; - -/** A CGSize which indicates the max size PINRemoteImage will render a progressive image. If an image is larger in either dimension, progressive rendering will be skipped */ -@property (nonatomic, readwrite, assign) CGSize maxProgressiveRenderSize; - -/** The minimum BPS to download the highest quality image in a set. */ -@property (nonatomic, readwrite, assign) float highQualityBPSThreshold; - -/** The maximum BPS to download the lowest quality image in a set. */ -@property (nonatomic, readwrite, assign) float lowQualityBPSThreshold; - -/** Whether high quality images should be downloaded when a low quality image is cached if network connectivity has improved. */ -@property (nonatomic, readwrite, assign) BOOL shouldUpgradeLowQualityImages; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerConfiguration.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerConfiguration.m deleted file mode 100644 index ecdad946..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerConfiguration.m +++ /dev/null @@ -1,36 +0,0 @@ -// -// PINRemoteImageManagerConfiguration.m -// Pods -// -// Created by Ryan Quan on 2/22/19. -// -// - -#import "PINRemoteImageManagerConfiguration.h" - -#import "PINRemoteImageManager.h" - -@implementation PINRemoteImageManagerConfiguration - -- (nonnull instancetype)init { - if (self = [super init]) { - _maxConcurrentOperations = [[NSProcessInfo processInfo] activeProcessorCount] * 2; - _maxConcurrentDownloads = 10; - _estimatedRemainingTimeThreshold = 0.1; - _shouldBlurProgressive = YES; - _maxProgressiveRenderSize = CGSizeMake(1024, 1024); - _highQualityBPSThreshold = 500000; - _lowQualityBPSThreshold = 50000; // approximately edge speed - _shouldUpgradeLowQualityImages = NO; - } - return self; -} - -#pragma mark - Setters - -- (void)setMaxConcurrentDownloads:(NSUInteger)maxConcurrentDownloads { - NSAssert(maxConcurrentDownloads <= PINRemoteImageHTTPMaximumConnectionsPerHost, @"maxNumberOfConcurrentDownloads must be less than or equal to %d", PINRemoteImageHTTPMaximumConnectionsPerHost); - _maxConcurrentDownloads = maxConcurrentDownloads; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerResult.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerResult.h deleted file mode 100644 index 41ff8c5a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerResult.h +++ /dev/null @@ -1,71 +0,0 @@ -// -// PINRemoteImageManagerResult.h -// Pods -// -// Created by Garrett Moon on 3/9/15. -// -// - -#import - -#import "PINRemoteImageMacros.h" - -#if PIN_TARGET_IOS -#import -#elif PIN_TARGET_MAC -#import -#endif - -/** How the image was fetched. */ -typedef NS_ENUM(NSUInteger, PINRemoteImageResultType) { - /** Returned if no image is returned */ - PINRemoteImageResultTypeNone = 0, - /** Image was fetched from the memory cache */ - PINRemoteImageResultTypeMemoryCache, - /** Image was fetched from the disk cache */ - PINRemoteImageResultTypeCache, - /** Image was downloaded */ - PINRemoteImageResultTypeDownload, - /** Image is progress */ - PINRemoteImageResultTypeProgress, -}; - -@interface PINRemoteImageManagerResult : NSObject - -@property (nonatomic, readonly, strong, nullable) PINImage *image; -@property (nonatomic, readonly, strong, nullable) id alternativeRepresentation; -@property (nonatomic, readonly, assign) NSTimeInterval requestDuration; -@property (nonatomic, readonly, strong, nullable) NSError *error; -@property (nonatomic, readonly, assign) PINRemoteImageResultType resultType; -@property (nonatomic, readonly, strong, nullable) NSUUID *UUID; -@property (nonatomic, readonly, assign) CGFloat renderedImageQuality; -@property (nonatomic, readonly, assign) NSUInteger bytesSavedByResuming; -@property (nonatomic, readonly, strong, nullable) NSURLResponse *response; - -+ (nonnull instancetype)imageResultWithImage:(nullable PINImage *)image - alternativeRepresentation:(nullable id)alternativeRepresentation - requestLength:(NSTimeInterval)requestLength - resultType:(PINRemoteImageResultType)resultType - UUID:(nullable NSUUID *)uuid - response:(nullable NSURLResponse *)response - error:(nullable NSError *)error; - -+ (nonnull instancetype)imageResultWithImage:(nullable PINImage *)image - alternativeRepresentation:(nullable id)alternativeRepresentation - requestLength:(NSTimeInterval)requestLength - resultType:(PINRemoteImageResultType)resultType - UUID:(nullable NSUUID *)uuid - response:(nullable NSURLResponse *)response - error:(nullable NSError *)error - bytesSavedByResuming:(NSUInteger)bytesSavedByResuming; - -+ (nonnull instancetype)imageResultWithImage:(nullable PINImage *)image - alternativeRepresentation:(nullable id)alternativeRepresentation - requestLength:(NSTimeInterval)requestLength - resultType:(PINRemoteImageResultType)resultType - UUID:(nullable NSUUID *)uuid - response:(nullable NSURLResponse *)response - error:(nullable NSError *)error - renderedImageQuality:(CGFloat)renderedImageQuality; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerResult.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerResult.m deleted file mode 100644 index 8076abd5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageManagerResult.m +++ /dev/null @@ -1,118 +0,0 @@ -// -// PINRemoteImageManagerResult.m -// Pods -// -// Created by Garrett Moon on 3/9/15. -// -// - -#import "PINRemoteImageManagerResult.h" - -@implementation PINRemoteImageManagerResult - -+ (nonnull instancetype)imageResultWithImage:(nullable PINImage *)image - alternativeRepresentation:(nullable id)alternativeRepresentation - requestLength:(NSTimeInterval)requestLength - resultType:(PINRemoteImageResultType)resultType - UUID:(nullable NSUUID *)uuid - response:(nullable NSURLResponse *)response - error:(nullable NSError *)error -{ - return [self imageResultWithImage:image - alternativeRepresentation:alternativeRepresentation - requestLength:requestLength - resultType:resultType - UUID:uuid - response:response - error:error - renderedImageQuality:1.0]; -} - -+ (nonnull instancetype)imageResultWithImage:(nullable PINImage *)image - alternativeRepresentation:(nullable id)alternativeRepresentation - requestLength:(NSTimeInterval)requestLength - resultType:(PINRemoteImageResultType)resultType - UUID:(nullable NSUUID *)uuid - response:(nullable NSURLResponse *)response - error:(nullable NSError *)error - bytesSavedByResuming:(NSUInteger)bytesSavedByResuming -{ - return [[self alloc] initWithImage:image - alternativeRepresentation:alternativeRepresentation - requestLength:requestLength - error:error - resultType:resultType - UUID:uuid - response:response - renderedImageQuality:1.0 - bytesSavedByResuming:bytesSavedByResuming]; -} - -+ (nonnull instancetype)imageResultWithImage:(nullable PINImage *)image - alternativeRepresentation:(nullable id)alternativeRepresentation - requestLength:(NSTimeInterval)requestLength - resultType:(PINRemoteImageResultType)resultType - UUID:(nullable NSUUID *)uuid - response:(nullable NSURLResponse *)response - error:(nullable NSError *)error - renderedImageQuality:(CGFloat)renderedImageQuality -{ - return [[self alloc] initWithImage:image - alternativeRepresentation:alternativeRepresentation - requestLength:requestLength - error:error - resultType:resultType - UUID:uuid - response:response - renderedImageQuality:renderedImageQuality - bytesSavedByResuming:0]; -} - -- (instancetype)initWithImage:(PINImage *)image - alternativeRepresentation:(id)alternativeRepresentation - requestLength:(NSTimeInterval)requestLength - error:(NSError *)error - resultType:(PINRemoteImageResultType)resultType - UUID:(NSUUID *)uuid - response:(NSURLResponse *)response - renderedImageQuality:(CGFloat)renderedImageQuality - bytesSavedByResuming:(NSUInteger)bytesSavedByResuming; -{ - if (self = [super init]) { - _image = image; - _alternativeRepresentation = alternativeRepresentation; - _requestDuration = requestLength; - _error = error; - _resultType = resultType; - _UUID = uuid; - _response = response; - _renderedImageQuality = renderedImageQuality; - _bytesSavedByResuming = bytesSavedByResuming; - } - return self; -} - -- (NSString *)description -{ - NSString *description = [super description]; - description = [description stringByAppendingString:[NSString stringWithFormat:@"image: %@", self.image]]; - description = [description stringByAppendingString:@"\n"]; - description = [description stringByAppendingString:[NSString stringWithFormat:@"alternativeRepresentation: %@", self.alternativeRepresentation]]; - description = [description stringByAppendingString:@"\n"]; - description = [description stringByAppendingString:[NSString stringWithFormat:@"requestDuration: %f", self.requestDuration]]; - description = [description stringByAppendingString:@"\n"]; - description = [description stringByAppendingString:[NSString stringWithFormat:@"error: %@", self.error]]; - description = [description stringByAppendingString:@"\n"]; - description = [description stringByAppendingString:[NSString stringWithFormat:@"resultType: %lu", (unsigned long)self.resultType]]; - description = [description stringByAppendingString:@"\n"]; - description = [description stringByAppendingString:[NSString stringWithFormat:@"UUID: %@", self.UUID]]; - description = [description stringByAppendingString:@"\n"]; - description = [description stringByAppendingString:[NSString stringWithFormat:@"response: %@", self.response]]; - description = [description stringByAppendingString:@"\n"]; - description = [description stringByAppendingString:[NSString stringWithFormat:@"renderedImageQuality: %f", self.renderedImageQuality]]; - description = [description stringByAppendingString:@"\n"]; - description = [description stringByAppendingString:[NSString stringWithFormat:@"bytesSavedByResuming: %lu", (unsigned long)self.bytesSavedByResuming]]; - return description; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageMemoryContainer.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageMemoryContainer.h deleted file mode 100644 index 2d1d62bf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageMemoryContainer.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// PINRemoteImageMemoryContainer.h -// Pods -// -// Created by Garrett Moon on 3/17/16. -// -// - -#import - -#import "PINRemoteImageMacros.h" -#import "PINRemoteLock.h" - -@class PINImage; - -@interface PINRemoteImageMemoryContainer : NSObject - -@property (nonatomic, strong) PINImage *image; -@property (nonatomic, strong) NSData *data; -@property (nonatomic, strong) PINRemoteLock *lock; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageMemoryContainer.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageMemoryContainer.m deleted file mode 100644 index 3da6b27a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageMemoryContainer.m +++ /dev/null @@ -1,21 +0,0 @@ -// -// PINRemoteImageMemoryContainer.m -// Pods -// -// Created by Garrett Moon on 3/17/16. -// -// - -#import "PINRemoteImageMemoryContainer.h" - -@implementation PINRemoteImageMemoryContainer - -- (instancetype)init -{ - if (self = [super init]) { - _lock = [[PINRemoteLock alloc] initWithName:@"PINRemoteImageMemoryContainer" lockType:PINRemoteLockTypeNonRecursive]; - } - return self; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageProcessorTask.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageProcessorTask.h deleted file mode 100644 index a36fe3ac..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageProcessorTask.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// PINRemoteImageProcessorTask.h -// Pods -// -// Created by Garrett Moon on 3/9/15. -// -// - -#import "PINRemoteImageTask.h" - -@interface PINRemoteImageProcessorTask : PINRemoteImageTask - -@property (nonatomic, strong, nullable) NSUUID *downloadTaskUUID; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageProcessorTask.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageProcessorTask.m deleted file mode 100644 index 2f950227..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageProcessorTask.m +++ /dev/null @@ -1,44 +0,0 @@ -// -// PINRemoteImageProcessorTask.m -// Pods -// -// Created by Garrett Moon on 3/9/15. -// -// - -#import "PINRemoteImageProcessorTask.h" - -@implementation PINRemoteImageProcessorTask - -@synthesize downloadTaskUUID = _downloadTaskUUID; - -- (BOOL)cancelWithUUID:(NSUUID *)UUID resume:(PINResume **)resume -{ - BOOL noMoreCompletions = [super cancelWithUUID:UUID resume:resume]; - [self.lock lockWithBlock:^{ - if (noMoreCompletions && self->_downloadTaskUUID) { - [self.manager cancelTaskWithUUID:self->_downloadTaskUUID]; - self->_downloadTaskUUID = nil; - } - }]; - return noMoreCompletions; -} - -- (void)setDownloadTaskUUID:(NSUUID *)downloadTaskUUID -{ - [self.lock lockWithBlock:^{ - NSAssert(self->_downloadTaskUUID == nil, @"downloadTaskUUID should be nil"); - self->_downloadTaskUUID = downloadTaskUUID; - }]; -} - -- (NSUUID *)downloadTaskUUID -{ - __block NSUUID *downloadTaskUUID; - [self.lock lockWithBlock:^{ - downloadTaskUUID = self->_downloadTaskUUID; - }]; - return downloadTaskUUID; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageTask.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageTask.h deleted file mode 100644 index 0fc0ed9e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageTask.h +++ /dev/null @@ -1,60 +0,0 @@ -// -// PINRemoteImageTask.h -// Pods -// -// Created by Garrett Moon on 3/9/15. -// -// - -#import -#import - -#import "PINRemoteImageCallbacks.h" -#import "PINRemoteImageManager.h" -#import "PINRemoteImageMacros.h" -#import "PINRemoteLock.h" -#import "PINResume.h" - -@interface PINRemoteImageTask : NSObject - -@property (nonatomic, strong, readonly, nonnull) PINRemoteLock *lock; - -@property (nonatomic, copy, readonly, nonnull) NSDictionary *callbackBlocks; - -@property (nonatomic, weak, nullable) PINRemoteImageManager *manager; - -@property (nonatomic, strong, nullable) id retryStrategy; - -@property (nonatomic, copy, nullable) NSString *key; - -- (_Nonnull instancetype)init NS_UNAVAILABLE; -- (_Nonnull instancetype)initWithManager:(nonnull PINRemoteImageManager *)manager NS_DESIGNATED_INITIALIZER; - -- (void)addCallbacksWithCompletionBlock:(nonnull PINRemoteImageManagerImageCompletion)completionBlock - progressImageBlock:(nullable PINRemoteImageManagerImageCompletion)progressImageBlock - progressDownloadBlock:(nullable PINRemoteImageManagerProgressDownload)progressDownloadBlock - withUUID:(nonnull NSUUID *)UUID; - -- (void)removeCallbackWithUUID:(nonnull NSUUID *)UUID; - -- (void)callCompletionsWithImage:(nullable PINImage *)image - alternativeRepresentation:(nullable id)alternativeRepresentation - cached:(BOOL)cached - response:(nullable NSURLResponse *)response - error:(nullable NSError *)error - remove:(BOOL)remove; - -//returns YES if no more attached completionBlocks -- (BOOL)cancelWithUUID:(nonnull NSUUID *)UUID resume:(PINResume * _Nullable * _Nullable)resume; - -- (void)setPriority:(PINRemoteImageManagerPriority)priority; - -- (nonnull PINRemoteImageManagerResult *)imageResultWithImage:(nullable PINImage *)image - alternativeRepresentation:(nullable id)alternativeRepresentation - requestLength:(NSTimeInterval)requestLength - resultType:(PINRemoteImageResultType)resultType - UUID:(nullable NSUUID *)uuid - response:(nullable NSURLResponse *)response - error:(nullable NSError *)error; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageTask.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageTask.m deleted file mode 100644 index 043a6280..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteImageTask.m +++ /dev/null @@ -1,160 +0,0 @@ -// -// PINRemoteImageTask.m -// Pods -// -// Created by Garrett Moon on 3/9/15. -// -// - -#import "PINRemoteImageTask.h" - -#import "PINRemoteImageCallbacks.h" -#import "PINRemoteImageManager+Private.h" - -@interface PINRemoteImageTask () -{ - NSMutableDictionary *_callbackBlocks; // We need to copy/retain `NSUUID`, because `PINRemoteImageManager` has a weak table `UUIDs` to store all UUIDs. -} - -@end - -@implementation PINRemoteImageTask - -@synthesize lock = _lock; - -- (instancetype)initWithManager:(PINRemoteImageManager *)manager -{ - if (self = [super init]) { - _lock = [[PINRemoteLock alloc] initWithName:@"Task Lock"]; - _manager = manager; - _callbackBlocks = [[NSMutableDictionary alloc] init]; - } - return self; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"<%@: %p> completionBlocks: %lu", NSStringFromClass([self class]), self, (unsigned long)self.callbackBlocks.count]; -} - -- (void)addCallbacksWithCompletionBlock:(PINRemoteImageManagerImageCompletion)completionBlock - progressImageBlock:(PINRemoteImageManagerImageCompletion)progressImageBlock - progressDownloadBlock:(PINRemoteImageManagerProgressDownload)progressDownloadBlock - withUUID:(NSUUID *)UUID -{ - PINRemoteImageCallbacks *completion = [[PINRemoteImageCallbacks alloc] init]; - completion.completionBlock = completionBlock; - completion.progressImageBlock = progressImageBlock; - completion.progressDownloadBlock = progressDownloadBlock; - - [self.lock lockWithBlock:^{ - [self->_callbackBlocks setObject:completion forKey:UUID]; - }]; -} - -- (void)removeCallbackWithUUID:(NSUUID *)UUID -{ - [self.lock lockWithBlock:^{ - [self l_removeCallbackWithUUID:UUID]; - }]; -} - -- (void)l_removeCallbackWithUUID:(NSUUID *)UUID -{ - [_callbackBlocks removeObjectForKey:UUID]; -} - -- (NSDictionary *)callbackBlocks -{ - __block NSDictionary *callbackBlocks; - [self.lock lockWithBlock:^{ - callbackBlocks = [self->_callbackBlocks copy]; - }]; - return callbackBlocks; -} - -- (void)callCompletionsWithImage:(PINImage *)image - alternativeRepresentation:(id)alternativeRepresentation - cached:(BOOL)cached - response:(NSURLResponse *)response - error:(NSError *)error - remove:(BOOL)remove; -{ - __weak typeof(self) weakSelf = self; - [self.callbackBlocks enumerateKeysAndObjectsUsingBlock:^(NSUUID *UUID, PINRemoteImageCallbacks *callback, BOOL *stop) { - typeof(self) strongSelf = weakSelf; - PINRemoteImageManagerImageCompletion completionBlock = callback.completionBlock; - if (completionBlock != nil) { - PINLog(@"calling completion for UUID: %@ key: %@", UUID, strongSelf.key); - CFTimeInterval requestTime = callback.requestTime; - - dispatch_async(self.manager.callbackQueue, ^ - { - PINRemoteImageResultType result; - if (image || alternativeRepresentation) { - result = cached ? PINRemoteImageResultTypeCache : PINRemoteImageResultTypeDownload; - } else { - result = PINRemoteImageResultTypeNone; - } - completionBlock([self imageResultWithImage:image - alternativeRepresentation:alternativeRepresentation - requestLength:CACurrentMediaTime() - requestTime - resultType:result - UUID:UUID - response:response - error:error]); - }); - } - if (remove) { - [strongSelf removeCallbackWithUUID:UUID]; - } - }]; -} - -- (BOOL)cancelWithUUID:(NSUUID *)UUID resume:(PINResume **)resume -{ - __block BOOL noMoreCompletions; - [self.lock lockWithBlock:^{ - noMoreCompletions = [self l_cancelWithUUID:UUID]; - }]; - return noMoreCompletions; -} - -- (BOOL)l_cancelWithUUID:(NSUUID *)UUID -{ - BOOL noMoreCompletions = NO; - [self l_removeCallbackWithUUID:UUID]; - if ([_callbackBlocks count] == 0) { - noMoreCompletions = YES; - } - return noMoreCompletions; -} - -- (void)setPriority:(PINRemoteImageManagerPriority)priority -{ - -} - -- (nonnull PINRemoteImageManagerResult *)imageResultWithImage:(nullable PINImage *)image - alternativeRepresentation:(nullable id)alternativeRepresentation - requestLength:(NSTimeInterval)requestLength - resultType:(PINRemoteImageResultType)resultType - UUID:(nullable NSUUID *)UUID - response:(NSURLResponse *)response - error:(nullable NSError *)error -{ - return [PINRemoteImageManagerResult imageResultWithImage:image - alternativeRepresentation:alternativeRepresentation - requestLength:requestLength - resultType:resultType - UUID:UUID - response:response - error:error]; -} - -- (NSMutableDictionary *)l_callbackBlocks -{ - return _callbackBlocks; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteLock.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteLock.h deleted file mode 100644 index 1ca84889..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteLock.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// PINRemoteLock.h -// Pods -// -// Created by Garrett Moon on 3/17/16. -// -// - -#import - -/** The type of lock, either recursive or non-recursive */ -typedef NS_ENUM(NSUInteger, PINRemoteLockType) { - /** A non-recursive version of the lock. The default. */ - PINRemoteLockTypeNonRecursive = 0, - /** A recursive version of the lock. More expensive. */ - PINRemoteLockTypeRecursive, -}; - -@interface PINRemoteLock : NSObject - -- (instancetype)initWithName:(NSString *)lockName lockType:(PINRemoteLockType)lockType NS_DESIGNATED_INITIALIZER; -- (instancetype)initWithName:(NSString *)lockName; -- (void)lockWithBlock:(dispatch_block_t)block; - -- (void)lock; -- (void)unlock; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteLock.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteLock.m deleted file mode 100644 index 6cf74d62..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteLock.m +++ /dev/null @@ -1,112 +0,0 @@ -// -// PINRemoteLock.m -// Pods -// -// Created by Garrett Moon on 3/17/16. -// -// - -#import "PINRemoteLock.h" - -#import - -#if !defined(PINREMOTELOCK_DEBUG) && defined(DEBUG) -#define PINREMOTELOCK_DEBUG DEBUG -#endif - -@interface PINRemoteLock () -{ -#if PINREMOTELOCK_DEBUG - NSLock *_lock; - NSRecursiveLock *_recursiveLock; -#else - pthread_mutex_t _lock; -#endif -} - -@end - -@implementation PINRemoteLock - -- (instancetype)init -{ - return [self initWithName:nil]; -} - -- (instancetype)initWithName:(NSString *)lockName lockType:(PINRemoteLockType)lockType -{ - if (self = [super init]) { -#if PINREMOTELOCK_DEBUG - if (lockType == PINRemoteLockTypeNonRecursive) { - _lock = [[NSLock alloc] init]; - } else { - _recursiveLock = [[NSRecursiveLock alloc] init]; - } - - if (lockName) { - [_lock setName:lockName]; - [_recursiveLock setName:lockName]; - } -#else - pthread_mutexattr_t attr; - - pthread_mutexattr_init(&attr); - if (lockType == PINRemoteLockTypeRecursive) { - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); - } - pthread_mutex_init(&_lock, &attr); -#endif - } - return self; -} - -- (instancetype)initWithName:(NSString *)lockName -{ - return [self initWithName:lockName lockType:PINRemoteLockTypeNonRecursive]; -} - -#if ! PINREMOTELOCK_DEBUG -- (void)dealloc -{ - pthread_mutex_destroy(&_lock); -} -#endif - -- (void)lockWithBlock:(dispatch_block_t)block -{ -#if PINREMOTELOCK_DEBUG - [_lock lock]; - [_recursiveLock lock]; -#else - pthread_mutex_lock(&_lock); -#endif - block(); -#if PINREMOTELOCK_DEBUG - [_lock unlock]; - [_recursiveLock unlock]; -#else - pthread_mutex_unlock(&_lock); -#endif -} - -- (void)lock -{ -#if PINREMOTELOCK_DEBUG - [_lock lock]; - [_recursiveLock lock]; -#else - pthread_mutex_lock(&_lock); -#endif -} - -- (void)unlock -{ -#if PINREMOTELOCK_DEBUG - [_lock unlock]; - [_recursiveLock unlock]; -#else - pthread_mutex_unlock(&_lock); -#endif -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteWeakProxy.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteWeakProxy.h deleted file mode 100644 index b0abc22e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteWeakProxy.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// PINRemoteWeakProxy.h -// PINRemoteImage -// -// Created by Garrett Moon on 4/24/18. -// Copyright © 2018 Pinterest. All rights reserved. -// - -#import - -@interface PINRemoteWeakProxy : NSProxy - -+ (PINRemoteWeakProxy *)weakProxyWithTarget:(id)target; -- (instancetype)initWithTarget:(id)target; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteWeakProxy.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteWeakProxy.m deleted file mode 100644 index a7049328..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRemoteWeakProxy.m +++ /dev/null @@ -1,59 +0,0 @@ -// -// PINRemoteWeakProxy.m -// PINRemoteImage -// -// Created by Garrett Moon on 4/24/18. -// Copyright © 2018 Pinterest. All rights reserved. -// - -#import "PINRemoteWeakProxy.h" - -@interface PINRemoteWeakProxy () -{ - __weak id _target; - Class _targetClass; -} -@end - -@implementation PINRemoteWeakProxy - -+ (PINRemoteWeakProxy *)weakProxyWithTarget:(id)target -{ - return [[PINRemoteWeakProxy alloc] initWithTarget:target]; -} - -- (instancetype)initWithTarget:(id)target -{ - if (self) { - _target = target; - _targetClass = [target class]; - } - return self; -} - -- (BOOL)respondsToSelector:(SEL)aSelector -{ - return [_target respondsToSelector:aSelector]; -} - -- (BOOL)conformsToProtocol:(Protocol *)aProtocol -{ - return [_target conformsToProtocol:aProtocol]; -} - -- (id)forwardingTargetForSelector:(SEL)aSelector -{ - return _target; -} - -- (void)forwardInvocation:(NSInvocation *)invocation -{ - // Drop it since we shouldn't get here if _target is nil -} - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)sel -{ - return _target ? [_target methodSignatureForSelector:sel] : [_targetClass instanceMethodSignatureForSelector:sel]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRequestRetryStrategy.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRequestRetryStrategy.h deleted file mode 100644 index 448ec8d5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRequestRetryStrategy.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// PINRequestRetryStrategy.h -// Pods -// -// Created by Hovhannes Safaryan on 9/24/16. -// -// - -#import - -/* - Decide whether request should be retried based on the error. - **/ - -@protocol PINRequestRetryStrategy - -- (BOOL)shouldRetryWithError:(NSError *)error; -- (int)nextDelay; -- (void)incrementRetryCount; -- (int)numberOfRetries; - -@end - -@interface PINRequestExponentialRetryStrategy : NSObject - -- (instancetype)initWithRetryMaxCount:(int)retryMaxCount delayBase:(int)delayBase; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRequestRetryStrategy.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRequestRetryStrategy.m deleted file mode 100644 index 92d6ecf5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINRequestRetryStrategy.m +++ /dev/null @@ -1,69 +0,0 @@ -// -// PINRequestRetryStrategy.m -// Pods -// -// Created by Hovhannes Safaryan on 9/24/16. -// -// - -#import "PINRequestRetryStrategy.h" -#import "PINURLSessionManager.h" -#import "PINRemoteImageManager.h" - -@interface PINRequestExponentialRetryStrategy () - -@property (nonatomic, assign) int retryMaxCount; -@property (nonatomic, assign) int retryCount; -@property (nonatomic, assign) int delayBase; - -@end - -@implementation PINRequestExponentialRetryStrategy - -- (instancetype)initWithRetryMaxCount:(int)retryMaxCount delayBase:(int)delayBase -{ - if (self = [super init]) { - _retryCount = 0; - _retryMaxCount = retryMaxCount; - _delayBase = delayBase; - } - return self; -} - -- (int)numberOfRetries -{ - return self.retryCount; -} - -- (BOOL)shouldRetryWithError:(NSError *)error -{ - if (error == nil || ![[self class] retriableError:error] || - self.retryCount >= self.retryMaxCount) { - return NO; - } - return YES; -} - -- (int)nextDelay -{ - return powf(self.delayBase, self.retryCount); -} - -- (void)incrementRetryCount -{ - self.retryCount++; -} - -+ (BOOL)retriableError:(NSError *)remoteImageError -{ - if ([remoteImageError.domain isEqualToString:PINURLErrorDomain]) { - return remoteImageError.code >= 500; - } else if ([remoteImageError.domain isEqualToString:NSURLErrorDomain] && remoteImageError.code == NSURLErrorUnsupportedURL) { - return NO; - } else if ([remoteImageError.domain isEqualToString:PINRemoteImageManagerErrorDomain]) { - return NO; - } - return YES; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINResume.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINResume.h deleted file mode 100644 index 7ff2b53b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINResume.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// PINResume.h -// PINRemoteImage -// -// Created by Garrett Moon on 3/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface PINResume : NSObject - -- (id)init NS_UNAVAILABLE; -+ (PINResume *)resumeData:(NSData *)resumeData ifRange:(NSString *)ifRange totalBytes:(long long)totalBytes; - -@property (nonatomic, strong, readonly) NSData *resumeData; -@property (nonatomic, copy, readonly) NSString *ifRange; -@property (nonatomic, assign, readonly) long long totalBytes; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINResume.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINResume.m deleted file mode 100644 index cfcbd165..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINResume.m +++ /dev/null @@ -1,51 +0,0 @@ -// -// PINResume.m -// PINRemoteImage -// -// Created by Garrett Moon on 3/10/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINResume.h" - -@implementation PINResume - -NSString * const kResumeDataKey = @"kResumeDataKey"; -NSString * const kIfRangeKey = @"kIfRangeKey"; -NSString * const kTotalBytesKey = @"kTotalBytesKey"; - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - if (self = [super init]) { - _resumeData = [aDecoder decodeObjectForKey:kResumeDataKey]; - _ifRange = [aDecoder decodeObjectForKey:kIfRangeKey]; - _totalBytes = [aDecoder decodeInt64ForKey:kTotalBytesKey]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder -{ - [aCoder encodeObject:_resumeData forKey:kResumeDataKey]; - [aCoder encodeObject:_ifRange forKey:kIfRangeKey]; - [aCoder encodeInt64:_totalBytes forKey:kTotalBytesKey]; -} - -+ (PINResume *)resumeData:(NSData *)resumeData ifRange:(NSString *)ifRange totalBytes:(long long)totalBytes -{ - PINResume *resume = [[PINResume alloc] initWithResumeData:resumeData ifRange:ifRange totalBytes:totalBytes]; - return resume; -} - -- (PINResume *)initWithResumeData:(NSData *)resumeData ifRange:(NSString *)ifRange totalBytes:(long long)totalBytes -{ - if (self = [super init]) { - NSAssert(resumeData.length > 0 && ifRange.length > 0 && totalBytes > 0, @"PINResume must have all fields non-nil and non-zero length."); - _resumeData = resumeData; - _ifRange = ifRange; - _totalBytes = totalBytes; - } - return self; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINSpeedRecorder.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINSpeedRecorder.h deleted file mode 100644 index bee58138..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINSpeedRecorder.h +++ /dev/null @@ -1,51 +0,0 @@ -// -// PINSpeedRecorder.h -// PINRemoteImage -// -// Created by Garrett Moon on 8/30/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import - -typedef enum : NSUInteger { - PINSpeedRecorderConnectionStatusNotReachable, - PINSpeedRecorderConnectionStatusWWAN, - PINSpeedRecorderConnectionStatusWiFi -} PINSpeedRecorderConnectionStatus; - -@interface PINSpeedRecorder : NSObject - -+ (PINSpeedRecorder *)sharedRecorder; -+ (NSUInteger)appropriateImageIdxForURLsGivenHistoricalNetworkConditions:(NSArray *)urls - lowQualityQPSThreshold:(float)lowQualityQPSThreshold - highQualityQPSThreshold:(float)highQualityQPSThreshold; - -- (void)processMetrics:(NSURLSessionTaskMetrics *)metrics forTask:(NSURLSessionTask *)task API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)); - -/* - Returns a weighted average of the bytes per second of a transfer with the time to first byte subtracted. - More specifically, we get the time to first byte for every task that completes, - subtract it from the total transfer time, calculate bytes per second - and add it to an existing average using exponential weighted average and adjusting - for starting bias. - This is all done on a per host basis. - */ -- (float)weightedAdjustedBytesPerSecondForHost:(NSString *)host; - -/* - Returns a weighted average of time to first byte for the specified host. - More specifically, we get the time to first byte for every task that completes - and add it to an existing average using exponential weighted average and adjusting - for starting bias. - This is all done on a per host basis. - */ -- (NSTimeInterval)weightedTimeToFirstByteForHost:(NSString *)host; - -- (PINSpeedRecorderConnectionStatus)connectionStatus; - -#if DEBUG -- (void)setCurrentBytesPerSecond:(float)currentBPS; -#endif - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINSpeedRecorder.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINSpeedRecorder.m deleted file mode 100644 index 8e02fb26..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINSpeedRecorder.m +++ /dev/null @@ -1,265 +0,0 @@ -// -// PINSpeedRecorder.m -// PINRemoteImage -// -// Created by Garrett Moon on 8/30/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINSpeedRecorder.h" - -#import -#import - -#import "PINRemoteLock.h" - -@interface PINSpeedMeasurement : NSObject - -// Storing the count of each measurement allows for bias adjustment in exponentially -// weighted average. -@property (nonatomic, assign) NSUInteger count; -@property (nonatomic, assign) float bytesPerSecond; -@property (nonatomic, assign) float startAdjustedBytesPerSecond; -@property (nonatomic, assign) CFTimeInterval timeToFirstByte; - -@end - -@interface PINSpeedRecorder () -{ - NSCache *_speedMeasurements; - SCNetworkReachabilityRef _reachability; -#if DEBUG - BOOL _overrideBPS; - float _currentBPS; -#endif -} - -@property (nonatomic, strong) PINRemoteLock *lock; - -@end - -@implementation PINSpeedRecorder - -+ (PINSpeedRecorder *)sharedRecorder -{ - static dispatch_once_t onceToken; - static PINSpeedRecorder *sharedRecorder; - dispatch_once(&onceToken, ^{ - sharedRecorder = [[self alloc] init]; - }); - - return sharedRecorder; -} - -- (instancetype)init -{ - if (self = [super init]) { - _lock = [[PINRemoteLock alloc] initWithName:@"PINSpeedRecorder lock"]; - _speedMeasurements = [[NSCache alloc] init]; - _speedMeasurements.countLimit = 25; - - struct sockaddr_in zeroAddress; - bzero(&zeroAddress, sizeof(zeroAddress)); - zeroAddress.sin_len = sizeof(zeroAddress); - zeroAddress.sin_family = AF_INET; - _reachability = SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (const struct sockaddr *)&zeroAddress); - } - return self; -} - -- (void)processMetrics:(NSURLSessionTaskMetrics *)metrics forTask:(NSURLSessionTask *)task -{ - NSDate *requestStart = [NSDate distantFuture]; - NSDate *firstByte = [NSDate distantFuture]; - NSDate *requestEnd = [NSDate distantPast]; - int64_t contentLength = task.countOfBytesReceived; - - for (NSURLSessionTaskTransactionMetrics *metric in metrics.transactionMetrics) { - if (metric.requestStartDate == nil || metric.responseStartDate == nil) { - //Only evaluate requests which completed their first byte. - return; - } - - requestStart = [requestStart earlierDate:metric.requestStartDate]; - firstByte = [firstByte earlierDate:metric.responseStartDate]; - requestEnd = [requestEnd laterDate:metric.responseEndDate]; - } - - if ([requestStart isEqual:[NSDate distantFuture]] || [firstByte isEqual:[NSDate distantFuture]] || [requestEnd isEqual:[NSDate distantPast]] || contentLength == 0) { - return; - } - - [self updateSpeedsForHost:task.currentRequest.URL.host - bytesPerSecond:contentLength / [requestEnd timeIntervalSinceDate:requestStart] - startAdjustedBytesPerSecond:contentLength / [requestEnd timeIntervalSinceDate:firstByte] - timeToFirstByte:[firstByte timeIntervalSinceDate:requestStart]]; -} - -- (void)resetMeasurements -{ - [self.lock lockWithBlock:^{ - [self->_speedMeasurements removeAllObjects]; - }]; -} - -- (void)updateSpeedsForHost:(NSString *)host bytesPerSecond:(float)bytesPerSecond startAdjustedBytesPerSecond:(float)startAdjustedBytesPerSecond timeToFirstByte:(float)timeToFirstByte -{ - [self.lock lockWithBlock:^{ - PINSpeedMeasurement *measurement = [self->_speedMeasurements objectForKey:host]; - if (measurement == nil) { - measurement = [[PINSpeedMeasurement alloc] init]; - measurement.count = 0; - measurement.bytesPerSecond = bytesPerSecond; - measurement.startAdjustedBytesPerSecond = startAdjustedBytesPerSecond; - measurement.timeToFirstByte = timeToFirstByte; - [self->_speedMeasurements setObject:measurement forKey:host]; - } else { - const double bpsBeta = 0.8; - const double ttfbBeta = 0.8; - measurement.count++; - measurement.bytesPerSecond = (measurement.bytesPerSecond * bpsBeta) + ((1.0 - bpsBeta) * bytesPerSecond); - measurement.startAdjustedBytesPerSecond = (measurement.startAdjustedBytesPerSecond * bpsBeta) + ((1.0 - bpsBeta) * startAdjustedBytesPerSecond); - measurement.timeToFirstByte = (measurement.timeToFirstByte * ttfbBeta) + ((1.0 - ttfbBeta) * timeToFirstByte); - } - }]; -} - -- (float)weightedAdjustedBytesPerSecondForHost:(NSString *)host -{ - __block float startAdjustedBytesPerSecond = -1; - [self.lock lockWithBlock:^{ -#if DEBUG - if (self->_overrideBPS) { - startAdjustedBytesPerSecond = self->_currentBPS; - return; - } -#endif - PINSpeedMeasurement *measurement = [self->_speedMeasurements objectForKey:host]; - if (measurement == 0) { - startAdjustedBytesPerSecond = -1; - return; - } - startAdjustedBytesPerSecond = measurement.startAdjustedBytesPerSecond; - }]; - return startAdjustedBytesPerSecond; -} - -- (NSTimeInterval)weightedTimeToFirstByteForHost:(NSString *)host -{ - __block NSTimeInterval timeToFirstByte = 0; - [self.lock lockWithBlock:^{ - PINSpeedMeasurement *measurement = [self->_speedMeasurements objectForKey:host]; - timeToFirstByte = measurement.timeToFirstByte; - }]; - return timeToFirstByte; -} - -#if DEBUG -- (void)setCurrentBytesPerSecond:(float)currentBPS -{ - [self.lock lockWithBlock:^{ - if (currentBPS == -1) { - self->_overrideBPS = NO; - } else { - self->_overrideBPS = YES; - } - self->_currentBPS = currentBPS; - }]; -} -#endif - -// Cribbed from Apple's reachability: https://developer.apple.com/library/content/samplecode/Reachability/Listings/Reachability_Reachability_m.html#//apple_ref/doc/uid/DTS40007324-Reachability_Reachability_m-DontLinkElementID_9 - -- (PINSpeedRecorderConnectionStatus)connectionStatus -{ - PINSpeedRecorderConnectionStatus status = PINSpeedRecorderConnectionStatusNotReachable; - SCNetworkReachabilityFlags flags; - - // _reachability is set on init and therefore safe to access outside the lock - if (SCNetworkReachabilityGetFlags(_reachability, &flags)) { - return [self networkStatusForFlags:flags]; - } - return status; -} - -- (PINSpeedRecorderConnectionStatus)networkStatusForFlags:(SCNetworkReachabilityFlags)flags -{ - if ((flags & kSCNetworkReachabilityFlagsReachable) == 0) { - // The target host is not reachable. - return PINSpeedRecorderConnectionStatusNotReachable; - } - - PINSpeedRecorderConnectionStatus connectionStatus = PINSpeedRecorderConnectionStatusNotReachable; - - if ((flags & kSCNetworkReachabilityFlagsConnectionRequired) == 0) { - /* - If the target host is reachable and no connection is required then we'll assume (for now) that you're on Wi-Fi... - */ - connectionStatus = PINSpeedRecorderConnectionStatusWiFi; - } - - if ((((flags & kSCNetworkReachabilityFlagsConnectionOnDemand ) != 0) || (flags & kSCNetworkReachabilityFlagsConnectionOnTraffic) != 0)) { - /* - ... and the connection is on-demand (or on-traffic) if the calling application is using the CFSocketStream or higher APIs... - */ - - if ((flags & kSCNetworkReachabilityFlagsInterventionRequired) == 0) { - /* - ... and no [user] intervention is needed... - */ - connectionStatus = PINSpeedRecorderConnectionStatusWiFi; - } - } - -#if PIN_TARGET_IOS - if ((flags & kSCNetworkReachabilityFlagsIsWWAN) == kSCNetworkReachabilityFlagsIsWWAN) { - /* - ... but WWAN connections are OK if the calling application is using the CFNetwork APIs. - */ - connectionStatus = PINSpeedRecorderConnectionStatusWWAN; - } -#endif - - return connectionStatus; -} - -+ (NSUInteger)appropriateImageIdxForURLsGivenHistoricalNetworkConditions:(NSArray *)urls - lowQualityQPSThreshold:(float)lowQualityQPSThreshold - highQualityQPSThreshold:(float)highQualityQPSThreshold -{ - float currentBytesPerSecond = [[PINSpeedRecorder sharedRecorder] weightedAdjustedBytesPerSecondForHost:[[urls firstObject] host]]; - - NSUInteger desiredImageURLIdx; - - if (currentBytesPerSecond == -1) { - // Base it on reachability - switch ([[PINSpeedRecorder sharedRecorder] connectionStatus]) { - case PINSpeedRecorderConnectionStatusWiFi: - desiredImageURLIdx = urls.count - 1; - break; - - case PINSpeedRecorderConnectionStatusWWAN: - case PINSpeedRecorderConnectionStatusNotReachable: - desiredImageURLIdx = 0; - break; - } - } else { - if (currentBytesPerSecond >= highQualityQPSThreshold) { - desiredImageURLIdx = urls.count - 1; - } else if (currentBytesPerSecond <= lowQualityQPSThreshold) { - desiredImageURLIdx = 0; - } else if (urls.count == 2) { - desiredImageURLIdx = roundf((currentBytesPerSecond - lowQualityQPSThreshold) / ((highQualityQPSThreshold - lowQualityQPSThreshold) / (float)(urls.count - 1))); - } else { - desiredImageURLIdx = ceilf((currentBytesPerSecond - lowQualityQPSThreshold) / ((highQualityQPSThreshold - lowQualityQPSThreshold) / (float)(urls.count - 2))); - } - } - - return desiredImageURLIdx; -} - -@end - -@implementation PINSpeedMeasurement - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINURLSessionManager.h b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINURLSessionManager.h deleted file mode 100644 index 5b25ff17..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINURLSessionManager.h +++ /dev/null @@ -1,51 +0,0 @@ -// -// PINURLSessionManager.h -// Pods -// -// Created by Garrett Moon on 6/26/15. -// -// - -#import - -#import "PINRemoteImageManager.h" - -extern NSErrorDomain _Nonnull const PINURLErrorDomain; - -@protocol PINURLSessionManagerDelegate - -@required -- (void)didReceiveData:(nonnull NSData *)data forTask:(nonnull NSURLSessionTask *)task; - -@optional -- (void)didCollectMetrics:(nonnull NSURLSessionTaskMetrics *)metrics forURL:(nonnull NSURL *)url API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)); -- (void)didReceiveResponse:(nonnull NSURLResponse *)response forTask:(nonnull NSURLSessionTask *)task; -- (void)didReceiveAuthenticationChallenge:(nonnull NSURLAuthenticationChallenge *)challenge forTask:(nullable NSURLSessionTask *)task completionHandler:(nonnull void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * _Nullable credential))completionHandler; -- (void)didCompleteTask:(nonnull NSURLSessionTask *)task withError:(nullable NSError *)error; - -@end - -typedef void (^PINURLSessionDataTaskCompletion)(NSURLSessionTask * _Nonnull task, NSError * _Nullable error); - -@interface PINURLSessionManager : NSObject - -- (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)configuration; - -- (nonnull NSURLSessionDataTask *)dataTaskWithRequest:(nonnull NSURLRequest *)request - completionHandler:(nonnull PINURLSessionDataTaskCompletion)completionHandler; - -- (nonnull NSURLSessionDataTask *)dataTaskWithRequest:(nonnull NSURLRequest *)request - priority:(PINRemoteImageManagerPriority)priority - completionHandler:(nonnull PINURLSessionDataTaskCompletion)completionHandler; - -- (void)invalidateSessionAndCancelTasks; - -- (void)URLSession:(nonnull NSURLSession *)session task:(nonnull NSURLSessionTask *)task didFinishCollectingMetrics:(nonnull NSURLSessionTaskMetrics *)metrics API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)); - -@property (atomic, weak, nullable) id delegate; - -#if DEBUG -- (void)concurrentDownloads:(void (^_Nullable)(NSUInteger concurrentDownloads))concurrentDownloadsCompletion; -#endif - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINURLSessionManager.m b/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINURLSessionManager.m deleted file mode 100644 index e83601cb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Classes/PINURLSessionManager.m +++ /dev/null @@ -1,263 +0,0 @@ -// -// PINURLSessionManager.m -// Pods -// -// Created by Garrett Moon on 6/26/15. -// -// - -#import "PINURLSessionManager.h" - -#import "PINSpeedRecorder.h" - -NSErrorDomain const PINURLErrorDomain = @"PINURLErrorDomain"; - -@interface PINURLSessionManager () - -@property (nonatomic, strong) NSLock *sessionManagerLock; -@property (nonatomic, strong) NSURLSession *session; -@property (nonatomic, strong) NSOperationQueue *operationQueue; -@property (nonatomic, strong) NSMutableDictionary *delegateQueues; -@property (nonatomic, strong) NSMutableDictionary *completions; - -@end - -@implementation PINURLSessionManager - -- (instancetype)initWithSessionConfiguration:(NSURLSessionConfiguration *)configuration -{ - if (self = [super init]) { - self.sessionManagerLock = [[NSLock alloc] init]; - self.sessionManagerLock.name = @"PINURLSessionManager"; - self.operationQueue = [[NSOperationQueue alloc] init]; - self.operationQueue.name = @"PINURLSessionManager Operation Queue"; - - //queue must be serial to ensure proper ordering - [self.operationQueue setMaxConcurrentOperationCount:1]; - self.session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:self.operationQueue]; - self.completions = [[NSMutableDictionary alloc] init]; - self.delegateQueues = [[NSMutableDictionary alloc] init]; - } - return self; -} - -- (void)invalidateSessionAndCancelTasks -{ - [self lock]; - [self.session invalidateAndCancel]; - [self unlock]; -} - -- (nonnull NSURLSessionDataTask *)dataTaskWithRequest:(nonnull NSURLRequest *)request - completionHandler:(nonnull PINURLSessionDataTaskCompletion)completionHandler -{ - return [self dataTaskWithRequest:request - priority:PINRemoteImageManagerPriorityDefault - completionHandler:completionHandler]; -} - -- (nonnull NSURLSessionDataTask *)dataTaskWithRequest:(nonnull NSURLRequest *)request - priority:(PINRemoteImageManagerPriority)priority - completionHandler:(nonnull PINURLSessionDataTaskCompletion)completionHandler -{ - [self lock]; - NSURLSessionDataTask *dataTask = [self.session dataTaskWithRequest:request]; - if (@available(iOS 8.0, macOS 10.10, tvOS 9.0, watchOS 2.0, *)) { - dataTask.priority = dataTaskPriorityWithImageManagerPriority(priority); - } - if (completionHandler) { - [self.completions setObject:completionHandler forKey:@(dataTask.taskIdentifier)]; - } - NSString *queueName = [NSString stringWithFormat:@"PINURLSessionManager delegate queue - %ld", (unsigned long)dataTask.taskIdentifier]; - dispatch_queue_t delegateQueue = dispatch_queue_create([queueName UTF8String], DISPATCH_QUEUE_SERIAL); - [self.delegateQueues setObject:delegateQueue forKey:@(dataTask.taskIdentifier)]; - [self unlock]; - return dataTask; -} - -- (void)lock -{ - [self.sessionManagerLock lock]; -} - -- (void)unlock -{ - [self.sessionManagerLock unlock]; -} - -#pragma mark NSURLSessionDataDelegate - -- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)task didReceiveResponse:(NSURLResponse *)response completionHandler:(void (^)(NSURLSessionResponseDisposition))completionHandler -{ - [self lock]; - dispatch_queue_t delegateQueue = self.delegateQueues[@(task.taskIdentifier)]; - [self unlock]; - - NSAssert(delegateQueue != nil, @"There seems to be an issue in iOS 9 where this can be nil. If you can reliably reproduce hitting this, *please* open an issue: https://github.com/pinterest/PINRemoteImage/issues"); - if (delegateQueue == nil) { - return; - } - - __weak typeof(self) weakSelf = self; - dispatch_async(delegateQueue, ^{ - typeof(self) strongSelf = weakSelf; - if ([strongSelf.delegate respondsToSelector:@selector(didReceiveResponse:forTask:)]) { - [strongSelf.delegate didReceiveResponse:response forTask:task]; - } - }); - //Even though this is documented to be non-nil, in the wild it sometimes is. - if (completionHandler) { - completionHandler(NSURLSessionResponseAllow); - } -} - -- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler -{ - if ([self.delegate respondsToSelector:@selector(didReceiveAuthenticationChallenge:forTask:completionHandler:)]) { - [self.delegate didReceiveAuthenticationChallenge:challenge forTask:nil completionHandler:completionHandler]; - } else { - //Even though this is documented to be non-nil, in the wild it sometimes is. - if (completionHandler) { - completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil); - } - } -} - -- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler -{ - [self lock]; - dispatch_queue_t delegateQueue = self.delegateQueues[@(task.taskIdentifier)]; - [self unlock]; - - NSAssert(delegateQueue != nil, @"There seems to be an issue in iOS 9 where this can be nil. If you can reliably reproduce hitting this, *please* open an issue: https://github.com/pinterest/PINRemoteImage/issues"); - if (delegateQueue == nil) { - return; - } - - __weak typeof(self) weakSelf = self; - dispatch_async(delegateQueue, ^{ - typeof(self) strongSelf = weakSelf; - if ([strongSelf.delegate respondsToSelector:@selector(didReceiveAuthenticationChallenge:forTask:completionHandler:)]) { - [strongSelf.delegate didReceiveAuthenticationChallenge:challenge forTask:task completionHandler:completionHandler]; - } else { - //Even though this is documented to be non-nil, in the wild it sometimes is - if (completionHandler) { - completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil); - } - } - }); -} - -- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)task didReceiveData:(NSData *)data -{ - [self lock]; - dispatch_queue_t delegateQueue = self.delegateQueues[@(task.taskIdentifier)]; - [self unlock]; - - NSAssert(delegateQueue != nil, @"There seems to be an issue in iOS 9 where this can be nil. If you can reliably reproduce hitting this, *please* open an issue: https://github.com/pinterest/PINRemoteImage/issues"); - if (delegateQueue == nil) { - return; - } - - __weak typeof(self) weakSelf = self; - dispatch_async(delegateQueue, ^{ - typeof(self) strongSelf = weakSelf; - [strongSelf.delegate didReceiveData:data forTask:task]; - }); -} - -- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error -{ - [self lock]; - dispatch_queue_t delegateQueue = self.delegateQueues[@(task.taskIdentifier)]; - [self unlock]; - - NSAssert(delegateQueue != nil, @"There seems to be an issue in iOS 9 where this can be nil. If you can reliably reproduce hitting this, *please* open an issue: https://github.com/pinterest/PINRemoteImage/issues"); - if (delegateQueue == nil) { - return; - } - - if (!error && [task.response isKindOfClass:[NSHTTPURLResponse class]]) { - NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response; - NSInteger statusCode = [response statusCode]; - //If a 404 response contains an image, we treat it as a successful request and return the image - BOOL recoverable = [self responseRecoverableFrom404:response]; - if (statusCode >= 400 && recoverable == NO) { - error = [NSError errorWithDomain:PINURLErrorDomain - code:statusCode - userInfo:@{NSLocalizedDescriptionKey : @"HTTP Error Response."}]; - } - } - __weak typeof(self) weakSelf = self; - dispatch_async(delegateQueue, ^{ - typeof(self) strongSelf = weakSelf; - - [strongSelf lock]; - PINURLSessionDataTaskCompletion completionHandler = strongSelf.completions[@(task.taskIdentifier)]; - [strongSelf.completions removeObjectForKey:@(task.taskIdentifier)]; - [strongSelf.delegateQueues removeObjectForKey:@(task.taskIdentifier)]; - [strongSelf unlock]; - - if (completionHandler) { - completionHandler(task, error); - } - - if ([strongSelf.delegate respondsToSelector:@selector(didCompleteTask:withError:)]) { - [strongSelf.delegate didCompleteTask:task withError:error]; - } - }); -} - -#pragma mark - session statistics - -- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metrics -{ - if (@available(iOS 10.0, macOS 10.12, *)) { - [[PINSpeedRecorder sharedRecorder] processMetrics:metrics forTask:task]; - - [self lock]; - dispatch_queue_t delegateQueue = self.delegateQueues[@(task.taskIdentifier)]; - [self unlock]; - - NSAssert(delegateQueue != nil, @"There seems to be an issue in iOS 9 where this can be nil. If you can reliably reproduce hitting this, *please* open an issue: https://github.com/pinterest/PINRemoteImage/issues"); - if (delegateQueue == nil) { - return; - } - - __weak typeof(self) weakSelf = self; - dispatch_async(delegateQueue, ^{ - typeof(self) strongSelf = weakSelf; - if ([strongSelf.delegate respondsToSelector:@selector(didCollectMetrics:forURL:)]) { - [strongSelf.delegate didCollectMetrics:metrics forURL:task.originalRequest.URL]; - } - }); - } -} - -- (BOOL)responseRecoverableFrom404:(NSHTTPURLResponse*)response -{ - return response.statusCode == 404 - && [response.allHeaderFields[@"content-type"] rangeOfString:@"image"].location != NSNotFound; -} - -#if DEBUG -- (void)concurrentDownloads:(void (^_Nullable)(NSUInteger concurrentDownloads))concurrentDownloadsCompletion -{ - if (@available(macos 10.11, iOS 9.0, watchOS 2.0, tvOS 9.0, *)) { - [self.session getAllTasksWithCompletionHandler:^(NSArray<__kindof NSURLSessionTask *> * _Nonnull tasks) { - concurrentDownloadsCompletion(tasks.count); - }]; - } else { - [self.session getTasksWithCompletionHandler:^(NSArray * _Nonnull dataTasks, - NSArray * _Nonnull uploadTasks, - NSArray * _Nonnull downloadTasks) { - NSUInteger total = dataTasks.count + uploadTasks.count + downloadTasks.count; - concurrentDownloadsCompletion(total); - }]; - } -} - -#endif - -@end - diff --git a/Carthage/Checkouts/PINRemoteImage/Source/Info.plist b/Carthage/Checkouts/PINRemoteImage/Source/Info.plist deleted file mode 100644 index d3de8eef..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/Carthage/Checkouts/PINRemoteImage/Source/PINRemoteImage.modulemap b/Carthage/Checkouts/PINRemoteImage/Source/PINRemoteImage.modulemap deleted file mode 100644 index 96ace216..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Source/PINRemoteImage.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module PINRemoteImage { - umbrella header "PINRemoteImage.h" - - textual header "PINRemoteImageMacros.h" - header "PINAnimatedImageView+PINRemoteImage.h" - header "PINButton+PINRemoteImage.h" - header "PINImageView+PINRemoteImage.h" - - export * -} diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/Info.plist b/Carthage/Checkouts/PINRemoteImage/Tests/Info.plist deleted file mode 100644 index 6c6c23c4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Tests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/NSDate+PINCacheTests.h b/Carthage/Checkouts/PINRemoteImage/Tests/NSDate+PINCacheTests.h deleted file mode 100644 index e11033d0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Tests/NSDate+PINCacheTests.h +++ /dev/null @@ -1,15 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface NSDate (PINCacheTests) - -/** Swizzles +[NSDate date] to always return the specified date. */ -+ (void)startMockingDateWithDate:(NSDate *)date; - -/** Stops swizzling +[NSDate date] and returns to original implementation */ -+ (void)stopMockingDate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/NSDate+PINCacheTests.m b/Carthage/Checkouts/PINRemoteImage/Tests/NSDate+PINCacheTests.m deleted file mode 100644 index 1133c2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Tests/NSDate+PINCacheTests.m +++ /dev/null @@ -1,50 +0,0 @@ -#import "NSDate+PINCacheTests.h" - -#import - -static NSDate *PINCacheTestsSwizzedDate = nil; - -@implementation NSDate (PINCacheTests) - -+ (void)startMockingDateWithDate:(NSDate *)date -{ - // If already swizzled, just replace the static date. - BOOL alreadySwizzled = (PINCacheTestsSwizzedDate != nil); - PINCacheTestsSwizzedDate = date; - if (alreadySwizzled) { return; } - - SEL originalSelector = @selector(date); - SEL swizzledSelector = @selector(swizzled_date); - - Method originalMethod = class_getClassMethod(self, originalSelector); - Method swizzledMethod = class_getClassMethod(self, swizzledSelector); - - Class class = object_getClass((id)self); - - if (class_addMethod(class, - originalSelector, - method_getImplementation(swizzledMethod), - method_getTypeEncoding(swizzledMethod))) { - class_replaceMethod(class, - swizzledSelector, - method_getImplementation(originalMethod), - method_getTypeEncoding(originalMethod)); - } else { - method_exchangeImplementations(originalMethod, swizzledMethod); - } -} - -+ (void)stopMockingDate -{ - Method originalMethod = class_getClassMethod(self, @selector(date)); - Method swizzledMethod = class_getClassMethod(self, @selector(swizzled_date)); - method_exchangeImplementations(swizzledMethod, originalMethod); - PINCacheTestsSwizzedDate = nil; -} - -+ (instancetype)swizzled_date -{ - return PINCacheTestsSwizzedDate; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/PINAnimatedImage+PINAnimatedImageTesting.h b/Carthage/Checkouts/PINRemoteImage/Tests/PINAnimatedImage+PINAnimatedImageTesting.h deleted file mode 100644 index 82359d53..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Tests/PINAnimatedImage+PINAnimatedImageTesting.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// PINAnimatedImage+PINAnimatedImageTesting.h -// PINRemoteImageTests -// -// Created by Garrett Moon on 10/16/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import -#import - -@interface PINAnimatedImage (PINAnimatedImageTesting) - -+ (NSUInteger)greatestCommonDivisorOfA:(NSUInteger)a andB:(NSUInteger)b; - -@end - -@interface PINAnimatedImageView (PINAnimatedImageViewTesting) - -- (NSUInteger)frameIndexAtPlayHeadPosition:(CFTimeInterval)playHead; - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/PINAnimatedImage+PINAnimatedImageTesting.m b/Carthage/Checkouts/PINRemoteImage/Tests/PINAnimatedImage+PINAnimatedImageTesting.m deleted file mode 100644 index 6410d119..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Tests/PINAnimatedImage+PINAnimatedImageTesting.m +++ /dev/null @@ -1,9 +0,0 @@ -// -// PINAnimatedImage+PINAnimatedImageTesting.m -// PINRemoteImageTests -// -// Created by Garrett Moon on 10/16/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -#import "PINAnimatedImage+PINAnimatedImageTesting.h" diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/PINAnimatedImageTests.swift b/Carthage/Checkouts/PINRemoteImage/Tests/PINAnimatedImageTests.swift deleted file mode 100644 index f7e2a0f0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Tests/PINAnimatedImageTests.swift +++ /dev/null @@ -1,232 +0,0 @@ -// -// PINAnimatedImageTests.swift -// PINRemoteImageTests -// -// Created by Garrett Moon on 9/16/17. -// Copyright © 2017 Pinterest. All rights reserved. -// - -import XCTest -import PINRemoteImage - -class PINAnimatedImageTests: XCTestCase, PINRemoteImageManagerAlternateRepresentationProvider { - - override func setUp() { - super.setUp() - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() - } - - func timeoutInterval() -> TimeInterval { - return 30 - } - - // MARK: - Animated Images - func animatedWebPURL() -> URL? { - return URL.init(string: "https://res.cloudinary.com/demo/image/upload/fl_awebp/bored_animation.webp") - } - - func slowAnimatedGIFURL() -> URL? { - return URL.init(string: "https://i.pinimg.com/originals/1d/65/00/1d650041ad356b248139800bc84b7bce.gif") - } - - func nonAnimatedGIFURL() -> URL? { - return URL.init(string: "http://ak-cache.legacy.net/legacy/images/fhlogo/7630fhlogo.gif") - } - - func testMinimumFrameInterval() { - let expectation = self.expectation(description: "Result should be downloaded") - let imageManager = PINRemoteImageManager.init(sessionConfiguration: nil, alternativeRepresentationProvider: self) - imageManager.downloadImage(with: self.slowAnimatedGIFURL()!) { (result : PINRemoteImageManagerResult) in - guard let animatedData = result.alternativeRepresentation as? Data else { - XCTAssert(false, "alternativeRepresentation should be able to be coerced into data") - return - } - - guard let animatedImage = PINGIFAnimatedImage.init(animatedImageData: animatedData) else { - XCTAssert(false, "could not create GIF image") - return - } - - XCTAssert(animatedImage.frameInterval == 12, "Frame interval should be 12 because each frame is 0.2 seconds long. 60 / 12 = 5; 1 / 5 of a second is 0.2.") - expectation.fulfill() - } - self.waitForExpectations(timeout: self.timeoutInterval(), handler: nil) - } - - func testWebpAnimatedImages() { - let expectation = self.expectation(description: "Result should be downloaded") - let imageManager = PINRemoteImageManager.init(sessionConfiguration: nil, alternativeRepresentationProvider: self) - imageManager.downloadImage(with: self.animatedWebPURL()!) { (result : PINRemoteImageManagerResult) in - XCTAssertNotNil(result.alternativeRepresentation, "alternative representation should be non-nil.") - XCTAssertNil(result.image, "image should not be returned") - - guard let animatedData = result.alternativeRepresentation as? Data else { - XCTAssert(false, "alternativeRepresentation should be able to be coerced into data") - return - } - - guard let animatedImage = PINWebPAnimatedImage.init(animatedImageData: animatedData) else { - XCTAssert(false, "could not create webp image") - return - } - - let frameCount = animatedImage.frameCount - var totalDuration : CFTimeInterval = 0 - XCTAssert(frameCount > 1, "Frame count should be greater than 1") - for frameIdx in 0 ..< frameCount { - XCTAssertNotNil(animatedImage.image(at: UInt(frameIdx), cacheProvider: nil)) - totalDuration += animatedImage.duration(at: UInt(frameIdx)) - } - XCTAssert(animatedImage.totalDuration > 0, "Total duration should be greater than 0") - XCTAssertEqual(totalDuration, animatedImage.totalDuration, "Total duration should be equal to the sum of each frames duration") - - expectation.fulfill() - } - - self.waitForExpectations(timeout: self.timeoutInterval(), handler: nil) - } - - func testGreatestCommonDivisor() { - XCTAssert(PINAnimatedImage.greatestCommonDivisor(ofA: 1, andB: 1) == 1) - XCTAssert(PINAnimatedImage.greatestCommonDivisor(ofA: 2, andB: 4) == 2) - XCTAssert(PINAnimatedImage.greatestCommonDivisor(ofA: 4, andB: 2) == 2) - XCTAssert(PINAnimatedImage.greatestCommonDivisor(ofA: 18, andB: 15) == 3) - XCTAssert(PINAnimatedImage.greatestCommonDivisor(ofA: 42, andB: 56) == 14) - XCTAssert(PINAnimatedImage.greatestCommonDivisor(ofA: 12, andB: 120) == 12) - } - - func alternateRepresentation(with data: Data!, options: PINRemoteImageManagerDownloadOptions = []) -> Any! { - guard let nsdata = data as NSData? else { - return nil - } - if nsdata.pin_isAnimatedWebP() || nsdata.pin_isAnimatedGIF() { - return data - } - return nil - } - - func testIsAnimatedGIF() { - let animatedExpectation = self.expectation(description: "Animated image should be downloaded") - let imageManager = PINRemoteImageManager.init(sessionConfiguration: nil, alternativeRepresentationProvider: self) - imageManager.downloadImage(with: self.slowAnimatedGIFURL()!) { (result : PINRemoteImageManagerResult) in - XCTAssert(result.image == nil) - guard let animatedData = result.alternativeRepresentation as? NSData else { - XCTAssert(false, "alternativeRepresentation should be able to be coerced into data") - return - } - - XCTAssert(animatedData.pin_isGIF() && animatedData.pin_isAnimatedGIF()) - - animatedExpectation.fulfill() - } - - let nonAnimatedExpectation = self.expectation(description: "Non animated image should be downloaded") - imageManager.downloadImage(with: self.nonAnimatedGIFURL()!) { (result : PINRemoteImageManagerResult) in - XCTAssert(result.image != nil && result.alternativeRepresentation == nil) - nonAnimatedExpectation.fulfill() - } - self.waitForExpectations(timeout: self.timeoutInterval(), handler: nil) - } - - func testAnimatedImageViewInitializer() { - let animatedExpectation = self.expectation(description: "Animated image should be downloaded") - let imageManager = PINRemoteImageManager.init(sessionConfiguration: nil, alternativeRepresentationProvider: self) - imageManager.downloadImage(with: self.slowAnimatedGIFURL()!) { (result : PINRemoteImageManagerResult) in - XCTAssert(result.image == nil) - guard let animatedData = result.alternativeRepresentation as? NSData else { - XCTAssert(false, "alternativeRepresentation should be able to be coerced into data") - return - } - - XCTAssert(animatedData.pin_isGIF() && animatedData.pin_isAnimatedGIF()) - - DispatchQueue.main.async { - let pinCachedAnimatedImage = PINCachedAnimatedImage(animatedImageData: animatedData as Data) - - let gifImageView = PINAnimatedImageView(animatedImage: pinCachedAnimatedImage!) - XCTAssert(gifImageView.animatedImage?.coverImageReadyCallback != nil) - - animatedExpectation.fulfill() - } - } - - self.waitForExpectations(timeout: self.timeoutInterval(), handler: nil) - } - - func testGIFBytes() { - let animatedExpectation = self.expectation(description: "Animated image should be downloaded") - let imageManager = PINRemoteImageManager.init(sessionConfiguration: nil, alternativeRepresentationProvider: self) - imageManager.downloadImage(with: self.slowAnimatedGIFURL()!) { (result : PINRemoteImageManagerResult) in - XCTAssert(result.image == nil) - guard let animatedData = result.alternativeRepresentation as? NSData else { - XCTAssert(false, "alternativeRepresentation should be able to be coerced into data") - return - } - - XCTAssert(animatedData.pin_isGIF() && animatedData.pin_isAnimatedGIF()) - - let pinCachedAnimatedImage = PINGIFAnimatedImage(animatedImageData: animatedData as Data)! - let bytesSize = UInt32((pinCachedAnimatedImage.image(at: 0, cacheProvider: nil)!.takeUnretainedValue() as CGImage).bytesPerRow) * pinCachedAnimatedImage.height - - XCTAssert(pinCachedAnimatedImage.bytesPerFrame == bytesSize) - - animatedExpectation.fulfill() - } - - self.waitForExpectations(timeout: self.timeoutInterval(), handler: nil) - } - - func testInvalidAnimatedData() { - let data = "AA".data(using: .ascii) - let gifAnimatedImage = PINGIFAnimatedImage(animatedImageData: data) - XCTAssert(gifAnimatedImage == nil) - - let webpAnimatedImage = PINWebPAnimatedImage(animatedImageData: data) - XCTAssert(webpAnimatedImage == nil) - } - - func testRetainCycle() { - weak var weakCachedAnimatedImage : PINCachedAnimatedImage? - autoreleasepool { - let animatedImage = TestAnimatedImage.init() - let cachedAnimatedImage = PINCachedAnimatedImage.init(animatedImage: animatedImage) - weakCachedAnimatedImage = cachedAnimatedImage - } - - // PINCachedAnimatedImage kicks off a block on init which grabs a strong - // reference to itself. Wait for the work to complete. This test would be - // more reliable if we made a separate API for testing to *not* kick off - // the work, but then it wouldn't *really* be testing what we want it to - // test. - sleep(1); - - let cachedAnimatedImage : PINCachedAnimatedImage? = weakCachedAnimatedImage - XCTAssertNil(cachedAnimatedImage) - } - - func testFrameIndex() { - let bundle = Bundle(for: type(of: self)) - let path = bundle.path(forResource: "fireworks", ofType: "gif")! - let gifData = NSData(contentsOfFile: path) - let cachedAnimatedImage = PINCachedAnimatedImage(animatedImageData: gifData! as Data)! - - let gifAnimatedImageView = PINAnimatedImageView(animatedImage: cachedAnimatedImage) - - // Test left bounds - var index = gifAnimatedImageView.frameIndex(atPlayHeadPosition: 0.1) - XCTAssert(index == 0) - - // Test right bounds - index = gifAnimatedImageView.frameIndex(atPlayHeadPosition: 1.1) - XCTAssert(index == 9) - - // Test random index - index = gifAnimatedImageView.frameIndex(atPlayHeadPosition: 0.41) - XCTAssert(index == 4) - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/PINRemoteImageTests-Bridging-Header.h b/Carthage/Checkouts/PINRemoteImage/Tests/PINRemoteImageTests-Bridging-Header.h deleted file mode 100644 index c6510991..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Tests/PINRemoteImageTests-Bridging-Header.h +++ /dev/null @@ -1,6 +0,0 @@ -// -// Use this file to import your target's public headers that you would like to expose to Swift. -// - -#import "PINAnimatedImage+PINAnimatedImageTesting.h" -#import "TestAnimatedImage.h" diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/PINRemoteImageTests.m b/Carthage/Checkouts/PINRemoteImage/Tests/PINRemoteImageTests.m deleted file mode 100644 index a5c8b97e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Tests/PINRemoteImageTests.m +++ /dev/null @@ -1,1598 +0,0 @@ -// -// PINRemoteImage_Tests.m -// PINRemoteImage Tests -// -// Created by Garrett Moon on 11/6/14. -// Copyright (c) 2014 Garrett Moon. All rights reserved. -// - -#import -#import -#import -#import -#import -#import -#import -#import -#import - -#import "NSDate+PINCacheTests.h" -#import "PINResume.h" -#import "PINRemoteImageDownloadTask.h" -#import "PINSpeedRecorder.h" - -#import - -static BOOL requestRetried = NO; -extern NSString * const PINRemoteImageWeakTaskKey; -static NSInteger canceledCount = 0; - -static inline BOOL PINImageAlphaInfoIsOpaque(CGImageAlphaInfo info) { - switch (info) { - case kCGImageAlphaNone: - case kCGImageAlphaNoneSkipLast: - case kCGImageAlphaNoneSkipFirst: - return YES; - default: - return NO; - } -} - -@interface PINRemoteImageDownloadTask (Private) - -- (void)scheduleDownloadWithRequest:(NSURLRequest *)request - resume:(PINResume *)resume - skipRetry:(BOOL)skipRetry - priority:(PINRemoteImageManagerPriority)priority - isRetry:(BOOL)isRetry - completionHandler:(PINRemoteImageManagerDataCompletion)completionHandler; - -@end - -@interface PINRemoteImageDownloadTask (Swizzled) - -- (void)swizzled_scheduleDownloadWithRequest:(NSURLRequest *)request - resume:(PINResume *)resume - skipRetry:(BOOL)skipRetry - priority:(PINRemoteImageManagerPriority)priority - isRetry:(BOOL)isRetry - completionHandler:(PINRemoteImageManagerDataCompletion)completionHandler; - -@end - -#if DEBUG - -@interface PINRemoteImageWeakTask : NSObject - -@property (nonatomic, readonly, weak) PINRemoteImageTask *task; - -@end - -@interface PINRemoteImageManager () - -@property (nonatomic, strong) PINURLSessionManager *sessionManager; -@property (nonatomic, readonly) NSUInteger totalDownloads; -@property (nonatomic, strong) NSMapTable *UUIDToTask; - -- (NSString *)resumeCacheKeyForURL:(NSURL *)url; - -@end - -@interface PINRemoteImageManager (Swizzled) - -- (void)swizzled_cancelTaskWithUUID:(nonnull NSUUID *)UUID storeResumeData:(BOOL)storeResumeData; - -@end - -@interface PINURLSessionManager () - -@property (nonatomic, strong) NSURLSession *session; -- (void)storeTimeToFirstByte:(NSTimeInterval)timeToFirstByte forHost:(NSString *)host; - -@end -#endif - -@interface PINRemoteImage_Tests : XCTestCase - -@property (nonatomic, strong) PINRemoteImageManager *imageManager; -@property (nonatomic, strong) NSMutableData *data; -@property (nonatomic, strong) NSURLSessionTask *task; -@property (nonatomic, strong) PINRemoteImageDownloadTask *firstDownloadTask; -@property (nonatomic, strong) PINRemoteImageDownloadTask *secondDownloadTask; -@property (nonatomic, strong) NSError *error; -@property (nonatomic, strong) dispatch_semaphore_t semaphore; -@property (nonatomic, strong) dispatch_semaphore_t sessionDidCompleteDelegateSemaphore; - -@end - -@interface PINSpeedRecorder () - -- (void)resetMeasurements; -- (void)updateSpeedsForHost:(NSString *)host bytesPerSecond:(float)bytesPerSecond startAdjustedBytesPerSecond:(float)startAdjustedBytesPerSecond timeToFirstByte:(float)timeToFirstByte; - -@end - -@implementation PINRemoteImage_Tests - -- (NSTimeInterval)timeoutTimeInterval { - return 30.0; -} - -- (dispatch_time_t)timeoutWithInterval:(NSTimeInterval)interval { - return dispatch_time(DISPATCH_TIME_NOW, (int64_t)(interval * NSEC_PER_SEC)); -} - -- (dispatch_time_t)timeout { - return [self timeoutWithInterval:[self timeoutTimeInterval]]; -} - -- (NSURL *)GIFURL -{ - return [NSURL URLWithString:@"https://i.pinimg.com/originals/90/f5/77/90f577fc6abcd24f9a5f9f55b2d7482b.jpg"]; -} - -- (NSURL *)emptyURL -{ - return [NSURL URLWithString:@""]; -} - -- (NSURL *)fourZeroFourURL -{ - return [NSURL URLWithString:@"https://google.com/404"]; -} - -- (NSURL *)headersURL -{ - return [NSURL URLWithString:@"https://httpbin.org/headers"]; -} - -- (NSURL *)JPEGURL_Small -{ - return [NSURL URLWithString:@"https://i.pinimg.com/345x/1b/bc/c2/1bbcc264683171eb3815292d2f546e92.jpg"]; -} - -- (NSURL *)JPEGURL_Medium -{ - return [NSURL URLWithString:@"https://i.pinimg.com/600x/1b/bc/c2/1bbcc264683171eb3815292d2f546e92.jpg"]; -} - -- (NSURL *)JPEGURL_Large -{ - return [NSURL URLWithString:@"https://i.pinimg.com/750x/1b/bc/c2/1bbcc264683171eb3815292d2f546e92.jpg"]; -} - -- (NSURL *)JPEGURL -{ - return [self JPEGURL_Medium]; -} - -- (NSURL *)BASE64URL -{ - return [NSURL URLWithString:@"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC"]; -} - -- (NSURL *)transparentPNGURL -{ - return [NSURL URLWithString:@"https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png"]; -} - -- (NSURL *)nonTransparentWebPURL -{ - return [NSURL URLWithString:@"https://www.gstatic.com/webp/gallery/5.webp"]; -} - -- (NSURL *)transparentWebPURL -{ - return [NSURL URLWithString:@"https://www.gstatic.com/webp/gallery3/4_webp_ll.webp"]; -} - -- (NSURL *)veryLongURL -{ - return [NSURL URLWithString:@"https://placekitten.com/g/200/301?longarg=helloMomHowAreYouDoing.IamFineJustMovedToLiveWithANiceChapWeTravelTogetherInHisBlueBoxThroughSpaceAndTimeMaybeYouveMetHimAlready.YesterdayWeMetACultureOfPeopleWithTentaclesWhoSingWithAVeryCelestialVoice.SoGood.SeeYouSoon.MaybeYesterday.WhoKnows.XOXO"]; -} - -- (NSURL *)progressiveURL -{ - return [NSURL URLWithString:@"https://performancedemo.vir2al.ch/assets/img/progressive/thumb/spiez_sunset.jpg"]; -} - -- (NSURL *)progressiveURL2 -{ - return [NSURL URLWithString:@"https://performancedemo.vir2al.ch/assets/img/baseline/thumb/balkon.jpg"]; -} - -- (NSArray *)bigURLs -{ - static dispatch_once_t onceToken; - static NSArray *bigURLs; - dispatch_once(&onceToken, ^{ - bigURLs = @[[NSURL URLWithString:@"https://images.unsplash.com/photo-1483388381485-344c3a9ded7f"], - [NSURL URLWithString:@"https://images.unsplash.com/photo-1483279745275-2a5d5a1074d2"], - [NSURL URLWithString:@"https://images.unsplash.com/photo-1483127140828-af66a3429184"], - [NSURL URLWithString:@"https://images.unsplash.com/photo-1482160310982-3adf8b38daef"], - ]; - }); - - return bigURLs; -} - -- (NSURL *)imageFrom404URL -{ - NSString *base64EncodedUrl = @"aHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9PRzlRbW9jNGVZcy9tcWRlZmF1bHQuanBn"; - NSData *nsdataFromBase64String = [[NSData alloc] initWithBase64EncodedString:base64EncodedUrl options:0]; - NSString *base64Decoded = [[NSString alloc] initWithData:nsdataFromBase64String encoding:NSUTF8StringEncoding]; - return [[NSURL alloc] initWithString:base64Decoded]; -} - -#pragma mark - - -- (void)didReceiveData:(NSData *)data forTask:(NSURLSessionTask *)task -{ - self.task = task; - // Used for DownloadTaskWhenReDownload test - if (self.semaphore) { - PINRemoteImageWeakTask *weakTask = [NSURLProtocol propertyForKey:PINRemoteImageWeakTaskKey inRequest:task.originalRequest]; - PINRemoteImageTask *task = (PINRemoteImageDownloadTask *)weakTask.task; - if (!self.firstDownloadTask) { - self.firstDownloadTask = (PINRemoteImageDownloadTask *)task; - dispatch_semaphore_signal(self.semaphore); - } - if (self.firstDownloadTask && self.firstDownloadTask != task && !self.secondDownloadTask) { - self.secondDownloadTask = (PINRemoteImageDownloadTask *)task; - dispatch_semaphore_signal(self.semaphore); - } - } -} - -- (void)didCompleteTask:(NSURLSessionTask *)task withError:(NSError *)error -{ - self.task = task; - self.error = error; - // Used for URLSessionDidCompleteDelegate test - if (self.sessionDidCompleteDelegateSemaphore) { - dispatch_semaphore_signal(self.sessionDidCompleteDelegateSemaphore); - } -} - -- (void)setUp -{ - [super setUp]; - // Put setup code here. This method is called before the invocation of each test method in the class. - self.imageManager = [[PINRemoteImageManager alloc] init]; - [self.imageManager.cache removeAllObjects]; -} - -- (void)tearDown -{ - // Put teardown code here. This method is called after the invocation of each test method in the class. - //clear disk cache - self.imageManager = nil; - [[PINSpeedRecorder sharedRecorder] setCurrentBytesPerSecond:-1]; - [[PINSpeedRecorder sharedRecorder] resetMeasurements]; - - if (self.semaphore) { - self.semaphore = nil; - self.firstDownloadTask = nil; - self.secondDownloadTask = nil; - } - if (self.sessionDidCompleteDelegateSemaphore) { - self.sessionDidCompleteDelegateSemaphore = nil; - } - [super tearDown]; -} - -- (void)testGIFDownload -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Download animatedImage"]; - [self.imageManager downloadImageWithURL:[self GIFURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - UIImage *outImage = result.image; - id outAnimatedImage = result.alternativeRepresentation; - - XCTAssert(outAnimatedImage && [outAnimatedImage isKindOfClass:[PINCachedAnimatedImage class]], @"Failed downloading animatedImage or animatedImage is not a PINCachedAnimatedImage."); - XCTAssert(outImage == nil, @"Image is not nil."); - - [expectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testInitWithNilConfiguration -{ - self.imageManager = [[PINRemoteImageManager alloc] initWithSessionConfiguration:nil]; - XCTAssertNotNil(self.imageManager.sessionManager.session.configuration); -} - -- (void)testInitWithConfiguration -{ - NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; - configuration.HTTPAdditionalHeaders = @{ @"Authorization" : @"Pinterest 123456" }; - self.imageManager = [[PINRemoteImageManager alloc] initWithSessionConfiguration:configuration]; - XCTAssert([self.imageManager.sessionManager.session.configuration.HTTPAdditionalHeaders isEqualToDictionary:@{ @"Authorization" : @"Pinterest 123456" }]); -} - -- (void)testSessionConfigurationOfHTTPMaximumConnectionsPerHost -{ - { - // User has custom `HTTPMaximumConnectionsPerHost` - NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; - configuration.HTTPMaximumConnectionsPerHost = 5; - self.imageManager = [[PINRemoteImageManager alloc] initWithSessionConfiguration:configuration]; - NSURLSessionConfiguration *sessionManagerConfiguration = self.imageManager.sessionManager.session.configuration; - XCTAssert(configuration.HTTPMaximumConnectionsPerHost == sessionManagerConfiguration.HTTPMaximumConnectionsPerHost); - } - - { - // Using image manager provided `HTTPMaximumConnectionsPerHost` value - self.imageManager = [[PINRemoteImageManager alloc] initWithSessionConfiguration:nil]; - NSURLSessionConfiguration *sessionManagerConfiguration = self.imageManager.sessionManager.session.configuration; - XCTAssert(sessionManagerConfiguration.HTTPMaximumConnectionsPerHost == PINRemoteImageHTTPMaximumConnectionsPerHost); - } -} - -- (void)testURLSessionManagerDeallocated -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"URLSessionManager should be deallocated"]; - __block __weak PINURLSessionManager *sessionManager = nil; - dispatch_async(dispatch_get_main_queue(), ^{ - PINRemoteImageManager *manager = [[PINRemoteImageManager alloc] initWithSessionConfiguration:nil]; - sessionManager = manager.sessionManager; - }); - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - XCTAssert(sessionManager == nil); - [expectation fulfill]; - }); - - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testCustomHeaderIsAddedToImageRequests -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Custom header was added to image request"]; - NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; - configuration.HTTPAdditionalHeaders = @{ @"X-Custom-Header" : @"Custom Header Value" }; - self.imageManager = [[PINRemoteImageManager alloc] initWithSessionConfiguration:configuration]; - self.imageManager.sessionManager.delegate = self; - - //sleep for a moment so values have a chance to asynchronously set. - usleep(10000); - - [self.imageManager downloadImageWithURL:[self headersURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - NSDictionary *headers = [self.task.currentRequest allHTTPHeaderFields]; - - XCTAssert([headers[@"X-Custom-Header"] isEqualToString:@"Custom Header Value"]); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testRequestConfigurationIsUsedForImageRequest -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Requestion configuration block was called image request"]; - NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; - configuration.HTTPAdditionalHeaders = @{ @"X-Custom-Header" : @"Custom Header Value" }; - - self.imageManager = [[PINRemoteImageManager alloc] initWithSessionConfiguration:configuration]; - [self.imageManager setRequestConfiguration:^NSURLRequest * _Nonnull(NSURLRequest * _Nonnull request) { - NSMutableURLRequest *mutableRequest = [request mutableCopy]; - [mutableRequest setValue:@"Custom Header 2 Value" forHTTPHeaderField:@"X-Custom-Header-2"]; - return mutableRequest; - }]; - - //sleep for a moment so values have a chance to asynchronously set. - usleep(10000); - - self.imageManager.sessionManager.delegate = self; - [self.imageManager downloadImageWithURL:[self headersURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - NSDictionary *headers = [self.task.currentRequest allHTTPHeaderFields]; - XCTAssert([headers[@"X-Custom-Header"] isEqualToString:@"Custom Header Value"]); - XCTAssert([headers[@"X-Custom-Header-2"] isEqualToString:@"Custom Header 2 Value"]); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testResponseHeadersReturned -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Headers returned in image download result"]; - [self.imageManager downloadImageWithURL:[self JPEGURL] completion:^(PINRemoteImageManagerResult * _Nonnull result) { - NSDictionary *headers = [(NSHTTPURLResponse *)result.response allHeaderFields]; - XCTAssert(headers != nil, @"Expected headers back"); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testSkipPINAnimatedImageDownload -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Download animated image"]; - [self.imageManager downloadImageWithURL:[self GIFURL] - options:PINRemoteImageManagerDisallowAlternateRepresentations - completion:^(PINRemoteImageManagerResult *result) - { - UIImage *outImage = result.image; - id outAnimatedImage = result.alternativeRepresentation; - - XCTAssert(outImage && [outImage isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - XCTAssert(outAnimatedImage == nil, @"Animated image is not nil."); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testIgnoreCache -{ - [self.imageManager downloadImageWithURL:[self JPEGURL] completion:nil]; - [self waitForImageWithURLToBeCached:[self JPEGURL]]; - - XCTestExpectation *expectation = [self expectationWithDescription:@"Download ignoring cache"]; - [self.imageManager downloadImageWithURL:[self JPEGURL] - options:PINRemoteImageManagerDownloadOptionsIgnoreCache - completion:^(PINRemoteImageManagerResult *result) - { - XCTAssert(result.resultType == PINRemoteImageResultTypeDownload, @"Image was fetched from cache"); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testJPEGDownload -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Downloading JPEG image"]; - [self.imageManager downloadImageWithURL:[self JPEGURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - UIImage *outImage = result.image; - id outAnimatedImage = result.alternativeRepresentation; - - XCTAssert(outImage && [outImage isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - XCTAssert(outAnimatedImage == nil, @"Animated image is not nil."); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testBase64 -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Decoding base64 image"]; - [self.imageManager downloadImageWithURL:[self BASE64URL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - UIImage *outImage = result.image; - PINCachedAnimatedImage *outAnimatedImage = result.alternativeRepresentation; - - XCTAssert(outImage && [outImage isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - XCTAssert(CGSizeEqualToSize(outImage.size, CGSizeMake(16,16)), @"Failed decoding image, image size is wrong."); - XCTAssert(outAnimatedImage == nil, @"Animated image is not nil."); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testHTTPResponse404WithData -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"image from 404 response should set correctly"]; - PINRemoteImageManager *manager = [[PINRemoteImageManager alloc] init]; - NSURL *url = [self imageFrom404URL]; - [manager downloadImageWithURL:url completion:^(PINRemoteImageManagerResult * _Nonnull result) { - XCTAssertNotNil(result.image); - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:^(NSError * _Nullable error) { - XCTAssertNil(error); - }]; -} - -- (void)testErrorOnNilURLDownload -{ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wnonnull" - XCTestExpectation *expectation = [self expectationWithDescription:@"Error on nil image url download"]; - [self.imageManager downloadImageWithURL:nil - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) -#pragma clang diagnostic pop - { - NSError *outError = result.error; - - XCTAssert([outError.domain isEqualToString:NSURLErrorDomain]); - XCTAssert(outError.code == NSURLErrorUnsupportedURL); - XCTAssert([outError.localizedDescription isEqualToString:@"unsupported URL"]); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testErrorOnEmptyURLDownload -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Error on empty image url download"]; - [self.imageManager downloadImageWithURL:[self emptyURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - NSError *outError = result.error; - - XCTAssert([outError.domain isEqualToString:NSURLErrorDomain]); - XCTAssert(outError.code == NSURLErrorUnsupportedURL); - // iOS8 (and presumably 10.10) returns NSURLErrorUnsupportedURL which means the HTTP NSURLProtocol does not accept it - NSArray *validErrorMessages = @[ @"unsupported URL", @"The operation couldn’t be completed. (NSURLErrorDomain error -1002.)"]; - XCTAssert([validErrorMessages containsObject:outError.localizedDescription], @"%@", outError.localizedDescription); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testErrorOn404Response -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Error on 404 response"]; - [self.imageManager downloadImageWithURL:[self fourZeroFourURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - NSError *outError = result.error; - - XCTAssert([outError.domain isEqualToString:PINURLErrorDomain]); - XCTAssert(outError.code == 404); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testDecoding -{ - dispatch_group_t group = dispatch_group_create(); - __block UIImage *outImageDecoded = nil; - __block UIImage *outImageEncoded = nil; - PINRemoteImageManager *encodedManager = [[PINRemoteImageManager alloc] init]; - - dispatch_group_enter(group); - [self.imageManager downloadImageWithURL:[self JPEGURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - outImageDecoded = result.image; - dispatch_group_leave(group); - }]; - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - dispatch_group_enter(group); - [encodedManager downloadImageWithURL:[self JPEGURL] - options:PINRemoteImageManagerDownloadOptionsSkipDecode - completion:^(PINRemoteImageManagerResult *result) - { - outImageEncoded = result.image; - dispatch_group_leave(group); - }]; - - dispatch_group_wait(group, DISPATCH_TIME_FOREVER); - - CFTimeInterval before = CACurrentMediaTime(); - [self drawImage:outImageEncoded]; - CFTimeInterval after = CACurrentMediaTime(); - CFTimeInterval encodedDrawTime = after - before; - - before = CACurrentMediaTime(); - [self drawImage:outImageDecoded]; - after = CACurrentMediaTime(); - CFTimeInterval decodedDrawTime = after - before; - - XCTAssert(outImageEncoded && [outImageEncoded isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - XCTAssert(outImageDecoded && [outImageDecoded isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - XCTAssert(encodedDrawTime / decodedDrawTime > 2, @"Drawing decoded image should be much faster"); -} - -- (void)drawImage:(UIImage *)image -{ - UIGraphicsBeginImageContext(image.size); - - [image drawAtPoint:CGPointZero]; - - UIGraphicsEndImageContext(); -} - -- (void)waitForImageWithURLToBeCached:(NSURL *)URL -{ - NSString *key = [self.imageManager cacheKeyForURL:URL processorKey:nil]; - for (NSUInteger idx = 0; idx < 100; idx++) { - if ([[self.imageManager cache] objectExistsForKey:key]) { - break; - } - if (idx == 99) { - XCTAssert(NO, @"image never set to cache."); - } - usleep(50000); - } -} - -- (void)testTransparentWebPDownload -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Download transparent WebP image"]; - [self.imageManager downloadImageWithURL:[self transparentWebPURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - XCTAssert(result.error == nil, @"error is non-nil: %@", result.error); - - UIImage *outImage = result.image; - id outAnimatedImage = result.alternativeRepresentation; - - XCTAssert(outImage && [outImage isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - - CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(outImage.CGImage); - BOOL opaque = alphaInfo == kCGImageAlphaNone || alphaInfo == kCGImageAlphaNoneSkipFirst || alphaInfo == kCGImageAlphaNoneSkipLast; - - XCTAssert(opaque == NO, @"transparent WebP image is opaque."); - XCTAssert(outAnimatedImage == nil, @"Animated image is not nil."); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testNonTransparentWebPDownload -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Download non transparent WebP image"]; - [self.imageManager downloadImageWithURL:[self nonTransparentWebPURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - UIImage *outImage = result.image; - id outAnimatedImage = result.alternativeRepresentation; - - XCTAssert(outImage && [outImage isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - - CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(outImage.CGImage); - BOOL opaque = alphaInfo == kCGImageAlphaNone || alphaInfo == kCGImageAlphaNoneSkipFirst || alphaInfo == kCGImageAlphaNoneSkipLast; - - XCTAssert(opaque == YES, @"non transparent WebP image is not opaque."); - XCTAssert(outAnimatedImage == nil, @"Animated image is not nil."); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testPrefetchImage -{ - id key = [self.imageManager cacheKeyForURL:[self JPEGURL] processorKey:nil]; - - id object = [[self.imageManager cache] objectFromMemoryForKey:key]; - XCTAssert(object == nil, @"image should not be in cache"); - - [self.imageManager prefetchImageWithURL:[self JPEGURL]]; - - XCTestExpectation *expectation = [self expectationWithDescription:@"image was prefetched into cache"]; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - while ([[self.imageManager cache] objectFromMemoryForKey:key] == nil) { - usleep(10000); - } - [expectation fulfill]; - }); - - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testUIImageView -{ - XCTestExpectation *imageSetExpectation = [self expectationWithDescription:@"imageView did not have image set"]; - UIImageView *imageView = [[UIImageView alloc] init]; - __weak UIImageView *weakImageView = imageView; - [imageView pin_setImageFromURL:[self JPEGURL] - completion:^(PINRemoteImageManagerResult *result) - { - if (weakImageView.image) - [imageSetExpectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testPINAnimatedImageView -{ - XCTestExpectation *imageSetExpectation = [self expectationWithDescription:@"animatedImageView did not have animated image set"]; - PINAnimatedImageView *imageView = [[PINAnimatedImageView alloc] init]; - __weak PINAnimatedImageView *weakImageView = imageView; - [imageView pin_setImageFromURL:[self GIFURL] - completion:^(PINRemoteImageManagerResult *result) - { - if (weakImageView.animatedImage) - [imageSetExpectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testEarlyReturn -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Download JPEG image"]; - [self.imageManager downloadImageWithURL:[self JPEGURL] completion:^(PINRemoteImageManagerResult *result) { - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; - - // callback can occur *before* image is stored in cache this is an optimization to avoid waiting on the cache to write. - // So, wait until it's actually in the cache. - [self waitForImageWithURLToBeCached:[self JPEGURL]]; - - __block UIImage *image = nil; - [self.imageManager downloadImageWithURL:[self JPEGURL] completion:^(PINRemoteImageManagerResult *result) { - image = result.image; - }]; - XCTAssert(image != nil, @"image callback did not occur synchronously."); -} - -- (void)testload -{ - srand([[NSDate date] timeIntervalSince1970]); - dispatch_group_t group = dispatch_group_create(); - __block NSInteger count = 0; - const NSInteger numIntervals = 10000; - NSLock *countLock = [[NSLock alloc] init]; - for (NSUInteger idx = 0; idx < numIntervals; idx++) { - dispatch_group_enter(group); - NSURL *url = nil; - if (rand() % 2 == 0) { - url = [self JPEGURL]; - } else { - url = [self GIFURL]; - } - [self.imageManager downloadImageWithURL:url - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - [countLock lock]; - count++; - XCTAssert(count <= numIntervals, @"callback called too many times"); - [countLock unlock]; - XCTAssert((result.image && !result.alternativeRepresentation) || (result.alternativeRepresentation && !result.image), @"image or alternativeRepresentation not downloaded"); - if (rand() % 2) { - [[self.imageManager cache] removeObjectForKey:[self.imageManager cacheKeyForURL:url processorKey:nil]]; - } - dispatch_group_leave(group); - }]; - } - XCTAssert(dispatch_group_wait(group, [self timeoutWithInterval:100]) == 0, @"Group timed out."); -} - -- (void)testInvalidObject -{ - NSString * const kPINRemoteImageDiskCacheName = @"PINRemoteImageManagerCache"; - NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]; - - PINDiskCache *tempDiskCache = [[PINDiskCache alloc] initWithName:kPINRemoteImageDiskCacheName rootPath:cachePath serializer:^NSData * _Nonnull(id _Nonnull object, NSString * _Nonnull key) { - return [NSKeyedArchiver archivedDataWithRootObject:object]; - } deserializer:^id _Nonnull(NSData * _Nonnull data, NSString * _Nonnull key) { - return [NSKeyedUnarchiver unarchiveObjectWithData:data]; - }]; - - [tempDiskCache setObject:@"invalid" forKey:[self.imageManager cacheKeyForURL:[self JPEGURL] processorKey:nil]]; - - XCTestExpectation *expectation = [self expectationWithDescription:@"Download JPEG image"]; - [self.imageManager downloadImageWithURL:[self JPEGURL] completion:^(PINRemoteImageManagerResult *result) { - UIImage *image = result.image; - - XCTAssert([image isKindOfClass:[UIImage class]], @"image should be UIImage"); - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; - -} - -- (void)testImageFromCacheReturnsNilErrorForCacheMiss -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Image from cache"]; - - [self.imageManager imageFromCacheWithURL:[self JPEGURL] processorKey:nil options:PINRemoteImageManagerDownloadOptionsNone completion:^(PINRemoteImageManagerResult * _Nonnull result) { - XCTAssert(result.image == nil, @"Image was found in cache"); - XCTAssert(result.error == nil, @"Error was returned in cache miss"); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testProcessingLoad -{ - dispatch_group_t group = dispatch_group_create(); - - __block UIImage *image = nil; - const NSUInteger numIntervals = 1000; - __block NSInteger processCount = 0; - __block UIImage *processedImage = nil; - NSLock *processCountLock = [[NSLock alloc] init]; - for (NSUInteger idx = 0; idx < numIntervals; idx++) { - dispatch_group_enter(group); - [self.imageManager downloadImageWithURL:[self JPEGURL] options:PINRemoteImageManagerDownloadOptionsNone - processorKey:@"process" - processor:^UIImage *(PINRemoteImageManagerResult *result, NSUInteger *cost) - { - [processCountLock lock]; - processCount++; - [processCountLock unlock]; - - UIImage *inputImage = result.image; - XCTAssert(inputImage, @"no input image"); - UIGraphicsBeginImageContextWithOptions(inputImage.size, NO, 0); - CGContextRef context = UIGraphicsGetCurrentContext(); - - CGRect destRect = CGRectMake(0, 0, inputImage.size.width, inputImage.size.height); - [[UIColor clearColor] set]; - CGContextFillRect(context, destRect); - - CGRect pathRect = CGRectMake(0, 0, inputImage.size.width, inputImage.size.height); - UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:pathRect - cornerRadius:MIN(inputImage.size.width, inputImage.size.height) / 2.0]; - CGContextAddPath(context, path.CGPath); - CGContextClosePath(context); - CGContextClip(context); - - [inputImage drawInRect:CGRectMake(0, 0, inputImage.size.width, inputImage.size.height)]; - - UIImage *roundedImage = nil; - roundedImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - processedImage = roundedImage; - - return roundedImage; - } - completion:^(PINRemoteImageManagerResult *result) - { - image = result.image; - XCTAssert([image isKindOfClass:[UIImage class]] && image == processedImage, @"result image is not a UIImage"); - dispatch_group_leave(group); - }]; - } - - XCTAssert(dispatch_group_wait(group, [self timeout]) == 0, @"Group timed out."); - - XCTAssert(processCount <= 1, @"image processed too many times"); - XCTAssert([image isKindOfClass:[UIImage class]], @"result image is not a UIImage"); -} - -- (void)testNumberDownloads -{ - dispatch_group_t group = dispatch_group_create(); - - __block UIImage *image = nil; - const NSUInteger numIntervals = 1000; - - for (NSUInteger idx = 0; idx < numIntervals; idx++) { - dispatch_group_enter(group); - [self.imageManager downloadImageWithURL:[self JPEGURL] completion:^(PINRemoteImageManagerResult *result) { - XCTAssert([result.image isKindOfClass:[UIImage class]], @"result image is not a UIImage"); - image = result.image; - dispatch_group_leave(group); - }]; - } - - XCTAssert(dispatch_group_wait(group, [self timeout]) == 0, @"Group timed out."); - - XCTAssert(self.imageManager.totalDownloads <= 1, @"image downloaded too many times: %lu", (unsigned long)self.imageManager.totalDownloads); - XCTAssert([image isKindOfClass:[UIImage class]], @"result image is not a UIImage"); -} - -- (BOOL)isFloat:(float)one equalToFloat:(float)two -{ - if (fabsf(one - two) < FLT_EPSILON) { - return YES; - } - return NO; -} - -- (void)testBytesPerSecond -{ - NSString *host = @"none.com"; - - XCTAssert([[PINSpeedRecorder sharedRecorder] weightedAdjustedBytesPerSecondForHost:host] == -1, @"Without any tasks added, should be -1"); - [[PINSpeedRecorder sharedRecorder] updateSpeedsForHost:host bytesPerSecond:100 startAdjustedBytesPerSecond:100 timeToFirstByte:0]; - XCTAssert([self isFloat:[[PINSpeedRecorder sharedRecorder] weightedAdjustedBytesPerSecondForHost:host] equalToFloat:100.0f], @"One task should be same as added task"); - [[PINSpeedRecorder sharedRecorder] updateSpeedsForHost:host bytesPerSecond:50 startAdjustedBytesPerSecond:50 timeToFirstByte:0]; - XCTAssert([self isFloat:[[PINSpeedRecorder sharedRecorder] weightedAdjustedBytesPerSecondForHost:host] equalToFloat:90.0], @"Last task should be weighted"); -} - -- (void)testQOS -{ - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - [self.imageManager setHighQualityBPSThreshold:10 completion:^{ - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - [self.imageManager setLowQualityBPSThreshold:5 completion:^{ - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - [self.imageManager setShouldUpgradeLowQualityImages:NO completion:^{ - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - __block UIImage *image; - [self.imageManager downloadImageWithURLs:@[[self JPEGURL_Small], [self JPEGURL_Medium], [self JPEGURL_Large]] - options:PINRemoteImageManagerDownloadOptionsNone - progressImage:nil - completion:^(PINRemoteImageManagerResult *result) - { - image = result.image; - XCTAssert(image.size.width == 750, @"Large image should be downloaded. result.image: %@, result.error: %@", result.image, result.error); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - // callback can occur *before* image is stored in cache this is an optimization to avoid waiting on the cache to write. - // So, wait until it's actually in the cache. - [self waitForImageWithURLToBeCached:[self JPEGURL_Large]]; - - [[PINSpeedRecorder sharedRecorder] setCurrentBytesPerSecond:5]; - [self.imageManager downloadImageWithURLs:@[[self JPEGURL_Small], [self JPEGURL_Medium], [self JPEGURL_Large]] - options:PINRemoteImageManagerDownloadOptionsNone - progressImage:nil - completion:^(PINRemoteImageManagerResult *result) - { - image = result.image; - XCTAssert(image.size.width == 750, @"Large image should be found in cache"); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - [self.imageManager.cache removeAllObjects]; - [self.imageManager downloadImageWithURLs:@[[self JPEGURL_Small], [self JPEGURL_Medium], [self JPEGURL_Large]] - options:PINRemoteImageManagerDownloadOptionsNone - progressImage:nil - completion:^(PINRemoteImageManagerResult *result) - { - image = result.image; - XCTAssert(image.size.width == 345, @"Small image should be downloaded at low bps"); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - [self waitForImageWithURLToBeCached:[self JPEGURL_Small]]; - - [[PINSpeedRecorder sharedRecorder] setCurrentBytesPerSecond:100]; - [self.imageManager downloadImageWithURLs:@[[self JPEGURL_Small], [self JPEGURL_Medium], [self JPEGURL_Large]] - options:PINRemoteImageManagerDownloadOptionsNone - progressImage:nil - completion:^(PINRemoteImageManagerResult *result) - { - image = result.image; - XCTAssert(image.size.width == 345, @"Small image should be found in cache"); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - [self.imageManager setShouldUpgradeLowQualityImages:YES completion:^{ - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - [[PINSpeedRecorder sharedRecorder] setCurrentBytesPerSecond:7]; - [self.imageManager downloadImageWithURLs:@[[self JPEGURL_Small], [self JPEGURL_Medium], [self JPEGURL_Large]] - options:PINRemoteImageManagerDownloadOptionsNone - progressImage:nil - completion:^(PINRemoteImageManagerResult *result) - { - image = result.image; - XCTAssert(image.size.width == 600, @"Medium image should be now downloaded"); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - //small image should have been removed from cache - NSString *key = [self.imageManager cacheKeyForURL:[self JPEGURL_Small] processorKey:nil]; - for (NSUInteger idx = 0; idx < 100; idx++) { - if ([[self.imageManager cache] objectFromMemoryForKey:key] == nil) { - break; - } - usleep(100); - } - XCTAssert( - [[self.imageManager cache] objectFromMemoryForKey:[self.imageManager cacheKeyForURL:[self JPEGURL_Small] processorKey:nil]] == nil, @"Small image should have been removed from cache"); - - [self.imageManager.cache removeAllObjects]; - [self.imageManager setShouldUpgradeLowQualityImages:NO completion:^{ - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - [[PINSpeedRecorder sharedRecorder] setCurrentBytesPerSecond:7]; - [self.imageManager downloadImageWithURLs:@[[self JPEGURL_Small], [self JPEGURL_Large]] - options:PINRemoteImageManagerDownloadOptionsNone - progressImage:nil - completion:^(PINRemoteImageManagerResult *result) - { - image = result.image; - XCTAssert(image.size.width == 345, @"Small image should be now downloaded"); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); -} - -- (void)testCacheControlSupport -{ - self.imageManager = [[PINRemoteImageManager alloc] initWithSessionConfiguration:nil alternativeRepresentationProvider:nil imageCache:[PINRemoteImageManager defaultImageTtlCache] managerConfiguration:nil]; - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - id cache = self.imageManager.cache; - XCTAssert([cache isKindOfClass:[PINCache class]]); - PINCache *pinCache = (PINCache *)cache; - pinCache.diskCache.ageLimit = 0; // forever, which is more than 31536000 (which is about a yr fwiw) - XCTAssert(pinCache.diskCache.isTTLCache, @"Default imageManager did not use a ttl cache"); - - // JPEGURL_Small includes the header "Cache-Control: max-age=31536000, immutable" - // If that ever changes, this might start failing - [self.imageManager downloadImageWithURL:[self JPEGURL_Small] completion:^(PINRemoteImageManagerResult *result) { - XCTAssert(result.resultType == PINRemoteImageResultTypeDownload, @"Expected PINRemoteImageResultTypeDownload(3), got %lu", (unsigned long)result.resultType); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - NSString *key = [self.imageManager cacheKeyForURL:[self JPEGURL_Small] processorKey:nil]; - id diskCachedObj = [cache objectFromDiskForKey:key]; - XCTAssert(diskCachedObj != nil, @"Image was not found in the disk cache"); - [self.imageManager downloadImageWithURL:[self JPEGURL_Small] completion:^(PINRemoteImageManagerResult *result) { - XCTAssert(result.resultType == PINRemoteImageResultTypeMemoryCache, @"Expected PINRemoteImageResultTypeCache(2), got %lu", (unsigned long)result.resultType); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:32000000]]; - diskCachedObj = [cache objectFromDiskForKey:key]; - XCTAssert(diskCachedObj == nil, @"Image was not discarded from the disk cache"); - [self.imageManager downloadImageWithURL:[self JPEGURL_Small] completion:^(PINRemoteImageManagerResult *result) { - XCTAssert(result.resultType == PINRemoteImageResultTypeDownload, @"Expected PINRemoteImageResultTypeDownload(3), got %lu", (unsigned long)result.resultType); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - [NSDate stopMockingDate]; - - - // nonTransparentWebPURL includes the header "expires: " - // If that ever changes, this might start failing - [self.imageManager downloadImageWithURL:[self nonTransparentWebPURL] completion:^(PINRemoteImageManagerResult *result) { - XCTAssert(result.resultType == PINRemoteImageResultTypeDownload, @"Expected PINRemoteImageResultTypeDownload(3), got %lu", (unsigned long)result.resultType); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - key = [self.imageManager cacheKeyForURL:[self nonTransparentWebPURL] processorKey:nil]; - diskCachedObj = [cache objectFromDiskForKey:key]; - XCTAssert(diskCachedObj != nil, @"Image was not found in the disk cache"); - [self.imageManager downloadImageWithURL:[self nonTransparentWebPURL] completion:^(PINRemoteImageManagerResult *result) { - XCTAssert(result.resultType == PINRemoteImageResultTypeMemoryCache, @"Expected PINRemoteImageResultTypeCache(2), got %lu", (unsigned long)result.resultType); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - - [NSDate startMockingDateWithDate:[NSDate dateWithTimeIntervalSinceNow:32000000]]; - diskCachedObj = [cache objectFromDiskForKey:key]; - XCTAssert(diskCachedObj == nil, @"Image was not discarded from the disk cache"); - [self.imageManager downloadImageWithURL:[self nonTransparentWebPURL] completion:^(PINRemoteImageManagerResult *result) { - XCTAssert(result.resultType == PINRemoteImageResultTypeDownload, @"Expected PINRemoteImageResultTypeDownload(3), got %lu", (unsigned long)result.resultType); - dispatch_semaphore_signal(semaphore); - }]; - XCTAssert(dispatch_semaphore_wait(semaphore, [self timeout]) == 0, @"Semaphore timed out."); - [NSDate stopMockingDate]; - -} - -- (void)testAuthentication -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Authentification challenge was called"]; - __block BOOL authHit = NO; - [self.imageManager setAuthenticationChallenge:^(NSURLSessionTask *task, NSURLAuthenticationChallenge *challenge, PINRemoteImageManagerAuthenticationChallengeCompletionHandler aHandler) { - aHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil); - authHit = YES; - [expectation fulfill]; - }]; - - //Wait for async authentication challenge setter to complete - sleep(1); - - [self.imageManager downloadImageWithURL:[NSURL URLWithString:@"https://i.pinimg.com/600x/1b/bc/c2/1bbcc264683171eb3815292d2f546e92.jpg"] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult * _Nonnull result) { - XCTAssert(authHit, @"should not complete without hitting auth challenge."); - }]; - - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testDiskCacheOnLongURLs -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Image is available in the disk cache"]; - id cache = self.imageManager.cache; - NSURL *longURL = [self veryLongURL]; - NSString *key = [self.imageManager cacheKeyForURL:longURL processorKey:nil]; - [self.imageManager downloadImageWithURL:longURL - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - XCTAssertNotNil(result.image, @"Image should not be nil"); - id diskCachedObj = [cache objectFromDiskForKey:key]; - XCTAssertNotNil(diskCachedObj); - [expectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testLongCacheKeyCreationPerformance -{ - [self measureBlock:^{ - NSURL *longURL = [self veryLongURL]; - for (NSUInteger i = 0; i < 10000; i++) { - __unused NSString *key = [self.imageManager cacheKeyForURL:longURL processorKey:nil]; - } - }]; -} - -- (void)testDefaultCacheKeyCreationPerformance -{ - [self measureBlock:^{ - NSURL *defaultURL = [self JPEGURL]; - for (NSUInteger i = 0; i < 10000; i++) { - __unused NSString *key = [self.imageManager cacheKeyForURL:defaultURL processorKey:nil]; - } - }]; -} - -- (void)testThatNondecodedJPEGImageHasNoAlpha -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Downloading JPEG image"]; - [self.imageManager downloadImageWithURL:[self JPEGURL] - options:PINRemoteImageManagerDownloadOptionsSkipDecode - completion:^(PINRemoteImageManagerResult *result) - { - UIImage *outImage = result.image; - - XCTAssert(outImage && [outImage isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - XCTAssert(PINImageAlphaInfoIsOpaque(CGImageGetAlphaInfo(outImage.CGImage)), @"Opaque image has an alpha channel."); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testThatDecodedJPEGImageHasNoAlpha -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Downloading JPEG image"]; - [self.imageManager downloadImageWithURL:[self JPEGURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - UIImage *outImage = result.image; - - XCTAssert(outImage && [outImage isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - XCTAssert(PINImageAlphaInfoIsOpaque(CGImageGetAlphaInfo(outImage.CGImage)), @"Opaque image has an alpha channel."); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - - -- (void)testThatNondecodedTransparentPNGImageHasAlpha -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Downloading PNG image"]; - [self.imageManager downloadImageWithURL:[self transparentPNGURL] - options:PINRemoteImageManagerDownloadOptionsSkipDecode - completion:^(PINRemoteImageManagerResult *result) - { - UIImage *outImage = result.image; - - XCTAssert(outImage && [outImage isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - XCTAssertFalse(PINImageAlphaInfoIsOpaque(CGImageGetAlphaInfo(outImage.CGImage)), @"Transparent image has no alpha."); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testThatDecodedTransparentPNGImageHasAlpha -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Downloading PNG image"]; - [self.imageManager downloadImageWithURL:[self transparentPNGURL] - options:PINRemoteImageManagerDownloadOptionsNone - completion:^(PINRemoteImageManagerResult *result) - { - UIImage *outImage = result.image; - - XCTAssert(outImage && [outImage isKindOfClass:[UIImage class]], @"Failed downloading image or image is not a UIImage."); - XCTAssertFalse(PINImageAlphaInfoIsOpaque(CGImageGetAlphaInfo(outImage.CGImage)), @"Transparent image has no alpha."); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testExponentialRetryStrategy -{ - PINRequestExponentialRetryStrategy *exponentialRetryStrategy = [[PINRequestExponentialRetryStrategy alloc] initWithRetryMaxCount:3 delayBase:2]; - - NSError *retryableError = [NSError errorWithDomain:PINURLErrorDomain code:501 userInfo:@{}]; - NSError *nonRetryableError1 = [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorUnsupportedURL userInfo:@{}]; - NSError *nonRetryableError2 = [NSError errorWithDomain:PINRemoteImageManagerErrorDomain code:0 userInfo:@{}]; - XCTAssertTrue([exponentialRetryStrategy shouldRetryWithError:retryableError], @"Retryable error"); - XCTAssertFalse([exponentialRetryStrategy shouldRetryWithError:nonRetryableError1], @"Non retryable error"); - XCTAssertFalse([exponentialRetryStrategy shouldRetryWithError:nonRetryableError2], @"Non retryable error"); - - - XCTAssertTrue([exponentialRetryStrategy shouldRetryWithError:retryableError], @"Original request failed"); - [exponentialRetryStrategy incrementRetryCount]; - XCTAssertEqual([exponentialRetryStrategy nextDelay], 2, @"First delay, exponential strategy"); - - XCTAssertTrue([exponentialRetryStrategy shouldRetryWithError:retryableError], @"First retry failed"); - [exponentialRetryStrategy incrementRetryCount]; - XCTAssertEqual([exponentialRetryStrategy nextDelay], 4, @"Second delay, exponential strategy"); - - XCTAssertTrue([exponentialRetryStrategy shouldRetryWithError:retryableError], @"Second retry failed"); - [exponentialRetryStrategy incrementRetryCount]; - XCTAssertEqual([exponentialRetryStrategy nextDelay], 8, @"Third delay, exponential strategy"); - - XCTAssertFalse([exponentialRetryStrategy shouldRetryWithError:retryableError], @"Third retry failed"); -} - -- (void)testMaximumNumberOfDownloads -{ - __block NSInteger count = 0; - NSUInteger totalDownloads = [self bigURLs].count; - static NSUInteger maxNumberOfConcurrentDownloads = 2; - NSLock *countLock = [[NSLock alloc] init]; - XCTestExpectation *expectation = [self expectationWithDescription:@"All images downloaded"]; - - void (^imageCompletion) (PINRemoteImageManagerResult* _Nonnull result) = ^(PINRemoteImageManagerResult * _Nonnull result) { - [countLock lock]; - count++; - if (count == totalDownloads) { - [expectation fulfill]; - } - [countLock unlock]; - }; - - __weak typeof(self) weakSelf = self; - [self.imageManager setMaxNumberOfConcurrentDownloads:maxNumberOfConcurrentDownloads completion:^{ - for (NSUInteger idx = 0; idx < totalDownloads; idx++) { - [weakSelf.imageManager downloadImageWithURL:[weakSelf bigURLs][idx] completion:imageCompletion]; - } - }]; - - //I want this retain cycle -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-retain-cycles" - __block void (^checkConcurrentDownloads) (void); - checkConcurrentDownloads = ^{ - usleep(10000); - [self.imageManager.sessionManager concurrentDownloads:^(NSUInteger concurrentDownloads) { - XCTAssert(concurrentDownloads <= maxNumberOfConcurrentDownloads, @"concurrent downloads: %lu", (unsigned long)concurrentDownloads); - checkConcurrentDownloads(); - }]; - }; -#pragma clang diagnostic pop - - checkConcurrentDownloads(); - - //Give this one a bit longer since these are big images. - [self waitForExpectationsWithTimeout:120 handler:nil]; -} - -- (void)testResume -{ - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - PINWeakify(self); - [self.imageManager setEstimatedRemainingTimeThresholdForProgressiveDownloads:0.001 completion:^{ - PINStrongify(self); - [self.imageManager setProgressiveRendersMaxProgressiveRenderSize:CGSizeMake(10000, 10000) completion:^{ - dispatch_semaphore_signal(semaphore); - }]; - }]; - dispatch_semaphore_wait(semaphore, [self timeout]); - - __block BOOL renderedImageQualityGreater = NO; - [self.imageManager downloadImageWithURL:[self progressiveURL] - options:PINRemoteImageManagerDownloadOptionsNone - progressImage:^(PINRemoteImageManagerResult * _Nonnull result) { - [self.imageManager cancelTaskWithUUID:result.UUID storeResumeData:YES]; - //Wait a second for cancelation. - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - dispatch_semaphore_signal(semaphore); - }); - } - completion:^(PINRemoteImageManagerResult * _Nonnull result) { - XCTAssert(result.image == nil, @"should not complete download: %@", result); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - PINResume *resume = [self.imageManager.cache objectFromDiskForKey:[self.imageManager resumeCacheKeyForURL:[self progressiveURL]]]; - XCTAssert(resume.resumeData.length > 0, @"Resume should have > 0 data length"); - - //Shorten resume data to improve reliability of test (expect to get progressive render callback before download completes. - resume = [PINResume resumeData:[resume.resumeData subdataWithRange:NSMakeRange(0, 10)] ifRange:resume.ifRange totalBytes:resume.totalBytes]; - [self.imageManager.cache setObjectOnDisk:resume forKey:[self.imageManager resumeCacheKeyForURL:[self progressiveURL]]]; - - [self.imageManager downloadImageWithURL:[self progressiveURL] - options:PINRemoteImageManagerDownloadOptionsNone - progressImage:^(PINRemoteImageManagerResult * _Nonnull result) { - // We expect renderedImageQualitySame to be true because we want an initial progress callback on a resumed - // download. Otherwise, a canceled download which had already rendered progress, may not render progress again - // until completed. - XCTAssert(result.renderedImageQuality + FLT_EPSILON >= ((CGFloat)resume.resumeData.length / resume.totalBytes), @"expected renderedImageQuality (%f) to be greater or equal to progress (%f)", result.renderedImageQuality, (CGFloat)resume.resumeData.length / resume.totalBytes); - renderedImageQualityGreater = YES; - } - completion:^(PINRemoteImageManagerResult * _Nonnull result) { - XCTAssert(renderedImageQualityGreater, @"Rendered image quality should non-zero and be greater than resume length. resume data length: %lu total: %lld", (unsigned long)resume.resumeData.length, resume.totalBytes); - XCTAssert(result.image && result.error == nil, @"Image not downloaded"); - //Wait a second for disk storage. - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - dispatch_semaphore_signal(semaphore); - }); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - NSData *resumedImageData = [self.imageManager.cache objectFromDiskForKey:[self.imageManager cacheKeyForURL:[self progressiveURL] processorKey:nil]]; - - [self.imageManager.cache removeAllObjects]; - - [self.imageManager downloadImageWithURL:[self progressiveURL] completion:^(PINRemoteImageManagerResult * _Nonnull result) { - //Wait a second for disk storage. - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - dispatch_semaphore_signal(semaphore); - }); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - NSData *nonResumedImageData = [self.imageManager.cache objectFromDiskForKey:[self.imageManager cacheKeyForURL:[self progressiveURL] processorKey:nil]]; - - XCTAssert([nonResumedImageData isEqualToData:resumedImageData], @"Resumed image data and non resumed image data should be the same."); -} - -- (void)testResumeSkipCancelation -{ - //Test that images aren't canceled if the cost of resuming is high (i.e. time to first byte is longer than the time left to download) - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - - PINWeakify(self); - [self.imageManager setEstimatedRemainingTimeThresholdForProgressiveDownloads:0.001 completion:^{ - PINStrongify(self); - [self.imageManager setProgressiveRendersMaxProgressiveRenderSize:CGSizeMake(10000, 10000) completion:^{ - dispatch_semaphore_signal(semaphore); - }]; - }]; - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTestExpectation *progressExpectation = [self expectationWithDescription:@"progress is rendered"]; - - [[PINSpeedRecorder sharedRecorder] updateSpeedsForHost:[[self progressiveURL] host] bytesPerSecond:0 startAdjustedBytesPerSecond:0 timeToFirstByte:0]; - - __block BOOL canceled = NO; - [self.imageManager downloadImageWithURL:[self progressiveURL] - options:PINRemoteImageManagerDownloadOptionsNone - progressImage:^(PINRemoteImageManagerResult * _Nonnull result) { - if (canceled == NO) { - canceled = YES; - [self.imageManager cancelTaskWithUUID:result.UUID storeResumeData:YES]; - [progressExpectation fulfill]; - dispatch_semaphore_signal(semaphore); - } - } - completion:^(PINRemoteImageManagerResult * _Nonnull result) { - XCTAssert(result.image == nil, @"should not complete download: %@", result); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - //Remove any progress - [self.imageManager.cache removeObjectForKey:[self.imageManager resumeCacheKeyForURL:[self progressiveURL]]]; - - XCTestExpectation *progress2Expectation = [self expectationWithDescription:@"progress 2 is rendered"]; - XCTestExpectation *completedExpectation = [self expectationWithDescription:@"image is completed"]; - - [[PINSpeedRecorder sharedRecorder] resetMeasurements]; - [[PINSpeedRecorder sharedRecorder] updateSpeedsForHost:[[self progressiveURL] host] bytesPerSecond:100000 startAdjustedBytesPerSecond:100000 timeToFirstByte:10]; - - canceled = NO; - [self.imageManager downloadImageWithURL:[self progressiveURL] - options:PINRemoteImageManagerDownloadOptionsNone - progressImage:^(PINRemoteImageManagerResult * _Nonnull result) { - if (canceled == NO) { - canceled = YES; - [self.imageManager cancelTaskWithUUID:result.UUID storeResumeData:YES]; - [progress2Expectation fulfill]; - } - } - completion:^(PINRemoteImageManagerResult * _Nonnull result) { - [completedExpectation fulfill]; - }]; - - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testRetry -{ - NSURLSessionConfiguration *config = [NSURLSessionConfiguration ephemeralSessionConfiguration]; - PINRemoteImageManager *manager = [[PINRemoteImageManager alloc] initWithSessionConfiguration:config]; - - //Do nasty swizzling to test this - SEL originalSelector = @selector(scheduleDownloadWithRequest:resume:skipRetry:priority:isRetry:completionHandler:); - SEL swizzledSelector = @selector(swizzled_scheduleDownloadWithRequest:resume:skipRetry:priority:isRetry:completionHandler:); - - Method originalMethod = class_getInstanceMethod([PINRemoteImageDownloadTask class], originalSelector); - Method swizzledMethod = class_getInstanceMethod([PINRemoteImageDownloadTask class], swizzledSelector); - - BOOL added = class_addMethod([PINRemoteImageDownloadTask class], originalSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod)); - if (added) { - class_replaceMethod([PINRemoteImageDownloadTask class], swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod)); - } else { - method_exchangeImplementations(originalMethod, swizzledMethod); - } - - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - __block BOOL requestFinished = NO; - [manager downloadImageWithURL:[self progressiveURL] completion:^(PINRemoteImageManagerResult * _Nonnull result) { - XCTAssert(result.image && result.error == nil, @"Should not have resulted in an error"); - requestFinished = YES; - dispatch_semaphore_signal(semaphore); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); - - XCTAssert(requestFinished, @"Request should have finished before timeout"); - XCTAssert(requestRetried, @"Request should have been retried."); - - method_exchangeImplementations(originalMethod, swizzledMethod); -} - - -- (void)testDownloadTaskWhenReDownload -{ - self.semaphore = dispatch_semaphore_create(0); - self.imageManager = [[PINRemoteImageManager alloc] init]; - self.imageManager.sessionManager.delegate = self; - - PINRemoteImageTask *firstTask = nil; - NSUUID *firstUUID = [self.imageManager downloadImageWithURL:[self transparentPNGURL] options:0 progressDownload:nil completion:nil]; - dispatch_semaphore_wait(self.semaphore, [self timeout]); - firstTask = self.firstDownloadTask; - - [self.imageManager cancelTaskWithUUID:firstUUID]; - - PINRemoteImageTask *secondTask = nil; - [self.imageManager downloadImageWithURL:[self transparentPNGURL] options:0 progressDownload:nil completion:nil]; - dispatch_semaphore_wait(self.semaphore, [self timeout]); - secondTask = self.secondDownloadTask; - - XCTAssert(firstTask != secondTask); -} - -- (void)testURLSessionDidCompleteDelegate -{ - self.imageManager = [[PINRemoteImageManager alloc] init]; - self.imageManager.sessionManager.delegate = self; - self.sessionDidCompleteDelegateSemaphore = dispatch_semaphore_create(0); - [self.imageManager downloadImageWithURL:[self transparentPNGURL] completion:nil]; - long result = dispatch_semaphore_wait(self.sessionDidCompleteDelegateSemaphore, [self timeout]); - XCTAssert(result == 0); -} - -- (void)testCancelAllTasks -{ - XCTestExpectation *expectation = [self expectationWithDescription:@"Cancel all tasks"]; - dispatch_group_t group = dispatch_group_create(); - - dispatch_group_enter(group); - [self.imageManager downloadImageWithURL:[self progressiveURL2] options:0 progressDownload:^(int64_t completedBytes, int64_t totalBytes) { - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - dispatch_group_leave(group); - }); - } completion:nil]; - - dispatch_group_enter(group); - [self.imageManager downloadImageWithURL:[self progressiveURL] options:0 progressDownload:^(int64_t completedBytes, int64_t totalBytes) { - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - dispatch_group_leave(group); - }); - } completion:nil]; - - dispatch_group_notify(group, dispatch_get_main_queue(), ^{ - SEL originalSelector = @selector(cancelTaskWithUUID:storeResumeData:); - SEL swizzledSelector = @selector(swizzled_cancelTaskWithUUID:storeResumeData:); - - Method originalMethod = class_getInstanceMethod([PINRemoteImageManager class], originalSelector); - Method swizzledMethod = class_getInstanceMethod([PINRemoteImageManager class], swizzledSelector); - - method_exchangeImplementations(originalMethod, swizzledMethod); - - [self.imageManager cancelAllTasks]; - - // Give manager 2 seconds to cancel all tasks - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - XCTAssert(canceledCount == 2); - [expectation fulfill]; - }); - }); - dispatch_group_wait(group, [self timeout]); - [self waitForExpectationsWithTimeout:[self timeoutTimeInterval] handler:nil]; -} - -- (void)testImageDownloadUUIDs -{ - dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - __weak PINRemoteImageManager *weakImageManager = self.imageManager; - __block NSUUID *uuid = [self.imageManager downloadImageWithURL:[self progressiveURL2] options:0 progressDownload:^(int64_t completedBytes, int64_t totalBytes) { - PINRemoteImageDownloadTask *task = (PINRemoteImageDownloadTask *)[weakImageManager.UUIDToTask objectForKey:uuid]; - XCTAssert([task.URL isEqual:[self progressiveURL2]]); - } completion:^(PINRemoteImageManagerResult *result) { - dispatch_async(dispatch_get_main_queue(), ^{ - PINRemoteImageDownloadTask *task = (PINRemoteImageDownloadTask *)[weakImageManager.UUIDToTask objectForKey:uuid]; - XCTAssert(!task); - dispatch_semaphore_signal(semaphore); - }); - }]; - - dispatch_semaphore_wait(semaphore, [self timeout]); -} - -@end - -@implementation PINRemoteImageManager (Swizzled) - -- (void)swizzled_cancelTaskWithUUID:(nonnull NSUUID *)UUID storeResumeData:(BOOL)storeResumeData -{ - canceledCount++; - [self swizzled_cancelTaskWithUUID:UUID storeResumeData:storeResumeData]; -} - -@end - -@implementation PINRemoteImageDownloadTask (Swizzled) - -- (void)swizzled_scheduleDownloadWithRequest:(NSURLRequest *)request - resume:(PINResume *)resume - skipRetry:(BOOL)skipRetry - priority:(PINRemoteImageManagerPriority)priority - isRetry:(BOOL)isRetry - completionHandler:(PINRemoteImageManagerDataCompletion)completionHandler -{ - static BOOL requestModified = NO; - NSMutableURLRequest *modifiedRequest = nil; - if (requestModified == NO) { - requestModified = YES; - modifiedRequest = [request mutableCopy]; - [modifiedRequest setTimeoutInterval:0.00001]; - } else { - modifiedRequest = [request mutableCopy]; - [modifiedRequest setTimeoutInterval:30]; - requestRetried = YES; - } - [self swizzled_scheduleDownloadWithRequest:modifiedRequest resume:resume skipRetry:skipRetry priority:priority isRetry:isRetry completionHandler:completionHandler]; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/TestAnimatedImage.h b/Carthage/Checkouts/PINRemoteImage/Tests/TestAnimatedImage.h deleted file mode 100644 index 705ca774..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Tests/TestAnimatedImage.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// TestAnimatedImage.h -// PINRemoteImage -// -// Created by Greg Bolsinga on 3/10/20. -// Copyright © 2020 Pinterest. All rights reserved. -// - -#import "PINAnimatedImage.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface TestAnimatedImage : NSObject - -@end - -NS_ASSUME_NONNULL_END diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/TestAnimatedImage.m b/Carthage/Checkouts/PINRemoteImage/Tests/TestAnimatedImage.m deleted file mode 100644 index 2154c387..00000000 --- a/Carthage/Checkouts/PINRemoteImage/Tests/TestAnimatedImage.m +++ /dev/null @@ -1,39 +0,0 @@ -// -// TestAnimatedImage.m -// PINRemoteImage -// -// Created by Greg Bolsinga on 3/10/20. -// Copyright © 2020 Pinterest. All rights reserved. -// - -#import "TestAnimatedImage.h" - -@implementation TestAnimatedImage - -@synthesize bytesPerFrame; - -@synthesize data; - -@synthesize error; - -@synthesize frameCount; - -@synthesize frameInterval; - -@synthesize height; - -@synthesize loopCount; - -@synthesize totalDuration; - -@synthesize width; - -- (CFTimeInterval)durationAtIndex:(NSUInteger)index { - return 0; -} - -- (nullable CGImageRef)imageAtIndex:(NSUInteger)index cacheProvider:(nullable id)cacheProvider { - return nil; -} - -@end diff --git a/Carthage/Checkouts/PINRemoteImage/Tests/fireworks.gif b/Carthage/Checkouts/PINRemoteImage/Tests/fireworks.gif deleted file mode 100644 index 067e887f..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/Tests/fireworks.gif and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/build_docs.sh b/Carthage/Checkouts/PINRemoteImage/build_docs.sh deleted file mode 100755 index 03003178..00000000 --- a/Carthage/Checkouts/PINRemoteImage/build_docs.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env sh - -appledoc \ - --company-id com.pinterest \ - --project-name PINRemoteImage \ - --project-company Pinterest \ - --project-version 1.0 \ - --docset-bundle-id %COMPANYID.%PROJECTID \ - --docset-bundle-name "%PROJECT %VERSION" \ - --docset-bundle-filename %COMPANYID.%PROJECTID-%VERSIONID.docset \ - --ignore "*.m" \ - --ignore "Assets" \ - --no-repeat-first-par \ - --explicit-crossref \ - --clean-output \ - --keep-intermediate-files \ - --output ./docs \ - Pod - -mv docs/docset docs/com.pinterest.PINRemoteImage-1.0.docset -rm docs/docset-installed.txt diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Info.plist b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Info.plist deleted file mode 100644 index d79ee6ec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Info.plist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - com.pinterest.PINRemoteImage - CFBundleName - PINRemoteImage 1.0 - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - - - - - DocSetFeedName - PINRemoteImage Documentation - - DocSetMinimumXcodeVersion - 3.0 - - DashDocSetFamily - appledoc - DocSetPublisherIdentifier - com.pinterest.documentation - DocSetPublisherName - Pinterest - NSHumanReadableCopyright - Copyright © 2016 Pinterest. All rights reserved. - - diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINAnimatedImageDecodedPath.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINAnimatedImageDecodedPath.html deleted file mode 100644 index 2db4658c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINAnimatedImageDecodedPath.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - PINAnimatedImageDecodedPath Block Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImageDecodedPath Block Reference

- - -
- - - - -
Declared inPINAnimatedImageManager.h
- - - - - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINAnimatedImageInfoReady.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINAnimatedImageInfoReady.html deleted file mode 100644 index e4c9ff50..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINAnimatedImageInfoReady.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - PINAnimatedImageInfoReady Block Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImageInfoReady Block Reference

- - -
- - - - -
Declared inPINAnimatedImage.h
- - - - - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINAnimatedImageSharedReady.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINAnimatedImageSharedReady.html deleted file mode 100644 index dcc2cd2c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINAnimatedImageSharedReady.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - PINAnimatedImageSharedReady Block Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImageSharedReady Block Reference

- - -
- - - - -
Declared inPINAnimatedImageManager.h
- - - - - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINRemoteImageManagerImageCompletion.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINRemoteImageManagerImageCompletion.html deleted file mode 100644 index 6124658a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Blocks/PINRemoteImageManagerImageCompletion.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - PINRemoteImageManagerImageCompletion Block Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManagerImageCompletion Block Reference

- - -
- - - - -
Declared inPINRemoteImageManager.h
- - - - - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINAnimatedImage.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINAnimatedImage.html deleted file mode 100644 index 51718d59..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINAnimatedImage.html +++ /dev/null @@ -1,817 +0,0 @@ - - - - - - PINAnimatedImage Class Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImage Class Reference

- - -
- - - - - - - -
Inherits fromNSObject
Declared inPINAnimatedImage.h
- - - - -
- -

Overview

-

PINAnimatedImage is a class which decodes GIFs to memory mapped files on disk. Like PINRemoteImageManager, -it will only decode a GIF one time, regardless of the number of the number of PINAnimatedImages created with -the same NSData.

- -

PINAnimatedImage’s are also decoded chunks at a time, writing each chunk to a separate file. This allows callback -and playback to start before the GIF is completely decoded. If a frame is requested beyond what has been processed, -nil will be returned. Because a fileReady is called on each chunk completion, you can pause playback if you hit a nil -frame until you receive another fileReady call.

- -

Internally, PINAnimatedImage attempts to keep only the files it needs open – the last file associated with the requested -frame and the one after (to prime).

- -

It’s important to note that until infoCompletion is called, it is unsafe to access many of the methods on PINAnimatedImage.

-
- - - - - -
- - - - - - -
-
- -

  infoCompletion -

- -
-
- -
- - -
-

A block to be called on when GIF info has been processed. Status will == PINAnimatedImageStatusInfoProcessed

-
- - - -
@property (nonatomic, strong, readwrite) PINAnimatedImageInfoReady infoCompletion
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  fileReady -

- -
-
- -
- - -
-

A block to be called whenever a new file is done being processed. You can start (or resume) playback when you -get this callback, though it’s possible for playback to catch up to the decoding and you’ll need to pause.

-
- - - -
@property (nonatomic, strong, readwrite) dispatch_block_t fileReady
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  animatedImageReady -

- -
-
- -
- - -
-

A block to be called when the animated image is fully decoded and written to disk.

-
- - - -
@property (nonatomic, strong, readwrite) dispatch_block_t animatedImageReady
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  status -

- -
-
- -
- - -
-

The current status of the animated image.

-
- - - -
@property (nonatomic, assign, readwrite) PINAnimatedImageStatus status
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  coverImageReady -

- -
-
- -
- - -
-

A helper function which references status to check if the coverImage is ready.

-
- - - -
@property (nonatomic, readonly) BOOL coverImageReady
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  playbackReady -

- -
-
- -
- - -
-

A helper function which references status to check if playback is ready.

-
- - - -
@property (nonatomic, readonly) BOOL playbackReady
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  coverImage -

- -
-
- -
- - -
-

The first frame / cover image of the animated image.

-
- - - -
@property (nonatomic, readonly) PINImage *coverImage
- - - - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined. You can check coverImageReady too.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  totalDuration -

- -
-
- -
- - -
-

The total duration of one loop of playback.

-
- - - -
@property (nonatomic, readonly) CFTimeInterval totalDuration
- - - - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  frameInterval -

- -
-
- -
- - -
-

The number of frames to play per second * display refresh rate (defined as 60 which appears to be true on iOS). You probably want to -set this value on a displayLink.

-
- - - -
@property (nonatomic, readonly) NSUInteger frameInterval
- - - - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  loopCount -

- -
-
- -
- - -
-

The number of times to loop the animated image. Returns 0 if looping should occur infinitely.

-
- - - -
@property (nonatomic, readonly) size_t loopCount
- - - - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  frameCount -

- -
-
- -
- - -
-

The total number of frames in the animated image.

-
- - - -
@property (nonatomic, readonly) size_t frameCount
- - - - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

– imageAtIndex: -

- -
-
- -
- - -
-

The image at the frame index passed in.

-
- - - -
- (CGImageRef)imageAtIndex:(NSUInteger)index
- - - -
-

Parameters

- - - - - - - -
index

The index of the frame to retrieve.

-
- - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

– durationAtIndex: -

- -
-
- -
- - -
-

The duration of the frame of the passed in index.

-
- - - -
- (CFTimeInterval)durationAtIndex:(NSUInteger)index
- - - -
-

Parameters

- - - - - - - -
index

The index of the frame to retrieve the duration it should be shown for.

-
- - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

– clearAnimatedImageCache -

- -
-
- -
- - -
-

Clears out the strong references to any memory maps that are being held.

-
- - - -
- (void)clearAnimatedImageCache
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
-
- -
- - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINProgressiveImage.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINProgressiveImage.html deleted file mode 100644 index a3fc266f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINProgressiveImage.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - PINProgressiveImage Class Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINProgressiveImage Class Reference

- - -
- - - - - - - -
Inherits fromNSObject
Declared inPINProgressiveImage.h
- - - - -
- -

Overview

-

An object which store the data of a downloading image and vends progressive scans *

-
- - - - - -
- - - - - - -
-
- -

– currentImageBlurred:maxProgressiveRenderSize: -

- -
-
- -
- - -
-

Returns the latest image based on thresholds, returns nil if no new image is generated

-
- - - -
- (nullable PINImage *)currentImageBlurred:(BOOL)blurred maxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize
- - - -
-

Parameters

- - - - - - - - - - - - -
blurred

A boolean to indicate if the image should be blurred

maxProgressiveRenderSize

the maximum dimensions at which to apply a blur. If an image exceeds either the height -or width of this dimension, the image will not be blurred regardless of the blurred parameter.

-
- - - -
-

Return Value

-

PINImage a progressive scan of the image or nil if a new one has not been generated

-
- - - - - - - - - - - -
-

Declared In

-

PINProgressiveImage.h

-
- - -
-
-
- -

– data -

- -
-
- -
- - -
-

Returns the current data for the image.

-
- - - -
- (nullable NSData *)data
- - - - - -
-

Return Value

-

NSData the current data for the image

-
- - - - - - - - - - - -
-

Declared In

-

PINProgressiveImage.h

-
- - -
-
-
-
- -
- - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINRemoteImageCategoryManager.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINRemoteImageCategoryManager.html deleted file mode 100644 index ac62a079..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINRemoteImageCategoryManager.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - PINRemoteImageCategoryManager Class Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageCategoryManager Class Reference

- - -
- - - - - - - -
Inherits fromNSObject
Declared inPINRemoteImageCategoryManager.h
- - - - -
- -

Overview

-

PINRemoteImageCategoryManager is a class that handles subclassing image display classes. PINImage+PINRemoteImage, UIButton+PINRemoteImage, etc, all delegate their work to this class. If you’d like to create a category to display an image on a view, you should mimic one of the above categories.

-
- - - - - - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINRemoteImageManager.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINRemoteImageManager.html deleted file mode 100644 index 2d6d88d3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Classes/PINRemoteImageManager.html +++ /dev/null @@ -1,2357 +0,0 @@ - - - - - - PINRemoteImageManager Class Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManager Class Reference

- - -
- - - - - - - -
Inherits fromNSObject
Declared inPINRemoteImageManager.h
- - - - -
- -

Overview

-

An image downloading, processing and caching manager. It uses the concept of download and processing tasks to ensure that even if multiple calls to download or process an image are made, it only occurs one time (unless an item is no longer in the cache). PINRemoteImageManager is backed by GCD and safe to access from multiple threads simultaneously. It ensures that images are decoded off the main thread so that animation performance isn’t affected. None of its exposed methods allow for synchronous access. However, it is optimized to call completions on the calling thread if an item is in its memory cache. *

-
- - - - - -
- - - - - - -
-
- -

– initWithSessionConfiguration: -

- -
-
- -
- - -
-

Create and return a PINRemoteImageManager created with the specified configuration. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. Specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc.

-
- - - -
- (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)configuration
- - - -
-

Parameters

- - - - - - - -
configuration

The configuration used to create the PINRemoteImageManager.

-
- - - -
-

Return Value

-

A PINRemoteImageManager with the specified configuration.

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– initWithSessionConfiguration:alternativeRepresentationProvider: -

- -
-
- -
- - -
-

Create and return a PINRemoteImageManager with the specified configuration and alternative representation delegate. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. Specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. If alternativeRepresentationProvider is nil, the default is used (and supports FLAnimatedImage).

-
- - - -
- (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)configuration alternativeRepresentationProvider:(nullable id<PINRemoteImageManagerAlternateRepresentationProvider>)alternateRepDelegate
- - - -
-

Parameters

- - - - - - - - - - - - -
configuration

The configuration used to create the PINRemoteImageManager.

alternativeRepDelegate

a delegate which conforms to the PINRemoteImageManagerAlternateRepresentationProvider protocol. Provide a delegate if you want to have non image results. @see PINAlternativeRepresentationDelaget for an example.

-
- - - -
-

Return Value

-

A PINRemoteImageManager with the specified configuration.

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

+ sharedImageManager -

- -
-
- -
- - -
-

Get the shared instance of PINRemoteImageManager

-
- - - -
+ (nonnull instancetype)sharedImageManager
- - - - - -
-

Return Value

-

Shared instance of PINRemoteImageManager

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

+ setSharedImageManagerWithConfiguration: -

- -
-
- -
- - -
-

Sets the shared instance of PINRemoteImageManager to an instance with the supplied configuration. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. You specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. This method should not be used if the shared instance has already been created.

-
- - - -
+ (void)setSharedImageManagerWithConfiguration:(nullable NSURLSessionConfiguration *)configuration
- - - -
-

Parameters

- - - - - - - -
configuration

The configuration used to create the PINRemoteImageManager.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– defaultImageCache -

- -
-
- -
- - -
-

The result of this method is assigned to self.cache in init. If you wish to provide a customized cache to the manager you can subclass PINRemoteImageManager and return a custom PINCache from this method.

-
- - - -
- (nonnull PINCache *)defaultImageCache
- - - - - -
-

Return Value

-

An instance of a PINCache object.

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setAuthenticationChallenge: -

- -
-
- -
- - -
-

Set the Authentication Challenge Block.

-
- - - -
- (void)setAuthenticationChallenge:(nullable PINRemoteImageManagerAuthenticationChallenge)challengeBlock
- - - -
-

Parameters

- - - - - - - -
challengeBlock

A PINRemoteImageManagerAuthenticationChallenge block.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setHighQualityBPSThreshold:completion: -

- -
-
- -
- - -
-

Set the minimum BPS to download the highest quality image in a set.

-
- - - -
- (void)setHighQualityBPSThreshold:(float)highQualityBPSThreshold completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
highQualityBPSThreshold

bytes per second minimum. Defaults to 500000.

completion

Completion to be called once highQualityBPSThreshold has been set.

-
- - - - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setLowQualityBPSThreshold:completion: -

- -
-
- -
- - -
-

Set the maximum BPS to download the lowest quality image in a set.

-
- - - -
- (void)setLowQualityBPSThreshold:(float)lowQualityBPSThreshold completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
lowQualityBPSThreshold

bytes per second maximum. Defaults to 50000.

completion

Completion to be called once lowQualityBPSThreshold has been set.

-
- - - - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setShouldUpgradeLowQualityImages:completion: -

- -
-
- -
- - -
-

Set whether high quality images should be downloaded when a low quality image is cached if network connectivity has improved.

-
- - - -
- (void)setShouldUpgradeLowQualityImages:(BOOL)shouldUpgradeLowQualityImages completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
shouldUpgradeLowQualityImages

if YES, low quality images will be ‘upgraded’.

completion

Completion to be called once shouldUpgradeLowQualityImages has been set.

-
- - - - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setMaxNumberOfConcurrentOperations:completion: -

- -
-
- -
- - -
-

Set the maximum number of concurrent operations (decompressing images, creating gifs, etc).

-
- - - -
- (void)setMaxNumberOfConcurrentOperations:(NSInteger)maxNumberOfConcurrentOperations completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
maxNumberOfConcurrentOperations

The maximum number of concurrent operations. Defaults to NSOperationQueueDefaultMaxConcurrentOperationCount.

completion

Completion to be called once maxNumberOfConcurrentOperations is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setMaxNumberOfConcurrentDownloads:completion: -

- -
-
- -
- - -
-

Set the maximum number of concurrent downloads.

-
- - - -
- (void)setMaxNumberOfConcurrentDownloads:(NSInteger)maxNumberOfConcurrentDownloads completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
maxNumberOfConcurrentDownloads

The maximum number of concurrent downloads. Defaults to 10.

completion

Completion to be called once maxNumberOfConcurrentDownloads is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setEstimatedRemainingTimeThresholdForProgressiveDownloads:completion: -

- -
-
- -
- - -
-

Set the estimated time remaining to download threshold at which to generate progressive images. Progressive images previews will only be generated if the estimated remaining time on a download is greater than estimatedTimeRemainingThreshold. If estimatedTimeRemainingThreshold is less than zero, this check is skipped.

-
- - - -
- (void)setEstimatedRemainingTimeThresholdForProgressiveDownloads:(NSTimeInterval)estimatedRemainingTimeThreshold completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
estimatedRemainingTimeThreshold

The estimated remaining time threshold used to decide to skip progressive rendering. Defaults to 0.1.

completion

Completion to be called once estimatedTimeRemainingTimeThreshold is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setProgressThresholds:completion: -

- -
-
- -
- - -
-

Sets the progress at which progressive images are generated. By default this is @[@0.00, @0.35, @0.65] which generates at most, 3 progressive images. The first progressive image will only be generated when at least one scan has been completed (so you never see half an image).

-
- - - -
- (void)setProgressThresholds:(nonnull NSArray<NSNumber*> *)progressThresholds completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
progressThresholds

an array of progress thresholds at which to generate progressive images. progress thresholds should range from 0.00 - 1.00. Defaults to @[@0.00, @0.35, @0.65]

completion

Completion to be called once progressThresholds is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setProgressiveRendersShouldBlur:completion: -

- -
-
- -
- - -
-

Sets whether PINRemoteImage should blur progressive render results

-
- - - -
- (void)setProgressiveRendersShouldBlur:(BOOL)shouldBlur completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
shouldBlur

A bool value indicating whether PINRemoteImage should blur progressive render results

completion

Completion to be called once progressThresholds is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setProgressiveRendersMaxProgressiveRenderSize:completion: -

- -
-
- -
- - -
-

Sets the maximum size of an image that PINRemoteImage will blur. If the image is too large, blurring is skipped

-
- - - -
- (void)setProgressiveRendersMaxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
maxProgressiveRenderSize

A CGSize which indicates the max size PINRemoteImage will render a progressive image. If an image is larger in either dimension, progressive rendering will be skipped

completion

Completion to be called once maxProgressiveRenderSize is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– prefetchImageWithURL: -

- -
-
- -
- - -
-

Prefetch an image at the given URL.

-
- - - -
- (void)prefetchImageWithURL:(nonnull NSURL *)url
- - - -
-

Parameters

- - - - - - - -
url

NSURL where the image to prefetch resides.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– prefetchImageWithURL:options: -

- -
-
- -
- - -
-

Prefetch an image at the given URL with given options.

-
- - - -
- (void)prefetchImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options
- - - -
-

Parameters

- - - - - - - - - - - - -
url

NSURL where the image to prefetch resides.

options

PINRemoteImageManagerDownloadOptions options with which to pefetch the image.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– prefetchImagesWithURLs: -

- -
-
- -
- - -
-

Prefetch images at the given URLs.

-
- - - -
- (void)prefetchImagesWithURLs:(nonnull NSArray<NSURL*> *)urls
- - - -
-

Parameters

- - - - - - - -
urls

An array of NSURLs where the images to prefetch reside.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– prefetchImagesWithURLs:options: -

- -
-
- -
- - -
-

Prefetch images at the given URLs with given options.

-
- - - -
- (void)prefetchImagesWithURLs:(nonnull NSArray<NSURL*> *)urls options:(PINRemoteImageManagerDownloadOptions)options
- - - -
-

Parameters

- - - - - - - - - - - - -
urls

An array of NSURLs where the images to prefetch reside.

options

PINRemoteImageManagerDownloadOptions options with which to pefetch the image.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
url

NSURL where the image to download resides.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:progressImage:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

progressImage

PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:progressDownload:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

progressDownload

PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:progressImage:progressDownload:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

progressImage

PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download.

progressDownload

PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:processorKey:processor:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url and process it before calling completion. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

processorKey

NSString key to uniquely identify processor and process. Will be used for caching processed images.

processor

PINRemoteImageManagerImageProcessor block which will be called to post-process downloaded image.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:processorKey:processor:progressDownload:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url and process it before calling completion. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

processorKey

NSString key to uniquely identify processor and process. Will be used for caching processed images.

processor

PINRemoteImageManagerImageProcessor block which will be called to post-process downloaded image.

progressDownload

PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURLs:options:progressImage:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache one of the images found at the urls in the passed in array based on current network performance. URLs should be sorted from lowest quality image URL to highest. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURLs:(nonnull NSArray<NSURL*> *)urls options:(PINRemoteImageManagerDownloadOptions)options progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - -
urls

An array of NSURLs of increasing size.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

progressImage

PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - -
-

Discussion

-

Unless setShouldUpgradeLowQualityImages is set to YES, this method checks the cache for all URLs and returns the highest quality version stored. It is possible though unlikely for a cached image to not be returned if it is still being cached while a call is made to this method and if network conditions have changed. See source for more details.

-
- - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– cacheKeyForURL:processorKey: -

- -
-
- -
- - -
-

Returns the cacheKey for a given URL and processorKey. Exposed to be overridden if necessary or to be used with imageFromCacheWithCacheKey

-
- - - -
- (nonnull NSString *)cacheKeyForURL:(nonnull NSURL *)url processorKey:(nullable NSString *)processorKey
- - - -
-

Parameters

- - - - - - - - - - - - -
url

NSURL to be downloaded

processorKey

NSString key to uniquely identify processor and process.

-
- - - -
-

Return Value

-

returns an NSString which is the key used for caching.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– imageFromCacheWithCacheKey:completion: -

- -
-
- -
- - -
-

imageFromCacheWithCacheKey:options:completion: instead -@deprecated

-
- - - -
- (void)imageFromCacheWithCacheKey:(nonnull NSString *)cacheKey completion:(nonnull PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
cacheKey

NSString key to look up image in the cache.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache.

-
- - - - - - - - - - - -
-

See Also

- -
- - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– imageFromCacheWithCacheKey:options:completion: -

- -
-
- -
- - -
-

Directly get an image from the underlying cache.

-
- - - -
- (void)imageFromCacheWithCacheKey:(nonnull NSString *)cacheKey options:(PINRemoteImageManagerDownloadOptions)options completion:(nonnull PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - -
cacheKey

NSString key to look up image in the cache.

options

options will be used to determine if the cached image should be decompressed or FLAnimatedImages should be returned.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache.

-
- - - - - - - - - - - -
-

See Also

- -
- - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– synchronousImageFromCacheWithCacheKey:options: -

- -
-
- -
- - -
-

Directly get an image from the underlying memory cache synchronously.

-
- - - -
- (nonnull PINRemoteImageManagerResult *)synchronousImageFromCacheWithCacheKey:(nonnull NSString *)cacheKey options:(PINRemoteImageManagerDownloadOptions)options
- - - -
-

Parameters

- - - - - - - - - - - - -
cacheKey

NSString key to look up image in the cache.

options

options will be used to determine if the cached image should be decompressed or FLAnimatedImages should be returned.

-
- - - -
-

Return Value

-

A PINRemoteImageManagerResult

-
- - - - - - - - - -
-

See Also

- -
- - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– cancelTaskWithUUID: -

- -
-
- -
- - -
-

Cancel a download. Canceling will only cancel the download if all other downloads are also canceled with their associated UUIDs. Canceling does not guarantee that your completion will not be called. You can use the UUID provided on the result object verify the completion you want called is being called.

-
- - - -
- (void)cancelTaskWithUUID:(nonnull NSUUID *)UUID
- - - -
-

Parameters

- - - - - - - -
UUID

NSUUID of the task to cancel.

-
- - - - - - - - - - - -
-

See Also

- -
- - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setPriority:ofTaskWithUUID: -

- -
-
- -
- - -
-

Set the priority of a download task. Since there is only one task per download, the priority of the download task will always be the last priority this method was called with.

-
- - - -
- (void)setPriority:(PINRemoteImageManagerPriority)priority ofTaskWithUUID:(nonnull NSUUID *)UUID
- - - -
-

Parameters

- - - - - - - - - - - - -
priority

priority to set on the task.

UUID

NSUUID of the task to set the priority on.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setProgressImageCallback:ofTaskWithUUID: -

- -
-
- -
- - -
-

set the progress callback on a download task. You can use this to add progress callbacks or remove them for in flight downloads

-
- - - -
- (void)setProgressImageCallback:(nullable PINRemoteImageManagerImageCompletion)progressImageCallback ofTaskWithUUID:(nonnull NSUUID *)UUID
- - - -
-

Parameters

- - - - - - - - - - - - -
progressImageCallback

a PINRemoteImageManagerImageCompletion block to be called with a progress update

UUID

NSUUID of the task to set the priority on.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
-
- -
- - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINAnimatedImageError.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINAnimatedImageError.html deleted file mode 100644 index 46c6f626..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINAnimatedImageError.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - PINAnimatedImageError Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImageError Constants Reference

- - -
- - - - -
Declared inPINAnimatedImage.h
- - - - - - - -

PINAnimatedImageError

- - -
-

PINAnimatedImage decoding and processing errors.

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINAnimatedImageError ) {
- -    PINAnimatedImageErrorNoError = 0,
- -    PINAnimatedImageErrorFileCreationError,
- -    PINAnimatedImageErrorFileHandleError,
- -    PINAnimatedImageErrorImageFrameError,
- -    PINAnimatedImageErrorMappingError,
- - };
- -
- -
-

Constants

-
- -
PINAnimatedImageErrorNoError
-
- - -

No error, yay!

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageErrorFileCreationError
-
- - -

Could not create a necessary file.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageErrorFileHandleError
-
- - -

Could not get a file handle to the necessary file.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageErrorImageFrameError
-
- - -

Could not decode the image.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageErrorMappingError
-
- - -

Could not memory map the file.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINAnimatedImageStatus.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINAnimatedImageStatus.html deleted file mode 100644 index 3d373efb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINAnimatedImageStatus.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - PINAnimatedImageStatus Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImageStatus Constants Reference

- - -
- - - - -
Declared inPINAnimatedImage.h
- - - - - - - -

PINAnimatedImageStatus

- - -
-

The processing status of the animated image.

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINAnimatedImageStatus ) {
- -    PINAnimatedImageStatusUnprocessed = 0,
- -    PINAnimatedImageStatusInfoProcessed,
- -    PINAnimatedImageStatusFirstFileProcessed,
- -    PINAnimatedImageStatusProcessed,
- -    PINAnimatedImageStatusCanceled,
- -    PINAnimatedImageStatusError,
- - };
- -
- -
-

Constants

-
- -
PINAnimatedImageStatusUnprocessed
-
- - -

No work has been done.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageStatusInfoProcessed
-
- - -

Info about the animated image and the cover image are available.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageStatusFirstFileProcessed
-
- - -

At least one set of frames has been decoded to a file. It’s safe to start playback.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageStatusProcessed
-
- - -

The entire animated image has been processed.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageStatusCanceled
-
- - -

Processing was canceled.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageStatusError
-
- - -

There was an error in processing.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageManagerDownloadOptions.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageManagerDownloadOptions.html deleted file mode 100644 index e4332208..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageManagerDownloadOptions.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - PINRemoteImageManagerDownloadOptions Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManagerDownloadOptions Constants Reference

- - -
- - - - -
Declared inPINRemoteImageManager.h
- - - - - - - -

PINRemoteImageManagerDownloadOptions

- - -
-

Options with which to download and process images

-
- - -
- - -

Definition

- typedef NS_OPTIONS(NSUInteger, PINRemoteImageManagerDownloadOptions ) {
- -    PINRemoteImageManagerDownloadOptionsNone = 0,
- -    PINRemoteImageManagerDisallowAlternateRepresentations = 1,
- -    PINRemoteImageManagerDownloadOptionsSkipDecode = 1 < < 1,
- -    PINRemoteImageManagerDownloadOptionsSkipEarlyCheck = 1 < < 2,
- -    PINRemoteImageManagerSaveProcessedImageAsJPEG = 1 < < 3,
- - };
- -
- -
-

Constants

-
- -
PINRemoteImageManagerDownloadOptionsNone
-
- - -

Download and process with default options (no other options set)

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerDisallowAlternateRepresentations
-
- - -

Set to disallow any alternate representations such as FLAnimatedImage

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerDownloadOptionsSkipDecode
-
- - -

Skip decoding the image before returning. This means smaller images returned, but images will be decoded on the main thread when set on an image view

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerDownloadOptionsSkipEarlyCheck
-
- - -

Skip the early check of the memory cache

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerSaveProcessedImageAsJPEG
-
- - -

Save processed images as JPEGs in the cache. The default is PNG to support transparency

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageManagerError.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageManagerError.html deleted file mode 100644 index 4d9e0636..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageManagerError.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - PINRemoteImageManagerError Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManagerError Constants Reference

- - -
- - - - -
Declared inPINRemoteImageManager.h
- - - - - - - -

PINRemoteImageManagerError

- - -
-

Error codes returned by PINRemoteImage

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINRemoteImageManagerError ) {
- -    PINRemoteImageManagerErrorFailedToDecodeImage = 1,
- -    PINRemoteImageManagerErrorFailedToFetchImageForProcessing = 2,
- -    PINRemoteImageManagerErrorFailedToProcessImage = 3,
- -    PINRemoteImageManagerErrorInvalidItemInCache = 4,
- - };
- -
- -
-

Constants

-
- -
PINRemoteImageManagerErrorFailedToDecodeImage
-
- - -

The image failed to decode

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerErrorFailedToFetchImageForProcessing
-
- - -

The image could not be downloaded and therefore could not be processed

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerErrorFailedToProcessImage
-
- - -

The image returned by the processor block was nil

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerErrorInvalidItemInCache
-
- - -

The image in the cache was invalid

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageManagerPriority.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageManagerPriority.html deleted file mode 100644 index b831d2ef..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageManagerPriority.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - PINRemoteImageManagerPriority Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManagerPriority Constants Reference

- - -
- - - - -
Declared inPINRemoteImageManager.h
- - - - - - - -

PINRemoteImageManagerPriority

- - -
-

Priority to download and process image at.

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINRemoteImageManagerPriority ) {
- -    PINRemoteImageManagerPriorityVeryLow = 0,
- -    PINRemoteImageManagerPriorityLow,
- -    PINRemoteImageManagerPriorityMedium,
- -    PINRemoteImageManagerPriorityHigh,
- -    PINRemoteImageManagerPriorityVeryHigh,
- - };
- -
- -
-

Constants

-
- -
PINRemoteImageManagerPriorityVeryLow
-
- - -

Very low priority

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerPriorityLow
-
- - -

Low priority

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerPriorityMedium
-
- - -

Medium priority

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerPriorityHigh
-
- - -

High priority

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerPriorityVeryHigh
-
- - -

Very high priority

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageResultType.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageResultType.html deleted file mode 100644 index ef69253f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteImageResultType.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - PINRemoteImageResultType Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageResultType Constants Reference

- - -
- - - - -
Declared inPINRemoteImageManagerResult.h
- - - - - - - -

PINRemoteImageResultType

- - -
-

How the image was fetched.

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINRemoteImageResultType ) {
- -    PINRemoteImageResultTypeNone = 0,
- -    PINRemoteImageResultTypeMemoryCache,
- -    PINRemoteImageResultTypeCache,
- -    PINRemoteImageResultTypeDownload,
- -    PINRemoteImageResultTypeProgress,
- - };
- -
- -
-

Constants

-
- -
PINRemoteImageResultTypeNone
-
- - -

Returned if no image is returned

- - - - - - -

- Declared In PINRemoteImageManagerResult.h. -

- -
- -
PINRemoteImageResultTypeMemoryCache
-
- - -

Image was fetched from the memory cache

- - - - - - -

- Declared In PINRemoteImageManagerResult.h. -

- -
- -
PINRemoteImageResultTypeCache
-
- - -

Image was fetched from the disk cache

- - - - - - -

- Declared In PINRemoteImageManagerResult.h. -

- -
- -
PINRemoteImageResultTypeDownload
-
- - -

Image was downloaded

- - - - - - -

- Declared In PINRemoteImageManagerResult.h. -

- -
- -
PINRemoteImageResultTypeProgress
-
- - -

Image is progress

- - - - - - -

- Declared In PINRemoteImageManagerResult.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINRemoteImageManagerResult.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteLockType.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteLockType.html deleted file mode 100644 index d950c1be..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Constants/PINRemoteLockType.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - PINRemoteLockType Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteLockType Constants Reference

- - -
- - - - -
Declared inPINRemoteLock.h
- - - - - - - -

PINRemoteLockType

- - -
-

The type of lock, either recursive or non-recursive

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINRemoteLockType ) {
- -    PINRemoteLockTypeNonRecursive = 0,
- -    PINRemoteLockTypeRecursive,
- - };
- -
- -
-

Constants

-
- -
PINRemoteLockTypeNonRecursive
-
- - -

A non-recursive version of the lock. The default.

- - - - - - -

- Declared In PINRemoteLock.h. -

- -
- -
PINRemoteLockTypeRecursive
-
- - -

A recursive version of the lock. More expensive.

- - - - - - -

- Declared In PINRemoteLock.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINRemoteLock.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Protocols/PINRemoteImageCategory.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Protocols/PINRemoteImageCategory.html deleted file mode 100644 index 3033c93b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Protocols/PINRemoteImageCategory.html +++ /dev/null @@ -1,1036 +0,0 @@ - - - - - - PINRemoteImageCategory Protocol Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageCategory Protocol Reference

- - -
- - - - - - - -
Conforms toNSObject
Declared inPINRemoteImageCategoryManager.h
- - - - -
- -

Overview

-

Protocol to implement on UIView subclasses to support PINRemoteImage

-
- - - - - -
- - - - - - -
-
- -

– pin_setImageFromURL: -required method

- -
-
- -
- - -
-

Set the image from the given URL.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url
- - - -
-

Parameters

- - - - - - - -
url

NSURL to fetch from.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:placeholderImage: -required method

- -
-
- -
- - -
-

Set the image from the given URL and set placeholder image while image at URL is being retrieved.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage
- - - -
-

Parameters

- - - - - - - - - - - - -
url

NSURL to fetch from.

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:completion: -required method

- -
-
- -
- - -
-

Set the image from the given URL and call completion when finished.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
url

NSURL to fetch from.

completion

Called when url has been retrieved and set on view.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:placeholderImage:completion: -required method

- -
-
- -
- - -
-

Set the image from the given URL, set placeholder while image at url is being retrieved and call completion when finished.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - -
url

NSURL to fetch from.

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

completion

Called when url has been retrieved and set on view.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:processorKey:processor: -required method

- -
-
- -
- - -
-

Retrieve the image from the given URL, process it using the passed in processor block and set result on view.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - -
url

NSURL to fetch from.

processorKey

NSString key to uniquely identify processor. Used in caching.

processor

PINRemoteImageManagerImageProcessor processor block which should return the processed image.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:placeholderImage:processorKey:processor: -required method

- -
-
- -
- - -
-

Set placeholder on view and retrieve the image from the given URL, process it using the passed in processor block and set result on view.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - -
url

NSURL to fetch from.

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

processorKey

NSString key to uniquely identify processor. Used in caching.

processor

PINRemoteImageManagerImageProcessor processor block which should return the processed image.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:processorKey:processor:completion: -required method

- -
-
- -
- - -
-

Retrieve the image from the given URL, process it using the passed in processor block and set result on view. Call completion after image has been fetched, processed and set on view.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - -
url

NSURL to fetch from.

processorKey

NSString key to uniquely identify processor. Used in caching.

processor

PINRemoteImageManagerImageProcessor processor block which should return the processed image.

completion

Called when url has been retrieved and set on view.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:placeholderImage:processorKey:processor:completion: -required method

- -
-
- -
- - -
-

Set placeholder on view and retrieve the image from the given URL, process it using the passed in processor block and set result on view. Call completion after image has been fetched, processed and set on view.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
url

NSURL to fetch from.

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

processorKey

NSString key to uniquely identify processor. Used in caching.

processor

PINRemoteImageManagerImageProcessor processor block which should return the processed image.

completion

Called when url has been retrieved and set on view.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURLs: -required method

- -
-
- -
- - -
-

Retrieve one of the images at the passed in URLs depending on previous network performance and set result on view.

-
- - - -
- (void)pin_setImageFromURLs:(nullable NSArray<NSURL*> *)urls
- - - -
-

Parameters

- - - - - - - -
urls

NSArray of NSURLs sorted in increasing quality

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURLs:placeholderImage: -required method

- -
-
- -
- - -
-

Set placeholder on view and retrieve one of the images at the passed in URLs depending on previous network performance and set result on view.

-
- - - -
- (void)pin_setImageFromURLs:(nullable NSArray<NSURL*> *)urls placeholderImage:(nullable PINImage *)placeholderImage
- - - -
-

Parameters

- - - - - - - - - - - - -
urls

NSArray of NSURLs sorted in increasing quality

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURLs:placeholderImage:completion: -required method

- -
-
- -
- - -
-

Set placeholder on view and retrieve one of the images at the passed in URLs depending on previous network performance and set result on view. Call completion after image has been fetched and set on view.

-
- - - -
- (void)pin_setImageFromURLs:(nullable NSArray<NSURL*> *)urls placeholderImage:(nullable PINImage *)placeholderImage completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - -
urls

NSArray of NSURLs sorted in increasing quality

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

completion

Called when url has been retrieved and set on view.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_cancelImageDownload -required method

- -
-
- -
- - -
-

Cancels the image download. Guarantees that previous setImage calls will not have their results set on the image view after calling this (as opposed to PINRemoteImageManager which does not guarantee cancellation).

-
- - - -
- (void)pin_cancelImageDownload
- - - - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_downloadImageOperationUUID -required method

- -
-
- -
- - -
-

Returns the NSUUID associated with any PINRemoteImage task currently running on the view.

-
- - - -
- (nullable NSUUID *)pin_downloadImageOperationUUID
- - - - - -
-

Return Value

-

NSUUID associated with any PINRemoteImage task currently running on the view.

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setDownloadImageOperationUUID: -required method

- -
-
- -
- - -
-

Set the current NSUUID associated with a PINRemoteImage task running on the view.

-
- - - -
- (void)pin_setDownloadImageOperationUUID:(nullable NSUUID *)downloadImageOperationUUID
- - - -
-

Parameters

- - - - - - - -
downloadImageOperationUUID

NSUUID associated with a PINRemoteImage task.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

  pin_updateWithProgress -required method

- -
-
- -
- - -
-

Whether the view should update with progress images (such as those provided by progressive JPEG images).

-
- - - -
@property (nonatomic, assign) BOOL pin_updateWithProgress
- - - - - -
-

Return Value

-

BOOL value indicating whether the view should update with progress images

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
-
- -
- - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Protocols/PINRemoteImageManagerAlternateRepresentationProvider.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Protocols/PINRemoteImageManagerAlternateRepresentationProvider.html deleted file mode 100644 index ec879c2c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/Protocols/PINRemoteImageManagerAlternateRepresentationProvider.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - PINRemoteImageManagerAlternateRepresentationProvider Protocol Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManagerAlternateRepresentationProvider Protocol Reference

- - -
- - - - - - - -
Conforms toNSObject
Declared inPINAlternateRepresentationProvider.h
- - - - - - -
- - - - - - -
-
- -

– alternateRepresentationWithData:options: -required method

- -
-
- -
- - -
-

This method will be called with data off the wire or stored in the cache. Return an object to have it returned as the alternativeRepresentation object in the PINRemoteImageManagerResult. @warning this method can be called on the main thread, be careful of doing expensive work.

-
- - - -
- (id)alternateRepresentationWithData:(NSData *)data options:(PINRemoteImageManagerDownloadOptions)options
- - - - - - - - - -
-

Discussion

-

This method will be called with data off the wire or stored in the cache. Return an object to have it returned as the alternativeRepresentation object in the PINRemoteImageManagerResult. @warning this method can be called on the main thread, be careful of doing expensive work.

-
- - - - - - - -
-

Declared In

-

PINAlternateRepresentationProvider.h

-
- - -
-
-
-
- -
- - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/style.scss b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/style.css b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/style.css deleted file mode 100644 index 2e0648e3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/css/style.css +++ /dev/null @@ -1,2 +0,0 @@ -html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}.clear{clear:both}.clearfix:before,.container:before,article #content:before,article #content footer:before,.clearfix:after,.container:after,article #content:after,article #content footer:after{clear:both;display:table;content:""}.xcode .hide-in-xcode{display:none}body{font:62.5% -apple-system-font,"Helvetica Neue",Helvetica,sans-serif;background:#f2f2f2}h1,h2,h3{font-weight:300;color:gray}h1{font-size:2em;color:#000}h4{font-size:13px;line-height:1.5;margin:21px 0 0}a{color:#08c;text-decoration:none}pre,code{font-family:Source Code Pro,Monaco,Menlo,Consolas,monospace;word-wrap:break-word}pre>code,.method-declaration code{display:inline-block;font-size:.85em;padding:4px 0 4px 10px;border-left:5px solid rgba(0,155,51,.2)}pre>code:before,.method-declaration code:before{content:"Objective-C";display:block;font:9px/1 -apple-system-font,"Helvetica Neue",Helvetica,sans-serif;color:#009b33;text-transform:uppercase;letter-spacing:2px;padding-bottom:6px}pre>code{font-size:inherit}table,th,td{border:1px solid #e9e9e9}table{width:100%}th,td{padding:7px}th>:first-child,td>:first-child{margin-top:0}th>:last-child,td>:last-child{margin-bottom:0}.container{max-width:980px;padding:0 10px;margin:0 auto}@media(max-width:650px){.container{padding:0}}header{position:fixed;top:0;left:0;width:100%;z-index:2;background:#414141;color:#fff;font-size:1.1em;line-height:25px;letter-spacing:.05em}header #library-title{float:left}header #developer-home{float:right}header h1{font-size:inherit;font-weight:inherit;margin:0}header p{margin:0}header h1,header a{color:inherit}@media(max-width:650px){header{position:absolute}header .container{padding:0 10px}}aside{position:fixed;top:25px;left:0;width:100%;height:25px;z-index:2;font-size:1.1em}aside #header-buttons{background:rgba(255,255,255,.8);margin:0 1px;padding:0;list-style:none;text-align:right;line-height:32px}aside #header-buttons li{display:inline-block;cursor:pointer;padding:0 10px}aside #header-buttons label,aside #header-buttons select{cursor:inherit}aside #header-buttons #on-this-page{position:relative}aside #header-buttons #on-this-page .chevron{display:inline-block;width:14px;height:4px;position:relative}aside #header-buttons #on-this-page .chevron .chevy{background:#878787;height:2px;position:absolute;width:10px}aside #header-buttons #on-this-page .chevron .chevy.chevron-left{left:0;-webkit-transform:rotateZ(45deg) scale(.6);transform:rotateZ(45deg) scale(.6)}aside #header-buttons #on-this-page .chevron .chevy.chevron-right{right:0;-webkit-transform:rotateZ(-45deg) scale(.6);transform:rotateZ(-45deg) scale(.6)}aside #header-buttons #on-this-page #jump-to{opacity:0;filter:alpha(opacity=0);font-size:16px;position:absolute;top:5px;left:0;width:100%;height:100%}article{margin-top:25px}article #content{background:#fff;border:1px solid #e9e9e9;padding:15px 25px 30px;font-size:1.4em;line-height:1.45;position:relative}@media(max-width:650px){article #content{padding:15px 10px 20px}}article #content .navigation-top{position:absolute;top:15px;right:25px}article #content .title{margin:21px 0 0;padding:15px 0}article #content p{color:#414141;margin:0 0 15px}article #content th p:last-child,article #content td p:last-child{margin-bottom:0}article #content main ul{list-style:none;margin-left:24px;margin-bottom:12px;padding:0}article #content main ul li{position:relative;padding-left:1.3em}article #content main ul li:before{content:"\02022";color:#414141;font-size:1.08em;line-height:1;position:absolute;left:0;padding-top:2px}article #content footer .footer-copyright{margin:70px 25px 10px 0}article #content footer p{font-size:.71em;color:#a0a0a0}.index-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media(max-width:650px){.index-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}}.index-container .index-column{-webkit-box-flex:1;-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%}.section-specification table{width:auto}.section-specification table th{text-align:left}.method-title{margin-left:-15px;margin-bottom:8px;-webkit-transition:margin-left .3s ease-out;transition:margin-left .3s ease-out}.section-method.hide .method-title{margin-left:0}.method-title code{font-weight:400;font-size:.85em}.method-info{background:#f9f9f9;border-bottom:1px solid #e9e9e9;margin:0 -25px;padding:20px 25px 0;-webkit-transition:height .3s ease-out;transition:height .3s ease-out;position:relative}.method-info .pointy-thing{background:#fff;height:10px;border-bottom:1px solid #e9e9e9;margin:-20px -25px 16px}.method-info .pointy-thing:before{display:inline-block;content:"";background:#f9f9f9;border:1px solid #e9e9e9;border-bottom:0;border-right:0;position:absolute;left:21px;top:3px;width:12px;height:12px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.method-info .method-subsection{margin-bottom:15px}.method-info .method-subsection .argument-name{width:1px;text-align:right}.method-info .method-subsection .argument-name code{color:gray;font-style:italic;font-weight:400}.section-method.hide .method-info{height:0!important;overflow:hidden;display:none}.section-method.hide.animating .method-info{display:block}.section-method.animating .method-info{overflow:hidden}@media print{body{background:#fff;padding:8px}header{position:static;background:#fff;color:#000}aside{display:none}.container{max-width:none;padding:0}article{margin-top:0}article #content{border:0;background:#fff;padding:15px 0 0}article #content .title{margin-top:0;padding-top:0}.method-info,.method-info .pointy-thing{background:#fff}}.xcode header,.xcode aside{display:none}.xcode .container{padding:0}.xcode article{margin-top:0}.xcode article #content{border:0;margin:0}.xcode .section-method.hide .method-info,.xcode .section-method.hide.animating .method-info,.xcode .section-method.animating .method-info{height:auto!important;overflow:visible;display:block}.xcode .section-method.hide .method-title{margin-left:-15px} -/*# sourceMappingURL=to.css.map */ \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/hierarchy.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/hierarchy.html deleted file mode 100644 index bf9faf0a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/hierarchy.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - PINRemoteImage Hierarchy - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImage Hierarchy

- - -
-

Class Hierarchy

- - - -
- - - - - - - -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/disclosure.png b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/library_background.png b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/title_background.png b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/index.html b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/index.html deleted file mode 100644 index 4b4981bf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/index.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - PINRemoteImage Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImage Reference

- - - - - - -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/js/script.js b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/js/script.js deleted file mode 100644 index 4074361c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Documents/js/script.js +++ /dev/null @@ -1,59 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - if (element.classList.contains("hide")) { - e.preventDefault(); - } - setTimeout(function() { - element.classList.remove("animating"); - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Nodes.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Nodes.xml deleted file mode 100644 index 949d8bc5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Nodes.xml +++ /dev/null @@ -1,287 +0,0 @@ - - - - - PINRemoteImage - index.html - - - - - Classes - index.html - - - - - - - - - - - - - Protocols - index.html - - - - - - - - - - Constants - index.html - - - - - - - - - - - - - - - Blocks - index.html - - - - - - - - - - - - - - - - PINAnimatedImage - Classes/PINAnimatedImage.html - - - - Classes/PINAnimatedImage.html - Overview - overview - - - Classes/PINAnimatedImage.html - Tasks - tasks - - - - Classes/PINAnimatedImage.html - Properties - properties - - - - - - Classes/PINAnimatedImage.html - Instance Methods - instance_methods - - - - - - - PINProgressiveImage - Classes/PINProgressiveImage.html - - - - Classes/PINProgressiveImage.html - Overview - overview - - - Classes/PINProgressiveImage.html - Tasks - tasks - - - - - - Classes/PINProgressiveImage.html - Instance Methods - instance_methods - - - - - - - PINRemoteImageCategoryManager - Classes/PINRemoteImageCategoryManager.html - - - - PINRemoteImageManager - Classes/PINRemoteImageManager.html - - - - Classes/PINRemoteImageManager.html - Overview - overview - - - Classes/PINRemoteImageManager.html - Tasks - tasks - - - - - Classes/PINRemoteImageManager.html - Class Methods - class_methods - - - - - Classes/PINRemoteImageManager.html - Instance Methods - instance_methods - - - - - - - - - PINRemoteImageCategory - Protocols/PINRemoteImageCategory.html - - - - Protocols/PINRemoteImageCategory.html - Overview - overview - - - Protocols/PINRemoteImageCategory.html - Tasks - tasks - - - - Protocols/PINRemoteImageCategory.html - Properties - properties - - - - - - Protocols/PINRemoteImageCategory.html - Instance Methods - instance_methods - - - - - - - PINRemoteImageManagerAlternateRepresentationProvider - Protocols/PINRemoteImageManagerAlternateRepresentationProvider.html - - - - Protocols/PINRemoteImageManagerAlternateRepresentationProvider.html - Overview - overview - - - Protocols/PINRemoteImageManagerAlternateRepresentationProvider.html - Tasks - tasks - - - - - - Protocols/PINRemoteImageManagerAlternateRepresentationProvider.html - Instance Methods - instance_methods - - - - - - - - PINAnimatedImageError - Constants/PINAnimatedImageError.html - - - - PINAnimatedImageStatus - Constants/PINAnimatedImageStatus.html - - - - PINRemoteImageManagerDownloadOptions - Constants/PINRemoteImageManagerDownloadOptions.html - - - - PINRemoteImageManagerError - Constants/PINRemoteImageManagerError.html - - - - PINRemoteImageManagerPriority - Constants/PINRemoteImageManagerPriority.html - - - - PINRemoteImageResultType - Constants/PINRemoteImageResultType.html - - - - PINRemoteLockType - Constants/PINRemoteLockType.html - - - - - PINAnimatedImageDecodedPath - Blocks/PINAnimatedImageDecodedPath.html - - - - PINAnimatedImageInfoReady - Blocks/PINAnimatedImageInfoReady.html - - - - PINAnimatedImageSharedReady - Blocks/PINAnimatedImageSharedReady.html - - - - PINRemoteImageManagerImageCompletion - Blocks/PINRemoteImageManagerImageCompletion.html - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens1.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens1.xml deleted file mode 100644 index 39a3184f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens1.xml +++ /dev/null @@ -1,468 +0,0 @@ - - - - - - //apple_ref/occ/cl/PINAnimatedImage - PINAnimatedImage is a class which decodes GIFs to memory mapped files on disk. Like PINRemoteImageManager, -it will only decode a GIF one time, regardless of the number of the number of PINAnimatedImages created with -the same NSData. - PINAnimatedImage.h - - - - - - - - //apple_ref/occ/instm/PINAnimatedImage/setInfoCompletion: - A block to be called on when GIF info has been processed. Status will == PINAnimatedImageStatusInfoProcessed - PINAnimatedImage.h - - @property (nonatomic, strong, readwrite) PINAnimatedImageInfoReady infoCompletion - - - //api/name/infoCompletion - - - - - //apple_ref/occ/instm/PINAnimatedImage/infoCompletion - A block to be called on when GIF info has been processed. Status will == PINAnimatedImageStatusInfoProcessed - PINAnimatedImage.h - - @property (nonatomic, strong, readwrite) PINAnimatedImageInfoReady infoCompletion - - - //api/name/infoCompletion - - - - - //apple_ref/occ/instp/PINAnimatedImage/infoCompletion - A block to be called on when GIF info has been processed. Status will == PINAnimatedImageStatusInfoProcessed - PINAnimatedImage.h - - @property (nonatomic, strong, readwrite) PINAnimatedImageInfoReady infoCompletion - - - //api/name/infoCompletion - - - - - //apple_ref/occ/instm/PINAnimatedImage/setFileReady: - A block to be called whenever a new file is done being processed. You can start (or resume) playback when you -get this callback, though it's possible for playback to catch up to the decoding and you'll need to pause. - PINAnimatedImage.h - - @property (nonatomic, strong, readwrite) dispatch_block_t fileReady - - - //api/name/fileReady - - - - - //apple_ref/occ/instm/PINAnimatedImage/fileReady - A block to be called whenever a new file is done being processed. You can start (or resume) playback when you -get this callback, though it's possible for playback to catch up to the decoding and you'll need to pause. - PINAnimatedImage.h - - @property (nonatomic, strong, readwrite) dispatch_block_t fileReady - - - //api/name/fileReady - - - - - //apple_ref/occ/instp/PINAnimatedImage/fileReady - A block to be called whenever a new file is done being processed. You can start (or resume) playback when you -get this callback, though it's possible for playback to catch up to the decoding and you'll need to pause. - PINAnimatedImage.h - - @property (nonatomic, strong, readwrite) dispatch_block_t fileReady - - - //api/name/fileReady - - - - - //apple_ref/occ/instm/PINAnimatedImage/setAnimatedImageReady: - A block to be called when the animated image is fully decoded and written to disk. - PINAnimatedImage.h - - @property (nonatomic, strong, readwrite) dispatch_block_t animatedImageReady - - - //api/name/animatedImageReady - - - - - //apple_ref/occ/instm/PINAnimatedImage/animatedImageReady - A block to be called when the animated image is fully decoded and written to disk. - PINAnimatedImage.h - - @property (nonatomic, strong, readwrite) dispatch_block_t animatedImageReady - - - //api/name/animatedImageReady - - - - - //apple_ref/occ/instp/PINAnimatedImage/animatedImageReady - A block to be called when the animated image is fully decoded and written to disk. - PINAnimatedImage.h - - @property (nonatomic, strong, readwrite) dispatch_block_t animatedImageReady - - - //api/name/animatedImageReady - - - - - //apple_ref/occ/instm/PINAnimatedImage/setStatus: - The current status of the animated image. - PINAnimatedImage.h - - @property (nonatomic, assign, readwrite) PINAnimatedImageStatus status - - - //api/name/status - - - - - //apple_ref/occ/instm/PINAnimatedImage/status - The current status of the animated image. - PINAnimatedImage.h - - @property (nonatomic, assign, readwrite) PINAnimatedImageStatus status - - - //api/name/status - - - - - //apple_ref/occ/instp/PINAnimatedImage/status - The current status of the animated image. - PINAnimatedImage.h - - @property (nonatomic, assign, readwrite) PINAnimatedImageStatus status - - - //api/name/status - - - - - //apple_ref/occ/instm/PINAnimatedImage/setCoverImageReady: - A helper function which references status to check if the coverImage is ready. - PINAnimatedImage.h - - @property (nonatomic, readonly) BOOL coverImageReady - - - //api/name/coverImageReady - - - - - //apple_ref/occ/instm/PINAnimatedImage/coverImageReady - A helper function which references status to check if the coverImage is ready. - PINAnimatedImage.h - - @property (nonatomic, readonly) BOOL coverImageReady - - - //api/name/coverImageReady - - - - - //apple_ref/occ/instp/PINAnimatedImage/coverImageReady - A helper function which references status to check if the coverImage is ready. - PINAnimatedImage.h - - @property (nonatomic, readonly) BOOL coverImageReady - - - //api/name/coverImageReady - - - - - //apple_ref/occ/instm/PINAnimatedImage/setPlaybackReady: - A helper function which references status to check if playback is ready. - PINAnimatedImage.h - - @property (nonatomic, readonly) BOOL playbackReady - - - //api/name/playbackReady - - - - - //apple_ref/occ/instm/PINAnimatedImage/playbackReady - A helper function which references status to check if playback is ready. - PINAnimatedImage.h - - @property (nonatomic, readonly) BOOL playbackReady - - - //api/name/playbackReady - - - - - //apple_ref/occ/instp/PINAnimatedImage/playbackReady - A helper function which references status to check if playback is ready. - PINAnimatedImage.h - - @property (nonatomic, readonly) BOOL playbackReady - - - //api/name/playbackReady - - - - - //apple_ref/occ/instm/PINAnimatedImage/setCoverImage: - The first frame / cover image of the animated image. - PINAnimatedImage.h - - @property (nonatomic, readonly) PINImage *coverImage - - - //api/name/coverImage - - - - - //apple_ref/occ/instm/PINAnimatedImage/coverImage - The first frame / cover image of the animated image. - PINAnimatedImage.h - - @property (nonatomic, readonly) PINImage *coverImage - - - //api/name/coverImage - - - - - //apple_ref/occ/instp/PINAnimatedImage/coverImage - The first frame / cover image of the animated image. - PINAnimatedImage.h - - @property (nonatomic, readonly) PINImage *coverImage - - - //api/name/coverImage - - - - - //apple_ref/occ/instm/PINAnimatedImage/setTotalDuration: - The total duration of one loop of playback. - PINAnimatedImage.h - - @property (nonatomic, readonly) CFTimeInterval totalDuration - - - //api/name/totalDuration - - - - - //apple_ref/occ/instm/PINAnimatedImage/totalDuration - The total duration of one loop of playback. - PINAnimatedImage.h - - @property (nonatomic, readonly) CFTimeInterval totalDuration - - - //api/name/totalDuration - - - - - //apple_ref/occ/instp/PINAnimatedImage/totalDuration - The total duration of one loop of playback. - PINAnimatedImage.h - - @property (nonatomic, readonly) CFTimeInterval totalDuration - - - //api/name/totalDuration - - - - - //apple_ref/occ/instm/PINAnimatedImage/setFrameInterval: - The number of frames to play per second * display refresh rate (defined as 60 which appears to be true on iOS). You probably want to -set this value on a displayLink. - PINAnimatedImage.h - - @property (nonatomic, readonly) NSUInteger frameInterval - - - //api/name/frameInterval - - - - - //apple_ref/occ/instm/PINAnimatedImage/frameInterval - The number of frames to play per second * display refresh rate (defined as 60 which appears to be true on iOS). You probably want to -set this value on a displayLink. - PINAnimatedImage.h - - @property (nonatomic, readonly) NSUInteger frameInterval - - - //api/name/frameInterval - - - - - //apple_ref/occ/instp/PINAnimatedImage/frameInterval - The number of frames to play per second * display refresh rate (defined as 60 which appears to be true on iOS). You probably want to -set this value on a displayLink. - PINAnimatedImage.h - - @property (nonatomic, readonly) NSUInteger frameInterval - - - //api/name/frameInterval - - - - - //apple_ref/occ/instm/PINAnimatedImage/setLoopCount: - The number of times to loop the animated image. Returns 0 if looping should occur infinitely. - PINAnimatedImage.h - - @property (nonatomic, readonly) size_t loopCount - - - //api/name/loopCount - - - - - //apple_ref/occ/instm/PINAnimatedImage/loopCount - The number of times to loop the animated image. Returns 0 if looping should occur infinitely. - PINAnimatedImage.h - - @property (nonatomic, readonly) size_t loopCount - - - //api/name/loopCount - - - - - //apple_ref/occ/instp/PINAnimatedImage/loopCount - The number of times to loop the animated image. Returns 0 if looping should occur infinitely. - PINAnimatedImage.h - - @property (nonatomic, readonly) size_t loopCount - - - //api/name/loopCount - - - - - //apple_ref/occ/instm/PINAnimatedImage/setFrameCount: - The total number of frames in the animated image. - PINAnimatedImage.h - - @property (nonatomic, readonly) size_t frameCount - - - //api/name/frameCount - - - - - //apple_ref/occ/instm/PINAnimatedImage/frameCount - The total number of frames in the animated image. - PINAnimatedImage.h - - @property (nonatomic, readonly) size_t frameCount - - - //api/name/frameCount - - - - - //apple_ref/occ/instp/PINAnimatedImage/frameCount - The total number of frames in the animated image. - PINAnimatedImage.h - - @property (nonatomic, readonly) size_t frameCount - - - //api/name/frameCount - - - - - //apple_ref/occ/instm/PINAnimatedImage/imageAtIndex: - The image at the frame index passed in. - PINAnimatedImage.h - - - (CGImageRef)imageAtIndex:(NSUInteger)index - - - index - The index of the frame to retrieve. - - - - //api/name/imageAtIndex: - - - - - //apple_ref/occ/instm/PINAnimatedImage/durationAtIndex: - The duration of the frame of the passed in index. - PINAnimatedImage.h - - - (CFTimeInterval)durationAtIndex:(NSUInteger)index - - - index - The index of the frame to retrieve the duration it should be shown for. - - - - //api/name/durationAtIndex: - - - - - //apple_ref/occ/instm/PINAnimatedImage/clearAnimatedImageCache - Clears out the strong references to any memory maps that are being held. - PINAnimatedImage.h - - - (void)clearAnimatedImageCache - - - //api/name/clearAnimatedImageCache - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens10.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens10.xml deleted file mode 100644 index 4f3c2c9e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens10.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINRemoteImageManagerError - Error codes returned by PINRemoteImage - PINRemoteImageManager.h - - - - - - - - - //apple_ref/c/econst/PINRemoteImageManagerErrorFailedToDecodeImage - The image failed to decode - PINRemoteImageManagerErrorFailedToDecodeImage - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerErrorFailedToFetchImageForProcessing - The image could not be downloaded and therefore could not be processed - PINRemoteImageManagerErrorFailedToFetchImageForProcessing - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerErrorFailedToProcessImage - The image returned by the processor block was nil - PINRemoteImageManagerErrorFailedToProcessImage - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerErrorInvalidItemInCache - The image in the cache was invalid - PINRemoteImageManagerErrorInvalidItemInCache - - PINRemoteImageManager.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens11.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens11.xml deleted file mode 100644 index 7bdc3510..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens11.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINRemoteImageManagerPriority - Priority to download and process image at. - PINRemoteImageManager.h - - - - - - - - - //apple_ref/c/econst/PINRemoteImageManagerPriorityVeryLow - Very low priority - PINRemoteImageManagerPriorityVeryLow - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerPriorityLow - Low priority - PINRemoteImageManagerPriorityLow - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerPriorityMedium - Medium priority - PINRemoteImageManagerPriorityMedium - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerPriorityHigh - High priority - PINRemoteImageManagerPriorityHigh - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerPriorityVeryHigh - Very high priority - PINRemoteImageManagerPriorityVeryHigh - - PINRemoteImageManager.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens12.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens12.xml deleted file mode 100644 index a7fc021f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens12.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINRemoteImageResultType - How the image was fetched. - PINRemoteImageManagerResult.h - - - - - - - - - //apple_ref/c/econst/PINRemoteImageResultTypeNone - Returned if no image is returned - PINRemoteImageResultTypeNone - - PINRemoteImageManagerResult.h - - - - - - //apple_ref/c/econst/PINRemoteImageResultTypeMemoryCache - Image was fetched from the memory cache - PINRemoteImageResultTypeMemoryCache - - PINRemoteImageManagerResult.h - - - - - - //apple_ref/c/econst/PINRemoteImageResultTypeCache - Image was fetched from the disk cache - PINRemoteImageResultTypeCache - - PINRemoteImageManagerResult.h - - - - - - //apple_ref/c/econst/PINRemoteImageResultTypeDownload - Image was downloaded - PINRemoteImageResultTypeDownload - - PINRemoteImageManagerResult.h - - - - - - //apple_ref/c/econst/PINRemoteImageResultTypeProgress - Image is progress - PINRemoteImageResultTypeProgress - - PINRemoteImageManagerResult.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens13.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens13.xml deleted file mode 100644 index f4cec7a8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens13.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINRemoteLockType - The type of lock, either recursive or non-recursive - PINRemoteLock.h - - - - - - - - - //apple_ref/c/econst/PINRemoteLockTypeNonRecursive - A non-recursive version of the lock. The default. - PINRemoteLockTypeNonRecursive - - PINRemoteLock.h - - - - - - //apple_ref/c/econst/PINRemoteLockTypeRecursive - A recursive version of the lock. More expensive. - PINRemoteLockTypeRecursive - - PINRemoteLock.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens14.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens14.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens14.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens15.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens15.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens15.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens16.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens16.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens16.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens17.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens17.xml deleted file mode 100644 index 3fc40bec..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens17.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens2.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens2.xml deleted file mode 100644 index 84694a5b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens2.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - //apple_ref/occ/cl/PINProgressiveImage - An object which store the data of a downloading image and vends progressive scans * - PINProgressiveImage.h - - - - - - - - //apple_ref/occ/instm/PINProgressiveImage/currentImageBlurred:maxProgressiveRenderSize: - Returns the latest image based on thresholds, returns nil if no new image is generated - PINProgressiveImage.h - - - (nullable PINImage *)currentImageBlurred:(BOOL)blurred maxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize - - - blurred - A boolean to indicate if the image should be blurred - - maxProgressiveRenderSize - the maximum dimensions at which to apply a blur. If an image exceeds either the height -or width of this dimension, the image will not be blurred regardless of the blurred parameter. - - - PINImage a progressive scan of the image or nil if a new one has not been generated - //api/name/currentImageBlurred:maxProgressiveRenderSize: - - - - - //apple_ref/occ/instm/PINProgressiveImage/data - Returns the current data for the image. - PINProgressiveImage.h - - - (nullable NSData *)data - - NSData the current data for the image - //api/name/data - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens3.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens3.xml deleted file mode 100644 index b87a35af..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens3.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - //apple_ref/occ/cl/PINRemoteImageCategoryManager - PINRemoteImageCategoryManager is a class that handles subclassing image display classes. PINImage+PINRemoteImage, UIButton+PINRemoteImage, etc, all delegate their work to this class. If you'd like to create a category to display an image on a view, you should mimic one of the above categories. - PINRemoteImageCategoryManager.h - - - - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens4.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens4.xml deleted file mode 100644 index 01c499cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens4.xml +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - //apple_ref/occ/cl/PINRemoteImageManager - An image downloading, processing and caching manager. It uses the concept of download and processing tasks to ensure that even if multiple calls to download or process an image are made, it only occurs one time (unless an item is no longer in the cache). PINRemoteImageManager is backed by GCD and safe to access from multiple threads simultaneously. It ensures that images are decoded off the main thread so that animation performance isn't affected. None of its exposed methods allow for synchronous access. However, it is optimized to call completions on the calling thread if an item is in its memory cache. * - PINRemoteImageManager.h - - - - - - - - //apple_ref/occ/instm/PINRemoteImageManager/initWithSessionConfiguration: - Create and return a PINRemoteImageManager created with the specified configuration. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. Specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. - PINRemoteImageManager.h - - - (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)configuration - - - configuration - The configuration used to create the PINRemoteImageManager. - - - A PINRemoteImageManager with the specified configuration. - //api/name/initWithSessionConfiguration: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/initWithSessionConfiguration:alternativeRepresentationProvider: - Create and return a PINRemoteImageManager with the specified configuration and alternative representation delegate. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. Specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. If alternativeRepresentationProvider is nil, the default is used (and supports FLAnimatedImage). - PINRemoteImageManager.h - - - (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)configuration alternativeRepresentationProvider:(nullable id<PINRemoteImageManagerAlternateRepresentationProvider>)alternateRepDelegate - - - configuration - The configuration used to create the PINRemoteImageManager. - - alternativeRepDelegate - a delegate which conforms to the PINRemoteImageManagerAlternateRepresentationProvider protocol. Provide a delegate if you want to have non image results. @see PINAlternativeRepresentationDelaget for an example. - - - A PINRemoteImageManager with the specified configuration. - //api/name/initWithSessionConfiguration:alternativeRepresentationProvider: - - - - - //apple_ref/occ/clm/PINRemoteImageManager/sharedImageManager - Get the shared instance of PINRemoteImageManager - PINRemoteImageManager.h - - + (nonnull instancetype)sharedImageManager - - Shared instance of PINRemoteImageManager - //api/name/sharedImageManager - - - - - //apple_ref/occ/clm/PINRemoteImageManager/setSharedImageManagerWithConfiguration: - Sets the shared instance of PINRemoteImageManager to an instance with the supplied configuration. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. You specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. This method should not be used if the shared instance has already been created. - PINRemoteImageManager.h - - + (void)setSharedImageManagerWithConfiguration:(nullable NSURLSessionConfiguration *)configuration - - - configuration - The configuration used to create the PINRemoteImageManager. - - - - //api/name/setSharedImageManagerWithConfiguration: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/defaultImageCache - The result of this method is assigned to self.cache in init. If you wish to provide a customized cache to the manager you can subclass PINRemoteImageManager and return a custom PINCache from this method. - PINRemoteImageManager.h - - - (nonnull PINCache *)defaultImageCache - - An instance of a PINCache object. - //api/name/defaultImageCache - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setAuthenticationChallenge: - Set the Authentication Challenge Block. - PINRemoteImageManager.h - - - (void)setAuthenticationChallenge:(nullable PINRemoteImageManagerAuthenticationChallenge)challengeBlock - - - challengeBlock - A PINRemoteImageManagerAuthenticationChallenge block. - - - - //api/name/setAuthenticationChallenge: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setHighQualityBPSThreshold:completion: - Set the minimum BPS to download the highest quality image in a set. - PINRemoteImageManager.h - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURLs:options:progressImage:completion: - - - - - (void)setHighQualityBPSThreshold:(float)highQualityBPSThreshold completion:(nullable dispatch_block_t)completion - - - highQualityBPSThreshold - bytes per second minimum. Defaults to 500000. - - completion - Completion to be called once highQualityBPSThreshold has been set. - - - - //api/name/setHighQualityBPSThreshold:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setLowQualityBPSThreshold:completion: - Set the maximum BPS to download the lowest quality image in a set. - PINRemoteImageManager.h - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURLs:options:progressImage:completion: - - - - - (void)setLowQualityBPSThreshold:(float)lowQualityBPSThreshold completion:(nullable dispatch_block_t)completion - - - lowQualityBPSThreshold - bytes per second maximum. Defaults to 50000. - - completion - Completion to be called once lowQualityBPSThreshold has been set. - - - - //api/name/setLowQualityBPSThreshold:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setShouldUpgradeLowQualityImages:completion: - Set whether high quality images should be downloaded when a low quality image is cached if network connectivity has improved. - PINRemoteImageManager.h - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURLs:options:progressImage:completion: - - - - - (void)setShouldUpgradeLowQualityImages:(BOOL)shouldUpgradeLowQualityImages completion:(nullable dispatch_block_t)completion - - - shouldUpgradeLowQualityImages - if YES, low quality images will be 'upgraded'. - - completion - Completion to be called once shouldUpgradeLowQualityImages has been set. - - - - //api/name/setShouldUpgradeLowQualityImages:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setMaxNumberOfConcurrentOperations:completion: - Set the maximum number of concurrent operations (decompressing images, creating gifs, etc). - PINRemoteImageManager.h - - - (void)setMaxNumberOfConcurrentOperations:(NSInteger)maxNumberOfConcurrentOperations completion:(nullable dispatch_block_t)completion - - - maxNumberOfConcurrentOperations - The maximum number of concurrent operations. Defaults to NSOperationQueueDefaultMaxConcurrentOperationCount. - - completion - Completion to be called once maxNumberOfConcurrentOperations is set. - - - - //api/name/setMaxNumberOfConcurrentOperations:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setMaxNumberOfConcurrentDownloads:completion: - Set the maximum number of concurrent downloads. - PINRemoteImageManager.h - - - (void)setMaxNumberOfConcurrentDownloads:(NSInteger)maxNumberOfConcurrentDownloads completion:(nullable dispatch_block_t)completion - - - maxNumberOfConcurrentDownloads - The maximum number of concurrent downloads. Defaults to 10. - - completion - Completion to be called once maxNumberOfConcurrentDownloads is set. - - - - //api/name/setMaxNumberOfConcurrentDownloads:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setEstimatedRemainingTimeThresholdForProgressiveDownloads:completion: - Set the estimated time remaining to download threshold at which to generate progressive images. Progressive images previews will only be generated if the estimated remaining time on a download is greater than estimatedTimeRemainingThreshold. If estimatedTimeRemainingThreshold is less than zero, this check is skipped. - PINRemoteImageManager.h - - - (void)setEstimatedRemainingTimeThresholdForProgressiveDownloads:(NSTimeInterval)estimatedRemainingTimeThreshold completion:(nullable dispatch_block_t)completion - - - estimatedRemainingTimeThreshold - The estimated remaining time threshold used to decide to skip progressive rendering. Defaults to 0.1. - - completion - Completion to be called once estimatedTimeRemainingTimeThreshold is set. - - - - //api/name/setEstimatedRemainingTimeThresholdForProgressiveDownloads:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setProgressThresholds:completion: - Sets the progress at which progressive images are generated. By default this is @[@0.00, @0.35, @0.65] which generates at most, 3 progressive images. The first progressive image will only be generated when at least one scan has been completed (so you never see half an image). - PINRemoteImageManager.h - - - (void)setProgressThresholds:(nonnull NSArray<NSNumber*> *)progressThresholds completion:(nullable dispatch_block_t)completion - - - progressThresholds - an array of progress thresholds at which to generate progressive images. progress thresholds should range from 0.00 - 1.00. Defaults to @[@0.00, @0.35, @0.65] - - completion - Completion to be called once progressThresholds is set. - - - - //api/name/setProgressThresholds:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setProgressiveRendersShouldBlur:completion: - Sets whether PINRemoteImage should blur progressive render results - PINRemoteImageManager.h - - - (void)setProgressiveRendersShouldBlur:(BOOL)shouldBlur completion:(nullable dispatch_block_t)completion - - - shouldBlur - A bool value indicating whether PINRemoteImage should blur progressive render results - - completion - Completion to be called once progressThresholds is set. - - - - //api/name/setProgressiveRendersShouldBlur:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setProgressiveRendersMaxProgressiveRenderSize:completion: - Sets the maximum size of an image that PINRemoteImage will blur. If the image is too large, blurring is skipped - PINRemoteImageManager.h - - - (void)setProgressiveRendersMaxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize completion:(nullable dispatch_block_t)completion - - - maxProgressiveRenderSize - A CGSize which indicates the max size PINRemoteImage will render a progressive image. If an image is larger in either dimension, progressive rendering will be skipped - - completion - Completion to be called once maxProgressiveRenderSize is set. - - - - //api/name/setProgressiveRendersMaxProgressiveRenderSize:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/prefetchImageWithURL: - Prefetch an image at the given URL. - PINRemoteImageManager.h - - - (void)prefetchImageWithURL:(nonnull NSURL *)url - - - url - NSURL where the image to prefetch resides. - - - - //api/name/prefetchImageWithURL: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/prefetchImageWithURL:options: - Prefetch an image at the given URL with given options. - PINRemoteImageManager.h - - - (void)prefetchImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options - - - url - NSURL where the image to prefetch resides. - - options - PINRemoteImageManagerDownloadOptions options with which to pefetch the image. - - - - //api/name/prefetchImageWithURL:options: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/prefetchImagesWithURLs: - Prefetch images at the given URLs. - PINRemoteImageManager.h - - - (void)prefetchImagesWithURLs:(nonnull NSArray<NSURL*> *)urls - - - urls - An array of NSURLs where the images to prefetch reside. - - - - //api/name/prefetchImagesWithURLs: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/prefetchImagesWithURLs:options: - Prefetch images at the given URLs with given options. - PINRemoteImageManager.h - - - (void)prefetchImagesWithURLs:(nonnull NSArray<NSURL*> *)urls options:(PINRemoteImageManagerDownloadOptions)options - - - urls - An array of NSURLs where the images to prefetch reside. - - options - PINRemoteImageManagerDownloadOptions options with which to pefetch the image. - - - - //api/name/prefetchImagesWithURLs:options: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURL:completion: - Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - PINRemoteImageManager.h - - - (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL where the image to download resides. - - completion - PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - - An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - //api/name/downloadImageWithURL:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURL:options:completion: - Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - PINRemoteImageManager.h - - - (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL where the image to download resides. - - options - PINRemoteImageManagerDownloadOptions options with which to fetch the image. - - completion - PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - - An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - //api/name/downloadImageWithURL:options:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURL:options:progressImage:completion: - Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - PINRemoteImageManager.h - - - (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL where the image to download resides. - - options - PINRemoteImageManagerDownloadOptions options with which to fetch the image. - - progressImage - PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download. - - completion - PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - - An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - //api/name/downloadImageWithURL:options:progressImage:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURL:options:progressDownload:completion: - Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - PINRemoteImageManager.h - - - (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL where the image to download resides. - - options - PINRemoteImageManagerDownloadOptions options with which to fetch the image. - - progressDownload - PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first. - - completion - PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - - An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - //api/name/downloadImageWithURL:options:progressDownload:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURL:options:progressImage:progressDownload:completion: - Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - PINRemoteImageManager.h - - - (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL where the image to download resides. - - options - PINRemoteImageManagerDownloadOptions options with which to fetch the image. - - progressImage - PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download. - - progressDownload - PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first. - - completion - PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - - An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - //api/name/downloadImageWithURL:options:progressImage:progressDownload:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURL:options:processorKey:processor:completion: - Download or retrieve from cache the image found at the url and process it before calling completion. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - PINRemoteImageManager.h - - - (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL where the image to download resides. - - options - PINRemoteImageManagerDownloadOptions options with which to fetch the image. - - processorKey - NSString key to uniquely identify processor and process. Will be used for caching processed images. - - processor - PINRemoteImageManagerImageProcessor block which will be called to post-process downloaded image. - - completion - PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - - An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - //api/name/downloadImageWithURL:options:processorKey:processor:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURL:options:processorKey:processor:progressDownload:completion: - Download or retrieve from cache the image found at the url and process it before calling completion. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - PINRemoteImageManager.h - - - (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL where the image to download resides. - - options - PINRemoteImageManagerDownloadOptions options with which to fetch the image. - - processorKey - NSString key to uniquely identify processor and process. Will be used for caching processed images. - - processor - PINRemoteImageManagerImageProcessor block which will be called to post-process downloaded image. - - progressDownload - PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first. - - completion - PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - - An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - //api/name/downloadImageWithURL:options:processorKey:processor:progressDownload:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/downloadImageWithURLs:options:progressImage:completion: - Download or retrieve from cache one of the images found at the urls in the passed in array based on current network performance. URLs should be sorted from lowest quality image URL to highest. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory). - PINRemoteImageManager.h - - - (nullable NSUUID *)downloadImageWithURLs:(nonnull NSArray<NSURL*> *)urls options:(PINRemoteImageManagerDownloadOptions)options progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - urls - An array of NSURLs of increasing size. - - options - PINRemoteImageManagerDownloadOptions options with which to fetch the image. - - progressImage - PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download. - - completion - PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded. - - - An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example). - //api/name/downloadImageWithURLs:options:progressImage:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/cacheKeyForURL:processorKey: - Returns the cacheKey for a given URL and processorKey. Exposed to be overridden if necessary or to be used with imageFromCacheWithCacheKey - PINRemoteImageManager.h - - - //apple_ref/occ/instm/PINRemoteImageManager/imageFromCacheWithCacheKey:completion: - - - - - (nonnull NSString *)cacheKeyForURL:(nonnull NSURL *)url processorKey:(nullable NSString *)processorKey - - - url - NSURL to be downloaded - - processorKey - NSString key to uniquely identify processor and process. - - - returns an NSString which is the key used for caching. - //api/name/cacheKeyForURL:processorKey: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/imageFromCacheWithCacheKey:completion: - imageFromCacheWithCacheKey:options:completion: instead -@deprecated - PINRemoteImageManager.h - - - //apple_ref/occ/instm/PINRemoteImageManager/imageFromCacheWithCacheKey:options:completion: - - - - - (void)imageFromCacheWithCacheKey:(nonnull NSString *)cacheKey completion:(nonnull PINRemoteImageManagerImageCompletion)completion - - - cacheKey - NSString key to look up image in the cache. - - completion - PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache. - - - - //api/name/imageFromCacheWithCacheKey:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/imageFromCacheWithCacheKey:options:completion: - Directly get an image from the underlying cache. - PINRemoteImageManager.h - - - //apple_ref/occ/instm/PINRemoteImageManager/cacheKeyForURL:processorKey: - - - - - (void)imageFromCacheWithCacheKey:(nonnull NSString *)cacheKey options:(PINRemoteImageManagerDownloadOptions)options completion:(nonnull PINRemoteImageManagerImageCompletion)completion - - - cacheKey - NSString key to look up image in the cache. - - options - options will be used to determine if the cached image should be decompressed or FLAnimatedImages should be returned. - - completion - PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache. - - - - //api/name/imageFromCacheWithCacheKey:options:completion: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/synchronousImageFromCacheWithCacheKey:options: - Directly get an image from the underlying memory cache synchronously. - PINRemoteImageManager.h - - - //apple_ref/occ/instm/PINRemoteImageManager/cacheKeyForURL:processorKey: - - - - - (nonnull PINRemoteImageManagerResult *)synchronousImageFromCacheWithCacheKey:(nonnull NSString *)cacheKey options:(PINRemoteImageManagerDownloadOptions)options - - - cacheKey - NSString key to look up image in the cache. - - options - options will be used to determine if the cached image should be decompressed or FLAnimatedImages should be returned. - - - A PINRemoteImageManagerResult - //api/name/synchronousImageFromCacheWithCacheKey:options: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/cancelTaskWithUUID: - Cancel a download. Canceling will only cancel the download if all other downloads are also canceled with their associated UUIDs. Canceling does not guarantee that your completion will not be called. You can use the UUID provided on the result object verify the completion you want called is being called. - PINRemoteImageManager.h - - - //apple_ref/occ/cl/PINRemoteImageCategoryManager - - - - - (void)cancelTaskWithUUID:(nonnull NSUUID *)UUID - - - UUID - NSUUID of the task to cancel. - - - - //api/name/cancelTaskWithUUID: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setPriority:ofTaskWithUUID: - Set the priority of a download task. Since there is only one task per download, the priority of the download task will always be the last priority this method was called with. - PINRemoteImageManager.h - - - (void)setPriority:(PINRemoteImageManagerPriority)priority ofTaskWithUUID:(nonnull NSUUID *)UUID - - - priority - priority to set on the task. - - UUID - NSUUID of the task to set the priority on. - - - - //api/name/setPriority:ofTaskWithUUID: - - - - - //apple_ref/occ/instm/PINRemoteImageManager/setProgressImageCallback:ofTaskWithUUID: - set the progress callback on a download task. You can use this to add progress callbacks or remove them for in flight downloads - PINRemoteImageManager.h - - - (void)setProgressImageCallback:(nullable PINRemoteImageManagerImageCompletion)progressImageCallback ofTaskWithUUID:(nonnull NSUUID *)UUID - - - progressImageCallback - a PINRemoteImageManagerImageCompletion block to be called with a progress update - - UUID - NSUUID of the task to set the priority on. - - - - //api/name/setProgressImageCallback:ofTaskWithUUID: - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens5.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens5.xml deleted file mode 100644 index 812bc730..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens5.xml +++ /dev/null @@ -1,339 +0,0 @@ - - - - - - //apple_ref/occ/intf/PINRemoteImageCategory - Protocol to implement on UIView subclasses to support PINRemoteImage - PINRemoteImageCategoryManager.h - - - - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURL: - Set the image from the given URL. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURL:(nullable NSURL *)url - - - url - NSURL to fetch from. - - - - //api/name/pin_setImageFromURL: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURL:placeholderImage: - Set the image from the given URL and set placeholder image while image at URL is being retrieved. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage - - - url - NSURL to fetch from. - - placeholderImage - PINImage to set on the view while the image at URL is being retrieved. - - - - //api/name/pin_setImageFromURL:placeholderImage: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURL:completion: - Set the image from the given URL and call completion when finished. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURL:(nullable NSURL *)url completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL to fetch from. - - completion - Called when url has been retrieved and set on view. - - - - //api/name/pin_setImageFromURL:completion: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURL:placeholderImage:completion: - Set the image from the given URL, set placeholder while image at url is being retrieved and call completion when finished. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL to fetch from. - - placeholderImage - PINImage to set on the view while the image at URL is being retrieved. - - completion - Called when url has been retrieved and set on view. - - - - //api/name/pin_setImageFromURL:placeholderImage:completion: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURL:processorKey:processor: - Retrieve the image from the given URL, process it using the passed in processor block and set result on view. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURL:(nullable NSURL *)url processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor - - - url - NSURL to fetch from. - - processorKey - NSString key to uniquely identify processor. Used in caching. - - processor - PINRemoteImageManagerImageProcessor processor block which should return the processed image. - - - - //api/name/pin_setImageFromURL:processorKey:processor: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURL:placeholderImage:processorKey:processor: - Set placeholder on view and retrieve the image from the given URL, process it using the passed in processor block and set result on view. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor - - - url - NSURL to fetch from. - - placeholderImage - PINImage to set on the view while the image at URL is being retrieved. - - processorKey - NSString key to uniquely identify processor. Used in caching. - - processor - PINRemoteImageManagerImageProcessor processor block which should return the processed image. - - - - //api/name/pin_setImageFromURL:placeholderImage:processorKey:processor: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURL:processorKey:processor:completion: - Retrieve the image from the given URL, process it using the passed in processor block and set result on view. Call completion after image has been fetched, processed and set on view. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURL:(nullable NSURL *)url processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL to fetch from. - - processorKey - NSString key to uniquely identify processor. Used in caching. - - processor - PINRemoteImageManagerImageProcessor processor block which should return the processed image. - - completion - Called when url has been retrieved and set on view. - - - - //api/name/pin_setImageFromURL:processorKey:processor:completion: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURL:placeholderImage:processorKey:processor:completion: - Set placeholder on view and retrieve the image from the given URL, process it using the passed in processor block and set result on view. Call completion after image has been fetched, processed and set on view. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - url - NSURL to fetch from. - - placeholderImage - PINImage to set on the view while the image at URL is being retrieved. - - processorKey - NSString key to uniquely identify processor. Used in caching. - - processor - PINRemoteImageManagerImageProcessor processor block which should return the processed image. - - completion - Called when url has been retrieved and set on view. - - - - //api/name/pin_setImageFromURL:placeholderImage:processorKey:processor:completion: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURLs: - Retrieve one of the images at the passed in URLs depending on previous network performance and set result on view. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURLs:(nullable NSArray<NSURL*> *)urls - - - urls - NSArray of NSURLs sorted in increasing quality - - - - //api/name/pin_setImageFromURLs: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURLs:placeholderImage: - Set placeholder on view and retrieve one of the images at the passed in URLs depending on previous network performance and set result on view. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURLs:(nullable NSArray<NSURL*> *)urls placeholderImage:(nullable PINImage *)placeholderImage - - - urls - NSArray of NSURLs sorted in increasing quality - - placeholderImage - PINImage to set on the view while the image at URL is being retrieved. - - - - //api/name/pin_setImageFromURLs:placeholderImage: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setImageFromURLs:placeholderImage:completion: - Set placeholder on view and retrieve one of the images at the passed in URLs depending on previous network performance and set result on view. Call completion after image has been fetched and set on view. - PINRemoteImageCategoryManager.h - - - (void)pin_setImageFromURLs:(nullable NSArray<NSURL*> *)urls placeholderImage:(nullable PINImage *)placeholderImage completion:(nullable PINRemoteImageManagerImageCompletion)completion - - - urls - NSArray of NSURLs sorted in increasing quality - - placeholderImage - PINImage to set on the view while the image at URL is being retrieved. - - completion - Called when url has been retrieved and set on view. - - - - //api/name/pin_setImageFromURLs:placeholderImage:completion: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_cancelImageDownload - Cancels the image download. Guarantees that previous setImage calls will not have their results set on the image view after calling this (as opposed to PINRemoteImageManager which does not guarantee cancellation). - PINRemoteImageCategoryManager.h - - - (void)pin_cancelImageDownload - - - //api/name/pin_cancelImageDownload - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_downloadImageOperationUUID - Returns the NSUUID associated with any PINRemoteImage task currently running on the view. - PINRemoteImageCategoryManager.h - - - (nullable NSUUID *)pin_downloadImageOperationUUID - - NSUUID associated with any PINRemoteImage task currently running on the view. - //api/name/pin_downloadImageOperationUUID - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_setDownloadImageOperationUUID: - Set the current NSUUID associated with a PINRemoteImage task running on the view. - PINRemoteImageCategoryManager.h - - - (void)pin_setDownloadImageOperationUUID:(nullable NSUUID *)downloadImageOperationUUID - - - downloadImageOperationUUID - NSUUID associated with a PINRemoteImage task. - - - - //api/name/pin_setDownloadImageOperationUUID: - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/setPin_updateWithProgress: - Whether the view should update with progress images (such as those provided by progressive JPEG images). - PINRemoteImageCategoryManager.h - - @property (nonatomic, assign) BOOL pin_updateWithProgress - - BOOL value indicating whether the view should update with progress images - //api/name/pin_updateWithProgress - - - - - //apple_ref/occ/intfm/PINRemoteImageCategory/pin_updateWithProgress - Whether the view should update with progress images (such as those provided by progressive JPEG images). - PINRemoteImageCategoryManager.h - - @property (nonatomic, assign) BOOL pin_updateWithProgress - - BOOL value indicating whether the view should update with progress images - //api/name/pin_updateWithProgress - - - - - //apple_ref/occ/intfp/PINRemoteImageCategory/pin_updateWithProgress - Whether the view should update with progress images (such as those provided by progressive JPEG images). - PINRemoteImageCategoryManager.h - - @property (nonatomic, assign) BOOL pin_updateWithProgress - - BOOL value indicating whether the view should update with progress images - //api/name/pin_updateWithProgress - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens6.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens6.xml deleted file mode 100644 index c21f6c1f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens6.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - //apple_ref/occ/intf/PINRemoteImageManagerAlternateRepresentationProvider - - PINAlternateRepresentationProvider.h - - - - - - - - //apple_ref/occ/intfm/PINRemoteImageManagerAlternateRepresentationProvider/alternateRepresentationWithData:options: - This method will be called with data off the wire or stored in the cache. Return an object to have it returned as the alternativeRepresentation object in the PINRemoteImageManagerResult. @warning this method can be called on the main thread, be careful of doing expensive work. - PINAlternateRepresentationProvider.h - - - (id)alternateRepresentationWithData:(NSData *)data options:(PINRemoteImageManagerDownloadOptions)options - - - //api/name/alternateRepresentationWithData:options: - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens7.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens7.xml deleted file mode 100644 index 342051ee..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens7.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINAnimatedImageError - PINAnimatedImage decoding and processing errors. - PINAnimatedImage.h - - - - - - - - - //apple_ref/c/econst/PINAnimatedImageErrorNoError - No error, yay! - PINAnimatedImageErrorNoError - - PINAnimatedImage.h - - - - - - //apple_ref/c/econst/PINAnimatedImageErrorFileCreationError - Could not create a necessary file. - PINAnimatedImageErrorFileCreationError - - PINAnimatedImage.h - - - - - - //apple_ref/c/econst/PINAnimatedImageErrorFileHandleError - Could not get a file handle to the necessary file. - PINAnimatedImageErrorFileHandleError - - PINAnimatedImage.h - - - - - - //apple_ref/c/econst/PINAnimatedImageErrorImageFrameError - Could not decode the image. - PINAnimatedImageErrorImageFrameError - - PINAnimatedImage.h - - - - - - //apple_ref/c/econst/PINAnimatedImageErrorMappingError - Could not memory map the file. - PINAnimatedImageErrorMappingError - - PINAnimatedImage.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens8.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens8.xml deleted file mode 100644 index 05c53a7c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens8.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINAnimatedImageStatus - The processing status of the animated image. - PINAnimatedImage.h - - - - - - - - - //apple_ref/c/econst/PINAnimatedImageStatusUnprocessed - No work has been done. - PINAnimatedImageStatusUnprocessed - - PINAnimatedImage.h - - - - - - //apple_ref/c/econst/PINAnimatedImageStatusInfoProcessed - Info about the animated image and the cover image are available. - PINAnimatedImageStatusInfoProcessed - - PINAnimatedImage.h - - - - - - //apple_ref/c/econst/PINAnimatedImageStatusFirstFileProcessed - At least one set of frames has been decoded to a file. It's safe to start playback. - PINAnimatedImageStatusFirstFileProcessed - - PINAnimatedImage.h - - - - - - //apple_ref/c/econst/PINAnimatedImageStatusProcessed - The entire animated image has been processed. - PINAnimatedImageStatusProcessed - - PINAnimatedImage.h - - - - - - //apple_ref/c/econst/PINAnimatedImageStatusCanceled - Processing was canceled. - PINAnimatedImageStatusCanceled - - PINAnimatedImage.h - - - - - - //apple_ref/c/econst/PINAnimatedImageStatusError - There was an error in processing. - PINAnimatedImageStatusError - - PINAnimatedImage.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens9.xml b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens9.xml deleted file mode 100644 index 5f3c1001..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/Tokens9.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - //apple_ref/c/tdef/PINRemoteImageManagerDownloadOptions - Options with which to download and process images - PINRemoteImageManager.h - - - - - - - - - //apple_ref/c/econst/PINRemoteImageManagerDownloadOptionsNone - Download and process with default options (no other options set) - PINRemoteImageManagerDownloadOptionsNone - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerDisallowAlternateRepresentations - Set to disallow any alternate representations such as FLAnimatedImage - PINRemoteImageManagerDisallowAlternateRepresentations - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerDownloadOptionsSkipDecode - Skip decoding the image before returning. This means smaller images returned, but images will be decoded on the main thread when set on an image view - PINRemoteImageManagerDownloadOptionsSkipDecode - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerDownloadOptionsSkipEarlyCheck - Skip the early check of the memory cache - PINRemoteImageManagerDownloadOptionsSkipEarlyCheck - - PINRemoteImageManager.h - - - - - - //apple_ref/c/econst/PINRemoteImageManagerSaveProcessedImageAsJPEG - Save processed images as JPEGs in the cache. The default is PNG to support transparency - PINRemoteImageManagerSaveProcessedImageAsJPEG - - PINRemoteImageManager.h - - - - - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.dsidx b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.dsidx deleted file mode 100644 index 08f16edb..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.dsidx and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.dsidx-shm b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.dsidx-shm deleted file mode 100644 index 09867808..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.dsidx-shm and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.dsidx-wal b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.dsidx-wal deleted file mode 100644 index efb85a47..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.dsidx-wal and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.mom b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.mom deleted file mode 100644 index 35b91bd9..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.mom and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.skidx b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.skidx deleted file mode 100644 index 004daf67..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.skidx and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.toc b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.toc deleted file mode 100644 index cdab41a0..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.toc and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.tokencache b/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.tokencache deleted file mode 100644 index 0bf065d8..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/com.pinterest.PINRemoteImage-1.0.docset/Contents/Resources/docSet.tokencache and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINAnimatedImageDecodedPath.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINAnimatedImageDecodedPath.html deleted file mode 100644 index 2db4658c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINAnimatedImageDecodedPath.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - PINAnimatedImageDecodedPath Block Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImageDecodedPath Block Reference

- - -
- - - - -
Declared inPINAnimatedImageManager.h
- - - - - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINAnimatedImageInfoReady.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINAnimatedImageInfoReady.html deleted file mode 100644 index e4c9ff50..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINAnimatedImageInfoReady.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - PINAnimatedImageInfoReady Block Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImageInfoReady Block Reference

- - -
- - - - -
Declared inPINAnimatedImage.h
- - - - - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINAnimatedImageSharedReady.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINAnimatedImageSharedReady.html deleted file mode 100644 index dcc2cd2c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINAnimatedImageSharedReady.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - PINAnimatedImageSharedReady Block Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImageSharedReady Block Reference

- - -
- - - - -
Declared inPINAnimatedImageManager.h
- - - - - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINRemoteImageManagerImageCompletion.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINRemoteImageManagerImageCompletion.html deleted file mode 100644 index 6124658a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Blocks/PINRemoteImageManagerImageCompletion.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - PINRemoteImageManagerImageCompletion Block Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManagerImageCompletion Block Reference

- - -
- - - - -
Declared inPINRemoteImageManager.h
- - - - - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINAnimatedImage.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINAnimatedImage.html deleted file mode 100644 index 51718d59..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINAnimatedImage.html +++ /dev/null @@ -1,817 +0,0 @@ - - - - - - PINAnimatedImage Class Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImage Class Reference

- - -
- - - - - - - -
Inherits fromNSObject
Declared inPINAnimatedImage.h
- - - - -
- -

Overview

-

PINAnimatedImage is a class which decodes GIFs to memory mapped files on disk. Like PINRemoteImageManager, -it will only decode a GIF one time, regardless of the number of the number of PINAnimatedImages created with -the same NSData.

- -

PINAnimatedImage’s are also decoded chunks at a time, writing each chunk to a separate file. This allows callback -and playback to start before the GIF is completely decoded. If a frame is requested beyond what has been processed, -nil will be returned. Because a fileReady is called on each chunk completion, you can pause playback if you hit a nil -frame until you receive another fileReady call.

- -

Internally, PINAnimatedImage attempts to keep only the files it needs open – the last file associated with the requested -frame and the one after (to prime).

- -

It’s important to note that until infoCompletion is called, it is unsafe to access many of the methods on PINAnimatedImage.

-
- - - - - -
- - - - - - -
-
- -

  infoCompletion -

- -
-
- -
- - -
-

A block to be called on when GIF info has been processed. Status will == PINAnimatedImageStatusInfoProcessed

-
- - - -
@property (nonatomic, strong, readwrite) PINAnimatedImageInfoReady infoCompletion
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  fileReady -

- -
-
- -
- - -
-

A block to be called whenever a new file is done being processed. You can start (or resume) playback when you -get this callback, though it’s possible for playback to catch up to the decoding and you’ll need to pause.

-
- - - -
@property (nonatomic, strong, readwrite) dispatch_block_t fileReady
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  animatedImageReady -

- -
-
- -
- - -
-

A block to be called when the animated image is fully decoded and written to disk.

-
- - - -
@property (nonatomic, strong, readwrite) dispatch_block_t animatedImageReady
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  status -

- -
-
- -
- - -
-

The current status of the animated image.

-
- - - -
@property (nonatomic, assign, readwrite) PINAnimatedImageStatus status
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  coverImageReady -

- -
-
- -
- - -
-

A helper function which references status to check if the coverImage is ready.

-
- - - -
@property (nonatomic, readonly) BOOL coverImageReady
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  playbackReady -

- -
-
- -
- - -
-

A helper function which references status to check if playback is ready.

-
- - - -
@property (nonatomic, readonly) BOOL playbackReady
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  coverImage -

- -
-
- -
- - -
-

The first frame / cover image of the animated image.

-
- - - -
@property (nonatomic, readonly) PINImage *coverImage
- - - - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined. You can check coverImageReady too.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  totalDuration -

- -
-
- -
- - -
-

The total duration of one loop of playback.

-
- - - -
@property (nonatomic, readonly) CFTimeInterval totalDuration
- - - - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  frameInterval -

- -
-
- -
- - -
-

The number of frames to play per second * display refresh rate (defined as 60 which appears to be true on iOS). You probably want to -set this value on a displayLink.

-
- - - -
@property (nonatomic, readonly) NSUInteger frameInterval
- - - - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  loopCount -

- -
-
- -
- - -
-

The number of times to loop the animated image. Returns 0 if looping should occur infinitely.

-
- - - -
@property (nonatomic, readonly) size_t loopCount
- - - - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

  frameCount -

- -
-
- -
- - -
-

The total number of frames in the animated image.

-
- - - -
@property (nonatomic, readonly) size_t frameCount
- - - - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

– imageAtIndex: -

- -
-
- -
- - -
-

The image at the frame index passed in.

-
- - - -
- (CGImageRef)imageAtIndex:(NSUInteger)index
- - - -
-

Parameters

- - - - - - - -
index

The index of the frame to retrieve.

-
- - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

– durationAtIndex: -

- -
-
- -
- - -
-

The duration of the frame of the passed in index.

-
- - - -
- (CFTimeInterval)durationAtIndex:(NSUInteger)index
- - - -
-

Parameters

- - - - - - - -
index

The index of the frame to retrieve the duration it should be shown for.

-
- - - - - - - -
-

Discussion

-

Warning: Access to this property before status == PINAnimatedImageStatusInfoProcessed is undefined.

-
- - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
- -

– clearAnimatedImageCache -

- -
-
- -
- - -
-

Clears out the strong references to any memory maps that are being held.

-
- - - -
- (void)clearAnimatedImageCache
- - - - - - - - - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - -
-
-
-
- -
- - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINProgressiveImage.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINProgressiveImage.html deleted file mode 100644 index a3fc266f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINProgressiveImage.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - PINProgressiveImage Class Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINProgressiveImage Class Reference

- - -
- - - - - - - -
Inherits fromNSObject
Declared inPINProgressiveImage.h
- - - - -
- -

Overview

-

An object which store the data of a downloading image and vends progressive scans *

-
- - - - - -
- - - - - - -
-
- -

– currentImageBlurred:maxProgressiveRenderSize: -

- -
-
- -
- - -
-

Returns the latest image based on thresholds, returns nil if no new image is generated

-
- - - -
- (nullable PINImage *)currentImageBlurred:(BOOL)blurred maxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize
- - - -
-

Parameters

- - - - - - - - - - - - -
blurred

A boolean to indicate if the image should be blurred

maxProgressiveRenderSize

the maximum dimensions at which to apply a blur. If an image exceeds either the height -or width of this dimension, the image will not be blurred regardless of the blurred parameter.

-
- - - -
-

Return Value

-

PINImage a progressive scan of the image or nil if a new one has not been generated

-
- - - - - - - - - - - -
-

Declared In

-

PINProgressiveImage.h

-
- - -
-
-
- -

– data -

- -
-
- -
- - -
-

Returns the current data for the image.

-
- - - -
- (nullable NSData *)data
- - - - - -
-

Return Value

-

NSData the current data for the image

-
- - - - - - - - - - - -
-

Declared In

-

PINProgressiveImage.h

-
- - -
-
-
-
- -
- - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINRemoteImageCategoryManager.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINRemoteImageCategoryManager.html deleted file mode 100644 index ac62a079..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINRemoteImageCategoryManager.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - PINRemoteImageCategoryManager Class Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageCategoryManager Class Reference

- - -
- - - - - - - -
Inherits fromNSObject
Declared inPINRemoteImageCategoryManager.h
- - - - -
- -

Overview

-

PINRemoteImageCategoryManager is a class that handles subclassing image display classes. PINImage+PINRemoteImage, UIButton+PINRemoteImage, etc, all delegate their work to this class. If you’d like to create a category to display an image on a view, you should mimic one of the above categories.

-
- - - - - - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINRemoteImageManager.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINRemoteImageManager.html deleted file mode 100644 index 2d6d88d3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Classes/PINRemoteImageManager.html +++ /dev/null @@ -1,2357 +0,0 @@ - - - - - - PINRemoteImageManager Class Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManager Class Reference

- - -
- - - - - - - -
Inherits fromNSObject
Declared inPINRemoteImageManager.h
- - - - -
- -

Overview

-

An image downloading, processing and caching manager. It uses the concept of download and processing tasks to ensure that even if multiple calls to download or process an image are made, it only occurs one time (unless an item is no longer in the cache). PINRemoteImageManager is backed by GCD and safe to access from multiple threads simultaneously. It ensures that images are decoded off the main thread so that animation performance isn’t affected. None of its exposed methods allow for synchronous access. However, it is optimized to call completions on the calling thread if an item is in its memory cache. *

-
- - - - - -
- - - - - - -
-
- -

– initWithSessionConfiguration: -

- -
-
- -
- - -
-

Create and return a PINRemoteImageManager created with the specified configuration. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. Specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc.

-
- - - -
- (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)configuration
- - - -
-

Parameters

- - - - - - - -
configuration

The configuration used to create the PINRemoteImageManager.

-
- - - -
-

Return Value

-

A PINRemoteImageManager with the specified configuration.

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– initWithSessionConfiguration:alternativeRepresentationProvider: -

- -
-
- -
- - -
-

Create and return a PINRemoteImageManager with the specified configuration and alternative representation delegate. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. Specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. If alternativeRepresentationProvider is nil, the default is used (and supports FLAnimatedImage).

-
- - - -
- (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)configuration alternativeRepresentationProvider:(nullable id<PINRemoteImageManagerAlternateRepresentationProvider>)alternateRepDelegate
- - - -
-

Parameters

- - - - - - - - - - - - -
configuration

The configuration used to create the PINRemoteImageManager.

alternativeRepDelegate

a delegate which conforms to the PINRemoteImageManagerAlternateRepresentationProvider protocol. Provide a delegate if you want to have non image results. @see PINAlternativeRepresentationDelaget for an example.

-
- - - -
-

Return Value

-

A PINRemoteImageManager with the specified configuration.

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

+ sharedImageManager -

- -
-
- -
- - -
-

Get the shared instance of PINRemoteImageManager

-
- - - -
+ (nonnull instancetype)sharedImageManager
- - - - - -
-

Return Value

-

Shared instance of PINRemoteImageManager

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

+ setSharedImageManagerWithConfiguration: -

- -
-
- -
- - -
-

Sets the shared instance of PINRemoteImageManager to an instance with the supplied configuration. If configuration is nil, [NSURLSessionConfiguration defaultConfiguration] is used. You specify a custom configuration if you need to configure timeout values, cookie policies, additional HTTP headers, etc. This method should not be used if the shared instance has already been created.

-
- - - -
+ (void)setSharedImageManagerWithConfiguration:(nullable NSURLSessionConfiguration *)configuration
- - - -
-

Parameters

- - - - - - - -
configuration

The configuration used to create the PINRemoteImageManager.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– defaultImageCache -

- -
-
- -
- - -
-

The result of this method is assigned to self.cache in init. If you wish to provide a customized cache to the manager you can subclass PINRemoteImageManager and return a custom PINCache from this method.

-
- - - -
- (nonnull PINCache *)defaultImageCache
- - - - - -
-

Return Value

-

An instance of a PINCache object.

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setAuthenticationChallenge: -

- -
-
- -
- - -
-

Set the Authentication Challenge Block.

-
- - - -
- (void)setAuthenticationChallenge:(nullable PINRemoteImageManagerAuthenticationChallenge)challengeBlock
- - - -
-

Parameters

- - - - - - - -
challengeBlock

A PINRemoteImageManagerAuthenticationChallenge block.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setHighQualityBPSThreshold:completion: -

- -
-
- -
- - -
-

Set the minimum BPS to download the highest quality image in a set.

-
- - - -
- (void)setHighQualityBPSThreshold:(float)highQualityBPSThreshold completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
highQualityBPSThreshold

bytes per second minimum. Defaults to 500000.

completion

Completion to be called once highQualityBPSThreshold has been set.

-
- - - - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setLowQualityBPSThreshold:completion: -

- -
-
- -
- - -
-

Set the maximum BPS to download the lowest quality image in a set.

-
- - - -
- (void)setLowQualityBPSThreshold:(float)lowQualityBPSThreshold completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
lowQualityBPSThreshold

bytes per second maximum. Defaults to 50000.

completion

Completion to be called once lowQualityBPSThreshold has been set.

-
- - - - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setShouldUpgradeLowQualityImages:completion: -

- -
-
- -
- - -
-

Set whether high quality images should be downloaded when a low quality image is cached if network connectivity has improved.

-
- - - -
- (void)setShouldUpgradeLowQualityImages:(BOOL)shouldUpgradeLowQualityImages completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
shouldUpgradeLowQualityImages

if YES, low quality images will be ‘upgraded’.

completion

Completion to be called once shouldUpgradeLowQualityImages has been set.

-
- - - - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setMaxNumberOfConcurrentOperations:completion: -

- -
-
- -
- - -
-

Set the maximum number of concurrent operations (decompressing images, creating gifs, etc).

-
- - - -
- (void)setMaxNumberOfConcurrentOperations:(NSInteger)maxNumberOfConcurrentOperations completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
maxNumberOfConcurrentOperations

The maximum number of concurrent operations. Defaults to NSOperationQueueDefaultMaxConcurrentOperationCount.

completion

Completion to be called once maxNumberOfConcurrentOperations is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setMaxNumberOfConcurrentDownloads:completion: -

- -
-
- -
- - -
-

Set the maximum number of concurrent downloads.

-
- - - -
- (void)setMaxNumberOfConcurrentDownloads:(NSInteger)maxNumberOfConcurrentDownloads completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
maxNumberOfConcurrentDownloads

The maximum number of concurrent downloads. Defaults to 10.

completion

Completion to be called once maxNumberOfConcurrentDownloads is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setEstimatedRemainingTimeThresholdForProgressiveDownloads:completion: -

- -
-
- -
- - -
-

Set the estimated time remaining to download threshold at which to generate progressive images. Progressive images previews will only be generated if the estimated remaining time on a download is greater than estimatedTimeRemainingThreshold. If estimatedTimeRemainingThreshold is less than zero, this check is skipped.

-
- - - -
- (void)setEstimatedRemainingTimeThresholdForProgressiveDownloads:(NSTimeInterval)estimatedRemainingTimeThreshold completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
estimatedRemainingTimeThreshold

The estimated remaining time threshold used to decide to skip progressive rendering. Defaults to 0.1.

completion

Completion to be called once estimatedTimeRemainingTimeThreshold is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setProgressThresholds:completion: -

- -
-
- -
- - -
-

Sets the progress at which progressive images are generated. By default this is @[@0.00, @0.35, @0.65] which generates at most, 3 progressive images. The first progressive image will only be generated when at least one scan has been completed (so you never see half an image).

-
- - - -
- (void)setProgressThresholds:(nonnull NSArray<NSNumber*> *)progressThresholds completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
progressThresholds

an array of progress thresholds at which to generate progressive images. progress thresholds should range from 0.00 - 1.00. Defaults to @[@0.00, @0.35, @0.65]

completion

Completion to be called once progressThresholds is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setProgressiveRendersShouldBlur:completion: -

- -
-
- -
- - -
-

Sets whether PINRemoteImage should blur progressive render results

-
- - - -
- (void)setProgressiveRendersShouldBlur:(BOOL)shouldBlur completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
shouldBlur

A bool value indicating whether PINRemoteImage should blur progressive render results

completion

Completion to be called once progressThresholds is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setProgressiveRendersMaxProgressiveRenderSize:completion: -

- -
-
- -
- - -
-

Sets the maximum size of an image that PINRemoteImage will blur. If the image is too large, blurring is skipped

-
- - - -
- (void)setProgressiveRendersMaxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize completion:(nullable dispatch_block_t)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
maxProgressiveRenderSize

A CGSize which indicates the max size PINRemoteImage will render a progressive image. If an image is larger in either dimension, progressive rendering will be skipped

completion

Completion to be called once maxProgressiveRenderSize is set.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– prefetchImageWithURL: -

- -
-
- -
- - -
-

Prefetch an image at the given URL.

-
- - - -
- (void)prefetchImageWithURL:(nonnull NSURL *)url
- - - -
-

Parameters

- - - - - - - -
url

NSURL where the image to prefetch resides.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– prefetchImageWithURL:options: -

- -
-
- -
- - -
-

Prefetch an image at the given URL with given options.

-
- - - -
- (void)prefetchImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options
- - - -
-

Parameters

- - - - - - - - - - - - -
url

NSURL where the image to prefetch resides.

options

PINRemoteImageManagerDownloadOptions options with which to pefetch the image.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– prefetchImagesWithURLs: -

- -
-
- -
- - -
-

Prefetch images at the given URLs.

-
- - - -
- (void)prefetchImagesWithURLs:(nonnull NSArray<NSURL*> *)urls
- - - -
-

Parameters

- - - - - - - -
urls

An array of NSURLs where the images to prefetch reside.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– prefetchImagesWithURLs:options: -

- -
-
- -
- - -
-

Prefetch images at the given URLs with given options.

-
- - - -
- (void)prefetchImagesWithURLs:(nonnull NSArray<NSURL*> *)urls options:(PINRemoteImageManagerDownloadOptions)options
- - - -
-

Parameters

- - - - - - - - - - - - -
urls

An array of NSURLs where the images to prefetch reside.

options

PINRemoteImageManagerDownloadOptions options with which to pefetch the image.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
url

NSURL where the image to download resides.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:progressImage:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

progressImage

PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:progressDownload:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

progressDownload

PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:progressImage:progressDownload:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

progressImage

PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download.

progressDownload

PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:processorKey:processor:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url and process it before calling completion. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

processorKey

NSString key to uniquely identify processor and process. Will be used for caching processed images.

processor

PINRemoteImageManagerImageProcessor block which will be called to post-process downloaded image.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURL:options:processorKey:processor:progressDownload:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache the image found at the url and process it before calling completion. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURL:(nonnull NSURL *)url options:(PINRemoteImageManagerDownloadOptions)options processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor progressDownload:(nullable PINRemoteImageManagerProgressDownload)progressDownload completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
url

NSURL where the image to download resides.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

processorKey

NSString key to uniquely identify processor and process. Will be used for caching processed images.

processor

PINRemoteImageManagerImageProcessor block which will be called to post-process downloaded image.

progressDownload

PINRemoteImageManagerDownloadProgress block which will be called to update progress in bytes of the image download. NOTE: For performance reasons, this block is not called on the main thread every time, if you need to update your UI ensure that you dispatch to the main thread first.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– downloadImageWithURLs:options:progressImage:completion: -

- -
-
- -
- - -
-

Download or retrieve from cache one of the images found at the urls in the passed in array based on current network performance. URLs should be sorted from lowest quality image URL to highest. All completions are called on an arbitrary callback queue unless called on the main thread and the result is in the memory cache (this is an optimization to allow synchronous results for the UI when an object is cached in memory).

-
- - - -
- (nullable NSUUID *)downloadImageWithURLs:(nonnull NSArray<NSURL*> *)urls options:(PINRemoteImageManagerDownloadOptions)options progressImage:(nullable PINRemoteImageManagerImageCompletion)progressImage completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - -
urls

An array of NSURLs of increasing size.

options

PINRemoteImageManagerDownloadOptions options with which to fetch the image.

progressImage

PINRemoteImageManagerImageCompletion block which will be called to update progress of the image download.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache or downloaded.

-
- - - -
-

Return Value

-

An NSUUID which uniquely identifies this request. To be used for canceling requests and verifying that the callback is for the request you expect (see categories for example).

-
- - - - - -
-

Discussion

-

Unless setShouldUpgradeLowQualityImages is set to YES, this method checks the cache for all URLs and returns the highest quality version stored. It is possible though unlikely for a cached image to not be returned if it is still being cached while a call is made to this method and if network conditions have changed. See source for more details.

-
- - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– cacheKeyForURL:processorKey: -

- -
-
- -
- - -
-

Returns the cacheKey for a given URL and processorKey. Exposed to be overridden if necessary or to be used with imageFromCacheWithCacheKey

-
- - - -
- (nonnull NSString *)cacheKeyForURL:(nonnull NSURL *)url processorKey:(nullable NSString *)processorKey
- - - -
-

Parameters

- - - - - - - - - - - - -
url

NSURL to be downloaded

processorKey

NSString key to uniquely identify processor and process.

-
- - - -
-

Return Value

-

returns an NSString which is the key used for caching.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– imageFromCacheWithCacheKey:completion: -

- -
-
- -
- - -
-

imageFromCacheWithCacheKey:options:completion: instead -@deprecated

-
- - - -
- (void)imageFromCacheWithCacheKey:(nonnull NSString *)cacheKey completion:(nonnull PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
cacheKey

NSString key to look up image in the cache.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache.

-
- - - - - - - - - - - -
-

See Also

- -
- - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– imageFromCacheWithCacheKey:options:completion: -

- -
-
- -
- - -
-

Directly get an image from the underlying cache.

-
- - - -
- (void)imageFromCacheWithCacheKey:(nonnull NSString *)cacheKey options:(PINRemoteImageManagerDownloadOptions)options completion:(nonnull PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - -
cacheKey

NSString key to look up image in the cache.

options

options will be used to determine if the cached image should be decompressed or FLAnimatedImages should be returned.

completion

PINRemoteImageManagerImageCompletion block to call when image has been fetched from the cache.

-
- - - - - - - - - - - -
-

See Also

- -
- - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– synchronousImageFromCacheWithCacheKey:options: -

- -
-
- -
- - -
-

Directly get an image from the underlying memory cache synchronously.

-
- - - -
- (nonnull PINRemoteImageManagerResult *)synchronousImageFromCacheWithCacheKey:(nonnull NSString *)cacheKey options:(PINRemoteImageManagerDownloadOptions)options
- - - -
-

Parameters

- - - - - - - - - - - - -
cacheKey

NSString key to look up image in the cache.

options

options will be used to determine if the cached image should be decompressed or FLAnimatedImages should be returned.

-
- - - -
-

Return Value

-

A PINRemoteImageManagerResult

-
- - - - - - - - - -
-

See Also

- -
- - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– cancelTaskWithUUID: -

- -
-
- -
- - -
-

Cancel a download. Canceling will only cancel the download if all other downloads are also canceled with their associated UUIDs. Canceling does not guarantee that your completion will not be called. You can use the UUID provided on the result object verify the completion you want called is being called.

-
- - - -
- (void)cancelTaskWithUUID:(nonnull NSUUID *)UUID
- - - -
-

Parameters

- - - - - - - -
UUID

NSUUID of the task to cancel.

-
- - - - - - - - - - - -
-

See Also

- -
- - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setPriority:ofTaskWithUUID: -

- -
-
- -
- - -
-

Set the priority of a download task. Since there is only one task per download, the priority of the download task will always be the last priority this method was called with.

-
- - - -
- (void)setPriority:(PINRemoteImageManagerPriority)priority ofTaskWithUUID:(nonnull NSUUID *)UUID
- - - -
-

Parameters

- - - - - - - - - - - - -
priority

priority to set on the task.

UUID

NSUUID of the task to set the priority on.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
- -

– setProgressImageCallback:ofTaskWithUUID: -

- -
-
- -
- - -
-

set the progress callback on a download task. You can use this to add progress callbacks or remove them for in flight downloads

-
- - - -
- (void)setProgressImageCallback:(nullable PINRemoteImageManagerImageCompletion)progressImageCallback ofTaskWithUUID:(nonnull NSUUID *)UUID
- - - -
-

Parameters

- - - - - - - - - - - - -
progressImageCallback

a PINRemoteImageManagerImageCompletion block to be called with a progress update

UUID

NSUUID of the task to set the priority on.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - -
-
-
-
- -
- - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINAnimatedImageError.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINAnimatedImageError.html deleted file mode 100644 index 46c6f626..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINAnimatedImageError.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - PINAnimatedImageError Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImageError Constants Reference

- - -
- - - - -
Declared inPINAnimatedImage.h
- - - - - - - -

PINAnimatedImageError

- - -
-

PINAnimatedImage decoding and processing errors.

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINAnimatedImageError ) {
- -    PINAnimatedImageErrorNoError = 0,
- -    PINAnimatedImageErrorFileCreationError,
- -    PINAnimatedImageErrorFileHandleError,
- -    PINAnimatedImageErrorImageFrameError,
- -    PINAnimatedImageErrorMappingError,
- - };
- -
- -
-

Constants

-
- -
PINAnimatedImageErrorNoError
-
- - -

No error, yay!

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageErrorFileCreationError
-
- - -

Could not create a necessary file.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageErrorFileHandleError
-
- - -

Could not get a file handle to the necessary file.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageErrorImageFrameError
-
- - -

Could not decode the image.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageErrorMappingError
-
- - -

Could not memory map the file.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINAnimatedImageStatus.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINAnimatedImageStatus.html deleted file mode 100644 index 3d373efb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINAnimatedImageStatus.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - PINAnimatedImageStatus Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINAnimatedImageStatus Constants Reference

- - -
- - - - -
Declared inPINAnimatedImage.h
- - - - - - - -

PINAnimatedImageStatus

- - -
-

The processing status of the animated image.

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINAnimatedImageStatus ) {
- -    PINAnimatedImageStatusUnprocessed = 0,
- -    PINAnimatedImageStatusInfoProcessed,
- -    PINAnimatedImageStatusFirstFileProcessed,
- -    PINAnimatedImageStatusProcessed,
- -    PINAnimatedImageStatusCanceled,
- -    PINAnimatedImageStatusError,
- - };
- -
- -
-

Constants

-
- -
PINAnimatedImageStatusUnprocessed
-
- - -

No work has been done.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageStatusInfoProcessed
-
- - -

Info about the animated image and the cover image are available.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageStatusFirstFileProcessed
-
- - -

At least one set of frames has been decoded to a file. It’s safe to start playback.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageStatusProcessed
-
- - -

The entire animated image has been processed.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageStatusCanceled
-
- - -

Processing was canceled.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
PINAnimatedImageStatusError
-
- - -

There was an error in processing.

- - - - - - -

- Declared In PINAnimatedImage.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINAnimatedImage.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageManagerDownloadOptions.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageManagerDownloadOptions.html deleted file mode 100644 index e4332208..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageManagerDownloadOptions.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - PINRemoteImageManagerDownloadOptions Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManagerDownloadOptions Constants Reference

- - -
- - - - -
Declared inPINRemoteImageManager.h
- - - - - - - -

PINRemoteImageManagerDownloadOptions

- - -
-

Options with which to download and process images

-
- - -
- - -

Definition

- typedef NS_OPTIONS(NSUInteger, PINRemoteImageManagerDownloadOptions ) {
- -    PINRemoteImageManagerDownloadOptionsNone = 0,
- -    PINRemoteImageManagerDisallowAlternateRepresentations = 1,
- -    PINRemoteImageManagerDownloadOptionsSkipDecode = 1 < < 1,
- -    PINRemoteImageManagerDownloadOptionsSkipEarlyCheck = 1 < < 2,
- -    PINRemoteImageManagerSaveProcessedImageAsJPEG = 1 < < 3,
- - };
- -
- -
-

Constants

-
- -
PINRemoteImageManagerDownloadOptionsNone
-
- - -

Download and process with default options (no other options set)

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerDisallowAlternateRepresentations
-
- - -

Set to disallow any alternate representations such as FLAnimatedImage

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerDownloadOptionsSkipDecode
-
- - -

Skip decoding the image before returning. This means smaller images returned, but images will be decoded on the main thread when set on an image view

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerDownloadOptionsSkipEarlyCheck
-
- - -

Skip the early check of the memory cache

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerSaveProcessedImageAsJPEG
-
- - -

Save processed images as JPEGs in the cache. The default is PNG to support transparency

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageManagerError.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageManagerError.html deleted file mode 100644 index 4d9e0636..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageManagerError.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - PINRemoteImageManagerError Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManagerError Constants Reference

- - -
- - - - -
Declared inPINRemoteImageManager.h
- - - - - - - -

PINRemoteImageManagerError

- - -
-

Error codes returned by PINRemoteImage

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINRemoteImageManagerError ) {
- -    PINRemoteImageManagerErrorFailedToDecodeImage = 1,
- -    PINRemoteImageManagerErrorFailedToFetchImageForProcessing = 2,
- -    PINRemoteImageManagerErrorFailedToProcessImage = 3,
- -    PINRemoteImageManagerErrorInvalidItemInCache = 4,
- - };
- -
- -
-

Constants

-
- -
PINRemoteImageManagerErrorFailedToDecodeImage
-
- - -

The image failed to decode

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerErrorFailedToFetchImageForProcessing
-
- - -

The image could not be downloaded and therefore could not be processed

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerErrorFailedToProcessImage
-
- - -

The image returned by the processor block was nil

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerErrorInvalidItemInCache
-
- - -

The image in the cache was invalid

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageManagerPriority.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageManagerPriority.html deleted file mode 100644 index b831d2ef..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageManagerPriority.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - PINRemoteImageManagerPriority Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManagerPriority Constants Reference

- - -
- - - - -
Declared inPINRemoteImageManager.h
- - - - - - - -

PINRemoteImageManagerPriority

- - -
-

Priority to download and process image at.

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINRemoteImageManagerPriority ) {
- -    PINRemoteImageManagerPriorityVeryLow = 0,
- -    PINRemoteImageManagerPriorityLow,
- -    PINRemoteImageManagerPriorityMedium,
- -    PINRemoteImageManagerPriorityHigh,
- -    PINRemoteImageManagerPriorityVeryHigh,
- - };
- -
- -
-

Constants

-
- -
PINRemoteImageManagerPriorityVeryLow
-
- - -

Very low priority

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerPriorityLow
-
- - -

Low priority

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerPriorityMedium
-
- - -

Medium priority

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerPriorityHigh
-
- - -

High priority

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
PINRemoteImageManagerPriorityVeryHigh
-
- - -

Very high priority

- - - - - - -

- Declared In PINRemoteImageManager.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINRemoteImageManager.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageResultType.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageResultType.html deleted file mode 100644 index ef69253f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteImageResultType.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - PINRemoteImageResultType Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageResultType Constants Reference

- - -
- - - - -
Declared inPINRemoteImageManagerResult.h
- - - - - - - -

PINRemoteImageResultType

- - -
-

How the image was fetched.

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINRemoteImageResultType ) {
- -    PINRemoteImageResultTypeNone = 0,
- -    PINRemoteImageResultTypeMemoryCache,
- -    PINRemoteImageResultTypeCache,
- -    PINRemoteImageResultTypeDownload,
- -    PINRemoteImageResultTypeProgress,
- - };
- -
- -
-

Constants

-
- -
PINRemoteImageResultTypeNone
-
- - -

Returned if no image is returned

- - - - - - -

- Declared In PINRemoteImageManagerResult.h. -

- -
- -
PINRemoteImageResultTypeMemoryCache
-
- - -

Image was fetched from the memory cache

- - - - - - -

- Declared In PINRemoteImageManagerResult.h. -

- -
- -
PINRemoteImageResultTypeCache
-
- - -

Image was fetched from the disk cache

- - - - - - -

- Declared In PINRemoteImageManagerResult.h. -

- -
- -
PINRemoteImageResultTypeDownload
-
- - -

Image was downloaded

- - - - - - -

- Declared In PINRemoteImageManagerResult.h. -

- -
- -
PINRemoteImageResultTypeProgress
-
- - -

Image is progress

- - - - - - -

- Declared In PINRemoteImageManagerResult.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINRemoteImageManagerResult.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteLockType.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteLockType.html deleted file mode 100644 index d950c1be..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Constants/PINRemoteLockType.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - PINRemoteLockType Constants Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteLockType Constants Reference

- - -
- - - - -
Declared inPINRemoteLock.h
- - - - - - - -

PINRemoteLockType

- - -
-

The type of lock, either recursive or non-recursive

-
- - -
- - -

Definition

- typedef NS_ENUM(NSUInteger, PINRemoteLockType ) {
- -    PINRemoteLockTypeNonRecursive = 0,
- -    PINRemoteLockTypeRecursive,
- - };
- -
- -
-

Constants

-
- -
PINRemoteLockTypeNonRecursive
-
- - -

A non-recursive version of the lock. The default.

- - - - - - -

- Declared In PINRemoteLock.h. -

- -
- -
PINRemoteLockTypeRecursive
-
- - -

A recursive version of the lock. More expensive.

- - - - - - -

- Declared In PINRemoteLock.h. -

- -
- -
-
- - - - - - - - -
-

Declared In

-

PINRemoteLock.h

-
- - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Protocols/PINRemoteImageCategory.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Protocols/PINRemoteImageCategory.html deleted file mode 100644 index 3033c93b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Protocols/PINRemoteImageCategory.html +++ /dev/null @@ -1,1036 +0,0 @@ - - - - - - PINRemoteImageCategory Protocol Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageCategory Protocol Reference

- - -
- - - - - - - -
Conforms toNSObject
Declared inPINRemoteImageCategoryManager.h
- - - - -
- -

Overview

-

Protocol to implement on UIView subclasses to support PINRemoteImage

-
- - - - - -
- - - - - - -
-
- -

– pin_setImageFromURL: -required method

- -
-
- -
- - -
-

Set the image from the given URL.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url
- - - -
-

Parameters

- - - - - - - -
url

NSURL to fetch from.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:placeholderImage: -required method

- -
-
- -
- - -
-

Set the image from the given URL and set placeholder image while image at URL is being retrieved.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage
- - - -
-

Parameters

- - - - - - - - - - - - -
url

NSURL to fetch from.

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:completion: -required method

- -
-
- -
- - -
-

Set the image from the given URL and call completion when finished.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - -
url

NSURL to fetch from.

completion

Called when url has been retrieved and set on view.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:placeholderImage:completion: -required method

- -
-
- -
- - -
-

Set the image from the given URL, set placeholder while image at url is being retrieved and call completion when finished.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - -
url

NSURL to fetch from.

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

completion

Called when url has been retrieved and set on view.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:processorKey:processor: -required method

- -
-
- -
- - -
-

Retrieve the image from the given URL, process it using the passed in processor block and set result on view.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - -
url

NSURL to fetch from.

processorKey

NSString key to uniquely identify processor. Used in caching.

processor

PINRemoteImageManagerImageProcessor processor block which should return the processed image.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:placeholderImage:processorKey:processor: -required method

- -
-
- -
- - -
-

Set placeholder on view and retrieve the image from the given URL, process it using the passed in processor block and set result on view.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - -
url

NSURL to fetch from.

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

processorKey

NSString key to uniquely identify processor. Used in caching.

processor

PINRemoteImageManagerImageProcessor processor block which should return the processed image.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:processorKey:processor:completion: -required method

- -
-
- -
- - -
-

Retrieve the image from the given URL, process it using the passed in processor block and set result on view. Call completion after image has been fetched, processed and set on view.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - -
url

NSURL to fetch from.

processorKey

NSString key to uniquely identify processor. Used in caching.

processor

PINRemoteImageManagerImageProcessor processor block which should return the processed image.

completion

Called when url has been retrieved and set on view.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURL:placeholderImage:processorKey:processor:completion: -required method

- -
-
- -
- - -
-

Set placeholder on view and retrieve the image from the given URL, process it using the passed in processor block and set result on view. Call completion after image has been fetched, processed and set on view.

-
- - - -
- (void)pin_setImageFromURL:(nullable NSURL *)url placeholderImage:(nullable PINImage *)placeholderImage processorKey:(nullable NSString *)processorKey processor:(nullable PINRemoteImageManagerImageProcessor)processor completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
url

NSURL to fetch from.

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

processorKey

NSString key to uniquely identify processor. Used in caching.

processor

PINRemoteImageManagerImageProcessor processor block which should return the processed image.

completion

Called when url has been retrieved and set on view.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURLs: -required method

- -
-
- -
- - -
-

Retrieve one of the images at the passed in URLs depending on previous network performance and set result on view.

-
- - - -
- (void)pin_setImageFromURLs:(nullable NSArray<NSURL*> *)urls
- - - -
-

Parameters

- - - - - - - -
urls

NSArray of NSURLs sorted in increasing quality

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURLs:placeholderImage: -required method

- -
-
- -
- - -
-

Set placeholder on view and retrieve one of the images at the passed in URLs depending on previous network performance and set result on view.

-
- - - -
- (void)pin_setImageFromURLs:(nullable NSArray<NSURL*> *)urls placeholderImage:(nullable PINImage *)placeholderImage
- - - -
-

Parameters

- - - - - - - - - - - - -
urls

NSArray of NSURLs sorted in increasing quality

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setImageFromURLs:placeholderImage:completion: -required method

- -
-
- -
- - -
-

Set placeholder on view and retrieve one of the images at the passed in URLs depending on previous network performance and set result on view. Call completion after image has been fetched and set on view.

-
- - - -
- (void)pin_setImageFromURLs:(nullable NSArray<NSURL*> *)urls placeholderImage:(nullable PINImage *)placeholderImage completion:(nullable PINRemoteImageManagerImageCompletion)completion
- - - -
-

Parameters

- - - - - - - - - - - - - - - - - -
urls

NSArray of NSURLs sorted in increasing quality

placeholderImage

PINImage to set on the view while the image at URL is being retrieved.

completion

Called when url has been retrieved and set on view.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_cancelImageDownload -required method

- -
-
- -
- - -
-

Cancels the image download. Guarantees that previous setImage calls will not have their results set on the image view after calling this (as opposed to PINRemoteImageManager which does not guarantee cancellation).

-
- - - -
- (void)pin_cancelImageDownload
- - - - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_downloadImageOperationUUID -required method

- -
-
- -
- - -
-

Returns the NSUUID associated with any PINRemoteImage task currently running on the view.

-
- - - -
- (nullable NSUUID *)pin_downloadImageOperationUUID
- - - - - -
-

Return Value

-

NSUUID associated with any PINRemoteImage task currently running on the view.

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

– pin_setDownloadImageOperationUUID: -required method

- -
-
- -
- - -
-

Set the current NSUUID associated with a PINRemoteImage task running on the view.

-
- - - -
- (void)pin_setDownloadImageOperationUUID:(nullable NSUUID *)downloadImageOperationUUID
- - - -
-

Parameters

- - - - - - - -
downloadImageOperationUUID

NSUUID associated with a PINRemoteImage task.

-
- - - - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
- -

  pin_updateWithProgress -required method

- -
-
- -
- - -
-

Whether the view should update with progress images (such as those provided by progressive JPEG images).

-
- - - -
@property (nonatomic, assign) BOOL pin_updateWithProgress
- - - - - -
-

Return Value

-

BOOL value indicating whether the view should update with progress images

-
- - - - - - - - - - - -
-

Declared In

-

PINRemoteImageCategoryManager.h

-
- - -
-
-
-
- -
- - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/Protocols/PINRemoteImageManagerAlternateRepresentationProvider.html b/Carthage/Checkouts/PINRemoteImage/docs/html/Protocols/PINRemoteImageManagerAlternateRepresentationProvider.html deleted file mode 100644 index ec879c2c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/Protocols/PINRemoteImageManagerAlternateRepresentationProvider.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - PINRemoteImageManagerAlternateRepresentationProvider Protocol Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImageManagerAlternateRepresentationProvider Protocol Reference

- - -
- - - - - - - -
Conforms toNSObject
Declared inPINAlternateRepresentationProvider.h
- - - - - - -
- - - - - - -
-
- -

– alternateRepresentationWithData:options: -required method

- -
-
- -
- - -
-

This method will be called with data off the wire or stored in the cache. Return an object to have it returned as the alternativeRepresentation object in the PINRemoteImageManagerResult. @warning this method can be called on the main thread, be careful of doing expensive work.

-
- - - -
- (id)alternateRepresentationWithData:(NSData *)data options:(PINRemoteImageManagerDownloadOptions)options
- - - - - - - - - -
-

Discussion

-

This method will be called with data off the wire or stored in the cache. Return an object to have it returned as the alternativeRepresentation object in the PINRemoteImageManagerResult. @warning this method can be called on the main thread, be careful of doing expensive work.

-
- - - - - - - -
-

Declared In

-

PINAlternateRepresentationProvider.h

-
- - -
-
-
-
- -
- - - - -
- - -
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_index.scss b/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_index.scss deleted file mode 100644 index 7e98029d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_index.scss +++ /dev/null @@ -1,13 +0,0 @@ -.index-container { - display: flex; - flex-direction: row; - flex-wrap: wrap; - - @media (max-width: $mobile-max-width) { - flex-direction: column; - } - - .index-column { - flex: 1 1 33%; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_layout.scss b/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_layout.scss deleted file mode 100644 index 40bd6d4a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_layout.scss +++ /dev/null @@ -1,303 +0,0 @@ -* { - box-sizing: border-box; -} - -.clear { - clear: both; -} - -.clearfix { - &:before, &:after { - clear: both; - display: table; - content: ""; - } -} - -.xcode .hide-in-xcode { - display: none; -} - -body { - font: 62.5% $body-font; - background: $body-background; -} - -h1, h2, h3 { - font-weight: 300; - color: #808080; -} - -h1 { - font-size: 2em; - color: #000; -} - -h4 { - font-size: 13px; - line-height: 1.5; - margin: 21px 0 0 0; -} - -a { - color: $tint-color; - text-decoration: none; -} - -pre, code { - font-family: $code-font; - word-wrap: break-word; -} - -pre > code, .method-declaration code { - display: inline-block; - font-size: .85em; - padding: 4px 0 4px 10px; - border-left: 5px solid rgba(0, 155, 51, .2); - - &:before { - content: "Objective-C"; - display: block; - - font: 9px/1 $body-font; - color: #009b33; - text-transform: uppercase; - letter-spacing: 2px; - padding-bottom: 6px; - } -} - -pre > code { - font-size: inherit; -} - -table, th, td { - border: 1px solid #e9e9e9; -} - -table { - width: 100%; -} - -th, td { - padding: 7px; - - > :first-child { - margin-top: 0; - } - - > :last-child { - margin-bottom: 0; - } -} - -.container { - @extend .clearfix; - - max-width: 980px; - padding: 0 10px; - margin: 0 auto; - - @media (max-width: $mobile-max-width) { - padding: 0; - } -} - -header { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 2; - - background: #414141; - color: #fff; - font-size: 1.1em; - line-height: 25px; - letter-spacing: .05em; - - #library-title { - float: left; - } - - #developer-home { - float: right; - } - - h1 { - font-size: inherit; - font-weight: inherit; - margin: 0; - } - - p { - margin: 0; - } - - h1, a { - color: inherit; - } - - @media (max-width: $mobile-max-width) { - position: absolute; - - .container { - padding: 0 10px; - } - } -} - -aside { - position: fixed; - top: 25px; - left: 0; - width: 100%; - height: 25px; - z-index: 2; - - font-size: 1.1em; - - @media (max-width: $mobile-max-width) { - position: absolute; - } - - #header-buttons { - background: rgba(255, 255, 255, .8); - margin: 0 1px; - padding: 0; - list-style: none; - text-align: right; - line-height: 32px; - - li { - display: inline-block; - cursor: pointer; - padding: 0 10px; - } - - label, select { - cursor: inherit; - } - - #on-this-page { - position: relative; - - .chevron { - display: inline-block; - width: 14px; - height: 4px; - position: relative; - - .chevy { - background: #878787; - height: 2px; - position: absolute; - width: 10px; - - &.chevron-left { - left: 0; - transform: rotateZ(45deg) scale(0.6); - } - - &.chevron-right { - right: 0; - transform: rotateZ(-45deg) scale(0.6); - } - } - } - - #jump-to { - opacity: 0; - font-size: 16px; - - position: absolute; - top: 5px; - left: 0; - width: 100%; - height: 100%; - } - } - } -} - -article { - margin-top: 25px; - - #content { - @extend .clearfix; - - background: $content-background; - border: 1px solid $content-border; - padding: 15px 25px 30px 25px; - - font-size: 1.4em; - line-height: 1.45; - - position: relative; - - @media (max-width: $mobile-max-width) { - padding: 15px 10px 20px 10px; - } - - .navigation-top { - position: absolute; - top: 15px; - right: 25px; - } - - .title { - margin: 21px 0 0 0; - padding: 15px 0; - } - - p { - color: #414141; - margin: 0 0 15px 0; - } - - th, td { - p:last-child { - margin-bottom: 0; - } - } - - main { - ul { - list-style: none; - margin-left: 24px; - margin-bottom: 12px; - padding: 0; - - li { - position: relative; - padding-left: 1.3em; - - &:before { - content: "\02022"; - - color: #414141; - font-size: 1.08em; - line-height: 1; - - position: absolute; - left: 0; - padding-top: 2px; - } - } - } - } - - footer { - @extend .clearfix; - - .footer-copyright { - margin: 70px 25px 10px 0; - } - - p { - font-size: .71em; - color: #a0a0a0; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_normalize.scss b/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_normalize.scss deleted file mode 100644 index 9b8848a5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_normalize.scss +++ /dev/null @@ -1,581 +0,0 @@ -/* ========================================================================== - Normalize.scss settings - ========================================================================== */ -/** - * Includes legacy browser support IE6/7 - * - * Set to false if you want to drop support for IE6 and IE7 - */ - -$legacy_browser_support: false !default; - -/* Base - ========================================================================== */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using - * `em` units. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - @if $legacy_browser_support { - *font-size: 100%; /* 3 */ - } -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ - @if $legacy_browser_support { - *display: inline; - *zoom: 1; - } -} - -/** - * Prevents modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a { - &:active, &:hover { - outline: 0; - }; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -@if $legacy_browser_support { - blockquote { - margin: 1em 40px; - } -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -@if $legacy_browser_support { - h2 { - font-size: 1.5em; - margin: 0.83em 0; - } - - h3 { - font-size: 1.17em; - margin: 1em 0; - } - - h4 { - font-size: 1em; - margin: 1.33em 0; - } - - h5 { - font-size: 0.83em; - margin: 1.67em 0; - } - - h6 { - font-size: 0.67em; - margin: 2.33em 0; - } -} - -/** - * Addresses styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -@if $legacy_browser_support { - - /** - * Addresses margins set differently in IE 6/7. - */ - - p, - pre { - *margin: 1em 0; - } - - /* - * Addresses CSS quotes not supported in IE 6/7. - */ - - q { - *quotes: none; - } - - /* - * Addresses `quotes` property not supported in Safari 4. - */ - - q:before, - q:after { - content: ''; - content: none; - } -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -@if $legacy_browser_support { - - /* ========================================================================== - Lists - ========================================================================== */ - - /* - * Addresses margins set differently in IE 6/7. - */ - - dl, - menu, - ol, - ul { - *margin: 1em 0; - } - - dd { - *margin: 0 0 0 40px; - } - - /* - * Addresses paddings set differently in IE 6/7. - */ - - menu, - ol, - ul { - *padding: 0 0 0 40px; - } - - /* - * Corrects list images handled incorrectly in IE 7. - */ - - nav ul, - nav ol { - *list-style: none; - *list-style-image: none; - } - -} - -/* Embedded content - ========================================================================== */ - -/** - * 1. Remove border when inside `a` element in IE 8/9/10. - * 2. Improves image quality when scaled in IE 7. - */ - -img { - border: 0; - @if $legacy_browser_support { - *-ms-interpolation-mode: bicubic; /* 2 */ - } -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - @if $legacy_browser_support { - _font-family: 'courier new', monospace; - } - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - * 4. Improves appearance and consistency in all browsers. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ - @if $legacy_browser_support { - vertical-align: baseline; /* 3 */ - *vertical-align: middle; /* 3 */ - } -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - * 4. Removes inner spacing in IE 7 without affecting normal text inputs. - * Known issue: inner spacing remains in IE 6. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - @if $legacy_browser_support { - *overflow: visible; /* 4 */ - } -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - * Known issue: excess padding remains in IE 6. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - *height: 13px; /* 3 */ - *width: 13px; /* 3 */ - } -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - * 3. Corrects text not wrapping in Firefox 3. - * 4. Corrects alignment displayed oddly in IE 6/7. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ - @if $legacy_browser_support { - white-space: normal; /* 3 */ - *margin-left: -7px; /* 4 */ - } -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_object.scss b/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_object.scss deleted file mode 100644 index 22eebd87..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_object.scss +++ /dev/null @@ -1,89 +0,0 @@ -.section-specification { - table { - width: auto; - - th { - text-align: left; - } - } -} - -.method-title { - margin-left: -15px; - margin-bottom: 8px; - transition: margin-left .3s ease-out; - - .section-method.hide & { - margin-left: 0; - } - - code { - font-weight: 400; - font-size: .85em; - } -} - -.method-info { - background: $object-background; - border-bottom: 1px solid $object-border; - margin: 0 -25px; - padding: 20px 25px 0 25px; - transition: height .3s ease-out; - - position: relative; - - .pointy-thing { - background: $content-background; - height: 10px; - border-bottom: 1px solid $object-border; - margin: -20px -25px 16px -25px; - - &:before { - display: inline-block; - content: ""; - - background: $object-background; - border: 1px solid $object-border; - border-bottom: 0; - border-right: 0; - - position: absolute; - left: 21px; - top: 3px; - width: 12px; - height: 12px; - transform: rotate(45deg); - } - } - - .method-subsection { - margin-bottom: 15px; - - .argument-name { - width: 1px; - text-align: right; - - code { - color: #808080; - font-style: italic; - font-weight: 400; - } - } - } -} - -.section-method { - &.hide .method-info { - height: 0 !important; - overflow: hidden; - display: none; - } - - &.hide.animating .method-info { - display: block; - } - - &.animating .method-info { - overflow: hidden; - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_print.scss b/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_print.scss deleted file mode 100644 index 61bdf99f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_print.scss +++ /dev/null @@ -1,42 +0,0 @@ -@media print { - body { - background: #fff; - padding: 8px; - } - - header { - position: static; - background: #fff; - color: #000; - } - - aside { - display: none; - } - - .container { - max-width: none; - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - background: #fff; - padding: 15px 0 0 0; - - .title { - margin-top: 0; - padding-top: 0; - } - } - } - - .method-info { - &, & .pointy-thing { - background: #fff; - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_variables.scss b/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_variables.scss deleted file mode 100644 index cbaff3cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_variables.scss +++ /dev/null @@ -1,11 +0,0 @@ -$body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif; -$code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace; - -$body-background: #f2f2f2; -$content-background: #fff; -$content-border: #e9e9e9; -$tint-color: #08c; -$object-background: #f9f9f9; -$object-border: #e9e9e9; - -$mobile-max-width: 650px; diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_xcode.scss b/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_xcode.scss deleted file mode 100644 index 340b1f6b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/_xcode.scss +++ /dev/null @@ -1,29 +0,0 @@ -.xcode { - header, aside { - display: none; - } - - .container { - padding: 0; - } - - article { - margin-top: 0; - - #content { - border: 0; - margin: 0; - } - } - - .method-info { - &, .section-method.hide & { - max-height: auto; - overflow: visible; - - &.hiding { - display: block; - } - } - } -} diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/style.scss b/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/style.scss deleted file mode 100644 index 648a6086..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/css/scss/style.scss +++ /dev/null @@ -1 +0,0 @@ -@import "variables", "normalize", "layout", "index", "object", "print", "xcode"; diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/css/style.css b/Carthage/Checkouts/PINRemoteImage/docs/html/css/style.css deleted file mode 100644 index 2e0648e3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/css/style.css +++ /dev/null @@ -1,2 +0,0 @@ -html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}.clear{clear:both}.clearfix:before,.container:before,article #content:before,article #content footer:before,.clearfix:after,.container:after,article #content:after,article #content footer:after{clear:both;display:table;content:""}.xcode .hide-in-xcode{display:none}body{font:62.5% -apple-system-font,"Helvetica Neue",Helvetica,sans-serif;background:#f2f2f2}h1,h2,h3{font-weight:300;color:gray}h1{font-size:2em;color:#000}h4{font-size:13px;line-height:1.5;margin:21px 0 0}a{color:#08c;text-decoration:none}pre,code{font-family:Source Code Pro,Monaco,Menlo,Consolas,monospace;word-wrap:break-word}pre>code,.method-declaration code{display:inline-block;font-size:.85em;padding:4px 0 4px 10px;border-left:5px solid rgba(0,155,51,.2)}pre>code:before,.method-declaration code:before{content:"Objective-C";display:block;font:9px/1 -apple-system-font,"Helvetica Neue",Helvetica,sans-serif;color:#009b33;text-transform:uppercase;letter-spacing:2px;padding-bottom:6px}pre>code{font-size:inherit}table,th,td{border:1px solid #e9e9e9}table{width:100%}th,td{padding:7px}th>:first-child,td>:first-child{margin-top:0}th>:last-child,td>:last-child{margin-bottom:0}.container{max-width:980px;padding:0 10px;margin:0 auto}@media(max-width:650px){.container{padding:0}}header{position:fixed;top:0;left:0;width:100%;z-index:2;background:#414141;color:#fff;font-size:1.1em;line-height:25px;letter-spacing:.05em}header #library-title{float:left}header #developer-home{float:right}header h1{font-size:inherit;font-weight:inherit;margin:0}header p{margin:0}header h1,header a{color:inherit}@media(max-width:650px){header{position:absolute}header .container{padding:0 10px}}aside{position:fixed;top:25px;left:0;width:100%;height:25px;z-index:2;font-size:1.1em}aside #header-buttons{background:rgba(255,255,255,.8);margin:0 1px;padding:0;list-style:none;text-align:right;line-height:32px}aside #header-buttons li{display:inline-block;cursor:pointer;padding:0 10px}aside #header-buttons label,aside #header-buttons select{cursor:inherit}aside #header-buttons #on-this-page{position:relative}aside #header-buttons #on-this-page .chevron{display:inline-block;width:14px;height:4px;position:relative}aside #header-buttons #on-this-page .chevron .chevy{background:#878787;height:2px;position:absolute;width:10px}aside #header-buttons #on-this-page .chevron .chevy.chevron-left{left:0;-webkit-transform:rotateZ(45deg) scale(.6);transform:rotateZ(45deg) scale(.6)}aside #header-buttons #on-this-page .chevron .chevy.chevron-right{right:0;-webkit-transform:rotateZ(-45deg) scale(.6);transform:rotateZ(-45deg) scale(.6)}aside #header-buttons #on-this-page #jump-to{opacity:0;filter:alpha(opacity=0);font-size:16px;position:absolute;top:5px;left:0;width:100%;height:100%}article{margin-top:25px}article #content{background:#fff;border:1px solid #e9e9e9;padding:15px 25px 30px;font-size:1.4em;line-height:1.45;position:relative}@media(max-width:650px){article #content{padding:15px 10px 20px}}article #content .navigation-top{position:absolute;top:15px;right:25px}article #content .title{margin:21px 0 0;padding:15px 0}article #content p{color:#414141;margin:0 0 15px}article #content th p:last-child,article #content td p:last-child{margin-bottom:0}article #content main ul{list-style:none;margin-left:24px;margin-bottom:12px;padding:0}article #content main ul li{position:relative;padding-left:1.3em}article #content main ul li:before{content:"\02022";color:#414141;font-size:1.08em;line-height:1;position:absolute;left:0;padding-top:2px}article #content footer .footer-copyright{margin:70px 25px 10px 0}article #content footer p{font-size:.71em;color:#a0a0a0}.index-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media(max-width:650px){.index-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}}.index-container .index-column{-webkit-box-flex:1;-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%}.section-specification table{width:auto}.section-specification table th{text-align:left}.method-title{margin-left:-15px;margin-bottom:8px;-webkit-transition:margin-left .3s ease-out;transition:margin-left .3s ease-out}.section-method.hide .method-title{margin-left:0}.method-title code{font-weight:400;font-size:.85em}.method-info{background:#f9f9f9;border-bottom:1px solid #e9e9e9;margin:0 -25px;padding:20px 25px 0;-webkit-transition:height .3s ease-out;transition:height .3s ease-out;position:relative}.method-info .pointy-thing{background:#fff;height:10px;border-bottom:1px solid #e9e9e9;margin:-20px -25px 16px}.method-info .pointy-thing:before{display:inline-block;content:"";background:#f9f9f9;border:1px solid #e9e9e9;border-bottom:0;border-right:0;position:absolute;left:21px;top:3px;width:12px;height:12px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.method-info .method-subsection{margin-bottom:15px}.method-info .method-subsection .argument-name{width:1px;text-align:right}.method-info .method-subsection .argument-name code{color:gray;font-style:italic;font-weight:400}.section-method.hide .method-info{height:0!important;overflow:hidden;display:none}.section-method.hide.animating .method-info{display:block}.section-method.animating .method-info{overflow:hidden}@media print{body{background:#fff;padding:8px}header{position:static;background:#fff;color:#000}aside{display:none}.container{max-width:none;padding:0}article{margin-top:0}article #content{border:0;background:#fff;padding:15px 0 0}article #content .title{margin-top:0;padding-top:0}.method-info,.method-info .pointy-thing{background:#fff}}.xcode header,.xcode aside{display:none}.xcode .container{padding:0}.xcode article{margin-top:0}.xcode article #content{border:0;margin:0}.xcode .section-method.hide .method-info,.xcode .section-method.hide.animating .method-info,.xcode .section-method.animating .method-info{height:auto!important;overflow:visible;display:block}.xcode .section-method.hide .method-title{margin-left:-15px} -/*# sourceMappingURL=to.css.map */ \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/hierarchy.html b/Carthage/Checkouts/PINRemoteImage/docs/html/hierarchy.html deleted file mode 100644 index bf9faf0a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/hierarchy.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - PINRemoteImage Hierarchy - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImage Hierarchy

- - -
-

Class Hierarchy

- - - -
- - - - - - - -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/img/button_bar_background.png b/Carthage/Checkouts/PINRemoteImage/docs/html/img/button_bar_background.png deleted file mode 100644 index 71d1019b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/html/img/button_bar_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/img/disclosure.png b/Carthage/Checkouts/PINRemoteImage/docs/html/img/disclosure.png deleted file mode 100644 index 4c5cbf44..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/html/img/disclosure.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/img/disclosure_open.png b/Carthage/Checkouts/PINRemoteImage/docs/html/img/disclosure_open.png deleted file mode 100644 index 82396fed..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/html/img/disclosure_open.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/img/library_background.png b/Carthage/Checkouts/PINRemoteImage/docs/html/img/library_background.png deleted file mode 100644 index 3006248a..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/html/img/library_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/img/title_background.png b/Carthage/Checkouts/PINRemoteImage/docs/html/img/title_background.png deleted file mode 100644 index 846e4968..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/docs/html/img/title_background.png and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/index.html b/Carthage/Checkouts/PINRemoteImage/docs/html/index.html deleted file mode 100644 index 4b4981bf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/index.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - PINRemoteImage Reference - - - - - - -
-
- -

- PINRemoteImage -

- -

- Pinterest -

- -
-
- - - -
-
-
-
-

PINRemoteImage Reference

- - - - - - -
-
-
-
- - - - \ No newline at end of file diff --git a/Carthage/Checkouts/PINRemoteImage/docs/html/js/script.js b/Carthage/Checkouts/PINRemoteImage/docs/html/js/script.js deleted file mode 100644 index 4074361c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/docs/html/js/script.js +++ /dev/null @@ -1,59 +0,0 @@ -function $() { - return document.querySelector.apply(document, arguments); -} - -if (navigator.userAgent.indexOf("Xcode") != -1) { - document.documentElement.classList.add("xcode"); -} - -var jumpTo = $("#jump-to"); - -if (jumpTo) { - jumpTo.addEventListener("change", function(e) { - location.hash = this.options[this.selectedIndex].value; - }); -} - -function hashChanged() { - if (/^#\/\/api\//.test(location.hash)) { - var element = document.querySelector("a[name='" + location.hash.substring(1) + "']"); - - if (!element) { - return; - } - - element = element.parentNode; - - element.classList.remove("hide"); - fixScrollPosition(element); - } -} - -function fixScrollPosition(element) { - var scrollTop = element.offsetTop - 150; - document.documentElement.scrollTop = scrollTop; - document.body.scrollTop = scrollTop; -} - -[].forEach.call(document.querySelectorAll(".section-method"), function(element) { - element.classList.add("hide"); - - element.querySelector(".method-title a").addEventListener("click", function(e) { - var info = element.querySelector(".method-info"), - infoContainer = element.querySelector(".method-info-container"); - - element.classList.add("animating"); - info.style.height = (infoContainer.clientHeight + 40) + "px"; - fixScrollPosition(element); - element.classList.toggle("hide"); - if (element.classList.contains("hide")) { - e.preventDefault(); - } - setTimeout(function() { - element.classList.remove("animating"); - }, 300); - }); -}); - -window.addEventListener("hashchange", hashChanged); -hashChanged(); diff --git a/Carthage/Checkouts/PINRemoteImage/progressive.gif b/Carthage/Checkouts/PINRemoteImage/progressive.gif deleted file mode 100644 index 934552a2..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/progressive.gif and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/Makefile deleted file mode 100644 index 6aa3e18e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/Makefile +++ /dev/null @@ -1,845 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - -VPATH = ../Carthage/Checkouts/libwebp -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -#am__append_1 = extras -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir distdir-am dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = src imageio man extras examples -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/src/webp/config.h.in AUTHORS COPYING ChangeLog \ - NEWS README ar-lib compile config.guess config.sub depcomp \ - install-sh ltmain.sh missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../Carthage/Checkouts/libwebp -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = -top_builddir = . -top_srcdir = ../Carthage/Checkouts/libwebp -ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = src imageio man $(am__append_1) examples -EXTRA_DIST = COPYING autogen.sh -all: all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -src/webp/config.h: src/webp/stamp-h1 - @test -f $@ || rm -f src/webp/stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) src/webp/stamp-h1 - -src/webp/stamp-h1: $(top_srcdir)/src/webp/config.h.in $(top_builddir)/config.status - @rm -f src/webp/stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status src/webp/config.h -$(top_srcdir)/src/webp/config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f src/webp/stamp-h1 - touch $@ - -distclean-hdr: - -rm -f src/webp/config.h src/webp/stamp-h1 - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-zstd: distdir - tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - *.tar.zst*) \ - zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip dist-zstd distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/Headers/decode.h b/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/Headers/decode.h deleted file mode 100644 index 80dd0ef0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/Headers/decode.h +++ /dev/null @@ -1,503 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0209 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header, returning true on success, -// false otherwise. '*width' and '*height' are only valid on successful return. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -WEBP_EXTERN int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling WebPFree(). -// Returns NULL in case of error. -WEBP_EXTERN uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be passed to -// WebPFree(), unlike the returned Y luma one. The dimension of the U and V -// planes are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN uint8_t* WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN uint8_t* WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If non-zero, 'internal_memory' pointer is not - // used. If value is '2' or more, the external - // memory is considered 'slow' and multiple - // read/write will be avoided. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is 0). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN void WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&output_buffer); -// output_buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&output_buffer); -// while (additional_data_is_available) { -// // ... (get additional data in some new_data[] buffer) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) { -// break; // an error occurred. -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// not set to 0. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN WebPIDecoder* WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN WebPIDecoder* WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN WebPIDecoder* WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN void WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN VP8StatusCode WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN VP8StatusCode WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. The values in these pointers are only valid on successful (non-NULL) -// return. -WEBP_EXTERN uint8_t* WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN uint8_t* WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless - - uint32_t pad[5]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN VP8StatusCode WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - int dithering_strength; // dithering strength (0=Off, 100=full) - int flip; // flip output vertically - int alpha_dithering_strength; // alpha dithering strength in [0..100] - - uint32_t pad[5]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. If 'config' is not NULL, it must outlive the WebPIDecoder object -// as some references to its fields will be used. No internal copy of 'config' -// is made. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition, if available). -WEBP_EXTERN WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). Note that 'config' cannot be NULL. -WEBP_EXTERN VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DECODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/Headers/encode.h b/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/Headers/encode.h deleted file mode 100644 index 655166e7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/Headers/encode.h +++ /dev/null @@ -1,546 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x020f // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'WebPFree(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN size_t WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -// Note these functions, like the lossy versions, use the library's default -// settings. For lossless this means 'exact' is disabled. RGB values in -// transparent areas will be modified to improve compression. To avoid this, -// use WebPEncode() and set WebPConfig::exact to 1. -WEBP_EXTERN size_t WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 and 100. For lossy, 0 gives the smallest - // size and 100 the largest. For lossless, this - // parameter is the amount of effort put into the - // compression: 0 is the fastest but gives larger - // files compared to the slowest, but best, 100. - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter: - // 0=none, 1=segment-smooth, 2=pseudo-random dithering - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - int near_lossless; // Near lossless encoding [0 = max loss .. 100 = off - // (default)]. - int exact; // if non-zero, preserve the exact RGB values under - // transparent area. Otherwise, discard this invisible - // RGB information for better compression. The default - // value is 0. - - int use_delta_palette; // reserved for future lossless feature - int use_sharp_yuv; // if needed, use sharp (and slow) RGB->YUV conversion - - uint32_t pad[2]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Activate the lossless compression mode with the desired efficiency level -// between 0 (fastest, lowest compression) and 9 (slower, best compression). -// A good default level is '6', providing a fair tradeoff between compression -// speed and final compressed size. -// This function will overwrite several fields from config: 'method', 'quality' -// and 'lossless'. Returns false in case of parameter error. -WEBP_EXTERN int WebPConfigLosslessPreset(WebPConfig* config, int level); - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN int WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics. - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - int lossless_hdr_size; // lossless header (transform, huffman etc) size - int lossless_data_size; // lossless image data size - - uint32_t pad[2]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN void WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The following must be called to deallocate writer->mem memory. The 'writer' -// object itself is not deallocated. -WEBP_EXTERN void WebPMemoryWriterClear(WebPMemoryWriter* writer); -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed by calling WebPMemoryWriterClear. -WEBP_EXTERN int WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV420A = 4, // alpha channel variant - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t* y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now - uint8_t* pad4, *pad5; - uint32_t pad6[8]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad7[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN void WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, *dst -// will fully own the copied pixels (this is not a view). The 'dst' picture need -// not be initialized as its content is overwritten. -// Returns false in case of memory allocation error. -WEBP_EXTERN int WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute the single distortion for packed planes of samples. -// 'src' will be compared to 'ref', and the raw distortion stored into -// '*distortion'. The refined metric (log(MSE), log(1 - ssim),...' will be -// stored in '*result'. -// 'x_step' is the horizontal stride (in bytes) between samples. -// 'src/ref_stride' is the byte distance between rows. -// Returns false in case of error (bad parameter, memory allocation error, ...). -WEBP_EXTERN int WebPPlaneDistortion(const uint8_t* src, size_t src_stride, - const uint8_t* ref, size_t ref_stride, - int width, int height, - size_t x_step, - int type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float* distortion, float* result); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. Results -// are in dB, stored in result[] in the B/G/R/A/All order. The distortion is -// always performed using ARGB samples. Hence if the input is YUV(A), the -// picture will be internally converted to ARGB (just for the measurement). -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN int WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN int WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). Picture 'dst' need not be initialized -// with WebPPictureInit() if it is different from 'src', since its content will -// be overwritten. -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN int WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN int WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// If either 'width' or 'height' (but not both) is 0 the corresponding -// dimension will be calculated preserving the aspect ratio. -// No gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN int WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN int WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN int WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN int WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN int WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN int WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUV420A format. The 'colorspace' -// parameter is deprecated and should be equal to WEBP_YUV420. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP /*colorspace = WEBP_YUV420*/); - -// Same as WebPPictureARGBToYUVA(), but the conversion is done using -// pseudo-random dithering with a strength 'dithering' between -// 0.0 (no dithering) and 1.0 (maximum dithering). This is useful -// for photographic picture. -WEBP_EXTERN int WebPPictureARGBToYUVADithered( - WebPPicture* picture, WebPEncCSP colorspace, float dithering); - -// Performs 'sharp' RGBA->YUVA420 downsampling and colorspace conversion. -// Downsampling is handled with extra care in case of color clipping. This -// method is roughly 2x slower than WebPPictureARGBToYUVA() but produces better -// and sharper YUV representation. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureSharpARGBToYUVA(WebPPicture* picture); -// kept for backward compatibility: -WEBP_EXTERN int WebPPictureSmartARGBToYUVA(WebPPicture* picture); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. The conversion from YUV420 to -// ARGB incurs a small loss too. -// Note that the use of this colorspace is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of RGBA or YUV(A) samples -// clean-up or smoothen the YUV or RGB samples under fully transparent area, -// to help compressibility (no guarantee, though). -WEBP_EXTERN void WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN int WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN void WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN int WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_ENCODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/Headers/types.h b/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/Headers/types.h deleted file mode 100644 index 47f7f2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/Headers/types.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Common types + memory wrappers -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) -#define WEBP_INLINE inline -#else -#define WEBP_INLINE -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -# if defined(__GNUC__) && __GNUC__ >= 4 -# define WEBP_EXTERN extern __attribute__ ((visibility ("default"))) -# else -# define WEBP_EXTERN extern -# endif /* __GNUC__ >= 4 */ -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#ifdef __cplusplus -extern "C" { -#endif - -// Allocates 'size' bytes of memory. Returns NULL upon error. Memory -// must be deallocated by calling WebPFree(). This function is made available -// by the core 'libwebp' library. -WEBP_EXTERN void* WebPMalloc(size_t size); - -// Releases memory returned by the WebPDecode*() functions (from decode.h). -WEBP_EXTERN void WebPFree(void* ptr); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/WebP b/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/WebP deleted file mode 100644 index cbbc2a79..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/WebP.framework/WebP and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPDecoder.framework/Headers/decode.h b/Carthage/Checkouts/PINRemoteImage/webp/WebPDecoder.framework/Headers/decode.h deleted file mode 100644 index 80dd0ef0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebPDecoder.framework/Headers/decode.h +++ /dev/null @@ -1,503 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0209 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header, returning true on success, -// false otherwise. '*width' and '*height' are only valid on successful return. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -WEBP_EXTERN int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling WebPFree(). -// Returns NULL in case of error. -WEBP_EXTERN uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be passed to -// WebPFree(), unlike the returned Y luma one. The dimension of the U and V -// planes are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN uint8_t* WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN uint8_t* WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If non-zero, 'internal_memory' pointer is not - // used. If value is '2' or more, the external - // memory is considered 'slow' and multiple - // read/write will be avoided. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is 0). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN void WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&output_buffer); -// output_buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&output_buffer); -// while (additional_data_is_available) { -// // ... (get additional data in some new_data[] buffer) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) { -// break; // an error occurred. -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// not set to 0. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN WebPIDecoder* WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN WebPIDecoder* WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN WebPIDecoder* WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN void WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN VP8StatusCode WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN VP8StatusCode WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. The values in these pointers are only valid on successful (non-NULL) -// return. -WEBP_EXTERN uint8_t* WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN uint8_t* WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless - - uint32_t pad[5]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN VP8StatusCode WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - int dithering_strength; // dithering strength (0=Off, 100=full) - int flip; // flip output vertically - int alpha_dithering_strength; // alpha dithering strength in [0..100] - - uint32_t pad[5]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. If 'config' is not NULL, it must outlive the WebPIDecoder object -// as some references to its fields will be used. No internal copy of 'config' -// is made. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition, if available). -WEBP_EXTERN WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). Note that 'config' cannot be NULL. -WEBP_EXTERN VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DECODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPDecoder.framework/Headers/types.h b/Carthage/Checkouts/PINRemoteImage/webp/WebPDecoder.framework/Headers/types.h deleted file mode 100644 index 47f7f2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebPDecoder.framework/Headers/types.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Common types + memory wrappers -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) -#define WEBP_INLINE inline -#else -#define WEBP_INLINE -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -# if defined(__GNUC__) && __GNUC__ >= 4 -# define WEBP_EXTERN extern __attribute__ ((visibility ("default"))) -# else -# define WEBP_EXTERN extern -# endif /* __GNUC__ >= 4 */ -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#ifdef __cplusplus -extern "C" { -#endif - -// Allocates 'size' bytes of memory. Returns NULL upon error. Memory -// must be deallocated by calling WebPFree(). This function is made available -// by the core 'libwebp' library. -WEBP_EXTERN void* WebPMalloc(size_t size); - -// Releases memory returned by the WebPDecode*() functions (from decode.h). -WEBP_EXTERN void WebPFree(void* ptr); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPDecoder.framework/WebPDecoder b/Carthage/Checkouts/PINRemoteImage/webp/WebPDecoder.framework/WebPDecoder deleted file mode 100644 index b9827f02..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/WebPDecoder.framework/WebPDecoder and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/decode.h b/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/decode.h deleted file mode 100644 index 80dd0ef0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/decode.h +++ /dev/null @@ -1,503 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0209 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header, returning true on success, -// false otherwise. '*width' and '*height' are only valid on successful return. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -WEBP_EXTERN int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling WebPFree(). -// Returns NULL in case of error. -WEBP_EXTERN uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be passed to -// WebPFree(), unlike the returned Y luma one. The dimension of the U and V -// planes are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN uint8_t* WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN uint8_t* WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If non-zero, 'internal_memory' pointer is not - // used. If value is '2' or more, the external - // memory is considered 'slow' and multiple - // read/write will be avoided. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is 0). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN void WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&output_buffer); -// output_buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&output_buffer); -// while (additional_data_is_available) { -// // ... (get additional data in some new_data[] buffer) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) { -// break; // an error occurred. -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// not set to 0. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN WebPIDecoder* WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN WebPIDecoder* WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN WebPIDecoder* WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN void WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN VP8StatusCode WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN VP8StatusCode WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. The values in these pointers are only valid on successful (non-NULL) -// return. -WEBP_EXTERN uint8_t* WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN uint8_t* WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless - - uint32_t pad[5]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN VP8StatusCode WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - int dithering_strength; // dithering strength (0=Off, 100=full) - int flip; // flip output vertically - int alpha_dithering_strength; // alpha dithering strength in [0..100] - - uint32_t pad[5]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. If 'config' is not NULL, it must outlive the WebPIDecoder object -// as some references to its fields will be used. No internal copy of 'config' -// is made. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition, if available). -WEBP_EXTERN WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). Note that 'config' cannot be NULL. -WEBP_EXTERN VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DECODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/demux.h b/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/demux.h deleted file mode 100644 index 846eeb15..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/demux.h +++ /dev/null @@ -1,363 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Demux API. -// Enables extraction of image and extended format data from WebP files. - -// Code Example: Demuxing WebP data to extract all the frames, ICC profile -// and EXIF/XMP metadata. -/* - WebPDemuxer* demux = WebPDemux(&webp_data); - - uint32_t width = WebPDemuxGetI(demux, WEBP_FF_CANVAS_WIDTH); - uint32_t height = WebPDemuxGetI(demux, WEBP_FF_CANVAS_HEIGHT); - // ... (Get information about the features present in the WebP file). - uint32_t flags = WebPDemuxGetI(demux, WEBP_FF_FORMAT_FLAGS); - - // ... (Iterate over all frames). - WebPIterator iter; - if (WebPDemuxGetFrame(demux, 1, &iter)) { - do { - // ... (Consume 'iter'; e.g. Decode 'iter.fragment' with WebPDecode(), - // ... and get other frame properties like width, height, offsets etc. - // ... see 'struct WebPIterator' below for more info). - } while (WebPDemuxNextFrame(&iter)); - WebPDemuxReleaseIterator(&iter); - } - - // ... (Extract metadata). - WebPChunkIterator chunk_iter; - if (flags & ICCP_FLAG) WebPDemuxGetChunk(demux, "ICCP", 1, &chunk_iter); - // ... (Consume the ICC profile in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & EXIF_FLAG) WebPDemuxGetChunk(demux, "EXIF", 1, &chunk_iter); - // ... (Consume the EXIF metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & XMP_FLAG) WebPDemuxGetChunk(demux, "XMP ", 1, &chunk_iter); - // ... (Consume the XMP metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - WebPDemuxDelete(demux); -*/ - -#ifndef WEBP_WEBP_DEMUX_H_ -#define WEBP_WEBP_DEMUX_H_ - -#include "./decode.h" // for WEBP_CSP_MODE -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DEMUX_ABI_VERSION 0x0107 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPDemuxState WebPDemuxState; -// typedef enum WebPFormatFeature WebPFormatFeature; -typedef struct WebPDemuxer WebPDemuxer; -typedef struct WebPIterator WebPIterator; -typedef struct WebPChunkIterator WebPChunkIterator; -typedef struct WebPAnimInfo WebPAnimInfo; -typedef struct WebPAnimDecoderOptions WebPAnimDecoderOptions; - -//------------------------------------------------------------------------------ - -// Returns the version number of the demux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDemuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Demux object - -typedef enum WebPDemuxState { - WEBP_DEMUX_PARSE_ERROR = -1, // An error occurred while parsing. - WEBP_DEMUX_PARSING_HEADER = 0, // Not enough data to parse full header. - WEBP_DEMUX_PARSED_HEADER = 1, // Header parsing complete, - // data may be available. - WEBP_DEMUX_DONE = 2 // Entire file has been parsed. -} WebPDemuxState; - -// Internal, version-checked, entry point -WEBP_EXTERN WebPDemuxer* WebPDemuxInternal( - const WebPData*, int, WebPDemuxState*, int); - -// Parses the full WebP file given by 'data'. For single images the WebP file -// header alone or the file header and the chunk header may be absent. -// Returns a WebPDemuxer object on successful parse, NULL otherwise. -static WEBP_INLINE WebPDemuxer* WebPDemux(const WebPData* data) { - return WebPDemuxInternal(data, 0, NULL, WEBP_DEMUX_ABI_VERSION); -} - -// Parses the possibly incomplete WebP file given by 'data'. -// If 'state' is non-NULL it will be set to indicate the status of the demuxer. -// Returns NULL in case of error or if there isn't enough data to start parsing; -// and a WebPDemuxer object on successful parse. -// Note that WebPDemuxer keeps internal pointers to 'data' memory segment. -// If this data is volatile, the demuxer object should be deleted (by calling -// WebPDemuxDelete()) and WebPDemuxPartial() called again on the new data. -// This is usually an inexpensive operation. -static WEBP_INLINE WebPDemuxer* WebPDemuxPartial( - const WebPData* data, WebPDemuxState* state) { - return WebPDemuxInternal(data, 1, state, WEBP_DEMUX_ABI_VERSION); -} - -// Frees memory associated with 'dmux'. -WEBP_EXTERN void WebPDemuxDelete(WebPDemuxer* dmux); - -//------------------------------------------------------------------------------ -// Data/information extraction. - -typedef enum WebPFormatFeature { - WEBP_FF_FORMAT_FLAGS, // bit-wise combination of WebPFeatureFlags - // corresponding to the 'VP8X' chunk (if present). - WEBP_FF_CANVAS_WIDTH, - WEBP_FF_CANVAS_HEIGHT, - WEBP_FF_LOOP_COUNT, // only relevant for animated file - WEBP_FF_BACKGROUND_COLOR, // idem. - WEBP_FF_FRAME_COUNT // Number of frames present in the demux object. - // In case of a partial demux, this is the number - // of frames seen so far, with the last frame - // possibly being partial. -} WebPFormatFeature; - -// Get the 'feature' value from the 'dmux'. -// NOTE: values are only valid if WebPDemux() was used or WebPDemuxPartial() -// returned a state > WEBP_DEMUX_PARSING_HEADER. -// If 'feature' is WEBP_FF_FORMAT_FLAGS, the returned value is a bit-wise -// combination of WebPFeatureFlags values. -// If 'feature' is WEBP_FF_LOOP_COUNT, WEBP_FF_BACKGROUND_COLOR, the returned -// value is only meaningful if the bitstream is animated. -WEBP_EXTERN uint32_t WebPDemuxGetI( - const WebPDemuxer* dmux, WebPFormatFeature feature); - -//------------------------------------------------------------------------------ -// Frame iteration. - -struct WebPIterator { - int frame_num; - int num_frames; // equivalent to WEBP_FF_FRAME_COUNT. - int x_offset, y_offset; // offset relative to the canvas. - int width, height; // dimensions of this frame. - int duration; // display duration in milliseconds. - WebPMuxAnimDispose dispose_method; // dispose method for the frame. - int complete; // true if 'fragment' contains a full frame. partial images - // may still be decoded with the WebP incremental decoder. - WebPData fragment; // The frame given by 'frame_num'. Note for historical - // reasons this is called a fragment. - int has_alpha; // True if the frame contains transparency. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - - uint32_t pad[2]; // padding for later use. - void* private_; // for internal use only. -}; - -// Retrieves frame 'frame_number' from 'dmux'. -// 'iter->fragment' points to the frame on return from this function. -// Setting 'frame_number' equal to 0 will return the last frame of the image. -// Returns false if 'dmux' is NULL or frame 'frame_number' is not present. -// Call WebPDemuxReleaseIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of 'iter'. -WEBP_EXTERN int WebPDemuxGetFrame( - const WebPDemuxer* dmux, int frame_number, WebPIterator* iter); - -// Sets 'iter->fragment' to point to the next ('iter->frame_num' + 1) or -// previous ('iter->frame_num' - 1) frame. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextFrame(WebPIterator* iter); -WEBP_EXTERN int WebPDemuxPrevFrame(WebPIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before any subsequent calls to WebPDemuxGetChunk() on the same -// iter. Also, must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseIterator(WebPIterator* iter); - -//------------------------------------------------------------------------------ -// Chunk iteration. - -struct WebPChunkIterator { - // The current and total number of chunks with the fourcc given to - // WebPDemuxGetChunk(). - int chunk_num; - int num_chunks; - WebPData chunk; // The payload of the chunk. - - uint32_t pad[6]; // padding for later use - void* private_; -}; - -// Retrieves the 'chunk_number' instance of the chunk with id 'fourcc' from -// 'dmux'. -// 'fourcc' is a character array containing the fourcc of the chunk to return, -// e.g., "ICCP", "XMP ", "EXIF", etc. -// Setting 'chunk_number' equal to 0 will return the last chunk in a set. -// Returns true if the chunk is found, false otherwise. Image related chunk -// payloads are accessed through WebPDemuxGetFrame() and related functions. -// Call WebPDemuxReleaseChunkIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of the iterator. -WEBP_EXTERN int WebPDemuxGetChunk(const WebPDemuxer* dmux, - const char fourcc[4], int chunk_number, - WebPChunkIterator* iter); - -// Sets 'iter->chunk' to point to the next ('iter->chunk_num' + 1) or previous -// ('iter->chunk_num' - 1) chunk. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextChunk(WebPChunkIterator* iter); -WEBP_EXTERN int WebPDemuxPrevChunk(WebPChunkIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseChunkIterator(WebPChunkIterator* iter); - -//------------------------------------------------------------------------------ -// WebPAnimDecoder API -// -// This API allows decoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimDecoderOptions dec_options; - WebPAnimDecoderOptionsInit(&dec_options); - // Tune 'dec_options' as needed. - WebPAnimDecoder* dec = WebPAnimDecoderNew(webp_data, &dec_options); - WebPAnimInfo anim_info; - WebPAnimDecoderGetInfo(dec, &anim_info); - for (uint32_t i = 0; i < anim_info.loop_count; ++i) { - while (WebPAnimDecoderHasMoreFrames(dec)) { - uint8_t* buf; - int timestamp; - WebPAnimDecoderGetNext(dec, &buf, ×tamp); - // ... (Render 'buf' based on 'timestamp'). - // ... (Do NOT free 'buf', as it is owned by 'dec'). - } - WebPAnimDecoderReset(dec); - } - const WebPDemuxer* demuxer = WebPAnimDecoderGetDemuxer(dec); - // ... (Do something using 'demuxer'; e.g. get EXIF/XMP/ICC data). - WebPAnimDecoderDelete(dec); -*/ - -typedef struct WebPAnimDecoder WebPAnimDecoder; // Main opaque object. - -// Global options. -struct WebPAnimDecoderOptions { - // Output colorspace. Only the following modes are supported: - // MODE_RGBA, MODE_BGRA, MODE_rgbA and MODE_bgrA. - WEBP_CSP_MODE color_mode; - int use_threads; // If true, use multi-threaded decoding. - uint32_t padding[7]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimDecoderOptionsInitInternal( - WebPAnimDecoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimDecoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimDecoderOptionsInit() must have succeeded before using the -// 'dec_options' object. -static WEBP_INLINE int WebPAnimDecoderOptionsInit( - WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderOptionsInitInternal(dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimDecoder* WebPAnimDecoderNewInternal( - const WebPData*, const WebPAnimDecoderOptions*, int); - -// Creates and initializes a WebPAnimDecoder object. -// Parameters: -// webp_data - (in) WebP bitstream. This should remain unchanged during the -// lifetime of the output WebPAnimDecoder object. -// dec_options - (in) decoding options. Can be passed NULL to choose -// reasonable defaults (in particular, color mode MODE_RGBA -// will be picked). -// Returns: -// A pointer to the newly created WebPAnimDecoder object, or NULL in case of -// parsing error, invalid option or memory error. -static WEBP_INLINE WebPAnimDecoder* WebPAnimDecoderNew( - const WebPData* webp_data, const WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderNewInternal(webp_data, dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Global information about the animation.. -struct WebPAnimInfo { - uint32_t canvas_width; - uint32_t canvas_height; - uint32_t loop_count; - uint32_t bgcolor; - uint32_t frame_count; - uint32_t pad[4]; // padding for later use -}; - -// Get global information about the animation. -// Parameters: -// dec - (in) decoder instance to get information from. -// info - (out) global information fetched from the animation. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimDecoderGetInfo(const WebPAnimDecoder* dec, - WebPAnimInfo* info); - -// Fetch the next frame from 'dec' based on options supplied to -// WebPAnimDecoderNew(). This will be a fully reconstructed canvas of size -// 'canvas_width * 4 * canvas_height', and not just the frame sub-rectangle. The -// returned buffer 'buf' is valid only until the next call to -// WebPAnimDecoderGetNext(), WebPAnimDecoderReset() or WebPAnimDecoderDelete(). -// Parameters: -// dec - (in/out) decoder instance from which the next frame is to be fetched. -// buf - (out) decoded frame. -// timestamp - (out) timestamp of the frame in milliseconds. -// Returns: -// False if any of the arguments are NULL, or if there is a parsing or -// decoding error, or if there are no more frames. Otherwise, returns true. -WEBP_EXTERN int WebPAnimDecoderGetNext(WebPAnimDecoder* dec, - uint8_t** buf, int* timestamp); - -// Check if there are more frames left to decode. -// Parameters: -// dec - (in) decoder instance to be checked. -// Returns: -// True if 'dec' is not NULL and some frames are yet to be decoded. -// Otherwise, returns false. -WEBP_EXTERN int WebPAnimDecoderHasMoreFrames(const WebPAnimDecoder* dec); - -// Resets the WebPAnimDecoder object, so that next call to -// WebPAnimDecoderGetNext() will restart decoding from 1st frame. This would be -// helpful when all frames need to be decoded multiple times (e.g. -// info.loop_count times) without destroying and recreating the 'dec' object. -// Parameters: -// dec - (in/out) decoder instance to be reset -WEBP_EXTERN void WebPAnimDecoderReset(WebPAnimDecoder* dec); - -// Grab the internal demuxer object. -// Getting the demuxer object can be useful if one wants to use operations only -// available through demuxer; e.g. to get XMP/EXIF/ICC metadata. The returned -// demuxer object is owned by 'dec' and is valid only until the next call to -// WebPAnimDecoderDelete(). -// -// Parameters: -// dec - (in) decoder instance from which the demuxer object is to be fetched. -WEBP_EXTERN const WebPDemuxer* WebPAnimDecoderGetDemuxer( - const WebPAnimDecoder* dec); - -// Deletes the WebPAnimDecoder object. -// Parameters: -// dec - (in/out) decoder instance to be deleted -WEBP_EXTERN void WebPAnimDecoderDelete(WebPAnimDecoder* dec); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DEMUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/mux_types.h b/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/mux_types.h deleted file mode 100644 index 2fe81958..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/mux_types.h +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Data-types common to the mux and demux libraries. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_WEBP_MUX_TYPES_H_ -#define WEBP_WEBP_MUX_TYPES_H_ - -#include // memset() -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPFeatureFlags WebPFeatureFlags; -// typedef enum WebPMuxAnimDispose WebPMuxAnimDispose; -// typedef enum WebPMuxAnimBlend WebPMuxAnimBlend; -typedef struct WebPData WebPData; - -// VP8X Feature Flags. -typedef enum WebPFeatureFlags { - ANIMATION_FLAG = 0x00000002, - XMP_FLAG = 0x00000004, - EXIF_FLAG = 0x00000008, - ALPHA_FLAG = 0x00000010, - ICCP_FLAG = 0x00000020, - - ALL_VALID_FLAGS = 0x0000003e -} WebPFeatureFlags; - -// Dispose method (animation only). Indicates how the area used by the current -// frame is to be treated before rendering the next frame on the canvas. -typedef enum WebPMuxAnimDispose { - WEBP_MUX_DISPOSE_NONE, // Do not dispose. - WEBP_MUX_DISPOSE_BACKGROUND // Dispose to background color. -} WebPMuxAnimDispose; - -// Blend operation (animation only). Indicates how transparent pixels of the -// current frame are blended with those of the previous canvas. -typedef enum WebPMuxAnimBlend { - WEBP_MUX_BLEND, // Blend. - WEBP_MUX_NO_BLEND // Do not blend. -} WebPMuxAnimBlend; - -// Data type used to describe 'raw' data, e.g., chunk data -// (ICC profile, metadata) and WebP compressed image data. -// 'bytes' memory must be allocated using WebPMalloc() and such. -struct WebPData { - const uint8_t* bytes; - size_t size; -}; - -// Initializes the contents of the 'webp_data' object with default values. -static WEBP_INLINE void WebPDataInit(WebPData* webp_data) { - if (webp_data != NULL) { - memset(webp_data, 0, sizeof(*webp_data)); - } -} - -// Clears the contents of the 'webp_data' object by calling WebPFree(). -// Does not deallocate the object itself. -static WEBP_INLINE void WebPDataClear(WebPData* webp_data) { - if (webp_data != NULL) { - WebPFree((void*)webp_data->bytes); - WebPDataInit(webp_data); - } -} - -// Allocates necessary storage for 'dst' and copies the contents of 'src'. -// Returns true on success. -static WEBP_INLINE int WebPDataCopy(const WebPData* src, WebPData* dst) { - if (src == NULL || dst == NULL) return 0; - WebPDataInit(dst); - if (src->bytes != NULL && src->size != 0) { - dst->bytes = (uint8_t*)WebPMalloc(src->size); - if (dst->bytes == NULL) return 0; - memcpy((void*)dst->bytes, src->bytes, src->size); - dst->size = src->size; - } - return 1; -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/types.h b/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/types.h deleted file mode 100644 index 47f7f2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/Headers/types.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Common types + memory wrappers -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) -#define WEBP_INLINE inline -#else -#define WEBP_INLINE -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -# if defined(__GNUC__) && __GNUC__ >= 4 -# define WEBP_EXTERN extern __attribute__ ((visibility ("default"))) -# else -# define WEBP_EXTERN extern -# endif /* __GNUC__ >= 4 */ -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#ifdef __cplusplus -extern "C" { -#endif - -// Allocates 'size' bytes of memory. Returns NULL upon error. Memory -// must be deallocated by calling WebPFree(). This function is made available -// by the core 'libwebp' library. -WEBP_EXTERN void* WebPMalloc(size_t size); - -// Releases memory returned by the WebPDecode*() functions (from decode.h). -WEBP_EXTERN void WebPFree(void* ptr); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/WebPDemux b/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/WebPDemux deleted file mode 100644 index 53b5e177..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/WebPDemux.framework/WebPDemux and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/Headers/mux.h b/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/Headers/mux.h deleted file mode 100644 index 7d27489a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/Headers/mux.h +++ /dev/null @@ -1,530 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// RIFF container manipulation and encoding for WebP images. -// -// Authors: Urvang (urvang@google.com) -// Vikas (vikasa@google.com) - -#ifndef WEBP_WEBP_MUX_H_ -#define WEBP_WEBP_MUX_H_ - -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_MUX_ABI_VERSION 0x0108 // MAJOR(8b) + MINOR(8b) - -//------------------------------------------------------------------------------ -// Mux API -// -// This API allows manipulation of WebP container images containing features -// like color profile, metadata, animation. -// -// Code Example#1: Create a WebPMux object with image data, color profile and -// XMP metadata. -/* - int copy_data = 0; - WebPMux* mux = WebPMuxNew(); - // ... (Prepare image data). - WebPMuxSetImage(mux, &image, copy_data); - // ... (Prepare ICCP color profile data). - WebPMuxSetChunk(mux, "ICCP", &icc_profile, copy_data); - // ... (Prepare XMP metadata). - WebPMuxSetChunk(mux, "XMP ", &xmp, copy_data); - // Get data from mux in WebP RIFF format. - WebPMuxAssemble(mux, &output_data); - WebPMuxDelete(mux); - // ... (Consume output_data; e.g. write output_data.bytes to file). - WebPDataClear(&output_data); -*/ - -// Code Example#2: Get image and color profile data from a WebP file. -/* - int copy_data = 0; - // ... (Read data from file). - WebPMux* mux = WebPMuxCreate(&data, copy_data); - WebPMuxGetFrame(mux, 1, &image); - // ... (Consume image; e.g. call WebPDecode() to decode the data). - WebPMuxGetChunk(mux, "ICCP", &icc_profile); - // ... (Consume icc_data). - WebPMuxDelete(mux); - WebPFree(data); -*/ - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPMuxError WebPMuxError; -// typedef enum WebPChunkId WebPChunkId; -typedef struct WebPMux WebPMux; // main opaque object. -typedef struct WebPMuxFrameInfo WebPMuxFrameInfo; -typedef struct WebPMuxAnimParams WebPMuxAnimParams; -typedef struct WebPAnimEncoderOptions WebPAnimEncoderOptions; - -// Error codes -typedef enum WebPMuxError { - WEBP_MUX_OK = 1, - WEBP_MUX_NOT_FOUND = 0, - WEBP_MUX_INVALID_ARGUMENT = -1, - WEBP_MUX_BAD_DATA = -2, - WEBP_MUX_MEMORY_ERROR = -3, - WEBP_MUX_NOT_ENOUGH_DATA = -4 -} WebPMuxError; - -// IDs for different types of chunks. -typedef enum WebPChunkId { - WEBP_CHUNK_VP8X, // VP8X - WEBP_CHUNK_ICCP, // ICCP - WEBP_CHUNK_ANIM, // ANIM - WEBP_CHUNK_ANMF, // ANMF - WEBP_CHUNK_DEPRECATED, // (deprecated from FRGM) - WEBP_CHUNK_ALPHA, // ALPH - WEBP_CHUNK_IMAGE, // VP8/VP8L - WEBP_CHUNK_EXIF, // EXIF - WEBP_CHUNK_XMP, // XMP - WEBP_CHUNK_UNKNOWN, // Other chunks. - WEBP_CHUNK_NIL -} WebPChunkId; - -//------------------------------------------------------------------------------ - -// Returns the version number of the mux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetMuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Mux object - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPNewInternal(int); - -// Creates an empty mux object. -// Returns: -// A pointer to the newly created empty mux object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPMux* WebPMuxNew(void) { - return WebPNewInternal(WEBP_MUX_ABI_VERSION); -} - -// Deletes the mux object. -// Parameters: -// mux - (in/out) object to be deleted -WEBP_EXTERN void WebPMuxDelete(WebPMux* mux); - -//------------------------------------------------------------------------------ -// Mux creation. - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPMuxCreateInternal(const WebPData*, int, int); - -// Creates a mux object from raw data given in WebP RIFF format. -// Parameters: -// bitstream - (in) the bitstream data in WebP RIFF format -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// A pointer to the mux object created from given data - on success. -// NULL - In case of invalid data or memory error. -static WEBP_INLINE WebPMux* WebPMuxCreate(const WebPData* bitstream, - int copy_data) { - return WebPMuxCreateInternal(bitstream, copy_data, WEBP_MUX_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// Non-image chunks. - -// Note: Only non-image related chunks should be managed through chunk APIs. -// (Image related chunks are: "ANMF", "VP8 ", "VP8L" and "ALPH"). -// To add, get and delete images, use WebPMuxSetImage(), WebPMuxPushFrame(), -// WebPMuxGetFrame() and WebPMuxDeleteFrame(). - -// Adds a chunk with id 'fourcc' and data 'chunk_data' in the mux object. -// Any existing chunk(s) with the same id will be removed. -// Parameters: -// mux - (in/out) object to which the chunk is to be added -// fourcc - (in) a character array containing the fourcc of the given chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (in) the chunk data to be added -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetChunk( - WebPMux* mux, const char fourcc[4], const WebPData* chunk_data, - int copy_data); - -// Gets a reference to the data of the chunk with id 'fourcc' in the mux object. -// The caller should NOT free the returned data. -// Parameters: -// mux - (in) object from which the chunk data is to be fetched -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (out) returned chunk data -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given id. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetChunk( - const WebPMux* mux, const char fourcc[4], WebPData* chunk_data); - -// Deletes the chunk with the given 'fourcc' from the mux object. -// Parameters: -// mux - (in/out) object from which the chunk is to be deleted -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or fourcc is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given fourcc. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteChunk( - WebPMux* mux, const char fourcc[4]); - -//------------------------------------------------------------------------------ -// Images. - -// Encapsulates data about a single frame. -struct WebPMuxFrameInfo { - WebPData bitstream; // image data: can be a raw VP8/VP8L bitstream - // or a single-image WebP file. - int x_offset; // x-offset of the frame. - int y_offset; // y-offset of the frame. - int duration; // duration of the frame (in milliseconds). - - WebPChunkId id; // frame type: should be one of WEBP_CHUNK_ANMF - // or WEBP_CHUNK_IMAGE - WebPMuxAnimDispose dispose_method; // Disposal method for the frame. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - uint32_t pad[1]; // padding for later use -}; - -// Sets the (non-animated) image in the mux object. -// Note: Any existing images (including frames) will be removed. -// Parameters: -// mux - (in/out) object in which the image is to be set -// bitstream - (in) can be a raw VP8/VP8L bitstream or a single-image -// WebP file (non-animated) -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL or bitstream is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetImage( - WebPMux* mux, const WebPData* bitstream, int copy_data); - -// Adds a frame at the end of the mux object. -// Notes: (1) frame.id should be WEBP_CHUNK_ANMF -// (2) For setting a non-animated image, use WebPMuxSetImage() instead. -// (3) Type of frame being pushed must be same as the frames in mux. -// (4) As WebP only supports even offsets, any odd offset will be snapped -// to an even location using: offset &= ~1 -// Parameters: -// mux - (in/out) object to which the frame is to be added -// frame - (in) frame data. -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL -// or if content of 'frame' is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxPushFrame( - WebPMux* mux, const WebPMuxFrameInfo* frame, int copy_data); - -// Gets the nth frame from the mux object. -// The content of 'frame->bitstream' is allocated using WebPMalloc(), and NOT -// owned by the 'mux' object. It MUST be deallocated by the caller by calling -// WebPDataClear(). -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in) object from which the info is to be fetched -// nth - (in) index of the frame in the mux object -// frame - (out) data of the returned frame -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL. -// WEBP_MUX_NOT_FOUND - if there are less than nth frames in the mux object. -// WEBP_MUX_BAD_DATA - if nth frame chunk in mux is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFrame( - const WebPMux* mux, uint32_t nth, WebPMuxFrameInfo* frame); - -// Deletes a frame from the mux object. -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in/out) object from which a frame is to be deleted -// nth - (in) The position from which the frame is to be deleted -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL. -// WEBP_MUX_NOT_FOUND - If there are less than nth frames in the mux object -// before deletion. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteFrame(WebPMux* mux, uint32_t nth); - -//------------------------------------------------------------------------------ -// Animation. - -// Animation parameters. -struct WebPMuxAnimParams { - uint32_t bgcolor; // Background color of the canvas stored (in MSB order) as: - // Bits 00 to 07: Alpha. - // Bits 08 to 15: Red. - // Bits 16 to 23: Green. - // Bits 24 to 31: Blue. - int loop_count; // Number of times to repeat the animation [0 = infinite]. -}; - -// Sets the animation parameters in the mux object. Any existing ANIM chunks -// will be removed. -// Parameters: -// mux - (in/out) object in which ANIM chunk is to be set/added -// params - (in) animation parameters. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetAnimationParams( - WebPMux* mux, const WebPMuxAnimParams* params); - -// Gets the animation parameters from the mux object. -// Parameters: -// mux - (in) object from which the animation parameters to be fetched -// params - (out) animation parameters extracted from the ANIM chunk -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_NOT_FOUND - if ANIM chunk is not present in mux object. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetAnimationParams( - const WebPMux* mux, WebPMuxAnimParams* params); - -//------------------------------------------------------------------------------ -// Misc Utilities. - -// Sets the canvas size for the mux object. The width and height can be -// specified explicitly or left as zero (0, 0). -// * When width and height are specified explicitly, then this frame bound is -// enforced during subsequent calls to WebPMuxAssemble() and an error is -// reported if any animated frame does not completely fit within the canvas. -// * When unspecified (0, 0), the constructed canvas will get the frame bounds -// from the bounding-box over all frames after calling WebPMuxAssemble(). -// Parameters: -// mux - (in) object to which the canvas size is to be set -// width - (in) canvas width -// height - (in) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL; or -// width or height are invalid or out of bounds -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetCanvasSize(WebPMux* mux, - int width, int height); - -// Gets the canvas size from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the canvas size is to be fetched -// width - (out) canvas width -// height - (out) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, width or height is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetCanvasSize(const WebPMux* mux, - int* width, int* height); - -// Gets the feature flags from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the features are to be fetched -// flags - (out) the flags specifying which features are present in the -// mux object. This will be an OR of various flag values. -// Enum 'WebPFeatureFlags' can be used to test individual flag values. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or flags is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFeatures(const WebPMux* mux, - uint32_t* flags); - -// Gets number of chunks with the given 'id' in the mux object. -// Parameters: -// mux - (in) object from which the info is to be fetched -// id - (in) chunk id specifying the type of chunk -// num_elements - (out) number of chunks with the given chunk id -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, or num_elements is NULL. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxNumChunks(const WebPMux* mux, - WebPChunkId id, int* num_elements); - -// Assembles all chunks in WebP RIFF format and returns in 'assembled_data'. -// This function also validates the mux object. -// Note: The content of 'assembled_data' will be ignored and overwritten. -// Also, the content of 'assembled_data' is allocated using WebPMalloc(), and -// NOT owned by the 'mux' object. It MUST be deallocated by the caller by -// calling WebPDataClear(). It's always safe to call WebPDataClear() upon -// return, even in case of error. -// Parameters: -// mux - (in/out) object whose chunks are to be assembled -// assembled_data - (out) assembled WebP data -// Returns: -// WEBP_MUX_BAD_DATA - if mux object is invalid. -// WEBP_MUX_INVALID_ARGUMENT - if mux or assembled_data is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxAssemble(WebPMux* mux, - WebPData* assembled_data); - -//------------------------------------------------------------------------------ -// WebPAnimEncoder API -// -// This API allows encoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimEncoderOptions enc_options; - WebPAnimEncoderOptionsInit(&enc_options); - // Tune 'enc_options' as needed. - WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, &enc_options); - while() { - WebPConfig config; - WebPConfigInit(&config); - // Tune 'config' as needed. - WebPAnimEncoderAdd(enc, frame, timestamp_ms, &config); - } - WebPAnimEncoderAdd(enc, NULL, timestamp_ms, NULL); - WebPAnimEncoderAssemble(enc, webp_data); - WebPAnimEncoderDelete(enc); - // Write the 'webp_data' to a file, or re-mux it further. -*/ - -typedef struct WebPAnimEncoder WebPAnimEncoder; // Main opaque object. - -// Forward declarations. Defined in encode.h. -struct WebPPicture; -struct WebPConfig; - -// Global options. -struct WebPAnimEncoderOptions { - WebPMuxAnimParams anim_params; // Animation parameters. - int minimize_size; // If true, minimize the output size (slow). Implicitly - // disables key-frame insertion. - int kmin; - int kmax; // Minimum and maximum distance between consecutive key - // frames in the output. The library may insert some key - // frames as needed to satisfy this criteria. - // Note that these conditions should hold: kmax > kmin - // and kmin >= kmax / 2 + 1. Also, if kmax <= 0, then - // key-frame insertion is disabled; and if kmax == 1, - // then all frames will be key-frames (kmin value does - // not matter for these special cases). - int allow_mixed; // If true, use mixed compression mode; may choose - // either lossy and lossless for each frame. - int verbose; // If true, print info and warning messages to stderr. - - uint32_t padding[4]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimEncoderOptionsInitInternal( - WebPAnimEncoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimEncoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimEncoderOptionsInit() must have succeeded before using the -// 'enc_options' object. -static WEBP_INLINE int WebPAnimEncoderOptionsInit( - WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderOptionsInitInternal(enc_options, WEBP_MUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimEncoder* WebPAnimEncoderNewInternal( - int, int, const WebPAnimEncoderOptions*, int); - -// Creates and initializes a WebPAnimEncoder object. -// Parameters: -// width/height - (in) canvas width and height of the animation. -// enc_options - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// A pointer to the newly created WebPAnimEncoder object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPAnimEncoder* WebPAnimEncoderNew( - int width, int height, const WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderNewInternal(width, height, enc_options, - WEBP_MUX_ABI_VERSION); -} - -// Optimize the given frame for WebP, encode it and add it to the -// WebPAnimEncoder object. -// The last call to 'WebPAnimEncoderAdd' should be with frame = NULL, which -// indicates that no more frames are to be added. This call is also used to -// determine the duration of the last frame. -// Parameters: -// enc - (in/out) object to which the frame is to be added. -// frame - (in/out) frame data in ARGB or YUV(A) format. If it is in YUV(A) -// format, it will be converted to ARGB, which incurs a small loss. -// timestamp_ms - (in) timestamp of this frame in milliseconds. -// Duration of a frame would be calculated as -// "timestamp of next frame - timestamp of this frame". -// Hence, timestamps should be in non-decreasing order. -// config - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// On error, returns false and frame->error_code is set appropriately. -// Otherwise, returns true. -WEBP_EXTERN int WebPAnimEncoderAdd( - WebPAnimEncoder* enc, struct WebPPicture* frame, int timestamp_ms, - const struct WebPConfig* config); - -// Assemble all frames added so far into a WebP bitstream. -// This call should be preceded by a call to 'WebPAnimEncoderAdd' with -// frame = NULL; if not, the duration of the last frame will be internally -// estimated. -// Parameters: -// enc - (in/out) object from which the frames are to be assembled. -// webp_data - (out) generated WebP bitstream. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimEncoderAssemble(WebPAnimEncoder* enc, - WebPData* webp_data); - -// Get error string corresponding to the most recent call using 'enc'. The -// returned string is owned by 'enc' and is valid only until the next call to -// WebPAnimEncoderAdd() or WebPAnimEncoderAssemble() or WebPAnimEncoderDelete(). -// Parameters: -// enc - (in/out) object from which the error string is to be fetched. -// Returns: -// NULL if 'enc' is NULL. Otherwise, returns the error string if the last call -// to 'enc' had an error, or an empty string if the last call was a success. -WEBP_EXTERN const char* WebPAnimEncoderGetError(WebPAnimEncoder* enc); - -// Deletes the WebPAnimEncoder object. -// Parameters: -// enc - (in/out) object to be deleted -WEBP_EXTERN void WebPAnimEncoderDelete(WebPAnimEncoder* enc); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/Headers/mux_types.h b/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/Headers/mux_types.h deleted file mode 100644 index 2fe81958..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/Headers/mux_types.h +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Data-types common to the mux and demux libraries. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_WEBP_MUX_TYPES_H_ -#define WEBP_WEBP_MUX_TYPES_H_ - -#include // memset() -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPFeatureFlags WebPFeatureFlags; -// typedef enum WebPMuxAnimDispose WebPMuxAnimDispose; -// typedef enum WebPMuxAnimBlend WebPMuxAnimBlend; -typedef struct WebPData WebPData; - -// VP8X Feature Flags. -typedef enum WebPFeatureFlags { - ANIMATION_FLAG = 0x00000002, - XMP_FLAG = 0x00000004, - EXIF_FLAG = 0x00000008, - ALPHA_FLAG = 0x00000010, - ICCP_FLAG = 0x00000020, - - ALL_VALID_FLAGS = 0x0000003e -} WebPFeatureFlags; - -// Dispose method (animation only). Indicates how the area used by the current -// frame is to be treated before rendering the next frame on the canvas. -typedef enum WebPMuxAnimDispose { - WEBP_MUX_DISPOSE_NONE, // Do not dispose. - WEBP_MUX_DISPOSE_BACKGROUND // Dispose to background color. -} WebPMuxAnimDispose; - -// Blend operation (animation only). Indicates how transparent pixels of the -// current frame are blended with those of the previous canvas. -typedef enum WebPMuxAnimBlend { - WEBP_MUX_BLEND, // Blend. - WEBP_MUX_NO_BLEND // Do not blend. -} WebPMuxAnimBlend; - -// Data type used to describe 'raw' data, e.g., chunk data -// (ICC profile, metadata) and WebP compressed image data. -// 'bytes' memory must be allocated using WebPMalloc() and such. -struct WebPData { - const uint8_t* bytes; - size_t size; -}; - -// Initializes the contents of the 'webp_data' object with default values. -static WEBP_INLINE void WebPDataInit(WebPData* webp_data) { - if (webp_data != NULL) { - memset(webp_data, 0, sizeof(*webp_data)); - } -} - -// Clears the contents of the 'webp_data' object by calling WebPFree(). -// Does not deallocate the object itself. -static WEBP_INLINE void WebPDataClear(WebPData* webp_data) { - if (webp_data != NULL) { - WebPFree((void*)webp_data->bytes); - WebPDataInit(webp_data); - } -} - -// Allocates necessary storage for 'dst' and copies the contents of 'src'. -// Returns true on success. -static WEBP_INLINE int WebPDataCopy(const WebPData* src, WebPData* dst) { - if (src == NULL || dst == NULL) return 0; - WebPDataInit(dst); - if (src->bytes != NULL && src->size != 0) { - dst->bytes = (uint8_t*)WebPMalloc(src->size); - if (dst->bytes == NULL) return 0; - memcpy((void*)dst->bytes, src->bytes, src->size); - dst->size = src->size; - } - return 1; -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/Headers/types.h b/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/Headers/types.h deleted file mode 100644 index 47f7f2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/Headers/types.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Common types + memory wrappers -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) -#define WEBP_INLINE inline -#else -#define WEBP_INLINE -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -# if defined(__GNUC__) && __GNUC__ >= 4 -# define WEBP_EXTERN extern __attribute__ ((visibility ("default"))) -# else -# define WEBP_EXTERN extern -# endif /* __GNUC__ >= 4 */ -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#ifdef __cplusplus -extern "C" { -#endif - -// Allocates 'size' bytes of memory. Returns NULL upon error. Memory -// must be deallocated by calling WebPFree(). This function is made available -// by the core 'libwebp' library. -WEBP_EXTERN void* WebPMalloc(size_t size); - -// Releases memory returned by the WebPDecode*() functions (from decode.h). -WEBP_EXTERN void WebPFree(void* ptr); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/WebPMux b/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/WebPMux deleted file mode 100644 index 28550678..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/WebPMux.framework/WebPMux and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/config.log b/Carthage/Checkouts/PINRemoteImage/webp/config.log deleted file mode 100644 index fe318457..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/config.log +++ /dev/null @@ -1,2462 +0,0 @@ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by libwebp configure 1.1.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ ../Carthage/Checkouts/libwebp/configure --host=aarch64-apple-darwin --prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 --build=x86_64-apple-darwin19.5.0 --disable-shared --enable-static --enable-libwebpdecoder --enable-swap-16bit-csp --enable-libwebpmux CFLAGS=-arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode - -## --------- ## -## Platform. ## -## --------- ## - -hostname = garrettmoon-555JGH6.dyn.pinadmin.com -uname -m = x86_64 -uname -r = 19.5.0 -uname -s = Darwin -uname -v = Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 - -/usr/bin/uname -p = i386 -/bin/uname -X = unknown - -/bin/arch = unknown -/usr/bin/arch -k = unknown -/usr/convex/getsysinfo = unknown -/usr/bin/hostinfo = Mach kernel version: - Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 -Kernel configured for up to 12 processors. -6 processors are physically available. -12 processors are logically available. -Processor type: x86_64h (Intel x86-64h Haswell) -Processors active: 0 1 2 3 4 5 6 7 8 9 10 11 -Primary memory available: 32.00 gigabytes -Default processor set: 940 tasks, 4325 threads, 12 processors -Load average: 3.50, Mach factor: 8.49 -/bin/machine = unknown -/usr/bin/oslevel = unknown -/bin/universe = unknown - -PATH: /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin -PATH: /usr/local/bin -PATH: /usr/bin -PATH: /bin -PATH: /usr/sbin -PATH: /sbin -PATH: /Library/Apple/usr/bin -PATH: /Library/Application Support/Pinterest/CPE/pkgs/arcanist/bin -PATH: /usr/local/munki -PATH: /opt/pinterest/bin -PATH: /nix/var/nix/profiles/default/bin/ - - -## ----------- ## -## Core tests. ## -## ----------- ## - -configure:2369: checking build system type -configure:2383: result: x86_64-apple-darwin19.5.0 -configure:2403: checking host system type -configure:2416: result: aarch64-apple-darwin -configure:2453: checking for a BSD-compatible install -configure:2521: result: /usr/bin/install -c -configure:2532: checking whether build environment is sane -configure:2587: result: yes -configure:2646: checking for aarch64-apple-darwin-strip -configure:2676: result: no -configure:2686: checking for strip -configure:2702: found /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -configure:2713: result: strip -configure:2725: WARNING: using cross tools not prefixed with host triplet -configure:2738: checking for a thread-safe mkdir -p -configure:2777: result: ../Carthage/Checkouts/libwebp/install-sh -c -d -configure:2784: checking for gawk -configure:2814: result: no -configure:2784: checking for mawk -configure:2814: result: no -configure:2784: checking for nawk -configure:2814: result: no -configure:2784: checking for awk -configure:2800: found /usr/bin/awk -configure:2811: result: awk -configure:2822: checking whether make sets $(MAKE) -configure:2844: result: yes -configure:2873: checking whether make supports nested variables -configure:2890: result: yes -configure:3021: checking whether make supports the include directive -configure:3036: make -f confmf.GNU && cat confinc.out -this is the am__doit target -configure:3039: $? = 0 -configure:3058: result: yes (GNU style) -configure:3088: checking for aarch64-apple-darwin-gcc -configure:3118: result: no -configure:3128: checking for gcc -configure:3144: found /usr/bin/gcc -configure:3155: result: gcc -configure:3384: checking for C compiler version -configure:3393: gcc --version >&5 -Apple clang version 11.0.3 (clang-1103.0.32.62) -Target: x86_64-apple-darwin19.5.0 -Thread model: posix -InstalledDir: /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin -Configured with: --prefix=/Applications/Xcode-11.5.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode-11.5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 -configure:3404: $? = 0 -configure:3393: gcc -v >&5 -Configured with: --prefix=/Applications/Xcode-11.5.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode-11.5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 -Apple clang version 11.0.3 (clang-1103.0.32.62) -Target: x86_64-apple-darwin19.5.0 -Thread model: posix -InstalledDir: /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin -configure:3404: $? = 0 -configure:3393: gcc -V >&5 -clang: error: unsupported option '-V -Wno-objc-signed-char-bool-implicit-int-conversion' -clang: error: no input files -configure:3404: $? = 1 -configure:3393: gcc -qversion >&5 -clang: error: unknown argument '-qversion'; did you mean '--version'? -clang: error: no input files -configure:3404: $? = 1 -configure:3424: checking whether the C compiler works -configure:3446: gcc -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:3450: $? = 0 -configure:3498: result: yes -configure:3501: checking for C compiler default output file name -configure:3503: result: a.out -configure:3509: checking for suffix of executables -configure:3516: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:3520: $? = 0 -configure:3542: result: -configure:3564: checking whether we are cross compiling -configure:3602: result: yes -configure:3607: checking for suffix of object files -configure:3629: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:3633: $? = 0 -configure:3654: result: o -configure:3658: checking whether we are using the GNU C compiler -configure:3677: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:3677: $? = 0 -configure:3686: result: yes -configure:3695: checking whether gcc accepts -g -configure:3715: gcc -c -g conftest.c >&5 -configure:3715: $? = 0 -configure:3756: result: yes -configure:3773: checking for gcc option to accept ISO C89 -configure:3836: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:3836: $? = 0 -configure:3849: result: none needed -configure:3874: checking whether gcc understands -c and -o together -configure:3896: gcc -c conftest.c -o conftest2.o -configure:3899: $? = 0 -configure:3896: gcc -c conftest.c -o conftest2.o -configure:3899: $? = 0 -configure:3911: result: yes -configure:3930: checking dependency style of gcc -configure:4041: result: gcc3 -configure:4062: checking for aarch64-apple-darwin-ar -configure:4092: result: no -configure:4062: checking for aarch64-apple-darwin-lib -configure:4092: result: no -configure:4062: checking for aarch64-apple-darwin-link -configure:4092: result: no -configure:4106: checking for ar -configure:4122: found /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar -configure:4133: result: ar -configure:4159: checking the archiver (ar) interface -configure:4175: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:4175: $? = 0 -configure:4177: ar cru libconftest.a conftest.o >&5 -configure:4180: $? = 0 -configure:4208: result: ar -configure:4275: checking how to print strings -configure:4302: result: printf -configure:4323: checking for a sed that does not truncate output -configure:4387: result: /usr/bin/sed -configure:4405: checking for grep that handles long lines and -e -configure:4463: result: /usr/bin/grep -configure:4468: checking for egrep -configure:4530: result: /usr/bin/grep -E -configure:4535: checking for fgrep -configure:4597: result: /usr/bin/grep -F -configure:4632: checking for ld used by gcc -configure:4699: result: /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -configure:4706: checking if the linker (/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld -configure:4721: result: no -configure:4733: checking for BSD- or MS-compatible name lister (nm) -configure:4787: result: no -configure:4801: checking for aarch64-apple-darwin-dumpbin -configure:4831: result: no -configure:4801: checking for aarch64-apple-darwin-link -configure:4831: result: no -configure:4845: checking for dumpbin -configure:4875: result: no -configure:4845: checking for link -configure:4861: found /bin/link -configure:4872: result: link -dump -configure:4917: checking the name lister (nm) interface -configure:4924: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:4927: nm "conftest.o" -configure:4930: output ----------------- D _some_variable -configure:4937: result: BSD nm -configure:4940: checking whether ln -s works -configure:4944: result: yes -configure:4952: checking the maximum length of command line arguments -configure:5083: result: 196608 -configure:5131: checking how to convert x86_64-apple-darwin19.5.0 file names to aarch64-apple-darwin format -configure:5171: result: func_convert_file_noop -configure:5178: checking how to convert x86_64-apple-darwin19.5.0 file names to toolchain format -configure:5198: result: func_convert_file_noop -configure:5205: checking for /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files -configure:5212: result: -r -configure:5246: checking for aarch64-apple-darwin-objdump -configure:5276: result: no -configure:5286: checking for objdump -configure:5302: found /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump -configure:5313: result: objdump -configure:5345: checking how to recognize dependent libraries -configure:5545: result: pass_all -configure:5590: checking for aarch64-apple-darwin-dlltool -configure:5620: result: no -configure:5630: checking for dlltool -configure:5660: result: no -configure:5690: checking how to associate runtime and link libraries -configure:5717: result: printf %s\n -configure:5733: checking for aarch64-apple-darwin-ar -configure:5760: result: ar -configure:5841: checking for archiver @FILE support -configure:5858: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:5858: $? = 0 -configure:5861: ar cru libconftest.a @conftest.lst >&5 -ar: @conftest.lst: No such file or directory -configure:5864: $? = 1 -configure:5884: result: no -configure:5902: checking for aarch64-apple-darwin-strip -configure:5929: result: strip -configure:6001: checking for aarch64-apple-darwin-ranlib -configure:6031: result: no -configure:6041: checking for ranlib -configure:6057: found /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib -configure:6068: result: ranlib -configure:6170: checking command to parse nm output from gcc object -configure:6323: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:6326: $? = 0 -configure:6330: nm conftest.o \| sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm -configure:6333: $? = 0 -cannot find nm_test_var in conftest.nm -configure:6323: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:6326: $? = 0 -configure:6330: nm conftest.o \| sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm -configure:6333: $? = 0 -configure:6399: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c conftstm.o >&5 -configure:6402: $? = 0 -configure:6440: result: ok -configure:6487: checking for sysroot -configure:6517: result: no -configure:6524: checking for a working dd -configure:6562: result: /bin/dd -configure:6566: checking how to truncate binary pipes -configure:6581: result: /bin/dd bs=4096 count=1 -configure:6870: checking for aarch64-apple-darwin-mt -configure:6900: result: no -configure:6910: checking for mt -configure:6940: result: no -configure:6960: checking if : is a manifest tool -configure:6966: : '-?' -configure:6974: result: no -configure:6990: checking for aarch64-apple-darwin-dsymutil -configure:7020: result: no -configure:7030: checking for dsymutil -configure:7046: found /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil -configure:7057: result: dsymutil -configure:7082: checking for aarch64-apple-darwin-nmedit -configure:7112: result: no -configure:7122: checking for nmedit -configure:7138: found /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nmedit -configure:7149: result: nmedit -configure:7174: checking for aarch64-apple-darwin-lipo -configure:7204: result: no -configure:7214: checking for lipo -configure:7230: found /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo -configure:7241: result: lipo -configure:7266: checking for aarch64-apple-darwin-otool -configure:7296: result: no -configure:7306: checking for otool -configure:7322: found /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool -configure:7333: result: otool -configure:7358: checking for aarch64-apple-darwin-otool64 -configure:7388: result: no -configure:7398: checking for otool64 -configure:7428: result: no -configure:7473: checking for -single_module linker flag -gcc -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -o libconftest.dylib -dynamiclib -Wl,-single_module conftest.c -configure:7506: result: yes -configure:7509: checking for -exported_symbols_list linker flag -configure:7529: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -Wl,-exported_symbols_list,conftest.sym conftest.c >&5 -configure:7529: $? = 0 -configure:7539: result: yes -configure:7542: checking for -force_load linker flag -gcc -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -c -o conftest.o conftest.c -ar cru libconftest.a conftest.o -ranlib libconftest.a -gcc -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -o conftest conftest.c -Wl,-force_load,./libconftest.a -configure:7574: result: yes -configure:7646: checking how to run the C preprocessor -configure:7677: gcc -E conftest.c -configure:7677: $? = 0 -configure:7691: gcc -E conftest.c -conftest.c:11:10: fatal error: 'ac_nonexistent.h' file not found -#include - ^~~~~~~~~~~~~~~~~~ -1 error generated. -configure:7691: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| /* end confdefs.h. */ -| #include -configure:7716: result: gcc -E -configure:7736: gcc -E conftest.c -configure:7736: $? = 0 -configure:7750: gcc -E conftest.c -conftest.c:11:10: fatal error: 'ac_nonexistent.h' file not found -#include - ^~~~~~~~~~~~~~~~~~ -1 error generated. -configure:7750: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| /* end confdefs.h. */ -| #include -configure:7779: checking for ANSI C header files -configure:7799: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7799: $? = 0 -configure:7883: result: yes -configure:7896: checking for sys/types.h -configure:7896: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7896: $? = 0 -configure:7896: result: yes -configure:7896: checking for sys/stat.h -configure:7896: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7896: $? = 0 -configure:7896: result: yes -configure:7896: checking for stdlib.h -configure:7896: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7896: $? = 0 -configure:7896: result: yes -configure:7896: checking for string.h -configure:7896: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7896: $? = 0 -configure:7896: result: yes -configure:7896: checking for memory.h -configure:7896: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7896: $? = 0 -configure:7896: result: yes -configure:7896: checking for strings.h -configure:7896: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7896: $? = 0 -configure:7896: result: yes -configure:7896: checking for inttypes.h -configure:7896: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7896: $? = 0 -configure:7896: result: yes -configure:7896: checking for stdint.h -configure:7896: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7896: $? = 0 -configure:7896: result: yes -configure:7896: checking for unistd.h -configure:7896: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7896: $? = 0 -configure:7896: result: yes -configure:7910: checking for dlfcn.h -configure:7910: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:7910: $? = 0 -configure:7910: result: yes -configure:8166: checking for objdir -configure:8181: result: .libs -configure:8445: checking if gcc supports -fno-rtti -fno-exceptions -configure:8463: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -fno-rtti -fno-exceptions conftest.c >&5 -configure:8467: $? = 0 -configure:8480: result: yes -configure:8838: checking for gcc option to produce PIC -configure:8845: result: -fno-common -DPIC -configure:8853: checking if gcc PIC flag -fno-common -DPIC works -configure:8871: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -fno-common -DPIC -DPIC conftest.c >&5 -configure:8875: $? = 0 -configure:8888: result: yes -configure:8917: checking if gcc static flag -static works -configure:8945: result: no -configure:8960: checking if gcc supports -c -o file.o -configure:8981: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -o out/conftest2.o conftest.c >&5 -configure:8985: $? = 0 -configure:9007: result: yes -configure:9015: checking if gcc supports -c -o file.o -configure:9062: result: yes -configure:9095: checking whether the gcc linker (/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries -configure:10354: result: yes -configure:10594: checking dynamic linker characteristics -configure:11412: result: darwin dyld -configure:11534: checking how to hardcode library paths into programs -configure:11559: result: immediate -configure:12107: checking whether stripping libraries is possible -configure:12121: result: yes -configure:12147: checking if libtool supports shared libraries -configure:12149: result: yes -configure:12152: checking whether to build shared libraries -configure:12177: result: no -configure:12180: checking whether to build static libraries -configure:12184: result: yes -configure:12221: checking for a sed that does not truncate output -configure:12285: result: /usr/bin/sed -configure:12303: checking whether make supports nested variables -configure:12320: result: yes -configure:12332: checking whether byte ordering is bigendian -configure:12347: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:12347: $? = 0 -configure:12392: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:12392: $? = 0 -configure:12410: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -conftest.c:30:4: error: use of undeclared identifier 'not' - not big endian - ^ -1 error generated. -configure:12410: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| #include -| #include -| -| int -| main () -| { -| #if BYTE_ORDER != BIG_ENDIAN -| not big endian -| #endif -| -| ; -| return 0; -| } -configure:12538: result: no -configure:12569: checking whether asserts are enabled -configure:12579: result: no -configure:12596: checking whether gcc supports -fvisibility=hidden -configure:12602: gcc -c -Werror -fvisibility=hidden conftest.c >&5 -configure:12602: $? = 0 -configure:12603: result: yes -configure:12614: checking whether gcc supports -Wall -configure:12620: gcc -c -Werror -Wall conftest.c >&5 -configure:12620: $? = 0 -configure:12621: result: yes -configure:12632: checking whether gcc supports -Wconstant-conversion -configure:12638: gcc -c -Werror -Wconstant-conversion conftest.c >&5 -configure:12638: $? = 0 -configure:12639: result: yes -configure:12650: checking whether gcc supports -Wdeclaration-after-statement -configure:12656: gcc -c -Werror -Wdeclaration-after-statement conftest.c >&5 -configure:12656: $? = 0 -configure:12657: result: yes -configure:12668: checking whether gcc supports -Wextra -configure:12674: gcc -c -Werror -Wextra conftest.c >&5 -configure:12674: $? = 0 -configure:12675: result: yes -configure:12686: checking whether gcc supports -Wfloat-conversion -configure:12692: gcc -c -Werror -Wfloat-conversion conftest.c >&5 -configure:12692: $? = 0 -configure:12693: result: yes -configure:12704: checking whether gcc supports -Wformat -Wformat-nonliteral -configure:12710: gcc -c -Werror -Wformat -Wformat-nonliteral conftest.c >&5 -configure:12710: $? = 0 -configure:12711: result: yes -configure:12722: checking whether gcc supports -Wformat -Wformat-security -configure:12728: gcc -c -Werror -Wformat -Wformat-security conftest.c >&5 -configure:12728: $? = 0 -configure:12729: result: yes -configure:12740: checking whether gcc supports -Wmissing-declarations -configure:12746: gcc -c -Werror -Wmissing-declarations conftest.c >&5 -configure:12746: $? = 0 -configure:12747: result: yes -configure:12758: checking whether gcc supports -Wmissing-prototypes -configure:12764: gcc -c -Werror -Wmissing-prototypes conftest.c >&5 -configure:12764: $? = 0 -configure:12765: result: yes -configure:12776: checking whether gcc supports -Wold-style-definition -configure:12782: gcc -c -Werror -Wold-style-definition conftest.c >&5 -configure:12782: $? = 0 -configure:12783: result: yes -configure:12794: checking whether gcc supports -Wparentheses-equality -configure:12800: gcc -c -Werror -Wparentheses-equality conftest.c >&5 -configure:12800: $? = 0 -configure:12801: result: yes -configure:12812: checking whether gcc supports -Wshadow -configure:12818: gcc -c -Werror -Wshadow conftest.c >&5 -configure:12818: $? = 0 -configure:12819: result: yes -configure:12830: checking whether gcc supports -Wshorten-64-to-32 -configure:12836: gcc -c -Werror -Wshorten-64-to-32 conftest.c >&5 -configure:12836: $? = 0 -configure:12837: result: yes -configure:12848: checking whether gcc supports -Wundef -configure:12854: gcc -c -Werror -Wundef conftest.c >&5 -configure:12854: $? = 0 -configure:12855: result: yes -configure:12866: checking whether gcc supports -Wunreachable-code -configure:12872: gcc -c -Werror -Wunreachable-code conftest.c >&5 -configure:12872: $? = 0 -configure:12873: result: yes -configure:12884: checking whether gcc supports -Wunused-but-set-variable -configure:12890: gcc -c -Werror -Wunused-but-set-variable conftest.c >&5 -error: unknown warning option '-Wunused-but-set-variable'; did you mean '-Wunused-const-variable'? [-Werror,-Wunknown-warning-option] -configure:12890: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| int main(void) { return 0; } -configure:12895: result: no -configure:12902: checking whether gcc supports -Wunused -configure:12908: gcc -c -Werror -Wunused conftest.c >&5 -configure:12908: $? = 0 -configure:12909: result: yes -configure:12920: checking whether gcc supports -Wvla -configure:12926: gcc -c -Werror -Wvla conftest.c >&5 -configure:12926: $? = 0 -configure:12927: result: yes -configure:13028: checking whether gcc supports -msse4.1 -configure:13034: gcc -c -Werror -msse4.1 conftest.c >&5 -configure:13034: $? = 0 -configure:13035: result: yes -configure:13048: checking smmintrin.h usability -configure:13048: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -msse4.1 conftest.c >&5 -clang: warning: argument unused during compilation: '-msse4.1' [-Wunused-command-line-argument] -In file included from conftest.c:56: -In file included from /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/smmintrin.h:13: -In file included from /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/tmmintrin.h:13: -In file included from /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/pmmintrin.h:13: -In file included from /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/emmintrin.h:13: -In file included from /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/xmmintrin.h:13: -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:50:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_vec_init_v2si(__i, 0); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:129:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:159:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:189:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:216:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:239:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:260:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:287:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:310:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:331:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:352:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:373:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:394:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:416:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddsb((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:439:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddsw((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:461:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddusb((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:483:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddusw((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:504:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_psubb((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:525:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_psubw((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -fatal error: too many errors emitted, stopping now [-ferror-limit=] -20 errors generated. -configure:13048: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:13048: result: no -configure:13048: checking smmintrin.h presence -configure:13048: gcc -E conftest.c -configure:13048: $? = 0 -configure:13048: result: yes -configure:13048: WARNING: smmintrin.h: present but cannot be compiled -configure:13048: WARNING: smmintrin.h: check for missing prerequisite headers? -configure:13048: WARNING: smmintrin.h: see the Autoconf documentation -configure:13048: WARNING: smmintrin.h: section "Present But Cannot Be Compiled" -configure:13048: WARNING: smmintrin.h: proceeding with the compiler's result -configure:13048: checking for smmintrin.h -configure:13048: result: no -configure:13074: checking whether gcc supports -msse2 -configure:13080: gcc -c -Werror -msse2 conftest.c >&5 -configure:13080: $? = 0 -configure:13081: result: yes -configure:13094: checking emmintrin.h usability -configure:13094: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -msse2 conftest.c >&5 -clang: warning: argument unused during compilation: '-msse2' [-Wunused-command-line-argument] -In file included from conftest.c:56: -In file included from /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/emmintrin.h:13: -In file included from /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/xmmintrin.h:13: -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:50:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_vec_init_v2si(__i, 0); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:129:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:159:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:189:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:216:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:239:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:260:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:287:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:310:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:331:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:352:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:373:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:394:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:416:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddsb((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:439:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddsw((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:461:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddusb((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:483:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_paddusw((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:504:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_psubb((__v8qi)__m1, (__v8qi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/mmintrin.h:525:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size - return (__m64)__builtin_ia32_psubw((__v4hi)__m1, (__v4hi)__m2); - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -fatal error: too many errors emitted, stopping now [-ferror-limit=] -20 errors generated. -configure:13094: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:13094: result: no -configure:13094: checking emmintrin.h presence -configure:13094: gcc -E conftest.c -configure:13094: $? = 0 -configure:13094: result: yes -configure:13094: WARNING: emmintrin.h: present but cannot be compiled -configure:13094: WARNING: emmintrin.h: check for missing prerequisite headers? -configure:13094: WARNING: emmintrin.h: see the Autoconf documentation -configure:13094: WARNING: emmintrin.h: section "Present But Cannot Be Compiled" -configure:13094: WARNING: emmintrin.h: proceeding with the compiler's result -configure:13094: checking for emmintrin.h -configure:13094: result: no -configure:13247: checking for __builtin_bswap16 -configure:13260: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:13260: $? = 0 -configure:13261: result: yes -configure:13284: checking for __builtin_bswap32 -configure:13297: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:13297: $? = 0 -configure:13298: result: yes -configure:13321: checking for __builtin_bswap64 -configure:13334: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode conftest.c >&5 -configure:13334: $? = 0 -configure:13335: result: yes -configure:13361: checking for threading support... -configure:13475: checking if compiler needs -Werror to reject unknown flags -configure:13491: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -Werror -Wunknown-warning-option -Wsizeof-array-argument conftest.c >&5 -configure:13491: $? = 0 -configure:13492: result: yes -configure:13512: checking whether pthreads work with -pthread -configure:13600: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -pthread -Werror conftest.c >&5 -configure:13600: $? = 0 -configure:13609: result: yes -configure:13628: checking for joinable pthread attribute -configure:13643: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -pthread conftest.c >&5 -configure:13643: $? = 0 -configure:13649: result: PTHREAD_CREATE_JOINABLE -configure:13659: checking if more special flags are required for pthreads -configure:13674: result: -D_THREAD_SAFE -configure:13680: checking for PTHREAD_PRIO_INHERIT -configure:13697: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -pthread conftest.c >&5 -configure:13697: $? = 0 -configure:13706: result: yes -configure:13818: checking if threading is enabled... yes -configure:13859: checking whether gcc supports -Wno-deprecated-declarations -configure:13865: gcc -c -Werror -Wno-deprecated-declarations conftest.c >&5 -configure:13865: $? = 0 -configure:13866: result: yes -configure:13894: checking GL/glut.h usability -configure:13894: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread conftest.c >&5 -conftest.c:61:10: fatal error: 'GL/glut.h' file not found -#include - ^~~~~~~~~~~ -1 error generated. -configure:13894: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:13894: result: no -configure:13894: checking GL/glut.h presence -configure:13894: gcc -E conftest.c -conftest.c:28:10: fatal error: 'GL/glut.h' file not found -#include - ^~~~~~~~~~~ -1 error generated. -configure:13894: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -configure:13894: result: no -configure:13894: checking for GL/glut.h -configure:13894: result: no -configure:13894: checking GLUT/glut.h usability -configure:13894: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread conftest.c >&5 -conftest.c:61:10: fatal error: 'GLUT/glut.h' file not found -#include - ^~~~~~~~~~~~~ -1 error generated. -configure:13894: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:13894: result: no -configure:13894: checking GLUT/glut.h presence -configure:13894: gcc -E conftest.c -configure:13894: $? = 0 -configure:13894: result: yes -configure:13894: WARNING: GLUT/glut.h: present but cannot be compiled -configure:13894: WARNING: GLUT/glut.h: check for missing prerequisite headers? -configure:13894: WARNING: GLUT/glut.h: see the Autoconf documentation -configure:13894: WARNING: GLUT/glut.h: section "Present But Cannot Be Compiled" -configure:13894: WARNING: GLUT/glut.h: proceeding with the compiler's result -configure:13894: checking for GLUT/glut.h -configure:13894: result: no -configure:13894: checking OpenGL/glut.h usability -configure:13894: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread conftest.c >&5 -conftest.c:61:10: fatal error: 'OpenGL/glut.h' file not found -#include - ^~~~~~~~~~~~~~~ -1 error generated. -configure:13894: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:13894: result: no -configure:13894: checking OpenGL/glut.h presence -configure:13894: gcc -E conftest.c -conftest.c:28:10: fatal error: 'OpenGL/glut.h' file not found -#include - ^~~~~~~~~~~~~~~ -conftest.c:28:10: note: did not find header 'glut.h' in framework 'OpenGL' (loaded from '/Applications/Xcode-11.5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks') -1 error generated. -configure:13894: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -configure:13894: result: no -configure:13894: checking for OpenGL/glut.h -configure:13894: result: no -configure:13894: checking GL/glut.h usability -configure:13894: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -framework GLUT -framework OpenGL conftest.c >&5 -clang: warning: -framework GLUT: 'linker' input unused [-Wunused-command-line-argument] -clang: warning: -framework OpenGL: 'linker' input unused [-Wunused-command-line-argument] -conftest.c:61:10: fatal error: 'GL/glut.h' file not found -#include - ^~~~~~~~~~~ -1 error generated. -configure:13894: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:13894: result: no -configure:13894: checking GL/glut.h presence -configure:13894: gcc -E -framework GLUT -framework OpenGL conftest.c -clang: warning: -framework GLUT: 'linker' input unused [-Wunused-command-line-argument] -clang: warning: -framework OpenGL: 'linker' input unused [-Wunused-command-line-argument] -conftest.c:28:10: fatal error: 'GL/glut.h' file not found -#include - ^~~~~~~~~~~ -1 error generated. -configure:13894: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -configure:13894: result: no -configure:13894: checking for GL/glut.h -configure:13894: result: no -configure:13894: checking for GLUT/glut.h -configure:13894: result: no -configure:13894: checking OpenGL/glut.h usability -configure:13894: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -framework GLUT -framework OpenGL conftest.c >&5 -clang: warning: -framework GLUT: 'linker' input unused [-Wunused-command-line-argument] -clang: warning: -framework OpenGL: 'linker' input unused [-Wunused-command-line-argument] -conftest.c:61:10: fatal error: 'OpenGL/glut.h' file not found -#include - ^~~~~~~~~~~~~~~ -1 error generated. -configure:13894: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:13894: result: no -configure:13894: checking OpenGL/glut.h presence -configure:13894: gcc -E -framework GLUT -framework OpenGL conftest.c -clang: warning: -framework GLUT: 'linker' input unused [-Wunused-command-line-argument] -clang: warning: -framework OpenGL: 'linker' input unused [-Wunused-command-line-argument] -conftest.c:28:10: fatal error: 'OpenGL/glut.h' file not found -#include - ^~~~~~~~~~~~~~~ -conftest.c:28:10: note: did not find header 'glut.h' in framework 'OpenGL' (loaded from '/Applications/Xcode-11.5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks') -1 error generated. -configure:13894: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -configure:13894: result: no -configure:13894: checking for OpenGL/glut.h -configure:13894: result: no -configure:14076: checking for sdl-config -configure:14109: result: no -configure:14140: checking SDL/SDL.h usability -configure:14140: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread conftest.c >&5 -conftest.c:61:10: fatal error: 'SDL/SDL.h' file not found -#include - ^~~~~~~~~~~ -1 error generated. -configure:14140: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:14140: result: no -configure:14140: checking SDL/SDL.h presence -configure:14140: gcc -E conftest.c -conftest.c:28:10: fatal error: 'SDL/SDL.h' file not found -#include - ^~~~~~~~~~~ -1 error generated. -configure:14140: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -configure:14140: result: no -configure:14140: checking for SDL/SDL.h -configure:14140: result: no -configure:14144: checking SDL.h usability -configure:14144: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread conftest.c >&5 -conftest.c:61:10: fatal error: 'SDL.h' file not found -#include - ^~~~~~~ -1 error generated. -configure:14144: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:14144: result: no -configure:14144: checking SDL.h presence -configure:14144: gcc -E conftest.c -conftest.c:28:10: fatal error: 'SDL.h' file not found -#include - ^~~~~~~ -1 error generated. -configure:14144: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -configure:14144: result: no -configure:14144: checking for SDL.h -configure:14144: result: no -configure:14148: WARNING: SDL library not available - no sdl.h -configure:14210: WARNING: Optional SDL library not found -configure:14239: checking for libpng-config -configure:14257: found /usr/local/bin/libpng-config -configure:14269: result: /usr/local/bin/libpng-config -configure:14302: checking png.h usability -configure:14302: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -I/usr/local/Cellar/libpng/1.6.37/include/libpng16 conftest.c >&5 -configure:14302: $? = 0 -configure:14302: result: yes -configure:14302: checking png.h presence -configure:14302: gcc -E -I/usr/local/Cellar/libpng/1.6.37/include/libpng16 conftest.c -configure:14302: $? = 0 -configure:14302: result: yes -configure:14302: checking for png.h -configure:14302: result: yes -configure:14304: checking for library containing png_get_libpng_ver -configure:14335: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -I/usr/local/Cellar/libpng/1.6.37/include/libpng16 conftest.c -L/usr/local/Cellar/libpng/1.6.37/lib -lpng16 >&5 -ld: warning: ignoring file /usr/local/Cellar/libpng/1.6.37/lib/libpng16.dylib, building for iOS-arm64 but attempting to link with file built for macOS-x86_64 -Undefined symbols for architecture arm64: - "_png_get_libpng_ver", referenced from: - _main in conftest-379a4e.o -ld: symbol(s) not found for architecture arm64 -clang: error: linker command failed with exit code 1 (use -v to see invocation) -configure:14335: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| -| /* Override any GCC internal prototype to avoid an error. -| Use char because int might match the return type of a GCC -| builtin and then its argument prototype would still apply. */ -| #ifdef __cplusplus -| extern "C" -| #endif -| char png_get_libpng_ver (); -| int -| main () -| { -| return png_get_libpng_ver (); -| ; -| return 0; -| } -configure:14335: gcc -o conftest -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -I/usr/local/Cellar/libpng/1.6.37/include/libpng16 conftest.c -lpng -L/usr/local/Cellar/libpng/1.6.37/lib -lpng16 >&5 -ld: warning: ignoring file /usr/local/Cellar/libpng/1.6.37/lib/libpng.dylib, building for iOS-arm64 but attempting to link with file built for macOS-x86_64ld: warning: ignoring file /usr/local/Cellar/libpng/1.6.37/lib/libpng16.dylib, building for iOS-arm64 but attempting to link with file built for macOS-x86_64 - -Undefined symbols for architecture arm64: - "_png_get_libpng_ver", referenced from: - _main in conftest-b1ee67.o -ld: symbol(s) not found for architecture arm64 -clang: error: linker command failed with exit code 1 (use -v to see invocation) -configure:14335: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| -| /* Override any GCC internal prototype to avoid an error. -| Use char because int might match the return type of a GCC -| builtin and then its argument prototype would still apply. */ -| #ifdef __cplusplus -| extern "C" -| #endif -| char png_get_libpng_ver (); -| int -| main () -| { -| return png_get_libpng_ver (); -| ; -| return 0; -| } -configure:14352: result: no -configure:14366: WARNING: Optional png library not found -configure:14415: checking jpeglib.h usability -configure:14415: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread conftest.c >&5 -conftest.c:61:10: fatal error: 'jpeglib.h' file not found -#include - ^~~~~~~~~~~ -1 error generated. -configure:14415: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:14415: result: no -configure:14415: checking jpeglib.h presence -configure:14415: gcc -E conftest.c -configure:14415: $? = 0 -configure:14415: result: yes -configure:14415: WARNING: jpeglib.h: present but cannot be compiled -configure:14415: WARNING: jpeglib.h: check for missing prerequisite headers? -configure:14415: WARNING: jpeglib.h: see the Autoconf documentation -configure:14415: WARNING: jpeglib.h: section "Present But Cannot Be Compiled" -configure:14415: WARNING: jpeglib.h: proceeding with the compiler's result -configure:14415: checking for jpeglib.h -configure:14415: result: no -configure:14467: WARNING: jpeg library not available - no jpeglib.h -configure:14506: checking tiffio.h usability -configure:14506: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread conftest.c >&5 -conftest.c:61:10: fatal error: 'tiffio.h' file not found -#include - ^~~~~~~~~~ -1 error generated. -configure:14506: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:14506: result: no -configure:14506: checking tiffio.h presence -configure:14506: gcc -E conftest.c -configure:14506: $? = 0 -configure:14506: result: yes -configure:14506: WARNING: tiffio.h: present but cannot be compiled -configure:14506: WARNING: tiffio.h: check for missing prerequisite headers? -configure:14506: WARNING: tiffio.h: see the Autoconf documentation -configure:14506: WARNING: tiffio.h: section "Present But Cannot Be Compiled" -configure:14506: WARNING: tiffio.h: proceeding with the compiler's result -configure:14506: checking for tiffio.h -configure:14506: result: no -configure:14558: WARNING: tiff library not available - no tiffio.h -configure:14597: checking gif_lib.h usability -configure:14597: gcc -c -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread conftest.c >&5 -conftest.c:61:10: fatal error: 'gif_lib.h' file not found -#include - ^~~~~~~~~~~ -1 error generated. -configure:14597: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:14597: result: no -configure:14597: checking gif_lib.h presence -configure:14597: gcc -E conftest.c -conftest.c:28:10: fatal error: 'gif_lib.h' file not found -#include - ^~~~~~~~~~~ -1 error generated. -configure:14597: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "libwebp" -| #define PACKAGE_TARNAME "libwebp" -| #define PACKAGE_VERSION "1.1.0" -| #define PACKAGE_STRING "libwebp 1.1.0" -| #define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -| #define PACKAGE_URL "http://developers.google.com/speed/webp" -| #define PACKAGE "libwebp" -| #define VERSION "1.1.0" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| #define HAVE_DLFCN_H 1 -| #define LT_OBJDIR ".libs/" -| #define HAVE_BUILTIN_BSWAP16 1 -| #define HAVE_BUILTIN_BSWAP32 1 -| #define HAVE_BUILTIN_BSWAP64 1 -| #define HAVE_PTHREAD_PRIO_INHERIT 1 -| #define WEBP_USE_THREAD 1 -| /* end confdefs.h. */ -| #include -configure:14597: result: no -configure:14597: checking for gif_lib.h -configure:14597: result: no -configure:14648: WARNING: gif library not available - no gif_lib.h -configure:14797: checking if --enable-swap-16bit-csp option is specified -configure:14807: result: yes -configure:14815: checking if --disable-near-lossless option is specified -configure:14831: result: no -configure:14835: checking whether libwebpmux is to be built -configure:14842: result: yes -configure:14853: checking whether libwebpdemux is to be built -configure:14862: result: yes -configure:14873: checking whether decoder library is to be built -configure:14880: result: yes -configure:14891: checking whether libwebpextras is to be built -configure:14898: result: no -configure:15026: checking that generated files are newer than configure -configure:15032: result: done -configure:15096: creating ./config.status - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by libwebp config.status 1.1.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status - -on garrettmoon-555JGH6.dyn.pinadmin.com - -config.status:1150: creating Makefile -config.status:1150: creating src/Makefile -config.status:1150: creating man/Makefile -config.status:1150: creating examples/Makefile -config.status:1150: creating extras/Makefile -config.status:1150: creating imageio/Makefile -config.status:1150: creating src/dec/Makefile -config.status:1150: creating src/enc/Makefile -config.status:1150: creating src/dsp/Makefile -config.status:1150: creating src/demux/Makefile -config.status:1150: creating src/mux/Makefile -config.status:1150: creating src/utils/Makefile -config.status:1150: creating src/libwebp.pc -config.status:1150: creating src/libwebpdecoder.pc -config.status:1150: creating src/demux/libwebpdemux.pc -config.status:1150: creating src/mux/libwebpmux.pc -config.status:1150: creating src/webp/config.h -config.status:1364: executing depfiles commands -config.status:1441: cd examples && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles -make[1]: Nothing to be done for `am--depfiles'. -config.status:1446: $? = 0 -config.status:1441: cd extras && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles -make[1]: Nothing to be done for `am--depfiles'. -config.status:1446: $? = 0 -config.status:1441: cd imageio && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles -make[1]: Nothing to be done for `am--depfiles'. -config.status:1446: $? = 0 -config.status:1441: cd src/dec && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles -make[1]: Nothing to be done for `am--depfiles'. -config.status:1446: $? = 0 -config.status:1441: cd src/enc && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles -make[1]: Nothing to be done for `am--depfiles'. -config.status:1446: $? = 0 -config.status:1441: cd src/dsp && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles -make[1]: Nothing to be done for `am--depfiles'. -config.status:1446: $? = 0 -config.status:1441: cd src/demux && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles -make[1]: Nothing to be done for `am--depfiles'. -config.status:1446: $? = 0 -config.status:1441: cd src/mux && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles -make[1]: Nothing to be done for `am--depfiles'. -config.status:1446: $? = 0 -config.status:1441: cd src/utils && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles -make[1]: Nothing to be done for `am--depfiles'. -config.status:1446: $? = 0 -config.status:1364: executing libtool commands -configure:17294: -WebP Configuration Summary --------------------------- - -Shared libraries: no -Static libraries: yes -Threading support: yes -libwebp: yes -libwebpdecoder: yes -libwebpdemux: yes -libwebpmux: yes -libwebpextras: no - -Tools: -cwebp : yes - Input format support - ==================== - JPEG : no - PNG : no - TIFF : no - WIC : no -dwebp : yes - Output format support - ===================== - PNG : no - WIC : no -GIF support : no -anim_diff : no -gif2webp : no -img2webp : no -webpmux : yes -vwebp : no -webpinfo : yes -SDL support : no -vwebp_sdl : no - - -## ---------------- ## -## Cache variables. ## -## ---------------- ## - -ac_cv_build=x86_64-apple-darwin19.5.0 -ac_cv_c_bigendian=no -ac_cv_c_compiler_gnu=yes -ac_cv_env_CC_set= -ac_cv_env_CC_value= -ac_cv_env_CFLAGS_set=set -ac_cv_env_CFLAGS_value='-arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode' -ac_cv_env_CPPFLAGS_set= -ac_cv_env_CPPFLAGS_value= -ac_cv_env_CPP_set= -ac_cv_env_CPP_value= -ac_cv_env_LDFLAGS_set= -ac_cv_env_LDFLAGS_value= -ac_cv_env_LIBS_set= -ac_cv_env_LIBS_value= -ac_cv_env_LT_SYS_LIBRARY_PATH_set= -ac_cv_env_LT_SYS_LIBRARY_PATH_value= -ac_cv_env_build_alias_set=set -ac_cv_env_build_alias_value=x86_64-apple-darwin19.5.0 -ac_cv_env_host_alias_set=set -ac_cv_env_host_alias_value=aarch64-apple-darwin -ac_cv_env_target_alias_set= -ac_cv_env_target_alias_value= -ac_cv_header_GLUT_glut_h=no -ac_cv_header_GL_glut_h=no -ac_cv_header_OpenGL_glut_h=no -ac_cv_header_SDL_SDL_h=no -ac_cv_header_SDL_h=no -ac_cv_header_dlfcn_h=yes -ac_cv_header_emmintrin_h=no -ac_cv_header_gif_lib_h=no -ac_cv_header_inttypes_h=yes -ac_cv_header_jpeglib_h=no -ac_cv_header_memory_h=yes -ac_cv_header_png_h=yes -ac_cv_header_smmintrin_h=no -ac_cv_header_stdc=yes -ac_cv_header_stdint_h=yes -ac_cv_header_stdlib_h=yes -ac_cv_header_string_h=yes -ac_cv_header_strings_h=yes -ac_cv_header_sys_stat_h=yes -ac_cv_header_sys_types_h=yes -ac_cv_header_tiffio_h=no -ac_cv_header_unistd_h=yes -ac_cv_host=aarch64-apple-darwin -ac_cv_objext=o -ac_cv_path_EGREP='/usr/bin/grep -E' -ac_cv_path_FGREP='/usr/bin/grep -F' -ac_cv_path_GREP=/usr/bin/grep -ac_cv_path_LIBPNG_CONFIG=/usr/local/bin/libpng-config -ac_cv_path_SED=/usr/bin/sed -ac_cv_path_install='/usr/bin/install -c' -ac_cv_path_lt_DD=/bin/dd -ac_cv_prog_AR=ar -ac_cv_prog_AWK=awk -ac_cv_prog_CPP='gcc -E' -ac_cv_prog_STRIP=strip -ac_cv_prog_ac_ct_AR=ar -ac_cv_prog_ac_ct_CC=gcc -ac_cv_prog_ac_ct_DSYMUTIL=dsymutil -ac_cv_prog_ac_ct_DUMPBIN='link -dump' -ac_cv_prog_ac_ct_LIPO=lipo -ac_cv_prog_ac_ct_NMEDIT=nmedit -ac_cv_prog_ac_ct_OBJDUMP=objdump -ac_cv_prog_ac_ct_OTOOL=otool -ac_cv_prog_ac_ct_RANLIB=ranlib -ac_cv_prog_ac_ct_STRIP=strip -ac_cv_prog_cc_c89= -ac_cv_prog_cc_g=yes -ac_cv_prog_make_make_set=yes -ac_cv_search_png_get_libpng_ver=no -am_cv_CC_dependencies_compiler_type=gcc3 -am_cv_ar_interface=ar -am_cv_make_support_nested_variables=yes -am_cv_prog_cc_c_o=yes -ax_cv_PTHREAD_PRIO_INHERIT=yes -lt_cv_apple_cc_single_mod=yes -lt_cv_ar_at_file=no -lt_cv_deplibs_check_method=pass_all -lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_ld_exported_symbols_list=yes -lt_cv_ld_force_load=yes -lt_cv_ld_reload_flag=-r -lt_cv_nm_interface='BSD nm' -lt_cv_objdir=.libs -lt_cv_path_LD=/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -lt_cv_path_NM=no -lt_cv_path_mainfest_tool=no -lt_cv_prog_compiler_c_o=yes -lt_cv_prog_compiler_pic='-fno-common -DPIC' -lt_cv_prog_compiler_pic_works=yes -lt_cv_prog_compiler_rtti_exceptions=yes -lt_cv_prog_compiler_static_works=no -lt_cv_prog_gnu_ld=no -lt_cv_sharedlib_from_linklib_cmd='printf %s\n' -lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p'\'' | sed '\''/ __gnu_lto/d'\''' -lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[BCDEGRST][BCDEGRST]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[BCDEGRST][BCDEGRST]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[BCDEGRST][BCDEGRST]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' -lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[BCDEGRST][BCDEGRST]* .* \(.*\)$/extern char \1;/p'\''' -lt_cv_sys_global_symbol_to_import= -lt_cv_sys_max_cmd_len=196608 -lt_cv_to_host_file_cmd=func_convert_file_noop -lt_cv_to_tool_file_cmd=func_convert_file_noop -lt_cv_truncate_bin='/bin/dd bs=4096 count=1' - -## ----------------- ## -## Output variables. ## -## ----------------- ## - -ACLOCAL='${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16' -AMDEPBACKSLASH='\' -AMDEP_FALSE='#' -AMDEP_TRUE='' -AMTAR='$${TAR-tar}' -AM_BACKSLASH='\' -AM_CFLAGS=' -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations' -AM_CPPFLAGS=' -DNDEBUG' -AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -AM_DEFAULT_VERBOSITY='0' -AM_V='$(V)' -AR='ar' -AUTOCONF='${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf' -AUTOHEADER='${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader' -AUTOMAKE='${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16' -AWK='awk' -BUILD_ANIMDIFF_FALSE='' -BUILD_ANIMDIFF_TRUE='#' -BUILD_DEMUX_FALSE='#' -BUILD_DEMUX_TRUE='' -BUILD_EXTRAS_FALSE='' -BUILD_EXTRAS_TRUE='#' -BUILD_GIF2WEBP_FALSE='' -BUILD_GIF2WEBP_TRUE='#' -BUILD_IMG2WEBP_FALSE='' -BUILD_IMG2WEBP_TRUE='#' -BUILD_LIBWEBPDECODER_FALSE='#' -BUILD_LIBWEBPDECODER_TRUE='' -BUILD_MUX_FALSE='#' -BUILD_MUX_TRUE='' -BUILD_VWEBP_FALSE='' -BUILD_VWEBP_SDL_FALSE='' -BUILD_VWEBP_SDL_TRUE='#' -BUILD_VWEBP_TRUE='#' -BUILD_WEBPINFO_FALSE='#' -BUILD_WEBPINFO_TRUE='' -CC='gcc' -CCDEPMODE='depmode=gcc3' -CFLAGS='-arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread' -CPP='gcc -E' -CPPFLAGS='' -CYGPATH_W='echo' -DEFS='-DHAVE_CONFIG_H' -DEPDIR='.deps' -DLLTOOL='false' -DSYMUTIL='dsymutil' -DUMPBIN=':' -ECHO_C='\c' -ECHO_N='' -ECHO_T='' -EGREP='/usr/bin/grep -E' -EXEEXT='' -FGREP='/usr/bin/grep -F' -GIF_INCLUDES='' -GIF_LIBS='' -GL_INCLUDES='' -GL_LIBS='' -GREP='/usr/bin/grep' -INSTALL_DATA='${INSTALL} -m 644' -INSTALL_PROGRAM='${INSTALL}' -INSTALL_SCRIPT='${INSTALL}' -INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' -JPEG_INCLUDES='' -JPEG_LIBS='' -LD='/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld' -LDFLAGS='' -LIBOBJS='' -LIBPNG_CONFIG='/usr/local/bin/libpng-config' -LIBS=' ' -LIBSDL_CONFIG='' -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -LIPO='lipo' -LN_S='ln -s' -LTLIBOBJS='' -LT_SYS_LIBRARY_PATH='' -MAKEINFO='${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo' -MANIFEST_TOOL=':' -MKDIR_P='../Carthage/Checkouts/libwebp/install-sh -c -d' -NEON_FLAGS='' -NM='nm' -NMEDIT='nmedit' -OBJDUMP='objdump' -OBJEXT='o' -OTOOL64=':' -OTOOL='otool' -PACKAGE='libwebp' -PACKAGE_BUGREPORT='https://bugs.chromium.org/p/webp' -PACKAGE_NAME='libwebp' -PACKAGE_STRING='libwebp 1.1.0' -PACKAGE_TARNAME='libwebp' -PACKAGE_URL='http://developers.google.com/speed/webp' -PACKAGE_VERSION='1.1.0' -PATH_SEPARATOR=':' -PNG_INCLUDES='' -PNG_LIBS='' -PTHREAD_CC='gcc' -PTHREAD_CFLAGS='-D_THREAD_SAFE -pthread' -PTHREAD_LIBS='' -RANLIB='ranlib' -SDL_INCLUDES='' -SDL_LIBS='' -SED='/usr/bin/sed' -SET_MAKE='' -SHELL='/bin/sh' -SSE2_FLAGS='' -SSE41_FLAGS='' -STRIP='strip' -TIFF_INCLUDES='' -TIFF_LIBS='' -USE_SWAP_16BIT_CSP='-DWEBP_SWAP_16BIT_CSP=1' -VERSION='1.1.0' -ac_ct_AR='ar' -ac_ct_CC='gcc' -ac_ct_DUMPBIN='link -dump' -am__EXEEXT_FALSE='' -am__EXEEXT_TRUE='#' -am__fastdepCC_FALSE='#' -am__fastdepCC_TRUE='' -am__include='include' -am__isrc=' -I$(srcdir)' -am__leading_dot='.' -am__nodep='_no' -am__quote='' -am__tar='$${TAR-tar} chof - "$$tardir"' -am__untar='$${TAR-tar} xf -' -ax_pthread_config='' -bindir='${exec_prefix}/bin' -build='x86_64-apple-darwin19.5.0' -build_alias='x86_64-apple-darwin19.5.0' -build_cpu='x86_64' -build_os='darwin19.5.0' -build_vendor='apple' -datadir='${datarootdir}' -datarootdir='${prefix}/share' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -dvidir='${docdir}' -exec_prefix='${prefix}' -host='aarch64-apple-darwin' -host_alias='aarch64-apple-darwin' -host_cpu='aarch64' -host_os='darwin' -host_vendor='apple' -htmldir='${docdir}' -includedir='${prefix}/include' -infodir='${datarootdir}/info' -install_sh='${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh' -libdir='${exec_prefix}/lib' -libexecdir='${exec_prefix}/libexec' -localedir='${datarootdir}/locale' -localstatedir='${prefix}/var' -mandir='${datarootdir}/man' -mkdir_p='$(MKDIR_P)' -oldincludedir='/usr/include' -pdfdir='${docdir}' -pkgconfigdir='${libdir}/pkgconfig' -prefix='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64' -program_transform_name='s,x,x,' -psdir='${docdir}' -sbindir='${exec_prefix}/sbin' -sharedstatedir='${prefix}/com' -sysconfdir='${prefix}/etc' -target_alias='' - -## ----------- ## -## confdefs.h. ## -## ----------- ## - -/* confdefs.h */ -#define PACKAGE_NAME "libwebp" -#define PACKAGE_TARNAME "libwebp" -#define PACKAGE_VERSION "1.1.0" -#define PACKAGE_STRING "libwebp 1.1.0" -#define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" -#define PACKAGE_URL "http://developers.google.com/speed/webp" -#define PACKAGE "libwebp" -#define VERSION "1.1.0" -#define STDC_HEADERS 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRING_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_DLFCN_H 1 -#define LT_OBJDIR ".libs/" -#define HAVE_BUILTIN_BSWAP16 1 -#define HAVE_BUILTIN_BSWAP32 1 -#define HAVE_BUILTIN_BSWAP64 1 -#define HAVE_PTHREAD_PRIO_INHERIT 1 -#define WEBP_USE_THREAD 1 -#define WEBP_NEAR_LOSSLESS 1 - -configure: exit 0 diff --git a/Carthage/Checkouts/PINRemoteImage/webp/config.status b/Carthage/Checkouts/PINRemoteImage/webp/config.status deleted file mode 100755 index 1a3a281e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/config.status +++ /dev/null @@ -1,2015 +0,0 @@ -#! /bin/sh -# Generated by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by libwebp $as_me 1.1.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -# Files that config.status was made for. -config_files=" Makefile src/Makefile man/Makefile examples/Makefile extras/Makefile imageio/Makefile src/dec/Makefile src/enc/Makefile src/dsp/Makefile src/demux/Makefile src/mux/Makefile src/utils/Makefile src/libwebp.pc src/libwebpdecoder.pc src/demux/libwebpdemux.pc src/mux/libwebpmux.pc" -config_headers=" src/webp/config.h" -config_commands=" depfiles libtool" - -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to . -libwebp home page: ." - -ac_cs_config="'--host=aarch64-apple-darwin' '--prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64' '--build=x86_64-apple-darwin19.5.0' '--disable-shared' '--enable-static' '--enable-libwebpdecoder' '--enable-swap-16bit-csp' '--enable-libwebpmux' 'CFLAGS=-arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode' 'build_alias=x86_64-apple-darwin19.5.0' 'host_alias=aarch64-apple-darwin'" -ac_cs_version="\ -libwebp config.status 1.1.0 -configured by ../Carthage/Checkouts/libwebp/configure, generated by GNU Autoconf 2.69, - with options \"$ac_cs_config\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='/Users/garrettmoon/code/PINRemoteImage/webp' -srcdir='../Carthage/Checkouts/libwebp' -INSTALL='/usr/bin/install -c' -MKDIR_P='../Carthage/Checkouts/libwebp/install-sh -c -d' -AWK='awk' -test -n "$AWK" || AWK=awk -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -if $ac_cs_recheck; then - set X /bin/sh '../Carthage/Checkouts/libwebp/configure' '--host=aarch64-apple-darwin' '--prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64' '--build=x86_64-apple-darwin19.5.0' '--disable-shared' '--enable-static' '--enable-libwebpdecoder' '--enable-swap-16bit-csp' '--enable-libwebpmux' 'CFLAGS=-arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode' 'build_alias=x86_64-apple-darwin19.5.0' 'host_alias=aarch64-apple-darwin' $ac_configure_extra_args --no-create --no-recursion - shift - $as_echo "running CONFIG_SHELL=/bin/sh $*" >&6 - CONFIG_SHELL='/bin/sh' - export CONFIG_SHELL - exec "$@" -fi - -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -# -# INIT-COMMANDS -# -AMDEP_TRUE="" MAKE="make" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -double_quote_subst='s/\(["`\\]\)/\\\1/g' -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -macro_version='2.4.6' -macro_revision='2.4.6' -enable_shared='no' -enable_static='yes' -pic_mode='default' -enable_fast_install='needless' -shared_archive_member_spec='' -SHELL='/bin/sh' -ECHO='printf %s\n' -PATH_SEPARATOR=':' -host_alias='aarch64-apple-darwin' -host='aarch64-apple-darwin' -host_os='darwin' -build_alias='x86_64-apple-darwin19.5.0' -build='x86_64-apple-darwin19.5.0' -build_os='darwin19.5.0' -SED='/usr/bin/sed' -Xsed='/usr/bin/sed -e 1s/^X//' -GREP='/usr/bin/grep' -EGREP='/usr/bin/grep -E' -FGREP='/usr/bin/grep -F' -LD='/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld' -NM='nm' -LN_S='ln -s' -max_cmd_len='196608' -ac_objext='o' -exeext='' -lt_unset='unset' -lt_SP2NL='tr \040 \012' -lt_NL2SP='tr \015\012 \040\040' -lt_cv_to_host_file_cmd='func_convert_file_noop' -lt_cv_to_tool_file_cmd='func_convert_file_noop' -reload_flag=' -r' -reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' -OBJDUMP='objdump' -deplibs_check_method='pass_all' -file_magic_cmd='$MAGIC_CMD' -file_magic_glob='' -want_nocaseglob='no' -DLLTOOL='false' -sharedlib_from_linklib_cmd='printf %s\n' -AR='ar' -AR_FLAGS='cru' -archiver_list_spec='' -STRIP='strip' -RANLIB='ranlib' -old_postinstall_cmds='chmod 644 $oldlib~$RANLIB $tool_oldlib' -old_postuninstall_cmds='' -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $tool_oldlib' -lock_old_archive_extraction='yes' -CC='gcc' -CFLAGS='-arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread' -compiler='gcc' -GCC='yes' -lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p'\'' | sed '\''/ __gnu_lto/d'\''' -lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[BCDEGRST][BCDEGRST]* .* \(.*\)$/extern char \1;/p'\''' -lt_cv_sys_global_symbol_to_import='' -lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[BCDEGRST][BCDEGRST]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[BCDEGRST][BCDEGRST]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[BCDEGRST][BCDEGRST]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' -lt_cv_nm_interface='BSD nm' -nm_file_list_spec='@' -lt_sysroot='' -lt_cv_truncate_bin='/bin/dd bs=4096 count=1' -objdir='.libs' -MAGIC_CMD='file' -lt_prog_compiler_no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' -lt_prog_compiler_pic=' -fno-common -DPIC' -lt_prog_compiler_wl='-Wl,' -lt_prog_compiler_static='' -lt_cv_prog_compiler_c_o='yes' -need_locks='no' -MANIFEST_TOOL=':' -DSYMUTIL='dsymutil' -NMEDIT='nmedit' -LIPO='lipo' -OTOOL='otool' -OTOOL64=':' -libext='a' -shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -extract_expsyms_cmds='' -archive_cmds_need_lc='no' -enable_shared_with_static_runtimes='no' -export_dynamic_flag_spec='' -whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' -compiler_needs_object='no' -old_archive_from_new_cmds='' -old_archive_from_expsyms_cmds='' -archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring $single_module' -archive_expsym_cmds='sed '\''s|^|_|'\'' < $export_symbols > $output_objdir/$libname-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring $single_module $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' -module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs $compiler_flags' -module_expsym_cmds='sed -e '\''s|^|_|'\'' < $export_symbols > $output_objdir/$libname-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs $compiler_flags $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' -with_gnu_ld='no' -allow_undefined_flag='$wl-undefined ${wl}dynamic_lookup' -no_undefined_flag='' -hardcode_libdir_flag_spec='' -hardcode_libdir_separator='' -hardcode_direct='no' -hardcode_direct_absolute='no' -hardcode_minus_L='no' -hardcode_shlibpath_var='unsupported' -hardcode_automatic='yes' -inherit_rpath='no' -link_all_deplibs='yes' -always_export_symbols='no' -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' -exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' -include_expsyms='' -prelink_cmds='' -postlink_cmds='' -file_list_spec='' -variables_saved_for_relink='PATH DYLD_LIBRARY_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH' -need_lib_prefix='no' -need_version='no' -version_type='darwin' -runpath_var='' -shlibpath_var='DYLD_LIBRARY_PATH' -shlibpath_overrides_runpath='yes' -libname_spec='lib$name' -library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' -soname_spec='$libname$release$major$shared_ext' -install_override_mode='' -postinstall_cmds='' -postuninstall_cmds='' -finish_cmds='' -finish_eval='' -hardcode_into_libs='no' -sys_lib_search_path_spec='/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3 /usr/local/lib' -configure_time_dlsearch_path='/usr/local/lib /lib /usr/lib' -configure_time_lt_sys_library_path='' -hardcode_action='immediate' -enable_dlopen='unknown' -enable_dlopen_self='unknown' -enable_dlopen_self_static='unknown' -old_striplib='strip -S' -striplib='strip -x' - -LTCC='gcc' -LTCFLAGS='-arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode' -compiler='gcc' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL ECHO PATH_SEPARATOR SED GREP EGREP FGREP LD NM LN_S lt_SP2NL lt_NL2SP reload_flag OBJDUMP deplibs_check_method file_magic_cmd file_magic_glob want_nocaseglob DLLTOOL sharedlib_from_linklib_cmd AR AR_FLAGS archiver_list_spec STRIP RANLIB CC CFLAGS compiler lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl lt_cv_sys_global_symbol_to_import lt_cv_sys_global_symbol_to_c_name_address lt_cv_sys_global_symbol_to_c_name_address_lib_prefix lt_cv_nm_interface nm_file_list_spec lt_cv_truncate_bin lt_prog_compiler_no_builtin_flag lt_prog_compiler_pic lt_prog_compiler_wl lt_prog_compiler_static lt_cv_prog_compiler_c_o need_locks MANIFEST_TOOL DSYMUTIL NMEDIT LIPO OTOOL OTOOL64 shrext_cmds export_dynamic_flag_spec whole_archive_flag_spec compiler_needs_object with_gnu_ld allow_undefined_flag no_undefined_flag hardcode_libdir_flag_spec hardcode_libdir_separator exclude_expsyms include_expsyms file_list_spec variables_saved_for_relink libname_spec library_names_spec soname_spec install_override_mode finish_eval old_striplib striplib; do - case `eval \\$ECHO \\""\\$$var"\\"` in - *[\\\`\"\$]*) - eval "lt_$var=\\\"\`\$ECHO \"\$$var\" | \$SED \"\$sed_quote_subst\"\`\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_$var=\\\"\$$var\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds old_postinstall_cmds old_postuninstall_cmds old_archive_cmds extract_expsyms_cmds old_archive_from_new_cmds old_archive_from_expsyms_cmds archive_cmds archive_expsym_cmds module_cmds module_expsym_cmds export_symbols_cmds prelink_cmds postlink_cmds postinstall_cmds postuninstall_cmds finish_cmds sys_lib_search_path_spec configure_time_dlsearch_path configure_time_lt_sys_library_path; do - case `eval \\$ECHO \\""\\$$var"\\"` in - *[\\\`\"\$]*) - eval "lt_$var=\\\"\`\$ECHO \"\$$var\" | \$SED -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ## exclude from sc_prohibit_nested_quotes - ;; - *) - eval "lt_$var=\\\"\$$var\\\"" - ;; - esac -done - -ac_aux_dir='../Carthage/Checkouts/libwebp' - -# See if we are running on zsh, and set the options that allow our -# commands through without removal of \ escapes INIT. -if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='libwebp' - VERSION='1.1.0' - RM='rm -f' - ofile='libtool' - - - - - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "src/webp/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/webp/config.h" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; - "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; - "extras/Makefile") CONFIG_FILES="$CONFIG_FILES extras/Makefile" ;; - "imageio/Makefile") CONFIG_FILES="$CONFIG_FILES imageio/Makefile" ;; - "src/dec/Makefile") CONFIG_FILES="$CONFIG_FILES src/dec/Makefile" ;; - "src/enc/Makefile") CONFIG_FILES="$CONFIG_FILES src/enc/Makefile" ;; - "src/dsp/Makefile") CONFIG_FILES="$CONFIG_FILES src/dsp/Makefile" ;; - "src/demux/Makefile") CONFIG_FILES="$CONFIG_FILES src/demux/Makefile" ;; - "src/mux/Makefile") CONFIG_FILES="$CONFIG_FILES src/mux/Makefile" ;; - "src/utils/Makefile") CONFIG_FILES="$CONFIG_FILES src/utils/Makefile" ;; - "src/libwebp.pc") CONFIG_FILES="$CONFIG_FILES src/libwebp.pc" ;; - "src/libwebpdecoder.pc") CONFIG_FILES="$CONFIG_FILES src/libwebpdecoder.pc" ;; - "src/demux/libwebpdemux.pc") CONFIG_FILES="$CONFIG_FILES src/demux/libwebpdemux.pc" ;; - "src/mux/libwebpmux.pc") CONFIG_FILES="$CONFIG_FILES src/mux/libwebpmux.pc" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -cat >>"$ac_tmp/subs1.awk" <<\_ACAWK && -S["am__EXEEXT_FALSE"]="" -S["am__EXEEXT_TRUE"]="#" -S["LTLIBOBJS"]="" -S["LIBOBJS"]="" -S["BUILD_EXTRAS_FALSE"]="" -S["BUILD_EXTRAS_TRUE"]="#" -S["BUILD_LIBWEBPDECODER_FALSE"]="#" -S["BUILD_LIBWEBPDECODER_TRUE"]="" -S["BUILD_DEMUX_FALSE"]="#" -S["BUILD_DEMUX_TRUE"]="" -S["BUILD_MUX_FALSE"]="#" -S["BUILD_MUX_TRUE"]="" -S["USE_SWAP_16BIT_CSP"]="-DWEBP_SWAP_16BIT_CSP=1" -S["BUILD_WEBPINFO_FALSE"]="#" -S["BUILD_WEBPINFO_TRUE"]="" -S["BUILD_IMG2WEBP_FALSE"]="" -S["BUILD_IMG2WEBP_TRUE"]="#" -S["BUILD_GIF2WEBP_FALSE"]="" -S["BUILD_GIF2WEBP_TRUE"]="#" -S["BUILD_ANIMDIFF_FALSE"]="" -S["BUILD_ANIMDIFF_TRUE"]="#" -S["GIF_INCLUDES"]="" -S["GIF_LIBS"]="" -S["TIFF_INCLUDES"]="" -S["TIFF_LIBS"]="" -S["JPEG_INCLUDES"]="" -S["JPEG_LIBS"]="" -S["PNG_INCLUDES"]="" -S["PNG_LIBS"]="" -S["LIBPNG_CONFIG"]="/usr/local/bin/libpng-config" -S["BUILD_VWEBP_SDL_FALSE"]="" -S["BUILD_VWEBP_SDL_TRUE"]="#" -S["SDL_INCLUDES"]="" -S["SDL_LIBS"]="" -S["LIBSDL_CONFIG"]="" -S["BUILD_VWEBP_FALSE"]="" -S["BUILD_VWEBP_TRUE"]="#" -S["GL_INCLUDES"]="" -S["GL_LIBS"]="" -S["PTHREAD_CFLAGS"]="-D_THREAD_SAFE -pthread" -S["PTHREAD_LIBS"]="" -S["PTHREAD_CC"]="gcc" -S["ax_pthread_config"]="" -S["NEON_FLAGS"]="" -S["SSE2_FLAGS"]="" -S["SSE41_FLAGS"]="" -S["AM_CFLAGS"]=" -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wfo"\ -"rmat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreac"\ -"hable-code -Wunused -Wvla -Wno-deprecated-declarations" -S["pkgconfigdir"]="${libdir}/pkgconfig" -S["AM_CPPFLAGS"]=" -DNDEBUG" -S["CPP"]="gcc -E" -S["LT_SYS_LIBRARY_PATH"]="" -S["OTOOL64"]=":" -S["OTOOL"]="otool" -S["LIPO"]="lipo" -S["NMEDIT"]="nmedit" -S["DSYMUTIL"]="dsymutil" -S["MANIFEST_TOOL"]=":" -S["RANLIB"]="ranlib" -S["DLLTOOL"]="false" -S["OBJDUMP"]="objdump" -S["LN_S"]="ln -s" -S["NM"]="nm" -S["ac_ct_DUMPBIN"]="link -dump" -S["DUMPBIN"]=":" -S["LD"]="/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -S["FGREP"]="/usr/bin/grep -F" -S["EGREP"]="/usr/bin/grep -E" -S["GREP"]="/usr/bin/grep" -S["SED"]="/usr/bin/sed" -S["LIBTOOL"]="$(SHELL) $(top_builddir)/libtool" -S["am__fastdepCC_FALSE"]="#" -S["am__fastdepCC_TRUE"]="" -S["CCDEPMODE"]="depmode=gcc3" -S["am__nodep"]="_no" -S["AMDEPBACKSLASH"]="\\" -S["AMDEP_FALSE"]="#" -S["AMDEP_TRUE"]="" -S["am__include"]="include" -S["DEPDIR"]=".deps" -S["OBJEXT"]="o" -S["EXEEXT"]="" -S["ac_ct_CC"]="gcc" -S["CPPFLAGS"]="" -S["LDFLAGS"]="" -S["CFLAGS"]="-arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBU"\ -"G -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread" -S["CC"]="gcc" -S["ac_ct_AR"]="ar" -S["AR"]="ar" -S["AM_BACKSLASH"]="\\" -S["AM_DEFAULT_VERBOSITY"]="0" -S["AM_DEFAULT_V"]="$(AM_DEFAULT_VERBOSITY)" -S["AM_V"]="$(V)" -S["am__untar"]="$${TAR-tar} xf -" -S["am__tar"]="$${TAR-tar} chof - \"$$tardir\"" -S["AMTAR"]="$${TAR-tar}" -S["am__leading_dot"]="." -S["SET_MAKE"]="" -S["AWK"]="awk" -S["mkdir_p"]="$(MKDIR_P)" -S["MKDIR_P"]="../Carthage/Checkouts/libwebp/install-sh -c -d" -S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s" -S["STRIP"]="strip" -S["install_sh"]="${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh" -S["MAKEINFO"]="${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo" -S["AUTOHEADER"]="${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader" -S["AUTOMAKE"]="${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16" -S["AUTOCONF"]="${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf" -S["ACLOCAL"]="${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16" -S["VERSION"]="1.1.0" -S["PACKAGE"]="libwebp" -S["CYGPATH_W"]="echo" -S["am__isrc"]=" -I$(srcdir)" -S["INSTALL_DATA"]="${INSTALL} -m 644" -S["INSTALL_SCRIPT"]="${INSTALL}" -S["INSTALL_PROGRAM"]="${INSTALL}" -S["host_os"]="darwin" -S["host_vendor"]="apple" -S["host_cpu"]="aarch64" -S["host"]="aarch64-apple-darwin" -S["build_os"]="darwin19.5.0" -S["build_vendor"]="apple" -S["build_cpu"]="x86_64" -S["build"]="x86_64-apple-darwin19.5.0" -S["target_alias"]="" -S["host_alias"]="aarch64-apple-darwin" -S["build_alias"]="x86_64-apple-darwin19.5.0" -S["LIBS"]=" " -S["ECHO_T"]="" -S["ECHO_N"]="" -S["ECHO_C"]="\\c" -S["DEFS"]="-DHAVE_CONFIG_H" -S["mandir"]="${datarootdir}/man" -S["localedir"]="${datarootdir}/locale" -S["libdir"]="${exec_prefix}/lib" -S["psdir"]="${docdir}" -S["pdfdir"]="${docdir}" -S["dvidir"]="${docdir}" -S["htmldir"]="${docdir}" -S["infodir"]="${datarootdir}/info" -S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}" -S["oldincludedir"]="/usr/include" -S["includedir"]="${prefix}/include" -S["localstatedir"]="${prefix}/var" -S["sharedstatedir"]="${prefix}/com" -S["sysconfdir"]="${prefix}/etc" -S["datadir"]="${datarootdir}" -S["datarootdir"]="${prefix}/share" -S["libexecdir"]="${exec_prefix}/libexec" -S["sbindir"]="${exec_prefix}/sbin" -S["bindir"]="${exec_prefix}/bin" -S["program_transform_name"]="s,x,x," -S["prefix"]="/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64" -S["exec_prefix"]="${prefix}" -S["PACKAGE_URL"]="http://developers.google.com/speed/webp" -S["PACKAGE_BUGREPORT"]="https://bugs.chromium.org/p/webp" -S["PACKAGE_STRING"]="libwebp 1.1.0" -S["PACKAGE_VERSION"]="1.1.0" -S["PACKAGE_TARNAME"]="libwebp" -S["PACKAGE_NAME"]="libwebp" -S["PATH_SEPARATOR"]=":" -S["SHELL"]="/bin/sh" -S["am__quote"]="" -_ACAWK -cat >>"$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -D["PACKAGE_NAME"]=" \"libwebp\"" -D["PACKAGE_TARNAME"]=" \"libwebp\"" -D["PACKAGE_VERSION"]=" \"1.1.0\"" -D["PACKAGE_STRING"]=" \"libwebp 1.1.0\"" -D["PACKAGE_BUGREPORT"]=" \"https://bugs.chromium.org/p/webp\"" -D["PACKAGE_URL"]=" \"http://developers.google.com/speed/webp\"" -D["PACKAGE"]=" \"libwebp\"" -D["VERSION"]=" \"1.1.0\"" -D["STDC_HEADERS"]=" 1" -D["HAVE_SYS_TYPES_H"]=" 1" -D["HAVE_SYS_STAT_H"]=" 1" -D["HAVE_STDLIB_H"]=" 1" -D["HAVE_STRING_H"]=" 1" -D["HAVE_MEMORY_H"]=" 1" -D["HAVE_STRINGS_H"]=" 1" -D["HAVE_INTTYPES_H"]=" 1" -D["HAVE_STDINT_H"]=" 1" -D["HAVE_UNISTD_H"]=" 1" -D["HAVE_DLFCN_H"]=" 1" -D["LT_OBJDIR"]=" \".libs/\"" -D["HAVE_BUILTIN_BSWAP16"]=" 1" -D["HAVE_BUILTIN_BSWAP32"]=" 1" -D["HAVE_BUILTIN_BSWAP64"]=" 1" -D["HAVE_PTHREAD_PRIO_INHERIT"]=" 1" -D["WEBP_USE_THREAD"]=" 1" -D["WEBP_NEAR_LOSSLESS"]=" 1" - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\t (]|$)/ { - line = $ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} - ac_datarootdir_hack=' - s&@datadir@&${datarootdir}&g - s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g - s&@infodir@&${datarootdir}/info&g - s&@localedir@&${datarootdir}/locale&g - s&@mandir@&${datarootdir}/man&g - s&\${datarootdir}&${prefix}/share&g' ;; -esac -ac_sed_extra=" - -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - case $CONFIG_FILES in #( - *\'*) : - eval set x "$CONFIG_FILES" ;; #( - *) : - set x $CONFIG_FILES ;; #( - *) : - ;; -esac - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`$as_dirname -- "$am_mf" || -$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$am_mf" : 'X\(//\)[^/]' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - am_filepart=`$as_basename -- "$am_mf" || -$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { echo "$as_me:$LINENO: cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles" >&5 - (cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } || am_rc=$? - done - if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE=\"gmake\" (or whatever is - necessary). You can also try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } - fi - { am_dirpart=; unset am_dirpart;} - { am_filepart=; unset am_filepart;} - { am_mf=; unset am_mf;} - { am_rc=; unset am_rc;} - rm -f conftest-deps.mk -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options that allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}"; then - setopt NO_GLOB_SUBST - fi - - cfgfile=${ofile}T - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL -# Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='' - -# Configured defaults for sys_lib_dlsearch_path munging. -: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec=$shared_archive_member_spec - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# The name lister interface. -nm_interface=$lt_lt_cv_nm_interface - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot=$lt_sysroot - -# Command to truncate a binary pipe. -lt_truncate_bin=$lt_lt_cv_truncate_bin - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \$shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - cat <<'_LT_EOF' >> "$cfgfile" - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test set != "${COLLECT_NAMES+set}"; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain=$ac_aux_dir/ltmain.sh - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_diff-anim_diff.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_diff-anim_diff.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_diff-anim_diff.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_diff-anim_util.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_diff-anim_util.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_diff-anim_util.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_diff-gifdec.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_diff-gifdec.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_diff-gifdec.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_dump-anim_dump.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_dump-anim_dump.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_dump-anim_dump.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_dump-anim_util.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_dump-anim_util.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_dump-anim_util.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_dump-gifdec.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_dump-gifdec.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/anim_dump-gifdec.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/cwebp-cwebp.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/cwebp-cwebp.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/cwebp-cwebp.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/dwebp-dwebp.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/dwebp-dwebp.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/dwebp-dwebp.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/example_util.Plo b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/example_util.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/example_util.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/gif2webp-gif2webp.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/gif2webp-gif2webp.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/gif2webp-gif2webp.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/gif2webp-gifdec.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/gif2webp-gifdec.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/gif2webp-gifdec.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/img2webp-img2webp.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/img2webp-img2webp.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/img2webp-img2webp.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/vwebp-vwebp.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/vwebp-vwebp.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/vwebp-vwebp.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/webpinfo-webpinfo.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/webpinfo-webpinfo.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/webpinfo-webpinfo.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/webpmux-webpmux.Po b/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/webpmux-webpmux.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/.deps/webpmux-webpmux.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/examples/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/examples/Makefile deleted file mode 100644 index 51554702..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/examples/Makefile +++ /dev/null @@ -1,1095 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# examples/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -VPATH = ../../Carthage/Checkouts/libwebp/examples -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ - $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) -am__append_1 = dwebp cwebp -#noinst_PROGRAMS = anim_diff$(EXEEXT) \ -# anim_dump$(EXEEXT) -#am__append_2 = gif2webp -#am__append_3 = img2webp -am__append_4 = webpmux -#am__append_5 = vwebp -am__append_6 = webpinfo -am__append_7 = ../src/libwebpdecoder.la -am__append_8 = ../src/libwebpdecoder.la -am__append_9 = ../src/libwebpdecoder.la -#am__append_10 = ../src/libwebp.la -#am__append_11 = ../src/libwebp.la -#am__append_12 = ../src/libwebp.la -subdir = examples -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__EXEEXT_1 = dwebp$(EXEEXT) cwebp$(EXEEXT) -#am__EXEEXT_2 = gif2webp$(EXEEXT) -#am__EXEEXT_3 = img2webp$(EXEEXT) -am__EXEEXT_4 = webpmux$(EXEEXT) -#am__EXEEXT_5 = vwebp$(EXEEXT) -am__EXEEXT_6 = webpinfo$(EXEEXT) -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) -LTLIBRARIES = $(noinst_LTLIBRARIES) -libexample_util_la_DEPENDENCIES = ../src/libwebp.la -am_libexample_util_la_OBJECTS = example_util.lo -libexample_util_la_OBJECTS = $(am_libexample_util_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -am_anim_diff_OBJECTS = anim_diff-anim_diff.$(OBJEXT) \ - anim_diff-anim_util.$(OBJEXT) anim_diff-gifdec.$(OBJEXT) -anim_diff_OBJECTS = $(am_anim_diff_OBJECTS) -am__DEPENDENCIES_1 = -anim_diff_DEPENDENCIES = ../src/demux/libwebpdemux.la \ - libexample_util.la ../imageio/libimageio_util.la \ - $(am__DEPENDENCIES_1) $(am__append_7) $(am__append_10) -am_anim_dump_OBJECTS = anim_dump-anim_dump.$(OBJEXT) \ - anim_dump-anim_util.$(OBJEXT) anim_dump-gifdec.$(OBJEXT) -anim_dump_OBJECTS = $(am_anim_dump_OBJECTS) -anim_dump_DEPENDENCIES = ../src/demux/libwebpdemux.la \ - libexample_util.la ../imageio/libimageio_util.la \ - ../imageio/libimageenc.la $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(am__append_8) \ - $(am__append_11) -am_cwebp_OBJECTS = cwebp-cwebp.$(OBJEXT) -cwebp_OBJECTS = $(am_cwebp_OBJECTS) -cwebp_DEPENDENCIES = libexample_util.la ../imageio/libimageio_util.la \ - ../imageio/libimagedec.la ../src/libwebp.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -am_dwebp_OBJECTS = dwebp-dwebp.$(OBJEXT) -dwebp_OBJECTS = $(am_dwebp_OBJECTS) -dwebp_DEPENDENCIES = libexample_util.la ../imageio/libimagedec.la \ - ../imageio/libimageenc.la ../imageio/libimageio_util.la \ - ../src/libwebp.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -am_gif2webp_OBJECTS = gif2webp-gif2webp.$(OBJEXT) \ - gif2webp-gifdec.$(OBJEXT) -gif2webp_OBJECTS = $(am_gif2webp_OBJECTS) -gif2webp_DEPENDENCIES = libexample_util.la \ - ../imageio/libimageio_util.la ../src/mux/libwebpmux.la \ - ../src/libwebp.la $(am__DEPENDENCIES_1) -am_img2webp_OBJECTS = img2webp-img2webp.$(OBJEXT) -img2webp_OBJECTS = $(am_img2webp_OBJECTS) -img2webp_DEPENDENCIES = libexample_util.la \ - ../imageio/libimageio_util.la ../imageio/libimagedec.la \ - ../src/mux/libwebpmux.la ../src/libwebp.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -am_vwebp_OBJECTS = vwebp-vwebp.$(OBJEXT) -vwebp_OBJECTS = $(am_vwebp_OBJECTS) -vwebp_DEPENDENCIES = libexample_util.la ../imageio/libimageio_util.la \ - ../src/demux/libwebpdemux.la $(am__DEPENDENCIES_1) \ - $(am__append_9) $(am__append_12) -am_webpinfo_OBJECTS = webpinfo-webpinfo.$(OBJEXT) -webpinfo_OBJECTS = $(am_webpinfo_OBJECTS) -webpinfo_DEPENDENCIES = libexample_util.la \ - ../imageio/libimageio_util.la ../src/libwebp.la -am_webpmux_OBJECTS = webpmux-webpmux.$(OBJEXT) -webpmux_OBJECTS = $(am_webpmux_OBJECTS) -webpmux_DEPENDENCIES = libexample_util.la \ - ../imageio/libimageio_util.la ../src/mux/libwebpmux.la \ - ../src/libwebp.la -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/webp -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/anim_diff-anim_diff.Po \ - ./$(DEPDIR)/anim_diff-anim_util.Po \ - ./$(DEPDIR)/anim_diff-gifdec.Po \ - ./$(DEPDIR)/anim_dump-anim_dump.Po \ - ./$(DEPDIR)/anim_dump-anim_util.Po \ - ./$(DEPDIR)/anim_dump-gifdec.Po ./$(DEPDIR)/cwebp-cwebp.Po \ - ./$(DEPDIR)/dwebp-dwebp.Po ./$(DEPDIR)/example_util.Plo \ - ./$(DEPDIR)/gif2webp-gif2webp.Po \ - ./$(DEPDIR)/gif2webp-gifdec.Po \ - ./$(DEPDIR)/img2webp-img2webp.Po ./$(DEPDIR)/vwebp-vwebp.Po \ - ./$(DEPDIR)/webpinfo-webpinfo.Po \ - ./$(DEPDIR)/webpmux-webpmux.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libexample_util_la_SOURCES) $(anim_diff_SOURCES) \ - $(anim_dump_SOURCES) $(cwebp_SOURCES) $(dwebp_SOURCES) \ - $(gif2webp_SOURCES) $(img2webp_SOURCES) $(vwebp_SOURCES) \ - $(webpinfo_SOURCES) $(webpmux_SOURCES) -DIST_SOURCES = $(libexample_util_la_SOURCES) $(anim_diff_SOURCES) \ - $(anim_dump_SOURCES) $(cwebp_SOURCES) $(dwebp_SOURCES) \ - $(gif2webp_SOURCES) $(img2webp_SOURCES) $(vwebp_SOURCES) \ - $(webpinfo_SOURCES) $(webpmux_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -I$(top_builddir)/src -I$(top_srcdir)/src -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/examples -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/examples -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../Carthage/Checkouts/libwebp/examples -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = ../../Carthage/Checkouts/libwebp -noinst_LTLIBRARIES = libexample_util.la -libexample_util_la_SOURCES = example_util.c example_util.h -libexample_util_la_LIBADD = ../src/libwebp.la -anim_diff_SOURCES = anim_diff.c anim_util.c anim_util.h gifdec.c gifdec.h -anim_diff_CPPFLAGS = $(AM_CPPFLAGS) $(GIF_INCLUDES) -anim_diff_LDADD = ../src/demux/libwebpdemux.la libexample_util.la \ - ../imageio/libimageio_util.la $(GIF_LIBS) -lm $(am__append_7) \ - $(am__append_10) -anim_dump_SOURCES = anim_dump.c anim_util.c anim_util.h gifdec.c gifdec.h -anim_dump_CPPFLAGS = $(AM_CPPFLAGS) $(PNG_INCLUDES) $(GIF_INCLUDES) -anim_dump_LDADD = ../src/demux/libwebpdemux.la libexample_util.la \ - ../imageio/libimageio_util.la ../imageio/libimageenc.la \ - $(PNG_LIBS) $(GIF_LIBS) $(TIFF_LIBS) -lm $(am__append_8) \ - $(am__append_11) -cwebp_SOURCES = cwebp.c stopwatch.h -cwebp_CPPFLAGS = $(AM_CPPFLAGS) -cwebp_LDADD = libexample_util.la ../imageio/libimageio_util.la \ - ../imageio/libimagedec.la ../src/libwebp.la $(JPEG_LIBS) \ - $(PNG_LIBS) $(TIFF_LIBS) -dwebp_SOURCES = dwebp.c stopwatch.h -dwebp_CPPFLAGS = $(AM_CPPFLAGS) $(JPEG_INCLUDES) $(PNG_INCLUDES) -dwebp_LDADD = libexample_util.la ../imageio/libimagedec.la \ - ../imageio/libimageenc.la ../imageio/libimageio_util.la \ - ../src/libwebp.la $(PNG_LIBS) $(JPEG_LIBS) -gif2webp_SOURCES = gif2webp.c gifdec.c gifdec.h -gif2webp_CPPFLAGS = $(AM_CPPFLAGS) $(GIF_INCLUDES) -gif2webp_LDADD = libexample_util.la ../imageio/libimageio_util.la \ - ../src/mux/libwebpmux.la ../src/libwebp.la $(GIF_LIBS) -vwebp_SOURCES = vwebp.c -vwebp_CPPFLAGS = $(AM_CPPFLAGS) $(GL_INCLUDES) -vwebp_LDADD = libexample_util.la ../imageio/libimageio_util.la \ - ../src/demux/libwebpdemux.la $(GL_LIBS) $(am__append_9) \ - $(am__append_12) -webpmux_SOURCES = webpmux.c -webpmux_CPPFLAGS = $(AM_CPPFLAGS) -webpmux_LDADD = libexample_util.la ../imageio/libimageio_util.la \ - ../src/mux/libwebpmux.la ../src/libwebp.la -img2webp_SOURCES = img2webp.c -img2webp_CPPFLAGS = $(AM_CPPFLAGS) -img2webp_LDADD = libexample_util.la ../imageio/libimageio_util.la \ - ../imageio/libimagedec.la ../src/mux/libwebpmux.la \ - ../src/libwebp.la $(PNG_LIBS) $(JPEG_LIBS) $(TIFF_LIBS) -webpinfo_SOURCES = webpinfo.c -webpinfo_CPPFLAGS = $(AM_CPPFLAGS) -webpinfo_LDADD = libexample_util.la ../imageio/libimageio_util.la \ - ../src/libwebp.la -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign examples/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libexample_util.la: $(libexample_util_la_OBJECTS) $(libexample_util_la_DEPENDENCIES) $(EXTRA_libexample_util_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libexample_util_la_OBJECTS) $(libexample_util_la_LIBADD) $(LIBS) - -anim_diff$(EXEEXT): $(anim_diff_OBJECTS) $(anim_diff_DEPENDENCIES) $(EXTRA_anim_diff_DEPENDENCIES) - @rm -f anim_diff$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(anim_diff_OBJECTS) $(anim_diff_LDADD) $(LIBS) - -anim_dump$(EXEEXT): $(anim_dump_OBJECTS) $(anim_dump_DEPENDENCIES) $(EXTRA_anim_dump_DEPENDENCIES) - @rm -f anim_dump$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(anim_dump_OBJECTS) $(anim_dump_LDADD) $(LIBS) - -cwebp$(EXEEXT): $(cwebp_OBJECTS) $(cwebp_DEPENDENCIES) $(EXTRA_cwebp_DEPENDENCIES) - @rm -f cwebp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(cwebp_OBJECTS) $(cwebp_LDADD) $(LIBS) - -dwebp$(EXEEXT): $(dwebp_OBJECTS) $(dwebp_DEPENDENCIES) $(EXTRA_dwebp_DEPENDENCIES) - @rm -f dwebp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(dwebp_OBJECTS) $(dwebp_LDADD) $(LIBS) - -gif2webp$(EXEEXT): $(gif2webp_OBJECTS) $(gif2webp_DEPENDENCIES) $(EXTRA_gif2webp_DEPENDENCIES) - @rm -f gif2webp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(gif2webp_OBJECTS) $(gif2webp_LDADD) $(LIBS) - -img2webp$(EXEEXT): $(img2webp_OBJECTS) $(img2webp_DEPENDENCIES) $(EXTRA_img2webp_DEPENDENCIES) - @rm -f img2webp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(img2webp_OBJECTS) $(img2webp_LDADD) $(LIBS) - -vwebp$(EXEEXT): $(vwebp_OBJECTS) $(vwebp_DEPENDENCIES) $(EXTRA_vwebp_DEPENDENCIES) - @rm -f vwebp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(vwebp_OBJECTS) $(vwebp_LDADD) $(LIBS) - -webpinfo$(EXEEXT): $(webpinfo_OBJECTS) $(webpinfo_DEPENDENCIES) $(EXTRA_webpinfo_DEPENDENCIES) - @rm -f webpinfo$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(webpinfo_OBJECTS) $(webpinfo_LDADD) $(LIBS) - -webpmux$(EXEEXT): $(webpmux_OBJECTS) $(webpmux_DEPENDENCIES) $(EXTRA_webpmux_DEPENDENCIES) - @rm -f webpmux$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(webpmux_OBJECTS) $(webpmux_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/anim_diff-anim_diff.Po # am--include-marker -include ./$(DEPDIR)/anim_diff-anim_util.Po # am--include-marker -include ./$(DEPDIR)/anim_diff-gifdec.Po # am--include-marker -include ./$(DEPDIR)/anim_dump-anim_dump.Po # am--include-marker -include ./$(DEPDIR)/anim_dump-anim_util.Po # am--include-marker -include ./$(DEPDIR)/anim_dump-gifdec.Po # am--include-marker -include ./$(DEPDIR)/cwebp-cwebp.Po # am--include-marker -include ./$(DEPDIR)/dwebp-dwebp.Po # am--include-marker -include ./$(DEPDIR)/example_util.Plo # am--include-marker -include ./$(DEPDIR)/gif2webp-gif2webp.Po # am--include-marker -include ./$(DEPDIR)/gif2webp-gifdec.Po # am--include-marker -include ./$(DEPDIR)/img2webp-img2webp.Po # am--include-marker -include ./$(DEPDIR)/vwebp-vwebp.Po # am--include-marker -include ./$(DEPDIR)/webpinfo-webpinfo.Po # am--include-marker -include ./$(DEPDIR)/webpmux-webpmux.Po # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -anim_diff-anim_diff.o: anim_diff.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_diff-anim_diff.o -MD -MP -MF $(DEPDIR)/anim_diff-anim_diff.Tpo -c -o anim_diff-anim_diff.o `test -f 'anim_diff.c' || echo '$(srcdir)/'`anim_diff.c - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_diff-anim_diff.Tpo $(DEPDIR)/anim_diff-anim_diff.Po -# $(AM_V_CC)source='anim_diff.c' object='anim_diff-anim_diff.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_diff-anim_diff.o `test -f 'anim_diff.c' || echo '$(srcdir)/'`anim_diff.c - -anim_diff-anim_diff.obj: anim_diff.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_diff-anim_diff.obj -MD -MP -MF $(DEPDIR)/anim_diff-anim_diff.Tpo -c -o anim_diff-anim_diff.obj `if test -f 'anim_diff.c'; then $(CYGPATH_W) 'anim_diff.c'; else $(CYGPATH_W) '$(srcdir)/anim_diff.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_diff-anim_diff.Tpo $(DEPDIR)/anim_diff-anim_diff.Po -# $(AM_V_CC)source='anim_diff.c' object='anim_diff-anim_diff.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_diff-anim_diff.obj `if test -f 'anim_diff.c'; then $(CYGPATH_W) 'anim_diff.c'; else $(CYGPATH_W) '$(srcdir)/anim_diff.c'; fi` - -anim_diff-anim_util.o: anim_util.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_diff-anim_util.o -MD -MP -MF $(DEPDIR)/anim_diff-anim_util.Tpo -c -o anim_diff-anim_util.o `test -f 'anim_util.c' || echo '$(srcdir)/'`anim_util.c - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_diff-anim_util.Tpo $(DEPDIR)/anim_diff-anim_util.Po -# $(AM_V_CC)source='anim_util.c' object='anim_diff-anim_util.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_diff-anim_util.o `test -f 'anim_util.c' || echo '$(srcdir)/'`anim_util.c - -anim_diff-anim_util.obj: anim_util.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_diff-anim_util.obj -MD -MP -MF $(DEPDIR)/anim_diff-anim_util.Tpo -c -o anim_diff-anim_util.obj `if test -f 'anim_util.c'; then $(CYGPATH_W) 'anim_util.c'; else $(CYGPATH_W) '$(srcdir)/anim_util.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_diff-anim_util.Tpo $(DEPDIR)/anim_diff-anim_util.Po -# $(AM_V_CC)source='anim_util.c' object='anim_diff-anim_util.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_diff-anim_util.obj `if test -f 'anim_util.c'; then $(CYGPATH_W) 'anim_util.c'; else $(CYGPATH_W) '$(srcdir)/anim_util.c'; fi` - -anim_diff-gifdec.o: gifdec.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_diff-gifdec.o -MD -MP -MF $(DEPDIR)/anim_diff-gifdec.Tpo -c -o anim_diff-gifdec.o `test -f 'gifdec.c' || echo '$(srcdir)/'`gifdec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_diff-gifdec.Tpo $(DEPDIR)/anim_diff-gifdec.Po -# $(AM_V_CC)source='gifdec.c' object='anim_diff-gifdec.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_diff-gifdec.o `test -f 'gifdec.c' || echo '$(srcdir)/'`gifdec.c - -anim_diff-gifdec.obj: gifdec.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_diff-gifdec.obj -MD -MP -MF $(DEPDIR)/anim_diff-gifdec.Tpo -c -o anim_diff-gifdec.obj `if test -f 'gifdec.c'; then $(CYGPATH_W) 'gifdec.c'; else $(CYGPATH_W) '$(srcdir)/gifdec.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_diff-gifdec.Tpo $(DEPDIR)/anim_diff-gifdec.Po -# $(AM_V_CC)source='gifdec.c' object='anim_diff-gifdec.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_diff_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_diff-gifdec.obj `if test -f 'gifdec.c'; then $(CYGPATH_W) 'gifdec.c'; else $(CYGPATH_W) '$(srcdir)/gifdec.c'; fi` - -anim_dump-anim_dump.o: anim_dump.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_dump-anim_dump.o -MD -MP -MF $(DEPDIR)/anim_dump-anim_dump.Tpo -c -o anim_dump-anim_dump.o `test -f 'anim_dump.c' || echo '$(srcdir)/'`anim_dump.c - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_dump-anim_dump.Tpo $(DEPDIR)/anim_dump-anim_dump.Po -# $(AM_V_CC)source='anim_dump.c' object='anim_dump-anim_dump.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_dump-anim_dump.o `test -f 'anim_dump.c' || echo '$(srcdir)/'`anim_dump.c - -anim_dump-anim_dump.obj: anim_dump.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_dump-anim_dump.obj -MD -MP -MF $(DEPDIR)/anim_dump-anim_dump.Tpo -c -o anim_dump-anim_dump.obj `if test -f 'anim_dump.c'; then $(CYGPATH_W) 'anim_dump.c'; else $(CYGPATH_W) '$(srcdir)/anim_dump.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_dump-anim_dump.Tpo $(DEPDIR)/anim_dump-anim_dump.Po -# $(AM_V_CC)source='anim_dump.c' object='anim_dump-anim_dump.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_dump-anim_dump.obj `if test -f 'anim_dump.c'; then $(CYGPATH_W) 'anim_dump.c'; else $(CYGPATH_W) '$(srcdir)/anim_dump.c'; fi` - -anim_dump-anim_util.o: anim_util.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_dump-anim_util.o -MD -MP -MF $(DEPDIR)/anim_dump-anim_util.Tpo -c -o anim_dump-anim_util.o `test -f 'anim_util.c' || echo '$(srcdir)/'`anim_util.c - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_dump-anim_util.Tpo $(DEPDIR)/anim_dump-anim_util.Po -# $(AM_V_CC)source='anim_util.c' object='anim_dump-anim_util.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_dump-anim_util.o `test -f 'anim_util.c' || echo '$(srcdir)/'`anim_util.c - -anim_dump-anim_util.obj: anim_util.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_dump-anim_util.obj -MD -MP -MF $(DEPDIR)/anim_dump-anim_util.Tpo -c -o anim_dump-anim_util.obj `if test -f 'anim_util.c'; then $(CYGPATH_W) 'anim_util.c'; else $(CYGPATH_W) '$(srcdir)/anim_util.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_dump-anim_util.Tpo $(DEPDIR)/anim_dump-anim_util.Po -# $(AM_V_CC)source='anim_util.c' object='anim_dump-anim_util.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_dump-anim_util.obj `if test -f 'anim_util.c'; then $(CYGPATH_W) 'anim_util.c'; else $(CYGPATH_W) '$(srcdir)/anim_util.c'; fi` - -anim_dump-gifdec.o: gifdec.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_dump-gifdec.o -MD -MP -MF $(DEPDIR)/anim_dump-gifdec.Tpo -c -o anim_dump-gifdec.o `test -f 'gifdec.c' || echo '$(srcdir)/'`gifdec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_dump-gifdec.Tpo $(DEPDIR)/anim_dump-gifdec.Po -# $(AM_V_CC)source='gifdec.c' object='anim_dump-gifdec.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_dump-gifdec.o `test -f 'gifdec.c' || echo '$(srcdir)/'`gifdec.c - -anim_dump-gifdec.obj: gifdec.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anim_dump-gifdec.obj -MD -MP -MF $(DEPDIR)/anim_dump-gifdec.Tpo -c -o anim_dump-gifdec.obj `if test -f 'gifdec.c'; then $(CYGPATH_W) 'gifdec.c'; else $(CYGPATH_W) '$(srcdir)/gifdec.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/anim_dump-gifdec.Tpo $(DEPDIR)/anim_dump-gifdec.Po -# $(AM_V_CC)source='gifdec.c' object='anim_dump-gifdec.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(anim_dump_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anim_dump-gifdec.obj `if test -f 'gifdec.c'; then $(CYGPATH_W) 'gifdec.c'; else $(CYGPATH_W) '$(srcdir)/gifdec.c'; fi` - -cwebp-cwebp.o: cwebp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cwebp-cwebp.o -MD -MP -MF $(DEPDIR)/cwebp-cwebp.Tpo -c -o cwebp-cwebp.o `test -f 'cwebp.c' || echo '$(srcdir)/'`cwebp.c - $(AM_V_at)$(am__mv) $(DEPDIR)/cwebp-cwebp.Tpo $(DEPDIR)/cwebp-cwebp.Po -# $(AM_V_CC)source='cwebp.c' object='cwebp-cwebp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cwebp-cwebp.o `test -f 'cwebp.c' || echo '$(srcdir)/'`cwebp.c - -cwebp-cwebp.obj: cwebp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cwebp-cwebp.obj -MD -MP -MF $(DEPDIR)/cwebp-cwebp.Tpo -c -o cwebp-cwebp.obj `if test -f 'cwebp.c'; then $(CYGPATH_W) 'cwebp.c'; else $(CYGPATH_W) '$(srcdir)/cwebp.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/cwebp-cwebp.Tpo $(DEPDIR)/cwebp-cwebp.Po -# $(AM_V_CC)source='cwebp.c' object='cwebp-cwebp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cwebp-cwebp.obj `if test -f 'cwebp.c'; then $(CYGPATH_W) 'cwebp.c'; else $(CYGPATH_W) '$(srcdir)/cwebp.c'; fi` - -dwebp-dwebp.o: dwebp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dwebp-dwebp.o -MD -MP -MF $(DEPDIR)/dwebp-dwebp.Tpo -c -o dwebp-dwebp.o `test -f 'dwebp.c' || echo '$(srcdir)/'`dwebp.c - $(AM_V_at)$(am__mv) $(DEPDIR)/dwebp-dwebp.Tpo $(DEPDIR)/dwebp-dwebp.Po -# $(AM_V_CC)source='dwebp.c' object='dwebp-dwebp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dwebp-dwebp.o `test -f 'dwebp.c' || echo '$(srcdir)/'`dwebp.c - -dwebp-dwebp.obj: dwebp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dwebp-dwebp.obj -MD -MP -MF $(DEPDIR)/dwebp-dwebp.Tpo -c -o dwebp-dwebp.obj `if test -f 'dwebp.c'; then $(CYGPATH_W) 'dwebp.c'; else $(CYGPATH_W) '$(srcdir)/dwebp.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/dwebp-dwebp.Tpo $(DEPDIR)/dwebp-dwebp.Po -# $(AM_V_CC)source='dwebp.c' object='dwebp-dwebp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dwebp-dwebp.obj `if test -f 'dwebp.c'; then $(CYGPATH_W) 'dwebp.c'; else $(CYGPATH_W) '$(srcdir)/dwebp.c'; fi` - -gif2webp-gif2webp.o: gif2webp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gif2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gif2webp-gif2webp.o -MD -MP -MF $(DEPDIR)/gif2webp-gif2webp.Tpo -c -o gif2webp-gif2webp.o `test -f 'gif2webp.c' || echo '$(srcdir)/'`gif2webp.c - $(AM_V_at)$(am__mv) $(DEPDIR)/gif2webp-gif2webp.Tpo $(DEPDIR)/gif2webp-gif2webp.Po -# $(AM_V_CC)source='gif2webp.c' object='gif2webp-gif2webp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gif2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gif2webp-gif2webp.o `test -f 'gif2webp.c' || echo '$(srcdir)/'`gif2webp.c - -gif2webp-gif2webp.obj: gif2webp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gif2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gif2webp-gif2webp.obj -MD -MP -MF $(DEPDIR)/gif2webp-gif2webp.Tpo -c -o gif2webp-gif2webp.obj `if test -f 'gif2webp.c'; then $(CYGPATH_W) 'gif2webp.c'; else $(CYGPATH_W) '$(srcdir)/gif2webp.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/gif2webp-gif2webp.Tpo $(DEPDIR)/gif2webp-gif2webp.Po -# $(AM_V_CC)source='gif2webp.c' object='gif2webp-gif2webp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gif2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gif2webp-gif2webp.obj `if test -f 'gif2webp.c'; then $(CYGPATH_W) 'gif2webp.c'; else $(CYGPATH_W) '$(srcdir)/gif2webp.c'; fi` - -gif2webp-gifdec.o: gifdec.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gif2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gif2webp-gifdec.o -MD -MP -MF $(DEPDIR)/gif2webp-gifdec.Tpo -c -o gif2webp-gifdec.o `test -f 'gifdec.c' || echo '$(srcdir)/'`gifdec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/gif2webp-gifdec.Tpo $(DEPDIR)/gif2webp-gifdec.Po -# $(AM_V_CC)source='gifdec.c' object='gif2webp-gifdec.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gif2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gif2webp-gifdec.o `test -f 'gifdec.c' || echo '$(srcdir)/'`gifdec.c - -gif2webp-gifdec.obj: gifdec.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gif2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gif2webp-gifdec.obj -MD -MP -MF $(DEPDIR)/gif2webp-gifdec.Tpo -c -o gif2webp-gifdec.obj `if test -f 'gifdec.c'; then $(CYGPATH_W) 'gifdec.c'; else $(CYGPATH_W) '$(srcdir)/gifdec.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/gif2webp-gifdec.Tpo $(DEPDIR)/gif2webp-gifdec.Po -# $(AM_V_CC)source='gifdec.c' object='gif2webp-gifdec.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gif2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gif2webp-gifdec.obj `if test -f 'gifdec.c'; then $(CYGPATH_W) 'gifdec.c'; else $(CYGPATH_W) '$(srcdir)/gifdec.c'; fi` - -img2webp-img2webp.o: img2webp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(img2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT img2webp-img2webp.o -MD -MP -MF $(DEPDIR)/img2webp-img2webp.Tpo -c -o img2webp-img2webp.o `test -f 'img2webp.c' || echo '$(srcdir)/'`img2webp.c - $(AM_V_at)$(am__mv) $(DEPDIR)/img2webp-img2webp.Tpo $(DEPDIR)/img2webp-img2webp.Po -# $(AM_V_CC)source='img2webp.c' object='img2webp-img2webp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(img2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o img2webp-img2webp.o `test -f 'img2webp.c' || echo '$(srcdir)/'`img2webp.c - -img2webp-img2webp.obj: img2webp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(img2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT img2webp-img2webp.obj -MD -MP -MF $(DEPDIR)/img2webp-img2webp.Tpo -c -o img2webp-img2webp.obj `if test -f 'img2webp.c'; then $(CYGPATH_W) 'img2webp.c'; else $(CYGPATH_W) '$(srcdir)/img2webp.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/img2webp-img2webp.Tpo $(DEPDIR)/img2webp-img2webp.Po -# $(AM_V_CC)source='img2webp.c' object='img2webp-img2webp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(img2webp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o img2webp-img2webp.obj `if test -f 'img2webp.c'; then $(CYGPATH_W) 'img2webp.c'; else $(CYGPATH_W) '$(srcdir)/img2webp.c'; fi` - -vwebp-vwebp.o: vwebp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vwebp-vwebp.o -MD -MP -MF $(DEPDIR)/vwebp-vwebp.Tpo -c -o vwebp-vwebp.o `test -f 'vwebp.c' || echo '$(srcdir)/'`vwebp.c - $(AM_V_at)$(am__mv) $(DEPDIR)/vwebp-vwebp.Tpo $(DEPDIR)/vwebp-vwebp.Po -# $(AM_V_CC)source='vwebp.c' object='vwebp-vwebp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vwebp-vwebp.o `test -f 'vwebp.c' || echo '$(srcdir)/'`vwebp.c - -vwebp-vwebp.obj: vwebp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vwebp-vwebp.obj -MD -MP -MF $(DEPDIR)/vwebp-vwebp.Tpo -c -o vwebp-vwebp.obj `if test -f 'vwebp.c'; then $(CYGPATH_W) 'vwebp.c'; else $(CYGPATH_W) '$(srcdir)/vwebp.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/vwebp-vwebp.Tpo $(DEPDIR)/vwebp-vwebp.Po -# $(AM_V_CC)source='vwebp.c' object='vwebp-vwebp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vwebp-vwebp.obj `if test -f 'vwebp.c'; then $(CYGPATH_W) 'vwebp.c'; else $(CYGPATH_W) '$(srcdir)/vwebp.c'; fi` - -webpinfo-webpinfo.o: webpinfo.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT webpinfo-webpinfo.o -MD -MP -MF $(DEPDIR)/webpinfo-webpinfo.Tpo -c -o webpinfo-webpinfo.o `test -f 'webpinfo.c' || echo '$(srcdir)/'`webpinfo.c - $(AM_V_at)$(am__mv) $(DEPDIR)/webpinfo-webpinfo.Tpo $(DEPDIR)/webpinfo-webpinfo.Po -# $(AM_V_CC)source='webpinfo.c' object='webpinfo-webpinfo.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o webpinfo-webpinfo.o `test -f 'webpinfo.c' || echo '$(srcdir)/'`webpinfo.c - -webpinfo-webpinfo.obj: webpinfo.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT webpinfo-webpinfo.obj -MD -MP -MF $(DEPDIR)/webpinfo-webpinfo.Tpo -c -o webpinfo-webpinfo.obj `if test -f 'webpinfo.c'; then $(CYGPATH_W) 'webpinfo.c'; else $(CYGPATH_W) '$(srcdir)/webpinfo.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/webpinfo-webpinfo.Tpo $(DEPDIR)/webpinfo-webpinfo.Po -# $(AM_V_CC)source='webpinfo.c' object='webpinfo-webpinfo.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webpinfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o webpinfo-webpinfo.obj `if test -f 'webpinfo.c'; then $(CYGPATH_W) 'webpinfo.c'; else $(CYGPATH_W) '$(srcdir)/webpinfo.c'; fi` - -webpmux-webpmux.o: webpmux.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webpmux_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT webpmux-webpmux.o -MD -MP -MF $(DEPDIR)/webpmux-webpmux.Tpo -c -o webpmux-webpmux.o `test -f 'webpmux.c' || echo '$(srcdir)/'`webpmux.c - $(AM_V_at)$(am__mv) $(DEPDIR)/webpmux-webpmux.Tpo $(DEPDIR)/webpmux-webpmux.Po -# $(AM_V_CC)source='webpmux.c' object='webpmux-webpmux.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webpmux_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o webpmux-webpmux.o `test -f 'webpmux.c' || echo '$(srcdir)/'`webpmux.c - -webpmux-webpmux.obj: webpmux.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webpmux_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT webpmux-webpmux.obj -MD -MP -MF $(DEPDIR)/webpmux-webpmux.Tpo -c -o webpmux-webpmux.obj `if test -f 'webpmux.c'; then $(CYGPATH_W) 'webpmux.c'; else $(CYGPATH_W) '$(srcdir)/webpmux.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/webpmux-webpmux.Tpo $(DEPDIR)/webpmux-webpmux.Po -# $(AM_V_CC)source='webpmux.c' object='webpmux-webpmux.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webpmux_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o webpmux-webpmux.obj `if test -f 'webpmux.c'; then $(CYGPATH_W) 'webpmux.c'; else $(CYGPATH_W) '$(srcdir)/webpmux.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES clean-noinstPROGRAMS mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/anim_diff-anim_diff.Po - -rm -f ./$(DEPDIR)/anim_diff-anim_util.Po - -rm -f ./$(DEPDIR)/anim_diff-gifdec.Po - -rm -f ./$(DEPDIR)/anim_dump-anim_dump.Po - -rm -f ./$(DEPDIR)/anim_dump-anim_util.Po - -rm -f ./$(DEPDIR)/anim_dump-gifdec.Po - -rm -f ./$(DEPDIR)/cwebp-cwebp.Po - -rm -f ./$(DEPDIR)/dwebp-dwebp.Po - -rm -f ./$(DEPDIR)/example_util.Plo - -rm -f ./$(DEPDIR)/gif2webp-gif2webp.Po - -rm -f ./$(DEPDIR)/gif2webp-gifdec.Po - -rm -f ./$(DEPDIR)/img2webp-img2webp.Po - -rm -f ./$(DEPDIR)/vwebp-vwebp.Po - -rm -f ./$(DEPDIR)/webpinfo-webpinfo.Po - -rm -f ./$(DEPDIR)/webpmux-webpmux.Po - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/anim_diff-anim_diff.Po - -rm -f ./$(DEPDIR)/anim_diff-anim_util.Po - -rm -f ./$(DEPDIR)/anim_diff-gifdec.Po - -rm -f ./$(DEPDIR)/anim_dump-anim_dump.Po - -rm -f ./$(DEPDIR)/anim_dump-anim_util.Po - -rm -f ./$(DEPDIR)/anim_dump-gifdec.Po - -rm -f ./$(DEPDIR)/cwebp-cwebp.Po - -rm -f ./$(DEPDIR)/dwebp-dwebp.Po - -rm -f ./$(DEPDIR)/example_util.Plo - -rm -f ./$(DEPDIR)/gif2webp-gif2webp.Po - -rm -f ./$(DEPDIR)/gif2webp-gifdec.Po - -rm -f ./$(DEPDIR)/img2webp-img2webp.Po - -rm -f ./$(DEPDIR)/vwebp-vwebp.Po - -rm -f ./$(DEPDIR)/webpinfo-webpinfo.Po - -rm -f ./$(DEPDIR)/webpmux-webpmux.Po - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES clean-noinstPROGRAMS cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/get_disto-get_disto.Po b/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/get_disto-get_disto.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/get_disto-get_disto.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/libwebpextras_la-extras.Plo b/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/libwebpextras_la-extras.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/libwebpextras_la-extras.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/libwebpextras_la-quality_estimate.Plo b/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/libwebpextras_la-quality_estimate.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/libwebpextras_la-quality_estimate.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/vwebp_sdl-vwebp_sdl.Po b/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/vwebp_sdl-vwebp_sdl.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/vwebp_sdl-vwebp_sdl.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/vwebp_sdl-webp_to_sdl.Po b/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/vwebp_sdl-webp_to_sdl.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/vwebp_sdl-webp_to_sdl.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/webp_quality-webp_quality.Po b/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/webp_quality-webp_quality.Po deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/extras/.deps/webp_quality-webp_quality.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/extras/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/extras/Makefile deleted file mode 100644 index 11543d58..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/extras/Makefile +++ /dev/null @@ -1,783 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# extras/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - -VPATH = ../../Carthage/Checkouts/libwebp/extras -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -noinst_PROGRAMS = webp_quality$(EXEEXT) $(am__EXEEXT_1) \ - $(am__EXEEXT_2) -am__append_1 = get_disto -#am__append_2 = vwebp_sdl -subdir = extras -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__EXEEXT_1 = get_disto$(EXEEXT) -#am__EXEEXT_2 = vwebp_sdl$(EXEEXT) -PROGRAMS = $(noinst_PROGRAMS) -LTLIBRARIES = $(noinst_LTLIBRARIES) -libwebpextras_la_DEPENDENCIES = ../src/libwebp.la -am_libwebpextras_la_OBJECTS = libwebpextras_la-extras.lo \ - libwebpextras_la-quality_estimate.lo -libwebpextras_la_OBJECTS = $(am_libwebpextras_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -libwebpextras_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libwebpextras_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -am_get_disto_OBJECTS = get_disto-get_disto.$(OBJEXT) -get_disto_OBJECTS = $(am_get_disto_OBJECTS) -am__DEPENDENCIES_1 = -get_disto_DEPENDENCIES = ../imageio/libimageio_util.la \ - ../imageio/libimagedec.la ../src/libwebp.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -am_vwebp_sdl_OBJECTS = vwebp_sdl-vwebp_sdl.$(OBJEXT) \ - vwebp_sdl-webp_to_sdl.$(OBJEXT) -vwebp_sdl_OBJECTS = $(am_vwebp_sdl_OBJECTS) -vwebp_sdl_DEPENDENCIES = ../imageio/libimageio_util.la \ - ../src/libwebp.la $(am__DEPENDENCIES_1) -am_webp_quality_OBJECTS = webp_quality-webp_quality.$(OBJEXT) -webp_quality_OBJECTS = $(am_webp_quality_OBJECTS) -webp_quality_DEPENDENCIES = ../imageio/libimageio_util.la \ - libwebpextras.la ../src/libwebp.la -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/webp -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/get_disto-get_disto.Po \ - ./$(DEPDIR)/libwebpextras_la-extras.Plo \ - ./$(DEPDIR)/libwebpextras_la-quality_estimate.Plo \ - ./$(DEPDIR)/vwebp_sdl-vwebp_sdl.Po \ - ./$(DEPDIR)/vwebp_sdl-webp_to_sdl.Po \ - ./$(DEPDIR)/webp_quality-webp_quality.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libwebpextras_la_SOURCES) $(get_disto_SOURCES) \ - $(vwebp_sdl_SOURCES) $(webp_quality_SOURCES) -DIST_SOURCES = $(libwebpextras_la_SOURCES) $(get_disto_SOURCES) \ - $(vwebp_sdl_SOURCES) $(webp_quality_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -HEADERS = $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -I$(top_builddir) -I$(top_srcdir) \ - -I$(top_builddir)/src -I$(top_srcdir)/src -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/extras -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/extras -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../Carthage/Checkouts/libwebp/extras -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = ../../Carthage/Checkouts/libwebp -noinst_LTLIBRARIES = libwebpextras.la -noinst_HEADERS = ../src/webp/types.h -libwebpextras_la_SOURCES = extras.c extras.h quality_estimate.c -libwebpextras_la_CPPFLAGS = $(AM_CPPFLAGS) -libwebpextras_la_LDFLAGS = -lm -libwebpextras_la_LIBADD = ../src/libwebp.la -get_disto_SOURCES = get_disto.c -get_disto_CPPFLAGS = $(AM_CPPFLAGS) -get_disto_LDADD = ../imageio/libimageio_util.la \ - ../imageio/libimagedec.la ../src/libwebp.la $(PNG_LIBS) \ - $(JPEG_LIBS) $(TIFF_LIBS) -webp_quality_SOURCES = webp_quality.c -webp_quality_CPPFLAGS = $(AM_CPPFLAGS) -webp_quality_LDADD = ../imageio/libimageio_util.la libwebpextras.la \ - ../src/libwebp.la -vwebp_sdl_SOURCES = vwebp_sdl.c webp_to_sdl.c webp_to_sdl.h -vwebp_sdl_CPPFLAGS = $(AM_CPPFLAGS) $(SDL_INCLUDES) -vwebp_sdl_LDADD = ../imageio/libimageio_util.la ../src/libwebp.la \ - $(SDL_LIBS) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign extras/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign extras/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libwebpextras.la: $(libwebpextras_la_OBJECTS) $(libwebpextras_la_DEPENDENCIES) $(EXTRA_libwebpextras_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpextras_la_LINK) $(libwebpextras_la_OBJECTS) $(libwebpextras_la_LIBADD) $(LIBS) - -get_disto$(EXEEXT): $(get_disto_OBJECTS) $(get_disto_DEPENDENCIES) $(EXTRA_get_disto_DEPENDENCIES) - @rm -f get_disto$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(get_disto_OBJECTS) $(get_disto_LDADD) $(LIBS) - -vwebp_sdl$(EXEEXT): $(vwebp_sdl_OBJECTS) $(vwebp_sdl_DEPENDENCIES) $(EXTRA_vwebp_sdl_DEPENDENCIES) - @rm -f vwebp_sdl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(vwebp_sdl_OBJECTS) $(vwebp_sdl_LDADD) $(LIBS) - -webp_quality$(EXEEXT): $(webp_quality_OBJECTS) $(webp_quality_DEPENDENCIES) $(EXTRA_webp_quality_DEPENDENCIES) - @rm -f webp_quality$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(webp_quality_OBJECTS) $(webp_quality_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/get_disto-get_disto.Po # am--include-marker -include ./$(DEPDIR)/libwebpextras_la-extras.Plo # am--include-marker -include ./$(DEPDIR)/libwebpextras_la-quality_estimate.Plo # am--include-marker -include ./$(DEPDIR)/vwebp_sdl-vwebp_sdl.Po # am--include-marker -include ./$(DEPDIR)/vwebp_sdl-webp_to_sdl.Po # am--include-marker -include ./$(DEPDIR)/webp_quality-webp_quality.Po # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -libwebpextras_la-extras.lo: extras.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpextras_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpextras_la-extras.lo -MD -MP -MF $(DEPDIR)/libwebpextras_la-extras.Tpo -c -o libwebpextras_la-extras.lo `test -f 'extras.c' || echo '$(srcdir)/'`extras.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpextras_la-extras.Tpo $(DEPDIR)/libwebpextras_la-extras.Plo -# $(AM_V_CC)source='extras.c' object='libwebpextras_la-extras.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpextras_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpextras_la-extras.lo `test -f 'extras.c' || echo '$(srcdir)/'`extras.c - -libwebpextras_la-quality_estimate.lo: quality_estimate.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpextras_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpextras_la-quality_estimate.lo -MD -MP -MF $(DEPDIR)/libwebpextras_la-quality_estimate.Tpo -c -o libwebpextras_la-quality_estimate.lo `test -f 'quality_estimate.c' || echo '$(srcdir)/'`quality_estimate.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpextras_la-quality_estimate.Tpo $(DEPDIR)/libwebpextras_la-quality_estimate.Plo -# $(AM_V_CC)source='quality_estimate.c' object='libwebpextras_la-quality_estimate.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpextras_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpextras_la-quality_estimate.lo `test -f 'quality_estimate.c' || echo '$(srcdir)/'`quality_estimate.c - -get_disto-get_disto.o: get_disto.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(get_disto_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT get_disto-get_disto.o -MD -MP -MF $(DEPDIR)/get_disto-get_disto.Tpo -c -o get_disto-get_disto.o `test -f 'get_disto.c' || echo '$(srcdir)/'`get_disto.c - $(AM_V_at)$(am__mv) $(DEPDIR)/get_disto-get_disto.Tpo $(DEPDIR)/get_disto-get_disto.Po -# $(AM_V_CC)source='get_disto.c' object='get_disto-get_disto.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(get_disto_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o get_disto-get_disto.o `test -f 'get_disto.c' || echo '$(srcdir)/'`get_disto.c - -get_disto-get_disto.obj: get_disto.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(get_disto_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT get_disto-get_disto.obj -MD -MP -MF $(DEPDIR)/get_disto-get_disto.Tpo -c -o get_disto-get_disto.obj `if test -f 'get_disto.c'; then $(CYGPATH_W) 'get_disto.c'; else $(CYGPATH_W) '$(srcdir)/get_disto.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/get_disto-get_disto.Tpo $(DEPDIR)/get_disto-get_disto.Po -# $(AM_V_CC)source='get_disto.c' object='get_disto-get_disto.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(get_disto_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o get_disto-get_disto.obj `if test -f 'get_disto.c'; then $(CYGPATH_W) 'get_disto.c'; else $(CYGPATH_W) '$(srcdir)/get_disto.c'; fi` - -vwebp_sdl-vwebp_sdl.o: vwebp_sdl.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_sdl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vwebp_sdl-vwebp_sdl.o -MD -MP -MF $(DEPDIR)/vwebp_sdl-vwebp_sdl.Tpo -c -o vwebp_sdl-vwebp_sdl.o `test -f 'vwebp_sdl.c' || echo '$(srcdir)/'`vwebp_sdl.c - $(AM_V_at)$(am__mv) $(DEPDIR)/vwebp_sdl-vwebp_sdl.Tpo $(DEPDIR)/vwebp_sdl-vwebp_sdl.Po -# $(AM_V_CC)source='vwebp_sdl.c' object='vwebp_sdl-vwebp_sdl.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_sdl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vwebp_sdl-vwebp_sdl.o `test -f 'vwebp_sdl.c' || echo '$(srcdir)/'`vwebp_sdl.c - -vwebp_sdl-vwebp_sdl.obj: vwebp_sdl.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_sdl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vwebp_sdl-vwebp_sdl.obj -MD -MP -MF $(DEPDIR)/vwebp_sdl-vwebp_sdl.Tpo -c -o vwebp_sdl-vwebp_sdl.obj `if test -f 'vwebp_sdl.c'; then $(CYGPATH_W) 'vwebp_sdl.c'; else $(CYGPATH_W) '$(srcdir)/vwebp_sdl.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/vwebp_sdl-vwebp_sdl.Tpo $(DEPDIR)/vwebp_sdl-vwebp_sdl.Po -# $(AM_V_CC)source='vwebp_sdl.c' object='vwebp_sdl-vwebp_sdl.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_sdl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vwebp_sdl-vwebp_sdl.obj `if test -f 'vwebp_sdl.c'; then $(CYGPATH_W) 'vwebp_sdl.c'; else $(CYGPATH_W) '$(srcdir)/vwebp_sdl.c'; fi` - -vwebp_sdl-webp_to_sdl.o: webp_to_sdl.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_sdl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vwebp_sdl-webp_to_sdl.o -MD -MP -MF $(DEPDIR)/vwebp_sdl-webp_to_sdl.Tpo -c -o vwebp_sdl-webp_to_sdl.o `test -f 'webp_to_sdl.c' || echo '$(srcdir)/'`webp_to_sdl.c - $(AM_V_at)$(am__mv) $(DEPDIR)/vwebp_sdl-webp_to_sdl.Tpo $(DEPDIR)/vwebp_sdl-webp_to_sdl.Po -# $(AM_V_CC)source='webp_to_sdl.c' object='vwebp_sdl-webp_to_sdl.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_sdl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vwebp_sdl-webp_to_sdl.o `test -f 'webp_to_sdl.c' || echo '$(srcdir)/'`webp_to_sdl.c - -vwebp_sdl-webp_to_sdl.obj: webp_to_sdl.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_sdl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vwebp_sdl-webp_to_sdl.obj -MD -MP -MF $(DEPDIR)/vwebp_sdl-webp_to_sdl.Tpo -c -o vwebp_sdl-webp_to_sdl.obj `if test -f 'webp_to_sdl.c'; then $(CYGPATH_W) 'webp_to_sdl.c'; else $(CYGPATH_W) '$(srcdir)/webp_to_sdl.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/vwebp_sdl-webp_to_sdl.Tpo $(DEPDIR)/vwebp_sdl-webp_to_sdl.Po -# $(AM_V_CC)source='webp_to_sdl.c' object='vwebp_sdl-webp_to_sdl.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vwebp_sdl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vwebp_sdl-webp_to_sdl.obj `if test -f 'webp_to_sdl.c'; then $(CYGPATH_W) 'webp_to_sdl.c'; else $(CYGPATH_W) '$(srcdir)/webp_to_sdl.c'; fi` - -webp_quality-webp_quality.o: webp_quality.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webp_quality_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT webp_quality-webp_quality.o -MD -MP -MF $(DEPDIR)/webp_quality-webp_quality.Tpo -c -o webp_quality-webp_quality.o `test -f 'webp_quality.c' || echo '$(srcdir)/'`webp_quality.c - $(AM_V_at)$(am__mv) $(DEPDIR)/webp_quality-webp_quality.Tpo $(DEPDIR)/webp_quality-webp_quality.Po -# $(AM_V_CC)source='webp_quality.c' object='webp_quality-webp_quality.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webp_quality_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o webp_quality-webp_quality.o `test -f 'webp_quality.c' || echo '$(srcdir)/'`webp_quality.c - -webp_quality-webp_quality.obj: webp_quality.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webp_quality_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT webp_quality-webp_quality.obj -MD -MP -MF $(DEPDIR)/webp_quality-webp_quality.Tpo -c -o webp_quality-webp_quality.obj `if test -f 'webp_quality.c'; then $(CYGPATH_W) 'webp_quality.c'; else $(CYGPATH_W) '$(srcdir)/webp_quality.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/webp_quality-webp_quality.Tpo $(DEPDIR)/webp_quality-webp_quality.Po -# $(AM_V_CC)source='webp_quality.c' object='webp_quality-webp_quality.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webp_quality_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o webp_quality-webp_quality.obj `if test -f 'webp_quality.c'; then $(CYGPATH_W) 'webp_quality.c'; else $(CYGPATH_W) '$(srcdir)/webp_quality.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(HEADERS) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - clean-noinstPROGRAMS mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/get_disto-get_disto.Po - -rm -f ./$(DEPDIR)/libwebpextras_la-extras.Plo - -rm -f ./$(DEPDIR)/libwebpextras_la-quality_estimate.Plo - -rm -f ./$(DEPDIR)/vwebp_sdl-vwebp_sdl.Po - -rm -f ./$(DEPDIR)/vwebp_sdl-webp_to_sdl.Po - -rm -f ./$(DEPDIR)/webp_quality-webp_quality.Po - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/get_disto-get_disto.Po - -rm -f ./$(DEPDIR)/libwebpextras_la-extras.Plo - -rm -f ./$(DEPDIR)/libwebpextras_la-quality_estimate.Plo - -rm -f ./$(DEPDIR)/vwebp_sdl-vwebp_sdl.Po - -rm -f ./$(DEPDIR)/vwebp_sdl-webp_to_sdl.Po - -rm -f ./$(DEPDIR)/webp_quality-webp_quality.Po - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/imageio_util.Plo b/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/imageio_util.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/imageio_util.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-image_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-image_dec.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-image_dec.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-jpegdec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-jpegdec.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-jpegdec.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-metadata.Plo b/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-metadata.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-metadata.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-pngdec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-pngdec.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-pngdec.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-pnmdec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-pnmdec.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-pnmdec.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-tiffdec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-tiffdec.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-tiffdec.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-webpdec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-webpdec.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-webpdec.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-wicdec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-wicdec.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimagedec_la-wicdec.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimageenc_la-image_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimageenc_la-image_enc.Plo deleted file mode 100644 index 9ce06a81..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/.deps/libimageenc_la-image_enc.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/Carthage/Checkouts/PINRemoteImage/webp/imageio/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/imageio/Makefile deleted file mode 100644 index fcfcce41..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/imageio/Makefile +++ /dev/null @@ -1,752 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# imageio/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -VPATH = ../../Carthage/Checkouts/libwebp/imageio -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -am__append_1 = libimagedec.la -subdir = imageio -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libimagedec_la_DEPENDENCIES = ../src/demux/libwebpdemux.la -am_libimagedec_la_OBJECTS = libimagedec_la-image_dec.lo \ - libimagedec_la-jpegdec.lo libimagedec_la-metadata.lo \ - libimagedec_la-pngdec.lo libimagedec_la-pnmdec.lo \ - libimagedec_la-tiffdec.lo libimagedec_la-webpdec.lo \ - libimagedec_la-wicdec.lo -libimagedec_la_OBJECTS = $(am_libimagedec_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -am_libimagedec_la_rpath = -libimageenc_la_LIBADD = -am_libimageenc_la_OBJECTS = libimageenc_la-image_enc.lo -libimageenc_la_OBJECTS = $(am_libimageenc_la_OBJECTS) -libimageio_util_la_LIBADD = -am_libimageio_util_la_OBJECTS = imageio_util.lo -libimageio_util_la_OBJECTS = $(am_libimageio_util_la_OBJECTS) -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/webp -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/imageio_util.Plo \ - ./$(DEPDIR)/libimagedec_la-image_dec.Plo \ - ./$(DEPDIR)/libimagedec_la-jpegdec.Plo \ - ./$(DEPDIR)/libimagedec_la-metadata.Plo \ - ./$(DEPDIR)/libimagedec_la-pngdec.Plo \ - ./$(DEPDIR)/libimagedec_la-pnmdec.Plo \ - ./$(DEPDIR)/libimagedec_la-tiffdec.Plo \ - ./$(DEPDIR)/libimagedec_la-webpdec.Plo \ - ./$(DEPDIR)/libimagedec_la-wicdec.Plo \ - ./$(DEPDIR)/libimageenc_la-image_enc.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libimagedec_la_SOURCES) $(libimageenc_la_SOURCES) \ - $(libimageio_util_la_SOURCES) -DIST_SOURCES = $(libimagedec_la_SOURCES) $(libimageenc_la_SOURCES) \ - $(libimageio_util_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -HEADERS = $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -I$(top_builddir)/src -I$(top_srcdir)/src -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/imageio -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/imageio -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../Carthage/Checkouts/libwebp/imageio -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = ../../Carthage/Checkouts/libwebp -noinst_LTLIBRARIES = libimageio_util.la $(am__append_1) libimageenc.la -noinst_HEADERS = ../src/webp/decode.h ../src/webp/types.h -libimageio_util_la_SOURCES = imageio_util.c imageio_util.h -libimagedec_la_SOURCES = image_dec.c image_dec.h jpegdec.c jpegdec.h \ - metadata.c metadata.h pngdec.c pngdec.h pnmdec.c pnmdec.h \ - tiffdec.c tiffdec.h webpdec.c webpdec.h wicdec.c wicdec.h -libimagedec_la_CPPFLAGS = $(JPEG_INCLUDES) $(PNG_INCLUDES) \ - $(TIFF_INCLUDES) $(AM_CPPFLAGS) -libimagedec_la_LIBADD = ../src/demux/libwebpdemux.la -libimageenc_la_SOURCES = image_enc.c image_enc.h -libimageenc_la_CPPFLAGS = $(JPEG_INCLUDES) $(PNG_INCLUDES) \ - $(TIFF_INCLUDES) $(AM_CPPFLAGS) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign imageio/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign imageio/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libimagedec.la: $(libimagedec_la_OBJECTS) $(libimagedec_la_DEPENDENCIES) $(EXTRA_libimagedec_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(am_libimagedec_la_rpath) $(libimagedec_la_OBJECTS) $(libimagedec_la_LIBADD) $(LIBS) - -libimageenc.la: $(libimageenc_la_OBJECTS) $(libimageenc_la_DEPENDENCIES) $(EXTRA_libimageenc_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libimageenc_la_OBJECTS) $(libimageenc_la_LIBADD) $(LIBS) - -libimageio_util.la: $(libimageio_util_la_OBJECTS) $(libimageio_util_la_DEPENDENCIES) $(EXTRA_libimageio_util_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libimageio_util_la_OBJECTS) $(libimageio_util_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/imageio_util.Plo # am--include-marker -include ./$(DEPDIR)/libimagedec_la-image_dec.Plo # am--include-marker -include ./$(DEPDIR)/libimagedec_la-jpegdec.Plo # am--include-marker -include ./$(DEPDIR)/libimagedec_la-metadata.Plo # am--include-marker -include ./$(DEPDIR)/libimagedec_la-pngdec.Plo # am--include-marker -include ./$(DEPDIR)/libimagedec_la-pnmdec.Plo # am--include-marker -include ./$(DEPDIR)/libimagedec_la-tiffdec.Plo # am--include-marker -include ./$(DEPDIR)/libimagedec_la-webpdec.Plo # am--include-marker -include ./$(DEPDIR)/libimagedec_la-wicdec.Plo # am--include-marker -include ./$(DEPDIR)/libimageenc_la-image_enc.Plo # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -libimagedec_la-image_dec.lo: image_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libimagedec_la-image_dec.lo -MD -MP -MF $(DEPDIR)/libimagedec_la-image_dec.Tpo -c -o libimagedec_la-image_dec.lo `test -f 'image_dec.c' || echo '$(srcdir)/'`image_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libimagedec_la-image_dec.Tpo $(DEPDIR)/libimagedec_la-image_dec.Plo -# $(AM_V_CC)source='image_dec.c' object='libimagedec_la-image_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libimagedec_la-image_dec.lo `test -f 'image_dec.c' || echo '$(srcdir)/'`image_dec.c - -libimagedec_la-jpegdec.lo: jpegdec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libimagedec_la-jpegdec.lo -MD -MP -MF $(DEPDIR)/libimagedec_la-jpegdec.Tpo -c -o libimagedec_la-jpegdec.lo `test -f 'jpegdec.c' || echo '$(srcdir)/'`jpegdec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libimagedec_la-jpegdec.Tpo $(DEPDIR)/libimagedec_la-jpegdec.Plo -# $(AM_V_CC)source='jpegdec.c' object='libimagedec_la-jpegdec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libimagedec_la-jpegdec.lo `test -f 'jpegdec.c' || echo '$(srcdir)/'`jpegdec.c - -libimagedec_la-metadata.lo: metadata.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libimagedec_la-metadata.lo -MD -MP -MF $(DEPDIR)/libimagedec_la-metadata.Tpo -c -o libimagedec_la-metadata.lo `test -f 'metadata.c' || echo '$(srcdir)/'`metadata.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libimagedec_la-metadata.Tpo $(DEPDIR)/libimagedec_la-metadata.Plo -# $(AM_V_CC)source='metadata.c' object='libimagedec_la-metadata.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libimagedec_la-metadata.lo `test -f 'metadata.c' || echo '$(srcdir)/'`metadata.c - -libimagedec_la-pngdec.lo: pngdec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libimagedec_la-pngdec.lo -MD -MP -MF $(DEPDIR)/libimagedec_la-pngdec.Tpo -c -o libimagedec_la-pngdec.lo `test -f 'pngdec.c' || echo '$(srcdir)/'`pngdec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libimagedec_la-pngdec.Tpo $(DEPDIR)/libimagedec_la-pngdec.Plo -# $(AM_V_CC)source='pngdec.c' object='libimagedec_la-pngdec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libimagedec_la-pngdec.lo `test -f 'pngdec.c' || echo '$(srcdir)/'`pngdec.c - -libimagedec_la-pnmdec.lo: pnmdec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libimagedec_la-pnmdec.lo -MD -MP -MF $(DEPDIR)/libimagedec_la-pnmdec.Tpo -c -o libimagedec_la-pnmdec.lo `test -f 'pnmdec.c' || echo '$(srcdir)/'`pnmdec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libimagedec_la-pnmdec.Tpo $(DEPDIR)/libimagedec_la-pnmdec.Plo -# $(AM_V_CC)source='pnmdec.c' object='libimagedec_la-pnmdec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libimagedec_la-pnmdec.lo `test -f 'pnmdec.c' || echo '$(srcdir)/'`pnmdec.c - -libimagedec_la-tiffdec.lo: tiffdec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libimagedec_la-tiffdec.lo -MD -MP -MF $(DEPDIR)/libimagedec_la-tiffdec.Tpo -c -o libimagedec_la-tiffdec.lo `test -f 'tiffdec.c' || echo '$(srcdir)/'`tiffdec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libimagedec_la-tiffdec.Tpo $(DEPDIR)/libimagedec_la-tiffdec.Plo -# $(AM_V_CC)source='tiffdec.c' object='libimagedec_la-tiffdec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libimagedec_la-tiffdec.lo `test -f 'tiffdec.c' || echo '$(srcdir)/'`tiffdec.c - -libimagedec_la-webpdec.lo: webpdec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libimagedec_la-webpdec.lo -MD -MP -MF $(DEPDIR)/libimagedec_la-webpdec.Tpo -c -o libimagedec_la-webpdec.lo `test -f 'webpdec.c' || echo '$(srcdir)/'`webpdec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libimagedec_la-webpdec.Tpo $(DEPDIR)/libimagedec_la-webpdec.Plo -# $(AM_V_CC)source='webpdec.c' object='libimagedec_la-webpdec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libimagedec_la-webpdec.lo `test -f 'webpdec.c' || echo '$(srcdir)/'`webpdec.c - -libimagedec_la-wicdec.lo: wicdec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libimagedec_la-wicdec.lo -MD -MP -MF $(DEPDIR)/libimagedec_la-wicdec.Tpo -c -o libimagedec_la-wicdec.lo `test -f 'wicdec.c' || echo '$(srcdir)/'`wicdec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libimagedec_la-wicdec.Tpo $(DEPDIR)/libimagedec_la-wicdec.Plo -# $(AM_V_CC)source='wicdec.c' object='libimagedec_la-wicdec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimagedec_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libimagedec_la-wicdec.lo `test -f 'wicdec.c' || echo '$(srcdir)/'`wicdec.c - -libimageenc_la-image_enc.lo: image_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimageenc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libimageenc_la-image_enc.lo -MD -MP -MF $(DEPDIR)/libimageenc_la-image_enc.Tpo -c -o libimageenc_la-image_enc.lo `test -f 'image_enc.c' || echo '$(srcdir)/'`image_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libimageenc_la-image_enc.Tpo $(DEPDIR)/libimageenc_la-image_enc.Plo -# $(AM_V_CC)source='image_enc.c' object='libimageenc_la-image_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libimageenc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libimageenc_la-image_enc.lo `test -f 'image_enc.c' || echo '$(srcdir)/'`image_enc.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/imageio_util.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-image_dec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-jpegdec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-metadata.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-pngdec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-pnmdec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-tiffdec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-webpdec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-wicdec.Plo - -rm -f ./$(DEPDIR)/libimageenc_la-image_enc.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/imageio_util.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-image_dec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-jpegdec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-metadata.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-pngdec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-pnmdec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-tiffdec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-webpdec.Plo - -rm -f ./$(DEPDIR)/libimagedec_la-wicdec.Plo - -rm -f ./$(DEPDIR)/libimageenc_la-image_enc.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/decode.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/decode.h deleted file mode 100644 index 80dd0ef0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/decode.h +++ /dev/null @@ -1,503 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0209 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header, returning true on success, -// false otherwise. '*width' and '*height' are only valid on successful return. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -WEBP_EXTERN int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling WebPFree(). -// Returns NULL in case of error. -WEBP_EXTERN uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be passed to -// WebPFree(), unlike the returned Y luma one. The dimension of the U and V -// planes are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN uint8_t* WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN uint8_t* WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If non-zero, 'internal_memory' pointer is not - // used. If value is '2' or more, the external - // memory is considered 'slow' and multiple - // read/write will be avoided. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is 0). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN void WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&output_buffer); -// output_buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&output_buffer); -// while (additional_data_is_available) { -// // ... (get additional data in some new_data[] buffer) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) { -// break; // an error occurred. -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// not set to 0. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN WebPIDecoder* WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN WebPIDecoder* WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN WebPIDecoder* WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN void WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN VP8StatusCode WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN VP8StatusCode WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. The values in these pointers are only valid on successful (non-NULL) -// return. -WEBP_EXTERN uint8_t* WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN uint8_t* WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless - - uint32_t pad[5]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN VP8StatusCode WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - int dithering_strength; // dithering strength (0=Off, 100=full) - int flip; // flip output vertically - int alpha_dithering_strength; // alpha dithering strength in [0..100] - - uint32_t pad[5]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. If 'config' is not NULL, it must outlive the WebPIDecoder object -// as some references to its fields will be used. No internal copy of 'config' -// is made. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition, if available). -WEBP_EXTERN WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). Note that 'config' cannot be NULL. -WEBP_EXTERN VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DECODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/demux.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/demux.h deleted file mode 100644 index 846eeb15..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/demux.h +++ /dev/null @@ -1,363 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Demux API. -// Enables extraction of image and extended format data from WebP files. - -// Code Example: Demuxing WebP data to extract all the frames, ICC profile -// and EXIF/XMP metadata. -/* - WebPDemuxer* demux = WebPDemux(&webp_data); - - uint32_t width = WebPDemuxGetI(demux, WEBP_FF_CANVAS_WIDTH); - uint32_t height = WebPDemuxGetI(demux, WEBP_FF_CANVAS_HEIGHT); - // ... (Get information about the features present in the WebP file). - uint32_t flags = WebPDemuxGetI(demux, WEBP_FF_FORMAT_FLAGS); - - // ... (Iterate over all frames). - WebPIterator iter; - if (WebPDemuxGetFrame(demux, 1, &iter)) { - do { - // ... (Consume 'iter'; e.g. Decode 'iter.fragment' with WebPDecode(), - // ... and get other frame properties like width, height, offsets etc. - // ... see 'struct WebPIterator' below for more info). - } while (WebPDemuxNextFrame(&iter)); - WebPDemuxReleaseIterator(&iter); - } - - // ... (Extract metadata). - WebPChunkIterator chunk_iter; - if (flags & ICCP_FLAG) WebPDemuxGetChunk(demux, "ICCP", 1, &chunk_iter); - // ... (Consume the ICC profile in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & EXIF_FLAG) WebPDemuxGetChunk(demux, "EXIF", 1, &chunk_iter); - // ... (Consume the EXIF metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & XMP_FLAG) WebPDemuxGetChunk(demux, "XMP ", 1, &chunk_iter); - // ... (Consume the XMP metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - WebPDemuxDelete(demux); -*/ - -#ifndef WEBP_WEBP_DEMUX_H_ -#define WEBP_WEBP_DEMUX_H_ - -#include "./decode.h" // for WEBP_CSP_MODE -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DEMUX_ABI_VERSION 0x0107 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPDemuxState WebPDemuxState; -// typedef enum WebPFormatFeature WebPFormatFeature; -typedef struct WebPDemuxer WebPDemuxer; -typedef struct WebPIterator WebPIterator; -typedef struct WebPChunkIterator WebPChunkIterator; -typedef struct WebPAnimInfo WebPAnimInfo; -typedef struct WebPAnimDecoderOptions WebPAnimDecoderOptions; - -//------------------------------------------------------------------------------ - -// Returns the version number of the demux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDemuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Demux object - -typedef enum WebPDemuxState { - WEBP_DEMUX_PARSE_ERROR = -1, // An error occurred while parsing. - WEBP_DEMUX_PARSING_HEADER = 0, // Not enough data to parse full header. - WEBP_DEMUX_PARSED_HEADER = 1, // Header parsing complete, - // data may be available. - WEBP_DEMUX_DONE = 2 // Entire file has been parsed. -} WebPDemuxState; - -// Internal, version-checked, entry point -WEBP_EXTERN WebPDemuxer* WebPDemuxInternal( - const WebPData*, int, WebPDemuxState*, int); - -// Parses the full WebP file given by 'data'. For single images the WebP file -// header alone or the file header and the chunk header may be absent. -// Returns a WebPDemuxer object on successful parse, NULL otherwise. -static WEBP_INLINE WebPDemuxer* WebPDemux(const WebPData* data) { - return WebPDemuxInternal(data, 0, NULL, WEBP_DEMUX_ABI_VERSION); -} - -// Parses the possibly incomplete WebP file given by 'data'. -// If 'state' is non-NULL it will be set to indicate the status of the demuxer. -// Returns NULL in case of error or if there isn't enough data to start parsing; -// and a WebPDemuxer object on successful parse. -// Note that WebPDemuxer keeps internal pointers to 'data' memory segment. -// If this data is volatile, the demuxer object should be deleted (by calling -// WebPDemuxDelete()) and WebPDemuxPartial() called again on the new data. -// This is usually an inexpensive operation. -static WEBP_INLINE WebPDemuxer* WebPDemuxPartial( - const WebPData* data, WebPDemuxState* state) { - return WebPDemuxInternal(data, 1, state, WEBP_DEMUX_ABI_VERSION); -} - -// Frees memory associated with 'dmux'. -WEBP_EXTERN void WebPDemuxDelete(WebPDemuxer* dmux); - -//------------------------------------------------------------------------------ -// Data/information extraction. - -typedef enum WebPFormatFeature { - WEBP_FF_FORMAT_FLAGS, // bit-wise combination of WebPFeatureFlags - // corresponding to the 'VP8X' chunk (if present). - WEBP_FF_CANVAS_WIDTH, - WEBP_FF_CANVAS_HEIGHT, - WEBP_FF_LOOP_COUNT, // only relevant for animated file - WEBP_FF_BACKGROUND_COLOR, // idem. - WEBP_FF_FRAME_COUNT // Number of frames present in the demux object. - // In case of a partial demux, this is the number - // of frames seen so far, with the last frame - // possibly being partial. -} WebPFormatFeature; - -// Get the 'feature' value from the 'dmux'. -// NOTE: values are only valid if WebPDemux() was used or WebPDemuxPartial() -// returned a state > WEBP_DEMUX_PARSING_HEADER. -// If 'feature' is WEBP_FF_FORMAT_FLAGS, the returned value is a bit-wise -// combination of WebPFeatureFlags values. -// If 'feature' is WEBP_FF_LOOP_COUNT, WEBP_FF_BACKGROUND_COLOR, the returned -// value is only meaningful if the bitstream is animated. -WEBP_EXTERN uint32_t WebPDemuxGetI( - const WebPDemuxer* dmux, WebPFormatFeature feature); - -//------------------------------------------------------------------------------ -// Frame iteration. - -struct WebPIterator { - int frame_num; - int num_frames; // equivalent to WEBP_FF_FRAME_COUNT. - int x_offset, y_offset; // offset relative to the canvas. - int width, height; // dimensions of this frame. - int duration; // display duration in milliseconds. - WebPMuxAnimDispose dispose_method; // dispose method for the frame. - int complete; // true if 'fragment' contains a full frame. partial images - // may still be decoded with the WebP incremental decoder. - WebPData fragment; // The frame given by 'frame_num'. Note for historical - // reasons this is called a fragment. - int has_alpha; // True if the frame contains transparency. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - - uint32_t pad[2]; // padding for later use. - void* private_; // for internal use only. -}; - -// Retrieves frame 'frame_number' from 'dmux'. -// 'iter->fragment' points to the frame on return from this function. -// Setting 'frame_number' equal to 0 will return the last frame of the image. -// Returns false if 'dmux' is NULL or frame 'frame_number' is not present. -// Call WebPDemuxReleaseIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of 'iter'. -WEBP_EXTERN int WebPDemuxGetFrame( - const WebPDemuxer* dmux, int frame_number, WebPIterator* iter); - -// Sets 'iter->fragment' to point to the next ('iter->frame_num' + 1) or -// previous ('iter->frame_num' - 1) frame. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextFrame(WebPIterator* iter); -WEBP_EXTERN int WebPDemuxPrevFrame(WebPIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before any subsequent calls to WebPDemuxGetChunk() on the same -// iter. Also, must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseIterator(WebPIterator* iter); - -//------------------------------------------------------------------------------ -// Chunk iteration. - -struct WebPChunkIterator { - // The current and total number of chunks with the fourcc given to - // WebPDemuxGetChunk(). - int chunk_num; - int num_chunks; - WebPData chunk; // The payload of the chunk. - - uint32_t pad[6]; // padding for later use - void* private_; -}; - -// Retrieves the 'chunk_number' instance of the chunk with id 'fourcc' from -// 'dmux'. -// 'fourcc' is a character array containing the fourcc of the chunk to return, -// e.g., "ICCP", "XMP ", "EXIF", etc. -// Setting 'chunk_number' equal to 0 will return the last chunk in a set. -// Returns true if the chunk is found, false otherwise. Image related chunk -// payloads are accessed through WebPDemuxGetFrame() and related functions. -// Call WebPDemuxReleaseChunkIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of the iterator. -WEBP_EXTERN int WebPDemuxGetChunk(const WebPDemuxer* dmux, - const char fourcc[4], int chunk_number, - WebPChunkIterator* iter); - -// Sets 'iter->chunk' to point to the next ('iter->chunk_num' + 1) or previous -// ('iter->chunk_num' - 1) chunk. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextChunk(WebPChunkIterator* iter); -WEBP_EXTERN int WebPDemuxPrevChunk(WebPChunkIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseChunkIterator(WebPChunkIterator* iter); - -//------------------------------------------------------------------------------ -// WebPAnimDecoder API -// -// This API allows decoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimDecoderOptions dec_options; - WebPAnimDecoderOptionsInit(&dec_options); - // Tune 'dec_options' as needed. - WebPAnimDecoder* dec = WebPAnimDecoderNew(webp_data, &dec_options); - WebPAnimInfo anim_info; - WebPAnimDecoderGetInfo(dec, &anim_info); - for (uint32_t i = 0; i < anim_info.loop_count; ++i) { - while (WebPAnimDecoderHasMoreFrames(dec)) { - uint8_t* buf; - int timestamp; - WebPAnimDecoderGetNext(dec, &buf, ×tamp); - // ... (Render 'buf' based on 'timestamp'). - // ... (Do NOT free 'buf', as it is owned by 'dec'). - } - WebPAnimDecoderReset(dec); - } - const WebPDemuxer* demuxer = WebPAnimDecoderGetDemuxer(dec); - // ... (Do something using 'demuxer'; e.g. get EXIF/XMP/ICC data). - WebPAnimDecoderDelete(dec); -*/ - -typedef struct WebPAnimDecoder WebPAnimDecoder; // Main opaque object. - -// Global options. -struct WebPAnimDecoderOptions { - // Output colorspace. Only the following modes are supported: - // MODE_RGBA, MODE_BGRA, MODE_rgbA and MODE_bgrA. - WEBP_CSP_MODE color_mode; - int use_threads; // If true, use multi-threaded decoding. - uint32_t padding[7]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimDecoderOptionsInitInternal( - WebPAnimDecoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimDecoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimDecoderOptionsInit() must have succeeded before using the -// 'dec_options' object. -static WEBP_INLINE int WebPAnimDecoderOptionsInit( - WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderOptionsInitInternal(dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimDecoder* WebPAnimDecoderNewInternal( - const WebPData*, const WebPAnimDecoderOptions*, int); - -// Creates and initializes a WebPAnimDecoder object. -// Parameters: -// webp_data - (in) WebP bitstream. This should remain unchanged during the -// lifetime of the output WebPAnimDecoder object. -// dec_options - (in) decoding options. Can be passed NULL to choose -// reasonable defaults (in particular, color mode MODE_RGBA -// will be picked). -// Returns: -// A pointer to the newly created WebPAnimDecoder object, or NULL in case of -// parsing error, invalid option or memory error. -static WEBP_INLINE WebPAnimDecoder* WebPAnimDecoderNew( - const WebPData* webp_data, const WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderNewInternal(webp_data, dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Global information about the animation.. -struct WebPAnimInfo { - uint32_t canvas_width; - uint32_t canvas_height; - uint32_t loop_count; - uint32_t bgcolor; - uint32_t frame_count; - uint32_t pad[4]; // padding for later use -}; - -// Get global information about the animation. -// Parameters: -// dec - (in) decoder instance to get information from. -// info - (out) global information fetched from the animation. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimDecoderGetInfo(const WebPAnimDecoder* dec, - WebPAnimInfo* info); - -// Fetch the next frame from 'dec' based on options supplied to -// WebPAnimDecoderNew(). This will be a fully reconstructed canvas of size -// 'canvas_width * 4 * canvas_height', and not just the frame sub-rectangle. The -// returned buffer 'buf' is valid only until the next call to -// WebPAnimDecoderGetNext(), WebPAnimDecoderReset() or WebPAnimDecoderDelete(). -// Parameters: -// dec - (in/out) decoder instance from which the next frame is to be fetched. -// buf - (out) decoded frame. -// timestamp - (out) timestamp of the frame in milliseconds. -// Returns: -// False if any of the arguments are NULL, or if there is a parsing or -// decoding error, or if there are no more frames. Otherwise, returns true. -WEBP_EXTERN int WebPAnimDecoderGetNext(WebPAnimDecoder* dec, - uint8_t** buf, int* timestamp); - -// Check if there are more frames left to decode. -// Parameters: -// dec - (in) decoder instance to be checked. -// Returns: -// True if 'dec' is not NULL and some frames are yet to be decoded. -// Otherwise, returns false. -WEBP_EXTERN int WebPAnimDecoderHasMoreFrames(const WebPAnimDecoder* dec); - -// Resets the WebPAnimDecoder object, so that next call to -// WebPAnimDecoderGetNext() will restart decoding from 1st frame. This would be -// helpful when all frames need to be decoded multiple times (e.g. -// info.loop_count times) without destroying and recreating the 'dec' object. -// Parameters: -// dec - (in/out) decoder instance to be reset -WEBP_EXTERN void WebPAnimDecoderReset(WebPAnimDecoder* dec); - -// Grab the internal demuxer object. -// Getting the demuxer object can be useful if one wants to use operations only -// available through demuxer; e.g. to get XMP/EXIF/ICC metadata. The returned -// demuxer object is owned by 'dec' and is valid only until the next call to -// WebPAnimDecoderDelete(). -// -// Parameters: -// dec - (in) decoder instance from which the demuxer object is to be fetched. -WEBP_EXTERN const WebPDemuxer* WebPAnimDecoderGetDemuxer( - const WebPAnimDecoder* dec); - -// Deletes the WebPAnimDecoder object. -// Parameters: -// dec - (in/out) decoder instance to be deleted -WEBP_EXTERN void WebPAnimDecoderDelete(WebPAnimDecoder* dec); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DEMUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/encode.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/encode.h deleted file mode 100644 index 655166e7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/encode.h +++ /dev/null @@ -1,546 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x020f // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'WebPFree(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN size_t WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -// Note these functions, like the lossy versions, use the library's default -// settings. For lossless this means 'exact' is disabled. RGB values in -// transparent areas will be modified to improve compression. To avoid this, -// use WebPEncode() and set WebPConfig::exact to 1. -WEBP_EXTERN size_t WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 and 100. For lossy, 0 gives the smallest - // size and 100 the largest. For lossless, this - // parameter is the amount of effort put into the - // compression: 0 is the fastest but gives larger - // files compared to the slowest, but best, 100. - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter: - // 0=none, 1=segment-smooth, 2=pseudo-random dithering - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - int near_lossless; // Near lossless encoding [0 = max loss .. 100 = off - // (default)]. - int exact; // if non-zero, preserve the exact RGB values under - // transparent area. Otherwise, discard this invisible - // RGB information for better compression. The default - // value is 0. - - int use_delta_palette; // reserved for future lossless feature - int use_sharp_yuv; // if needed, use sharp (and slow) RGB->YUV conversion - - uint32_t pad[2]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Activate the lossless compression mode with the desired efficiency level -// between 0 (fastest, lowest compression) and 9 (slower, best compression). -// A good default level is '6', providing a fair tradeoff between compression -// speed and final compressed size. -// This function will overwrite several fields from config: 'method', 'quality' -// and 'lossless'. Returns false in case of parameter error. -WEBP_EXTERN int WebPConfigLosslessPreset(WebPConfig* config, int level); - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN int WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics. - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - int lossless_hdr_size; // lossless header (transform, huffman etc) size - int lossless_data_size; // lossless image data size - - uint32_t pad[2]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN void WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The following must be called to deallocate writer->mem memory. The 'writer' -// object itself is not deallocated. -WEBP_EXTERN void WebPMemoryWriterClear(WebPMemoryWriter* writer); -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed by calling WebPMemoryWriterClear. -WEBP_EXTERN int WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV420A = 4, // alpha channel variant - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t* y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now - uint8_t* pad4, *pad5; - uint32_t pad6[8]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad7[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN void WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, *dst -// will fully own the copied pixels (this is not a view). The 'dst' picture need -// not be initialized as its content is overwritten. -// Returns false in case of memory allocation error. -WEBP_EXTERN int WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute the single distortion for packed planes of samples. -// 'src' will be compared to 'ref', and the raw distortion stored into -// '*distortion'. The refined metric (log(MSE), log(1 - ssim),...' will be -// stored in '*result'. -// 'x_step' is the horizontal stride (in bytes) between samples. -// 'src/ref_stride' is the byte distance between rows. -// Returns false in case of error (bad parameter, memory allocation error, ...). -WEBP_EXTERN int WebPPlaneDistortion(const uint8_t* src, size_t src_stride, - const uint8_t* ref, size_t ref_stride, - int width, int height, - size_t x_step, - int type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float* distortion, float* result); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. Results -// are in dB, stored in result[] in the B/G/R/A/All order. The distortion is -// always performed using ARGB samples. Hence if the input is YUV(A), the -// picture will be internally converted to ARGB (just for the measurement). -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN int WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN int WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). Picture 'dst' need not be initialized -// with WebPPictureInit() if it is different from 'src', since its content will -// be overwritten. -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN int WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN int WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// If either 'width' or 'height' (but not both) is 0 the corresponding -// dimension will be calculated preserving the aspect ratio. -// No gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN int WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN int WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN int WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN int WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN int WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN int WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUV420A format. The 'colorspace' -// parameter is deprecated and should be equal to WEBP_YUV420. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP /*colorspace = WEBP_YUV420*/); - -// Same as WebPPictureARGBToYUVA(), but the conversion is done using -// pseudo-random dithering with a strength 'dithering' between -// 0.0 (no dithering) and 1.0 (maximum dithering). This is useful -// for photographic picture. -WEBP_EXTERN int WebPPictureARGBToYUVADithered( - WebPPicture* picture, WebPEncCSP colorspace, float dithering); - -// Performs 'sharp' RGBA->YUVA420 downsampling and colorspace conversion. -// Downsampling is handled with extra care in case of color clipping. This -// method is roughly 2x slower than WebPPictureARGBToYUVA() but produces better -// and sharper YUV representation. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureSharpARGBToYUVA(WebPPicture* picture); -// kept for backward compatibility: -WEBP_EXTERN int WebPPictureSmartARGBToYUVA(WebPPicture* picture); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. The conversion from YUV420 to -// ARGB incurs a small loss too. -// Note that the use of this colorspace is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of RGBA or YUV(A) samples -// clean-up or smoothen the YUV or RGB samples under fully transparent area, -// to help compressibility (no guarantee, though). -WEBP_EXTERN void WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN int WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN void WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN int WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_ENCODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/mux.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/mux.h deleted file mode 100644 index 7d27489a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/mux.h +++ /dev/null @@ -1,530 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// RIFF container manipulation and encoding for WebP images. -// -// Authors: Urvang (urvang@google.com) -// Vikas (vikasa@google.com) - -#ifndef WEBP_WEBP_MUX_H_ -#define WEBP_WEBP_MUX_H_ - -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_MUX_ABI_VERSION 0x0108 // MAJOR(8b) + MINOR(8b) - -//------------------------------------------------------------------------------ -// Mux API -// -// This API allows manipulation of WebP container images containing features -// like color profile, metadata, animation. -// -// Code Example#1: Create a WebPMux object with image data, color profile and -// XMP metadata. -/* - int copy_data = 0; - WebPMux* mux = WebPMuxNew(); - // ... (Prepare image data). - WebPMuxSetImage(mux, &image, copy_data); - // ... (Prepare ICCP color profile data). - WebPMuxSetChunk(mux, "ICCP", &icc_profile, copy_data); - // ... (Prepare XMP metadata). - WebPMuxSetChunk(mux, "XMP ", &xmp, copy_data); - // Get data from mux in WebP RIFF format. - WebPMuxAssemble(mux, &output_data); - WebPMuxDelete(mux); - // ... (Consume output_data; e.g. write output_data.bytes to file). - WebPDataClear(&output_data); -*/ - -// Code Example#2: Get image and color profile data from a WebP file. -/* - int copy_data = 0; - // ... (Read data from file). - WebPMux* mux = WebPMuxCreate(&data, copy_data); - WebPMuxGetFrame(mux, 1, &image); - // ... (Consume image; e.g. call WebPDecode() to decode the data). - WebPMuxGetChunk(mux, "ICCP", &icc_profile); - // ... (Consume icc_data). - WebPMuxDelete(mux); - WebPFree(data); -*/ - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPMuxError WebPMuxError; -// typedef enum WebPChunkId WebPChunkId; -typedef struct WebPMux WebPMux; // main opaque object. -typedef struct WebPMuxFrameInfo WebPMuxFrameInfo; -typedef struct WebPMuxAnimParams WebPMuxAnimParams; -typedef struct WebPAnimEncoderOptions WebPAnimEncoderOptions; - -// Error codes -typedef enum WebPMuxError { - WEBP_MUX_OK = 1, - WEBP_MUX_NOT_FOUND = 0, - WEBP_MUX_INVALID_ARGUMENT = -1, - WEBP_MUX_BAD_DATA = -2, - WEBP_MUX_MEMORY_ERROR = -3, - WEBP_MUX_NOT_ENOUGH_DATA = -4 -} WebPMuxError; - -// IDs for different types of chunks. -typedef enum WebPChunkId { - WEBP_CHUNK_VP8X, // VP8X - WEBP_CHUNK_ICCP, // ICCP - WEBP_CHUNK_ANIM, // ANIM - WEBP_CHUNK_ANMF, // ANMF - WEBP_CHUNK_DEPRECATED, // (deprecated from FRGM) - WEBP_CHUNK_ALPHA, // ALPH - WEBP_CHUNK_IMAGE, // VP8/VP8L - WEBP_CHUNK_EXIF, // EXIF - WEBP_CHUNK_XMP, // XMP - WEBP_CHUNK_UNKNOWN, // Other chunks. - WEBP_CHUNK_NIL -} WebPChunkId; - -//------------------------------------------------------------------------------ - -// Returns the version number of the mux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetMuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Mux object - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPNewInternal(int); - -// Creates an empty mux object. -// Returns: -// A pointer to the newly created empty mux object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPMux* WebPMuxNew(void) { - return WebPNewInternal(WEBP_MUX_ABI_VERSION); -} - -// Deletes the mux object. -// Parameters: -// mux - (in/out) object to be deleted -WEBP_EXTERN void WebPMuxDelete(WebPMux* mux); - -//------------------------------------------------------------------------------ -// Mux creation. - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPMuxCreateInternal(const WebPData*, int, int); - -// Creates a mux object from raw data given in WebP RIFF format. -// Parameters: -// bitstream - (in) the bitstream data in WebP RIFF format -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// A pointer to the mux object created from given data - on success. -// NULL - In case of invalid data or memory error. -static WEBP_INLINE WebPMux* WebPMuxCreate(const WebPData* bitstream, - int copy_data) { - return WebPMuxCreateInternal(bitstream, copy_data, WEBP_MUX_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// Non-image chunks. - -// Note: Only non-image related chunks should be managed through chunk APIs. -// (Image related chunks are: "ANMF", "VP8 ", "VP8L" and "ALPH"). -// To add, get and delete images, use WebPMuxSetImage(), WebPMuxPushFrame(), -// WebPMuxGetFrame() and WebPMuxDeleteFrame(). - -// Adds a chunk with id 'fourcc' and data 'chunk_data' in the mux object. -// Any existing chunk(s) with the same id will be removed. -// Parameters: -// mux - (in/out) object to which the chunk is to be added -// fourcc - (in) a character array containing the fourcc of the given chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (in) the chunk data to be added -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetChunk( - WebPMux* mux, const char fourcc[4], const WebPData* chunk_data, - int copy_data); - -// Gets a reference to the data of the chunk with id 'fourcc' in the mux object. -// The caller should NOT free the returned data. -// Parameters: -// mux - (in) object from which the chunk data is to be fetched -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (out) returned chunk data -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given id. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetChunk( - const WebPMux* mux, const char fourcc[4], WebPData* chunk_data); - -// Deletes the chunk with the given 'fourcc' from the mux object. -// Parameters: -// mux - (in/out) object from which the chunk is to be deleted -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or fourcc is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given fourcc. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteChunk( - WebPMux* mux, const char fourcc[4]); - -//------------------------------------------------------------------------------ -// Images. - -// Encapsulates data about a single frame. -struct WebPMuxFrameInfo { - WebPData bitstream; // image data: can be a raw VP8/VP8L bitstream - // or a single-image WebP file. - int x_offset; // x-offset of the frame. - int y_offset; // y-offset of the frame. - int duration; // duration of the frame (in milliseconds). - - WebPChunkId id; // frame type: should be one of WEBP_CHUNK_ANMF - // or WEBP_CHUNK_IMAGE - WebPMuxAnimDispose dispose_method; // Disposal method for the frame. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - uint32_t pad[1]; // padding for later use -}; - -// Sets the (non-animated) image in the mux object. -// Note: Any existing images (including frames) will be removed. -// Parameters: -// mux - (in/out) object in which the image is to be set -// bitstream - (in) can be a raw VP8/VP8L bitstream or a single-image -// WebP file (non-animated) -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL or bitstream is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetImage( - WebPMux* mux, const WebPData* bitstream, int copy_data); - -// Adds a frame at the end of the mux object. -// Notes: (1) frame.id should be WEBP_CHUNK_ANMF -// (2) For setting a non-animated image, use WebPMuxSetImage() instead. -// (3) Type of frame being pushed must be same as the frames in mux. -// (4) As WebP only supports even offsets, any odd offset will be snapped -// to an even location using: offset &= ~1 -// Parameters: -// mux - (in/out) object to which the frame is to be added -// frame - (in) frame data. -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL -// or if content of 'frame' is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxPushFrame( - WebPMux* mux, const WebPMuxFrameInfo* frame, int copy_data); - -// Gets the nth frame from the mux object. -// The content of 'frame->bitstream' is allocated using WebPMalloc(), and NOT -// owned by the 'mux' object. It MUST be deallocated by the caller by calling -// WebPDataClear(). -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in) object from which the info is to be fetched -// nth - (in) index of the frame in the mux object -// frame - (out) data of the returned frame -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL. -// WEBP_MUX_NOT_FOUND - if there are less than nth frames in the mux object. -// WEBP_MUX_BAD_DATA - if nth frame chunk in mux is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFrame( - const WebPMux* mux, uint32_t nth, WebPMuxFrameInfo* frame); - -// Deletes a frame from the mux object. -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in/out) object from which a frame is to be deleted -// nth - (in) The position from which the frame is to be deleted -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL. -// WEBP_MUX_NOT_FOUND - If there are less than nth frames in the mux object -// before deletion. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteFrame(WebPMux* mux, uint32_t nth); - -//------------------------------------------------------------------------------ -// Animation. - -// Animation parameters. -struct WebPMuxAnimParams { - uint32_t bgcolor; // Background color of the canvas stored (in MSB order) as: - // Bits 00 to 07: Alpha. - // Bits 08 to 15: Red. - // Bits 16 to 23: Green. - // Bits 24 to 31: Blue. - int loop_count; // Number of times to repeat the animation [0 = infinite]. -}; - -// Sets the animation parameters in the mux object. Any existing ANIM chunks -// will be removed. -// Parameters: -// mux - (in/out) object in which ANIM chunk is to be set/added -// params - (in) animation parameters. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetAnimationParams( - WebPMux* mux, const WebPMuxAnimParams* params); - -// Gets the animation parameters from the mux object. -// Parameters: -// mux - (in) object from which the animation parameters to be fetched -// params - (out) animation parameters extracted from the ANIM chunk -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_NOT_FOUND - if ANIM chunk is not present in mux object. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetAnimationParams( - const WebPMux* mux, WebPMuxAnimParams* params); - -//------------------------------------------------------------------------------ -// Misc Utilities. - -// Sets the canvas size for the mux object. The width and height can be -// specified explicitly or left as zero (0, 0). -// * When width and height are specified explicitly, then this frame bound is -// enforced during subsequent calls to WebPMuxAssemble() and an error is -// reported if any animated frame does not completely fit within the canvas. -// * When unspecified (0, 0), the constructed canvas will get the frame bounds -// from the bounding-box over all frames after calling WebPMuxAssemble(). -// Parameters: -// mux - (in) object to which the canvas size is to be set -// width - (in) canvas width -// height - (in) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL; or -// width or height are invalid or out of bounds -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetCanvasSize(WebPMux* mux, - int width, int height); - -// Gets the canvas size from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the canvas size is to be fetched -// width - (out) canvas width -// height - (out) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, width or height is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetCanvasSize(const WebPMux* mux, - int* width, int* height); - -// Gets the feature flags from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the features are to be fetched -// flags - (out) the flags specifying which features are present in the -// mux object. This will be an OR of various flag values. -// Enum 'WebPFeatureFlags' can be used to test individual flag values. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or flags is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFeatures(const WebPMux* mux, - uint32_t* flags); - -// Gets number of chunks with the given 'id' in the mux object. -// Parameters: -// mux - (in) object from which the info is to be fetched -// id - (in) chunk id specifying the type of chunk -// num_elements - (out) number of chunks with the given chunk id -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, or num_elements is NULL. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxNumChunks(const WebPMux* mux, - WebPChunkId id, int* num_elements); - -// Assembles all chunks in WebP RIFF format and returns in 'assembled_data'. -// This function also validates the mux object. -// Note: The content of 'assembled_data' will be ignored and overwritten. -// Also, the content of 'assembled_data' is allocated using WebPMalloc(), and -// NOT owned by the 'mux' object. It MUST be deallocated by the caller by -// calling WebPDataClear(). It's always safe to call WebPDataClear() upon -// return, even in case of error. -// Parameters: -// mux - (in/out) object whose chunks are to be assembled -// assembled_data - (out) assembled WebP data -// Returns: -// WEBP_MUX_BAD_DATA - if mux object is invalid. -// WEBP_MUX_INVALID_ARGUMENT - if mux or assembled_data is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxAssemble(WebPMux* mux, - WebPData* assembled_data); - -//------------------------------------------------------------------------------ -// WebPAnimEncoder API -// -// This API allows encoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimEncoderOptions enc_options; - WebPAnimEncoderOptionsInit(&enc_options); - // Tune 'enc_options' as needed. - WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, &enc_options); - while() { - WebPConfig config; - WebPConfigInit(&config); - // Tune 'config' as needed. - WebPAnimEncoderAdd(enc, frame, timestamp_ms, &config); - } - WebPAnimEncoderAdd(enc, NULL, timestamp_ms, NULL); - WebPAnimEncoderAssemble(enc, webp_data); - WebPAnimEncoderDelete(enc); - // Write the 'webp_data' to a file, or re-mux it further. -*/ - -typedef struct WebPAnimEncoder WebPAnimEncoder; // Main opaque object. - -// Forward declarations. Defined in encode.h. -struct WebPPicture; -struct WebPConfig; - -// Global options. -struct WebPAnimEncoderOptions { - WebPMuxAnimParams anim_params; // Animation parameters. - int minimize_size; // If true, minimize the output size (slow). Implicitly - // disables key-frame insertion. - int kmin; - int kmax; // Minimum and maximum distance between consecutive key - // frames in the output. The library may insert some key - // frames as needed to satisfy this criteria. - // Note that these conditions should hold: kmax > kmin - // and kmin >= kmax / 2 + 1. Also, if kmax <= 0, then - // key-frame insertion is disabled; and if kmax == 1, - // then all frames will be key-frames (kmin value does - // not matter for these special cases). - int allow_mixed; // If true, use mixed compression mode; may choose - // either lossy and lossless for each frame. - int verbose; // If true, print info and warning messages to stderr. - - uint32_t padding[4]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimEncoderOptionsInitInternal( - WebPAnimEncoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimEncoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimEncoderOptionsInit() must have succeeded before using the -// 'enc_options' object. -static WEBP_INLINE int WebPAnimEncoderOptionsInit( - WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderOptionsInitInternal(enc_options, WEBP_MUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimEncoder* WebPAnimEncoderNewInternal( - int, int, const WebPAnimEncoderOptions*, int); - -// Creates and initializes a WebPAnimEncoder object. -// Parameters: -// width/height - (in) canvas width and height of the animation. -// enc_options - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// A pointer to the newly created WebPAnimEncoder object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPAnimEncoder* WebPAnimEncoderNew( - int width, int height, const WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderNewInternal(width, height, enc_options, - WEBP_MUX_ABI_VERSION); -} - -// Optimize the given frame for WebP, encode it and add it to the -// WebPAnimEncoder object. -// The last call to 'WebPAnimEncoderAdd' should be with frame = NULL, which -// indicates that no more frames are to be added. This call is also used to -// determine the duration of the last frame. -// Parameters: -// enc - (in/out) object to which the frame is to be added. -// frame - (in/out) frame data in ARGB or YUV(A) format. If it is in YUV(A) -// format, it will be converted to ARGB, which incurs a small loss. -// timestamp_ms - (in) timestamp of this frame in milliseconds. -// Duration of a frame would be calculated as -// "timestamp of next frame - timestamp of this frame". -// Hence, timestamps should be in non-decreasing order. -// config - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// On error, returns false and frame->error_code is set appropriately. -// Otherwise, returns true. -WEBP_EXTERN int WebPAnimEncoderAdd( - WebPAnimEncoder* enc, struct WebPPicture* frame, int timestamp_ms, - const struct WebPConfig* config); - -// Assemble all frames added so far into a WebP bitstream. -// This call should be preceded by a call to 'WebPAnimEncoderAdd' with -// frame = NULL; if not, the duration of the last frame will be internally -// estimated. -// Parameters: -// enc - (in/out) object from which the frames are to be assembled. -// webp_data - (out) generated WebP bitstream. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimEncoderAssemble(WebPAnimEncoder* enc, - WebPData* webp_data); - -// Get error string corresponding to the most recent call using 'enc'. The -// returned string is owned by 'enc' and is valid only until the next call to -// WebPAnimEncoderAdd() or WebPAnimEncoderAssemble() or WebPAnimEncoderDelete(). -// Parameters: -// enc - (in/out) object from which the error string is to be fetched. -// Returns: -// NULL if 'enc' is NULL. Otherwise, returns the error string if the last call -// to 'enc' had an error, or an empty string if the last call was a success. -WEBP_EXTERN const char* WebPAnimEncoderGetError(WebPAnimEncoder* enc); - -// Deletes the WebPAnimEncoder object. -// Parameters: -// enc - (in/out) object to be deleted -WEBP_EXTERN void WebPAnimEncoderDelete(WebPAnimEncoder* enc); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/mux_types.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/mux_types.h deleted file mode 100644 index 2fe81958..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/mux_types.h +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Data-types common to the mux and demux libraries. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_WEBP_MUX_TYPES_H_ -#define WEBP_WEBP_MUX_TYPES_H_ - -#include // memset() -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPFeatureFlags WebPFeatureFlags; -// typedef enum WebPMuxAnimDispose WebPMuxAnimDispose; -// typedef enum WebPMuxAnimBlend WebPMuxAnimBlend; -typedef struct WebPData WebPData; - -// VP8X Feature Flags. -typedef enum WebPFeatureFlags { - ANIMATION_FLAG = 0x00000002, - XMP_FLAG = 0x00000004, - EXIF_FLAG = 0x00000008, - ALPHA_FLAG = 0x00000010, - ICCP_FLAG = 0x00000020, - - ALL_VALID_FLAGS = 0x0000003e -} WebPFeatureFlags; - -// Dispose method (animation only). Indicates how the area used by the current -// frame is to be treated before rendering the next frame on the canvas. -typedef enum WebPMuxAnimDispose { - WEBP_MUX_DISPOSE_NONE, // Do not dispose. - WEBP_MUX_DISPOSE_BACKGROUND // Dispose to background color. -} WebPMuxAnimDispose; - -// Blend operation (animation only). Indicates how transparent pixels of the -// current frame are blended with those of the previous canvas. -typedef enum WebPMuxAnimBlend { - WEBP_MUX_BLEND, // Blend. - WEBP_MUX_NO_BLEND // Do not blend. -} WebPMuxAnimBlend; - -// Data type used to describe 'raw' data, e.g., chunk data -// (ICC profile, metadata) and WebP compressed image data. -// 'bytes' memory must be allocated using WebPMalloc() and such. -struct WebPData { - const uint8_t* bytes; - size_t size; -}; - -// Initializes the contents of the 'webp_data' object with default values. -static WEBP_INLINE void WebPDataInit(WebPData* webp_data) { - if (webp_data != NULL) { - memset(webp_data, 0, sizeof(*webp_data)); - } -} - -// Clears the contents of the 'webp_data' object by calling WebPFree(). -// Does not deallocate the object itself. -static WEBP_INLINE void WebPDataClear(WebPData* webp_data) { - if (webp_data != NULL) { - WebPFree((void*)webp_data->bytes); - WebPDataInit(webp_data); - } -} - -// Allocates necessary storage for 'dst' and copies the contents of 'src'. -// Returns true on success. -static WEBP_INLINE int WebPDataCopy(const WebPData* src, WebPData* dst) { - if (src == NULL || dst == NULL) return 0; - WebPDataInit(dst); - if (src->bytes != NULL && src->size != 0) { - dst->bytes = (uint8_t*)WebPMalloc(src->size); - if (dst->bytes == NULL) return 0; - memcpy((void*)dst->bytes, src->bytes, src->size); - dst->size = src->size; - } - return 1; -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/types.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/types.h deleted file mode 100644 index 47f7f2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/include/webp/types.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Common types + memory wrappers -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) -#define WEBP_INLINE inline -#else -#define WEBP_INLINE -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -# if defined(__GNUC__) && __GNUC__ >= 4 -# define WEBP_EXTERN extern __attribute__ ((visibility ("default"))) -# else -# define WEBP_EXTERN extern -# endif /* __GNUC__ >= 4 */ -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#ifdef __cplusplus -extern "C" { -#endif - -// Allocates 'size' bytes of memory. Returns NULL upon error. Memory -// must be deallocated by calling WebPFree(). This function is made available -// by the core 'libwebp' library. -WEBP_EXTERN void* WebPMalloc(size_t size); - -// Releases memory returned by the WebPDecode*() functions (from decode.h). -WEBP_EXTERN void WebPFree(void* ptr); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebp.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebp.a deleted file mode 100644 index 45391021..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebp.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebp.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebp.la deleted file mode 100755 index 9a9606ad..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebp.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebp.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebp.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebp. -current=8 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdecoder.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdecoder.a deleted file mode 100644 index 6f757f83..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdecoder.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdecoder.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdecoder.la deleted file mode 100755 index db51b7eb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdecoder.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpdecoder.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpdecoder.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpdecoder. -current=4 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdemux.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdemux.a deleted file mode 100644 index f09ca654..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdemux.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdemux.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdemux.la deleted file mode 100755 index acfdaf8d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpdemux.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpdemux.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpdemux.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebp.la -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpdemux. -current=2 -age=0 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpmux.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpmux.a deleted file mode 100644 index aececa97..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpmux.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpmux.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpmux.la deleted file mode 100755 index 50d267db..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebpmux.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpmux.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpmux.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/libwebp.la -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpmux. -current=3 -age=0 -revision=5 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebp.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebp.pc deleted file mode 100644 index 7cfece3e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebp.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebp -Description: Library for the WebP graphics format -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebp -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebpdecoder.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebpdecoder.pc deleted file mode 100644 index 44653464..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebpdecoder.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdecoder -Description: Library for the WebP graphics format (decode only) -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdecoder -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebpdemux.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebpdemux.pc deleted file mode 100644 index c05caaa6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebpdemux.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdemux -Description: Library for parsing the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdemux diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebpmux.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebpmux.pc deleted file mode 100644 index eeb45f50..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64/lib/pkgconfig/libwebpmux.pc +++ /dev/null @@ -1,12 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpmux -Description: Library for manipulating the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpmux -Libs.private: -lm diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/decode.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/decode.h deleted file mode 100644 index 80dd0ef0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/decode.h +++ /dev/null @@ -1,503 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0209 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header, returning true on success, -// false otherwise. '*width' and '*height' are only valid on successful return. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -WEBP_EXTERN int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling WebPFree(). -// Returns NULL in case of error. -WEBP_EXTERN uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be passed to -// WebPFree(), unlike the returned Y luma one. The dimension of the U and V -// planes are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN uint8_t* WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN uint8_t* WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If non-zero, 'internal_memory' pointer is not - // used. If value is '2' or more, the external - // memory is considered 'slow' and multiple - // read/write will be avoided. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is 0). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN void WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&output_buffer); -// output_buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&output_buffer); -// while (additional_data_is_available) { -// // ... (get additional data in some new_data[] buffer) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) { -// break; // an error occurred. -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// not set to 0. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN WebPIDecoder* WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN WebPIDecoder* WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN WebPIDecoder* WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN void WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN VP8StatusCode WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN VP8StatusCode WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. The values in these pointers are only valid on successful (non-NULL) -// return. -WEBP_EXTERN uint8_t* WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN uint8_t* WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless - - uint32_t pad[5]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN VP8StatusCode WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - int dithering_strength; // dithering strength (0=Off, 100=full) - int flip; // flip output vertically - int alpha_dithering_strength; // alpha dithering strength in [0..100] - - uint32_t pad[5]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. If 'config' is not NULL, it must outlive the WebPIDecoder object -// as some references to its fields will be used. No internal copy of 'config' -// is made. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition, if available). -WEBP_EXTERN WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). Note that 'config' cannot be NULL. -WEBP_EXTERN VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DECODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/demux.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/demux.h deleted file mode 100644 index 846eeb15..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/demux.h +++ /dev/null @@ -1,363 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Demux API. -// Enables extraction of image and extended format data from WebP files. - -// Code Example: Demuxing WebP data to extract all the frames, ICC profile -// and EXIF/XMP metadata. -/* - WebPDemuxer* demux = WebPDemux(&webp_data); - - uint32_t width = WebPDemuxGetI(demux, WEBP_FF_CANVAS_WIDTH); - uint32_t height = WebPDemuxGetI(demux, WEBP_FF_CANVAS_HEIGHT); - // ... (Get information about the features present in the WebP file). - uint32_t flags = WebPDemuxGetI(demux, WEBP_FF_FORMAT_FLAGS); - - // ... (Iterate over all frames). - WebPIterator iter; - if (WebPDemuxGetFrame(demux, 1, &iter)) { - do { - // ... (Consume 'iter'; e.g. Decode 'iter.fragment' with WebPDecode(), - // ... and get other frame properties like width, height, offsets etc. - // ... see 'struct WebPIterator' below for more info). - } while (WebPDemuxNextFrame(&iter)); - WebPDemuxReleaseIterator(&iter); - } - - // ... (Extract metadata). - WebPChunkIterator chunk_iter; - if (flags & ICCP_FLAG) WebPDemuxGetChunk(demux, "ICCP", 1, &chunk_iter); - // ... (Consume the ICC profile in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & EXIF_FLAG) WebPDemuxGetChunk(demux, "EXIF", 1, &chunk_iter); - // ... (Consume the EXIF metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & XMP_FLAG) WebPDemuxGetChunk(demux, "XMP ", 1, &chunk_iter); - // ... (Consume the XMP metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - WebPDemuxDelete(demux); -*/ - -#ifndef WEBP_WEBP_DEMUX_H_ -#define WEBP_WEBP_DEMUX_H_ - -#include "./decode.h" // for WEBP_CSP_MODE -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DEMUX_ABI_VERSION 0x0107 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPDemuxState WebPDemuxState; -// typedef enum WebPFormatFeature WebPFormatFeature; -typedef struct WebPDemuxer WebPDemuxer; -typedef struct WebPIterator WebPIterator; -typedef struct WebPChunkIterator WebPChunkIterator; -typedef struct WebPAnimInfo WebPAnimInfo; -typedef struct WebPAnimDecoderOptions WebPAnimDecoderOptions; - -//------------------------------------------------------------------------------ - -// Returns the version number of the demux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDemuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Demux object - -typedef enum WebPDemuxState { - WEBP_DEMUX_PARSE_ERROR = -1, // An error occurred while parsing. - WEBP_DEMUX_PARSING_HEADER = 0, // Not enough data to parse full header. - WEBP_DEMUX_PARSED_HEADER = 1, // Header parsing complete, - // data may be available. - WEBP_DEMUX_DONE = 2 // Entire file has been parsed. -} WebPDemuxState; - -// Internal, version-checked, entry point -WEBP_EXTERN WebPDemuxer* WebPDemuxInternal( - const WebPData*, int, WebPDemuxState*, int); - -// Parses the full WebP file given by 'data'. For single images the WebP file -// header alone or the file header and the chunk header may be absent. -// Returns a WebPDemuxer object on successful parse, NULL otherwise. -static WEBP_INLINE WebPDemuxer* WebPDemux(const WebPData* data) { - return WebPDemuxInternal(data, 0, NULL, WEBP_DEMUX_ABI_VERSION); -} - -// Parses the possibly incomplete WebP file given by 'data'. -// If 'state' is non-NULL it will be set to indicate the status of the demuxer. -// Returns NULL in case of error or if there isn't enough data to start parsing; -// and a WebPDemuxer object on successful parse. -// Note that WebPDemuxer keeps internal pointers to 'data' memory segment. -// If this data is volatile, the demuxer object should be deleted (by calling -// WebPDemuxDelete()) and WebPDemuxPartial() called again on the new data. -// This is usually an inexpensive operation. -static WEBP_INLINE WebPDemuxer* WebPDemuxPartial( - const WebPData* data, WebPDemuxState* state) { - return WebPDemuxInternal(data, 1, state, WEBP_DEMUX_ABI_VERSION); -} - -// Frees memory associated with 'dmux'. -WEBP_EXTERN void WebPDemuxDelete(WebPDemuxer* dmux); - -//------------------------------------------------------------------------------ -// Data/information extraction. - -typedef enum WebPFormatFeature { - WEBP_FF_FORMAT_FLAGS, // bit-wise combination of WebPFeatureFlags - // corresponding to the 'VP8X' chunk (if present). - WEBP_FF_CANVAS_WIDTH, - WEBP_FF_CANVAS_HEIGHT, - WEBP_FF_LOOP_COUNT, // only relevant for animated file - WEBP_FF_BACKGROUND_COLOR, // idem. - WEBP_FF_FRAME_COUNT // Number of frames present in the demux object. - // In case of a partial demux, this is the number - // of frames seen so far, with the last frame - // possibly being partial. -} WebPFormatFeature; - -// Get the 'feature' value from the 'dmux'. -// NOTE: values are only valid if WebPDemux() was used or WebPDemuxPartial() -// returned a state > WEBP_DEMUX_PARSING_HEADER. -// If 'feature' is WEBP_FF_FORMAT_FLAGS, the returned value is a bit-wise -// combination of WebPFeatureFlags values. -// If 'feature' is WEBP_FF_LOOP_COUNT, WEBP_FF_BACKGROUND_COLOR, the returned -// value is only meaningful if the bitstream is animated. -WEBP_EXTERN uint32_t WebPDemuxGetI( - const WebPDemuxer* dmux, WebPFormatFeature feature); - -//------------------------------------------------------------------------------ -// Frame iteration. - -struct WebPIterator { - int frame_num; - int num_frames; // equivalent to WEBP_FF_FRAME_COUNT. - int x_offset, y_offset; // offset relative to the canvas. - int width, height; // dimensions of this frame. - int duration; // display duration in milliseconds. - WebPMuxAnimDispose dispose_method; // dispose method for the frame. - int complete; // true if 'fragment' contains a full frame. partial images - // may still be decoded with the WebP incremental decoder. - WebPData fragment; // The frame given by 'frame_num'. Note for historical - // reasons this is called a fragment. - int has_alpha; // True if the frame contains transparency. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - - uint32_t pad[2]; // padding for later use. - void* private_; // for internal use only. -}; - -// Retrieves frame 'frame_number' from 'dmux'. -// 'iter->fragment' points to the frame on return from this function. -// Setting 'frame_number' equal to 0 will return the last frame of the image. -// Returns false if 'dmux' is NULL or frame 'frame_number' is not present. -// Call WebPDemuxReleaseIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of 'iter'. -WEBP_EXTERN int WebPDemuxGetFrame( - const WebPDemuxer* dmux, int frame_number, WebPIterator* iter); - -// Sets 'iter->fragment' to point to the next ('iter->frame_num' + 1) or -// previous ('iter->frame_num' - 1) frame. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextFrame(WebPIterator* iter); -WEBP_EXTERN int WebPDemuxPrevFrame(WebPIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before any subsequent calls to WebPDemuxGetChunk() on the same -// iter. Also, must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseIterator(WebPIterator* iter); - -//------------------------------------------------------------------------------ -// Chunk iteration. - -struct WebPChunkIterator { - // The current and total number of chunks with the fourcc given to - // WebPDemuxGetChunk(). - int chunk_num; - int num_chunks; - WebPData chunk; // The payload of the chunk. - - uint32_t pad[6]; // padding for later use - void* private_; -}; - -// Retrieves the 'chunk_number' instance of the chunk with id 'fourcc' from -// 'dmux'. -// 'fourcc' is a character array containing the fourcc of the chunk to return, -// e.g., "ICCP", "XMP ", "EXIF", etc. -// Setting 'chunk_number' equal to 0 will return the last chunk in a set. -// Returns true if the chunk is found, false otherwise. Image related chunk -// payloads are accessed through WebPDemuxGetFrame() and related functions. -// Call WebPDemuxReleaseChunkIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of the iterator. -WEBP_EXTERN int WebPDemuxGetChunk(const WebPDemuxer* dmux, - const char fourcc[4], int chunk_number, - WebPChunkIterator* iter); - -// Sets 'iter->chunk' to point to the next ('iter->chunk_num' + 1) or previous -// ('iter->chunk_num' - 1) chunk. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextChunk(WebPChunkIterator* iter); -WEBP_EXTERN int WebPDemuxPrevChunk(WebPChunkIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseChunkIterator(WebPChunkIterator* iter); - -//------------------------------------------------------------------------------ -// WebPAnimDecoder API -// -// This API allows decoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimDecoderOptions dec_options; - WebPAnimDecoderOptionsInit(&dec_options); - // Tune 'dec_options' as needed. - WebPAnimDecoder* dec = WebPAnimDecoderNew(webp_data, &dec_options); - WebPAnimInfo anim_info; - WebPAnimDecoderGetInfo(dec, &anim_info); - for (uint32_t i = 0; i < anim_info.loop_count; ++i) { - while (WebPAnimDecoderHasMoreFrames(dec)) { - uint8_t* buf; - int timestamp; - WebPAnimDecoderGetNext(dec, &buf, ×tamp); - // ... (Render 'buf' based on 'timestamp'). - // ... (Do NOT free 'buf', as it is owned by 'dec'). - } - WebPAnimDecoderReset(dec); - } - const WebPDemuxer* demuxer = WebPAnimDecoderGetDemuxer(dec); - // ... (Do something using 'demuxer'; e.g. get EXIF/XMP/ICC data). - WebPAnimDecoderDelete(dec); -*/ - -typedef struct WebPAnimDecoder WebPAnimDecoder; // Main opaque object. - -// Global options. -struct WebPAnimDecoderOptions { - // Output colorspace. Only the following modes are supported: - // MODE_RGBA, MODE_BGRA, MODE_rgbA and MODE_bgrA. - WEBP_CSP_MODE color_mode; - int use_threads; // If true, use multi-threaded decoding. - uint32_t padding[7]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimDecoderOptionsInitInternal( - WebPAnimDecoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimDecoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimDecoderOptionsInit() must have succeeded before using the -// 'dec_options' object. -static WEBP_INLINE int WebPAnimDecoderOptionsInit( - WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderOptionsInitInternal(dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimDecoder* WebPAnimDecoderNewInternal( - const WebPData*, const WebPAnimDecoderOptions*, int); - -// Creates and initializes a WebPAnimDecoder object. -// Parameters: -// webp_data - (in) WebP bitstream. This should remain unchanged during the -// lifetime of the output WebPAnimDecoder object. -// dec_options - (in) decoding options. Can be passed NULL to choose -// reasonable defaults (in particular, color mode MODE_RGBA -// will be picked). -// Returns: -// A pointer to the newly created WebPAnimDecoder object, or NULL in case of -// parsing error, invalid option or memory error. -static WEBP_INLINE WebPAnimDecoder* WebPAnimDecoderNew( - const WebPData* webp_data, const WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderNewInternal(webp_data, dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Global information about the animation.. -struct WebPAnimInfo { - uint32_t canvas_width; - uint32_t canvas_height; - uint32_t loop_count; - uint32_t bgcolor; - uint32_t frame_count; - uint32_t pad[4]; // padding for later use -}; - -// Get global information about the animation. -// Parameters: -// dec - (in) decoder instance to get information from. -// info - (out) global information fetched from the animation. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimDecoderGetInfo(const WebPAnimDecoder* dec, - WebPAnimInfo* info); - -// Fetch the next frame from 'dec' based on options supplied to -// WebPAnimDecoderNew(). This will be a fully reconstructed canvas of size -// 'canvas_width * 4 * canvas_height', and not just the frame sub-rectangle. The -// returned buffer 'buf' is valid only until the next call to -// WebPAnimDecoderGetNext(), WebPAnimDecoderReset() or WebPAnimDecoderDelete(). -// Parameters: -// dec - (in/out) decoder instance from which the next frame is to be fetched. -// buf - (out) decoded frame. -// timestamp - (out) timestamp of the frame in milliseconds. -// Returns: -// False if any of the arguments are NULL, or if there is a parsing or -// decoding error, or if there are no more frames. Otherwise, returns true. -WEBP_EXTERN int WebPAnimDecoderGetNext(WebPAnimDecoder* dec, - uint8_t** buf, int* timestamp); - -// Check if there are more frames left to decode. -// Parameters: -// dec - (in) decoder instance to be checked. -// Returns: -// True if 'dec' is not NULL and some frames are yet to be decoded. -// Otherwise, returns false. -WEBP_EXTERN int WebPAnimDecoderHasMoreFrames(const WebPAnimDecoder* dec); - -// Resets the WebPAnimDecoder object, so that next call to -// WebPAnimDecoderGetNext() will restart decoding from 1st frame. This would be -// helpful when all frames need to be decoded multiple times (e.g. -// info.loop_count times) without destroying and recreating the 'dec' object. -// Parameters: -// dec - (in/out) decoder instance to be reset -WEBP_EXTERN void WebPAnimDecoderReset(WebPAnimDecoder* dec); - -// Grab the internal demuxer object. -// Getting the demuxer object can be useful if one wants to use operations only -// available through demuxer; e.g. to get XMP/EXIF/ICC metadata. The returned -// demuxer object is owned by 'dec' and is valid only until the next call to -// WebPAnimDecoderDelete(). -// -// Parameters: -// dec - (in) decoder instance from which the demuxer object is to be fetched. -WEBP_EXTERN const WebPDemuxer* WebPAnimDecoderGetDemuxer( - const WebPAnimDecoder* dec); - -// Deletes the WebPAnimDecoder object. -// Parameters: -// dec - (in/out) decoder instance to be deleted -WEBP_EXTERN void WebPAnimDecoderDelete(WebPAnimDecoder* dec); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DEMUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/encode.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/encode.h deleted file mode 100644 index 655166e7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/encode.h +++ /dev/null @@ -1,546 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x020f // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'WebPFree(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN size_t WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -// Note these functions, like the lossy versions, use the library's default -// settings. For lossless this means 'exact' is disabled. RGB values in -// transparent areas will be modified to improve compression. To avoid this, -// use WebPEncode() and set WebPConfig::exact to 1. -WEBP_EXTERN size_t WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 and 100. For lossy, 0 gives the smallest - // size and 100 the largest. For lossless, this - // parameter is the amount of effort put into the - // compression: 0 is the fastest but gives larger - // files compared to the slowest, but best, 100. - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter: - // 0=none, 1=segment-smooth, 2=pseudo-random dithering - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - int near_lossless; // Near lossless encoding [0 = max loss .. 100 = off - // (default)]. - int exact; // if non-zero, preserve the exact RGB values under - // transparent area. Otherwise, discard this invisible - // RGB information for better compression. The default - // value is 0. - - int use_delta_palette; // reserved for future lossless feature - int use_sharp_yuv; // if needed, use sharp (and slow) RGB->YUV conversion - - uint32_t pad[2]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Activate the lossless compression mode with the desired efficiency level -// between 0 (fastest, lowest compression) and 9 (slower, best compression). -// A good default level is '6', providing a fair tradeoff between compression -// speed and final compressed size. -// This function will overwrite several fields from config: 'method', 'quality' -// and 'lossless'. Returns false in case of parameter error. -WEBP_EXTERN int WebPConfigLosslessPreset(WebPConfig* config, int level); - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN int WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics. - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - int lossless_hdr_size; // lossless header (transform, huffman etc) size - int lossless_data_size; // lossless image data size - - uint32_t pad[2]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN void WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The following must be called to deallocate writer->mem memory. The 'writer' -// object itself is not deallocated. -WEBP_EXTERN void WebPMemoryWriterClear(WebPMemoryWriter* writer); -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed by calling WebPMemoryWriterClear. -WEBP_EXTERN int WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV420A = 4, // alpha channel variant - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t* y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now - uint8_t* pad4, *pad5; - uint32_t pad6[8]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad7[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN void WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, *dst -// will fully own the copied pixels (this is not a view). The 'dst' picture need -// not be initialized as its content is overwritten. -// Returns false in case of memory allocation error. -WEBP_EXTERN int WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute the single distortion for packed planes of samples. -// 'src' will be compared to 'ref', and the raw distortion stored into -// '*distortion'. The refined metric (log(MSE), log(1 - ssim),...' will be -// stored in '*result'. -// 'x_step' is the horizontal stride (in bytes) between samples. -// 'src/ref_stride' is the byte distance between rows. -// Returns false in case of error (bad parameter, memory allocation error, ...). -WEBP_EXTERN int WebPPlaneDistortion(const uint8_t* src, size_t src_stride, - const uint8_t* ref, size_t ref_stride, - int width, int height, - size_t x_step, - int type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float* distortion, float* result); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. Results -// are in dB, stored in result[] in the B/G/R/A/All order. The distortion is -// always performed using ARGB samples. Hence if the input is YUV(A), the -// picture will be internally converted to ARGB (just for the measurement). -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN int WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN int WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). Picture 'dst' need not be initialized -// with WebPPictureInit() if it is different from 'src', since its content will -// be overwritten. -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN int WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN int WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// If either 'width' or 'height' (but not both) is 0 the corresponding -// dimension will be calculated preserving the aspect ratio. -// No gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN int WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN int WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN int WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN int WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN int WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN int WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUV420A format. The 'colorspace' -// parameter is deprecated and should be equal to WEBP_YUV420. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP /*colorspace = WEBP_YUV420*/); - -// Same as WebPPictureARGBToYUVA(), but the conversion is done using -// pseudo-random dithering with a strength 'dithering' between -// 0.0 (no dithering) and 1.0 (maximum dithering). This is useful -// for photographic picture. -WEBP_EXTERN int WebPPictureARGBToYUVADithered( - WebPPicture* picture, WebPEncCSP colorspace, float dithering); - -// Performs 'sharp' RGBA->YUVA420 downsampling and colorspace conversion. -// Downsampling is handled with extra care in case of color clipping. This -// method is roughly 2x slower than WebPPictureARGBToYUVA() but produces better -// and sharper YUV representation. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureSharpARGBToYUVA(WebPPicture* picture); -// kept for backward compatibility: -WEBP_EXTERN int WebPPictureSmartARGBToYUVA(WebPPicture* picture); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. The conversion from YUV420 to -// ARGB incurs a small loss too. -// Note that the use of this colorspace is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of RGBA or YUV(A) samples -// clean-up or smoothen the YUV or RGB samples under fully transparent area, -// to help compressibility (no guarantee, though). -WEBP_EXTERN void WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN int WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN void WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN int WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_ENCODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/mux.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/mux.h deleted file mode 100644 index 7d27489a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/mux.h +++ /dev/null @@ -1,530 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// RIFF container manipulation and encoding for WebP images. -// -// Authors: Urvang (urvang@google.com) -// Vikas (vikasa@google.com) - -#ifndef WEBP_WEBP_MUX_H_ -#define WEBP_WEBP_MUX_H_ - -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_MUX_ABI_VERSION 0x0108 // MAJOR(8b) + MINOR(8b) - -//------------------------------------------------------------------------------ -// Mux API -// -// This API allows manipulation of WebP container images containing features -// like color profile, metadata, animation. -// -// Code Example#1: Create a WebPMux object with image data, color profile and -// XMP metadata. -/* - int copy_data = 0; - WebPMux* mux = WebPMuxNew(); - // ... (Prepare image data). - WebPMuxSetImage(mux, &image, copy_data); - // ... (Prepare ICCP color profile data). - WebPMuxSetChunk(mux, "ICCP", &icc_profile, copy_data); - // ... (Prepare XMP metadata). - WebPMuxSetChunk(mux, "XMP ", &xmp, copy_data); - // Get data from mux in WebP RIFF format. - WebPMuxAssemble(mux, &output_data); - WebPMuxDelete(mux); - // ... (Consume output_data; e.g. write output_data.bytes to file). - WebPDataClear(&output_data); -*/ - -// Code Example#2: Get image and color profile data from a WebP file. -/* - int copy_data = 0; - // ... (Read data from file). - WebPMux* mux = WebPMuxCreate(&data, copy_data); - WebPMuxGetFrame(mux, 1, &image); - // ... (Consume image; e.g. call WebPDecode() to decode the data). - WebPMuxGetChunk(mux, "ICCP", &icc_profile); - // ... (Consume icc_data). - WebPMuxDelete(mux); - WebPFree(data); -*/ - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPMuxError WebPMuxError; -// typedef enum WebPChunkId WebPChunkId; -typedef struct WebPMux WebPMux; // main opaque object. -typedef struct WebPMuxFrameInfo WebPMuxFrameInfo; -typedef struct WebPMuxAnimParams WebPMuxAnimParams; -typedef struct WebPAnimEncoderOptions WebPAnimEncoderOptions; - -// Error codes -typedef enum WebPMuxError { - WEBP_MUX_OK = 1, - WEBP_MUX_NOT_FOUND = 0, - WEBP_MUX_INVALID_ARGUMENT = -1, - WEBP_MUX_BAD_DATA = -2, - WEBP_MUX_MEMORY_ERROR = -3, - WEBP_MUX_NOT_ENOUGH_DATA = -4 -} WebPMuxError; - -// IDs for different types of chunks. -typedef enum WebPChunkId { - WEBP_CHUNK_VP8X, // VP8X - WEBP_CHUNK_ICCP, // ICCP - WEBP_CHUNK_ANIM, // ANIM - WEBP_CHUNK_ANMF, // ANMF - WEBP_CHUNK_DEPRECATED, // (deprecated from FRGM) - WEBP_CHUNK_ALPHA, // ALPH - WEBP_CHUNK_IMAGE, // VP8/VP8L - WEBP_CHUNK_EXIF, // EXIF - WEBP_CHUNK_XMP, // XMP - WEBP_CHUNK_UNKNOWN, // Other chunks. - WEBP_CHUNK_NIL -} WebPChunkId; - -//------------------------------------------------------------------------------ - -// Returns the version number of the mux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetMuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Mux object - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPNewInternal(int); - -// Creates an empty mux object. -// Returns: -// A pointer to the newly created empty mux object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPMux* WebPMuxNew(void) { - return WebPNewInternal(WEBP_MUX_ABI_VERSION); -} - -// Deletes the mux object. -// Parameters: -// mux - (in/out) object to be deleted -WEBP_EXTERN void WebPMuxDelete(WebPMux* mux); - -//------------------------------------------------------------------------------ -// Mux creation. - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPMuxCreateInternal(const WebPData*, int, int); - -// Creates a mux object from raw data given in WebP RIFF format. -// Parameters: -// bitstream - (in) the bitstream data in WebP RIFF format -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// A pointer to the mux object created from given data - on success. -// NULL - In case of invalid data or memory error. -static WEBP_INLINE WebPMux* WebPMuxCreate(const WebPData* bitstream, - int copy_data) { - return WebPMuxCreateInternal(bitstream, copy_data, WEBP_MUX_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// Non-image chunks. - -// Note: Only non-image related chunks should be managed through chunk APIs. -// (Image related chunks are: "ANMF", "VP8 ", "VP8L" and "ALPH"). -// To add, get and delete images, use WebPMuxSetImage(), WebPMuxPushFrame(), -// WebPMuxGetFrame() and WebPMuxDeleteFrame(). - -// Adds a chunk with id 'fourcc' and data 'chunk_data' in the mux object. -// Any existing chunk(s) with the same id will be removed. -// Parameters: -// mux - (in/out) object to which the chunk is to be added -// fourcc - (in) a character array containing the fourcc of the given chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (in) the chunk data to be added -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetChunk( - WebPMux* mux, const char fourcc[4], const WebPData* chunk_data, - int copy_data); - -// Gets a reference to the data of the chunk with id 'fourcc' in the mux object. -// The caller should NOT free the returned data. -// Parameters: -// mux - (in) object from which the chunk data is to be fetched -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (out) returned chunk data -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given id. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetChunk( - const WebPMux* mux, const char fourcc[4], WebPData* chunk_data); - -// Deletes the chunk with the given 'fourcc' from the mux object. -// Parameters: -// mux - (in/out) object from which the chunk is to be deleted -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or fourcc is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given fourcc. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteChunk( - WebPMux* mux, const char fourcc[4]); - -//------------------------------------------------------------------------------ -// Images. - -// Encapsulates data about a single frame. -struct WebPMuxFrameInfo { - WebPData bitstream; // image data: can be a raw VP8/VP8L bitstream - // or a single-image WebP file. - int x_offset; // x-offset of the frame. - int y_offset; // y-offset of the frame. - int duration; // duration of the frame (in milliseconds). - - WebPChunkId id; // frame type: should be one of WEBP_CHUNK_ANMF - // or WEBP_CHUNK_IMAGE - WebPMuxAnimDispose dispose_method; // Disposal method for the frame. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - uint32_t pad[1]; // padding for later use -}; - -// Sets the (non-animated) image in the mux object. -// Note: Any existing images (including frames) will be removed. -// Parameters: -// mux - (in/out) object in which the image is to be set -// bitstream - (in) can be a raw VP8/VP8L bitstream or a single-image -// WebP file (non-animated) -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL or bitstream is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetImage( - WebPMux* mux, const WebPData* bitstream, int copy_data); - -// Adds a frame at the end of the mux object. -// Notes: (1) frame.id should be WEBP_CHUNK_ANMF -// (2) For setting a non-animated image, use WebPMuxSetImage() instead. -// (3) Type of frame being pushed must be same as the frames in mux. -// (4) As WebP only supports even offsets, any odd offset will be snapped -// to an even location using: offset &= ~1 -// Parameters: -// mux - (in/out) object to which the frame is to be added -// frame - (in) frame data. -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL -// or if content of 'frame' is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxPushFrame( - WebPMux* mux, const WebPMuxFrameInfo* frame, int copy_data); - -// Gets the nth frame from the mux object. -// The content of 'frame->bitstream' is allocated using WebPMalloc(), and NOT -// owned by the 'mux' object. It MUST be deallocated by the caller by calling -// WebPDataClear(). -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in) object from which the info is to be fetched -// nth - (in) index of the frame in the mux object -// frame - (out) data of the returned frame -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL. -// WEBP_MUX_NOT_FOUND - if there are less than nth frames in the mux object. -// WEBP_MUX_BAD_DATA - if nth frame chunk in mux is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFrame( - const WebPMux* mux, uint32_t nth, WebPMuxFrameInfo* frame); - -// Deletes a frame from the mux object. -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in/out) object from which a frame is to be deleted -// nth - (in) The position from which the frame is to be deleted -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL. -// WEBP_MUX_NOT_FOUND - If there are less than nth frames in the mux object -// before deletion. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteFrame(WebPMux* mux, uint32_t nth); - -//------------------------------------------------------------------------------ -// Animation. - -// Animation parameters. -struct WebPMuxAnimParams { - uint32_t bgcolor; // Background color of the canvas stored (in MSB order) as: - // Bits 00 to 07: Alpha. - // Bits 08 to 15: Red. - // Bits 16 to 23: Green. - // Bits 24 to 31: Blue. - int loop_count; // Number of times to repeat the animation [0 = infinite]. -}; - -// Sets the animation parameters in the mux object. Any existing ANIM chunks -// will be removed. -// Parameters: -// mux - (in/out) object in which ANIM chunk is to be set/added -// params - (in) animation parameters. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetAnimationParams( - WebPMux* mux, const WebPMuxAnimParams* params); - -// Gets the animation parameters from the mux object. -// Parameters: -// mux - (in) object from which the animation parameters to be fetched -// params - (out) animation parameters extracted from the ANIM chunk -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_NOT_FOUND - if ANIM chunk is not present in mux object. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetAnimationParams( - const WebPMux* mux, WebPMuxAnimParams* params); - -//------------------------------------------------------------------------------ -// Misc Utilities. - -// Sets the canvas size for the mux object. The width and height can be -// specified explicitly or left as zero (0, 0). -// * When width and height are specified explicitly, then this frame bound is -// enforced during subsequent calls to WebPMuxAssemble() and an error is -// reported if any animated frame does not completely fit within the canvas. -// * When unspecified (0, 0), the constructed canvas will get the frame bounds -// from the bounding-box over all frames after calling WebPMuxAssemble(). -// Parameters: -// mux - (in) object to which the canvas size is to be set -// width - (in) canvas width -// height - (in) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL; or -// width or height are invalid or out of bounds -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetCanvasSize(WebPMux* mux, - int width, int height); - -// Gets the canvas size from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the canvas size is to be fetched -// width - (out) canvas width -// height - (out) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, width or height is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetCanvasSize(const WebPMux* mux, - int* width, int* height); - -// Gets the feature flags from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the features are to be fetched -// flags - (out) the flags specifying which features are present in the -// mux object. This will be an OR of various flag values. -// Enum 'WebPFeatureFlags' can be used to test individual flag values. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or flags is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFeatures(const WebPMux* mux, - uint32_t* flags); - -// Gets number of chunks with the given 'id' in the mux object. -// Parameters: -// mux - (in) object from which the info is to be fetched -// id - (in) chunk id specifying the type of chunk -// num_elements - (out) number of chunks with the given chunk id -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, or num_elements is NULL. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxNumChunks(const WebPMux* mux, - WebPChunkId id, int* num_elements); - -// Assembles all chunks in WebP RIFF format and returns in 'assembled_data'. -// This function also validates the mux object. -// Note: The content of 'assembled_data' will be ignored and overwritten. -// Also, the content of 'assembled_data' is allocated using WebPMalloc(), and -// NOT owned by the 'mux' object. It MUST be deallocated by the caller by -// calling WebPDataClear(). It's always safe to call WebPDataClear() upon -// return, even in case of error. -// Parameters: -// mux - (in/out) object whose chunks are to be assembled -// assembled_data - (out) assembled WebP data -// Returns: -// WEBP_MUX_BAD_DATA - if mux object is invalid. -// WEBP_MUX_INVALID_ARGUMENT - if mux or assembled_data is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxAssemble(WebPMux* mux, - WebPData* assembled_data); - -//------------------------------------------------------------------------------ -// WebPAnimEncoder API -// -// This API allows encoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimEncoderOptions enc_options; - WebPAnimEncoderOptionsInit(&enc_options); - // Tune 'enc_options' as needed. - WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, &enc_options); - while() { - WebPConfig config; - WebPConfigInit(&config); - // Tune 'config' as needed. - WebPAnimEncoderAdd(enc, frame, timestamp_ms, &config); - } - WebPAnimEncoderAdd(enc, NULL, timestamp_ms, NULL); - WebPAnimEncoderAssemble(enc, webp_data); - WebPAnimEncoderDelete(enc); - // Write the 'webp_data' to a file, or re-mux it further. -*/ - -typedef struct WebPAnimEncoder WebPAnimEncoder; // Main opaque object. - -// Forward declarations. Defined in encode.h. -struct WebPPicture; -struct WebPConfig; - -// Global options. -struct WebPAnimEncoderOptions { - WebPMuxAnimParams anim_params; // Animation parameters. - int minimize_size; // If true, minimize the output size (slow). Implicitly - // disables key-frame insertion. - int kmin; - int kmax; // Minimum and maximum distance between consecutive key - // frames in the output. The library may insert some key - // frames as needed to satisfy this criteria. - // Note that these conditions should hold: kmax > kmin - // and kmin >= kmax / 2 + 1. Also, if kmax <= 0, then - // key-frame insertion is disabled; and if kmax == 1, - // then all frames will be key-frames (kmin value does - // not matter for these special cases). - int allow_mixed; // If true, use mixed compression mode; may choose - // either lossy and lossless for each frame. - int verbose; // If true, print info and warning messages to stderr. - - uint32_t padding[4]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimEncoderOptionsInitInternal( - WebPAnimEncoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimEncoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimEncoderOptionsInit() must have succeeded before using the -// 'enc_options' object. -static WEBP_INLINE int WebPAnimEncoderOptionsInit( - WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderOptionsInitInternal(enc_options, WEBP_MUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimEncoder* WebPAnimEncoderNewInternal( - int, int, const WebPAnimEncoderOptions*, int); - -// Creates and initializes a WebPAnimEncoder object. -// Parameters: -// width/height - (in) canvas width and height of the animation. -// enc_options - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// A pointer to the newly created WebPAnimEncoder object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPAnimEncoder* WebPAnimEncoderNew( - int width, int height, const WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderNewInternal(width, height, enc_options, - WEBP_MUX_ABI_VERSION); -} - -// Optimize the given frame for WebP, encode it and add it to the -// WebPAnimEncoder object. -// The last call to 'WebPAnimEncoderAdd' should be with frame = NULL, which -// indicates that no more frames are to be added. This call is also used to -// determine the duration of the last frame. -// Parameters: -// enc - (in/out) object to which the frame is to be added. -// frame - (in/out) frame data in ARGB or YUV(A) format. If it is in YUV(A) -// format, it will be converted to ARGB, which incurs a small loss. -// timestamp_ms - (in) timestamp of this frame in milliseconds. -// Duration of a frame would be calculated as -// "timestamp of next frame - timestamp of this frame". -// Hence, timestamps should be in non-decreasing order. -// config - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// On error, returns false and frame->error_code is set appropriately. -// Otherwise, returns true. -WEBP_EXTERN int WebPAnimEncoderAdd( - WebPAnimEncoder* enc, struct WebPPicture* frame, int timestamp_ms, - const struct WebPConfig* config); - -// Assemble all frames added so far into a WebP bitstream. -// This call should be preceded by a call to 'WebPAnimEncoderAdd' with -// frame = NULL; if not, the duration of the last frame will be internally -// estimated. -// Parameters: -// enc - (in/out) object from which the frames are to be assembled. -// webp_data - (out) generated WebP bitstream. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimEncoderAssemble(WebPAnimEncoder* enc, - WebPData* webp_data); - -// Get error string corresponding to the most recent call using 'enc'. The -// returned string is owned by 'enc' and is valid only until the next call to -// WebPAnimEncoderAdd() or WebPAnimEncoderAssemble() or WebPAnimEncoderDelete(). -// Parameters: -// enc - (in/out) object from which the error string is to be fetched. -// Returns: -// NULL if 'enc' is NULL. Otherwise, returns the error string if the last call -// to 'enc' had an error, or an empty string if the last call was a success. -WEBP_EXTERN const char* WebPAnimEncoderGetError(WebPAnimEncoder* enc); - -// Deletes the WebPAnimEncoder object. -// Parameters: -// enc - (in/out) object to be deleted -WEBP_EXTERN void WebPAnimEncoderDelete(WebPAnimEncoder* enc); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/mux_types.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/mux_types.h deleted file mode 100644 index 2fe81958..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/mux_types.h +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Data-types common to the mux and demux libraries. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_WEBP_MUX_TYPES_H_ -#define WEBP_WEBP_MUX_TYPES_H_ - -#include // memset() -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPFeatureFlags WebPFeatureFlags; -// typedef enum WebPMuxAnimDispose WebPMuxAnimDispose; -// typedef enum WebPMuxAnimBlend WebPMuxAnimBlend; -typedef struct WebPData WebPData; - -// VP8X Feature Flags. -typedef enum WebPFeatureFlags { - ANIMATION_FLAG = 0x00000002, - XMP_FLAG = 0x00000004, - EXIF_FLAG = 0x00000008, - ALPHA_FLAG = 0x00000010, - ICCP_FLAG = 0x00000020, - - ALL_VALID_FLAGS = 0x0000003e -} WebPFeatureFlags; - -// Dispose method (animation only). Indicates how the area used by the current -// frame is to be treated before rendering the next frame on the canvas. -typedef enum WebPMuxAnimDispose { - WEBP_MUX_DISPOSE_NONE, // Do not dispose. - WEBP_MUX_DISPOSE_BACKGROUND // Dispose to background color. -} WebPMuxAnimDispose; - -// Blend operation (animation only). Indicates how transparent pixels of the -// current frame are blended with those of the previous canvas. -typedef enum WebPMuxAnimBlend { - WEBP_MUX_BLEND, // Blend. - WEBP_MUX_NO_BLEND // Do not blend. -} WebPMuxAnimBlend; - -// Data type used to describe 'raw' data, e.g., chunk data -// (ICC profile, metadata) and WebP compressed image data. -// 'bytes' memory must be allocated using WebPMalloc() and such. -struct WebPData { - const uint8_t* bytes; - size_t size; -}; - -// Initializes the contents of the 'webp_data' object with default values. -static WEBP_INLINE void WebPDataInit(WebPData* webp_data) { - if (webp_data != NULL) { - memset(webp_data, 0, sizeof(*webp_data)); - } -} - -// Clears the contents of the 'webp_data' object by calling WebPFree(). -// Does not deallocate the object itself. -static WEBP_INLINE void WebPDataClear(WebPData* webp_data) { - if (webp_data != NULL) { - WebPFree((void*)webp_data->bytes); - WebPDataInit(webp_data); - } -} - -// Allocates necessary storage for 'dst' and copies the contents of 'src'. -// Returns true on success. -static WEBP_INLINE int WebPDataCopy(const WebPData* src, WebPData* dst) { - if (src == NULL || dst == NULL) return 0; - WebPDataInit(dst); - if (src->bytes != NULL && src->size != 0) { - dst->bytes = (uint8_t*)WebPMalloc(src->size); - if (dst->bytes == NULL) return 0; - memcpy((void*)dst->bytes, src->bytes, src->size); - dst->size = src->size; - } - return 1; -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/types.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/types.h deleted file mode 100644 index 47f7f2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/include/webp/types.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Common types + memory wrappers -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) -#define WEBP_INLINE inline -#else -#define WEBP_INLINE -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -# if defined(__GNUC__) && __GNUC__ >= 4 -# define WEBP_EXTERN extern __attribute__ ((visibility ("default"))) -# else -# define WEBP_EXTERN extern -# endif /* __GNUC__ >= 4 */ -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#ifdef __cplusplus -extern "C" { -#endif - -// Allocates 'size' bytes of memory. Returns NULL upon error. Memory -// must be deallocated by calling WebPFree(). This function is made available -// by the core 'libwebp' library. -WEBP_EXTERN void* WebPMalloc(size_t size); - -// Releases memory returned by the WebPDecode*() functions (from decode.h). -WEBP_EXTERN void WebPFree(void* ptr); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebp.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebp.a deleted file mode 100644 index d4883f06..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebp.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebp.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebp.la deleted file mode 100755 index b6d727ff..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebp.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebp.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebp.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebp. -current=8 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdecoder.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdecoder.a deleted file mode 100644 index 85dc0681..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdecoder.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdecoder.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdecoder.la deleted file mode 100755 index d14c375b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdecoder.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpdecoder.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpdecoder.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpdecoder. -current=4 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdemux.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdemux.a deleted file mode 100644 index d820b332..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdemux.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdemux.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdemux.la deleted file mode 100755 index 00e01732..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpdemux.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpdemux.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpdemux.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebp.la -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpdemux. -current=2 -age=0 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpmux.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpmux.a deleted file mode 100644 index 3999767b..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpmux.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpmux.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpmux.la deleted file mode 100755 index a2c48dc2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebpmux.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpmux.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpmux.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/libwebp.la -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpmux. -current=3 -age=0 -revision=5 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebp.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebp.pc deleted file mode 100644 index 218a6888..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebp.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebp -Description: Library for the WebP graphics format -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebp -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebpdecoder.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebpdecoder.pc deleted file mode 100644 index 4433593d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebpdecoder.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdecoder -Description: Library for the WebP graphics format (decode only) -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdecoder -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebpdemux.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebpdemux.pc deleted file mode 100644 index 56e4ccae..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebpdemux.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdemux -Description: Library for parsing the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdemux diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebpmux.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebpmux.pc deleted file mode 100644 index 9b80df63..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7/lib/pkgconfig/libwebpmux.pc +++ /dev/null @@ -1,12 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpmux -Description: Library for manipulating the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpmux -Libs.private: -lm diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/decode.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/decode.h deleted file mode 100644 index 80dd0ef0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/decode.h +++ /dev/null @@ -1,503 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0209 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header, returning true on success, -// false otherwise. '*width' and '*height' are only valid on successful return. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -WEBP_EXTERN int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling WebPFree(). -// Returns NULL in case of error. -WEBP_EXTERN uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be passed to -// WebPFree(), unlike the returned Y luma one. The dimension of the U and V -// planes are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN uint8_t* WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN uint8_t* WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If non-zero, 'internal_memory' pointer is not - // used. If value is '2' or more, the external - // memory is considered 'slow' and multiple - // read/write will be avoided. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is 0). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN void WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&output_buffer); -// output_buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&output_buffer); -// while (additional_data_is_available) { -// // ... (get additional data in some new_data[] buffer) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) { -// break; // an error occurred. -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// not set to 0. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN WebPIDecoder* WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN WebPIDecoder* WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN WebPIDecoder* WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN void WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN VP8StatusCode WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN VP8StatusCode WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. The values in these pointers are only valid on successful (non-NULL) -// return. -WEBP_EXTERN uint8_t* WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN uint8_t* WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless - - uint32_t pad[5]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN VP8StatusCode WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - int dithering_strength; // dithering strength (0=Off, 100=full) - int flip; // flip output vertically - int alpha_dithering_strength; // alpha dithering strength in [0..100] - - uint32_t pad[5]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. If 'config' is not NULL, it must outlive the WebPIDecoder object -// as some references to its fields will be used. No internal copy of 'config' -// is made. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition, if available). -WEBP_EXTERN WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). Note that 'config' cannot be NULL. -WEBP_EXTERN VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DECODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/demux.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/demux.h deleted file mode 100644 index 846eeb15..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/demux.h +++ /dev/null @@ -1,363 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Demux API. -// Enables extraction of image and extended format data from WebP files. - -// Code Example: Demuxing WebP data to extract all the frames, ICC profile -// and EXIF/XMP metadata. -/* - WebPDemuxer* demux = WebPDemux(&webp_data); - - uint32_t width = WebPDemuxGetI(demux, WEBP_FF_CANVAS_WIDTH); - uint32_t height = WebPDemuxGetI(demux, WEBP_FF_CANVAS_HEIGHT); - // ... (Get information about the features present in the WebP file). - uint32_t flags = WebPDemuxGetI(demux, WEBP_FF_FORMAT_FLAGS); - - // ... (Iterate over all frames). - WebPIterator iter; - if (WebPDemuxGetFrame(demux, 1, &iter)) { - do { - // ... (Consume 'iter'; e.g. Decode 'iter.fragment' with WebPDecode(), - // ... and get other frame properties like width, height, offsets etc. - // ... see 'struct WebPIterator' below for more info). - } while (WebPDemuxNextFrame(&iter)); - WebPDemuxReleaseIterator(&iter); - } - - // ... (Extract metadata). - WebPChunkIterator chunk_iter; - if (flags & ICCP_FLAG) WebPDemuxGetChunk(demux, "ICCP", 1, &chunk_iter); - // ... (Consume the ICC profile in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & EXIF_FLAG) WebPDemuxGetChunk(demux, "EXIF", 1, &chunk_iter); - // ... (Consume the EXIF metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & XMP_FLAG) WebPDemuxGetChunk(demux, "XMP ", 1, &chunk_iter); - // ... (Consume the XMP metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - WebPDemuxDelete(demux); -*/ - -#ifndef WEBP_WEBP_DEMUX_H_ -#define WEBP_WEBP_DEMUX_H_ - -#include "./decode.h" // for WEBP_CSP_MODE -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DEMUX_ABI_VERSION 0x0107 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPDemuxState WebPDemuxState; -// typedef enum WebPFormatFeature WebPFormatFeature; -typedef struct WebPDemuxer WebPDemuxer; -typedef struct WebPIterator WebPIterator; -typedef struct WebPChunkIterator WebPChunkIterator; -typedef struct WebPAnimInfo WebPAnimInfo; -typedef struct WebPAnimDecoderOptions WebPAnimDecoderOptions; - -//------------------------------------------------------------------------------ - -// Returns the version number of the demux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDemuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Demux object - -typedef enum WebPDemuxState { - WEBP_DEMUX_PARSE_ERROR = -1, // An error occurred while parsing. - WEBP_DEMUX_PARSING_HEADER = 0, // Not enough data to parse full header. - WEBP_DEMUX_PARSED_HEADER = 1, // Header parsing complete, - // data may be available. - WEBP_DEMUX_DONE = 2 // Entire file has been parsed. -} WebPDemuxState; - -// Internal, version-checked, entry point -WEBP_EXTERN WebPDemuxer* WebPDemuxInternal( - const WebPData*, int, WebPDemuxState*, int); - -// Parses the full WebP file given by 'data'. For single images the WebP file -// header alone or the file header and the chunk header may be absent. -// Returns a WebPDemuxer object on successful parse, NULL otherwise. -static WEBP_INLINE WebPDemuxer* WebPDemux(const WebPData* data) { - return WebPDemuxInternal(data, 0, NULL, WEBP_DEMUX_ABI_VERSION); -} - -// Parses the possibly incomplete WebP file given by 'data'. -// If 'state' is non-NULL it will be set to indicate the status of the demuxer. -// Returns NULL in case of error or if there isn't enough data to start parsing; -// and a WebPDemuxer object on successful parse. -// Note that WebPDemuxer keeps internal pointers to 'data' memory segment. -// If this data is volatile, the demuxer object should be deleted (by calling -// WebPDemuxDelete()) and WebPDemuxPartial() called again on the new data. -// This is usually an inexpensive operation. -static WEBP_INLINE WebPDemuxer* WebPDemuxPartial( - const WebPData* data, WebPDemuxState* state) { - return WebPDemuxInternal(data, 1, state, WEBP_DEMUX_ABI_VERSION); -} - -// Frees memory associated with 'dmux'. -WEBP_EXTERN void WebPDemuxDelete(WebPDemuxer* dmux); - -//------------------------------------------------------------------------------ -// Data/information extraction. - -typedef enum WebPFormatFeature { - WEBP_FF_FORMAT_FLAGS, // bit-wise combination of WebPFeatureFlags - // corresponding to the 'VP8X' chunk (if present). - WEBP_FF_CANVAS_WIDTH, - WEBP_FF_CANVAS_HEIGHT, - WEBP_FF_LOOP_COUNT, // only relevant for animated file - WEBP_FF_BACKGROUND_COLOR, // idem. - WEBP_FF_FRAME_COUNT // Number of frames present in the demux object. - // In case of a partial demux, this is the number - // of frames seen so far, with the last frame - // possibly being partial. -} WebPFormatFeature; - -// Get the 'feature' value from the 'dmux'. -// NOTE: values are only valid if WebPDemux() was used or WebPDemuxPartial() -// returned a state > WEBP_DEMUX_PARSING_HEADER. -// If 'feature' is WEBP_FF_FORMAT_FLAGS, the returned value is a bit-wise -// combination of WebPFeatureFlags values. -// If 'feature' is WEBP_FF_LOOP_COUNT, WEBP_FF_BACKGROUND_COLOR, the returned -// value is only meaningful if the bitstream is animated. -WEBP_EXTERN uint32_t WebPDemuxGetI( - const WebPDemuxer* dmux, WebPFormatFeature feature); - -//------------------------------------------------------------------------------ -// Frame iteration. - -struct WebPIterator { - int frame_num; - int num_frames; // equivalent to WEBP_FF_FRAME_COUNT. - int x_offset, y_offset; // offset relative to the canvas. - int width, height; // dimensions of this frame. - int duration; // display duration in milliseconds. - WebPMuxAnimDispose dispose_method; // dispose method for the frame. - int complete; // true if 'fragment' contains a full frame. partial images - // may still be decoded with the WebP incremental decoder. - WebPData fragment; // The frame given by 'frame_num'. Note for historical - // reasons this is called a fragment. - int has_alpha; // True if the frame contains transparency. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - - uint32_t pad[2]; // padding for later use. - void* private_; // for internal use only. -}; - -// Retrieves frame 'frame_number' from 'dmux'. -// 'iter->fragment' points to the frame on return from this function. -// Setting 'frame_number' equal to 0 will return the last frame of the image. -// Returns false if 'dmux' is NULL or frame 'frame_number' is not present. -// Call WebPDemuxReleaseIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of 'iter'. -WEBP_EXTERN int WebPDemuxGetFrame( - const WebPDemuxer* dmux, int frame_number, WebPIterator* iter); - -// Sets 'iter->fragment' to point to the next ('iter->frame_num' + 1) or -// previous ('iter->frame_num' - 1) frame. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextFrame(WebPIterator* iter); -WEBP_EXTERN int WebPDemuxPrevFrame(WebPIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before any subsequent calls to WebPDemuxGetChunk() on the same -// iter. Also, must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseIterator(WebPIterator* iter); - -//------------------------------------------------------------------------------ -// Chunk iteration. - -struct WebPChunkIterator { - // The current and total number of chunks with the fourcc given to - // WebPDemuxGetChunk(). - int chunk_num; - int num_chunks; - WebPData chunk; // The payload of the chunk. - - uint32_t pad[6]; // padding for later use - void* private_; -}; - -// Retrieves the 'chunk_number' instance of the chunk with id 'fourcc' from -// 'dmux'. -// 'fourcc' is a character array containing the fourcc of the chunk to return, -// e.g., "ICCP", "XMP ", "EXIF", etc. -// Setting 'chunk_number' equal to 0 will return the last chunk in a set. -// Returns true if the chunk is found, false otherwise. Image related chunk -// payloads are accessed through WebPDemuxGetFrame() and related functions. -// Call WebPDemuxReleaseChunkIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of the iterator. -WEBP_EXTERN int WebPDemuxGetChunk(const WebPDemuxer* dmux, - const char fourcc[4], int chunk_number, - WebPChunkIterator* iter); - -// Sets 'iter->chunk' to point to the next ('iter->chunk_num' + 1) or previous -// ('iter->chunk_num' - 1) chunk. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextChunk(WebPChunkIterator* iter); -WEBP_EXTERN int WebPDemuxPrevChunk(WebPChunkIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseChunkIterator(WebPChunkIterator* iter); - -//------------------------------------------------------------------------------ -// WebPAnimDecoder API -// -// This API allows decoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimDecoderOptions dec_options; - WebPAnimDecoderOptionsInit(&dec_options); - // Tune 'dec_options' as needed. - WebPAnimDecoder* dec = WebPAnimDecoderNew(webp_data, &dec_options); - WebPAnimInfo anim_info; - WebPAnimDecoderGetInfo(dec, &anim_info); - for (uint32_t i = 0; i < anim_info.loop_count; ++i) { - while (WebPAnimDecoderHasMoreFrames(dec)) { - uint8_t* buf; - int timestamp; - WebPAnimDecoderGetNext(dec, &buf, ×tamp); - // ... (Render 'buf' based on 'timestamp'). - // ... (Do NOT free 'buf', as it is owned by 'dec'). - } - WebPAnimDecoderReset(dec); - } - const WebPDemuxer* demuxer = WebPAnimDecoderGetDemuxer(dec); - // ... (Do something using 'demuxer'; e.g. get EXIF/XMP/ICC data). - WebPAnimDecoderDelete(dec); -*/ - -typedef struct WebPAnimDecoder WebPAnimDecoder; // Main opaque object. - -// Global options. -struct WebPAnimDecoderOptions { - // Output colorspace. Only the following modes are supported: - // MODE_RGBA, MODE_BGRA, MODE_rgbA and MODE_bgrA. - WEBP_CSP_MODE color_mode; - int use_threads; // If true, use multi-threaded decoding. - uint32_t padding[7]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimDecoderOptionsInitInternal( - WebPAnimDecoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimDecoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimDecoderOptionsInit() must have succeeded before using the -// 'dec_options' object. -static WEBP_INLINE int WebPAnimDecoderOptionsInit( - WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderOptionsInitInternal(dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimDecoder* WebPAnimDecoderNewInternal( - const WebPData*, const WebPAnimDecoderOptions*, int); - -// Creates and initializes a WebPAnimDecoder object. -// Parameters: -// webp_data - (in) WebP bitstream. This should remain unchanged during the -// lifetime of the output WebPAnimDecoder object. -// dec_options - (in) decoding options. Can be passed NULL to choose -// reasonable defaults (in particular, color mode MODE_RGBA -// will be picked). -// Returns: -// A pointer to the newly created WebPAnimDecoder object, or NULL in case of -// parsing error, invalid option or memory error. -static WEBP_INLINE WebPAnimDecoder* WebPAnimDecoderNew( - const WebPData* webp_data, const WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderNewInternal(webp_data, dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Global information about the animation.. -struct WebPAnimInfo { - uint32_t canvas_width; - uint32_t canvas_height; - uint32_t loop_count; - uint32_t bgcolor; - uint32_t frame_count; - uint32_t pad[4]; // padding for later use -}; - -// Get global information about the animation. -// Parameters: -// dec - (in) decoder instance to get information from. -// info - (out) global information fetched from the animation. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimDecoderGetInfo(const WebPAnimDecoder* dec, - WebPAnimInfo* info); - -// Fetch the next frame from 'dec' based on options supplied to -// WebPAnimDecoderNew(). This will be a fully reconstructed canvas of size -// 'canvas_width * 4 * canvas_height', and not just the frame sub-rectangle. The -// returned buffer 'buf' is valid only until the next call to -// WebPAnimDecoderGetNext(), WebPAnimDecoderReset() or WebPAnimDecoderDelete(). -// Parameters: -// dec - (in/out) decoder instance from which the next frame is to be fetched. -// buf - (out) decoded frame. -// timestamp - (out) timestamp of the frame in milliseconds. -// Returns: -// False if any of the arguments are NULL, or if there is a parsing or -// decoding error, or if there are no more frames. Otherwise, returns true. -WEBP_EXTERN int WebPAnimDecoderGetNext(WebPAnimDecoder* dec, - uint8_t** buf, int* timestamp); - -// Check if there are more frames left to decode. -// Parameters: -// dec - (in) decoder instance to be checked. -// Returns: -// True if 'dec' is not NULL and some frames are yet to be decoded. -// Otherwise, returns false. -WEBP_EXTERN int WebPAnimDecoderHasMoreFrames(const WebPAnimDecoder* dec); - -// Resets the WebPAnimDecoder object, so that next call to -// WebPAnimDecoderGetNext() will restart decoding from 1st frame. This would be -// helpful when all frames need to be decoded multiple times (e.g. -// info.loop_count times) without destroying and recreating the 'dec' object. -// Parameters: -// dec - (in/out) decoder instance to be reset -WEBP_EXTERN void WebPAnimDecoderReset(WebPAnimDecoder* dec); - -// Grab the internal demuxer object. -// Getting the demuxer object can be useful if one wants to use operations only -// available through demuxer; e.g. to get XMP/EXIF/ICC metadata. The returned -// demuxer object is owned by 'dec' and is valid only until the next call to -// WebPAnimDecoderDelete(). -// -// Parameters: -// dec - (in) decoder instance from which the demuxer object is to be fetched. -WEBP_EXTERN const WebPDemuxer* WebPAnimDecoderGetDemuxer( - const WebPAnimDecoder* dec); - -// Deletes the WebPAnimDecoder object. -// Parameters: -// dec - (in/out) decoder instance to be deleted -WEBP_EXTERN void WebPAnimDecoderDelete(WebPAnimDecoder* dec); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DEMUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/encode.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/encode.h deleted file mode 100644 index 655166e7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/encode.h +++ /dev/null @@ -1,546 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x020f // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'WebPFree(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN size_t WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -// Note these functions, like the lossy versions, use the library's default -// settings. For lossless this means 'exact' is disabled. RGB values in -// transparent areas will be modified to improve compression. To avoid this, -// use WebPEncode() and set WebPConfig::exact to 1. -WEBP_EXTERN size_t WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 and 100. For lossy, 0 gives the smallest - // size and 100 the largest. For lossless, this - // parameter is the amount of effort put into the - // compression: 0 is the fastest but gives larger - // files compared to the slowest, but best, 100. - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter: - // 0=none, 1=segment-smooth, 2=pseudo-random dithering - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - int near_lossless; // Near lossless encoding [0 = max loss .. 100 = off - // (default)]. - int exact; // if non-zero, preserve the exact RGB values under - // transparent area. Otherwise, discard this invisible - // RGB information for better compression. The default - // value is 0. - - int use_delta_palette; // reserved for future lossless feature - int use_sharp_yuv; // if needed, use sharp (and slow) RGB->YUV conversion - - uint32_t pad[2]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Activate the lossless compression mode with the desired efficiency level -// between 0 (fastest, lowest compression) and 9 (slower, best compression). -// A good default level is '6', providing a fair tradeoff between compression -// speed and final compressed size. -// This function will overwrite several fields from config: 'method', 'quality' -// and 'lossless'. Returns false in case of parameter error. -WEBP_EXTERN int WebPConfigLosslessPreset(WebPConfig* config, int level); - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN int WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics. - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - int lossless_hdr_size; // lossless header (transform, huffman etc) size - int lossless_data_size; // lossless image data size - - uint32_t pad[2]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN void WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The following must be called to deallocate writer->mem memory. The 'writer' -// object itself is not deallocated. -WEBP_EXTERN void WebPMemoryWriterClear(WebPMemoryWriter* writer); -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed by calling WebPMemoryWriterClear. -WEBP_EXTERN int WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV420A = 4, // alpha channel variant - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t* y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now - uint8_t* pad4, *pad5; - uint32_t pad6[8]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad7[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN void WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, *dst -// will fully own the copied pixels (this is not a view). The 'dst' picture need -// not be initialized as its content is overwritten. -// Returns false in case of memory allocation error. -WEBP_EXTERN int WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute the single distortion for packed planes of samples. -// 'src' will be compared to 'ref', and the raw distortion stored into -// '*distortion'. The refined metric (log(MSE), log(1 - ssim),...' will be -// stored in '*result'. -// 'x_step' is the horizontal stride (in bytes) between samples. -// 'src/ref_stride' is the byte distance between rows. -// Returns false in case of error (bad parameter, memory allocation error, ...). -WEBP_EXTERN int WebPPlaneDistortion(const uint8_t* src, size_t src_stride, - const uint8_t* ref, size_t ref_stride, - int width, int height, - size_t x_step, - int type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float* distortion, float* result); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. Results -// are in dB, stored in result[] in the B/G/R/A/All order. The distortion is -// always performed using ARGB samples. Hence if the input is YUV(A), the -// picture will be internally converted to ARGB (just for the measurement). -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN int WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN int WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). Picture 'dst' need not be initialized -// with WebPPictureInit() if it is different from 'src', since its content will -// be overwritten. -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN int WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN int WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// If either 'width' or 'height' (but not both) is 0 the corresponding -// dimension will be calculated preserving the aspect ratio. -// No gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN int WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN int WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN int WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN int WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN int WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN int WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUV420A format. The 'colorspace' -// parameter is deprecated and should be equal to WEBP_YUV420. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP /*colorspace = WEBP_YUV420*/); - -// Same as WebPPictureARGBToYUVA(), but the conversion is done using -// pseudo-random dithering with a strength 'dithering' between -// 0.0 (no dithering) and 1.0 (maximum dithering). This is useful -// for photographic picture. -WEBP_EXTERN int WebPPictureARGBToYUVADithered( - WebPPicture* picture, WebPEncCSP colorspace, float dithering); - -// Performs 'sharp' RGBA->YUVA420 downsampling and colorspace conversion. -// Downsampling is handled with extra care in case of color clipping. This -// method is roughly 2x slower than WebPPictureARGBToYUVA() but produces better -// and sharper YUV representation. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureSharpARGBToYUVA(WebPPicture* picture); -// kept for backward compatibility: -WEBP_EXTERN int WebPPictureSmartARGBToYUVA(WebPPicture* picture); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. The conversion from YUV420 to -// ARGB incurs a small loss too. -// Note that the use of this colorspace is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of RGBA or YUV(A) samples -// clean-up or smoothen the YUV or RGB samples under fully transparent area, -// to help compressibility (no guarantee, though). -WEBP_EXTERN void WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN int WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN void WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN int WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_ENCODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/mux.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/mux.h deleted file mode 100644 index 7d27489a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/mux.h +++ /dev/null @@ -1,530 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// RIFF container manipulation and encoding for WebP images. -// -// Authors: Urvang (urvang@google.com) -// Vikas (vikasa@google.com) - -#ifndef WEBP_WEBP_MUX_H_ -#define WEBP_WEBP_MUX_H_ - -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_MUX_ABI_VERSION 0x0108 // MAJOR(8b) + MINOR(8b) - -//------------------------------------------------------------------------------ -// Mux API -// -// This API allows manipulation of WebP container images containing features -// like color profile, metadata, animation. -// -// Code Example#1: Create a WebPMux object with image data, color profile and -// XMP metadata. -/* - int copy_data = 0; - WebPMux* mux = WebPMuxNew(); - // ... (Prepare image data). - WebPMuxSetImage(mux, &image, copy_data); - // ... (Prepare ICCP color profile data). - WebPMuxSetChunk(mux, "ICCP", &icc_profile, copy_data); - // ... (Prepare XMP metadata). - WebPMuxSetChunk(mux, "XMP ", &xmp, copy_data); - // Get data from mux in WebP RIFF format. - WebPMuxAssemble(mux, &output_data); - WebPMuxDelete(mux); - // ... (Consume output_data; e.g. write output_data.bytes to file). - WebPDataClear(&output_data); -*/ - -// Code Example#2: Get image and color profile data from a WebP file. -/* - int copy_data = 0; - // ... (Read data from file). - WebPMux* mux = WebPMuxCreate(&data, copy_data); - WebPMuxGetFrame(mux, 1, &image); - // ... (Consume image; e.g. call WebPDecode() to decode the data). - WebPMuxGetChunk(mux, "ICCP", &icc_profile); - // ... (Consume icc_data). - WebPMuxDelete(mux); - WebPFree(data); -*/ - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPMuxError WebPMuxError; -// typedef enum WebPChunkId WebPChunkId; -typedef struct WebPMux WebPMux; // main opaque object. -typedef struct WebPMuxFrameInfo WebPMuxFrameInfo; -typedef struct WebPMuxAnimParams WebPMuxAnimParams; -typedef struct WebPAnimEncoderOptions WebPAnimEncoderOptions; - -// Error codes -typedef enum WebPMuxError { - WEBP_MUX_OK = 1, - WEBP_MUX_NOT_FOUND = 0, - WEBP_MUX_INVALID_ARGUMENT = -1, - WEBP_MUX_BAD_DATA = -2, - WEBP_MUX_MEMORY_ERROR = -3, - WEBP_MUX_NOT_ENOUGH_DATA = -4 -} WebPMuxError; - -// IDs for different types of chunks. -typedef enum WebPChunkId { - WEBP_CHUNK_VP8X, // VP8X - WEBP_CHUNK_ICCP, // ICCP - WEBP_CHUNK_ANIM, // ANIM - WEBP_CHUNK_ANMF, // ANMF - WEBP_CHUNK_DEPRECATED, // (deprecated from FRGM) - WEBP_CHUNK_ALPHA, // ALPH - WEBP_CHUNK_IMAGE, // VP8/VP8L - WEBP_CHUNK_EXIF, // EXIF - WEBP_CHUNK_XMP, // XMP - WEBP_CHUNK_UNKNOWN, // Other chunks. - WEBP_CHUNK_NIL -} WebPChunkId; - -//------------------------------------------------------------------------------ - -// Returns the version number of the mux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetMuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Mux object - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPNewInternal(int); - -// Creates an empty mux object. -// Returns: -// A pointer to the newly created empty mux object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPMux* WebPMuxNew(void) { - return WebPNewInternal(WEBP_MUX_ABI_VERSION); -} - -// Deletes the mux object. -// Parameters: -// mux - (in/out) object to be deleted -WEBP_EXTERN void WebPMuxDelete(WebPMux* mux); - -//------------------------------------------------------------------------------ -// Mux creation. - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPMuxCreateInternal(const WebPData*, int, int); - -// Creates a mux object from raw data given in WebP RIFF format. -// Parameters: -// bitstream - (in) the bitstream data in WebP RIFF format -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// A pointer to the mux object created from given data - on success. -// NULL - In case of invalid data or memory error. -static WEBP_INLINE WebPMux* WebPMuxCreate(const WebPData* bitstream, - int copy_data) { - return WebPMuxCreateInternal(bitstream, copy_data, WEBP_MUX_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// Non-image chunks. - -// Note: Only non-image related chunks should be managed through chunk APIs. -// (Image related chunks are: "ANMF", "VP8 ", "VP8L" and "ALPH"). -// To add, get and delete images, use WebPMuxSetImage(), WebPMuxPushFrame(), -// WebPMuxGetFrame() and WebPMuxDeleteFrame(). - -// Adds a chunk with id 'fourcc' and data 'chunk_data' in the mux object. -// Any existing chunk(s) with the same id will be removed. -// Parameters: -// mux - (in/out) object to which the chunk is to be added -// fourcc - (in) a character array containing the fourcc of the given chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (in) the chunk data to be added -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetChunk( - WebPMux* mux, const char fourcc[4], const WebPData* chunk_data, - int copy_data); - -// Gets a reference to the data of the chunk with id 'fourcc' in the mux object. -// The caller should NOT free the returned data. -// Parameters: -// mux - (in) object from which the chunk data is to be fetched -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (out) returned chunk data -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given id. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetChunk( - const WebPMux* mux, const char fourcc[4], WebPData* chunk_data); - -// Deletes the chunk with the given 'fourcc' from the mux object. -// Parameters: -// mux - (in/out) object from which the chunk is to be deleted -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or fourcc is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given fourcc. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteChunk( - WebPMux* mux, const char fourcc[4]); - -//------------------------------------------------------------------------------ -// Images. - -// Encapsulates data about a single frame. -struct WebPMuxFrameInfo { - WebPData bitstream; // image data: can be a raw VP8/VP8L bitstream - // or a single-image WebP file. - int x_offset; // x-offset of the frame. - int y_offset; // y-offset of the frame. - int duration; // duration of the frame (in milliseconds). - - WebPChunkId id; // frame type: should be one of WEBP_CHUNK_ANMF - // or WEBP_CHUNK_IMAGE - WebPMuxAnimDispose dispose_method; // Disposal method for the frame. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - uint32_t pad[1]; // padding for later use -}; - -// Sets the (non-animated) image in the mux object. -// Note: Any existing images (including frames) will be removed. -// Parameters: -// mux - (in/out) object in which the image is to be set -// bitstream - (in) can be a raw VP8/VP8L bitstream or a single-image -// WebP file (non-animated) -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL or bitstream is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetImage( - WebPMux* mux, const WebPData* bitstream, int copy_data); - -// Adds a frame at the end of the mux object. -// Notes: (1) frame.id should be WEBP_CHUNK_ANMF -// (2) For setting a non-animated image, use WebPMuxSetImage() instead. -// (3) Type of frame being pushed must be same as the frames in mux. -// (4) As WebP only supports even offsets, any odd offset will be snapped -// to an even location using: offset &= ~1 -// Parameters: -// mux - (in/out) object to which the frame is to be added -// frame - (in) frame data. -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL -// or if content of 'frame' is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxPushFrame( - WebPMux* mux, const WebPMuxFrameInfo* frame, int copy_data); - -// Gets the nth frame from the mux object. -// The content of 'frame->bitstream' is allocated using WebPMalloc(), and NOT -// owned by the 'mux' object. It MUST be deallocated by the caller by calling -// WebPDataClear(). -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in) object from which the info is to be fetched -// nth - (in) index of the frame in the mux object -// frame - (out) data of the returned frame -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL. -// WEBP_MUX_NOT_FOUND - if there are less than nth frames in the mux object. -// WEBP_MUX_BAD_DATA - if nth frame chunk in mux is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFrame( - const WebPMux* mux, uint32_t nth, WebPMuxFrameInfo* frame); - -// Deletes a frame from the mux object. -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in/out) object from which a frame is to be deleted -// nth - (in) The position from which the frame is to be deleted -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL. -// WEBP_MUX_NOT_FOUND - If there are less than nth frames in the mux object -// before deletion. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteFrame(WebPMux* mux, uint32_t nth); - -//------------------------------------------------------------------------------ -// Animation. - -// Animation parameters. -struct WebPMuxAnimParams { - uint32_t bgcolor; // Background color of the canvas stored (in MSB order) as: - // Bits 00 to 07: Alpha. - // Bits 08 to 15: Red. - // Bits 16 to 23: Green. - // Bits 24 to 31: Blue. - int loop_count; // Number of times to repeat the animation [0 = infinite]. -}; - -// Sets the animation parameters in the mux object. Any existing ANIM chunks -// will be removed. -// Parameters: -// mux - (in/out) object in which ANIM chunk is to be set/added -// params - (in) animation parameters. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetAnimationParams( - WebPMux* mux, const WebPMuxAnimParams* params); - -// Gets the animation parameters from the mux object. -// Parameters: -// mux - (in) object from which the animation parameters to be fetched -// params - (out) animation parameters extracted from the ANIM chunk -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_NOT_FOUND - if ANIM chunk is not present in mux object. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetAnimationParams( - const WebPMux* mux, WebPMuxAnimParams* params); - -//------------------------------------------------------------------------------ -// Misc Utilities. - -// Sets the canvas size for the mux object. The width and height can be -// specified explicitly or left as zero (0, 0). -// * When width and height are specified explicitly, then this frame bound is -// enforced during subsequent calls to WebPMuxAssemble() and an error is -// reported if any animated frame does not completely fit within the canvas. -// * When unspecified (0, 0), the constructed canvas will get the frame bounds -// from the bounding-box over all frames after calling WebPMuxAssemble(). -// Parameters: -// mux - (in) object to which the canvas size is to be set -// width - (in) canvas width -// height - (in) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL; or -// width or height are invalid or out of bounds -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetCanvasSize(WebPMux* mux, - int width, int height); - -// Gets the canvas size from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the canvas size is to be fetched -// width - (out) canvas width -// height - (out) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, width or height is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetCanvasSize(const WebPMux* mux, - int* width, int* height); - -// Gets the feature flags from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the features are to be fetched -// flags - (out) the flags specifying which features are present in the -// mux object. This will be an OR of various flag values. -// Enum 'WebPFeatureFlags' can be used to test individual flag values. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or flags is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFeatures(const WebPMux* mux, - uint32_t* flags); - -// Gets number of chunks with the given 'id' in the mux object. -// Parameters: -// mux - (in) object from which the info is to be fetched -// id - (in) chunk id specifying the type of chunk -// num_elements - (out) number of chunks with the given chunk id -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, or num_elements is NULL. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxNumChunks(const WebPMux* mux, - WebPChunkId id, int* num_elements); - -// Assembles all chunks in WebP RIFF format and returns in 'assembled_data'. -// This function also validates the mux object. -// Note: The content of 'assembled_data' will be ignored and overwritten. -// Also, the content of 'assembled_data' is allocated using WebPMalloc(), and -// NOT owned by the 'mux' object. It MUST be deallocated by the caller by -// calling WebPDataClear(). It's always safe to call WebPDataClear() upon -// return, even in case of error. -// Parameters: -// mux - (in/out) object whose chunks are to be assembled -// assembled_data - (out) assembled WebP data -// Returns: -// WEBP_MUX_BAD_DATA - if mux object is invalid. -// WEBP_MUX_INVALID_ARGUMENT - if mux or assembled_data is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxAssemble(WebPMux* mux, - WebPData* assembled_data); - -//------------------------------------------------------------------------------ -// WebPAnimEncoder API -// -// This API allows encoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimEncoderOptions enc_options; - WebPAnimEncoderOptionsInit(&enc_options); - // Tune 'enc_options' as needed. - WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, &enc_options); - while() { - WebPConfig config; - WebPConfigInit(&config); - // Tune 'config' as needed. - WebPAnimEncoderAdd(enc, frame, timestamp_ms, &config); - } - WebPAnimEncoderAdd(enc, NULL, timestamp_ms, NULL); - WebPAnimEncoderAssemble(enc, webp_data); - WebPAnimEncoderDelete(enc); - // Write the 'webp_data' to a file, or re-mux it further. -*/ - -typedef struct WebPAnimEncoder WebPAnimEncoder; // Main opaque object. - -// Forward declarations. Defined in encode.h. -struct WebPPicture; -struct WebPConfig; - -// Global options. -struct WebPAnimEncoderOptions { - WebPMuxAnimParams anim_params; // Animation parameters. - int minimize_size; // If true, minimize the output size (slow). Implicitly - // disables key-frame insertion. - int kmin; - int kmax; // Minimum and maximum distance between consecutive key - // frames in the output. The library may insert some key - // frames as needed to satisfy this criteria. - // Note that these conditions should hold: kmax > kmin - // and kmin >= kmax / 2 + 1. Also, if kmax <= 0, then - // key-frame insertion is disabled; and if kmax == 1, - // then all frames will be key-frames (kmin value does - // not matter for these special cases). - int allow_mixed; // If true, use mixed compression mode; may choose - // either lossy and lossless for each frame. - int verbose; // If true, print info and warning messages to stderr. - - uint32_t padding[4]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimEncoderOptionsInitInternal( - WebPAnimEncoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimEncoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimEncoderOptionsInit() must have succeeded before using the -// 'enc_options' object. -static WEBP_INLINE int WebPAnimEncoderOptionsInit( - WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderOptionsInitInternal(enc_options, WEBP_MUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimEncoder* WebPAnimEncoderNewInternal( - int, int, const WebPAnimEncoderOptions*, int); - -// Creates and initializes a WebPAnimEncoder object. -// Parameters: -// width/height - (in) canvas width and height of the animation. -// enc_options - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// A pointer to the newly created WebPAnimEncoder object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPAnimEncoder* WebPAnimEncoderNew( - int width, int height, const WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderNewInternal(width, height, enc_options, - WEBP_MUX_ABI_VERSION); -} - -// Optimize the given frame for WebP, encode it and add it to the -// WebPAnimEncoder object. -// The last call to 'WebPAnimEncoderAdd' should be with frame = NULL, which -// indicates that no more frames are to be added. This call is also used to -// determine the duration of the last frame. -// Parameters: -// enc - (in/out) object to which the frame is to be added. -// frame - (in/out) frame data in ARGB or YUV(A) format. If it is in YUV(A) -// format, it will be converted to ARGB, which incurs a small loss. -// timestamp_ms - (in) timestamp of this frame in milliseconds. -// Duration of a frame would be calculated as -// "timestamp of next frame - timestamp of this frame". -// Hence, timestamps should be in non-decreasing order. -// config - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// On error, returns false and frame->error_code is set appropriately. -// Otherwise, returns true. -WEBP_EXTERN int WebPAnimEncoderAdd( - WebPAnimEncoder* enc, struct WebPPicture* frame, int timestamp_ms, - const struct WebPConfig* config); - -// Assemble all frames added so far into a WebP bitstream. -// This call should be preceded by a call to 'WebPAnimEncoderAdd' with -// frame = NULL; if not, the duration of the last frame will be internally -// estimated. -// Parameters: -// enc - (in/out) object from which the frames are to be assembled. -// webp_data - (out) generated WebP bitstream. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimEncoderAssemble(WebPAnimEncoder* enc, - WebPData* webp_data); - -// Get error string corresponding to the most recent call using 'enc'. The -// returned string is owned by 'enc' and is valid only until the next call to -// WebPAnimEncoderAdd() or WebPAnimEncoderAssemble() or WebPAnimEncoderDelete(). -// Parameters: -// enc - (in/out) object from which the error string is to be fetched. -// Returns: -// NULL if 'enc' is NULL. Otherwise, returns the error string if the last call -// to 'enc' had an error, or an empty string if the last call was a success. -WEBP_EXTERN const char* WebPAnimEncoderGetError(WebPAnimEncoder* enc); - -// Deletes the WebPAnimEncoder object. -// Parameters: -// enc - (in/out) object to be deleted -WEBP_EXTERN void WebPAnimEncoderDelete(WebPAnimEncoder* enc); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/mux_types.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/mux_types.h deleted file mode 100644 index 2fe81958..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/mux_types.h +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Data-types common to the mux and demux libraries. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_WEBP_MUX_TYPES_H_ -#define WEBP_WEBP_MUX_TYPES_H_ - -#include // memset() -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPFeatureFlags WebPFeatureFlags; -// typedef enum WebPMuxAnimDispose WebPMuxAnimDispose; -// typedef enum WebPMuxAnimBlend WebPMuxAnimBlend; -typedef struct WebPData WebPData; - -// VP8X Feature Flags. -typedef enum WebPFeatureFlags { - ANIMATION_FLAG = 0x00000002, - XMP_FLAG = 0x00000004, - EXIF_FLAG = 0x00000008, - ALPHA_FLAG = 0x00000010, - ICCP_FLAG = 0x00000020, - - ALL_VALID_FLAGS = 0x0000003e -} WebPFeatureFlags; - -// Dispose method (animation only). Indicates how the area used by the current -// frame is to be treated before rendering the next frame on the canvas. -typedef enum WebPMuxAnimDispose { - WEBP_MUX_DISPOSE_NONE, // Do not dispose. - WEBP_MUX_DISPOSE_BACKGROUND // Dispose to background color. -} WebPMuxAnimDispose; - -// Blend operation (animation only). Indicates how transparent pixels of the -// current frame are blended with those of the previous canvas. -typedef enum WebPMuxAnimBlend { - WEBP_MUX_BLEND, // Blend. - WEBP_MUX_NO_BLEND // Do not blend. -} WebPMuxAnimBlend; - -// Data type used to describe 'raw' data, e.g., chunk data -// (ICC profile, metadata) and WebP compressed image data. -// 'bytes' memory must be allocated using WebPMalloc() and such. -struct WebPData { - const uint8_t* bytes; - size_t size; -}; - -// Initializes the contents of the 'webp_data' object with default values. -static WEBP_INLINE void WebPDataInit(WebPData* webp_data) { - if (webp_data != NULL) { - memset(webp_data, 0, sizeof(*webp_data)); - } -} - -// Clears the contents of the 'webp_data' object by calling WebPFree(). -// Does not deallocate the object itself. -static WEBP_INLINE void WebPDataClear(WebPData* webp_data) { - if (webp_data != NULL) { - WebPFree((void*)webp_data->bytes); - WebPDataInit(webp_data); - } -} - -// Allocates necessary storage for 'dst' and copies the contents of 'src'. -// Returns true on success. -static WEBP_INLINE int WebPDataCopy(const WebPData* src, WebPData* dst) { - if (src == NULL || dst == NULL) return 0; - WebPDataInit(dst); - if (src->bytes != NULL && src->size != 0) { - dst->bytes = (uint8_t*)WebPMalloc(src->size); - if (dst->bytes == NULL) return 0; - memcpy((void*)dst->bytes, src->bytes, src->size); - dst->size = src->size; - } - return 1; -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/types.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/types.h deleted file mode 100644 index 47f7f2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/include/webp/types.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Common types + memory wrappers -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) -#define WEBP_INLINE inline -#else -#define WEBP_INLINE -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -# if defined(__GNUC__) && __GNUC__ >= 4 -# define WEBP_EXTERN extern __attribute__ ((visibility ("default"))) -# else -# define WEBP_EXTERN extern -# endif /* __GNUC__ >= 4 */ -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#ifdef __cplusplus -extern "C" { -#endif - -// Allocates 'size' bytes of memory. Returns NULL upon error. Memory -// must be deallocated by calling WebPFree(). This function is made available -// by the core 'libwebp' library. -WEBP_EXTERN void* WebPMalloc(size_t size); - -// Releases memory returned by the WebPDecode*() functions (from decode.h). -WEBP_EXTERN void WebPFree(void* ptr); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebp.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebp.a deleted file mode 100644 index a7013392..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebp.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebp.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebp.la deleted file mode 100755 index d412b9d3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebp.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebp.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebp.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebp. -current=8 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdecoder.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdecoder.a deleted file mode 100644 index 5d42f6b3..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdecoder.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdecoder.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdecoder.la deleted file mode 100755 index 52ad95f6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdecoder.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpdecoder.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpdecoder.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpdecoder. -current=4 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdemux.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdemux.a deleted file mode 100644 index c32a56e5..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdemux.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdemux.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdemux.la deleted file mode 100755 index 5ab0ab94..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpdemux.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpdemux.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpdemux.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebp.la -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpdemux. -current=2 -age=0 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpmux.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpmux.a deleted file mode 100644 index 10113dc7..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpmux.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpmux.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpmux.la deleted file mode 100755 index dc5728b2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebpmux.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpmux.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpmux.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/libwebp.la -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpmux. -current=3 -age=0 -revision=5 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebp.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebp.pc deleted file mode 100644 index 5e840914..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebp.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebp -Description: Library for the WebP graphics format -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebp -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebpdecoder.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebpdecoder.pc deleted file mode 100644 index c3993c22..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebpdecoder.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdecoder -Description: Library for the WebP graphics format (decode only) -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdecoder -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebpdemux.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebpdemux.pc deleted file mode 100644 index fcdb883f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebpdemux.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdemux -Description: Library for parsing the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdemux diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebpmux.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebpmux.pc deleted file mode 100644 index ce0bd3ce..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s/lib/pkgconfig/libwebpmux.pc +++ /dev/null @@ -1,12 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-armv7s -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpmux -Description: Library for manipulating the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpmux -Libs.private: -lm diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/decode.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/decode.h deleted file mode 100644 index 80dd0ef0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/decode.h +++ /dev/null @@ -1,503 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0209 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header, returning true on success, -// false otherwise. '*width' and '*height' are only valid on successful return. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -WEBP_EXTERN int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling WebPFree(). -// Returns NULL in case of error. -WEBP_EXTERN uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be passed to -// WebPFree(), unlike the returned Y luma one. The dimension of the U and V -// planes are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN uint8_t* WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN uint8_t* WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If non-zero, 'internal_memory' pointer is not - // used. If value is '2' or more, the external - // memory is considered 'slow' and multiple - // read/write will be avoided. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is 0). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN void WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&output_buffer); -// output_buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&output_buffer); -// while (additional_data_is_available) { -// // ... (get additional data in some new_data[] buffer) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) { -// break; // an error occurred. -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// not set to 0. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN WebPIDecoder* WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN WebPIDecoder* WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN WebPIDecoder* WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN void WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN VP8StatusCode WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN VP8StatusCode WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. The values in these pointers are only valid on successful (non-NULL) -// return. -WEBP_EXTERN uint8_t* WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN uint8_t* WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless - - uint32_t pad[5]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN VP8StatusCode WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - int dithering_strength; // dithering strength (0=Off, 100=full) - int flip; // flip output vertically - int alpha_dithering_strength; // alpha dithering strength in [0..100] - - uint32_t pad[5]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. If 'config' is not NULL, it must outlive the WebPIDecoder object -// as some references to its fields will be used. No internal copy of 'config' -// is made. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition, if available). -WEBP_EXTERN WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). Note that 'config' cannot be NULL. -WEBP_EXTERN VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DECODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/demux.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/demux.h deleted file mode 100644 index 846eeb15..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/demux.h +++ /dev/null @@ -1,363 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Demux API. -// Enables extraction of image and extended format data from WebP files. - -// Code Example: Demuxing WebP data to extract all the frames, ICC profile -// and EXIF/XMP metadata. -/* - WebPDemuxer* demux = WebPDemux(&webp_data); - - uint32_t width = WebPDemuxGetI(demux, WEBP_FF_CANVAS_WIDTH); - uint32_t height = WebPDemuxGetI(demux, WEBP_FF_CANVAS_HEIGHT); - // ... (Get information about the features present in the WebP file). - uint32_t flags = WebPDemuxGetI(demux, WEBP_FF_FORMAT_FLAGS); - - // ... (Iterate over all frames). - WebPIterator iter; - if (WebPDemuxGetFrame(demux, 1, &iter)) { - do { - // ... (Consume 'iter'; e.g. Decode 'iter.fragment' with WebPDecode(), - // ... and get other frame properties like width, height, offsets etc. - // ... see 'struct WebPIterator' below for more info). - } while (WebPDemuxNextFrame(&iter)); - WebPDemuxReleaseIterator(&iter); - } - - // ... (Extract metadata). - WebPChunkIterator chunk_iter; - if (flags & ICCP_FLAG) WebPDemuxGetChunk(demux, "ICCP", 1, &chunk_iter); - // ... (Consume the ICC profile in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & EXIF_FLAG) WebPDemuxGetChunk(demux, "EXIF", 1, &chunk_iter); - // ... (Consume the EXIF metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & XMP_FLAG) WebPDemuxGetChunk(demux, "XMP ", 1, &chunk_iter); - // ... (Consume the XMP metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - WebPDemuxDelete(demux); -*/ - -#ifndef WEBP_WEBP_DEMUX_H_ -#define WEBP_WEBP_DEMUX_H_ - -#include "./decode.h" // for WEBP_CSP_MODE -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DEMUX_ABI_VERSION 0x0107 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPDemuxState WebPDemuxState; -// typedef enum WebPFormatFeature WebPFormatFeature; -typedef struct WebPDemuxer WebPDemuxer; -typedef struct WebPIterator WebPIterator; -typedef struct WebPChunkIterator WebPChunkIterator; -typedef struct WebPAnimInfo WebPAnimInfo; -typedef struct WebPAnimDecoderOptions WebPAnimDecoderOptions; - -//------------------------------------------------------------------------------ - -// Returns the version number of the demux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDemuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Demux object - -typedef enum WebPDemuxState { - WEBP_DEMUX_PARSE_ERROR = -1, // An error occurred while parsing. - WEBP_DEMUX_PARSING_HEADER = 0, // Not enough data to parse full header. - WEBP_DEMUX_PARSED_HEADER = 1, // Header parsing complete, - // data may be available. - WEBP_DEMUX_DONE = 2 // Entire file has been parsed. -} WebPDemuxState; - -// Internal, version-checked, entry point -WEBP_EXTERN WebPDemuxer* WebPDemuxInternal( - const WebPData*, int, WebPDemuxState*, int); - -// Parses the full WebP file given by 'data'. For single images the WebP file -// header alone or the file header and the chunk header may be absent. -// Returns a WebPDemuxer object on successful parse, NULL otherwise. -static WEBP_INLINE WebPDemuxer* WebPDemux(const WebPData* data) { - return WebPDemuxInternal(data, 0, NULL, WEBP_DEMUX_ABI_VERSION); -} - -// Parses the possibly incomplete WebP file given by 'data'. -// If 'state' is non-NULL it will be set to indicate the status of the demuxer. -// Returns NULL in case of error or if there isn't enough data to start parsing; -// and a WebPDemuxer object on successful parse. -// Note that WebPDemuxer keeps internal pointers to 'data' memory segment. -// If this data is volatile, the demuxer object should be deleted (by calling -// WebPDemuxDelete()) and WebPDemuxPartial() called again on the new data. -// This is usually an inexpensive operation. -static WEBP_INLINE WebPDemuxer* WebPDemuxPartial( - const WebPData* data, WebPDemuxState* state) { - return WebPDemuxInternal(data, 1, state, WEBP_DEMUX_ABI_VERSION); -} - -// Frees memory associated with 'dmux'. -WEBP_EXTERN void WebPDemuxDelete(WebPDemuxer* dmux); - -//------------------------------------------------------------------------------ -// Data/information extraction. - -typedef enum WebPFormatFeature { - WEBP_FF_FORMAT_FLAGS, // bit-wise combination of WebPFeatureFlags - // corresponding to the 'VP8X' chunk (if present). - WEBP_FF_CANVAS_WIDTH, - WEBP_FF_CANVAS_HEIGHT, - WEBP_FF_LOOP_COUNT, // only relevant for animated file - WEBP_FF_BACKGROUND_COLOR, // idem. - WEBP_FF_FRAME_COUNT // Number of frames present in the demux object. - // In case of a partial demux, this is the number - // of frames seen so far, with the last frame - // possibly being partial. -} WebPFormatFeature; - -// Get the 'feature' value from the 'dmux'. -// NOTE: values are only valid if WebPDemux() was used or WebPDemuxPartial() -// returned a state > WEBP_DEMUX_PARSING_HEADER. -// If 'feature' is WEBP_FF_FORMAT_FLAGS, the returned value is a bit-wise -// combination of WebPFeatureFlags values. -// If 'feature' is WEBP_FF_LOOP_COUNT, WEBP_FF_BACKGROUND_COLOR, the returned -// value is only meaningful if the bitstream is animated. -WEBP_EXTERN uint32_t WebPDemuxGetI( - const WebPDemuxer* dmux, WebPFormatFeature feature); - -//------------------------------------------------------------------------------ -// Frame iteration. - -struct WebPIterator { - int frame_num; - int num_frames; // equivalent to WEBP_FF_FRAME_COUNT. - int x_offset, y_offset; // offset relative to the canvas. - int width, height; // dimensions of this frame. - int duration; // display duration in milliseconds. - WebPMuxAnimDispose dispose_method; // dispose method for the frame. - int complete; // true if 'fragment' contains a full frame. partial images - // may still be decoded with the WebP incremental decoder. - WebPData fragment; // The frame given by 'frame_num'. Note for historical - // reasons this is called a fragment. - int has_alpha; // True if the frame contains transparency. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - - uint32_t pad[2]; // padding for later use. - void* private_; // for internal use only. -}; - -// Retrieves frame 'frame_number' from 'dmux'. -// 'iter->fragment' points to the frame on return from this function. -// Setting 'frame_number' equal to 0 will return the last frame of the image. -// Returns false if 'dmux' is NULL or frame 'frame_number' is not present. -// Call WebPDemuxReleaseIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of 'iter'. -WEBP_EXTERN int WebPDemuxGetFrame( - const WebPDemuxer* dmux, int frame_number, WebPIterator* iter); - -// Sets 'iter->fragment' to point to the next ('iter->frame_num' + 1) or -// previous ('iter->frame_num' - 1) frame. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextFrame(WebPIterator* iter); -WEBP_EXTERN int WebPDemuxPrevFrame(WebPIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before any subsequent calls to WebPDemuxGetChunk() on the same -// iter. Also, must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseIterator(WebPIterator* iter); - -//------------------------------------------------------------------------------ -// Chunk iteration. - -struct WebPChunkIterator { - // The current and total number of chunks with the fourcc given to - // WebPDemuxGetChunk(). - int chunk_num; - int num_chunks; - WebPData chunk; // The payload of the chunk. - - uint32_t pad[6]; // padding for later use - void* private_; -}; - -// Retrieves the 'chunk_number' instance of the chunk with id 'fourcc' from -// 'dmux'. -// 'fourcc' is a character array containing the fourcc of the chunk to return, -// e.g., "ICCP", "XMP ", "EXIF", etc. -// Setting 'chunk_number' equal to 0 will return the last chunk in a set. -// Returns true if the chunk is found, false otherwise. Image related chunk -// payloads are accessed through WebPDemuxGetFrame() and related functions. -// Call WebPDemuxReleaseChunkIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of the iterator. -WEBP_EXTERN int WebPDemuxGetChunk(const WebPDemuxer* dmux, - const char fourcc[4], int chunk_number, - WebPChunkIterator* iter); - -// Sets 'iter->chunk' to point to the next ('iter->chunk_num' + 1) or previous -// ('iter->chunk_num' - 1) chunk. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextChunk(WebPChunkIterator* iter); -WEBP_EXTERN int WebPDemuxPrevChunk(WebPChunkIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseChunkIterator(WebPChunkIterator* iter); - -//------------------------------------------------------------------------------ -// WebPAnimDecoder API -// -// This API allows decoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimDecoderOptions dec_options; - WebPAnimDecoderOptionsInit(&dec_options); - // Tune 'dec_options' as needed. - WebPAnimDecoder* dec = WebPAnimDecoderNew(webp_data, &dec_options); - WebPAnimInfo anim_info; - WebPAnimDecoderGetInfo(dec, &anim_info); - for (uint32_t i = 0; i < anim_info.loop_count; ++i) { - while (WebPAnimDecoderHasMoreFrames(dec)) { - uint8_t* buf; - int timestamp; - WebPAnimDecoderGetNext(dec, &buf, ×tamp); - // ... (Render 'buf' based on 'timestamp'). - // ... (Do NOT free 'buf', as it is owned by 'dec'). - } - WebPAnimDecoderReset(dec); - } - const WebPDemuxer* demuxer = WebPAnimDecoderGetDemuxer(dec); - // ... (Do something using 'demuxer'; e.g. get EXIF/XMP/ICC data). - WebPAnimDecoderDelete(dec); -*/ - -typedef struct WebPAnimDecoder WebPAnimDecoder; // Main opaque object. - -// Global options. -struct WebPAnimDecoderOptions { - // Output colorspace. Only the following modes are supported: - // MODE_RGBA, MODE_BGRA, MODE_rgbA and MODE_bgrA. - WEBP_CSP_MODE color_mode; - int use_threads; // If true, use multi-threaded decoding. - uint32_t padding[7]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimDecoderOptionsInitInternal( - WebPAnimDecoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimDecoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimDecoderOptionsInit() must have succeeded before using the -// 'dec_options' object. -static WEBP_INLINE int WebPAnimDecoderOptionsInit( - WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderOptionsInitInternal(dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimDecoder* WebPAnimDecoderNewInternal( - const WebPData*, const WebPAnimDecoderOptions*, int); - -// Creates and initializes a WebPAnimDecoder object. -// Parameters: -// webp_data - (in) WebP bitstream. This should remain unchanged during the -// lifetime of the output WebPAnimDecoder object. -// dec_options - (in) decoding options. Can be passed NULL to choose -// reasonable defaults (in particular, color mode MODE_RGBA -// will be picked). -// Returns: -// A pointer to the newly created WebPAnimDecoder object, or NULL in case of -// parsing error, invalid option or memory error. -static WEBP_INLINE WebPAnimDecoder* WebPAnimDecoderNew( - const WebPData* webp_data, const WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderNewInternal(webp_data, dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Global information about the animation.. -struct WebPAnimInfo { - uint32_t canvas_width; - uint32_t canvas_height; - uint32_t loop_count; - uint32_t bgcolor; - uint32_t frame_count; - uint32_t pad[4]; // padding for later use -}; - -// Get global information about the animation. -// Parameters: -// dec - (in) decoder instance to get information from. -// info - (out) global information fetched from the animation. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimDecoderGetInfo(const WebPAnimDecoder* dec, - WebPAnimInfo* info); - -// Fetch the next frame from 'dec' based on options supplied to -// WebPAnimDecoderNew(). This will be a fully reconstructed canvas of size -// 'canvas_width * 4 * canvas_height', and not just the frame sub-rectangle. The -// returned buffer 'buf' is valid only until the next call to -// WebPAnimDecoderGetNext(), WebPAnimDecoderReset() or WebPAnimDecoderDelete(). -// Parameters: -// dec - (in/out) decoder instance from which the next frame is to be fetched. -// buf - (out) decoded frame. -// timestamp - (out) timestamp of the frame in milliseconds. -// Returns: -// False if any of the arguments are NULL, or if there is a parsing or -// decoding error, or if there are no more frames. Otherwise, returns true. -WEBP_EXTERN int WebPAnimDecoderGetNext(WebPAnimDecoder* dec, - uint8_t** buf, int* timestamp); - -// Check if there are more frames left to decode. -// Parameters: -// dec - (in) decoder instance to be checked. -// Returns: -// True if 'dec' is not NULL and some frames are yet to be decoded. -// Otherwise, returns false. -WEBP_EXTERN int WebPAnimDecoderHasMoreFrames(const WebPAnimDecoder* dec); - -// Resets the WebPAnimDecoder object, so that next call to -// WebPAnimDecoderGetNext() will restart decoding from 1st frame. This would be -// helpful when all frames need to be decoded multiple times (e.g. -// info.loop_count times) without destroying and recreating the 'dec' object. -// Parameters: -// dec - (in/out) decoder instance to be reset -WEBP_EXTERN void WebPAnimDecoderReset(WebPAnimDecoder* dec); - -// Grab the internal demuxer object. -// Getting the demuxer object can be useful if one wants to use operations only -// available through demuxer; e.g. to get XMP/EXIF/ICC metadata. The returned -// demuxer object is owned by 'dec' and is valid only until the next call to -// WebPAnimDecoderDelete(). -// -// Parameters: -// dec - (in) decoder instance from which the demuxer object is to be fetched. -WEBP_EXTERN const WebPDemuxer* WebPAnimDecoderGetDemuxer( - const WebPAnimDecoder* dec); - -// Deletes the WebPAnimDecoder object. -// Parameters: -// dec - (in/out) decoder instance to be deleted -WEBP_EXTERN void WebPAnimDecoderDelete(WebPAnimDecoder* dec); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DEMUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/encode.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/encode.h deleted file mode 100644 index 655166e7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/encode.h +++ /dev/null @@ -1,546 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x020f // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'WebPFree(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN size_t WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -// Note these functions, like the lossy versions, use the library's default -// settings. For lossless this means 'exact' is disabled. RGB values in -// transparent areas will be modified to improve compression. To avoid this, -// use WebPEncode() and set WebPConfig::exact to 1. -WEBP_EXTERN size_t WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 and 100. For lossy, 0 gives the smallest - // size and 100 the largest. For lossless, this - // parameter is the amount of effort put into the - // compression: 0 is the fastest but gives larger - // files compared to the slowest, but best, 100. - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter: - // 0=none, 1=segment-smooth, 2=pseudo-random dithering - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - int near_lossless; // Near lossless encoding [0 = max loss .. 100 = off - // (default)]. - int exact; // if non-zero, preserve the exact RGB values under - // transparent area. Otherwise, discard this invisible - // RGB information for better compression. The default - // value is 0. - - int use_delta_palette; // reserved for future lossless feature - int use_sharp_yuv; // if needed, use sharp (and slow) RGB->YUV conversion - - uint32_t pad[2]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Activate the lossless compression mode with the desired efficiency level -// between 0 (fastest, lowest compression) and 9 (slower, best compression). -// A good default level is '6', providing a fair tradeoff between compression -// speed and final compressed size. -// This function will overwrite several fields from config: 'method', 'quality' -// and 'lossless'. Returns false in case of parameter error. -WEBP_EXTERN int WebPConfigLosslessPreset(WebPConfig* config, int level); - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN int WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics. - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - int lossless_hdr_size; // lossless header (transform, huffman etc) size - int lossless_data_size; // lossless image data size - - uint32_t pad[2]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN void WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The following must be called to deallocate writer->mem memory. The 'writer' -// object itself is not deallocated. -WEBP_EXTERN void WebPMemoryWriterClear(WebPMemoryWriter* writer); -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed by calling WebPMemoryWriterClear. -WEBP_EXTERN int WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV420A = 4, // alpha channel variant - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t* y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now - uint8_t* pad4, *pad5; - uint32_t pad6[8]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad7[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN void WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, *dst -// will fully own the copied pixels (this is not a view). The 'dst' picture need -// not be initialized as its content is overwritten. -// Returns false in case of memory allocation error. -WEBP_EXTERN int WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute the single distortion for packed planes of samples. -// 'src' will be compared to 'ref', and the raw distortion stored into -// '*distortion'. The refined metric (log(MSE), log(1 - ssim),...' will be -// stored in '*result'. -// 'x_step' is the horizontal stride (in bytes) between samples. -// 'src/ref_stride' is the byte distance between rows. -// Returns false in case of error (bad parameter, memory allocation error, ...). -WEBP_EXTERN int WebPPlaneDistortion(const uint8_t* src, size_t src_stride, - const uint8_t* ref, size_t ref_stride, - int width, int height, - size_t x_step, - int type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float* distortion, float* result); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. Results -// are in dB, stored in result[] in the B/G/R/A/All order. The distortion is -// always performed using ARGB samples. Hence if the input is YUV(A), the -// picture will be internally converted to ARGB (just for the measurement). -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN int WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN int WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). Picture 'dst' need not be initialized -// with WebPPictureInit() if it is different from 'src', since its content will -// be overwritten. -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN int WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN int WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// If either 'width' or 'height' (but not both) is 0 the corresponding -// dimension will be calculated preserving the aspect ratio. -// No gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN int WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN int WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN int WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN int WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN int WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN int WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUV420A format. The 'colorspace' -// parameter is deprecated and should be equal to WEBP_YUV420. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP /*colorspace = WEBP_YUV420*/); - -// Same as WebPPictureARGBToYUVA(), but the conversion is done using -// pseudo-random dithering with a strength 'dithering' between -// 0.0 (no dithering) and 1.0 (maximum dithering). This is useful -// for photographic picture. -WEBP_EXTERN int WebPPictureARGBToYUVADithered( - WebPPicture* picture, WebPEncCSP colorspace, float dithering); - -// Performs 'sharp' RGBA->YUVA420 downsampling and colorspace conversion. -// Downsampling is handled with extra care in case of color clipping. This -// method is roughly 2x slower than WebPPictureARGBToYUVA() but produces better -// and sharper YUV representation. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureSharpARGBToYUVA(WebPPicture* picture); -// kept for backward compatibility: -WEBP_EXTERN int WebPPictureSmartARGBToYUVA(WebPPicture* picture); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. The conversion from YUV420 to -// ARGB incurs a small loss too. -// Note that the use of this colorspace is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of RGBA or YUV(A) samples -// clean-up or smoothen the YUV or RGB samples under fully transparent area, -// to help compressibility (no guarantee, though). -WEBP_EXTERN void WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN int WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN void WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN int WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_ENCODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/mux.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/mux.h deleted file mode 100644 index 7d27489a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/mux.h +++ /dev/null @@ -1,530 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// RIFF container manipulation and encoding for WebP images. -// -// Authors: Urvang (urvang@google.com) -// Vikas (vikasa@google.com) - -#ifndef WEBP_WEBP_MUX_H_ -#define WEBP_WEBP_MUX_H_ - -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_MUX_ABI_VERSION 0x0108 // MAJOR(8b) + MINOR(8b) - -//------------------------------------------------------------------------------ -// Mux API -// -// This API allows manipulation of WebP container images containing features -// like color profile, metadata, animation. -// -// Code Example#1: Create a WebPMux object with image data, color profile and -// XMP metadata. -/* - int copy_data = 0; - WebPMux* mux = WebPMuxNew(); - // ... (Prepare image data). - WebPMuxSetImage(mux, &image, copy_data); - // ... (Prepare ICCP color profile data). - WebPMuxSetChunk(mux, "ICCP", &icc_profile, copy_data); - // ... (Prepare XMP metadata). - WebPMuxSetChunk(mux, "XMP ", &xmp, copy_data); - // Get data from mux in WebP RIFF format. - WebPMuxAssemble(mux, &output_data); - WebPMuxDelete(mux); - // ... (Consume output_data; e.g. write output_data.bytes to file). - WebPDataClear(&output_data); -*/ - -// Code Example#2: Get image and color profile data from a WebP file. -/* - int copy_data = 0; - // ... (Read data from file). - WebPMux* mux = WebPMuxCreate(&data, copy_data); - WebPMuxGetFrame(mux, 1, &image); - // ... (Consume image; e.g. call WebPDecode() to decode the data). - WebPMuxGetChunk(mux, "ICCP", &icc_profile); - // ... (Consume icc_data). - WebPMuxDelete(mux); - WebPFree(data); -*/ - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPMuxError WebPMuxError; -// typedef enum WebPChunkId WebPChunkId; -typedef struct WebPMux WebPMux; // main opaque object. -typedef struct WebPMuxFrameInfo WebPMuxFrameInfo; -typedef struct WebPMuxAnimParams WebPMuxAnimParams; -typedef struct WebPAnimEncoderOptions WebPAnimEncoderOptions; - -// Error codes -typedef enum WebPMuxError { - WEBP_MUX_OK = 1, - WEBP_MUX_NOT_FOUND = 0, - WEBP_MUX_INVALID_ARGUMENT = -1, - WEBP_MUX_BAD_DATA = -2, - WEBP_MUX_MEMORY_ERROR = -3, - WEBP_MUX_NOT_ENOUGH_DATA = -4 -} WebPMuxError; - -// IDs for different types of chunks. -typedef enum WebPChunkId { - WEBP_CHUNK_VP8X, // VP8X - WEBP_CHUNK_ICCP, // ICCP - WEBP_CHUNK_ANIM, // ANIM - WEBP_CHUNK_ANMF, // ANMF - WEBP_CHUNK_DEPRECATED, // (deprecated from FRGM) - WEBP_CHUNK_ALPHA, // ALPH - WEBP_CHUNK_IMAGE, // VP8/VP8L - WEBP_CHUNK_EXIF, // EXIF - WEBP_CHUNK_XMP, // XMP - WEBP_CHUNK_UNKNOWN, // Other chunks. - WEBP_CHUNK_NIL -} WebPChunkId; - -//------------------------------------------------------------------------------ - -// Returns the version number of the mux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetMuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Mux object - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPNewInternal(int); - -// Creates an empty mux object. -// Returns: -// A pointer to the newly created empty mux object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPMux* WebPMuxNew(void) { - return WebPNewInternal(WEBP_MUX_ABI_VERSION); -} - -// Deletes the mux object. -// Parameters: -// mux - (in/out) object to be deleted -WEBP_EXTERN void WebPMuxDelete(WebPMux* mux); - -//------------------------------------------------------------------------------ -// Mux creation. - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPMuxCreateInternal(const WebPData*, int, int); - -// Creates a mux object from raw data given in WebP RIFF format. -// Parameters: -// bitstream - (in) the bitstream data in WebP RIFF format -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// A pointer to the mux object created from given data - on success. -// NULL - In case of invalid data or memory error. -static WEBP_INLINE WebPMux* WebPMuxCreate(const WebPData* bitstream, - int copy_data) { - return WebPMuxCreateInternal(bitstream, copy_data, WEBP_MUX_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// Non-image chunks. - -// Note: Only non-image related chunks should be managed through chunk APIs. -// (Image related chunks are: "ANMF", "VP8 ", "VP8L" and "ALPH"). -// To add, get and delete images, use WebPMuxSetImage(), WebPMuxPushFrame(), -// WebPMuxGetFrame() and WebPMuxDeleteFrame(). - -// Adds a chunk with id 'fourcc' and data 'chunk_data' in the mux object. -// Any existing chunk(s) with the same id will be removed. -// Parameters: -// mux - (in/out) object to which the chunk is to be added -// fourcc - (in) a character array containing the fourcc of the given chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (in) the chunk data to be added -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetChunk( - WebPMux* mux, const char fourcc[4], const WebPData* chunk_data, - int copy_data); - -// Gets a reference to the data of the chunk with id 'fourcc' in the mux object. -// The caller should NOT free the returned data. -// Parameters: -// mux - (in) object from which the chunk data is to be fetched -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (out) returned chunk data -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given id. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetChunk( - const WebPMux* mux, const char fourcc[4], WebPData* chunk_data); - -// Deletes the chunk with the given 'fourcc' from the mux object. -// Parameters: -// mux - (in/out) object from which the chunk is to be deleted -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or fourcc is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given fourcc. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteChunk( - WebPMux* mux, const char fourcc[4]); - -//------------------------------------------------------------------------------ -// Images. - -// Encapsulates data about a single frame. -struct WebPMuxFrameInfo { - WebPData bitstream; // image data: can be a raw VP8/VP8L bitstream - // or a single-image WebP file. - int x_offset; // x-offset of the frame. - int y_offset; // y-offset of the frame. - int duration; // duration of the frame (in milliseconds). - - WebPChunkId id; // frame type: should be one of WEBP_CHUNK_ANMF - // or WEBP_CHUNK_IMAGE - WebPMuxAnimDispose dispose_method; // Disposal method for the frame. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - uint32_t pad[1]; // padding for later use -}; - -// Sets the (non-animated) image in the mux object. -// Note: Any existing images (including frames) will be removed. -// Parameters: -// mux - (in/out) object in which the image is to be set -// bitstream - (in) can be a raw VP8/VP8L bitstream or a single-image -// WebP file (non-animated) -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL or bitstream is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetImage( - WebPMux* mux, const WebPData* bitstream, int copy_data); - -// Adds a frame at the end of the mux object. -// Notes: (1) frame.id should be WEBP_CHUNK_ANMF -// (2) For setting a non-animated image, use WebPMuxSetImage() instead. -// (3) Type of frame being pushed must be same as the frames in mux. -// (4) As WebP only supports even offsets, any odd offset will be snapped -// to an even location using: offset &= ~1 -// Parameters: -// mux - (in/out) object to which the frame is to be added -// frame - (in) frame data. -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL -// or if content of 'frame' is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxPushFrame( - WebPMux* mux, const WebPMuxFrameInfo* frame, int copy_data); - -// Gets the nth frame from the mux object. -// The content of 'frame->bitstream' is allocated using WebPMalloc(), and NOT -// owned by the 'mux' object. It MUST be deallocated by the caller by calling -// WebPDataClear(). -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in) object from which the info is to be fetched -// nth - (in) index of the frame in the mux object -// frame - (out) data of the returned frame -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL. -// WEBP_MUX_NOT_FOUND - if there are less than nth frames in the mux object. -// WEBP_MUX_BAD_DATA - if nth frame chunk in mux is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFrame( - const WebPMux* mux, uint32_t nth, WebPMuxFrameInfo* frame); - -// Deletes a frame from the mux object. -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in/out) object from which a frame is to be deleted -// nth - (in) The position from which the frame is to be deleted -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL. -// WEBP_MUX_NOT_FOUND - If there are less than nth frames in the mux object -// before deletion. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteFrame(WebPMux* mux, uint32_t nth); - -//------------------------------------------------------------------------------ -// Animation. - -// Animation parameters. -struct WebPMuxAnimParams { - uint32_t bgcolor; // Background color of the canvas stored (in MSB order) as: - // Bits 00 to 07: Alpha. - // Bits 08 to 15: Red. - // Bits 16 to 23: Green. - // Bits 24 to 31: Blue. - int loop_count; // Number of times to repeat the animation [0 = infinite]. -}; - -// Sets the animation parameters in the mux object. Any existing ANIM chunks -// will be removed. -// Parameters: -// mux - (in/out) object in which ANIM chunk is to be set/added -// params - (in) animation parameters. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetAnimationParams( - WebPMux* mux, const WebPMuxAnimParams* params); - -// Gets the animation parameters from the mux object. -// Parameters: -// mux - (in) object from which the animation parameters to be fetched -// params - (out) animation parameters extracted from the ANIM chunk -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_NOT_FOUND - if ANIM chunk is not present in mux object. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetAnimationParams( - const WebPMux* mux, WebPMuxAnimParams* params); - -//------------------------------------------------------------------------------ -// Misc Utilities. - -// Sets the canvas size for the mux object. The width and height can be -// specified explicitly or left as zero (0, 0). -// * When width and height are specified explicitly, then this frame bound is -// enforced during subsequent calls to WebPMuxAssemble() and an error is -// reported if any animated frame does not completely fit within the canvas. -// * When unspecified (0, 0), the constructed canvas will get the frame bounds -// from the bounding-box over all frames after calling WebPMuxAssemble(). -// Parameters: -// mux - (in) object to which the canvas size is to be set -// width - (in) canvas width -// height - (in) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL; or -// width or height are invalid or out of bounds -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetCanvasSize(WebPMux* mux, - int width, int height); - -// Gets the canvas size from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the canvas size is to be fetched -// width - (out) canvas width -// height - (out) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, width or height is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetCanvasSize(const WebPMux* mux, - int* width, int* height); - -// Gets the feature flags from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the features are to be fetched -// flags - (out) the flags specifying which features are present in the -// mux object. This will be an OR of various flag values. -// Enum 'WebPFeatureFlags' can be used to test individual flag values. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or flags is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFeatures(const WebPMux* mux, - uint32_t* flags); - -// Gets number of chunks with the given 'id' in the mux object. -// Parameters: -// mux - (in) object from which the info is to be fetched -// id - (in) chunk id specifying the type of chunk -// num_elements - (out) number of chunks with the given chunk id -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, or num_elements is NULL. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxNumChunks(const WebPMux* mux, - WebPChunkId id, int* num_elements); - -// Assembles all chunks in WebP RIFF format and returns in 'assembled_data'. -// This function also validates the mux object. -// Note: The content of 'assembled_data' will be ignored and overwritten. -// Also, the content of 'assembled_data' is allocated using WebPMalloc(), and -// NOT owned by the 'mux' object. It MUST be deallocated by the caller by -// calling WebPDataClear(). It's always safe to call WebPDataClear() upon -// return, even in case of error. -// Parameters: -// mux - (in/out) object whose chunks are to be assembled -// assembled_data - (out) assembled WebP data -// Returns: -// WEBP_MUX_BAD_DATA - if mux object is invalid. -// WEBP_MUX_INVALID_ARGUMENT - if mux or assembled_data is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxAssemble(WebPMux* mux, - WebPData* assembled_data); - -//------------------------------------------------------------------------------ -// WebPAnimEncoder API -// -// This API allows encoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimEncoderOptions enc_options; - WebPAnimEncoderOptionsInit(&enc_options); - // Tune 'enc_options' as needed. - WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, &enc_options); - while() { - WebPConfig config; - WebPConfigInit(&config); - // Tune 'config' as needed. - WebPAnimEncoderAdd(enc, frame, timestamp_ms, &config); - } - WebPAnimEncoderAdd(enc, NULL, timestamp_ms, NULL); - WebPAnimEncoderAssemble(enc, webp_data); - WebPAnimEncoderDelete(enc); - // Write the 'webp_data' to a file, or re-mux it further. -*/ - -typedef struct WebPAnimEncoder WebPAnimEncoder; // Main opaque object. - -// Forward declarations. Defined in encode.h. -struct WebPPicture; -struct WebPConfig; - -// Global options. -struct WebPAnimEncoderOptions { - WebPMuxAnimParams anim_params; // Animation parameters. - int minimize_size; // If true, minimize the output size (slow). Implicitly - // disables key-frame insertion. - int kmin; - int kmax; // Minimum and maximum distance between consecutive key - // frames in the output. The library may insert some key - // frames as needed to satisfy this criteria. - // Note that these conditions should hold: kmax > kmin - // and kmin >= kmax / 2 + 1. Also, if kmax <= 0, then - // key-frame insertion is disabled; and if kmax == 1, - // then all frames will be key-frames (kmin value does - // not matter for these special cases). - int allow_mixed; // If true, use mixed compression mode; may choose - // either lossy and lossless for each frame. - int verbose; // If true, print info and warning messages to stderr. - - uint32_t padding[4]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimEncoderOptionsInitInternal( - WebPAnimEncoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimEncoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimEncoderOptionsInit() must have succeeded before using the -// 'enc_options' object. -static WEBP_INLINE int WebPAnimEncoderOptionsInit( - WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderOptionsInitInternal(enc_options, WEBP_MUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimEncoder* WebPAnimEncoderNewInternal( - int, int, const WebPAnimEncoderOptions*, int); - -// Creates and initializes a WebPAnimEncoder object. -// Parameters: -// width/height - (in) canvas width and height of the animation. -// enc_options - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// A pointer to the newly created WebPAnimEncoder object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPAnimEncoder* WebPAnimEncoderNew( - int width, int height, const WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderNewInternal(width, height, enc_options, - WEBP_MUX_ABI_VERSION); -} - -// Optimize the given frame for WebP, encode it and add it to the -// WebPAnimEncoder object. -// The last call to 'WebPAnimEncoderAdd' should be with frame = NULL, which -// indicates that no more frames are to be added. This call is also used to -// determine the duration of the last frame. -// Parameters: -// enc - (in/out) object to which the frame is to be added. -// frame - (in/out) frame data in ARGB or YUV(A) format. If it is in YUV(A) -// format, it will be converted to ARGB, which incurs a small loss. -// timestamp_ms - (in) timestamp of this frame in milliseconds. -// Duration of a frame would be calculated as -// "timestamp of next frame - timestamp of this frame". -// Hence, timestamps should be in non-decreasing order. -// config - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// On error, returns false and frame->error_code is set appropriately. -// Otherwise, returns true. -WEBP_EXTERN int WebPAnimEncoderAdd( - WebPAnimEncoder* enc, struct WebPPicture* frame, int timestamp_ms, - const struct WebPConfig* config); - -// Assemble all frames added so far into a WebP bitstream. -// This call should be preceded by a call to 'WebPAnimEncoderAdd' with -// frame = NULL; if not, the duration of the last frame will be internally -// estimated. -// Parameters: -// enc - (in/out) object from which the frames are to be assembled. -// webp_data - (out) generated WebP bitstream. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimEncoderAssemble(WebPAnimEncoder* enc, - WebPData* webp_data); - -// Get error string corresponding to the most recent call using 'enc'. The -// returned string is owned by 'enc' and is valid only until the next call to -// WebPAnimEncoderAdd() or WebPAnimEncoderAssemble() or WebPAnimEncoderDelete(). -// Parameters: -// enc - (in/out) object from which the error string is to be fetched. -// Returns: -// NULL if 'enc' is NULL. Otherwise, returns the error string if the last call -// to 'enc' had an error, or an empty string if the last call was a success. -WEBP_EXTERN const char* WebPAnimEncoderGetError(WebPAnimEncoder* enc); - -// Deletes the WebPAnimEncoder object. -// Parameters: -// enc - (in/out) object to be deleted -WEBP_EXTERN void WebPAnimEncoderDelete(WebPAnimEncoder* enc); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/mux_types.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/mux_types.h deleted file mode 100644 index 2fe81958..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/mux_types.h +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Data-types common to the mux and demux libraries. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_WEBP_MUX_TYPES_H_ -#define WEBP_WEBP_MUX_TYPES_H_ - -#include // memset() -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPFeatureFlags WebPFeatureFlags; -// typedef enum WebPMuxAnimDispose WebPMuxAnimDispose; -// typedef enum WebPMuxAnimBlend WebPMuxAnimBlend; -typedef struct WebPData WebPData; - -// VP8X Feature Flags. -typedef enum WebPFeatureFlags { - ANIMATION_FLAG = 0x00000002, - XMP_FLAG = 0x00000004, - EXIF_FLAG = 0x00000008, - ALPHA_FLAG = 0x00000010, - ICCP_FLAG = 0x00000020, - - ALL_VALID_FLAGS = 0x0000003e -} WebPFeatureFlags; - -// Dispose method (animation only). Indicates how the area used by the current -// frame is to be treated before rendering the next frame on the canvas. -typedef enum WebPMuxAnimDispose { - WEBP_MUX_DISPOSE_NONE, // Do not dispose. - WEBP_MUX_DISPOSE_BACKGROUND // Dispose to background color. -} WebPMuxAnimDispose; - -// Blend operation (animation only). Indicates how transparent pixels of the -// current frame are blended with those of the previous canvas. -typedef enum WebPMuxAnimBlend { - WEBP_MUX_BLEND, // Blend. - WEBP_MUX_NO_BLEND // Do not blend. -} WebPMuxAnimBlend; - -// Data type used to describe 'raw' data, e.g., chunk data -// (ICC profile, metadata) and WebP compressed image data. -// 'bytes' memory must be allocated using WebPMalloc() and such. -struct WebPData { - const uint8_t* bytes; - size_t size; -}; - -// Initializes the contents of the 'webp_data' object with default values. -static WEBP_INLINE void WebPDataInit(WebPData* webp_data) { - if (webp_data != NULL) { - memset(webp_data, 0, sizeof(*webp_data)); - } -} - -// Clears the contents of the 'webp_data' object by calling WebPFree(). -// Does not deallocate the object itself. -static WEBP_INLINE void WebPDataClear(WebPData* webp_data) { - if (webp_data != NULL) { - WebPFree((void*)webp_data->bytes); - WebPDataInit(webp_data); - } -} - -// Allocates necessary storage for 'dst' and copies the contents of 'src'. -// Returns true on success. -static WEBP_INLINE int WebPDataCopy(const WebPData* src, WebPData* dst) { - if (src == NULL || dst == NULL) return 0; - WebPDataInit(dst); - if (src->bytes != NULL && src->size != 0) { - dst->bytes = (uint8_t*)WebPMalloc(src->size); - if (dst->bytes == NULL) return 0; - memcpy((void*)dst->bytes, src->bytes, src->size); - dst->size = src->size; - } - return 1; -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/types.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/types.h deleted file mode 100644 index 47f7f2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/include/webp/types.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Common types + memory wrappers -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) -#define WEBP_INLINE inline -#else -#define WEBP_INLINE -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -# if defined(__GNUC__) && __GNUC__ >= 4 -# define WEBP_EXTERN extern __attribute__ ((visibility ("default"))) -# else -# define WEBP_EXTERN extern -# endif /* __GNUC__ >= 4 */ -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#ifdef __cplusplus -extern "C" { -#endif - -// Allocates 'size' bytes of memory. Returns NULL upon error. Memory -// must be deallocated by calling WebPFree(). This function is made available -// by the core 'libwebp' library. -WEBP_EXTERN void* WebPMalloc(size_t size); - -// Releases memory returned by the WebPDecode*() functions (from decode.h). -WEBP_EXTERN void WebPFree(void* ptr); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebp.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebp.a deleted file mode 100644 index 003ce438..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebp.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebp.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebp.la deleted file mode 100755 index f7398a0a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebp.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebp.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebp.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebp. -current=8 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdecoder.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdecoder.a deleted file mode 100644 index 2a7b416a..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdecoder.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdecoder.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdecoder.la deleted file mode 100755 index 29adb16b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdecoder.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpdecoder.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpdecoder.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpdecoder. -current=4 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdemux.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdemux.a deleted file mode 100644 index be987a63..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdemux.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdemux.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdemux.la deleted file mode 100755 index 18817fef..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpdemux.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpdemux.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpdemux.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebp.la -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpdemux. -current=2 -age=0 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpmux.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpmux.a deleted file mode 100644 index c721dbb6..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpmux.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpmux.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpmux.la deleted file mode 100755 index 7858a37d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebpmux.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpmux.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpmux.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/libwebp.la -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpmux. -current=3 -age=0 -revision=5 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebp.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebp.pc deleted file mode 100644 index e26393b6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebp.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebp -Description: Library for the WebP graphics format -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebp -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebpdecoder.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebpdecoder.pc deleted file mode 100644 index ba645b0e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebpdecoder.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdecoder -Description: Library for the WebP graphics format (decode only) -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdecoder -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebpdemux.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebpdemux.pc deleted file mode 100644 index 12ac34af..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebpdemux.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdemux -Description: Library for parsing the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdemux diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebpmux.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebpmux.pc deleted file mode 100644 index 088486ad..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386/lib/pkgconfig/libwebpmux.pc +++ /dev/null @@ -1,12 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-i386 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpmux -Description: Library for manipulating the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpmux -Libs.private: -lm diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/decode.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/decode.h deleted file mode 100644 index 80dd0ef0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/decode.h +++ /dev/null @@ -1,503 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Main decoding functions for WebP images. -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_DECODE_H_ -#define WEBP_WEBP_DECODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DECODER_ABI_VERSION 0x0209 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum VP8StatusCode VP8StatusCode; -// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; -typedef struct WebPRGBABuffer WebPRGBABuffer; -typedef struct WebPYUVABuffer WebPYUVABuffer; -typedef struct WebPDecBuffer WebPDecBuffer; -typedef struct WebPIDecoder WebPIDecoder; -typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; -typedef struct WebPDecoderOptions WebPDecoderOptions; -typedef struct WebPDecoderConfig WebPDecoderConfig; - -// Return the decoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDecoderVersion(void); - -// Retrieve basic header information: width, height. -// This function will also validate the header, returning true on success, -// false otherwise. '*width' and '*height' are only valid on successful return. -// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -WEBP_EXTERN int WebPGetInfo(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Decodes WebP images pointed to by 'data' and returns RGBA samples, along -// with the dimensions in *width and *height. The ordering of samples in -// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). -// The returned pointer should be deleted calling WebPFree(). -// Returns NULL in case of error. -WEBP_EXTERN uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. -// If the bitstream contains transparency, it is ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size, - int* width, int* height); - -// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. -WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size, - int* width, int* height); - - -// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer -// returned is the Y samples buffer. Upon return, *u and *v will point to -// the U and V chroma data. These U and V buffers need NOT be passed to -// WebPFree(), unlike the returned Y luma one. The dimension of the U and V -// planes are both (*width + 1) / 2 and (*height + 1)/ 2. -// Upon return, the Y buffer has a stride returned as '*stride', while U and V -// have a common stride returned as '*uv_stride'. -// Return NULL in case of error. -// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr -WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size, - int* width, int* height, - uint8_t** u, uint8_t** v, - int* stride, int* uv_stride); - -// These five functions are variants of the above ones, that decode the image -// directly into a pre-allocated buffer 'output_buffer'. The maximum storage -// available in this buffer is indicated by 'output_buffer_size'. If this -// storage is not sufficient (or an error occurred), NULL is returned. -// Otherwise, output_buffer is returned, for convenience. -// The parameter 'output_stride' specifies the distance (in bytes) -// between scanlines. Hence, output_buffer_size is expected to be at least -// output_stride x picture-height. -WEBP_EXTERN uint8_t* WebPDecodeRGBAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeARGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRAInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// RGB and BGR variants. Here too the transparency information, if present, -// will be dropped and ignored. -WEBP_EXTERN uint8_t* WebPDecodeRGBInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); -WEBP_EXTERN uint8_t* WebPDecodeBGRInto( - const uint8_t* data, size_t data_size, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly -// into pre-allocated luma/chroma plane buffers. This function requires the -// strides to be passed: one for the luma plane and one for each of the -// chroma ones. The size of each plane buffer is passed as 'luma_size', -// 'u_size' and 'v_size' respectively. -// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred -// during decoding (or because some buffers were found to be too small). -WEBP_EXTERN uint8_t* WebPDecodeYUVInto( - const uint8_t* data, size_t data_size, - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -//------------------------------------------------------------------------------ -// Output colorspaces and buffer - -// Colorspaces -// Note: the naming describes the byte-ordering of packed samples in memory. -// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... -// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. -// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: -// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... -// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... -// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for -// these two modes: -// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... -// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... - -typedef enum WEBP_CSP_MODE { - MODE_RGB = 0, MODE_RGBA = 1, - MODE_BGR = 2, MODE_BGRA = 3, - MODE_ARGB = 4, MODE_RGBA_4444 = 5, - MODE_RGB_565 = 6, - // RGB-premultiplied transparent modes (alpha value is preserved) - MODE_rgbA = 7, - MODE_bgrA = 8, - MODE_Argb = 9, - MODE_rgbA_4444 = 10, - // YUV modes must come after RGB ones. - MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 - MODE_LAST = 13 -} WEBP_CSP_MODE; - -// Some useful macros: -static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { - return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || - mode == MODE_rgbA_4444); -} - -static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { - return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || - mode == MODE_RGBA_4444 || mode == MODE_YUVA || - WebPIsPremultipliedMode(mode)); -} - -static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { - return (mode < MODE_YUV); -} - -//------------------------------------------------------------------------------ -// WebPDecBuffer: Generic structure for describing the output sample buffer. - -struct WebPRGBABuffer { // view as RGBA - uint8_t* rgba; // pointer to RGBA samples - int stride; // stride in bytes from one scanline to the next. - size_t size; // total size of the *rgba buffer. -}; - -struct WebPYUVABuffer { // view as YUVA - uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples - int y_stride; // luma stride - int u_stride, v_stride; // chroma strides - int a_stride; // alpha stride - size_t y_size; // luma plane size - size_t u_size, v_size; // chroma planes size - size_t a_size; // alpha-plane size -}; - -// Output buffer -struct WebPDecBuffer { - WEBP_CSP_MODE colorspace; // Colorspace. - int width, height; // Dimensions. - int is_external_memory; // If non-zero, 'internal_memory' pointer is not - // used. If value is '2' or more, the external - // memory is considered 'slow' and multiple - // read/write will be avoided. - union { - WebPRGBABuffer RGBA; - WebPYUVABuffer YUVA; - } u; // Nameless union of buffer parameters. - uint32_t pad[4]; // padding for later use - - uint8_t* private_memory; // Internally allocated memory (only when - // is_external_memory is 0). Should not be used - // externally, but accessed via the buffer union. -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int); - -// Initialize the structure as empty. Must be called before any other use. -// Returns false in case of version mismatch -static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { - return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); -} - -// Free any memory associated with the buffer. Must always be called last. -// Note: doesn't free the 'buffer' structure itself. -WEBP_EXTERN void WebPFreeDecBuffer(WebPDecBuffer* buffer); - -//------------------------------------------------------------------------------ -// Enumeration of the status codes - -typedef enum VP8StatusCode { - VP8_STATUS_OK = 0, - VP8_STATUS_OUT_OF_MEMORY, - VP8_STATUS_INVALID_PARAM, - VP8_STATUS_BITSTREAM_ERROR, - VP8_STATUS_UNSUPPORTED_FEATURE, - VP8_STATUS_SUSPENDED, - VP8_STATUS_USER_ABORT, - VP8_STATUS_NOT_ENOUGH_DATA -} VP8StatusCode; - -//------------------------------------------------------------------------------ -// Incremental decoding -// -// This API allows streamlined decoding of partial data. -// Picture can be incrementally decoded as data become available thanks to the -// WebPIDecoder object. This object can be left in a SUSPENDED state if the -// picture is only partially decoded, pending additional input. -// Code example: -// -// WebPInitDecBuffer(&output_buffer); -// output_buffer.colorspace = mode; -// ... -// WebPIDecoder* idec = WebPINewDecoder(&output_buffer); -// while (additional_data_is_available) { -// // ... (get additional data in some new_data[] buffer) -// status = WebPIAppend(idec, new_data, new_data_size); -// if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) { -// break; // an error occurred. -// } -// -// // The above call decodes the current available buffer. -// // Part of the image can now be refreshed by calling -// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. -// } -// WebPIDelete(idec); - -// Creates a new incremental decoder with the supplied buffer parameter. -// This output_buffer can be passed NULL, in which case a default output buffer -// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' -// is kept, which means that the lifespan of 'output_buffer' must be larger than -// that of the returned WebPIDecoder object. -// The supplied 'output_buffer' content MUST NOT be changed between calls to -// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is -// not set to 0. In such a case, it is allowed to modify the pointers, size and -// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain -// within valid bounds. -// All other fields of WebPDecBuffer MUST remain constant between calls. -// Returns NULL if the allocation failed. -WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer); - -// This function allocates and initializes an incremental-decoder object, which -// will output the RGB/A samples specified by 'csp' into a preallocated -// buffer 'output_buffer'. The size of this buffer is at least -// 'output_buffer_size' and the stride (distance in bytes between two scanlines) -// is specified by 'output_stride'. -// Additionally, output_buffer can be passed NULL in which case the output -// buffer will be allocated automatically when the decoding starts. The -// colorspace 'csp' is taken into account for allocating this buffer. All other -// parameters are ignored. -// Returns NULL if the allocation failed, or if some parameters are invalid. -WEBP_EXTERN WebPIDecoder* WebPINewRGB( - WEBP_CSP_MODE csp, - uint8_t* output_buffer, size_t output_buffer_size, int output_stride); - -// This function allocates and initializes an incremental-decoder object, which -// will output the raw luma/chroma samples into a preallocated planes if -// supplied. The luma plane is specified by its pointer 'luma', its size -// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane -// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v -// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer -// can be pass NULL in case one is not interested in the transparency plane. -// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. -// In this case, the output buffer will be automatically allocated (using -// MODE_YUVA) when decoding starts. All parameters are then ignored. -// Returns NULL if the allocation failed or if a parameter is invalid. -WEBP_EXTERN WebPIDecoder* WebPINewYUVA( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride, - uint8_t* a, size_t a_size, int a_stride); - -// Deprecated version of the above, without the alpha plane. -// Kept for backward compatibility. -WEBP_EXTERN WebPIDecoder* WebPINewYUV( - uint8_t* luma, size_t luma_size, int luma_stride, - uint8_t* u, size_t u_size, int u_stride, - uint8_t* v, size_t v_size, int v_stride); - -// Deletes the WebPIDecoder object and associated memory. Must always be called -// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. -WEBP_EXTERN void WebPIDelete(WebPIDecoder* idec); - -// Copies and decodes the next available data. Returns VP8_STATUS_OK when -// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more -// data is expected. Returns error in other cases. -WEBP_EXTERN VP8StatusCode WebPIAppend( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// A variant of the above function to be used when data buffer contains -// partial data from the beginning. In this case data buffer is not copied -// to the internal memory. -// Note that the value of the 'data' pointer can change between calls to -// WebPIUpdate, for instance when the data buffer is resized to fit larger data. -WEBP_EXTERN VP8StatusCode WebPIUpdate( - WebPIDecoder* idec, const uint8_t* data, size_t data_size); - -// Returns the RGB/A image decoded so far. Returns NULL if output params -// are not initialized yet. The RGB/A output type corresponds to the colorspace -// specified during call to WebPINewDecoder() or WebPINewRGB(). -// *last_y is the index of last decoded row in raster scan order. Some pointers -// (*last_y, *width etc.) can be NULL if corresponding information is not -// needed. The values in these pointers are only valid on successful (non-NULL) -// return. -WEBP_EXTERN uint8_t* WebPIDecGetRGB( - const WebPIDecoder* idec, int* last_y, - int* width, int* height, int* stride); - -// Same as above function to get a YUVA image. Returns pointer to the luma -// plane or NULL in case of error. If there is no alpha information -// the alpha pointer '*a' will be returned NULL. -WEBP_EXTERN uint8_t* WebPIDecGetYUVA( - const WebPIDecoder* idec, int* last_y, - uint8_t** u, uint8_t** v, uint8_t** a, - int* width, int* height, int* stride, int* uv_stride, int* a_stride); - -// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the -// alpha information (if present). Kept for backward compatibility. -static WEBP_INLINE uint8_t* WebPIDecGetYUV( - const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, - int* width, int* height, int* stride, int* uv_stride) { - return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, - stride, uv_stride, NULL); -} - -// Generic call to retrieve information about the displayable area. -// If non NULL, the left/right/width/height pointers are filled with the visible -// rectangular area so far. -// Returns NULL in case the incremental decoder object is in an invalid state. -// Otherwise returns the pointer to the internal representation. This structure -// is read-only, tied to WebPIDecoder's lifespan and should not be modified. -WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea( - const WebPIDecoder* idec, int* left, int* top, int* width, int* height); - -//------------------------------------------------------------------------------ -// Advanced decoding parametrization -// -// Code sample for using the advanced decoding API -/* - // A) Init a configuration object - WebPDecoderConfig config; - CHECK(WebPInitDecoderConfig(&config)); - - // B) optional: retrieve the bitstream's features. - CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); - - // C) Adjust 'config', if needed - config.no_fancy_upsampling = 1; - config.output.colorspace = MODE_BGRA; - // etc. - - // Note that you can also make config.output point to an externally - // supplied memory buffer, provided it's big enough to store the decoded - // picture. Otherwise, config.output will just be used to allocate memory - // and store the decoded picture. - - // D) Decode! - CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); - - // E) Decoded image is now in config.output (and config.output.u.RGBA) - - // F) Reclaim memory allocated in config's object. It's safe to call - // this function even if the memory is external and wasn't allocated - // by WebPDecode(). - WebPFreeDecBuffer(&config.output); -*/ - -// Features gathered from the bitstream -struct WebPBitstreamFeatures { - int width; // Width in pixels, as read from the bitstream. - int height; // Height in pixels, as read from the bitstream. - int has_alpha; // True if the bitstream contains an alpha channel. - int has_animation; // True if the bitstream is an animation. - int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless - - uint32_t pad[5]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN VP8StatusCode WebPGetFeaturesInternal( - const uint8_t*, size_t, WebPBitstreamFeatures*, int); - -// Retrieve features from the bitstream. The *features structure is filled -// with information gathered from the bitstream. -// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns -// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the -// features from headers. Returns error in other cases. -// Note: The following chunk sequences (before the raw VP8/VP8L data) are -// considered valid by this function: -// RIFF + VP8(L) -// RIFF + VP8X + (optional chunks) + VP8(L) -// ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose. -// VP8(L) <-- Not a valid WebP format: only allowed for internal purpose. -static WEBP_INLINE VP8StatusCode WebPGetFeatures( - const uint8_t* data, size_t data_size, - WebPBitstreamFeatures* features) { - return WebPGetFeaturesInternal(data, data_size, features, - WEBP_DECODER_ABI_VERSION); -} - -// Decoding options -struct WebPDecoderOptions { - int bypass_filtering; // if true, skip the in-loop filtering - int no_fancy_upsampling; // if true, use faster pointwise upsampler - int use_cropping; // if true, cropping is applied _first_ - int crop_left, crop_top; // top-left position for cropping. - // Will be snapped to even values. - int crop_width, crop_height; // dimension of the cropping area - int use_scaling; // if true, scaling is applied _afterward_ - int scaled_width, scaled_height; // final resolution - int use_threads; // if true, use multi-threaded decoding - int dithering_strength; // dithering strength (0=Off, 100=full) - int flip; // flip output vertically - int alpha_dithering_strength; // alpha dithering strength in [0..100] - - uint32_t pad[5]; // padding for later use -}; - -// Main object storing the configuration for advanced decoding. -struct WebPDecoderConfig { - WebPBitstreamFeatures input; // Immutable bitstream features (optional) - WebPDecBuffer output; // Output buffer (can point to external mem) - WebPDecoderOptions options; // Decoding options -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); - -// Initialize the configuration as empty. This function must always be -// called first, unless WebPGetFeatures() is to be called. -// Returns false in case of mismatched version. -static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { - return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); -} - -// Instantiate a new incremental decoder object with the requested -// configuration. The bitstream can be passed using 'data' and 'data_size' -// parameter, in which case the features will be parsed and stored into -// config->input. Otherwise, 'data' can be NULL and no parsing will occur. -// Note that 'config' can be NULL too, in which case a default configuration -// is used. If 'config' is not NULL, it must outlive the WebPIDecoder object -// as some references to its fields will be used. No internal copy of 'config' -// is made. -// The return WebPIDecoder object must always be deleted calling WebPIDelete(). -// Returns NULL in case of error (and config->status will then reflect -// the error condition, if available). -WEBP_EXTERN WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -// Non-incremental version. This version decodes the full data at once, taking -// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK -// if the decoding was successful). Note that 'config' cannot be NULL. -WEBP_EXTERN VP8StatusCode WebPDecode(const uint8_t* data, size_t data_size, - WebPDecoderConfig* config); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DECODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/demux.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/demux.h deleted file mode 100644 index 846eeb15..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/demux.h +++ /dev/null @@ -1,363 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Demux API. -// Enables extraction of image and extended format data from WebP files. - -// Code Example: Demuxing WebP data to extract all the frames, ICC profile -// and EXIF/XMP metadata. -/* - WebPDemuxer* demux = WebPDemux(&webp_data); - - uint32_t width = WebPDemuxGetI(demux, WEBP_FF_CANVAS_WIDTH); - uint32_t height = WebPDemuxGetI(demux, WEBP_FF_CANVAS_HEIGHT); - // ... (Get information about the features present in the WebP file). - uint32_t flags = WebPDemuxGetI(demux, WEBP_FF_FORMAT_FLAGS); - - // ... (Iterate over all frames). - WebPIterator iter; - if (WebPDemuxGetFrame(demux, 1, &iter)) { - do { - // ... (Consume 'iter'; e.g. Decode 'iter.fragment' with WebPDecode(), - // ... and get other frame properties like width, height, offsets etc. - // ... see 'struct WebPIterator' below for more info). - } while (WebPDemuxNextFrame(&iter)); - WebPDemuxReleaseIterator(&iter); - } - - // ... (Extract metadata). - WebPChunkIterator chunk_iter; - if (flags & ICCP_FLAG) WebPDemuxGetChunk(demux, "ICCP", 1, &chunk_iter); - // ... (Consume the ICC profile in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & EXIF_FLAG) WebPDemuxGetChunk(demux, "EXIF", 1, &chunk_iter); - // ... (Consume the EXIF metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - if (flags & XMP_FLAG) WebPDemuxGetChunk(demux, "XMP ", 1, &chunk_iter); - // ... (Consume the XMP metadata in 'chunk_iter.chunk'). - WebPDemuxReleaseChunkIterator(&chunk_iter); - WebPDemuxDelete(demux); -*/ - -#ifndef WEBP_WEBP_DEMUX_H_ -#define WEBP_WEBP_DEMUX_H_ - -#include "./decode.h" // for WEBP_CSP_MODE -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_DEMUX_ABI_VERSION 0x0107 // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPDemuxState WebPDemuxState; -// typedef enum WebPFormatFeature WebPFormatFeature; -typedef struct WebPDemuxer WebPDemuxer; -typedef struct WebPIterator WebPIterator; -typedef struct WebPChunkIterator WebPChunkIterator; -typedef struct WebPAnimInfo WebPAnimInfo; -typedef struct WebPAnimDecoderOptions WebPAnimDecoderOptions; - -//------------------------------------------------------------------------------ - -// Returns the version number of the demux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetDemuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Demux object - -typedef enum WebPDemuxState { - WEBP_DEMUX_PARSE_ERROR = -1, // An error occurred while parsing. - WEBP_DEMUX_PARSING_HEADER = 0, // Not enough data to parse full header. - WEBP_DEMUX_PARSED_HEADER = 1, // Header parsing complete, - // data may be available. - WEBP_DEMUX_DONE = 2 // Entire file has been parsed. -} WebPDemuxState; - -// Internal, version-checked, entry point -WEBP_EXTERN WebPDemuxer* WebPDemuxInternal( - const WebPData*, int, WebPDemuxState*, int); - -// Parses the full WebP file given by 'data'. For single images the WebP file -// header alone or the file header and the chunk header may be absent. -// Returns a WebPDemuxer object on successful parse, NULL otherwise. -static WEBP_INLINE WebPDemuxer* WebPDemux(const WebPData* data) { - return WebPDemuxInternal(data, 0, NULL, WEBP_DEMUX_ABI_VERSION); -} - -// Parses the possibly incomplete WebP file given by 'data'. -// If 'state' is non-NULL it will be set to indicate the status of the demuxer. -// Returns NULL in case of error or if there isn't enough data to start parsing; -// and a WebPDemuxer object on successful parse. -// Note that WebPDemuxer keeps internal pointers to 'data' memory segment. -// If this data is volatile, the demuxer object should be deleted (by calling -// WebPDemuxDelete()) and WebPDemuxPartial() called again on the new data. -// This is usually an inexpensive operation. -static WEBP_INLINE WebPDemuxer* WebPDemuxPartial( - const WebPData* data, WebPDemuxState* state) { - return WebPDemuxInternal(data, 1, state, WEBP_DEMUX_ABI_VERSION); -} - -// Frees memory associated with 'dmux'. -WEBP_EXTERN void WebPDemuxDelete(WebPDemuxer* dmux); - -//------------------------------------------------------------------------------ -// Data/information extraction. - -typedef enum WebPFormatFeature { - WEBP_FF_FORMAT_FLAGS, // bit-wise combination of WebPFeatureFlags - // corresponding to the 'VP8X' chunk (if present). - WEBP_FF_CANVAS_WIDTH, - WEBP_FF_CANVAS_HEIGHT, - WEBP_FF_LOOP_COUNT, // only relevant for animated file - WEBP_FF_BACKGROUND_COLOR, // idem. - WEBP_FF_FRAME_COUNT // Number of frames present in the demux object. - // In case of a partial demux, this is the number - // of frames seen so far, with the last frame - // possibly being partial. -} WebPFormatFeature; - -// Get the 'feature' value from the 'dmux'. -// NOTE: values are only valid if WebPDemux() was used or WebPDemuxPartial() -// returned a state > WEBP_DEMUX_PARSING_HEADER. -// If 'feature' is WEBP_FF_FORMAT_FLAGS, the returned value is a bit-wise -// combination of WebPFeatureFlags values. -// If 'feature' is WEBP_FF_LOOP_COUNT, WEBP_FF_BACKGROUND_COLOR, the returned -// value is only meaningful if the bitstream is animated. -WEBP_EXTERN uint32_t WebPDemuxGetI( - const WebPDemuxer* dmux, WebPFormatFeature feature); - -//------------------------------------------------------------------------------ -// Frame iteration. - -struct WebPIterator { - int frame_num; - int num_frames; // equivalent to WEBP_FF_FRAME_COUNT. - int x_offset, y_offset; // offset relative to the canvas. - int width, height; // dimensions of this frame. - int duration; // display duration in milliseconds. - WebPMuxAnimDispose dispose_method; // dispose method for the frame. - int complete; // true if 'fragment' contains a full frame. partial images - // may still be decoded with the WebP incremental decoder. - WebPData fragment; // The frame given by 'frame_num'. Note for historical - // reasons this is called a fragment. - int has_alpha; // True if the frame contains transparency. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - - uint32_t pad[2]; // padding for later use. - void* private_; // for internal use only. -}; - -// Retrieves frame 'frame_number' from 'dmux'. -// 'iter->fragment' points to the frame on return from this function. -// Setting 'frame_number' equal to 0 will return the last frame of the image. -// Returns false if 'dmux' is NULL or frame 'frame_number' is not present. -// Call WebPDemuxReleaseIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of 'iter'. -WEBP_EXTERN int WebPDemuxGetFrame( - const WebPDemuxer* dmux, int frame_number, WebPIterator* iter); - -// Sets 'iter->fragment' to point to the next ('iter->frame_num' + 1) or -// previous ('iter->frame_num' - 1) frame. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextFrame(WebPIterator* iter); -WEBP_EXTERN int WebPDemuxPrevFrame(WebPIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before any subsequent calls to WebPDemuxGetChunk() on the same -// iter. Also, must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseIterator(WebPIterator* iter); - -//------------------------------------------------------------------------------ -// Chunk iteration. - -struct WebPChunkIterator { - // The current and total number of chunks with the fourcc given to - // WebPDemuxGetChunk(). - int chunk_num; - int num_chunks; - WebPData chunk; // The payload of the chunk. - - uint32_t pad[6]; // padding for later use - void* private_; -}; - -// Retrieves the 'chunk_number' instance of the chunk with id 'fourcc' from -// 'dmux'. -// 'fourcc' is a character array containing the fourcc of the chunk to return, -// e.g., "ICCP", "XMP ", "EXIF", etc. -// Setting 'chunk_number' equal to 0 will return the last chunk in a set. -// Returns true if the chunk is found, false otherwise. Image related chunk -// payloads are accessed through WebPDemuxGetFrame() and related functions. -// Call WebPDemuxReleaseChunkIterator() when use of the iterator is complete. -// NOTE: 'dmux' must persist for the lifetime of the iterator. -WEBP_EXTERN int WebPDemuxGetChunk(const WebPDemuxer* dmux, - const char fourcc[4], int chunk_number, - WebPChunkIterator* iter); - -// Sets 'iter->chunk' to point to the next ('iter->chunk_num' + 1) or previous -// ('iter->chunk_num' - 1) chunk. These functions do not loop. -// Returns true on success, false otherwise. -WEBP_EXTERN int WebPDemuxNextChunk(WebPChunkIterator* iter); -WEBP_EXTERN int WebPDemuxPrevChunk(WebPChunkIterator* iter); - -// Releases any memory associated with 'iter'. -// Must be called before destroying the associated WebPDemuxer with -// WebPDemuxDelete(). -WEBP_EXTERN void WebPDemuxReleaseChunkIterator(WebPChunkIterator* iter); - -//------------------------------------------------------------------------------ -// WebPAnimDecoder API -// -// This API allows decoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimDecoderOptions dec_options; - WebPAnimDecoderOptionsInit(&dec_options); - // Tune 'dec_options' as needed. - WebPAnimDecoder* dec = WebPAnimDecoderNew(webp_data, &dec_options); - WebPAnimInfo anim_info; - WebPAnimDecoderGetInfo(dec, &anim_info); - for (uint32_t i = 0; i < anim_info.loop_count; ++i) { - while (WebPAnimDecoderHasMoreFrames(dec)) { - uint8_t* buf; - int timestamp; - WebPAnimDecoderGetNext(dec, &buf, ×tamp); - // ... (Render 'buf' based on 'timestamp'). - // ... (Do NOT free 'buf', as it is owned by 'dec'). - } - WebPAnimDecoderReset(dec); - } - const WebPDemuxer* demuxer = WebPAnimDecoderGetDemuxer(dec); - // ... (Do something using 'demuxer'; e.g. get EXIF/XMP/ICC data). - WebPAnimDecoderDelete(dec); -*/ - -typedef struct WebPAnimDecoder WebPAnimDecoder; // Main opaque object. - -// Global options. -struct WebPAnimDecoderOptions { - // Output colorspace. Only the following modes are supported: - // MODE_RGBA, MODE_BGRA, MODE_rgbA and MODE_bgrA. - WEBP_CSP_MODE color_mode; - int use_threads; // If true, use multi-threaded decoding. - uint32_t padding[7]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimDecoderOptionsInitInternal( - WebPAnimDecoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimDecoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimDecoderOptionsInit() must have succeeded before using the -// 'dec_options' object. -static WEBP_INLINE int WebPAnimDecoderOptionsInit( - WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderOptionsInitInternal(dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimDecoder* WebPAnimDecoderNewInternal( - const WebPData*, const WebPAnimDecoderOptions*, int); - -// Creates and initializes a WebPAnimDecoder object. -// Parameters: -// webp_data - (in) WebP bitstream. This should remain unchanged during the -// lifetime of the output WebPAnimDecoder object. -// dec_options - (in) decoding options. Can be passed NULL to choose -// reasonable defaults (in particular, color mode MODE_RGBA -// will be picked). -// Returns: -// A pointer to the newly created WebPAnimDecoder object, or NULL in case of -// parsing error, invalid option or memory error. -static WEBP_INLINE WebPAnimDecoder* WebPAnimDecoderNew( - const WebPData* webp_data, const WebPAnimDecoderOptions* dec_options) { - return WebPAnimDecoderNewInternal(webp_data, dec_options, - WEBP_DEMUX_ABI_VERSION); -} - -// Global information about the animation.. -struct WebPAnimInfo { - uint32_t canvas_width; - uint32_t canvas_height; - uint32_t loop_count; - uint32_t bgcolor; - uint32_t frame_count; - uint32_t pad[4]; // padding for later use -}; - -// Get global information about the animation. -// Parameters: -// dec - (in) decoder instance to get information from. -// info - (out) global information fetched from the animation. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimDecoderGetInfo(const WebPAnimDecoder* dec, - WebPAnimInfo* info); - -// Fetch the next frame from 'dec' based on options supplied to -// WebPAnimDecoderNew(). This will be a fully reconstructed canvas of size -// 'canvas_width * 4 * canvas_height', and not just the frame sub-rectangle. The -// returned buffer 'buf' is valid only until the next call to -// WebPAnimDecoderGetNext(), WebPAnimDecoderReset() or WebPAnimDecoderDelete(). -// Parameters: -// dec - (in/out) decoder instance from which the next frame is to be fetched. -// buf - (out) decoded frame. -// timestamp - (out) timestamp of the frame in milliseconds. -// Returns: -// False if any of the arguments are NULL, or if there is a parsing or -// decoding error, or if there are no more frames. Otherwise, returns true. -WEBP_EXTERN int WebPAnimDecoderGetNext(WebPAnimDecoder* dec, - uint8_t** buf, int* timestamp); - -// Check if there are more frames left to decode. -// Parameters: -// dec - (in) decoder instance to be checked. -// Returns: -// True if 'dec' is not NULL and some frames are yet to be decoded. -// Otherwise, returns false. -WEBP_EXTERN int WebPAnimDecoderHasMoreFrames(const WebPAnimDecoder* dec); - -// Resets the WebPAnimDecoder object, so that next call to -// WebPAnimDecoderGetNext() will restart decoding from 1st frame. This would be -// helpful when all frames need to be decoded multiple times (e.g. -// info.loop_count times) without destroying and recreating the 'dec' object. -// Parameters: -// dec - (in/out) decoder instance to be reset -WEBP_EXTERN void WebPAnimDecoderReset(WebPAnimDecoder* dec); - -// Grab the internal demuxer object. -// Getting the demuxer object can be useful if one wants to use operations only -// available through demuxer; e.g. to get XMP/EXIF/ICC metadata. The returned -// demuxer object is owned by 'dec' and is valid only until the next call to -// WebPAnimDecoderDelete(). -// -// Parameters: -// dec - (in) decoder instance from which the demuxer object is to be fetched. -WEBP_EXTERN const WebPDemuxer* WebPAnimDecoderGetDemuxer( - const WebPAnimDecoder* dec); - -// Deletes the WebPAnimDecoder object. -// Parameters: -// dec - (in/out) decoder instance to be deleted -WEBP_EXTERN void WebPAnimDecoderDelete(WebPAnimDecoder* dec); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_DEMUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/encode.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/encode.h deleted file mode 100644 index 655166e7..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/encode.h +++ /dev/null @@ -1,546 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// WebP encoder: main interface -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_ENCODE_H_ -#define WEBP_WEBP_ENCODE_H_ - -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_ENCODER_ABI_VERSION 0x020f // MAJOR(8b) + MINOR(8b) - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPImageHint WebPImageHint; -// typedef enum WebPEncCSP WebPEncCSP; -// typedef enum WebPPreset WebPPreset; -// typedef enum WebPEncodingError WebPEncodingError; -typedef struct WebPConfig WebPConfig; -typedef struct WebPPicture WebPPicture; // main structure for I/O -typedef struct WebPAuxStats WebPAuxStats; -typedef struct WebPMemoryWriter WebPMemoryWriter; - -// Return the encoder's version number, packed in hexadecimal using 8bits for -// each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetEncoderVersion(void); - -//------------------------------------------------------------------------------ -// One-stop-shop call! No questions asked: - -// Returns the size of the compressed data (pointed to by *output), or 0 if -// an error occurred. The compressed data must be released by the caller -// using the call 'WebPFree(*output)'. -// These functions compress using the lossy format, and the quality_factor -// can go from 0 (smaller output, lower quality) to 100 (best quality, -// larger output). -WEBP_EXTERN size_t WebPEncodeRGB(const uint8_t* rgb, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGR(const uint8_t* bgr, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeRGBA(const uint8_t* rgba, - int width, int height, int stride, - float quality_factor, uint8_t** output); -WEBP_EXTERN size_t WebPEncodeBGRA(const uint8_t* bgra, - int width, int height, int stride, - float quality_factor, uint8_t** output); - -// These functions are the equivalent of the above, but compressing in a -// lossless manner. Files are usually larger than lossy format, but will -// not suffer any compression loss. -// Note these functions, like the lossy versions, use the library's default -// settings. For lossless this means 'exact' is disabled. RGB values in -// transparent areas will be modified to improve compression. To avoid this, -// use WebPEncode() and set WebPConfig::exact to 1. -WEBP_EXTERN size_t WebPEncodeLosslessRGB(const uint8_t* rgb, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGR(const uint8_t* bgr, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessRGBA(const uint8_t* rgba, - int width, int height, int stride, - uint8_t** output); -WEBP_EXTERN size_t WebPEncodeLosslessBGRA(const uint8_t* bgra, - int width, int height, int stride, - uint8_t** output); - -//------------------------------------------------------------------------------ -// Coding parameters - -// Image characteristics hint for the underlying encoder. -typedef enum WebPImageHint { - WEBP_HINT_DEFAULT = 0, // default preset. - WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot - WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting - WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). - WEBP_HINT_LAST -} WebPImageHint; - -// Compression parameters. -struct WebPConfig { - int lossless; // Lossless encoding (0=lossy(default), 1=lossless). - float quality; // between 0 and 100. For lossy, 0 gives the smallest - // size and 100 the largest. For lossless, this - // parameter is the amount of effort put into the - // compression: 0 is the fastest but gives larger - // files compared to the slowest, but best, 100. - int method; // quality/speed trade-off (0=fast, 6=slower-better) - - WebPImageHint image_hint; // Hint for image type (lossless only for now). - - int target_size; // if non-zero, set the desired target size in bytes. - // Takes precedence over the 'compression' parameter. - float target_PSNR; // if non-zero, specifies the minimal distortion to - // try to achieve. Takes precedence over target_size. - int segments; // maximum number of segments to use, in [1..4] - int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. - int filter_strength; // range: [0 = off .. 100 = strongest] - int filter_sharpness; // range: [0 = off .. 7 = least sharp] - int filter_type; // filtering type: 0 = simple, 1 = strong (only used - // if filter_strength > 0 or autofilter > 0) - int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] - int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, - // 1 = compressed with WebP lossless). Default is 1. - int alpha_filtering; // Predictive filtering method for alpha plane. - // 0: none, 1: fast, 2: best. Default if 1. - int alpha_quality; // Between 0 (smallest size) and 100 (lossless). - // Default is 100. - int pass; // number of entropy-analysis passes (in [1..10]). - - int show_compressed; // if true, export the compressed picture back. - // In-loop filtering is not applied. - int preprocessing; // preprocessing filter: - // 0=none, 1=segment-smooth, 2=pseudo-random dithering - int partitions; // log2(number of token partitions) in [0..3]. Default - // is set to 0 for easier progressive decoding. - int partition_limit; // quality degradation allowed to fit the 512k limit - // on prediction modes coding (0: no degradation, - // 100: maximum possible degradation). - int emulate_jpeg_size; // If true, compression parameters will be remapped - // to better match the expected output size from - // JPEG compression. Generally, the output size will - // be similar but the degradation will be lower. - int thread_level; // If non-zero, try and use multi-threaded encoding. - int low_memory; // If set, reduce memory usage (but increase CPU use). - - int near_lossless; // Near lossless encoding [0 = max loss .. 100 = off - // (default)]. - int exact; // if non-zero, preserve the exact RGB values under - // transparent area. Otherwise, discard this invisible - // RGB information for better compression. The default - // value is 0. - - int use_delta_palette; // reserved for future lossless feature - int use_sharp_yuv; // if needed, use sharp (and slow) RGB->YUV conversion - - uint32_t pad[2]; // padding for later use -}; - -// Enumerate some predefined settings for WebPConfig, depending on the type -// of source picture. These presets are used when calling WebPConfigPreset(). -typedef enum WebPPreset { - WEBP_PRESET_DEFAULT = 0, // default preset. - WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot - WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting - WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details - WEBP_PRESET_ICON, // small-sized colorful images - WEBP_PRESET_TEXT // text-like -} WebPPreset; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); - -// Should always be called, to initialize a fresh WebPConfig structure before -// modification. Returns false in case of version mismatch. WebPConfigInit() -// must have succeeded before using the 'config' object. -// Note that the default values are lossless=0 and quality=75. -static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { - return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, - WEBP_ENCODER_ABI_VERSION); -} - -// This function will initialize the configuration according to a predefined -// set of parameters (referred to by 'preset') and a given quality factor. -// This function can be called as a replacement to WebPConfigInit(). Will -// return false in case of error. -static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, - WebPPreset preset, float quality) { - return WebPConfigInitInternal(config, preset, quality, - WEBP_ENCODER_ABI_VERSION); -} - -// Activate the lossless compression mode with the desired efficiency level -// between 0 (fastest, lowest compression) and 9 (slower, best compression). -// A good default level is '6', providing a fair tradeoff between compression -// speed and final compressed size. -// This function will overwrite several fields from config: 'method', 'quality' -// and 'lossless'. Returns false in case of parameter error. -WEBP_EXTERN int WebPConfigLosslessPreset(WebPConfig* config, int level); - -// Returns true if 'config' is non-NULL and all configuration parameters are -// within their valid ranges. -WEBP_EXTERN int WebPValidateConfig(const WebPConfig* config); - -//------------------------------------------------------------------------------ -// Input / Output -// Structure for storing auxiliary statistics. - -struct WebPAuxStats { - int coded_size; // final size - - float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha - int block_count[3]; // number of intra4/intra16/skipped macroblocks - int header_bytes[2]; // approximate number of bytes spent for header - // and mode-partition #0 - int residual_bytes[3][4]; // approximate number of bytes spent for - // DC/AC/uv coefficients for each (0..3) segments. - int segment_size[4]; // number of macroblocks in each segments - int segment_quant[4]; // quantizer values for each segments - int segment_level[4]; // filtering strength for each segments [0..63] - - int alpha_data_size; // size of the transparency data - int layer_data_size; // size of the enhancement layer data - - // lossless encoder statistics - uint32_t lossless_features; // bit0:predictor bit1:cross-color transform - // bit2:subtract-green bit3:color indexing - int histogram_bits; // number of precision bits of histogram - int transform_bits; // precision bits for transform - int cache_bits; // number of bits for color cache lookup - int palette_size; // number of color in palette, if used - int lossless_size; // final lossless size - int lossless_hdr_size; // lossless header (transform, huffman etc) size - int lossless_data_size; // lossless image data size - - uint32_t pad[2]; // padding for later use -}; - -// Signature for output function. Should return true if writing was successful. -// data/data_size is the segment of data to write, and 'picture' is for -// reference (and so one can make use of picture->custom_ptr). -typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using -// the following WebPMemoryWriter object (to be set as a custom_ptr). -struct WebPMemoryWriter { - uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). - size_t size; // final size - size_t max_size; // total capacity - uint32_t pad[1]; // padding for later use -}; - -// The following must be called first before any use. -WEBP_EXTERN void WebPMemoryWriterInit(WebPMemoryWriter* writer); - -// The following must be called to deallocate writer->mem memory. The 'writer' -// object itself is not deallocated. -WEBP_EXTERN void WebPMemoryWriterClear(WebPMemoryWriter* writer); -// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon -// completion, writer.mem and writer.size will hold the coded data. -// writer.mem must be freed by calling WebPMemoryWriterClear. -WEBP_EXTERN int WebPMemoryWrite(const uint8_t* data, size_t data_size, - const WebPPicture* picture); - -// Progress hook, called from time to time to report progress. It can return -// false to request an abort of the encoding process, or true otherwise if -// everything is OK. -typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); - -// Color spaces. -typedef enum WebPEncCSP { - // chroma sampling - WEBP_YUV420 = 0, // 4:2:0 - WEBP_YUV420A = 4, // alpha channel variant - WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors - WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present -} WebPEncCSP; - -// Encoding error conditions. -typedef enum WebPEncodingError { - VP8_ENC_OK = 0, - VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects - VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits - VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL - VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid - VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height - VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k - VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M - VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes - VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G - VP8_ENC_ERROR_USER_ABORT, // abort request by user - VP8_ENC_ERROR_LAST // list terminator. always last. -} WebPEncodingError; - -// maximum width/height allowed (inclusive), in pixels -#define WEBP_MAX_DIMENSION 16383 - -// Main exchange structure (input samples, output bytes, statistics) -struct WebPPicture { - // INPUT - ////////////// - // Main flag for encoder selecting between ARGB or YUV input. - // It is recommended to use ARGB input (*argb, argb_stride) for lossless - // compression, and YUV input (*y, *u, *v, etc.) for lossy compression - // since these are the respective native colorspace for these formats. - int use_argb; - - // YUV input (mostly used for input to lossy compression) - WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). - int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) - uint8_t* y, *u, *v; // pointers to luma/chroma planes. - int y_stride, uv_stride; // luma/chroma strides. - uint8_t* a; // pointer to the alpha plane - int a_stride; // stride of the alpha plane - uint32_t pad1[2]; // padding for later use - - // ARGB input (mostly used for input to lossless compression) - uint32_t* argb; // Pointer to argb (32 bit) plane. - int argb_stride; // This is stride in pixels units, not bytes. - uint32_t pad2[3]; // padding for later use - - // OUTPUT - /////////////// - // Byte-emission hook, to store compressed bytes as they are ready. - WebPWriterFunction writer; // can be NULL - void* custom_ptr; // can be used by the writer. - - // map for extra information (only for lossy compression mode) - int extra_info_type; // 1: intra type, 2: segment, 3: quant - // 4: intra-16 prediction mode, - // 5: chroma prediction mode, - // 6: bit cost, 7: distortion - uint8_t* extra_info; // if not NULL, points to an array of size - // ((width + 15) / 16) * ((height + 15) / 16) that - // will be filled with a macroblock map, depending - // on extra_info_type. - - // STATS AND REPORTS - /////////////////////////// - // Pointer to side statistics (updated only if not NULL) - WebPAuxStats* stats; - - // Error code for the latest error encountered during encoding - WebPEncodingError error_code; - - // If not NULL, report progress during encoding. - WebPProgressHook progress_hook; - - void* user_data; // this field is free to be set to any value and - // used during callbacks (like progress-report e.g.). - - uint32_t pad3[3]; // padding for later use - - // Unused for now - uint8_t* pad4, *pad5; - uint32_t pad6[8]; // padding for later use - - // PRIVATE FIELDS - //////////////////// - void* memory_; // row chunk of memory for yuva planes - void* memory_argb_; // and for argb too. - void* pad7[2]; // padding for later use -}; - -// Internal, version-checked, entry point -WEBP_EXTERN int WebPPictureInitInternal(WebPPicture*, int); - -// Should always be called, to initialize the structure. Returns false in case -// of version mismatch. WebPPictureInit() must have succeeded before using the -// 'picture' object. -// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. -static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { - return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// WebPPicture utils - -// Convenience allocation / deallocation based on picture->width/height: -// Allocate y/u/v buffers as per colorspace/width/height specification. -// Note! This function will free the previous buffer if needed. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureAlloc(WebPPicture* picture); - -// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). -// Note that this function does _not_ free the memory used by the 'picture' -// object itself. -// Besides memory (which is reclaimed) all other fields of 'picture' are -// preserved. -WEBP_EXTERN void WebPPictureFree(WebPPicture* picture); - -// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, *dst -// will fully own the copied pixels (this is not a view). The 'dst' picture need -// not be initialized as its content is overwritten. -// Returns false in case of memory allocation error. -WEBP_EXTERN int WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); - -// Compute the single distortion for packed planes of samples. -// 'src' will be compared to 'ref', and the raw distortion stored into -// '*distortion'. The refined metric (log(MSE), log(1 - ssim),...' will be -// stored in '*result'. -// 'x_step' is the horizontal stride (in bytes) between samples. -// 'src/ref_stride' is the byte distance between rows. -// Returns false in case of error (bad parameter, memory allocation error, ...). -WEBP_EXTERN int WebPPlaneDistortion(const uint8_t* src, size_t src_stride, - const uint8_t* ref, size_t ref_stride, - int width, int height, - size_t x_step, - int type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float* distortion, float* result); - -// Compute PSNR, SSIM or LSIM distortion metric between two pictures. Results -// are in dB, stored in result[] in the B/G/R/A/All order. The distortion is -// always performed using ARGB samples. Hence if the input is YUV(A), the -// picture will be internally converted to ARGB (just for the measurement). -// Warning: this function is rather CPU-intensive. -WEBP_EXTERN int WebPPictureDistortion( - const WebPPicture* src, const WebPPicture* ref, - int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM - float result[5]); - -// self-crops a picture to the rectangle defined by top/left/width/height. -// Returns false in case of memory allocation error, or if the rectangle is -// outside of the source picture. -// The rectangle for the view is defined by the top-left corner pixel -// coordinates (left, top) as well as its width and height. This rectangle -// must be fully be comprised inside the 'src' source picture. If the source -// picture uses the YUV420 colorspace, the top and left coordinates will be -// snapped to even values. -WEBP_EXTERN int WebPPictureCrop(WebPPicture* picture, - int left, int top, int width, int height); - -// Extracts a view from 'src' picture into 'dst'. The rectangle for the view -// is defined by the top-left corner pixel coordinates (left, top) as well -// as its width and height. This rectangle must be fully be comprised inside -// the 'src' source picture. If the source picture uses the YUV420 colorspace, -// the top and left coordinates will be snapped to even values. -// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed -// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, -// the original dimension will be lost). Picture 'dst' need not be initialized -// with WebPPictureInit() if it is different from 'src', since its content will -// be overwritten. -// Returns false in case of memory allocation error or invalid parameters. -WEBP_EXTERN int WebPPictureView(const WebPPicture* src, - int left, int top, int width, int height, - WebPPicture* dst); - -// Returns true if the 'picture' is actually a view and therefore does -// not own the memory for pixels. -WEBP_EXTERN int WebPPictureIsView(const WebPPicture* picture); - -// Rescale a picture to new dimension width x height. -// If either 'width' or 'height' (but not both) is 0 the corresponding -// dimension will be calculated preserving the aspect ratio. -// No gamma correction is applied. -// Returns false in case of error (invalid parameter or insufficient memory). -WEBP_EXTERN int WebPPictureRescale(WebPPicture* pic, int width, int height); - -// Colorspace conversion function to import RGB samples. -// Previous buffer will be free'd, if any. -// *rgb buffer should have a size of at least height * rgb_stride. -// Returns false in case of memory error. -WEBP_EXTERN int WebPPictureImportRGB( - WebPPicture* picture, const uint8_t* rgb, int rgb_stride); -// Same, but for RGBA buffer. -WEBP_EXTERN int WebPPictureImportRGBA( - WebPPicture* picture, const uint8_t* rgba, int rgba_stride); -// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format -// input buffer ignoring the alpha channel. Avoids needing to copy the data -// to a temporary 24-bit RGB buffer to import the RGB only. -WEBP_EXTERN int WebPPictureImportRGBX( - WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); - -// Variants of the above, but taking BGR(A|X) input. -WEBP_EXTERN int WebPPictureImportBGR( - WebPPicture* picture, const uint8_t* bgr, int bgr_stride); -WEBP_EXTERN int WebPPictureImportBGRA( - WebPPicture* picture, const uint8_t* bgra, int bgra_stride); -WEBP_EXTERN int WebPPictureImportBGRX( - WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); - -// Converts picture->argb data to the YUV420A format. The 'colorspace' -// parameter is deprecated and should be equal to WEBP_YUV420. -// Upon return, picture->use_argb is set to false. The presence of real -// non-opaque transparent values is detected, and 'colorspace' will be -// adjusted accordingly. Note that this method is lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureARGBToYUVA(WebPPicture* picture, - WebPEncCSP /*colorspace = WEBP_YUV420*/); - -// Same as WebPPictureARGBToYUVA(), but the conversion is done using -// pseudo-random dithering with a strength 'dithering' between -// 0.0 (no dithering) and 1.0 (maximum dithering). This is useful -// for photographic picture. -WEBP_EXTERN int WebPPictureARGBToYUVADithered( - WebPPicture* picture, WebPEncCSP colorspace, float dithering); - -// Performs 'sharp' RGBA->YUVA420 downsampling and colorspace conversion. -// Downsampling is handled with extra care in case of color clipping. This -// method is roughly 2x slower than WebPPictureARGBToYUVA() but produces better -// and sharper YUV representation. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureSharpARGBToYUVA(WebPPicture* picture); -// kept for backward compatibility: -WEBP_EXTERN int WebPPictureSmartARGBToYUVA(WebPPicture* picture); - -// Converts picture->yuv to picture->argb and sets picture->use_argb to true. -// The input format must be YUV_420 or YUV_420A. The conversion from YUV420 to -// ARGB incurs a small loss too. -// Note that the use of this colorspace is discouraged if one has access to the -// raw ARGB samples, since using YUV420 is comparatively lossy. -// Returns false in case of error. -WEBP_EXTERN int WebPPictureYUVAToARGB(WebPPicture* picture); - -// Helper function: given a width x height plane of RGBA or YUV(A) samples -// clean-up or smoothen the YUV or RGB samples under fully transparent area, -// to help compressibility (no guarantee, though). -WEBP_EXTERN void WebPCleanupTransparentArea(WebPPicture* picture); - -// Scan the picture 'picture' for the presence of non fully opaque alpha values. -// Returns true in such case. Otherwise returns false (indicating that the -// alpha plane can be ignored altogether e.g.). -WEBP_EXTERN int WebPPictureHasTransparency(const WebPPicture* picture); - -// Remove the transparency information (if present) by blending the color with -// the background color 'background_rgb' (specified as 24bit RGB triplet). -// After this call, all alpha values are reset to 0xff. -WEBP_EXTERN void WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); - -//------------------------------------------------------------------------------ -// Main call - -// Main encoding call, after config and picture have been initialized. -// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), -// and the 'config' object must be a valid one. -// Returns false in case of error, true otherwise. -// In case of error, picture->error_code is updated accordingly. -// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending -// on the value of 'picture->use_argb'. It is highly recommended to use -// the former for lossy encoding, and the latter for lossless encoding -// (when config.lossless is true). Automatic conversion from one format to -// another is provided but they both incur some loss. -WEBP_EXTERN int WebPEncode(const WebPConfig* config, WebPPicture* picture); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_ENCODE_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/mux.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/mux.h deleted file mode 100644 index 7d27489a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/mux.h +++ /dev/null @@ -1,530 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// RIFF container manipulation and encoding for WebP images. -// -// Authors: Urvang (urvang@google.com) -// Vikas (vikasa@google.com) - -#ifndef WEBP_WEBP_MUX_H_ -#define WEBP_WEBP_MUX_H_ - -#include "./mux_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define WEBP_MUX_ABI_VERSION 0x0108 // MAJOR(8b) + MINOR(8b) - -//------------------------------------------------------------------------------ -// Mux API -// -// This API allows manipulation of WebP container images containing features -// like color profile, metadata, animation. -// -// Code Example#1: Create a WebPMux object with image data, color profile and -// XMP metadata. -/* - int copy_data = 0; - WebPMux* mux = WebPMuxNew(); - // ... (Prepare image data). - WebPMuxSetImage(mux, &image, copy_data); - // ... (Prepare ICCP color profile data). - WebPMuxSetChunk(mux, "ICCP", &icc_profile, copy_data); - // ... (Prepare XMP metadata). - WebPMuxSetChunk(mux, "XMP ", &xmp, copy_data); - // Get data from mux in WebP RIFF format. - WebPMuxAssemble(mux, &output_data); - WebPMuxDelete(mux); - // ... (Consume output_data; e.g. write output_data.bytes to file). - WebPDataClear(&output_data); -*/ - -// Code Example#2: Get image and color profile data from a WebP file. -/* - int copy_data = 0; - // ... (Read data from file). - WebPMux* mux = WebPMuxCreate(&data, copy_data); - WebPMuxGetFrame(mux, 1, &image); - // ... (Consume image; e.g. call WebPDecode() to decode the data). - WebPMuxGetChunk(mux, "ICCP", &icc_profile); - // ... (Consume icc_data). - WebPMuxDelete(mux); - WebPFree(data); -*/ - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPMuxError WebPMuxError; -// typedef enum WebPChunkId WebPChunkId; -typedef struct WebPMux WebPMux; // main opaque object. -typedef struct WebPMuxFrameInfo WebPMuxFrameInfo; -typedef struct WebPMuxAnimParams WebPMuxAnimParams; -typedef struct WebPAnimEncoderOptions WebPAnimEncoderOptions; - -// Error codes -typedef enum WebPMuxError { - WEBP_MUX_OK = 1, - WEBP_MUX_NOT_FOUND = 0, - WEBP_MUX_INVALID_ARGUMENT = -1, - WEBP_MUX_BAD_DATA = -2, - WEBP_MUX_MEMORY_ERROR = -3, - WEBP_MUX_NOT_ENOUGH_DATA = -4 -} WebPMuxError; - -// IDs for different types of chunks. -typedef enum WebPChunkId { - WEBP_CHUNK_VP8X, // VP8X - WEBP_CHUNK_ICCP, // ICCP - WEBP_CHUNK_ANIM, // ANIM - WEBP_CHUNK_ANMF, // ANMF - WEBP_CHUNK_DEPRECATED, // (deprecated from FRGM) - WEBP_CHUNK_ALPHA, // ALPH - WEBP_CHUNK_IMAGE, // VP8/VP8L - WEBP_CHUNK_EXIF, // EXIF - WEBP_CHUNK_XMP, // XMP - WEBP_CHUNK_UNKNOWN, // Other chunks. - WEBP_CHUNK_NIL -} WebPChunkId; - -//------------------------------------------------------------------------------ - -// Returns the version number of the mux library, packed in hexadecimal using -// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. -WEBP_EXTERN int WebPGetMuxVersion(void); - -//------------------------------------------------------------------------------ -// Life of a Mux object - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPNewInternal(int); - -// Creates an empty mux object. -// Returns: -// A pointer to the newly created empty mux object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPMux* WebPMuxNew(void) { - return WebPNewInternal(WEBP_MUX_ABI_VERSION); -} - -// Deletes the mux object. -// Parameters: -// mux - (in/out) object to be deleted -WEBP_EXTERN void WebPMuxDelete(WebPMux* mux); - -//------------------------------------------------------------------------------ -// Mux creation. - -// Internal, version-checked, entry point -WEBP_EXTERN WebPMux* WebPMuxCreateInternal(const WebPData*, int, int); - -// Creates a mux object from raw data given in WebP RIFF format. -// Parameters: -// bitstream - (in) the bitstream data in WebP RIFF format -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// A pointer to the mux object created from given data - on success. -// NULL - In case of invalid data or memory error. -static WEBP_INLINE WebPMux* WebPMuxCreate(const WebPData* bitstream, - int copy_data) { - return WebPMuxCreateInternal(bitstream, copy_data, WEBP_MUX_ABI_VERSION); -} - -//------------------------------------------------------------------------------ -// Non-image chunks. - -// Note: Only non-image related chunks should be managed through chunk APIs. -// (Image related chunks are: "ANMF", "VP8 ", "VP8L" and "ALPH"). -// To add, get and delete images, use WebPMuxSetImage(), WebPMuxPushFrame(), -// WebPMuxGetFrame() and WebPMuxDeleteFrame(). - -// Adds a chunk with id 'fourcc' and data 'chunk_data' in the mux object. -// Any existing chunk(s) with the same id will be removed. -// Parameters: -// mux - (in/out) object to which the chunk is to be added -// fourcc - (in) a character array containing the fourcc of the given chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (in) the chunk data to be added -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetChunk( - WebPMux* mux, const char fourcc[4], const WebPData* chunk_data, - int copy_data); - -// Gets a reference to the data of the chunk with id 'fourcc' in the mux object. -// The caller should NOT free the returned data. -// Parameters: -// mux - (in) object from which the chunk data is to be fetched -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// chunk_data - (out) returned chunk data -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given id. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetChunk( - const WebPMux* mux, const char fourcc[4], WebPData* chunk_data); - -// Deletes the chunk with the given 'fourcc' from the mux object. -// Parameters: -// mux - (in/out) object from which the chunk is to be deleted -// fourcc - (in) a character array containing the fourcc of the chunk; -// e.g., "ICCP", "XMP ", "EXIF" etc. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or fourcc is NULL -// or if fourcc corresponds to an image chunk. -// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given fourcc. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteChunk( - WebPMux* mux, const char fourcc[4]); - -//------------------------------------------------------------------------------ -// Images. - -// Encapsulates data about a single frame. -struct WebPMuxFrameInfo { - WebPData bitstream; // image data: can be a raw VP8/VP8L bitstream - // or a single-image WebP file. - int x_offset; // x-offset of the frame. - int y_offset; // y-offset of the frame. - int duration; // duration of the frame (in milliseconds). - - WebPChunkId id; // frame type: should be one of WEBP_CHUNK_ANMF - // or WEBP_CHUNK_IMAGE - WebPMuxAnimDispose dispose_method; // Disposal method for the frame. - WebPMuxAnimBlend blend_method; // Blend operation for the frame. - uint32_t pad[1]; // padding for later use -}; - -// Sets the (non-animated) image in the mux object. -// Note: Any existing images (including frames) will be removed. -// Parameters: -// mux - (in/out) object in which the image is to be set -// bitstream - (in) can be a raw VP8/VP8L bitstream or a single-image -// WebP file (non-animated) -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL or bitstream is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetImage( - WebPMux* mux, const WebPData* bitstream, int copy_data); - -// Adds a frame at the end of the mux object. -// Notes: (1) frame.id should be WEBP_CHUNK_ANMF -// (2) For setting a non-animated image, use WebPMuxSetImage() instead. -// (3) Type of frame being pushed must be same as the frames in mux. -// (4) As WebP only supports even offsets, any odd offset will be snapped -// to an even location using: offset &= ~1 -// Parameters: -// mux - (in/out) object to which the frame is to be added -// frame - (in) frame data. -// copy_data - (in) value 1 indicates given data WILL be copied to the mux -// object and value 0 indicates data will NOT be copied. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL -// or if content of 'frame' is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxPushFrame( - WebPMux* mux, const WebPMuxFrameInfo* frame, int copy_data); - -// Gets the nth frame from the mux object. -// The content of 'frame->bitstream' is allocated using WebPMalloc(), and NOT -// owned by the 'mux' object. It MUST be deallocated by the caller by calling -// WebPDataClear(). -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in) object from which the info is to be fetched -// nth - (in) index of the frame in the mux object -// frame - (out) data of the returned frame -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL. -// WEBP_MUX_NOT_FOUND - if there are less than nth frames in the mux object. -// WEBP_MUX_BAD_DATA - if nth frame chunk in mux is invalid. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFrame( - const WebPMux* mux, uint32_t nth, WebPMuxFrameInfo* frame); - -// Deletes a frame from the mux object. -// nth=0 has a special meaning - last position. -// Parameters: -// mux - (in/out) object from which a frame is to be deleted -// nth - (in) The position from which the frame is to be deleted -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL. -// WEBP_MUX_NOT_FOUND - If there are less than nth frames in the mux object -// before deletion. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxDeleteFrame(WebPMux* mux, uint32_t nth); - -//------------------------------------------------------------------------------ -// Animation. - -// Animation parameters. -struct WebPMuxAnimParams { - uint32_t bgcolor; // Background color of the canvas stored (in MSB order) as: - // Bits 00 to 07: Alpha. - // Bits 08 to 15: Red. - // Bits 16 to 23: Green. - // Bits 24 to 31: Blue. - int loop_count; // Number of times to repeat the animation [0 = infinite]. -}; - -// Sets the animation parameters in the mux object. Any existing ANIM chunks -// will be removed. -// Parameters: -// mux - (in/out) object in which ANIM chunk is to be set/added -// params - (in) animation parameters. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetAnimationParams( - WebPMux* mux, const WebPMuxAnimParams* params); - -// Gets the animation parameters from the mux object. -// Parameters: -// mux - (in) object from which the animation parameters to be fetched -// params - (out) animation parameters extracted from the ANIM chunk -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. -// WEBP_MUX_NOT_FOUND - if ANIM chunk is not present in mux object. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetAnimationParams( - const WebPMux* mux, WebPMuxAnimParams* params); - -//------------------------------------------------------------------------------ -// Misc Utilities. - -// Sets the canvas size for the mux object. The width and height can be -// specified explicitly or left as zero (0, 0). -// * When width and height are specified explicitly, then this frame bound is -// enforced during subsequent calls to WebPMuxAssemble() and an error is -// reported if any animated frame does not completely fit within the canvas. -// * When unspecified (0, 0), the constructed canvas will get the frame bounds -// from the bounding-box over all frames after calling WebPMuxAssemble(). -// Parameters: -// mux - (in) object to which the canvas size is to be set -// width - (in) canvas width -// height - (in) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL; or -// width or height are invalid or out of bounds -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxSetCanvasSize(WebPMux* mux, - int width, int height); - -// Gets the canvas size from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the canvas size is to be fetched -// width - (out) canvas width -// height - (out) canvas height -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, width or height is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetCanvasSize(const WebPMux* mux, - int* width, int* height); - -// Gets the feature flags from the mux object. -// Note: This method assumes that the VP8X chunk, if present, is up-to-date. -// That is, the mux object hasn't been modified since the last call to -// WebPMuxAssemble() or WebPMuxCreate(). -// Parameters: -// mux - (in) object from which the features are to be fetched -// flags - (out) the flags specifying which features are present in the -// mux object. This will be an OR of various flag values. -// Enum 'WebPFeatureFlags' can be used to test individual flag values. -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux or flags is NULL. -// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxGetFeatures(const WebPMux* mux, - uint32_t* flags); - -// Gets number of chunks with the given 'id' in the mux object. -// Parameters: -// mux - (in) object from which the info is to be fetched -// id - (in) chunk id specifying the type of chunk -// num_elements - (out) number of chunks with the given chunk id -// Returns: -// WEBP_MUX_INVALID_ARGUMENT - if mux, or num_elements is NULL. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxNumChunks(const WebPMux* mux, - WebPChunkId id, int* num_elements); - -// Assembles all chunks in WebP RIFF format and returns in 'assembled_data'. -// This function also validates the mux object. -// Note: The content of 'assembled_data' will be ignored and overwritten. -// Also, the content of 'assembled_data' is allocated using WebPMalloc(), and -// NOT owned by the 'mux' object. It MUST be deallocated by the caller by -// calling WebPDataClear(). It's always safe to call WebPDataClear() upon -// return, even in case of error. -// Parameters: -// mux - (in/out) object whose chunks are to be assembled -// assembled_data - (out) assembled WebP data -// Returns: -// WEBP_MUX_BAD_DATA - if mux object is invalid. -// WEBP_MUX_INVALID_ARGUMENT - if mux or assembled_data is NULL. -// WEBP_MUX_MEMORY_ERROR - on memory allocation error. -// WEBP_MUX_OK - on success. -WEBP_EXTERN WebPMuxError WebPMuxAssemble(WebPMux* mux, - WebPData* assembled_data); - -//------------------------------------------------------------------------------ -// WebPAnimEncoder API -// -// This API allows encoding (possibly) animated WebP images. -// -// Code Example: -/* - WebPAnimEncoderOptions enc_options; - WebPAnimEncoderOptionsInit(&enc_options); - // Tune 'enc_options' as needed. - WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, &enc_options); - while() { - WebPConfig config; - WebPConfigInit(&config); - // Tune 'config' as needed. - WebPAnimEncoderAdd(enc, frame, timestamp_ms, &config); - } - WebPAnimEncoderAdd(enc, NULL, timestamp_ms, NULL); - WebPAnimEncoderAssemble(enc, webp_data); - WebPAnimEncoderDelete(enc); - // Write the 'webp_data' to a file, or re-mux it further. -*/ - -typedef struct WebPAnimEncoder WebPAnimEncoder; // Main opaque object. - -// Forward declarations. Defined in encode.h. -struct WebPPicture; -struct WebPConfig; - -// Global options. -struct WebPAnimEncoderOptions { - WebPMuxAnimParams anim_params; // Animation parameters. - int minimize_size; // If true, minimize the output size (slow). Implicitly - // disables key-frame insertion. - int kmin; - int kmax; // Minimum and maximum distance between consecutive key - // frames in the output. The library may insert some key - // frames as needed to satisfy this criteria. - // Note that these conditions should hold: kmax > kmin - // and kmin >= kmax / 2 + 1. Also, if kmax <= 0, then - // key-frame insertion is disabled; and if kmax == 1, - // then all frames will be key-frames (kmin value does - // not matter for these special cases). - int allow_mixed; // If true, use mixed compression mode; may choose - // either lossy and lossless for each frame. - int verbose; // If true, print info and warning messages to stderr. - - uint32_t padding[4]; // Padding for later use. -}; - -// Internal, version-checked, entry point. -WEBP_EXTERN int WebPAnimEncoderOptionsInitInternal( - WebPAnimEncoderOptions*, int); - -// Should always be called, to initialize a fresh WebPAnimEncoderOptions -// structure before modification. Returns false in case of version mismatch. -// WebPAnimEncoderOptionsInit() must have succeeded before using the -// 'enc_options' object. -static WEBP_INLINE int WebPAnimEncoderOptionsInit( - WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderOptionsInitInternal(enc_options, WEBP_MUX_ABI_VERSION); -} - -// Internal, version-checked, entry point. -WEBP_EXTERN WebPAnimEncoder* WebPAnimEncoderNewInternal( - int, int, const WebPAnimEncoderOptions*, int); - -// Creates and initializes a WebPAnimEncoder object. -// Parameters: -// width/height - (in) canvas width and height of the animation. -// enc_options - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// A pointer to the newly created WebPAnimEncoder object. -// Or NULL in case of memory error. -static WEBP_INLINE WebPAnimEncoder* WebPAnimEncoderNew( - int width, int height, const WebPAnimEncoderOptions* enc_options) { - return WebPAnimEncoderNewInternal(width, height, enc_options, - WEBP_MUX_ABI_VERSION); -} - -// Optimize the given frame for WebP, encode it and add it to the -// WebPAnimEncoder object. -// The last call to 'WebPAnimEncoderAdd' should be with frame = NULL, which -// indicates that no more frames are to be added. This call is also used to -// determine the duration of the last frame. -// Parameters: -// enc - (in/out) object to which the frame is to be added. -// frame - (in/out) frame data in ARGB or YUV(A) format. If it is in YUV(A) -// format, it will be converted to ARGB, which incurs a small loss. -// timestamp_ms - (in) timestamp of this frame in milliseconds. -// Duration of a frame would be calculated as -// "timestamp of next frame - timestamp of this frame". -// Hence, timestamps should be in non-decreasing order. -// config - (in) encoding options; can be passed NULL to pick -// reasonable defaults. -// Returns: -// On error, returns false and frame->error_code is set appropriately. -// Otherwise, returns true. -WEBP_EXTERN int WebPAnimEncoderAdd( - WebPAnimEncoder* enc, struct WebPPicture* frame, int timestamp_ms, - const struct WebPConfig* config); - -// Assemble all frames added so far into a WebP bitstream. -// This call should be preceded by a call to 'WebPAnimEncoderAdd' with -// frame = NULL; if not, the duration of the last frame will be internally -// estimated. -// Parameters: -// enc - (in/out) object from which the frames are to be assembled. -// webp_data - (out) generated WebP bitstream. -// Returns: -// True on success. -WEBP_EXTERN int WebPAnimEncoderAssemble(WebPAnimEncoder* enc, - WebPData* webp_data); - -// Get error string corresponding to the most recent call using 'enc'. The -// returned string is owned by 'enc' and is valid only until the next call to -// WebPAnimEncoderAdd() or WebPAnimEncoderAssemble() or WebPAnimEncoderDelete(). -// Parameters: -// enc - (in/out) object from which the error string is to be fetched. -// Returns: -// NULL if 'enc' is NULL. Otherwise, returns the error string if the last call -// to 'enc' had an error, or an empty string if the last call was a success. -WEBP_EXTERN const char* WebPAnimEncoderGetError(WebPAnimEncoder* enc); - -// Deletes the WebPAnimEncoder object. -// Parameters: -// enc - (in/out) object to be deleted -WEBP_EXTERN void WebPAnimEncoderDelete(WebPAnimEncoder* enc); - -//------------------------------------------------------------------------------ - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/mux_types.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/mux_types.h deleted file mode 100644 index 2fe81958..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/mux_types.h +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Data-types common to the mux and demux libraries. -// -// Author: Urvang (urvang@google.com) - -#ifndef WEBP_WEBP_MUX_TYPES_H_ -#define WEBP_WEBP_MUX_TYPES_H_ - -#include // memset() -#include "./types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Note: forward declaring enumerations is not allowed in (strict) C and C++, -// the types are left here for reference. -// typedef enum WebPFeatureFlags WebPFeatureFlags; -// typedef enum WebPMuxAnimDispose WebPMuxAnimDispose; -// typedef enum WebPMuxAnimBlend WebPMuxAnimBlend; -typedef struct WebPData WebPData; - -// VP8X Feature Flags. -typedef enum WebPFeatureFlags { - ANIMATION_FLAG = 0x00000002, - XMP_FLAG = 0x00000004, - EXIF_FLAG = 0x00000008, - ALPHA_FLAG = 0x00000010, - ICCP_FLAG = 0x00000020, - - ALL_VALID_FLAGS = 0x0000003e -} WebPFeatureFlags; - -// Dispose method (animation only). Indicates how the area used by the current -// frame is to be treated before rendering the next frame on the canvas. -typedef enum WebPMuxAnimDispose { - WEBP_MUX_DISPOSE_NONE, // Do not dispose. - WEBP_MUX_DISPOSE_BACKGROUND // Dispose to background color. -} WebPMuxAnimDispose; - -// Blend operation (animation only). Indicates how transparent pixels of the -// current frame are blended with those of the previous canvas. -typedef enum WebPMuxAnimBlend { - WEBP_MUX_BLEND, // Blend. - WEBP_MUX_NO_BLEND // Do not blend. -} WebPMuxAnimBlend; - -// Data type used to describe 'raw' data, e.g., chunk data -// (ICC profile, metadata) and WebP compressed image data. -// 'bytes' memory must be allocated using WebPMalloc() and such. -struct WebPData { - const uint8_t* bytes; - size_t size; -}; - -// Initializes the contents of the 'webp_data' object with default values. -static WEBP_INLINE void WebPDataInit(WebPData* webp_data) { - if (webp_data != NULL) { - memset(webp_data, 0, sizeof(*webp_data)); - } -} - -// Clears the contents of the 'webp_data' object by calling WebPFree(). -// Does not deallocate the object itself. -static WEBP_INLINE void WebPDataClear(WebPData* webp_data) { - if (webp_data != NULL) { - WebPFree((void*)webp_data->bytes); - WebPDataInit(webp_data); - } -} - -// Allocates necessary storage for 'dst' and copies the contents of 'src'. -// Returns true on success. -static WEBP_INLINE int WebPDataCopy(const WebPData* src, WebPData* dst) { - if (src == NULL || dst == NULL) return 0; - WebPDataInit(dst); - if (src->bytes != NULL && src->size != 0) { - dst->bytes = (uint8_t*)WebPMalloc(src->size); - if (dst->bytes == NULL) return 0; - memcpy((void*)dst->bytes, src->bytes, src->size); - dst->size = src->size; - } - return 1; -} - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_MUX_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/types.h b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/types.h deleted file mode 100644 index 47f7f2b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/include/webp/types.h +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2010 Google Inc. All Rights Reserved. -// -// Use of this source code is governed by a BSD-style license -// that can be found in the COPYING file in the root of the source -// tree. An additional intellectual property rights grant can be found -// in the file PATENTS. All contributing project authors may -// be found in the AUTHORS file in the root of the source tree. -// ----------------------------------------------------------------------------- -// -// Common types + memory wrappers -// -// Author: Skal (pascal.massimino@gmail.com) - -#ifndef WEBP_WEBP_TYPES_H_ -#define WEBP_WEBP_TYPES_H_ - -#include // for size_t - -#ifndef _MSC_VER -#include -#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ - (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) -#define WEBP_INLINE inline -#else -#define WEBP_INLINE -#endif -#else -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef unsigned long long int uint64_t; -typedef long long int int64_t; -#define WEBP_INLINE __forceinline -#endif /* _MSC_VER */ - -#ifndef WEBP_EXTERN -// This explicitly marks library functions and allows for changing the -// signature for e.g., Windows DLL builds. -# if defined(__GNUC__) && __GNUC__ >= 4 -# define WEBP_EXTERN extern __attribute__ ((visibility ("default"))) -# else -# define WEBP_EXTERN extern -# endif /* __GNUC__ >= 4 */ -#endif /* WEBP_EXTERN */ - -// Macro to check ABI compatibility (same major revision number) -#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) - -#ifdef __cplusplus -extern "C" { -#endif - -// Allocates 'size' bytes of memory. Returns NULL upon error. Memory -// must be deallocated by calling WebPFree(). This function is made available -// by the core 'libwebp' library. -WEBP_EXTERN void* WebPMalloc(size_t size); - -// Releases memory returned by the WebPDecode*() functions (from decode.h). -WEBP_EXTERN void WebPFree(void* ptr); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // WEBP_WEBP_TYPES_H_ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebp.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebp.a deleted file mode 100644 index a5b761ea..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebp.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebp.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebp.la deleted file mode 100755 index fe2a3d8f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebp.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebp.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebp.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebp. -current=8 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdecoder.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdecoder.a deleted file mode 100644 index c862c6e6..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdecoder.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdecoder.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdecoder.la deleted file mode 100755 index e6dce2cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdecoder.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpdecoder.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpdecoder.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpdecoder. -current=4 -age=1 -revision=0 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdemux.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdemux.a deleted file mode 100644 index 6f173974..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdemux.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdemux.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdemux.la deleted file mode 100755 index a9dd11cf..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpdemux.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpdemux.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpdemux.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebp.la -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpdemux. -current=2 -age=0 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpmux.a b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpmux.a deleted file mode 100644 index 1920ade6..00000000 Binary files a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpmux.a and /dev/null differ diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpmux.la b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpmux.la deleted file mode 100755 index a3f375ab..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebpmux.la +++ /dev/null @@ -1,41 +0,0 @@ -# libwebpmux.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.6 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libwebpmux.a' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags=' -pthread' - -# Libraries that this one depends upon. -dependency_libs=' /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/libwebp.la -lm' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libwebpmux. -current=3 -age=0 -revision=5 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib' diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebp.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebp.pc deleted file mode 100644 index a4d394d9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebp.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebp -Description: Library for the WebP graphics format -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebp -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebpdecoder.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebpdecoder.pc deleted file mode 100644 index 43527a05..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebpdecoder.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdecoder -Description: Library for the WebP graphics format (decode only) -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdecoder -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebpdemux.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebpdemux.pc deleted file mode 100644 index 9e18f4b3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebpdemux.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdemux -Description: Library for parsing the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdemux diff --git a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebpmux.pc b/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebpmux.pc deleted file mode 100644 index bf459de9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64/lib/pkgconfig/libwebpmux.pc +++ /dev/null @@ -1,12 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneSimulator-13.5-x86_64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpmux -Description: Library for manipulating the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpmux -Libs.private: -lm diff --git a/Carthage/Checkouts/PINRemoteImage/webp/libtool b/Carthage/Checkouts/PINRemoteImage/webp/libtool deleted file mode 100755 index e6476b61..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/libtool +++ /dev/null @@ -1,11642 +0,0 @@ -#! /bin/sh -# Generated automatically by config.status (libwebp) 1.1.0 -# Libtool was configured on host garrettmoon-555JGH6.dyn.pinadmin.com: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. - -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit, 1996 - -# Copyright (C) 2014 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program or library that is built -# using GNU Libtool, you may include this file under the same -# distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# The names of the tagged configurations supported by this script. -available_tags='' - -# Configured defaults for sys_lib_dlsearch_path munging. -: ${LT_SYS_LIBRARY_PATH=""} - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=2.4.6 -macro_revision=2.4.6 - -# Whether or not to build shared libraries. -build_libtool_libs=no - -# Whether or not to build static libraries. -build_old_libs=yes - -# What type of objects to build. -pic_mode=default - -# Whether or not to optimize for fast installation. -fast_install=needless - -# Shared archive member basename,for filename based shared library versioning on AIX. -shared_archive_member_spec= - -# Shell to use when invoking shell scripts. -SHELL="/bin/sh" - -# An echo program that protects backslashes. -ECHO="printf %s\\n" - -# The PATH separator for the build system. -PATH_SEPARATOR=":" - -# The host system. -host_alias=aarch64-apple-darwin -host=aarch64-apple-darwin -host_os=darwin - -# The build system. -build_alias=x86_64-apple-darwin19.5.0 -build=x86_64-apple-darwin19.5.0 -build_os=darwin19.5.0 - -# A sed program that does not truncate output. -SED="/usr/bin/sed" - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP="/usr/bin/grep" - -# An ERE matcher. -EGREP="/usr/bin/grep -E" - -# A literal string matcher. -FGREP="/usr/bin/grep -F" - -# A BSD- or MS-compatible name lister. -NM="nm" - -# Whether we need soft or hard links. -LN_S="ln -s" - -# What is the maximum length of a command? -max_cmd_len=196608 - -# Object file suffix (normally "o"). -objext=o - -# Executable file suffix (normally ""). -exeext= - -# whether the shell understands "unset". -lt_unset=unset - -# turn spaces into newlines. -SP2NL="tr \\040 \\012" - -# turn newlines into spaces. -NL2SP="tr \\015\\012 \\040\\040" - -# convert $build file names to $host format. -to_host_file_cmd=func_convert_file_noop - -# convert $build files to toolchain format. -to_tool_file_cmd=func_convert_file_noop - -# An object symbol dumper. -OBJDUMP="objdump" - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method="pass_all" - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd="\$MAGIC_CMD" - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob="" - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob="no" - -# DLL creation program. -DLLTOOL="false" - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd="printf %s\\n" - -# The archiver. -AR="ar" - -# Flags to create an archive. -AR_FLAGS="cru" - -# How to feed a file listing to the archiver. -archiver_list_spec="" - -# A symbol stripping program. -STRIP="strip" - -# Commands used to install an old-style archive. -RANLIB="ranlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$tool_oldlib" -old_postuninstall_cmds="" - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=yes - -# A C compiler. -LTCC="gcc" - -# LTCC compiler flags. -LTCFLAGS="-arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="sed -n -e 's/^.*[ ]\\([BCDEGRST][BCDEGRST]*\\)[ ][ ]*_\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 _\\2 \\2/p' | sed '/ __gnu_lto/d'" - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[BCDEGRST][BCDEGRST]* .* \\(.*\\)\$/extern char \\1;/p'" - -# Transform the output of nm into a list of symbols to manually relocate. -global_symbol_to_import="" - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address="sed -n -e 's/^: \\(.*\\) .*\$/ {\"\\1\", (void *) 0},/p' -e 's/^[BCDEGRST][BCDEGRST]* .* \\(.*\\)\$/ {\"\\1\", (void *) \\&\\1},/p'" - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\(.*\\) .*\$/ {\"\\1\", (void *) 0},/p' -e 's/^[BCDEGRST][BCDEGRST]* .* \\(lib.*\\)\$/ {\"\\1\", (void *) \\&\\1},/p' -e 's/^[BCDEGRST][BCDEGRST]* .* \\(.*\\)\$/ {\"lib\\1\", (void *) \\&\\1},/p'" - -# The name lister interface. -nm_interface="BSD nm" - -# Specify filename containing input files for $NM. -nm_file_list_spec="@" - -# The root where to search for dependent libraries,and where our libraries should be installed. -lt_sysroot= - -# Command to truncate a binary pipe. -lt_truncate_bin="/bin/dd bs=4096 count=1" - -# The name of the directory that contains temporary libtool files. -objdir=.libs - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=file - -# Must we lock files when doing compilation? -need_locks="no" - -# Manifest tool. -MANIFEST_TOOL=":" - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL="dsymutil" - -# Tool to change global to local symbols on Mac OS X. -NMEDIT="nmedit" - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO="lipo" - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL="otool" - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=":" - -# Old archive suffix (normally "a"). -libext=a - -# Shared library suffix (normally ".so"). -shrext_cmds="\`test .\$module = .yes && echo .so || echo .dylib\`" - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds="" - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink="PATH DYLD_LIBRARY_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" - -# Do we need the "lib" prefix for modules? -need_lib_prefix=no - -# Do we need a version for libraries? -need_version=no - -# Library versioning type. -version_type=darwin - -# Shared library runtime path variable. -runpath_var= - -# Shared library path variable. -shlibpath_var=DYLD_LIBRARY_PATH - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=yes - -# Format of library name prefix. -libname_spec="lib\$name" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec="\$libname\$release\$major\$shared_ext \$libname\$shared_ext" - -# The coded name of the library, if different from the real name. -soname_spec="\$libname\$release\$major\$shared_ext" - -# Permission mode override for installation of shared libraries. -install_override_mode="" - -# Command to use after installation of a shared archive. -postinstall_cmds="" - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds="" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="" - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval="" - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=no - -# Compile-time system search path for libraries. -sys_lib_search_path_spec="/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3 /usr/local/lib" - -# Detected run-time system search path for libraries. -sys_lib_dlsearch_path_spec="/usr/local/lib /lib /usr/lib" - -# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. -configure_time_lt_sys_library_path="" - -# Whether dlopen is supported. -dlopen_support=unknown - -# Whether dlopen of programs is supported. -dlopen_self=unknown - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=unknown - -# Commands to strip libraries. -old_striplib="strip -S" -striplib="strip -x" - - -# The linker used to build libraries. -LD="/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LTCC \$LTCFLAGS -nostdlib \$wl-r -o \$output\$reload_objs" - -# Commands used to build an old-style archive. -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib" - -# A language specific compiler. -CC="gcc" - -# Is the compiler the GNU compiler? -with_gcc=yes - -# Compiler flag to turn off builtin functions. -no_builtin_flag=" -fno-builtin -fno-rtti -fno-exceptions" - -# Additional compiler flags for building library objects. -pic_flag=" -fno-common -DPIC" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Compiler flag to prevent dynamic linking. -link_static_flag="" - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=no - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=no - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\`for conv in \$convenience\\\"\\\"; do test -n \\\"\$conv\\\" && new_convenience=\\\"\$new_convenience \$wl-force_load,\$conv\\\"; done; func_echo_all \\\"\$new_convenience\\\"\`" - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object="no" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build a shared archive. -archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring \$single_module" -archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring \$single_module \$wl-exported_symbols_list,\$output_objdir/\$libname-symbols.expsym" - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags" -module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags \$wl-exported_symbols_list,\$output_objdir/\$libname-symbols.expsym" - -# Whether we are building with GNU ld or not. -with_gnu_ld="no" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="\$wl-undefined \${wl}dynamic_lookup" - -# Flag that enforces no undefined symbols. -no_undefined_flag="" - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist -hardcode_libdir_flag_spec="" - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator="" - -# Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=no - -# Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting $shlibpath_var if the -# library is relocated. -hardcode_direct_absolute=no - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=no - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=yes - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=no - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=yes - -# Set to "yes" if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" - -# Symbols that must always be exported. -include_expsyms="" - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds="" - -# Commands necessary for finishing linking programs. -postlink_cmds="" - -# Specify filename containing input files. -file_list_spec="" - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# ### END LIBTOOL CONFIG - - -# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE - -# func_munge_path_list VARIABLE PATH -# ----------------------------------- -# VARIABLE is name of variable containing _space_ separated list of -# directories to be munged by the contents of PATH, which is string -# having a format: -# "DIR[:DIR]:" -# string "DIR[ DIR]" will be prepended to VARIABLE -# ":DIR[:DIR]" -# string "DIR[ DIR]" will be appended to VARIABLE -# "DIRP[:DIRP]::[DIRA:]DIRA" -# string "DIRP[ DIRP]" will be prepended to VARIABLE and string -# "DIRA[ DIRA]" will be appended to VARIABLE -# "DIR[:DIR]" -# VARIABLE will be replaced by "DIR[ DIR]" -func_munge_path_list () -{ - case x$2 in - x) - ;; - *:) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" - ;; - x:*) - eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" - ;; - *::*) - eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" - eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" - ;; - *) - eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" - ;; - esac -} - - -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -func_cc_basename () -{ - for cc_temp in $*""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac - done - func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -} - - -# ### END FUNCTIONS SHARED WITH CONFIGURE - -#! /bin/sh -## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 - -# libtool (GNU libtool) 2.4.6 -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -PROGRAM=libtool -PACKAGE=libtool -VERSION=2.4.6 -package_revision=2.4.6 - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './libtool --help' for help with using this script from the -# command line. - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# After configure completes, it has a better idea of some of the -# shell tools we need than the defaults used by the functions shared -# with bootstrap, so set those here where they can still be over- -# ridden by the user, but otherwise take precedence. - -: ${AUTOCONF="autoconf"} -: ${AUTOMAKE="automake"} - - -## -------------------------- ## -## Source external libraries. ## -## -------------------------- ## - -# Much of our low-level functionality needs to be sourced from external -# libraries, which are installed to $pkgauxdir. - -# Set a version string for this script. -scriptversion=2015-01-20.17; # UTC - -# General shell script boiler plate, and helper functions. -# Written by Gary V. Vaughan, 2004 - -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# Evaluate this file near the top of your script to gain access to -# the functions and variables defined here: -# -# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh -# -# If you need to override any of the default environment variable -# settings, do that before evaluating this file. - - -## -------------------- ## -## Shell normalisation. ## -## -------------------- ## - -# Some shells need a little help to be as Bourne compatible as possible. -# Before doing anything else, make sure all that help has been provided! - -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac -fi - -# NLS nuisances: We save the old values in case they are required later. -_G_user_locale= -_G_safe_locale= -for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test set = \"\${$_G_var+set}\"; then - save_$_G_var=\$$_G_var - $_G_var=C - export $_G_var - _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" - _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" - fi" -done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Make sure IFS has a sensible default -sp=' ' -nl=' -' -IFS="$sp $nl" - -# There are apparently some retarded systems that use ';' as a PATH separator! -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - - -## ------------------------- ## -## Locate command utilities. ## -## ------------------------- ## - - -# func_executable_p FILE -# ---------------------- -# Check that FILE is an executable regular file. -func_executable_p () -{ - test -f "$1" && test -x "$1" -} - - -# func_path_progs PROGS_LIST CHECK_FUNC [PATH] -# -------------------------------------------- -# Search for either a program that responds to --version with output -# containing "GNU", or else returned by CHECK_FUNC otherwise, by -# trying all the directories in PATH with each of the elements of -# PROGS_LIST. -# -# CHECK_FUNC should accept the path to a candidate program, and -# set $func_check_prog_result if it truncates its output less than -# $_G_path_prog_max characters. -func_path_progs () -{ - _G_progs_list=$1 - _G_check_func=$2 - _G_PATH=${3-"$PATH"} - - _G_path_prog_max=0 - _G_path_prog_found=false - _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} - for _G_dir in $_G_PATH; do - IFS=$_G_save_IFS - test -z "$_G_dir" && _G_dir=. - for _G_prog_name in $_G_progs_list; do - for _exeext in '' .EXE; do - _G_path_prog=$_G_dir/$_G_prog_name$_exeext - func_executable_p "$_G_path_prog" || continue - case `"$_G_path_prog" --version 2>&1` in - *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; - *) $_G_check_func $_G_path_prog - func_path_progs_result=$func_check_prog_result - ;; - esac - $_G_path_prog_found && break 3 - done - done - done - IFS=$_G_save_IFS - test -z "$func_path_progs_result" && { - echo "no acceptable sed could be found in \$PATH" >&2 - exit 1 - } -} - - -# We want to be able to use the functions in this file before configure -# has figured out where the best binaries are kept, which means we have -# to search for them ourselves - except when the results are already set -# where we skip the searches. - -# Unless the user overrides by setting SED, search the path for either GNU -# sed, or the sed that truncates its output the least. -test -z "$SED" && { - _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for _G_i in 1 2 3 4 5 6 7; do - _G_sed_script=$_G_sed_script$nl$_G_sed_script - done - echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed - _G_sed_script= - - func_check_prog_sed () - { - _G_path_prog=$1 - - _G_count=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo '' >> conftest.nl - "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin - rm -f conftest.sed - SED=$func_path_progs_result -} - - -# Unless the user overrides by setting GREP, search the path for either GNU -# grep, or the grep that truncates its output the least. -test -z "$GREP" && { - func_check_prog_grep () - { - _G_path_prog=$1 - - _G_count=0 - _G_path_prog_max=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo 'GREP' >> conftest.nl - "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin - GREP=$func_path_progs_result -} - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase variable names are used for environment variables. These -# variables can be overridden by the user before calling a script that -# uses them if a suitable command of that name is not already available -# in the command search PATH. - -: ${CP="cp -f"} -: ${ECHO="printf %s\n"} -: ${EGREP="$GREP -E"} -: ${FGREP="$GREP -F"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} - - -## -------------------- ## -## Useful sed snippets. ## -## -------------------- ## - -sed_dirname='s|/[^/]*$||' -sed_basename='s|^.*/||' - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s|\([`"$\\]\)|\\\1|g' - -# Same as above, but do not quote variable references. -sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' - -# Sed substitution that converts a w32 file name or path -# that contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-'\' parameter expansions in output of sed_double_quote_subst that -# were '\'-ed in input to the same. If an odd number of '\' preceded a -# '$' in input to sed_double_quote_subst, that '$' was protected from -# expansion. Since each input '\' is now two '\'s, look for any number -# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. -_G_bs='\\' -_G_bs2='\\\\' -_G_bs4='\\\\\\\\' -_G_dollar='\$' -sed_double_backslash="\ - s/$_G_bs4/&\\ -/g - s/^$_G_bs2$_G_dollar/$_G_bs&/ - s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g - s/\n//g" - - -## ----------------- ## -## Global variables. ## -## ----------------- ## - -# Except for the global variables explicitly listed below, the following -# functions in the '^func_' namespace, and the '^require_' namespace -# variables initialised in the 'Resource management' section, sourcing -# this file will not pollute your global namespace with anything -# else. There's no portable way to scope variables in Bourne shell -# though, so actually running these functions will sometimes place -# results into a variable named after the function, and often use -# temporary variables in the '^_G_' namespace. If you are careful to -# avoid using those namespaces casually in your sourcing script, things -# should continue to work as you expect. And, of course, you can freely -# overwrite any of the functions or variables defined here before -# calling anything to customize them. - -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -# Allow overriding, eg assuming that you follow the convention of -# putting '$debug_cmd' at the start of all your functions, you can get -# bash to show function call trace with: -# -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name -debug_cmd=${debug_cmd-":"} -exit_cmd=: - -# By convention, finish your script with: -# -# exit $exit_status -# -# so that you can set exit_status to non-zero if you want to indicate -# something went wrong during execution without actually bailing out at -# the point of failure. -exit_status=$EXIT_SUCCESS - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath=$0 - -# The name of this program. -progname=`$ECHO "$progpath" |$SED "$sed_basename"` - -# Make sure we have an absolute progpath for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` - progdir=`cd "$progdir" && pwd` - progpath=$progdir/$progname - ;; - *) - _G_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS=$_G_IFS - test -x "$progdir/$progname" && break - done - IFS=$_G_IFS - test -n "$progdir" || progdir=`pwd` - progpath=$progdir/$progname - ;; -esac - - -## ----------------- ## -## Standard options. ## -## ----------------- ## - -# The following options affect the operation of the functions defined -# below, and should be set appropriately depending on run-time para- -# meters passed on the command line. - -opt_dry_run=false -opt_quiet=false -opt_verbose=false - -# Categories 'all' and 'none' are always available. Append any others -# you will pass as the first argument to func_warning from your own -# code. -warning_categories= - -# By default, display warnings according to 'opt_warning_types'. Set -# 'warning_func' to ':' to elide all warnings, or func_fatal_error to -# treat the next displayed warning as a fatal error. -warning_func=func_warn_and_continue - -# Set to 'all' to display all warnings, 'none' to suppress all -# warnings, or a space delimited list of some subset of -# 'warning_categories' to display only the listed warnings. -opt_warning_types=all - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Call them using their associated -# 'require_*' variable to ensure that they are executed, at most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_term_colors -# ------------------- -# Allow display of bold text on terminals that support it. -require_term_colors=func_require_term_colors -func_require_term_colors () -{ - $debug_cmd - - test -t 1 && { - # COLORTERM and USE_ANSI_COLORS environment variables take - # precedence, because most terminfo databases neglect to describe - # whether color sequences are supported. - test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} - - if test 1 = "$USE_ANSI_COLORS"; then - # Standard ANSI escape sequences - tc_reset='' - tc_bold=''; tc_standout='' - tc_red=''; tc_green='' - tc_blue=''; tc_cyan='' - else - # Otherwise trust the terminfo database after all. - test -n "`tput sgr0 2>/dev/null`" && { - tc_reset=`tput sgr0` - test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` - tc_standout=$tc_bold - test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` - test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` - test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` - test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` - test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` - } - fi - } - - require_term_colors=: -} - - -## ----------------- ## -## Function library. ## -## ----------------- ## - -# This section contains a variety of useful functions to call in your -# scripts. Take note of the portable wrappers for features provided by -# some modern shells, which will fall back to slower equivalents on -# less featureful shells. - - -# func_append VAR VALUE -# --------------------- -# Append VALUE onto the existing contents of VAR. - - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - - # _G_HAVE_PLUSEQ_OP - # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes - -if test yes = "$_G_HAVE_PLUSEQ_OP" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_append () - { - $debug_cmd - - eval "$1+=\$2" - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_append () - { - $debug_cmd - - eval "$1=\$$1\$2" - } -fi - - -# func_append_quoted VAR VALUE -# ---------------------------- -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -if test yes = "$_G_HAVE_PLUSEQ_OP"; then - eval 'func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" - }' -else - func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" - } -fi - - -# func_append_uniq VAR VALUE -# -------------------------- -# Append unique VALUE onto the existing contents of VAR, assuming -# entries are delimited by the first character of VALUE. For example: -# -# func_append_uniq options " --another-option option-argument" -# -# will only append to $options if " --another-option option-argument " -# is not already present somewhere in $options already (note spaces at -# each end implied by leading space in second argument). -func_append_uniq () -{ - $debug_cmd - - eval _G_current_value='`$ECHO $'$1'`' - _G_delim=`expr "$2" : '\(.\)'` - - case $_G_delim$_G_current_value$_G_delim in - *"$2$_G_delim"*) ;; - *) func_append "$@" ;; - esac -} - - -# func_arith TERM... -# ------------------ -# Set func_arith_result to the result of evaluating TERMs. - test -z "$_G_HAVE_ARITH_OP" \ - && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ - && _G_HAVE_ARITH_OP=yes - -if test yes = "$_G_HAVE_ARITH_OP"; then - eval 'func_arith () - { - $debug_cmd - - func_arith_result=$(( $* )) - }' -else - func_arith () - { - $debug_cmd - - func_arith_result=`expr "$@"` - } -fi - - -# func_basename FILE -# ------------------ -# Set func_basename_result to FILE with everything up to and including -# the last / stripped. -if test yes = "$_G_HAVE_XSI_OPS"; then - # If this shell supports suffix pattern removal, then use it to avoid - # forking. Hide the definitions single quotes in case the shell chokes - # on unsupported syntax... - _b='func_basename_result=${1##*/}' - _d='case $1 in - */*) func_dirname_result=${1%/*}$2 ;; - * ) func_dirname_result=$3 ;; - esac' - -else - # ...otherwise fall back to using sed. - _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' - _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` - if test "X$func_dirname_result" = "X$1"; then - func_dirname_result=$3 - else - func_append func_dirname_result "$2" - fi' -fi - -eval 'func_basename () -{ - $debug_cmd - - '"$_b"' -}' - - -# func_dirname FILE APPEND NONDIR_REPLACEMENT -# ------------------------------------------- -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -eval 'func_dirname () -{ - $debug_cmd - - '"$_d"' -}' - - -# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT -# -------------------------------------------------------- -# Perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# For efficiency, we do not delegate to the functions above but instead -# duplicate the functionality here. -eval 'func_dirname_and_basename () -{ - $debug_cmd - - '"$_b"' - '"$_d"' -}' - - -# func_echo ARG... -# ---------------- -# Echo program name prefixed message. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_echo_all ARG... -# -------------------- -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - - -# func_echo_infix_1 INFIX ARG... -# ------------------------------ -# Echo program name, followed by INFIX on the first line, with any -# additional lines not showing INFIX. -func_echo_infix_1 () -{ - $debug_cmd - - $require_term_colors - - _G_infix=$1; shift - _G_indent=$_G_infix - _G_prefix="$progname: $_G_infix: " - _G_message=$* - - # Strip color escape sequences before counting printable length - for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" - do - test -n "$_G_tc" && { - _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` - _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` - } - done - _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes - - func_echo_infix_1_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_infix_1_IFS - $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 - _G_prefix=$_G_indent - done - IFS=$func_echo_infix_1_IFS -} - - -# func_error ARG... -# ----------------- -# Echo program name prefixed message to standard error. -func_error () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 -} - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - $debug_cmd - - func_error "$*" - exit $EXIT_FAILURE -} - - -# func_grep EXPRESSION FILENAME -# ----------------------------- -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $debug_cmd - - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_len STRING -# --------------- -# Set func_len_result to the length of STRING. STRING may not -# start with a hyphen. - test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` - } -fi - - -# func_mkdir_p DIRECTORY-PATH -# --------------------------- -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - $debug_cmd - - _G_directory_path=$1 - _G_dir_list= - - if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - - # Protect directory names starting with '-' - case $_G_directory_path in - -*) _G_directory_path=./$_G_directory_path ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$_G_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - _G_dir_list=$_G_directory_path:$_G_dir_list - - # If the last portion added has no slash in it, the list is done - case $_G_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` - done - _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - - func_mkdir_p_IFS=$IFS; IFS=: - for _G_dir in $_G_dir_list; do - IFS=$func_mkdir_p_IFS - # mkdir can fail with a 'File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$_G_dir" 2>/dev/null || : - done - IFS=$func_mkdir_p_IFS - - # Bail out if we (or some other process) failed to create a directory. - test -d "$_G_directory_path" || \ - func_fatal_error "Failed to create '$1'" - fi -} - - -# func_mktempdir [BASENAME] -# ------------------------- -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, BASENAME is the basename for that directory. -func_mktempdir () -{ - $debug_cmd - - _G_template=${TMPDIR-/tmp}/${1-$progname} - - if test : = "$opt_dry_run"; then - # Return a directory name, but don't create it in dry-run mode - _G_tmpdir=$_G_template-$$ - else - - # If mktemp works, use that first and foremost - _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - - if test ! -d "$_G_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - _G_tmpdir=$_G_template-${RANDOM-0}$$ - - func_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$_G_tmpdir" - umask $func_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$_G_tmpdir" || \ - func_fatal_error "cannot create temporary directory '$_G_tmpdir'" - fi - - $ECHO "$_G_tmpdir" -} - - -# func_normal_abspath PATH -# ------------------------ -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -func_normal_abspath () -{ - $debug_cmd - - # These SED scripts presuppose an absolute path with a trailing slash. - _G_pathcar='s|^/\([^/]*\).*$|\1|' - _G_pathcdr='s|^/[^/]*||' - _G_removedotparts=':dotsl - s|/\./|/|g - t dotsl - s|/\.$|/|' - _G_collapseslashes='s|/\{1,\}|/|g' - _G_finalslash='s|/*$|/|' - - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` - while :; do - # Processed it all yet? - if test / = "$func_normal_abspath_tpath"; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result"; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - - -# func_notquiet ARG... -# -------------------- -# Echo program name prefixed message only when not in quiet mode. -func_notquiet () -{ - $debug_cmd - - $opt_quiet || func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - - -# func_relative_path SRCDIR DSTDIR -# -------------------------------- -# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. -func_relative_path () -{ - $debug_cmd - - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=$func_dirname_result - if test -z "$func_relative_path_tlibdir"; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test -n "$func_stripname_result"; then - func_append func_relative_path_result "/$func_stripname_result" - fi - - # Normalisation. If bindir is libdir, return '.' else relative path. - if test -n "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - fi - - test -n "$func_relative_path_result" || func_relative_path_result=. - - : -} - - -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () -{ - $debug_cmd - - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in - *[\\\`\"\$]*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" - fi - - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_quoted_arg=\"$_G_unquoted_arg\" - ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; - esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift - done -} - - -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - $debug_cmd - - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; - esac - - case $_G_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" - ;; - esac - - func_quote_for_expand_result=$_G_arg -} - - -# func_stripname PREFIX SUFFIX NAME -# --------------------------------- -# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_stripname () - { - $debug_cmd - - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary variable first. - func_stripname_result=$3 - func_stripname_result=${func_stripname_result#"$1"} - func_stripname_result=${func_stripname_result%"$2"} - }' -else - func_stripname () - { - $debug_cmd - - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; - esac - } -fi - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" - - $opt_dry_run || { - eval "$_G_cmd" - _G_status=$? - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_show_eval_locale CMD [FAIL_EXP] -# ------------------------------------ -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - $opt_dry_run || { - eval "$_G_user_locale - $_G_cmd" - _G_status=$? - eval "$_G_safe_locale" - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_tr_sh -# ---------- -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - $debug_cmd - - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_verbose ARG... -# ------------------- -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $debug_cmd - - $opt_verbose && func_echo "$*" - - : -} - - -# func_warn_and_continue ARG... -# ----------------------------- -# Echo program name prefixed warning message to standard error. -func_warn_and_continue () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 -} - - -# func_warning CATEGORY ARG... -# ---------------------------- -# Echo program name prefixed warning message to standard error. Warning -# messages can be filtered according to CATEGORY, where this function -# elides messages where CATEGORY is not listed in the global variable -# 'opt_warning_types'. -func_warning () -{ - $debug_cmd - - # CATEGORY must be in the warning_categories list! - case " $warning_categories " in - *" $1 "*) ;; - *) func_internal_error "invalid warning category '$1'" ;; - esac - - _G_category=$1 - shift - - case " $opt_warning_types " in - *" $_G_category "*) $warning_func ${1+"$@"} ;; - esac -} - - -# func_sort_ver VER1 VER2 -# ----------------------- -# 'sort -V' is not generally available. -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -func_sort_ver () -{ - $debug_cmd - - printf '%s\n%s\n' "$1" "$2" \ - | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n -} - -# func_lt_ver PREV CURR -# --------------------- -# Return true if PREV and CURR are in the correct order according to -# func_sort_ver, otherwise false. Use it like this: -# -# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." -func_lt_ver () -{ - $debug_cmd - - test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: -#! /bin/sh - -# Set a version string for this script. -scriptversion=2014-01-07.03; # UTC - -# A portable, pluggable option parser for Bourne shell. -# Written by Gary V. Vaughan, 2010 - -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# This file is a library for parsing options in your shell scripts along -# with assorted other useful supporting features that you can make use -# of too. -# -# For the simplest scripts you might need only: -# -# #!/bin/sh -# . relative/path/to/funclib.sh -# . relative/path/to/options-parser -# scriptversion=1.0 -# func_options ${1+"$@"} -# eval set dummy "$func_options_result"; shift -# ...rest of your script... -# -# In order for the '--version' option to work, you will need to have a -# suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. -# -# For '-h' and '--help' to work, you will also need a one line -# description of your script's purpose in a comment directly above the -# '# Written by ' line, like the one at the top of this file. -# -# The default options also support '--debug', which will turn on shell -# execution tracing (see the comment above debug_cmd below for another -# use), and '--verbose' and the func_verbose function to allow your script -# to display verbose messages only when your user has specified -# '--verbose'. -# -# After sourcing this file, you can plug processing for additional -# options by amending the variables from the 'Configuration' section -# below, and following the instructions in the 'Option parsing' -# section further down. - -## -------------- ## -## Configuration. ## -## -------------- ## - -# You should override these variables in your script after sourcing this -# file so that they reflect the customisations you have added to the -# option parser. - -# The usage line for option parsing errors and the start of '-h' and -# '--help' output messages. You can embed shell variables for delayed -# expansion at the time the message is displayed, but you will need to -# quote other shell meta-characters carefully to prevent them being -# expanded when the contents are evaled. -usage='$progpath [OPTION]...' - -# Short help message in response to '-h' and '--help'. Add to this or -# override it after sourcing this library to reflect the full set of -# options your script accepts. -usage_message="\ - --debug enable verbose shell tracing - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -v, --verbose verbosely report processing - --version print version information and exit - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=" -Warning categories include: - 'all' show all warnings - 'none' turn off all the warnings - 'error' warnings are treated as fatal errors" - -# Help message printed before fatal option parsing errors. -fatal_help="Try '\$progname --help' for more information." - - - -## ------------------------- ## -## Hook function management. ## -## ------------------------- ## - -# This section contains functions for adding, removing, and running hooks -# to the main code. A hook is just a named list of of function, that can -# be run in order later on. - -# func_hookable FUNC_NAME -# ----------------------- -# Declare that FUNC_NAME will run hooks added with -# 'func_add_hook FUNC_NAME ...'. -func_hookable () -{ - $debug_cmd - - func_append hookable_fns " $1" -} - - -# func_add_hook FUNC_NAME HOOK_FUNC -# --------------------------------- -# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must -# first have been declared "hookable" by a call to 'func_hookable'. -func_add_hook () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not accept hook functions." ;; - esac - - eval func_append ${1}_hooks '" $2"' -} - - -# func_remove_hook FUNC_NAME HOOK_FUNC -# ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. -func_remove_hook () -{ - $debug_cmd - - eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' -} - - -# func_run_hooks FUNC_NAME [ARG]... -# --------------------------------- -# Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more -# than a whitespace-delimited list of legal shell function names, and -# no effort is wasted trying to catch shell meta-characters or preserve -# whitespace. -func_run_hooks () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; - esac - - eval _G_hook_fns=\$$1_hooks; shift - - for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift - done - - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. Like this: -# -# my_options_prep () -# { -# $debug_cmd -# -# # Extend the existing usage message. -# usage_message=$usage_message' -# -s, --silent don'\''t print informational messages -# ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result -# } -# func_add_hook func_options_prep my_options_prep -# -# -# my_silent_option () -# { -# $debug_cmd -# -# # Note that for efficiency, we parse as many options as we can -# # recognise in a loop before passing the remainder back to the -# # caller on the first unrecognised argument we encounter. -# while test $# -gt 0; do -# opt=$1; shift -# case $opt in -# --silent|-s) opt_silent=: ;; -# # Separate non-argument short options: -# -s*) func_split_short_opt "$_G_opt" -# set dummy "$func_split_short_opt_name" \ -# "-$func_split_short_opt_arg" ${1+"$@"} -# shift -# ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; -# esac -# done -# -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result -# } -# func_add_hook func_parse_options my_silent_option -# -# -# my_option_validation () -# { -# $debug_cmd -# -# $opt_silent && $opt_verbose && func_fatal_help "\ -# '--silent' and '--verbose' options are mutually exclusive." -# -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result -# } -# func_add_hook func_validate_options my_option_validation -# -# You'll alse need to manually amend $usage_message to reflect the extra -# options you parse. It's preferable to append if you can, so that -# multiple option parsing hooks can be added safely. - - -# func_options [ARG]... -# --------------------- -# All the functions called inside func_options are hookable. See the -# individual implementations for details. -func_hookable func_options -func_options () -{ - $debug_cmd - - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} - - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} - - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result -} - - -# func_options_prep [ARG]... -# -------------------------- -# All initialisations required before starting the option parse loop. -# Note that when calling hook functions, we pass through the list of -# positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. -func_hookable func_options_prep -func_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_verbose=false - opt_warning_types= - - func_run_hooks func_options_prep ${1+"$@"} - - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result -} - - -# func_parse_options [ARG]... -# --------------------------- -# The main option parsing loop. -func_hookable func_parse_options -func_parse_options () -{ - $debug_cmd - - func_parse_options_result= - - # this just eases exit handling - while test $# -gt 0; do - # Defer to hook functions for initial option parsing, so they - # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift - - # Break out of the loop if we already parsed every option. - test $# -gt 0 || break - - _G_opt=$1 - shift - case $_G_opt in - --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" - $debug_cmd - ;; - - --no-warnings|--no-warning|--no-warn) - set dummy --warnings none ${1+"$@"} - shift - ;; - - --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break - case " $warning_categories $1" in - *" $1 "*) - # trailing space prevents matching last $1 above - func_append_uniq opt_warning_types " $1" - ;; - *all) - opt_warning_types=$warning_categories - ;; - *none) - opt_warning_types=none - warning_func=: - ;; - *error) - opt_warning_types=$warning_categories - warning_func=func_fatal_error - ;; - *) - func_fatal_error \ - "unsupported warning category: '$1'" - ;; - esac - shift - ;; - - --verbose|-v) opt_verbose=: ;; - --version) func_version ;; - -\?|-h) func_usage ;; - --help) func_help ;; - - # Separate optargs to long options (plugins may need this): - --*=*) func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - ;; - - # Separate optargs to short options: - -W*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-v*|-x*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result -} - - -# func_validate_options [ARG]... -# ------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -func_hookable func_validate_options -func_validate_options () -{ - $debug_cmd - - # Display all warnings if -W was not given. - test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - func_run_hooks func_validate_options ${1+"$@"} - - # Bail if the options were screwed! - $exit_cmd $EXIT_FAILURE - - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result -} - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of the -# hookable option parser framework in ascii-betical order. - - -# func_fatal_help ARG... -# ---------------------- -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - eval \$ECHO \""$fatal_help"\" - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - - -# func_help -# --------- -# Echo long help message to standard output and exit. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message" - exit 0 -} - - -# func_missing_arg ARGNAME -# ------------------------ -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $debug_cmd - - func_error "Missing argument for '$1'." - exit_cmd=exit -} - - -# func_split_equals STRING -# ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. -test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=${1%%=*} - func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` - func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ - || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` - } -fi #func_split_equals - - -# func_split_short_opt SHORTOPT -# ----------------------------- -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` - func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` - } -fi #func_split_short_opt - - -# func_usage -# ---------- -# Echo short help message to standard output and exit. -func_usage () -{ - $debug_cmd - - func_usage_message - $ECHO "Run '$progname --help |${PAGER-more}' for full usage" - exit 0 -} - - -# func_usage_message -# ------------------ -# Echo short help message to standard output. -func_usage_message () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - echo - $SED -n 's|^# || - /^Written by/{ - x;p;x - } - h - /^Written by/q' < "$progpath" - echo - eval \$ECHO \""$usage_message"\" -} - - -# func_version -# ------------ -# Echo version message to standard output and exit. -func_version () -{ - $debug_cmd - - printf '%s\n' "$progname $scriptversion" - $SED -n ' - /(C)/!b go - :more - /\./!{ - N - s|\n# | | - b more - } - :go - /^# Written by /,/# warranty; / { - s|^# || - s|^# *$|| - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - p - } - /^# Written by / { - s|^# || - p - } - /^warranty; /q' < "$progpath" - - exit $? -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: - -# Set a version string. -scriptversion='(GNU libtool) 2.4.6' - - -# func_echo ARG... -# ---------------- -# Libtool also displays the current mode in messages, so override -# funclib.sh func_echo with this custom definition. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_warning ARG... -# ------------------- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ - $debug_cmd - - $warning_func ${1+"$@"} -} - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]... [MODE-ARG]...' - -# Short help message in response to '-h'. -usage_message="Options: - --config show all configuration variables - --debug enable verbose shell tracing - -n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --mode=MODE use operation mode MODE - --no-warnings equivalent to '-Wnone' - --preserve-dup-deps don't remove duplicate dependency libraries - --quiet, --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - -v, --verbose print more informational messages than default - --version print version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message -" - -# Additional text appended to 'usage_message' in response to '--help'. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. When passed as first option, -'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. -Try '$progname --help --mode=MODE' for a more detailed description of MODE. - -When reporting a bug, please describe a test case to reproduce it and -include the following information: - - host-triplet: $host - shell: $SHELL - compiler: $LTCC - compiler flags: $LTCFLAGS - linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 - automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` - autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` - -Report bugs to . -GNU libtool home page: . -General help using GNU software: ." - exit 0 -} - - -# func_lo2o OBJECT-NAME -# --------------------- -# Transform OBJECT-NAME from a '.lo' suffix to the platform specific -# object suffix. - -lo2o=s/\\.lo\$/.$objext/ -o2lo=s/\\.$objext\$/.lo/ - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_lo2o () - { - case $1 in - *.lo) func_lo2o_result=${1%.lo}.$objext ;; - * ) func_lo2o_result=$1 ;; - esac - }' - - # func_xform LIBOBJ-OR-SOURCE - # --------------------------- - # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) - # suffix to a '.lo' libtool-object suffix. - eval 'func_xform () - { - func_xform_result=${1%.*}.lo - }' -else - # ...otherwise fall back to using sed. - func_lo2o () - { - func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` - } - - func_xform () - { - func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` - } -fi - - -# func_fatal_configuration ARG... -# ------------------------------- -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func__fatal_error ${1+"$@"} \ - "See the $PACKAGE documentation for more information." \ - "Fatal configuration error." -} - - -# func_config -# ----------- -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - - -# func_features -# ------------- -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test yes = "$build_libtool_libs"; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test yes = "$build_old_libs"; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - - -# func_enable_tag TAGNAME -# ----------------------- -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname=$1 - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf=/$re_begincf/,/$re_endcf/p - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - - -# func_check_version_match -# ------------------------ -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# libtool_options_prep [ARG]... -# ----------------------------- -# Preparation for options parsed by libtool. -libtool_options_prep () -{ - $debug_mode - - # Option defaults: - opt_config=false - opt_dlopen= - opt_dry_run=false - opt_help=false - opt_mode= - opt_preserve_dup_deps=false - opt_quiet=false - - nonopt= - preserve_args= - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - esac - - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result -} -func_add_hook func_options_prep libtool_options_prep - - -# libtool_parse_options [ARG]... -# --------------------------------- -# Provide handling for libtool specific options. -libtool_parse_options () -{ - $debug_cmd - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_opt=$1 - shift - case $_G_opt in - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - - --config) func_config ;; - - --dlopen|-dlopen) - opt_dlopen="${opt_dlopen+$opt_dlopen -}$1" - shift - ;; - - --preserve-dup-deps) - opt_preserve_dup_deps=: ;; - - --features) func_features ;; - - --finish) set dummy --mode finish ${1+"$@"}; shift ;; - - --help) opt_help=: ;; - - --help-all) opt_help=': help-all' ;; - - --mode) test $# = 0 && func_missing_arg $_G_opt && break - opt_mode=$1 - case $1 in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $_G_opt" - exit_cmd=exit - break - ;; - esac - shift - ;; - - --no-silent|--no-quiet) - opt_quiet=false - func_append preserve_args " $_G_opt" - ;; - - --no-warnings|--no-warning|--no-warn) - opt_warning=false - func_append preserve_args " $_G_opt" - ;; - - --no-verbose) - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --silent|--quiet) - opt_quiet=: - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --tag) test $# = 0 && func_missing_arg $_G_opt && break - opt_tag=$1 - func_append preserve_args " $_G_opt $1" - func_enable_tag "$1" - shift - ;; - - --verbose|-v) opt_quiet=false - opt_verbose=: - func_append preserve_args " $_G_opt" - ;; - - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; - esac - done - - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result -} -func_add_hook func_parse_options libtool_parse_options - - - -# libtool_validate_options [ARG]... -# --------------------------------- -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -libtool_validate_options () -{ - # save first non-option argument - if test 0 -lt $#; then - nonopt=$1 - shift - fi - - # preserve --debug - test : = "$debug_cmd" || func_append preserve_args " --debug" - - case $host in - # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 - # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - test yes != "$build_libtool_libs" \ - && test yes != "$build_old_libs" \ - && func_fatal_configuration "not configured to build any kind of library" - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test execute != "$opt_mode"; then - func_error "unrecognized option '-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help=$help - help="Try '$progname --help --mode=$opt_mode' for more information." - } - - # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result -} -func_add_hook func_validate_options libtool_validate_options - - -# Process options as early as possible so that --help and --version -# can return quickly. -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - - -## ----------- ## -## Main. ## -## ----------- ## - -magic='%%%MAGIC variable%%%' -magic_exe='%%%MAGIC EXE variable%%%' - -# Global variables. -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# func_generated_by_libtool -# True iff stdin has been generated by Libtool. This function is only -# a basic sanity check; it will hardly flush out determined imposters. -func_generated_by_libtool_p () -{ - $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if 'file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case $lalib_p_line in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test yes = "$lalib_p" -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - test -f "$1" && - $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $debug_cmd - - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# 'FILE.' does not work on cygwin managed mounts. -func_source () -{ - $debug_cmd - - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result='='$func_stripname_result - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $debug_cmd - - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with '--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=$1 - if test yes = "$build_libtool_libs"; then - write_lobj=\'$2\' - else - write_lobj=none - fi - - if test yes = "$build_old_libs"; then - write_oldobj=\'$3\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $debug_cmd - - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result= - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result"; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $debug_cmd - - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $debug_cmd - - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $debug_cmd - - if test -z "$2" && test -n "$1"; then - func_error "Could not determine host file name corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result=$1 - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $debug_cmd - - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " '$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result=$3 - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $debug_cmd - - case $4 in - $1 ) func_to_host_path_result=$3$func_to_host_path_result - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via '$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $debug_cmd - - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $debug_cmd - - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result=$1 -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result=$func_convert_core_msys_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result=$func_convert_core_file_wine_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via '$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $debug_cmd - - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd=func_convert_path_$func_stripname_result - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $debug_cmd - - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result=$1 -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_msys_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_path_wine_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_dll_def_p FILE -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with _LT_DLL_DEF_P in libtool.m4 -func_dll_def_p () -{ - $debug_cmd - - func_dll_def_p_tmp=`$SED -n \ - -e 's/^[ ]*//' \ - -e '/^\(;.*\)*$/d' \ - -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ - -e q \ - "$1"` - test DEF = "$func_dll_def_p_tmp" -} - - -# func_mode_compile arg... -func_mode_compile () -{ - $debug_cmd - - # Get the compilation command and the source file. - base_compile= - srcfile=$nonopt # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg=$arg - arg_mode=normal - ;; - - target ) - libobj=$arg - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify '-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs=$IFS; IFS=, - for arg in $args; do - IFS=$save_ifs - func_append_quoted lastarg "$arg" - done - IFS=$save_ifs - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg=$srcfile - srcfile=$arg - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with '-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj=$func_basename_result - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from '$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test yes = "$build_libtool_libs" \ - || func_fatal_configuration "cannot build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name '$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname=$func_basename_result - xdir=$func_dirname_result - lobj=$xdir$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test yes = "$build_old_libs"; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test no = "$compiler_c_o"; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext - lockfile=$output_obj.lock - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test yes = "$need_locks"; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test warn = "$need_locks"; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test yes = "$build_libtool_libs"; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test no != "$pic_mode"; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test yes = "$suppress_opt"; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test yes = "$build_old_libs"; then - if test yes != "$pic_mode"; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test yes = "$compiler_c_o"; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test no != "$need_locks"; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test compile = "$opt_mode" && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a '.o' file suitable for static linking - -static only build a '.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a 'standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix '.c' with the -library object suffix, '.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to '-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the '--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the 'install' or 'cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE use a list of object files found in FILE to specify objects - -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with '-') are ignored. - -Every other argument is treated as a filename. Files ending in '.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in '.la', then a libtool library is created, -only library objects ('.lo' files) may be specified, and '-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created -using 'ar' and 'ranlib', or on Windows using 'lib'. - -If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode '$opt_mode'" - ;; - esac - - echo - $ECHO "Try '$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test : = "$opt_help"; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | $SED -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - $SED '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $debug_cmd - - # The first argument is the command name. - cmd=$nonopt - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "'$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "'$file' was not linked with '-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir=$func_dirname_result - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir=$func_dirname_result - ;; - - *) - func_warning "'-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir=$absdir - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic=$magic - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file=$progdir/$program - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file=$progdir/$program - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if $opt_dry_run; then - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - else - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd=\$cmd$args - fi -} - -test execute = "$opt_mode" && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $debug_cmd - - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "'$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument '$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and '=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_quiet && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the '-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the '$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the '$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the '$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test finish = "$opt_mode" && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $debug_cmd - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac - then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=false - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=: ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test X-m = "X$prev" && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - func_append install_shared_prog " $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the '$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=: - if $isdir; then - destdir=$dest - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir=$func_dirname_result - destname=$func_basename_result - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "'$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "'$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir=$func_dirname_result - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking '$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname=$1 - shift - - srcname=$realname - test -n "$relink_command" && srcname=${realname}T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme=$stripme - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme= - ;; - esac - ;; - os2*) - case $realname in - *_dll.a) - tstripme= - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try 'ln -sf' first, because the 'ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib=$destdir/$realname - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name=$func_basename_result - instname=$dir/${name}i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest=$destfile - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to '$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test yes = "$build_old_libs"; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext= - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=.exe - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script '$wrapper'" - - finalize=: - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "'$lib' has not been installed in '$libdir'" - finalize=false - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test no = "$fast_install" && test -n "$relink_command"; then - $opt_dry_run || { - if $finalize; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file=$func_basename_result - outputname=$tmpdir/$file - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink '$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file=$outputname - else - func_warning "cannot relink '$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name=$func_basename_result - - # Set up the ranlib parameters. - oldlib=$destdir/$name - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run '$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test install = "$opt_mode" && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $debug_cmd - - my_outputname=$1 - my_originator=$2 - my_pic_p=${3-false} - my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms=${my_outputname}S.c - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist=$output_objdir/$my_outputname.nm - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* External symbol declarations for the compiler. */\ -" - - if test yes = "$dlself"; then - func_verbose "generating symbol list for '$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from '$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols=$output_objdir/$outputname.exp - $opt_dry_run || { - $RM $export_symbols - eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from '$dlprefile'" - func_basename "$dlprefile" - name=$func_basename_result - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename= - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname"; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename=$func_basename_result - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename"; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - func_show_eval '$RM "${nlist}I"' - if test -n "$global_symbol_to_import"; then - eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[];\ -" - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ -static void lt_syminit(void) -{ - LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; - for (; symbol->name; ++symbol) - {" - $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" - echo >> "$output_objdir/$my_dlsyms" "\ - } -}" - fi - echo >> "$output_objdir/$my_dlsyms" "\ -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{ {\"$my_originator\", (void *) 0}," - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ - {\"@INIT@\", (void *) <_syminit}," - fi - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - $my_pic_p && pic_flag_for_symtable=" $pic_flag" - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' - - # Transform the symbol file into the correct name. - symfileobj=$output_objdir/${my_outputname}S.$objext - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for '$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $debug_cmd - - win32_libid_type=unknown - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - case $nm_interface in - "MS dumpbin") - if func_cygming_ms_implib_p "$1" || - func_cygming_gnu_implib_p "$1" - then - win32_nmres=import - else - win32_nmres= - fi - ;; - *) - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s|.*|import| - p - q - } - }'` - ;; - esac - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $debug_cmd - - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $debug_cmd - - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive that possess that section. Heuristic: eliminate - # all those that have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $debug_cmd - - if func_cygming_gnu_implib_p "$1"; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1"; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result= - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $debug_cmd - - f_ex_an_ar_dir=$1; shift - f_ex_an_ar_oldlib=$1 - if test yes = "$lock_old_archive_extraction"; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test yes = "$lock_old_archive_extraction"; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $debug_cmd - - my_gentop=$1; shift - my_oldlibs=${1+"$@"} - my_oldobjs= - my_xlib= - my_xabs= - my_xdir= - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib=$func_basename_result - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir=$my_gentop/$my_xlib_u - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - func_basename "$darwin_archive" - darwin_base_archive=$func_basename_result - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches; do - func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" - $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" - cd "unfat-$$/$darwin_base_archive-$darwin_arch" - func_extract_an_archive "`pwd`" "$darwin_base_archive" - cd "$darwin_curdir" - $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result=$my_oldobjs -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory where it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ that is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options that match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test yes = "$fast_install"; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - \$ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* declarations of non-ANSI functions */ -#if defined __MINGW32__ -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined __CYGWIN__ -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined other_platform || defined ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined _MSC_VER -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -#elif defined __MINGW32__ -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined __CYGWIN__ -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined other platforms ... */ -#endif - -#if defined PATH_MAX -# define LT_PATHMAX PATH_MAX -#elif defined MAXPATHLEN -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ - defined __OS2__ -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free (stale); stale = 0; } \ -} while (0) - -#if defined LT_DEBUGWRAPPER -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - size_t tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined HAVE_DOS_BASED_FILE_SYSTEM - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined HAVE_DOS_BASED_FILE_SYSTEM - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = (size_t) (q - p); - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (STREQ (str, pat)) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - size_t len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - size_t orig_value_len = strlen (orig_value); - size_t add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - size_t len = strlen (new_value); - while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[--len] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $debug_cmd - - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_suncc_cstd_abi -# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! -# Several compiler flags select an ABI that is incompatible with the -# Cstd library. Avoid specifying it if any are in CXXFLAGS. -func_suncc_cstd_abi () -{ - $debug_cmd - - case " $compile_command " in - *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) - suncc_use_cstd_abi=no - ;; - *) - suncc_use_cstd_abi=yes - ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $debug_cmd - - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # what system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll that has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - os2dllname= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=false - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module=$wl-single_module - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test yes != "$build_libtool_libs" \ - && func_fatal_configuration "cannot build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg=$1 - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir=$arg - prev= - continue - ;; - dlfiles|dlprefiles) - $preload || { - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=: - } - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test no = "$dlself"; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test dlprefiles = "$prev"; then - dlself=yes - elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test dlfiles = "$prev"; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols=$arg - test -f "$arg" \ - || func_fatal_error "symbol file '$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex=$arg - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir=$arg - prev= - continue - ;; - mllvm) - # Clang does not use LLVM to link, so we can simply discard any - # '-mllvm $arg' options when doing the link step. - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - if test none != "$pic_object"; then - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - fi - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file '$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - os2dllname) - os2dllname=$arg - prev= - continue - ;; - precious_regex) - precious_files_regex=$arg - prev= - continue - ;; - release) - release=-$arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test rpath = "$prev"; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds=$arg - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg=$arg - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "'-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test X-export-symbols = "X$arg"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between '-L' and '$1'" - else - func_fatal_error "need path for '-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of '$dir'" - dir=$absdir - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test X-lc = "X$arg" || test X-lm = "X$arg"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test X-lc = "X$arg" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc due to us having libc/libc_r. - test X-lc = "X$arg" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test X-lc = "X$arg" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test X-lc = "X$arg" && continue - ;; - esac - elif test X-lc_r = "X$arg"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -mllvm) - prev=mllvm - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module=$wl-multi_module - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "'-no-install' is ignored for $host" - func_warning "assuming '-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -os2dllname) - prev=os2dllname - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # -fstack-protector* stack protector flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - # -stdlib=* select c++ std lib with clang - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - -Z*) - if test os2 = "`expr $host : '.*\(os2\)'`"; then - # OS/2 uses -Zxxx to specify OS/2-specific options - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case $arg in - -Zlinker | -Zstack) - prev=xcompiler - ;; - esac - continue - else - # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - fi - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - test none = "$pic_object" || { - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - } - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test dlfiles = "$prev"; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test dlprefiles = "$prev"; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the '$prevarg' option requires an argument" - - if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname=$func_basename_result - libobjs_save=$libobjs - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - # Definition is injected by LT_CONFIG during libtool generation. - func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" - - func_dirname "$output" "/" "" - output_objdir=$func_dirname_result$objdir - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test lib = "$linkmode"; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=false - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test lib,link = "$linkmode,$pass"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs=$tmp_deplibs - fi - - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass"; then - libs=$deplibs - deplibs= - fi - if test prog = "$linkmode"; then - case $pass in - dlopen) libs=$dlfiles ;; - dlpreopen) libs=$dlprefiles ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test lib,dlpreopen = "$linkmode,$pass"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs=$dlprefiles - fi - if test dlopen = "$pass"; then - # Collect dlpreopened libraries - save_deplibs=$deplibs - deplibs= - fi - - for deplib in $libs; do - lib= - found=false - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test lib != "$linkmode" && test prog != "$linkmode"; then - func_warning "'-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test lib = "$linkmode"; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib=$searchdir/lib$name$search_ext - if test -f "$lib"; then - if test .la = "$search_ext"; then - found=: - else - found=false - fi - break 2 - fi - done - done - if $found; then - # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll=$l - done - if test "X$ll" = "X$old_library"; then # only static version available - found=false - func_dirname "$lib" "" "." - ladir=$func_dirname_result - lib=$ladir/$old_library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - else - # deplib doesn't seem to be a libtool library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - ;; # -l - *.ltframework) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test conv = "$pass" && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - if test scan = "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "'-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test link = "$pass"; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=false - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=: - fi - ;; - pass_all) - valid_a_lib=: - ;; - esac - if $valid_a_lib; then - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - else - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - fi - ;; - esac - continue - ;; - prog) - if test link != "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - elif test prog = "$linkmode"; then - if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=: - continue - ;; - esac # case $deplib - - $found || test -f "$lib" \ - || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "'$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir=$func_dirname_result - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass" || - { test prog != "$linkmode" && test lib != "$linkmode"; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test conv = "$pass"; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - elif test prog != "$linkmode" && test lib != "$linkmode"; then - func_fatal_error "'$lib' is not a convenience library" - fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test yes = "$prefer_static_libs" || - test built,no = "$prefer_static_libs,$installed"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib=$l - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - - # This library was specified with -dlopen. - if test dlopen = "$pass"; then - test -z "$libdir" \ - && func_fatal_error "cannot -dlopen a convenience library: '$lib'" - if test -z "$dlname" || - test yes != "$dlopen_support" || - test no = "$build_libtool_libs" - then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of '$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir=$ladir - fi - ;; - esac - func_basename "$lib" - laname=$func_basename_result - - # Find the relevant object directory and library name. - if test yes = "$installed"; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library '$lib' was moved." - dir=$ladir - absdir=$abs_ladir - libdir=$abs_ladir - else - dir=$lt_sysroot$libdir - absdir=$lt_sysroot$libdir - fi - test yes = "$hardcode_automatic" && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir=$ladir - absdir=$abs_ladir - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir=$ladir/$objdir - absdir=$abs_ladir/$objdir - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test dlpreopen = "$pass"; then - if test -z "$libdir" && test prog = "$linkmode"; then - func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" - fi - case $host in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test lib = "$linkmode"; then - deplibs="$dir/$old_library $deplibs" - elif test prog,link = "$linkmode,$pass"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test prog = "$linkmode" && test link != "$pass"; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=false - if test no != "$link_all_deplibs" || test -z "$library_names" || - test no = "$build_libtool_libs"; then - linkalldeplibs=: - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if $linkalldeplibs; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test prog,link = "$linkmode,$pass"; then - if test -n "$library_names" && - { { test no = "$prefer_static_libs" || - test built,yes = "$prefer_static_libs,$installed"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then - # Make sure the rpath contains only unique directories. - case $temp_rpath: in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if $alldeplibs && - { test pass_all = "$deplibs_check_method" || - { test yes = "$build_libtool_libs" && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test built = "$use_static_libs" && test yes = "$installed"; then - use_static_libs=no - fi - if test -n "$library_names" && - { test no = "$use_static_libs" || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc* | *os2*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test no = "$installed"; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule= - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule=$dlpremoduletest - break - fi - done - if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then - echo - if test prog = "$linkmode"; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test lib = "$linkmode" && - test yes = "$hardcode_into_libs"; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname=$1 - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname=$dlname - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc* | *os2*) - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - esac - eval soname=\"$soname_spec\" - else - soname=$realname - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot=$soname - func_basename "$soroot" - soname=$func_basename_result - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from '$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for '$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test prog = "$linkmode" || test relink != "$opt_mode"; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test no = "$hardcode_direct"; then - add=$dir/$linklib - case $host in - *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; - *-*-sysv4*uw2*) add_dir=-L$dir ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir=-L$dir ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we cannot - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library"; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add=$dir/$old_library - fi - elif test -n "$old_library"; then - add=$dir/$old_library - fi - fi - esac - elif test no = "$hardcode_minus_L"; then - case $host in - *-*-sunos*) add_shlibpath=$dir ;; - esac - add_dir=-L$dir - add=-l$name - elif test no = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - relink) - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$dir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$absdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test yes != "$lib_linked"; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test prog = "$linkmode"; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test yes != "$hardcode_direct" && - test yes != "$hardcode_minus_L" && - test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test prog = "$linkmode" || test relink = "$opt_mode"; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$libdir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$libdir - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add=-l$name - elif test yes = "$hardcode_automatic"; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib"; then - add=$inst_prefix_dir$libdir/$linklib - else - add=$libdir/$linklib - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir=-L$libdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - fi - - if test prog = "$linkmode"; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test prog = "$linkmode"; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test unsupported != "$hardcode_direct"; then - test -n "$old_library" && linklib=$old_library - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test yes = "$build_libtool_libs"; then - # Not a shared library - if test pass_all != "$deplibs_check_method"; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system cannot link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test yes = "$module"; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test lib = "$linkmode"; then - if test -n "$dependency_libs" && - { test yes != "$hardcode_into_libs" || - test yes = "$build_old_libs" || - test yes = "$link_static"; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs=$temp_deplibs - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test no != "$link_all_deplibs"; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path=$deplib ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of '$dir'" - absdir=$dir - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names"; then - for tmp in $deplibrary_names; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl"; then - depdepl=$absdir/$objdir/$depdepl - darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" - func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" - path= - fi - fi - ;; - *) - path=-L$absdir/$objdir - ;; - esac - else - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "'$deplib' seems to be moved" - - path=-L$absdir - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test link = "$pass"; then - if test prog = "$linkmode"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs=$newdependency_libs - if test dlpreopen = "$pass"; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test dlopen != "$pass"; then - test conv = "$pass" || { - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - } - - if test prog,link = "$linkmode,$pass"; then - vars="compile_deplibs finalize_deplibs" - else - vars=deplibs - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - - # Add Sun CC postdeps if required: - test CXX = "$tagname" && { - case $host_os in - linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C++ 5.9 - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - - solaris*) - func_cc_basename "$CC" - case $func_cc_basename_result in - CC* | sunCC*) - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - esac - } - - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i= - ;; - esac - if test -n "$i"; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test prog = "$linkmode"; then - dlfiles=$newdlfiles - fi - if test prog = "$linkmode" || test lib = "$linkmode"; then - dlprefiles=$newdlprefiles - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "'-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "'-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs=$output - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form 'libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test no = "$module" \ - && func_fatal_help "libtool library '$output' must begin with 'lib'" - - if test no != "$need_lib_prefix"; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test pass_all != "$deplibs_check_method"; then - func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test no = "$dlself" \ - || func_warning "'-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test 1 -lt "$#" \ - && func_warning "ignoring multiple '-rpath's for a libtool library" - - install_libdir=$1 - - oldlibs= - if test -z "$rpath"; then - if test yes = "$build_libtool_libs"; then - # Building a libtool convenience library. - # Some compilers have problems with a '.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "'-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs=$IFS; IFS=: - set dummy $vinfo 0 0 0 - shift - IFS=$save_ifs - - test -n "$7" && \ - func_fatal_help "too many parameters to '-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major=$1 - number_minor=$2 - number_revision=$3 - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # that has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_revision - ;; - freebsd-aout|qnx|sunos) - current=$number_major - revision=$number_minor - age=0 - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_minor - lt_irix_increment=no - ;; - esac - ;; - no) - current=$1 - revision=$2 - age=$3 - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT '$current' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION '$revision' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE '$age' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE '$age' is greater than the current interface number '$current'" - func_fatal_error "'$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers - case $CC in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; - *) - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - esac - ;; - - freebsd-aout) - major=.$current - versuffix=.$current.$revision - ;; - - freebsd-elf) - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - irix | nonstopux) - if test no = "$lt_irix_increment"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring=$verstring_prefix$major.$revision - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test 0 -ne "$loop"; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring_prefix$major.$iface:$verstring - done - - # Before this point, $major must not contain '.'. - major=.$major - versuffix=$major.$revision - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=.$current.$age.$revision - verstring=$current.$age.$revision - - # Add in all the interfaces that we are compatible with. - loop=$age - while test 0 -ne "$loop"; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring:$iface.0 - done - - # Make executables depend on our current version. - func_append verstring ":$current.0" - ;; - - qnx) - major=.$current - versuffix=.$current - ;; - - sco) - major=.$current - versuffix=.$current - ;; - - sunos) - major=.$current - versuffix=.$current.$revision - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 file systems. - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - - *) - func_fatal_configuration "unknown library version type '$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring=0.0 - ;; - esac - if test no = "$need_version"; then - versuffix= - else - versuffix=.0.0 - fi - fi - - # Remove version info from name if versioning should be avoided - if test yes,no = "$avoid_version,$need_version"; then - major= - versuffix= - verstring= - fi - - # Check to see if the archive will have undefined symbols. - if test yes = "$allow_undefined"; then - if test unsupported = "$allow_undefined_flag"; then - if test yes = "$build_old_libs"; then - func_warning "undefined symbols not allowed in $host shared libraries; building static only" - build_libtool_libs=no - else - func_fatal_error "can't build $host shared library unless -no-undefined is specified" - fi - fi - else - # Don't allow undefined symbols. - allow_undefined_flag=$no_undefined_flag - fi - - fi - - func_generate_dlsyms "$libname" "$libname" : - func_append libobjs " $symfileobj" - test " " = "$libobjs" && libobjs= - - if test relink != "$opt_mode"; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) - if test -n "$precious_files_regex"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles=$dlfiles - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles=$dlprefiles - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test yes = "$build_libtool_libs"; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test yes = "$build_libtool_need_lc"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release= - versuffix= - major= - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib=$potent_lib - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | $SED 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; - *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib=$potent_lib # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs= - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - for i in $predeps $postdeps; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test none = "$deplibs_check_method"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test yes = "$droppeddeps"; then - if test yes = "$module"; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test no = "$allow_undefined"; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs=$new_libs - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test yes = "$build_libtool_libs"; then - # Remove $wl instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test yes = "$hardcode_into_libs"; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath=$finalize_rpath - test relink = "$opt_mode" || rpath=$compile_rpath$rpath - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath=$finalize_shlibpath - test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname=$1 - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname=$realname - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib=$output_objdir/$realname - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols=$output_objdir/$libname.uexp - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - func_dll_def_p "$export_symbols" || { - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols=$export_symbols - export_symbols= - always_export_symbols=yes - } - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs=$IFS; IFS='~' - for cmd1 in $cmds; do - IFS=$save_ifs - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test yes = "$try_normal_branch" \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=$output_objdir/$output_la.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS=$save_ifs - if test -n "$export_symbols_regex" && test : != "$skipped_export"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test : != "$skipped_export" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs=$tmp_deplibs - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test yes = "$compiler_needs_object" && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test : != "$skipped_export" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then - output=$output_objdir/$output_la.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test yes = "$compiler_needs_object"; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-$k.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test -z "$objlist" || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test 1 -eq "$k"; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-$k.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-$k.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - ${skipped_export-false} && { - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - } - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs=$IFS; IFS='~' - for cmd in $concat_cmds; do - IFS=$save_ifs - $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - ${skipped_export-false} && { - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - } - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs=$IFS; IFS='~' - for cmd in $cmds; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test yes = "$module" || test yes = "$export_dynamic"; then - # On all known operating systems, these are identical. - dlname=$soname - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "'-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object '$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj=$output - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # if reload_cmds runs $LD directly, get rid of -Wl from - # whole_archive_flag_spec and hope we can get by with turning comma - # into space. - case $reload_cmds in - *\$LD[\ \$]*) wl= ;; - esac - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags - else - gentop=$output_objdir/${obj}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test yes = "$build_libtool_libs" || libobjs=$non_pic_objects - - # Create the old-style object. - reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs - - output=$obj - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - test yes = "$build_libtool_libs" || { - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - } - - if test -n "$pic_flag" || test default != "$pic_mode"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output=$libobj - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "'-release' is ignored for programs" - - $preload \ - && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ - && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test CXX = "$tagname"; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " $wl-bind_at_load" - func_append finalize_command " $wl-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs=$new_libs - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath=$rpath - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath=$rpath - - if test -n "$libobjs" && test yes = "$build_old_libs"; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" false - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=: - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=false - ;; - *cygwin* | *mingw* ) - test yes = "$build_libtool_libs" || wrappers_required=false - ;; - *) - if test no = "$need_relink" || test yes != "$build_libtool_libs"; then - wrappers_required=false - fi - ;; - esac - $wrappers_required || { - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command=$compile_command$compile_rpath - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.$objext"; then - func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' - fi - - exit $exit_status - } - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test yes = "$no_install"; then - # We don't need to create a wrapper script. - link_command=$compile_var$compile_command$compile_rpath - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - case $hardcode_action,$fast_install in - relink,*) - # Fast installation is not supported - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "'$output' will be relinked during installation" - ;; - *,yes) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - ;; - *,no) - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - ;; - *,needless) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command= - ;; - esac - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource=$output_path/$objdir/lt-$output_name.c - cwrapper=$output_path/$output_name.exe - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host"; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - case $build_libtool_libs in - convenience) - oldobjs="$libobjs_save $symfileobj" - addlibs=$convenience - build_libtool_libs=no - ;; - module) - oldobjs=$libobjs_save - addlibs=$old_convenience - build_libtool_libs=no - ;; - *) - oldobjs="$old_deplibs $non_pic_objects" - $preload && test -f "$symfileobj" \ - && func_append oldobjs " $symfileobj" - addlibs=$old_convenience - ;; - esac - - if test -n "$addlibs"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase=$func_basename_result - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj"; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test -z "$oldobjs"; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test yes = "$build_old_libs" && old_library=$libname.$libext - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test yes = "$hardcode_automatic"; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test yes = "$installed"; then - if test -z "$install_libdir"; then - break - fi - output=$output_objdir/${outputname}i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name=$func_basename_result - func_resolve_sysroot "$deplib" - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs=$newdependency_libs - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles=$newdlprefiles - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles=$newdlprefiles - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test -n "$bindir"; then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result/$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test no,yes = "$installed,$need_relink"; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -if test link = "$opt_mode" || test relink = "$opt_mode"; then - func_mode_link ${1+"$@"} -fi - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $debug_cmd - - RM=$nonopt - files= - rmforce=false - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=: ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir=$func_dirname_result - if test . = "$dir"; then - odir=$objdir - else - odir=$dir/$objdir - fi - func_basename "$file" - name=$func_basename_result - test uninstall = "$opt_mode" && odir=$dir - - # Remember odir for removal later, being careful to avoid duplicates - if test clean = "$opt_mode"; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif $rmforce; then - continue - fi - - rmfiles=$file - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case $opt_mode in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && test none != "$pic_object"; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && test none != "$non_pic_object"; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test clean = "$opt_mode"; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.$objext" - if test yes = "$fast_install" && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name"; then - func_append rmfiles " $odir/lt-$noexename.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the $objdir's in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then - func_mode_uninstall ${1+"$@"} -fi - -test -z "$opt_mode" && { - help=$generic_help - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode '$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# where we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/man/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/man/Makefile deleted file mode 100644 index b5405e51..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/man/Makefile +++ /dev/null @@ -1,550 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# man/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - -VPATH = ../../Carthage/Checkouts/libwebp/man -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -am__append_1 = webpmux.1 -#am__append_2 = gif2webp.1 -#am__append_3 = img2webp.1 -#am__append_4 = vwebp.1 -am__append_5 = webpinfo.1 -subdir = man -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -am__installdirs = "$(DESTDIR)$(man1dir)" -NROFF = nroff -MANS = $(man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/man -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/man -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../Carthage/Checkouts/libwebp/man -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = ../../Carthage/Checkouts/libwebp -man_MANS = cwebp.1 dwebp.1 $(am__append_1) $(am__append_2) \ - $(am__append_3) $(am__append_4) $(am__append_5) -EXTRA_DIST = $(man_MANS) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign man/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(MANS) -installdirs: - for dir in "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man - -uninstall-man: uninstall-man1 - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags-am uninstall uninstall-am uninstall-man \ - uninstall-man1 - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/src/Makefile deleted file mode 100644 index 803a1e77..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/Makefile +++ /dev/null @@ -1,881 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# src/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - -VPATH = ../../Carthage/Checkouts/libwebp/src -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -am__append_1 = mux -am__append_2 = demux -am__append_3 = libwebpdecoder.la -am__append_4 = libwebpdecoder.pc -subdir = src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(common_HEADERS) \ - $(libwebpinclude_HEADERS) $(noinst_HEADERS) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = libwebp.pc libwebpdecoder.pc -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \ - "$(DESTDIR)$(commondir)" "$(DESTDIR)$(libwebpincludedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -libwebp_la_DEPENDENCIES = dec/libwebpdecode.la dsp/libwebpdsp.la \ - enc/libwebpencode.la utils/libwebputils.la -am_libwebp_la_OBJECTS = -libwebp_la_OBJECTS = $(am_libwebp_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -libwebp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libwebp_la_LDFLAGS) $(LDFLAGS) -o $@ -libwebpdecoder_la_DEPENDENCIES = \ - dec/libwebpdecode.la \ - dsp/libwebpdspdecode.la \ - utils/libwebputilsdecode.la -am_libwebpdecoder_la_OBJECTS = -libwebpdecoder_la_OBJECTS = $(am_libwebpdecoder_la_OBJECTS) -libwebpdecoder_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libwebpdecoder_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -am_libwebpdecoder_la_rpath = -rpath \ - $(libdir) -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/webp -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libwebp_la_SOURCES) $(libwebpdecoder_la_SOURCES) -DIST_SOURCES = $(libwebp_la_SOURCES) $(libwebpdecoder_la_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -DATA = $(pkgconfig_DATA) -HEADERS = $(common_HEADERS) $(libwebpinclude_HEADERS) \ - $(noinst_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir distdir-am -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = dec enc dsp utils . mux demux -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/libwebp.pc.in \ - $(srcdir)/libwebpdecoder.pc.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/src -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/src -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../Carthage/Checkouts/libwebp/src -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = ../../Carthage/Checkouts/libwebp - -# The mux and demux libraries depend on libwebp, thus the '.' to force -# the build order so it's available to them. -SUBDIRS = dec enc dsp utils . $(am__append_1) $(am__append_2) -lib_LTLIBRARIES = libwebp.la $(am__append_3) -common_HEADERS = webp/decode.h webp/types.h -commondir = $(includedir)/webp -libwebp_la_SOURCES = -libwebpinclude_HEADERS = webp/encode.h -noinst_HEADERS = webp/format_constants.h -libwebp_la_LIBADD = dec/libwebpdecode.la dsp/libwebpdsp.la \ - enc/libwebpencode.la utils/libwebputils.la - -# Use '-no-undefined' to declare that libwebp does not depend on any libraries -# other than the ones listed on the command line, i.e., after linking, it will -# not have unresolved symbols. Some platforms (Windows among them) require all -# symbols in shared libraries to be resolved at library creation. -libwebp_la_LDFLAGS = -no-undefined -version-info 8:0:1 -libwebpincludedir = $(includedir)/webp -pkgconfig_DATA = libwebp.pc $(am__append_4) -libwebpdecoder_la_SOURCES = -libwebpdecoder_la_LIBADD = \ - dec/libwebpdecode.la \ - dsp/libwebpdspdecode.la \ - utils/libwebputilsdecode.la -libwebpdecoder_la_LDFLAGS = -no-undefined -version-info 4:0:1 -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -libwebp.pc: $(top_builddir)/config.status $(srcdir)/libwebp.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -libwebpdecoder.pc: $(top_builddir)/config.status $(srcdir)/libwebpdecoder.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libwebp.la: $(libwebp_la_OBJECTS) $(libwebp_la_DEPENDENCIES) $(EXTRA_libwebp_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebp_la_LINK) -rpath $(libdir) $(libwebp_la_OBJECTS) $(libwebp_la_LIBADD) $(LIBS) - -libwebpdecoder.la: $(libwebpdecoder_la_OBJECTS) $(libwebpdecoder_la_DEPENDENCIES) $(EXTRA_libwebpdecoder_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdecoder_la_LINK) $(am_libwebpdecoder_la_rpath) $(libwebpdecoder_la_OBJECTS) $(libwebpdecoder_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) -install-commonHEADERS: $(common_HEADERS) - @$(NORMAL_INSTALL) - @list='$(common_HEADERS)'; test -n "$(commondir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(commondir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(commondir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(commondir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(commondir)" || exit $$?; \ - done - -uninstall-commonHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(common_HEADERS)'; test -n "$(commondir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(commondir)'; $(am__uninstall_files_from_dir) -install-libwebpincludeHEADERS: $(libwebpinclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(libwebpinclude_HEADERS)'; test -n "$(libwebpincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(libwebpincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libwebpincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libwebpincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(libwebpincludedir)" || exit $$?; \ - done - -uninstall-libwebpincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(libwebpinclude_HEADERS)'; test -n "$(libwebpincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(libwebpincludedir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(commondir)" "$(DESTDIR)$(libwebpincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-commonHEADERS install-libwebpincludeHEADERS \ - install-pkgconfigDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-commonHEADERS uninstall-libLTLIBRARIES \ - uninstall-libwebpincludeHEADERS uninstall-pkgconfigDATA - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libLTLIBRARIES \ - clean-libtool cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-commonHEADERS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-libLTLIBRARIES \ - install-libwebpincludeHEADERS install-man install-pdf \ - install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-commonHEADERS uninstall-libLTLIBRARIES \ - uninstall-libwebpincludeHEADERS uninstall-pkgconfigDATA - -.PRECIOUS: Makefile - - -${pkgconfig_DATA}: ${top_builddir}/config.status - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-alpha_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-alpha_dec.Plo deleted file mode 100644 index ba215217..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-alpha_dec.Plo +++ /dev/null @@ -1,377 +0,0 @@ -libwebpdecode_la-alpha_dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dec/alpha_dec.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/alphai_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/alphai_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-buffer_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-buffer_dec.Plo deleted file mode 100644 index ebaa9ee5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-buffer_dec.Plo +++ /dev/null @@ -1,368 +0,0 @@ -libwebpdecode_la-buffer_dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dec/buffer_dec.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-frame_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-frame_dec.Plo deleted file mode 100644 index 31ad61c8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-frame_dec.Plo +++ /dev/null @@ -1,368 +0,0 @@ -libwebpdecode_la-frame_dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dec/frame_dec.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-idec_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-idec_dec.Plo deleted file mode 100644 index 5802ab32..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-idec_dec.Plo +++ /dev/null @@ -1,374 +0,0 @@ -libwebpdecode_la-idec_dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dec/idec_dec.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/alphai_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/alphai_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-io_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-io_dec.Plo deleted file mode 100644 index 6aec9d2f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-io_dec.Plo +++ /dev/null @@ -1,371 +0,0 @@ -libwebpdecode_la-io_dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dec/io_dec.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-quant_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-quant_dec.Plo deleted file mode 100644 index b8e04b93..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-quant_dec.Plo +++ /dev/null @@ -1,257 +0,0 @@ -libwebpdecode_la-quant_dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dec/quant_dec.c \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-tree_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-tree_dec.Plo deleted file mode 100644 index 363fcf9a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-tree_dec.Plo +++ /dev/null @@ -1,284 +0,0 @@ -libwebpdecode_la-tree_dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dec/tree_dec.c \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_inl_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_inl_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-vp8_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-vp8_dec.Plo deleted file mode 100644 index ccf0864a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-vp8_dec.Plo +++ /dev/null @@ -1,380 +0,0 @@ -libwebpdecode_la-vp8_dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/alphai_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_inl_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/alphai_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_inl_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-vp8l_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-vp8l_dec.Plo deleted file mode 100644 index ff353446..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-vp8l_dec.Plo +++ /dev/null @@ -1,380 +0,0 @@ -libwebpdecode_la-vp8l_dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8l_dec.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/alphai_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/alphai_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-webp_dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-webp_dec.Plo deleted file mode 100644 index de24813d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/.deps/libwebpdecode_la-webp_dec.Plo +++ /dev/null @@ -1,371 +0,0 @@ -libwebpdecode_la-webp_dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dec/webp_dec.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/mux_types.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/mux_types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/src/dec/Makefile deleted file mode 100644 index abc08418..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dec/Makefile +++ /dev/null @@ -1,795 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# src/dec/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -VPATH = ../../../Carthage/Checkouts/libwebp/src/dec -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -subdir = src/dec -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(libwebpdecodeinclude_HEADERS) \ - $(noinst_HEADERS) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libwebpdecode_la_LIBADD = -am_libwebpdecode_la_OBJECTS = libwebpdecode_la-alpha_dec.lo \ - libwebpdecode_la-buffer_dec.lo libwebpdecode_la-frame_dec.lo \ - libwebpdecode_la-idec_dec.lo libwebpdecode_la-io_dec.lo \ - libwebpdecode_la-quant_dec.lo libwebpdecode_la-tree_dec.lo \ - libwebpdecode_la-vp8_dec.lo libwebpdecode_la-vp8l_dec.lo \ - libwebpdecode_la-webp_dec.lo -libwebpdecode_la_OBJECTS = $(am_libwebpdecode_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/webp -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/libwebpdecode_la-alpha_dec.Plo \ - ./$(DEPDIR)/libwebpdecode_la-buffer_dec.Plo \ - ./$(DEPDIR)/libwebpdecode_la-frame_dec.Plo \ - ./$(DEPDIR)/libwebpdecode_la-idec_dec.Plo \ - ./$(DEPDIR)/libwebpdecode_la-io_dec.Plo \ - ./$(DEPDIR)/libwebpdecode_la-quant_dec.Plo \ - ./$(DEPDIR)/libwebpdecode_la-tree_dec.Plo \ - ./$(DEPDIR)/libwebpdecode_la-vp8_dec.Plo \ - ./$(DEPDIR)/libwebpdecode_la-vp8l_dec.Plo \ - ./$(DEPDIR)/libwebpdecode_la-webp_dec.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libwebpdecode_la_SOURCES) -DIST_SOURCES = $(libwebpdecode_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libwebpdecodeincludedir)" -HEADERS = $(libwebpdecodeinclude_HEADERS) $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -I$(top_builddir) -I$(top_srcdir) -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/src/dec -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/src/dec -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../../Carthage/Checkouts/libwebp/src/dec -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../../../Carthage/Checkouts/libwebp -noinst_LTLIBRARIES = libwebpdecode.la -libwebpdecode_la_SOURCES = alpha_dec.c alphai_dec.h buffer_dec.c \ - common_dec.h vp8_dec.h frame_dec.c idec_dec.c io_dec.c \ - quant_dec.c tree_dec.c vp8_dec.c vp8i_dec.h vp8l_dec.c \ - vp8li_dec.h webp_dec.c webpi_dec.h -libwebpdecodeinclude_HEADERS = ../webp/decode.h ../webp/types.h -noinst_HEADERS = ../webp/format_constants.h -libwebpdecode_la_CPPFLAGS = $(AM_CPPFLAGS) -libwebpdecodeincludedir = $(includedir)/webp -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/dec/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/dec/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libwebpdecode.la: $(libwebpdecode_la_OBJECTS) $(libwebpdecode_la_DEPENDENCIES) $(EXTRA_libwebpdecode_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libwebpdecode_la_OBJECTS) $(libwebpdecode_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/libwebpdecode_la-alpha_dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdecode_la-buffer_dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdecode_la-frame_dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdecode_la-idec_dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdecode_la-io_dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdecode_la-quant_dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdecode_la-tree_dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdecode_la-vp8_dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdecode_la-vp8l_dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdecode_la-webp_dec.Plo # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -libwebpdecode_la-alpha_dec.lo: alpha_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdecode_la-alpha_dec.lo -MD -MP -MF $(DEPDIR)/libwebpdecode_la-alpha_dec.Tpo -c -o libwebpdecode_la-alpha_dec.lo `test -f 'alpha_dec.c' || echo '$(srcdir)/'`alpha_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdecode_la-alpha_dec.Tpo $(DEPDIR)/libwebpdecode_la-alpha_dec.Plo -# $(AM_V_CC)source='alpha_dec.c' object='libwebpdecode_la-alpha_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdecode_la-alpha_dec.lo `test -f 'alpha_dec.c' || echo '$(srcdir)/'`alpha_dec.c - -libwebpdecode_la-buffer_dec.lo: buffer_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdecode_la-buffer_dec.lo -MD -MP -MF $(DEPDIR)/libwebpdecode_la-buffer_dec.Tpo -c -o libwebpdecode_la-buffer_dec.lo `test -f 'buffer_dec.c' || echo '$(srcdir)/'`buffer_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdecode_la-buffer_dec.Tpo $(DEPDIR)/libwebpdecode_la-buffer_dec.Plo -# $(AM_V_CC)source='buffer_dec.c' object='libwebpdecode_la-buffer_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdecode_la-buffer_dec.lo `test -f 'buffer_dec.c' || echo '$(srcdir)/'`buffer_dec.c - -libwebpdecode_la-frame_dec.lo: frame_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdecode_la-frame_dec.lo -MD -MP -MF $(DEPDIR)/libwebpdecode_la-frame_dec.Tpo -c -o libwebpdecode_la-frame_dec.lo `test -f 'frame_dec.c' || echo '$(srcdir)/'`frame_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdecode_la-frame_dec.Tpo $(DEPDIR)/libwebpdecode_la-frame_dec.Plo -# $(AM_V_CC)source='frame_dec.c' object='libwebpdecode_la-frame_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdecode_la-frame_dec.lo `test -f 'frame_dec.c' || echo '$(srcdir)/'`frame_dec.c - -libwebpdecode_la-idec_dec.lo: idec_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdecode_la-idec_dec.lo -MD -MP -MF $(DEPDIR)/libwebpdecode_la-idec_dec.Tpo -c -o libwebpdecode_la-idec_dec.lo `test -f 'idec_dec.c' || echo '$(srcdir)/'`idec_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdecode_la-idec_dec.Tpo $(DEPDIR)/libwebpdecode_la-idec_dec.Plo -# $(AM_V_CC)source='idec_dec.c' object='libwebpdecode_la-idec_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdecode_la-idec_dec.lo `test -f 'idec_dec.c' || echo '$(srcdir)/'`idec_dec.c - -libwebpdecode_la-io_dec.lo: io_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdecode_la-io_dec.lo -MD -MP -MF $(DEPDIR)/libwebpdecode_la-io_dec.Tpo -c -o libwebpdecode_la-io_dec.lo `test -f 'io_dec.c' || echo '$(srcdir)/'`io_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdecode_la-io_dec.Tpo $(DEPDIR)/libwebpdecode_la-io_dec.Plo -# $(AM_V_CC)source='io_dec.c' object='libwebpdecode_la-io_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdecode_la-io_dec.lo `test -f 'io_dec.c' || echo '$(srcdir)/'`io_dec.c - -libwebpdecode_la-quant_dec.lo: quant_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdecode_la-quant_dec.lo -MD -MP -MF $(DEPDIR)/libwebpdecode_la-quant_dec.Tpo -c -o libwebpdecode_la-quant_dec.lo `test -f 'quant_dec.c' || echo '$(srcdir)/'`quant_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdecode_la-quant_dec.Tpo $(DEPDIR)/libwebpdecode_la-quant_dec.Plo -# $(AM_V_CC)source='quant_dec.c' object='libwebpdecode_la-quant_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdecode_la-quant_dec.lo `test -f 'quant_dec.c' || echo '$(srcdir)/'`quant_dec.c - -libwebpdecode_la-tree_dec.lo: tree_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdecode_la-tree_dec.lo -MD -MP -MF $(DEPDIR)/libwebpdecode_la-tree_dec.Tpo -c -o libwebpdecode_la-tree_dec.lo `test -f 'tree_dec.c' || echo '$(srcdir)/'`tree_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdecode_la-tree_dec.Tpo $(DEPDIR)/libwebpdecode_la-tree_dec.Plo -# $(AM_V_CC)source='tree_dec.c' object='libwebpdecode_la-tree_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdecode_la-tree_dec.lo `test -f 'tree_dec.c' || echo '$(srcdir)/'`tree_dec.c - -libwebpdecode_la-vp8_dec.lo: vp8_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdecode_la-vp8_dec.lo -MD -MP -MF $(DEPDIR)/libwebpdecode_la-vp8_dec.Tpo -c -o libwebpdecode_la-vp8_dec.lo `test -f 'vp8_dec.c' || echo '$(srcdir)/'`vp8_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdecode_la-vp8_dec.Tpo $(DEPDIR)/libwebpdecode_la-vp8_dec.Plo -# $(AM_V_CC)source='vp8_dec.c' object='libwebpdecode_la-vp8_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdecode_la-vp8_dec.lo `test -f 'vp8_dec.c' || echo '$(srcdir)/'`vp8_dec.c - -libwebpdecode_la-vp8l_dec.lo: vp8l_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdecode_la-vp8l_dec.lo -MD -MP -MF $(DEPDIR)/libwebpdecode_la-vp8l_dec.Tpo -c -o libwebpdecode_la-vp8l_dec.lo `test -f 'vp8l_dec.c' || echo '$(srcdir)/'`vp8l_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdecode_la-vp8l_dec.Tpo $(DEPDIR)/libwebpdecode_la-vp8l_dec.Plo -# $(AM_V_CC)source='vp8l_dec.c' object='libwebpdecode_la-vp8l_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdecode_la-vp8l_dec.lo `test -f 'vp8l_dec.c' || echo '$(srcdir)/'`vp8l_dec.c - -libwebpdecode_la-webp_dec.lo: webp_dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdecode_la-webp_dec.lo -MD -MP -MF $(DEPDIR)/libwebpdecode_la-webp_dec.Tpo -c -o libwebpdecode_la-webp_dec.lo `test -f 'webp_dec.c' || echo '$(srcdir)/'`webp_dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdecode_la-webp_dec.Tpo $(DEPDIR)/libwebpdecode_la-webp_dec.Plo -# $(AM_V_CC)source='webp_dec.c' object='libwebpdecode_la-webp_dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdecode_la-webp_dec.lo `test -f 'webp_dec.c' || echo '$(srcdir)/'`webp_dec.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-libwebpdecodeincludeHEADERS: $(libwebpdecodeinclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(libwebpdecodeinclude_HEADERS)'; test -n "$(libwebpdecodeincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(libwebpdecodeincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libwebpdecodeincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libwebpdecodeincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(libwebpdecodeincludedir)" || exit $$?; \ - done - -uninstall-libwebpdecodeincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(libwebpdecodeinclude_HEADERS)'; test -n "$(libwebpdecodeincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(libwebpdecodeincludedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(libwebpdecodeincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/libwebpdecode_la-alpha_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-buffer_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-frame_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-idec_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-io_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-quant_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-tree_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-vp8_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-vp8l_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-webp_dec.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-libwebpdecodeincludeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/libwebpdecode_la-alpha_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-buffer_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-frame_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-idec_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-io_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-quant_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-tree_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-vp8_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-vp8l_dec.Plo - -rm -f ./$(DEPDIR)/libwebpdecode_la-webp_dec.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libwebpdecodeincludeHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am \ - install-libwebpdecodeincludeHEADERS install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am \ - uninstall-libwebpdecodeincludeHEADERS - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/demux/.deps/anim_decode.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/demux/.deps/anim_decode.Plo deleted file mode 100644 index 04e1cda6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/demux/.deps/anim_decode.Plo +++ /dev/null @@ -1,251 +0,0 @@ -anim_decode.lo: \ - ../../../Carthage/Checkouts/libwebp/src/demux/anim_decode.c \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/demux.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/webp/demux.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/demux/.deps/demux.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/demux/.deps/demux.Plo deleted file mode 100644 index da2311fe..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/demux/.deps/demux.Plo +++ /dev/null @@ -1,343 +0,0 @@ -demux.lo: ../../../Carthage/Checkouts/libwebp/src/demux/demux.c \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/demux.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/webp/demux.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/demux/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/src/demux/Makefile deleted file mode 100644 index 5b7e1d98..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/demux/Makefile +++ /dev/null @@ -1,746 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# src/demux/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - -VPATH = ../../../Carthage/Checkouts/libwebp/src/demux -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -subdir = src/demux -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(libwebpdemuxinclude_HEADERS) \ - $(noinst_HEADERS) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = libwebpdemux.pc -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \ - "$(DESTDIR)$(libwebpdemuxincludedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -libwebpdemux_la_DEPENDENCIES = ../libwebp.la -am_libwebpdemux_la_OBJECTS = anim_decode.lo demux.lo -libwebpdemux_la_OBJECTS = $(am_libwebpdemux_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -libwebpdemux_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libwebpdemux_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/webp -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/anim_decode.Plo \ - ./$(DEPDIR)/demux.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libwebpdemux_la_SOURCES) -DIST_SOURCES = $(libwebpdemux_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -DATA = $(pkgconfig_DATA) -HEADERS = $(libwebpdemuxinclude_HEADERS) $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/libwebpdemux.pc.in \ - $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -I$(top_builddir) -I$(top_srcdir) -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/src/demux -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/src/demux -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../../Carthage/Checkouts/libwebp/src/demux -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../../../Carthage/Checkouts/libwebp -lib_LTLIBRARIES = libwebpdemux.la -libwebpdemux_la_SOURCES = anim_decode.c demux.c -libwebpdemuxinclude_HEADERS = ../webp/decode.h ../webp/demux.h \ - ../webp/mux_types.h ../webp/types.h -noinst_HEADERS = ../webp/format_constants.h -libwebpdemux_la_LIBADD = ../libwebp.la -libwebpdemux_la_LDFLAGS = -no-undefined -version-info 2:6:0 -libwebpdemuxincludedir = $(includedir)/webp -pkgconfig_DATA = libwebpdemux.pc -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/demux/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/demux/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -libwebpdemux.pc: $(top_builddir)/config.status $(srcdir)/libwebpdemux.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libwebpdemux.la: $(libwebpdemux_la_OBJECTS) $(libwebpdemux_la_DEPENDENCIES) $(EXTRA_libwebpdemux_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdemux_la_LINK) -rpath $(libdir) $(libwebpdemux_la_OBJECTS) $(libwebpdemux_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/anim_decode.Plo # am--include-marker -include ./$(DEPDIR)/demux.Plo # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) -install-libwebpdemuxincludeHEADERS: $(libwebpdemuxinclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(libwebpdemuxinclude_HEADERS)'; test -n "$(libwebpdemuxincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(libwebpdemuxincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libwebpdemuxincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libwebpdemuxincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(libwebpdemuxincludedir)" || exit $$?; \ - done - -uninstall-libwebpdemuxincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(libwebpdemuxinclude_HEADERS)'; test -n "$(libwebpdemuxincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(libwebpdemuxincludedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(libwebpdemuxincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/anim_decode.Plo - -rm -f ./$(DEPDIR)/demux.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-libwebpdemuxincludeHEADERS \ - install-pkgconfigDATA - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/anim_decode.Plo - -rm -f ./$(DEPDIR)/demux.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libLTLIBRARIES \ - uninstall-libwebpdemuxincludeHEADERS uninstall-pkgconfigDATA - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-libLTLIBRARIES \ - install-libwebpdemuxincludeHEADERS install-man install-pdf \ - install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-libLTLIBRARIES uninstall-libwebpdemuxincludeHEADERS \ - uninstall-pkgconfigDATA - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/demux/libwebpdemux.pc b/Carthage/Checkouts/PINRemoteImage/webp/src/demux/libwebpdemux.pc deleted file mode 100644 index c05caaa6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/demux/libwebpdemux.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdemux -Description: Library for parsing the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdemux diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-alpha_processing.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-alpha_processing.Plo deleted file mode 100644 index 493ccc66..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-alpha_processing.Plo +++ /dev/null @@ -1,191 +0,0 @@ -libwebpdsp_la-alpha_processing.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/alpha_processing.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-cost.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-cost.Plo deleted file mode 100644 index 6e90b5ef..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-cost.Plo +++ /dev/null @@ -1,346 +0,0 @@ -libwebpdsp_la-cost.lo: ../../../Carthage/Checkouts/libwebp/src/dsp/cost.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-cpu.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-cpu.Plo deleted file mode 100644 index 3788fb31..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-cpu.Plo +++ /dev/null @@ -1,187 +0,0 @@ -libwebpdsp_la-cpu.lo: ../../../Carthage/Checkouts/libwebp/src/dsp/cpu.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-dec.Plo deleted file mode 100644 index adbaf008..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-dec.Plo +++ /dev/null @@ -1,277 +0,0 @@ -libwebpdsp_la-dec.lo: ../../../Carthage/Checkouts/libwebp/src/dsp/dec.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-dec_clip_tables.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-dec_clip_tables.Plo deleted file mode 100644 index 5d67b22e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-dec_clip_tables.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_la-dec_clip_tables.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dec_clip_tables.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-enc.Plo deleted file mode 100644 index 73d28f46..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-enc.Plo +++ /dev/null @@ -1,343 +0,0 @@ -libwebpdsp_la-enc.lo: ../../../Carthage/Checkouts/libwebp/src/dsp/enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-filters.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-filters.Plo deleted file mode 100644 index 10185779..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-filters.Plo +++ /dev/null @@ -1,305 +0,0 @@ -libwebpdsp_la-filters.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/filters.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-lossless.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-lossless.Plo deleted file mode 100644 index e0cddd86..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-lossless.Plo +++ /dev/null @@ -1,374 +0,0 @@ -libwebpdsp_la-lossless.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-lossless_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-lossless_enc.Plo deleted file mode 100644 index c74648c1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-lossless_enc.Plo +++ /dev/null @@ -1,377 +0,0 @@ -libwebpdsp_la-lossless_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_enc.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-rescaler.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-rescaler.Plo deleted file mode 100644 index a44a94d0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-rescaler.Plo +++ /dev/null @@ -1,194 +0,0 @@ -libwebpdsp_la-rescaler.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/rescaler.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-ssim.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-ssim.Plo deleted file mode 100644 index d0bf9f3d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-ssim.Plo +++ /dev/null @@ -1,280 +0,0 @@ -libwebpdsp_la-ssim.lo: ../../../Carthage/Checkouts/libwebp/src/dsp/ssim.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-upsampling.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-upsampling.Plo deleted file mode 100644 index 015cf770..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-upsampling.Plo +++ /dev/null @@ -1,203 +0,0 @@ -libwebpdsp_la-upsampling.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/upsampling.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-yuv.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-yuv.Plo deleted file mode 100644 index 53216616..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_la-yuv.Plo +++ /dev/null @@ -1,292 +0,0 @@ -libwebpdsp_la-yuv.lo: ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips32_la-cost_mips32.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips32_la-cost_mips32.Plo deleted file mode 100644 index ace69bc3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips32_la-cost_mips32.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_mips32_la-cost_mips32.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/cost_mips32.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips32_la-enc_mips32.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips32_la-enc_mips32.Plo deleted file mode 100644 index 03c7a472..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips32_la-enc_mips32.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_mips32_la-enc_mips32.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/enc_mips32.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips32_la-lossless_enc_mips32.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips32_la-lossless_enc_mips32.Plo deleted file mode 100644 index bbbe8b04..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips32_la-lossless_enc_mips32.Plo +++ /dev/null @@ -1,347 +0,0 @@ -libwebpdsp_mips32_la-lossless_enc_mips32.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_enc_mips32.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.Plo deleted file mode 100644 index 2dfad128..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/cost_mips_dsp_r2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.Plo deleted file mode 100644 index 66ff3399..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/enc_mips_dsp_r2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.Plo deleted file mode 100644 index b4e05980..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_msa_la-enc_msa.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_msa_la-enc_msa.Plo deleted file mode 100644 index d93cbd1e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_msa_la-enc_msa.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_msa_la-enc_msa.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/enc_msa.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_msa_la-lossless_enc_msa.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_msa_la-lossless_enc_msa.Plo deleted file mode 100644 index 8ad45f02..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_msa_la-lossless_enc_msa.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_msa_la-lossless_enc_msa.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_enc_msa.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_neon_la-cost_neon.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_neon_la-cost_neon.Plo deleted file mode 100644 index 55f8546d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_neon_la-cost_neon.Plo +++ /dev/null @@ -1,353 +0,0 @@ -libwebpdsp_neon_la-cost_neon.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/cost_neon.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/neon.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/neon.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: - -../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_neon_la-enc_neon.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_neon_la-enc_neon.Plo deleted file mode 100644 index 356289dc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_neon_la-enc_neon.Plo +++ /dev/null @@ -1,260 +0,0 @@ -libwebpdsp_neon_la-enc_neon.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/enc_neon.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/neon.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/neon.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_neon_la-lossless_enc_neon.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_neon_la-lossless_enc_neon.Plo deleted file mode 100644 index 0be9d5b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_neon_la-lossless_enc_neon.Plo +++ /dev/null @@ -1,350 +0,0 @@ -libwebpdsp_neon_la-lossless_enc_neon.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_enc_neon.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/neon.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/neon.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-cost_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-cost_sse2.Plo deleted file mode 100644 index 820c5045..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-cost_sse2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_sse2_la-cost_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/cost_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-enc_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-enc_sse2.Plo deleted file mode 100644 index d110c2e5..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-enc_sse2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_sse2_la-enc_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/enc_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-lossless_enc_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-lossless_enc_sse2.Plo deleted file mode 100644 index 776682b8..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-lossless_enc_sse2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_sse2_la-lossless_enc_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_enc_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-ssim_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-ssim_sse2.Plo deleted file mode 100644 index 2c83e6f4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse2_la-ssim_sse2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_sse2_la-ssim_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/ssim_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse41_la-enc_sse41.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse41_la-enc_sse41.Plo deleted file mode 100644 index 2cc21188..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse41_la-enc_sse41.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_sse41_la-enc_sse41.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/enc_sse41.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse41_la-lossless_enc_sse41.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse41_la-lossless_enc_sse41.Plo deleted file mode 100644 index 768fe0a6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdsp_sse41_la-lossless_enc_sse41.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdsp_sse41_la-lossless_enc_sse41.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_enc_sse41.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-alpha_processing.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-alpha_processing.Plo deleted file mode 100644 index 23a9d135..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-alpha_processing.Plo +++ /dev/null @@ -1,191 +0,0 @@ -libwebpdspdecode_la-alpha_processing.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/alpha_processing.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-cpu.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-cpu.Plo deleted file mode 100644 index 883bf412..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-cpu.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_la-cpu.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/cpu.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-dec.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-dec.Plo deleted file mode 100644 index 499bb967..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-dec.Plo +++ /dev/null @@ -1,278 +0,0 @@ -libwebpdspdecode_la-dec.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dec.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-dec_clip_tables.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-dec_clip_tables.Plo deleted file mode 100644 index 42cf334f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-dec_clip_tables.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_la-dec_clip_tables.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dec_clip_tables.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-filters.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-filters.Plo deleted file mode 100644 index bc12a5af..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-filters.Plo +++ /dev/null @@ -1,305 +0,0 @@ -libwebpdspdecode_la-filters.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/filters.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-lossless.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-lossless.Plo deleted file mode 100644 index b17435aa..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-lossless.Plo +++ /dev/null @@ -1,374 +0,0 @@ -libwebpdspdecode_la-lossless.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-rescaler.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-rescaler.Plo deleted file mode 100644 index 2669b5a4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-rescaler.Plo +++ /dev/null @@ -1,194 +0,0 @@ -libwebpdspdecode_la-rescaler.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/rescaler.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-upsampling.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-upsampling.Plo deleted file mode 100644 index 4c62ff44..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-upsampling.Plo +++ /dev/null @@ -1,203 +0,0 @@ -libwebpdspdecode_la-upsampling.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/upsampling.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-yuv.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-yuv.Plo deleted file mode 100644 index 1f67b8e6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_la-yuv.Plo +++ /dev/null @@ -1,293 +0,0 @@ -libwebpdspdecode_la-yuv.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips32_la-dec_mips32.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips32_la-dec_mips32.Plo deleted file mode 100644 index 9e4a6cea..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips32_la-dec_mips32.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_mips32_la-dec_mips32.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dec_mips32.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips32_la-rescaler_mips32.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips32_la-rescaler_mips32.Plo deleted file mode 100644 index b92f7d5e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips32_la-rescaler_mips32.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_mips32_la-rescaler_mips32.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/rescaler_mips32.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips32_la-yuv_mips32.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips32_la-yuv_mips32.Plo deleted file mode 100644 index 89d3cd9b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips32_la-yuv_mips32.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_mips32_la-yuv_mips32.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv_mips32.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.Plo deleted file mode 100644 index d504d057..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.Plo deleted file mode 100644 index fdcb06db..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dec_mips_dsp_r2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.Plo deleted file mode 100644 index b090c9cc..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/filters_mips_dsp_r2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.Plo deleted file mode 100644 index 1a643745..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_mips_dsp_r2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.Plo deleted file mode 100644 index 2a2fb48f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/rescaler_mips_dsp_r2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.Plo deleted file mode 100644 index b6c33382..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/upsampling_mips_dsp_r2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.Plo deleted file mode 100644 index a744f9d2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv_mips_dsp_r2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-dec_msa.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-dec_msa.Plo deleted file mode 100644 index f33eba1a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-dec_msa.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_msa_la-dec_msa.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dec_msa.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-filters_msa.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-filters_msa.Plo deleted file mode 100644 index db847f15..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-filters_msa.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_msa_la-filters_msa.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/filters_msa.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-lossless_msa.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-lossless_msa.Plo deleted file mode 100644 index 9b73d905..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-lossless_msa.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_msa_la-lossless_msa.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_msa.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-rescaler_msa.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-rescaler_msa.Plo deleted file mode 100644 index e26acf2c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-rescaler_msa.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_msa_la-rescaler_msa.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/rescaler_msa.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-upsampling_msa.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-upsampling_msa.Plo deleted file mode 100644 index 0630b519..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_msa_la-upsampling_msa.Plo +++ /dev/null @@ -1,212 +0,0 @@ -libwebpdspdecode_msa_la-upsampling_msa.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/upsampling_msa.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-alpha_processing_neon.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-alpha_processing_neon.Plo deleted file mode 100644 index 7e3de073..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-alpha_processing_neon.Plo +++ /dev/null @@ -1,194 +0,0 @@ -libwebpdspdecode_neon_la-alpha_processing_neon.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/alpha_processing_neon.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/neon.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/neon.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-dec_neon.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-dec_neon.Plo deleted file mode 100644 index 9b8b410b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-dec_neon.Plo +++ /dev/null @@ -1,263 +0,0 @@ -libwebpdspdecode_neon_la-dec_neon.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dec_neon.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/neon.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/neon.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-filters_neon.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-filters_neon.Plo deleted file mode 100644 index 7a438c0f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-filters_neon.Plo +++ /dev/null @@ -1,197 +0,0 @@ -libwebpdspdecode_neon_la-filters_neon.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/filters_neon.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/neon.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/neon.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-lossless_neon.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-lossless_neon.Plo deleted file mode 100644 index 29e07198..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-lossless_neon.Plo +++ /dev/null @@ -1,350 +0,0 @@ -libwebpdspdecode_neon_la-lossless_neon.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_neon.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/neon.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/neon.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-rescaler_neon.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-rescaler_neon.Plo deleted file mode 100644 index 2e387bb3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-rescaler_neon.Plo +++ /dev/null @@ -1,200 +0,0 @@ -libwebpdspdecode_neon_la-rescaler_neon.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/rescaler_neon.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/neon.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/neon.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-upsampling_neon.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-upsampling_neon.Plo deleted file mode 100644 index ea8180dd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-upsampling_neon.Plo +++ /dev/null @@ -1,233 +0,0 @@ -libwebpdspdecode_neon_la-upsampling_neon.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/upsampling_neon.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/neon.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/neon.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-yuv_neon.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-yuv_neon.Plo deleted file mode 100644 index 5e078795..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_neon_la-yuv_neon.Plo +++ /dev/null @@ -1,299 +0,0 @@ -libwebpdspdecode_neon_la-yuv_neon.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv_neon.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/neon.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/neon.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-alpha_processing_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-alpha_processing_sse2.Plo deleted file mode 100644 index 1a0b8a8d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-alpha_processing_sse2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_sse2_la-alpha_processing_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/alpha_processing_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-dec_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-dec_sse2.Plo deleted file mode 100644 index 440132cd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-dec_sse2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_sse2_la-dec_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dec_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-filters_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-filters_sse2.Plo deleted file mode 100644 index df2ad2e9..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-filters_sse2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_sse2_la-filters_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/filters_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-lossless_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-lossless_sse2.Plo deleted file mode 100644 index 2fad2b3f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-lossless_sse2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_sse2_la-lossless_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-rescaler_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-rescaler_sse2.Plo deleted file mode 100644 index fcafd2dd..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-rescaler_sse2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_sse2_la-rescaler_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/rescaler_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-upsampling_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-upsampling_sse2.Plo deleted file mode 100644 index d000e4b3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-upsampling_sse2.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_sse2_la-upsampling_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/upsampling_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-yuv_sse2.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-yuv_sse2.Plo deleted file mode 100644 index c9a12938..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse2_la-yuv_sse2.Plo +++ /dev/null @@ -1,200 +0,0 @@ -libwebpdspdecode_sse2_la-yuv_sse2.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv_sse2.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-alpha_processing_sse41.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-alpha_processing_sse41.Plo deleted file mode 100644 index fc3fa866..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-alpha_processing_sse41.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_sse41_la-alpha_processing_sse41.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/alpha_processing_sse41.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-dec_sse41.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-dec_sse41.Plo deleted file mode 100644 index 15402926..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-dec_sse41.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_sse41_la-dec_sse41.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dec_sse41.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-upsampling_sse41.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-upsampling_sse41.Plo deleted file mode 100644 index 7e8e954b..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-upsampling_sse41.Plo +++ /dev/null @@ -1,188 +0,0 @@ -libwebpdspdecode_sse41_la-upsampling_sse41.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/upsampling_sse41.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-yuv_sse41.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-yuv_sse41.Plo deleted file mode 100644 index 10b80d73..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/.deps/libwebpdspdecode_sse41_la-yuv_sse41.Plo +++ /dev/null @@ -1,200 +0,0 @@ -libwebpdspdecode_sse41_la-yuv_sse41.lo: \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv_sse41.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/Makefile deleted file mode 100644 index af9760d0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/dsp/Makefile +++ /dev/null @@ -1,1782 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# src/dsp/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -VPATH = ../../../Carthage/Checkouts/libwebp/src/dsp -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -am__append_1 = libwebpdspdecode.la -subdir = src/dsp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(common_HEADERS) \ - $(noinst_HEADERS) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libwebpdsp_la_DEPENDENCIES = libwebpdsp_sse2.la libwebpdsp_sse41.la \ - libwebpdsp_neon.la libwebpdsp_msa.la libwebpdsp_mips32.la \ - libwebpdsp_mips_dsp_r2.la -am__objects_1 = libwebpdsp_la-alpha_processing.lo libwebpdsp_la-cpu.lo \ - libwebpdsp_la-dec.lo libwebpdsp_la-dec_clip_tables.lo \ - libwebpdsp_la-filters.lo libwebpdsp_la-lossless.lo \ - libwebpdsp_la-rescaler.lo libwebpdsp_la-upsampling.lo \ - libwebpdsp_la-yuv.lo -am__objects_2 = libwebpdsp_la-cost.lo libwebpdsp_la-enc.lo \ - libwebpdsp_la-lossless_enc.lo libwebpdsp_la-ssim.lo -am_libwebpdsp_la_OBJECTS = $(am__objects_1) $(am__objects_2) -libwebpdsp_la_OBJECTS = $(am_libwebpdsp_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -libwebpdsp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libwebpdsp_la_LDFLAGS) $(LDFLAGS) -o $@ -libwebpdsp_mips32_la_DEPENDENCIES = libwebpdspdecode_mips32.la -am_libwebpdsp_mips32_la_OBJECTS = libwebpdsp_mips32_la-cost_mips32.lo \ - libwebpdsp_mips32_la-enc_mips32.lo \ - libwebpdsp_mips32_la-lossless_enc_mips32.lo -libwebpdsp_mips32_la_OBJECTS = $(am_libwebpdsp_mips32_la_OBJECTS) -libwebpdsp_mips32_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdsp_mips32_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libwebpdsp_mips_dsp_r2_la_DEPENDENCIES = \ - libwebpdspdecode_mips_dsp_r2.la -am_libwebpdsp_mips_dsp_r2_la_OBJECTS = \ - libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.lo \ - libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.lo \ - libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.lo -libwebpdsp_mips_dsp_r2_la_OBJECTS = \ - $(am_libwebpdsp_mips_dsp_r2_la_OBJECTS) -libwebpdsp_mips_dsp_r2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdsp_mips_dsp_r2_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libwebpdsp_msa_la_DEPENDENCIES = libwebpdspdecode_msa.la -am_libwebpdsp_msa_la_OBJECTS = libwebpdsp_msa_la-enc_msa.lo \ - libwebpdsp_msa_la-lossless_enc_msa.lo -libwebpdsp_msa_la_OBJECTS = $(am_libwebpdsp_msa_la_OBJECTS) -libwebpdsp_msa_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdsp_msa_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -libwebpdsp_neon_la_DEPENDENCIES = libwebpdspdecode_neon.la -am_libwebpdsp_neon_la_OBJECTS = libwebpdsp_neon_la-cost_neon.lo \ - libwebpdsp_neon_la-enc_neon.lo \ - libwebpdsp_neon_la-lossless_enc_neon.lo -libwebpdsp_neon_la_OBJECTS = $(am_libwebpdsp_neon_la_OBJECTS) -libwebpdsp_neon_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdsp_neon_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libwebpdsp_sse2_la_DEPENDENCIES = libwebpdspdecode_sse2.la -am_libwebpdsp_sse2_la_OBJECTS = libwebpdsp_sse2_la-cost_sse2.lo \ - libwebpdsp_sse2_la-enc_sse2.lo \ - libwebpdsp_sse2_la-lossless_enc_sse2.lo \ - libwebpdsp_sse2_la-ssim_sse2.lo -libwebpdsp_sse2_la_OBJECTS = $(am_libwebpdsp_sse2_la_OBJECTS) -libwebpdsp_sse2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdsp_sse2_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libwebpdsp_sse41_la_DEPENDENCIES = libwebpdspdecode_sse41.la -am_libwebpdsp_sse41_la_OBJECTS = libwebpdsp_sse41_la-enc_sse41.lo \ - libwebpdsp_sse41_la-lossless_enc_sse41.lo -libwebpdsp_sse41_la_OBJECTS = $(am_libwebpdsp_sse41_la_OBJECTS) -libwebpdsp_sse41_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdsp_sse41_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libwebpdspdecode_la_DEPENDENCIES = \ - libwebpdspdecode_sse2.la \ - libwebpdspdecode_sse41.la \ - libwebpdspdecode_neon.la \ - libwebpdspdecode_msa.la \ - libwebpdspdecode_mips32.la \ - libwebpdspdecode_mips_dsp_r2.la -am__libwebpdspdecode_la_SOURCES_DIST = alpha_processing.c cpu.c dec.c \ - dec_clip_tables.c dsp.h filters.c lossless.c lossless.h \ - lossless_common.h rescaler.c upsampling.c yuv.c yuv.h -am__objects_3 = libwebpdspdecode_la-alpha_processing.lo \ - libwebpdspdecode_la-cpu.lo libwebpdspdecode_la-dec.lo \ - libwebpdspdecode_la-dec_clip_tables.lo \ - libwebpdspdecode_la-filters.lo libwebpdspdecode_la-lossless.lo \ - libwebpdspdecode_la-rescaler.lo \ - libwebpdspdecode_la-upsampling.lo libwebpdspdecode_la-yuv.lo -am_libwebpdspdecode_la_OBJECTS = \ - $(am__objects_3) -libwebpdspdecode_la_OBJECTS = $(am_libwebpdspdecode_la_OBJECTS) -libwebpdspdecode_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libwebpdspdecode_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -am_libwebpdspdecode_la_rpath = -libwebpdspdecode_mips32_la_LIBADD = -am_libwebpdspdecode_mips32_la_OBJECTS = \ - libwebpdspdecode_mips32_la-dec_mips32.lo \ - libwebpdspdecode_mips32_la-rescaler_mips32.lo \ - libwebpdspdecode_mips32_la-yuv_mips32.lo -libwebpdspdecode_mips32_la_OBJECTS = \ - $(am_libwebpdspdecode_mips32_la_OBJECTS) -libwebpdspdecode_mips32_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdspdecode_mips32_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libwebpdspdecode_mips_dsp_r2_la_LIBADD = -am_libwebpdspdecode_mips_dsp_r2_la_OBJECTS = libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.lo \ - libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.lo \ - libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.lo \ - libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.lo \ - libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.lo \ - libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.lo \ - libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.lo -libwebpdspdecode_mips_dsp_r2_la_OBJECTS = \ - $(am_libwebpdspdecode_mips_dsp_r2_la_OBJECTS) -libwebpdspdecode_mips_dsp_r2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -libwebpdspdecode_msa_la_LIBADD = -am_libwebpdspdecode_msa_la_OBJECTS = \ - libwebpdspdecode_msa_la-dec_msa.lo \ - libwebpdspdecode_msa_la-filters_msa.lo \ - libwebpdspdecode_msa_la-lossless_msa.lo \ - libwebpdspdecode_msa_la-rescaler_msa.lo \ - libwebpdspdecode_msa_la-upsampling_msa.lo -libwebpdspdecode_msa_la_OBJECTS = \ - $(am_libwebpdspdecode_msa_la_OBJECTS) -libwebpdspdecode_msa_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libwebpdspdecode_neon_la_LIBADD = -am_libwebpdspdecode_neon_la_OBJECTS = \ - libwebpdspdecode_neon_la-alpha_processing_neon.lo \ - libwebpdspdecode_neon_la-dec_neon.lo \ - libwebpdspdecode_neon_la-filters_neon.lo \ - libwebpdspdecode_neon_la-lossless_neon.lo \ - libwebpdspdecode_neon_la-rescaler_neon.lo \ - libwebpdspdecode_neon_la-upsampling_neon.lo \ - libwebpdspdecode_neon_la-yuv_neon.lo -libwebpdspdecode_neon_la_OBJECTS = \ - $(am_libwebpdspdecode_neon_la_OBJECTS) -libwebpdspdecode_neon_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libwebpdspdecode_sse2_la_LIBADD = -am_libwebpdspdecode_sse2_la_OBJECTS = \ - libwebpdspdecode_sse2_la-alpha_processing_sse2.lo \ - libwebpdspdecode_sse2_la-dec_sse2.lo \ - libwebpdspdecode_sse2_la-filters_sse2.lo \ - libwebpdspdecode_sse2_la-lossless_sse2.lo \ - libwebpdspdecode_sse2_la-rescaler_sse2.lo \ - libwebpdspdecode_sse2_la-upsampling_sse2.lo \ - libwebpdspdecode_sse2_la-yuv_sse2.lo -libwebpdspdecode_sse2_la_OBJECTS = \ - $(am_libwebpdspdecode_sse2_la_OBJECTS) -libwebpdspdecode_sse2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -libwebpdspdecode_sse41_la_LIBADD = -am_libwebpdspdecode_sse41_la_OBJECTS = \ - libwebpdspdecode_sse41_la-alpha_processing_sse41.lo \ - libwebpdspdecode_sse41_la-dec_sse41.lo \ - libwebpdspdecode_sse41_la-upsampling_sse41.lo \ - libwebpdspdecode_sse41_la-yuv_sse41.lo -libwebpdspdecode_sse41_la_OBJECTS = \ - $(am_libwebpdspdecode_sse41_la_OBJECTS) -libwebpdspdecode_sse41_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(libwebpdspdecode_sse41_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/webp -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/libwebpdsp_la-alpha_processing.Plo \ - ./$(DEPDIR)/libwebpdsp_la-cost.Plo \ - ./$(DEPDIR)/libwebpdsp_la-cpu.Plo \ - ./$(DEPDIR)/libwebpdsp_la-dec.Plo \ - ./$(DEPDIR)/libwebpdsp_la-dec_clip_tables.Plo \ - ./$(DEPDIR)/libwebpdsp_la-enc.Plo \ - ./$(DEPDIR)/libwebpdsp_la-filters.Plo \ - ./$(DEPDIR)/libwebpdsp_la-lossless.Plo \ - ./$(DEPDIR)/libwebpdsp_la-lossless_enc.Plo \ - ./$(DEPDIR)/libwebpdsp_la-rescaler.Plo \ - ./$(DEPDIR)/libwebpdsp_la-ssim.Plo \ - ./$(DEPDIR)/libwebpdsp_la-upsampling.Plo \ - ./$(DEPDIR)/libwebpdsp_la-yuv.Plo \ - ./$(DEPDIR)/libwebpdsp_mips32_la-cost_mips32.Plo \ - ./$(DEPDIR)/libwebpdsp_mips32_la-enc_mips32.Plo \ - ./$(DEPDIR)/libwebpdsp_mips32_la-lossless_enc_mips32.Plo \ - ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.Plo \ - ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.Plo \ - ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.Plo \ - ./$(DEPDIR)/libwebpdsp_msa_la-enc_msa.Plo \ - ./$(DEPDIR)/libwebpdsp_msa_la-lossless_enc_msa.Plo \ - ./$(DEPDIR)/libwebpdsp_neon_la-cost_neon.Plo \ - ./$(DEPDIR)/libwebpdsp_neon_la-enc_neon.Plo \ - ./$(DEPDIR)/libwebpdsp_neon_la-lossless_enc_neon.Plo \ - ./$(DEPDIR)/libwebpdsp_sse2_la-cost_sse2.Plo \ - ./$(DEPDIR)/libwebpdsp_sse2_la-enc_sse2.Plo \ - ./$(DEPDIR)/libwebpdsp_sse2_la-lossless_enc_sse2.Plo \ - ./$(DEPDIR)/libwebpdsp_sse2_la-ssim_sse2.Plo \ - ./$(DEPDIR)/libwebpdsp_sse41_la-enc_sse41.Plo \ - ./$(DEPDIR)/libwebpdsp_sse41_la-lossless_enc_sse41.Plo \ - ./$(DEPDIR)/libwebpdspdecode_la-alpha_processing.Plo \ - ./$(DEPDIR)/libwebpdspdecode_la-cpu.Plo \ - ./$(DEPDIR)/libwebpdspdecode_la-dec.Plo \ - ./$(DEPDIR)/libwebpdspdecode_la-dec_clip_tables.Plo \ - ./$(DEPDIR)/libwebpdspdecode_la-filters.Plo \ - ./$(DEPDIR)/libwebpdspdecode_la-lossless.Plo \ - ./$(DEPDIR)/libwebpdspdecode_la-rescaler.Plo \ - ./$(DEPDIR)/libwebpdspdecode_la-upsampling.Plo \ - ./$(DEPDIR)/libwebpdspdecode_la-yuv.Plo \ - ./$(DEPDIR)/libwebpdspdecode_mips32_la-dec_mips32.Plo \ - ./$(DEPDIR)/libwebpdspdecode_mips32_la-rescaler_mips32.Plo \ - ./$(DEPDIR)/libwebpdspdecode_mips32_la-yuv_mips32.Plo \ - ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_msa_la-dec_msa.Plo \ - ./$(DEPDIR)/libwebpdspdecode_msa_la-filters_msa.Plo \ - ./$(DEPDIR)/libwebpdspdecode_msa_la-lossless_msa.Plo \ - ./$(DEPDIR)/libwebpdspdecode_msa_la-rescaler_msa.Plo \ - ./$(DEPDIR)/libwebpdspdecode_msa_la-upsampling_msa.Plo \ - ./$(DEPDIR)/libwebpdspdecode_neon_la-alpha_processing_neon.Plo \ - ./$(DEPDIR)/libwebpdspdecode_neon_la-dec_neon.Plo \ - ./$(DEPDIR)/libwebpdspdecode_neon_la-filters_neon.Plo \ - ./$(DEPDIR)/libwebpdspdecode_neon_la-lossless_neon.Plo \ - ./$(DEPDIR)/libwebpdspdecode_neon_la-rescaler_neon.Plo \ - ./$(DEPDIR)/libwebpdspdecode_neon_la-upsampling_neon.Plo \ - ./$(DEPDIR)/libwebpdspdecode_neon_la-yuv_neon.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse2_la-alpha_processing_sse2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse2_la-dec_sse2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse2_la-filters_sse2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse2_la-lossless_sse2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse2_la-rescaler_sse2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse2_la-upsampling_sse2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse2_la-yuv_sse2.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse41_la-alpha_processing_sse41.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse41_la-dec_sse41.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse41_la-upsampling_sse41.Plo \ - ./$(DEPDIR)/libwebpdspdecode_sse41_la-yuv_sse41.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libwebpdsp_la_SOURCES) $(libwebpdsp_mips32_la_SOURCES) \ - $(libwebpdsp_mips_dsp_r2_la_SOURCES) \ - $(libwebpdsp_msa_la_SOURCES) $(libwebpdsp_neon_la_SOURCES) \ - $(libwebpdsp_sse2_la_SOURCES) $(libwebpdsp_sse41_la_SOURCES) \ - $(libwebpdspdecode_la_SOURCES) \ - $(libwebpdspdecode_mips32_la_SOURCES) \ - $(libwebpdspdecode_mips_dsp_r2_la_SOURCES) \ - $(libwebpdspdecode_msa_la_SOURCES) \ - $(libwebpdspdecode_neon_la_SOURCES) \ - $(libwebpdspdecode_sse2_la_SOURCES) \ - $(libwebpdspdecode_sse41_la_SOURCES) -DIST_SOURCES = $(libwebpdsp_la_SOURCES) \ - $(libwebpdsp_mips32_la_SOURCES) \ - $(libwebpdsp_mips_dsp_r2_la_SOURCES) \ - $(libwebpdsp_msa_la_SOURCES) $(libwebpdsp_neon_la_SOURCES) \ - $(libwebpdsp_sse2_la_SOURCES) $(libwebpdsp_sse41_la_SOURCES) \ - $(am__libwebpdspdecode_la_SOURCES_DIST) \ - $(libwebpdspdecode_mips32_la_SOURCES) \ - $(libwebpdspdecode_mips_dsp_r2_la_SOURCES) \ - $(libwebpdspdecode_msa_la_SOURCES) \ - $(libwebpdspdecode_neon_la_SOURCES) \ - $(libwebpdspdecode_sse2_la_SOURCES) \ - $(libwebpdspdecode_sse41_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(commondir)" -HEADERS = $(common_HEADERS) $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -I$(top_builddir) -I$(top_srcdir) -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/src/dsp -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/src/dsp -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../../Carthage/Checkouts/libwebp/src/dsp -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../../../Carthage/Checkouts/libwebp -noinst_LTLIBRARIES = libwebpdsp.la libwebpdsp_sse2.la \ - libwebpdspdecode_sse2.la libwebpdsp_sse41.la \ - libwebpdspdecode_sse41.la libwebpdsp_neon.la \ - libwebpdspdecode_neon.la libwebpdsp_msa.la \ - libwebpdspdecode_msa.la libwebpdsp_mips32.la \ - libwebpdspdecode_mips32.la libwebpdsp_mips_dsp_r2.la \ - libwebpdspdecode_mips_dsp_r2.la $(am__append_1) -common_HEADERS = ../webp/types.h -commondir = $(includedir)/webp -COMMON_SOURCES = alpha_processing.c cpu.c dec.c dec_clip_tables.c \ - dsp.h filters.c lossless.c lossless.h lossless_common.h \ - rescaler.c upsampling.c yuv.c yuv.h -ENC_SOURCES = cost.c enc.c lossless_enc.c quant.h ssim.c -libwebpdspdecode_sse41_la_SOURCES = alpha_processing_sse41.c \ - dec_sse41.c upsampling_sse41.c yuv_sse41.c -libwebpdspdecode_sse41_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdspdecode_sse41_la_CFLAGS = $(AM_CFLAGS) $(SSE41_FLAGS) -libwebpdspdecode_sse2_la_SOURCES = alpha_processing_sse2.c \ - common_sse2.h dec_sse2.c filters_sse2.c lossless_sse2.c \ - rescaler_sse2.c upsampling_sse2.c yuv_sse2.c -libwebpdspdecode_sse2_la_CPPFLAGS = $(libwebpdsp_sse2_la_CPPFLAGS) -libwebpdspdecode_sse2_la_CFLAGS = $(libwebpdsp_sse2_la_CFLAGS) -libwebpdspdecode_neon_la_SOURCES = alpha_processing_neon.c dec_neon.c \ - filters_neon.c lossless_neon.c neon.h rescaler_neon.c \ - upsampling_neon.c yuv_neon.c -libwebpdspdecode_neon_la_CPPFLAGS = $(libwebpdsp_neon_la_CPPFLAGS) -libwebpdspdecode_neon_la_CFLAGS = $(libwebpdsp_neon_la_CFLAGS) -libwebpdspdecode_msa_la_SOURCES = dec_msa.c filters_msa.c \ - lossless_msa.c msa_macro.h rescaler_msa.c upsampling_msa.c -libwebpdspdecode_msa_la_CPPFLAGS = $(libwebpdsp_msa_la_CPPFLAGS) -libwebpdspdecode_msa_la_CFLAGS = $(libwebpdsp_msa_la_CFLAGS) -libwebpdspdecode_mips32_la_SOURCES = dec_mips32.c mips_macro.h \ - rescaler_mips32.c yuv_mips32.c -libwebpdspdecode_mips32_la_CPPFLAGS = $(libwebpdsp_mips32_la_CPPFLAGS) -libwebpdspdecode_mips32_la_CFLAGS = $(libwebpdsp_mips32_la_CFLAGS) -libwebpdspdecode_mips_dsp_r2_la_SOURCES = \ - alpha_processing_mips_dsp_r2.c dec_mips_dsp_r2.c \ - filters_mips_dsp_r2.c lossless_mips_dsp_r2.c mips_macro.h \ - rescaler_mips_dsp_r2.c upsampling_mips_dsp_r2.c \ - yuv_mips_dsp_r2.c -libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS = $(libwebpdsp_mips_dsp_r2_la_CPPFLAGS) -libwebpdspdecode_mips_dsp_r2_la_CFLAGS = $(libwebpdsp_mips_dsp_r2_la_CFLAGS) -libwebpdsp_sse2_la_SOURCES = cost_sse2.c enc_sse2.c \ - lossless_enc_sse2.c ssim_sse2.c -libwebpdsp_sse2_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_sse2_la_CFLAGS = $(AM_CFLAGS) $(SSE2_FLAGS) -libwebpdsp_sse2_la_LIBADD = libwebpdspdecode_sse2.la -libwebpdsp_sse41_la_SOURCES = enc_sse41.c lossless_enc_sse41.c -libwebpdsp_sse41_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_sse41_la_CFLAGS = $(AM_CFLAGS) $(SSE41_FLAGS) -libwebpdsp_sse41_la_LIBADD = libwebpdspdecode_sse41.la -libwebpdsp_neon_la_SOURCES = cost_neon.c enc_neon.c \ - lossless_enc_neon.c -libwebpdsp_neon_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_neon_la_CFLAGS = $(AM_CFLAGS) $(NEON_FLAGS) -libwebpdsp_neon_la_LIBADD = libwebpdspdecode_neon.la -libwebpdsp_msa_la_SOURCES = enc_msa.c lossless_enc_msa.c -libwebpdsp_msa_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_msa_la_CFLAGS = $(AM_CFLAGS) -libwebpdsp_msa_la_LIBADD = libwebpdspdecode_msa.la -libwebpdsp_mips32_la_SOURCES = cost_mips32.c enc_mips32.c \ - lossless_enc_mips32.c -libwebpdsp_mips32_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_mips32_la_CFLAGS = $(AM_CFLAGS) -libwebpdsp_mips32_la_LIBADD = libwebpdspdecode_mips32.la -libwebpdsp_mips_dsp_r2_la_SOURCES = cost_mips_dsp_r2.c \ - enc_mips_dsp_r2.c lossless_enc_mips_dsp_r2.c -libwebpdsp_mips_dsp_r2_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdsp_mips_dsp_r2_la_CFLAGS = $(AM_CFLAGS) -libwebpdsp_mips_dsp_r2_la_LIBADD = libwebpdspdecode_mips_dsp_r2.la -libwebpdsp_la_SOURCES = $(COMMON_SOURCES) $(ENC_SOURCES) -noinst_HEADERS = ../dec/vp8_dec.h ../webp/decode.h -libwebpdsp_la_CPPFLAGS = $(AM_CPPFLAGS) $(USE_SWAP_16BIT_CSP) -libwebpdsp_la_LDFLAGS = -lm -libwebpdsp_la_LIBADD = libwebpdsp_sse2.la libwebpdsp_sse41.la \ - libwebpdsp_neon.la libwebpdsp_msa.la libwebpdsp_mips32.la \ - libwebpdsp_mips_dsp_r2.la -libwebpdspdecode_la_SOURCES = $(COMMON_SOURCES) -libwebpdspdecode_la_CPPFLAGS = $(libwebpdsp_la_CPPFLAGS) -libwebpdspdecode_la_LDFLAGS = $(libwebpdsp_la_LDFLAGS) -libwebpdspdecode_la_LIBADD = \ - libwebpdspdecode_sse2.la \ - libwebpdspdecode_sse41.la \ - libwebpdspdecode_neon.la \ - libwebpdspdecode_msa.la \ - libwebpdspdecode_mips32.la \ - libwebpdspdecode_mips_dsp_r2.la -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/dsp/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/dsp/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libwebpdsp.la: $(libwebpdsp_la_OBJECTS) $(libwebpdsp_la_DEPENDENCIES) $(EXTRA_libwebpdsp_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdsp_la_LINK) $(libwebpdsp_la_OBJECTS) $(libwebpdsp_la_LIBADD) $(LIBS) - -libwebpdsp_mips32.la: $(libwebpdsp_mips32_la_OBJECTS) $(libwebpdsp_mips32_la_DEPENDENCIES) $(EXTRA_libwebpdsp_mips32_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdsp_mips32_la_LINK) $(libwebpdsp_mips32_la_OBJECTS) $(libwebpdsp_mips32_la_LIBADD) $(LIBS) - -libwebpdsp_mips_dsp_r2.la: $(libwebpdsp_mips_dsp_r2_la_OBJECTS) $(libwebpdsp_mips_dsp_r2_la_DEPENDENCIES) $(EXTRA_libwebpdsp_mips_dsp_r2_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdsp_mips_dsp_r2_la_LINK) $(libwebpdsp_mips_dsp_r2_la_OBJECTS) $(libwebpdsp_mips_dsp_r2_la_LIBADD) $(LIBS) - -libwebpdsp_msa.la: $(libwebpdsp_msa_la_OBJECTS) $(libwebpdsp_msa_la_DEPENDENCIES) $(EXTRA_libwebpdsp_msa_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdsp_msa_la_LINK) $(libwebpdsp_msa_la_OBJECTS) $(libwebpdsp_msa_la_LIBADD) $(LIBS) - -libwebpdsp_neon.la: $(libwebpdsp_neon_la_OBJECTS) $(libwebpdsp_neon_la_DEPENDENCIES) $(EXTRA_libwebpdsp_neon_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdsp_neon_la_LINK) $(libwebpdsp_neon_la_OBJECTS) $(libwebpdsp_neon_la_LIBADD) $(LIBS) - -libwebpdsp_sse2.la: $(libwebpdsp_sse2_la_OBJECTS) $(libwebpdsp_sse2_la_DEPENDENCIES) $(EXTRA_libwebpdsp_sse2_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdsp_sse2_la_LINK) $(libwebpdsp_sse2_la_OBJECTS) $(libwebpdsp_sse2_la_LIBADD) $(LIBS) - -libwebpdsp_sse41.la: $(libwebpdsp_sse41_la_OBJECTS) $(libwebpdsp_sse41_la_DEPENDENCIES) $(EXTRA_libwebpdsp_sse41_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdsp_sse41_la_LINK) $(libwebpdsp_sse41_la_OBJECTS) $(libwebpdsp_sse41_la_LIBADD) $(LIBS) - -libwebpdspdecode.la: $(libwebpdspdecode_la_OBJECTS) $(libwebpdspdecode_la_DEPENDENCIES) $(EXTRA_libwebpdspdecode_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdspdecode_la_LINK) $(am_libwebpdspdecode_la_rpath) $(libwebpdspdecode_la_OBJECTS) $(libwebpdspdecode_la_LIBADD) $(LIBS) - -libwebpdspdecode_mips32.la: $(libwebpdspdecode_mips32_la_OBJECTS) $(libwebpdspdecode_mips32_la_DEPENDENCIES) $(EXTRA_libwebpdspdecode_mips32_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdspdecode_mips32_la_LINK) $(libwebpdspdecode_mips32_la_OBJECTS) $(libwebpdspdecode_mips32_la_LIBADD) $(LIBS) - -libwebpdspdecode_mips_dsp_r2.la: $(libwebpdspdecode_mips_dsp_r2_la_OBJECTS) $(libwebpdspdecode_mips_dsp_r2_la_DEPENDENCIES) $(EXTRA_libwebpdspdecode_mips_dsp_r2_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdspdecode_mips_dsp_r2_la_LINK) $(libwebpdspdecode_mips_dsp_r2_la_OBJECTS) $(libwebpdspdecode_mips_dsp_r2_la_LIBADD) $(LIBS) - -libwebpdspdecode_msa.la: $(libwebpdspdecode_msa_la_OBJECTS) $(libwebpdspdecode_msa_la_DEPENDENCIES) $(EXTRA_libwebpdspdecode_msa_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdspdecode_msa_la_LINK) $(libwebpdspdecode_msa_la_OBJECTS) $(libwebpdspdecode_msa_la_LIBADD) $(LIBS) - -libwebpdspdecode_neon.la: $(libwebpdspdecode_neon_la_OBJECTS) $(libwebpdspdecode_neon_la_DEPENDENCIES) $(EXTRA_libwebpdspdecode_neon_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdspdecode_neon_la_LINK) $(libwebpdspdecode_neon_la_OBJECTS) $(libwebpdspdecode_neon_la_LIBADD) $(LIBS) - -libwebpdspdecode_sse2.la: $(libwebpdspdecode_sse2_la_OBJECTS) $(libwebpdspdecode_sse2_la_DEPENDENCIES) $(EXTRA_libwebpdspdecode_sse2_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdspdecode_sse2_la_LINK) $(libwebpdspdecode_sse2_la_OBJECTS) $(libwebpdspdecode_sse2_la_LIBADD) $(LIBS) - -libwebpdspdecode_sse41.la: $(libwebpdspdecode_sse41_la_OBJECTS) $(libwebpdspdecode_sse41_la_DEPENDENCIES) $(EXTRA_libwebpdspdecode_sse41_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpdspdecode_sse41_la_LINK) $(libwebpdspdecode_sse41_la_OBJECTS) $(libwebpdspdecode_sse41_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/libwebpdsp_la-alpha_processing.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-cost.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-cpu.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-dec_clip_tables.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-filters.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-lossless.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-lossless_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-rescaler.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-ssim.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-upsampling.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_la-yuv.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_mips32_la-cost_mips32.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_mips32_la-enc_mips32.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_mips32_la-lossless_enc_mips32.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_msa_la-enc_msa.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_msa_la-lossless_enc_msa.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_neon_la-cost_neon.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_neon_la-enc_neon.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_neon_la-lossless_enc_neon.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_sse2_la-cost_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_sse2_la-enc_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_sse2_la-lossless_enc_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_sse2_la-ssim_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_sse41_la-enc_sse41.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdsp_sse41_la-lossless_enc_sse41.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_la-alpha_processing.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_la-cpu.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_la-dec.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_la-dec_clip_tables.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_la-filters.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_la-lossless.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_la-rescaler.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_la-upsampling.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_la-yuv.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_mips32_la-dec_mips32.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_mips32_la-rescaler_mips32.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_mips32_la-yuv_mips32.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_msa_la-dec_msa.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_msa_la-filters_msa.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_msa_la-lossless_msa.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_msa_la-rescaler_msa.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_msa_la-upsampling_msa.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_neon_la-alpha_processing_neon.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_neon_la-dec_neon.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_neon_la-filters_neon.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_neon_la-lossless_neon.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_neon_la-rescaler_neon.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_neon_la-upsampling_neon.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_neon_la-yuv_neon.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse2_la-alpha_processing_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse2_la-dec_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse2_la-filters_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse2_la-lossless_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse2_la-rescaler_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse2_la-upsampling_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse2_la-yuv_sse2.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse41_la-alpha_processing_sse41.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse41_la-dec_sse41.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse41_la-upsampling_sse41.Plo # am--include-marker -include ./$(DEPDIR)/libwebpdspdecode_sse41_la-yuv_sse41.Plo # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -libwebpdsp_la-alpha_processing.lo: alpha_processing.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-alpha_processing.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-alpha_processing.Tpo -c -o libwebpdsp_la-alpha_processing.lo `test -f 'alpha_processing.c' || echo '$(srcdir)/'`alpha_processing.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-alpha_processing.Tpo $(DEPDIR)/libwebpdsp_la-alpha_processing.Plo -# $(AM_V_CC)source='alpha_processing.c' object='libwebpdsp_la-alpha_processing.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-alpha_processing.lo `test -f 'alpha_processing.c' || echo '$(srcdir)/'`alpha_processing.c - -libwebpdsp_la-cpu.lo: cpu.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-cpu.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-cpu.Tpo -c -o libwebpdsp_la-cpu.lo `test -f 'cpu.c' || echo '$(srcdir)/'`cpu.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-cpu.Tpo $(DEPDIR)/libwebpdsp_la-cpu.Plo -# $(AM_V_CC)source='cpu.c' object='libwebpdsp_la-cpu.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-cpu.lo `test -f 'cpu.c' || echo '$(srcdir)/'`cpu.c - -libwebpdsp_la-dec.lo: dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-dec.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-dec.Tpo -c -o libwebpdsp_la-dec.lo `test -f 'dec.c' || echo '$(srcdir)/'`dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-dec.Tpo $(DEPDIR)/libwebpdsp_la-dec.Plo -# $(AM_V_CC)source='dec.c' object='libwebpdsp_la-dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-dec.lo `test -f 'dec.c' || echo '$(srcdir)/'`dec.c - -libwebpdsp_la-dec_clip_tables.lo: dec_clip_tables.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-dec_clip_tables.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-dec_clip_tables.Tpo -c -o libwebpdsp_la-dec_clip_tables.lo `test -f 'dec_clip_tables.c' || echo '$(srcdir)/'`dec_clip_tables.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-dec_clip_tables.Tpo $(DEPDIR)/libwebpdsp_la-dec_clip_tables.Plo -# $(AM_V_CC)source='dec_clip_tables.c' object='libwebpdsp_la-dec_clip_tables.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-dec_clip_tables.lo `test -f 'dec_clip_tables.c' || echo '$(srcdir)/'`dec_clip_tables.c - -libwebpdsp_la-filters.lo: filters.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-filters.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-filters.Tpo -c -o libwebpdsp_la-filters.lo `test -f 'filters.c' || echo '$(srcdir)/'`filters.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-filters.Tpo $(DEPDIR)/libwebpdsp_la-filters.Plo -# $(AM_V_CC)source='filters.c' object='libwebpdsp_la-filters.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-filters.lo `test -f 'filters.c' || echo '$(srcdir)/'`filters.c - -libwebpdsp_la-lossless.lo: lossless.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-lossless.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-lossless.Tpo -c -o libwebpdsp_la-lossless.lo `test -f 'lossless.c' || echo '$(srcdir)/'`lossless.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-lossless.Tpo $(DEPDIR)/libwebpdsp_la-lossless.Plo -# $(AM_V_CC)source='lossless.c' object='libwebpdsp_la-lossless.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-lossless.lo `test -f 'lossless.c' || echo '$(srcdir)/'`lossless.c - -libwebpdsp_la-rescaler.lo: rescaler.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-rescaler.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-rescaler.Tpo -c -o libwebpdsp_la-rescaler.lo `test -f 'rescaler.c' || echo '$(srcdir)/'`rescaler.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-rescaler.Tpo $(DEPDIR)/libwebpdsp_la-rescaler.Plo -# $(AM_V_CC)source='rescaler.c' object='libwebpdsp_la-rescaler.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-rescaler.lo `test -f 'rescaler.c' || echo '$(srcdir)/'`rescaler.c - -libwebpdsp_la-upsampling.lo: upsampling.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-upsampling.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-upsampling.Tpo -c -o libwebpdsp_la-upsampling.lo `test -f 'upsampling.c' || echo '$(srcdir)/'`upsampling.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-upsampling.Tpo $(DEPDIR)/libwebpdsp_la-upsampling.Plo -# $(AM_V_CC)source='upsampling.c' object='libwebpdsp_la-upsampling.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-upsampling.lo `test -f 'upsampling.c' || echo '$(srcdir)/'`upsampling.c - -libwebpdsp_la-yuv.lo: yuv.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-yuv.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-yuv.Tpo -c -o libwebpdsp_la-yuv.lo `test -f 'yuv.c' || echo '$(srcdir)/'`yuv.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-yuv.Tpo $(DEPDIR)/libwebpdsp_la-yuv.Plo -# $(AM_V_CC)source='yuv.c' object='libwebpdsp_la-yuv.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-yuv.lo `test -f 'yuv.c' || echo '$(srcdir)/'`yuv.c - -libwebpdsp_la-cost.lo: cost.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-cost.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-cost.Tpo -c -o libwebpdsp_la-cost.lo `test -f 'cost.c' || echo '$(srcdir)/'`cost.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-cost.Tpo $(DEPDIR)/libwebpdsp_la-cost.Plo -# $(AM_V_CC)source='cost.c' object='libwebpdsp_la-cost.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-cost.lo `test -f 'cost.c' || echo '$(srcdir)/'`cost.c - -libwebpdsp_la-enc.lo: enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-enc.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-enc.Tpo -c -o libwebpdsp_la-enc.lo `test -f 'enc.c' || echo '$(srcdir)/'`enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-enc.Tpo $(DEPDIR)/libwebpdsp_la-enc.Plo -# $(AM_V_CC)source='enc.c' object='libwebpdsp_la-enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-enc.lo `test -f 'enc.c' || echo '$(srcdir)/'`enc.c - -libwebpdsp_la-lossless_enc.lo: lossless_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-lossless_enc.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-lossless_enc.Tpo -c -o libwebpdsp_la-lossless_enc.lo `test -f 'lossless_enc.c' || echo '$(srcdir)/'`lossless_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-lossless_enc.Tpo $(DEPDIR)/libwebpdsp_la-lossless_enc.Plo -# $(AM_V_CC)source='lossless_enc.c' object='libwebpdsp_la-lossless_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-lossless_enc.lo `test -f 'lossless_enc.c' || echo '$(srcdir)/'`lossless_enc.c - -libwebpdsp_la-ssim.lo: ssim.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdsp_la-ssim.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_la-ssim.Tpo -c -o libwebpdsp_la-ssim.lo `test -f 'ssim.c' || echo '$(srcdir)/'`ssim.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_la-ssim.Tpo $(DEPDIR)/libwebpdsp_la-ssim.Plo -# $(AM_V_CC)source='ssim.c' object='libwebpdsp_la-ssim.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdsp_la-ssim.lo `test -f 'ssim.c' || echo '$(srcdir)/'`ssim.c - -libwebpdsp_mips32_la-cost_mips32.lo: cost_mips32.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips32_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_mips32_la-cost_mips32.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_mips32_la-cost_mips32.Tpo -c -o libwebpdsp_mips32_la-cost_mips32.lo `test -f 'cost_mips32.c' || echo '$(srcdir)/'`cost_mips32.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_mips32_la-cost_mips32.Tpo $(DEPDIR)/libwebpdsp_mips32_la-cost_mips32.Plo -# $(AM_V_CC)source='cost_mips32.c' object='libwebpdsp_mips32_la-cost_mips32.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips32_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_mips32_la-cost_mips32.lo `test -f 'cost_mips32.c' || echo '$(srcdir)/'`cost_mips32.c - -libwebpdsp_mips32_la-enc_mips32.lo: enc_mips32.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips32_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_mips32_la-enc_mips32.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_mips32_la-enc_mips32.Tpo -c -o libwebpdsp_mips32_la-enc_mips32.lo `test -f 'enc_mips32.c' || echo '$(srcdir)/'`enc_mips32.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_mips32_la-enc_mips32.Tpo $(DEPDIR)/libwebpdsp_mips32_la-enc_mips32.Plo -# $(AM_V_CC)source='enc_mips32.c' object='libwebpdsp_mips32_la-enc_mips32.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips32_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_mips32_la-enc_mips32.lo `test -f 'enc_mips32.c' || echo '$(srcdir)/'`enc_mips32.c - -libwebpdsp_mips32_la-lossless_enc_mips32.lo: lossless_enc_mips32.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips32_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_mips32_la-lossless_enc_mips32.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_mips32_la-lossless_enc_mips32.Tpo -c -o libwebpdsp_mips32_la-lossless_enc_mips32.lo `test -f 'lossless_enc_mips32.c' || echo '$(srcdir)/'`lossless_enc_mips32.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_mips32_la-lossless_enc_mips32.Tpo $(DEPDIR)/libwebpdsp_mips32_la-lossless_enc_mips32.Plo -# $(AM_V_CC)source='lossless_enc_mips32.c' object='libwebpdsp_mips32_la-lossless_enc_mips32.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips32_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_mips32_la-lossless_enc_mips32.lo `test -f 'lossless_enc_mips32.c' || echo '$(srcdir)/'`lossless_enc_mips32.c - -libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.lo: cost_mips_dsp_r2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.Tpo -c -o libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.lo `test -f 'cost_mips_dsp_r2.c' || echo '$(srcdir)/'`cost_mips_dsp_r2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.Tpo $(DEPDIR)/libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.Plo -# $(AM_V_CC)source='cost_mips_dsp_r2.c' object='libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.lo `test -f 'cost_mips_dsp_r2.c' || echo '$(srcdir)/'`cost_mips_dsp_r2.c - -libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.lo: enc_mips_dsp_r2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.Tpo -c -o libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.lo `test -f 'enc_mips_dsp_r2.c' || echo '$(srcdir)/'`enc_mips_dsp_r2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.Tpo $(DEPDIR)/libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.Plo -# $(AM_V_CC)source='enc_mips_dsp_r2.c' object='libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.lo `test -f 'enc_mips_dsp_r2.c' || echo '$(srcdir)/'`enc_mips_dsp_r2.c - -libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.lo: lossless_enc_mips_dsp_r2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.Tpo -c -o libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.lo `test -f 'lossless_enc_mips_dsp_r2.c' || echo '$(srcdir)/'`lossless_enc_mips_dsp_r2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.Tpo $(DEPDIR)/libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.Plo -# $(AM_V_CC)source='lossless_enc_mips_dsp_r2.c' object='libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.lo `test -f 'lossless_enc_mips_dsp_r2.c' || echo '$(srcdir)/'`lossless_enc_mips_dsp_r2.c - -libwebpdsp_msa_la-enc_msa.lo: enc_msa.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_msa_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_msa_la-enc_msa.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_msa_la-enc_msa.Tpo -c -o libwebpdsp_msa_la-enc_msa.lo `test -f 'enc_msa.c' || echo '$(srcdir)/'`enc_msa.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_msa_la-enc_msa.Tpo $(DEPDIR)/libwebpdsp_msa_la-enc_msa.Plo -# $(AM_V_CC)source='enc_msa.c' object='libwebpdsp_msa_la-enc_msa.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_msa_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_msa_la-enc_msa.lo `test -f 'enc_msa.c' || echo '$(srcdir)/'`enc_msa.c - -libwebpdsp_msa_la-lossless_enc_msa.lo: lossless_enc_msa.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_msa_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_msa_la-lossless_enc_msa.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_msa_la-lossless_enc_msa.Tpo -c -o libwebpdsp_msa_la-lossless_enc_msa.lo `test -f 'lossless_enc_msa.c' || echo '$(srcdir)/'`lossless_enc_msa.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_msa_la-lossless_enc_msa.Tpo $(DEPDIR)/libwebpdsp_msa_la-lossless_enc_msa.Plo -# $(AM_V_CC)source='lossless_enc_msa.c' object='libwebpdsp_msa_la-lossless_enc_msa.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_msa_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_msa_la-lossless_enc_msa.lo `test -f 'lossless_enc_msa.c' || echo '$(srcdir)/'`lossless_enc_msa.c - -libwebpdsp_neon_la-cost_neon.lo: cost_neon.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_neon_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_neon_la-cost_neon.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_neon_la-cost_neon.Tpo -c -o libwebpdsp_neon_la-cost_neon.lo `test -f 'cost_neon.c' || echo '$(srcdir)/'`cost_neon.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_neon_la-cost_neon.Tpo $(DEPDIR)/libwebpdsp_neon_la-cost_neon.Plo -# $(AM_V_CC)source='cost_neon.c' object='libwebpdsp_neon_la-cost_neon.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_neon_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_neon_la-cost_neon.lo `test -f 'cost_neon.c' || echo '$(srcdir)/'`cost_neon.c - -libwebpdsp_neon_la-enc_neon.lo: enc_neon.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_neon_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_neon_la-enc_neon.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_neon_la-enc_neon.Tpo -c -o libwebpdsp_neon_la-enc_neon.lo `test -f 'enc_neon.c' || echo '$(srcdir)/'`enc_neon.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_neon_la-enc_neon.Tpo $(DEPDIR)/libwebpdsp_neon_la-enc_neon.Plo -# $(AM_V_CC)source='enc_neon.c' object='libwebpdsp_neon_la-enc_neon.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_neon_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_neon_la-enc_neon.lo `test -f 'enc_neon.c' || echo '$(srcdir)/'`enc_neon.c - -libwebpdsp_neon_la-lossless_enc_neon.lo: lossless_enc_neon.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_neon_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_neon_la-lossless_enc_neon.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_neon_la-lossless_enc_neon.Tpo -c -o libwebpdsp_neon_la-lossless_enc_neon.lo `test -f 'lossless_enc_neon.c' || echo '$(srcdir)/'`lossless_enc_neon.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_neon_la-lossless_enc_neon.Tpo $(DEPDIR)/libwebpdsp_neon_la-lossless_enc_neon.Plo -# $(AM_V_CC)source='lossless_enc_neon.c' object='libwebpdsp_neon_la-lossless_enc_neon.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_neon_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_neon_la-lossless_enc_neon.lo `test -f 'lossless_enc_neon.c' || echo '$(srcdir)/'`lossless_enc_neon.c - -libwebpdsp_sse2_la-cost_sse2.lo: cost_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_sse2_la-cost_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_sse2_la-cost_sse2.Tpo -c -o libwebpdsp_sse2_la-cost_sse2.lo `test -f 'cost_sse2.c' || echo '$(srcdir)/'`cost_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_sse2_la-cost_sse2.Tpo $(DEPDIR)/libwebpdsp_sse2_la-cost_sse2.Plo -# $(AM_V_CC)source='cost_sse2.c' object='libwebpdsp_sse2_la-cost_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_sse2_la-cost_sse2.lo `test -f 'cost_sse2.c' || echo '$(srcdir)/'`cost_sse2.c - -libwebpdsp_sse2_la-enc_sse2.lo: enc_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_sse2_la-enc_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_sse2_la-enc_sse2.Tpo -c -o libwebpdsp_sse2_la-enc_sse2.lo `test -f 'enc_sse2.c' || echo '$(srcdir)/'`enc_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_sse2_la-enc_sse2.Tpo $(DEPDIR)/libwebpdsp_sse2_la-enc_sse2.Plo -# $(AM_V_CC)source='enc_sse2.c' object='libwebpdsp_sse2_la-enc_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_sse2_la-enc_sse2.lo `test -f 'enc_sse2.c' || echo '$(srcdir)/'`enc_sse2.c - -libwebpdsp_sse2_la-lossless_enc_sse2.lo: lossless_enc_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_sse2_la-lossless_enc_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_sse2_la-lossless_enc_sse2.Tpo -c -o libwebpdsp_sse2_la-lossless_enc_sse2.lo `test -f 'lossless_enc_sse2.c' || echo '$(srcdir)/'`lossless_enc_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_sse2_la-lossless_enc_sse2.Tpo $(DEPDIR)/libwebpdsp_sse2_la-lossless_enc_sse2.Plo -# $(AM_V_CC)source='lossless_enc_sse2.c' object='libwebpdsp_sse2_la-lossless_enc_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_sse2_la-lossless_enc_sse2.lo `test -f 'lossless_enc_sse2.c' || echo '$(srcdir)/'`lossless_enc_sse2.c - -libwebpdsp_sse2_la-ssim_sse2.lo: ssim_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_sse2_la-ssim_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_sse2_la-ssim_sse2.Tpo -c -o libwebpdsp_sse2_la-ssim_sse2.lo `test -f 'ssim_sse2.c' || echo '$(srcdir)/'`ssim_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_sse2_la-ssim_sse2.Tpo $(DEPDIR)/libwebpdsp_sse2_la-ssim_sse2.Plo -# $(AM_V_CC)source='ssim_sse2.c' object='libwebpdsp_sse2_la-ssim_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_sse2_la-ssim_sse2.lo `test -f 'ssim_sse2.c' || echo '$(srcdir)/'`ssim_sse2.c - -libwebpdsp_sse41_la-enc_sse41.lo: enc_sse41.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse41_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_sse41_la-enc_sse41.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_sse41_la-enc_sse41.Tpo -c -o libwebpdsp_sse41_la-enc_sse41.lo `test -f 'enc_sse41.c' || echo '$(srcdir)/'`enc_sse41.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_sse41_la-enc_sse41.Tpo $(DEPDIR)/libwebpdsp_sse41_la-enc_sse41.Plo -# $(AM_V_CC)source='enc_sse41.c' object='libwebpdsp_sse41_la-enc_sse41.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse41_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_sse41_la-enc_sse41.lo `test -f 'enc_sse41.c' || echo '$(srcdir)/'`enc_sse41.c - -libwebpdsp_sse41_la-lossless_enc_sse41.lo: lossless_enc_sse41.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse41_la_CFLAGS) $(CFLAGS) -MT libwebpdsp_sse41_la-lossless_enc_sse41.lo -MD -MP -MF $(DEPDIR)/libwebpdsp_sse41_la-lossless_enc_sse41.Tpo -c -o libwebpdsp_sse41_la-lossless_enc_sse41.lo `test -f 'lossless_enc_sse41.c' || echo '$(srcdir)/'`lossless_enc_sse41.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdsp_sse41_la-lossless_enc_sse41.Tpo $(DEPDIR)/libwebpdsp_sse41_la-lossless_enc_sse41.Plo -# $(AM_V_CC)source='lossless_enc_sse41.c' object='libwebpdsp_sse41_la-lossless_enc_sse41.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdsp_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdsp_sse41_la_CFLAGS) $(CFLAGS) -c -o libwebpdsp_sse41_la-lossless_enc_sse41.lo `test -f 'lossless_enc_sse41.c' || echo '$(srcdir)/'`lossless_enc_sse41.c - -libwebpdspdecode_la-alpha_processing.lo: alpha_processing.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_la-alpha_processing.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_la-alpha_processing.Tpo -c -o libwebpdspdecode_la-alpha_processing.lo `test -f 'alpha_processing.c' || echo '$(srcdir)/'`alpha_processing.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_la-alpha_processing.Tpo $(DEPDIR)/libwebpdspdecode_la-alpha_processing.Plo -# $(AM_V_CC)source='alpha_processing.c' object='libwebpdspdecode_la-alpha_processing.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_la-alpha_processing.lo `test -f 'alpha_processing.c' || echo '$(srcdir)/'`alpha_processing.c - -libwebpdspdecode_la-cpu.lo: cpu.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_la-cpu.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_la-cpu.Tpo -c -o libwebpdspdecode_la-cpu.lo `test -f 'cpu.c' || echo '$(srcdir)/'`cpu.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_la-cpu.Tpo $(DEPDIR)/libwebpdspdecode_la-cpu.Plo -# $(AM_V_CC)source='cpu.c' object='libwebpdspdecode_la-cpu.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_la-cpu.lo `test -f 'cpu.c' || echo '$(srcdir)/'`cpu.c - -libwebpdspdecode_la-dec.lo: dec.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_la-dec.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_la-dec.Tpo -c -o libwebpdspdecode_la-dec.lo `test -f 'dec.c' || echo '$(srcdir)/'`dec.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_la-dec.Tpo $(DEPDIR)/libwebpdspdecode_la-dec.Plo -# $(AM_V_CC)source='dec.c' object='libwebpdspdecode_la-dec.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_la-dec.lo `test -f 'dec.c' || echo '$(srcdir)/'`dec.c - -libwebpdspdecode_la-dec_clip_tables.lo: dec_clip_tables.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_la-dec_clip_tables.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_la-dec_clip_tables.Tpo -c -o libwebpdspdecode_la-dec_clip_tables.lo `test -f 'dec_clip_tables.c' || echo '$(srcdir)/'`dec_clip_tables.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_la-dec_clip_tables.Tpo $(DEPDIR)/libwebpdspdecode_la-dec_clip_tables.Plo -# $(AM_V_CC)source='dec_clip_tables.c' object='libwebpdspdecode_la-dec_clip_tables.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_la-dec_clip_tables.lo `test -f 'dec_clip_tables.c' || echo '$(srcdir)/'`dec_clip_tables.c - -libwebpdspdecode_la-filters.lo: filters.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_la-filters.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_la-filters.Tpo -c -o libwebpdspdecode_la-filters.lo `test -f 'filters.c' || echo '$(srcdir)/'`filters.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_la-filters.Tpo $(DEPDIR)/libwebpdspdecode_la-filters.Plo -# $(AM_V_CC)source='filters.c' object='libwebpdspdecode_la-filters.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_la-filters.lo `test -f 'filters.c' || echo '$(srcdir)/'`filters.c - -libwebpdspdecode_la-lossless.lo: lossless.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_la-lossless.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_la-lossless.Tpo -c -o libwebpdspdecode_la-lossless.lo `test -f 'lossless.c' || echo '$(srcdir)/'`lossless.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_la-lossless.Tpo $(DEPDIR)/libwebpdspdecode_la-lossless.Plo -# $(AM_V_CC)source='lossless.c' object='libwebpdspdecode_la-lossless.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_la-lossless.lo `test -f 'lossless.c' || echo '$(srcdir)/'`lossless.c - -libwebpdspdecode_la-rescaler.lo: rescaler.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_la-rescaler.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_la-rescaler.Tpo -c -o libwebpdspdecode_la-rescaler.lo `test -f 'rescaler.c' || echo '$(srcdir)/'`rescaler.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_la-rescaler.Tpo $(DEPDIR)/libwebpdspdecode_la-rescaler.Plo -# $(AM_V_CC)source='rescaler.c' object='libwebpdspdecode_la-rescaler.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_la-rescaler.lo `test -f 'rescaler.c' || echo '$(srcdir)/'`rescaler.c - -libwebpdspdecode_la-upsampling.lo: upsampling.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_la-upsampling.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_la-upsampling.Tpo -c -o libwebpdspdecode_la-upsampling.lo `test -f 'upsampling.c' || echo '$(srcdir)/'`upsampling.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_la-upsampling.Tpo $(DEPDIR)/libwebpdspdecode_la-upsampling.Plo -# $(AM_V_CC)source='upsampling.c' object='libwebpdspdecode_la-upsampling.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_la-upsampling.lo `test -f 'upsampling.c' || echo '$(srcdir)/'`upsampling.c - -libwebpdspdecode_la-yuv.lo: yuv.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_la-yuv.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_la-yuv.Tpo -c -o libwebpdspdecode_la-yuv.lo `test -f 'yuv.c' || echo '$(srcdir)/'`yuv.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_la-yuv.Tpo $(DEPDIR)/libwebpdspdecode_la-yuv.Plo -# $(AM_V_CC)source='yuv.c' object='libwebpdspdecode_la-yuv.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_la-yuv.lo `test -f 'yuv.c' || echo '$(srcdir)/'`yuv.c - -libwebpdspdecode_mips32_la-dec_mips32.lo: dec_mips32.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips32_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_mips32_la-dec_mips32.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_mips32_la-dec_mips32.Tpo -c -o libwebpdspdecode_mips32_la-dec_mips32.lo `test -f 'dec_mips32.c' || echo '$(srcdir)/'`dec_mips32.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_mips32_la-dec_mips32.Tpo $(DEPDIR)/libwebpdspdecode_mips32_la-dec_mips32.Plo -# $(AM_V_CC)source='dec_mips32.c' object='libwebpdspdecode_mips32_la-dec_mips32.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips32_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_mips32_la-dec_mips32.lo `test -f 'dec_mips32.c' || echo '$(srcdir)/'`dec_mips32.c - -libwebpdspdecode_mips32_la-rescaler_mips32.lo: rescaler_mips32.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips32_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_mips32_la-rescaler_mips32.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_mips32_la-rescaler_mips32.Tpo -c -o libwebpdspdecode_mips32_la-rescaler_mips32.lo `test -f 'rescaler_mips32.c' || echo '$(srcdir)/'`rescaler_mips32.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_mips32_la-rescaler_mips32.Tpo $(DEPDIR)/libwebpdspdecode_mips32_la-rescaler_mips32.Plo -# $(AM_V_CC)source='rescaler_mips32.c' object='libwebpdspdecode_mips32_la-rescaler_mips32.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips32_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_mips32_la-rescaler_mips32.lo `test -f 'rescaler_mips32.c' || echo '$(srcdir)/'`rescaler_mips32.c - -libwebpdspdecode_mips32_la-yuv_mips32.lo: yuv_mips32.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips32_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_mips32_la-yuv_mips32.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_mips32_la-yuv_mips32.Tpo -c -o libwebpdspdecode_mips32_la-yuv_mips32.lo `test -f 'yuv_mips32.c' || echo '$(srcdir)/'`yuv_mips32.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_mips32_la-yuv_mips32.Tpo $(DEPDIR)/libwebpdspdecode_mips32_la-yuv_mips32.Plo -# $(AM_V_CC)source='yuv_mips32.c' object='libwebpdspdecode_mips32_la-yuv_mips32.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips32_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips32_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_mips32_la-yuv_mips32.lo `test -f 'yuv_mips32.c' || echo '$(srcdir)/'`yuv_mips32.c - -libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.lo: alpha_processing_mips_dsp_r2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.Tpo -c -o libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.lo `test -f 'alpha_processing_mips_dsp_r2.c' || echo '$(srcdir)/'`alpha_processing_mips_dsp_r2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.Tpo $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.Plo -# $(AM_V_CC)source='alpha_processing_mips_dsp_r2.c' object='libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.lo `test -f 'alpha_processing_mips_dsp_r2.c' || echo '$(srcdir)/'`alpha_processing_mips_dsp_r2.c - -libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.lo: dec_mips_dsp_r2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.Tpo -c -o libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.lo `test -f 'dec_mips_dsp_r2.c' || echo '$(srcdir)/'`dec_mips_dsp_r2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.Tpo $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.Plo -# $(AM_V_CC)source='dec_mips_dsp_r2.c' object='libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.lo `test -f 'dec_mips_dsp_r2.c' || echo '$(srcdir)/'`dec_mips_dsp_r2.c - -libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.lo: filters_mips_dsp_r2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.Tpo -c -o libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.lo `test -f 'filters_mips_dsp_r2.c' || echo '$(srcdir)/'`filters_mips_dsp_r2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.Tpo $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.Plo -# $(AM_V_CC)source='filters_mips_dsp_r2.c' object='libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.lo `test -f 'filters_mips_dsp_r2.c' || echo '$(srcdir)/'`filters_mips_dsp_r2.c - -libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.lo: lossless_mips_dsp_r2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.Tpo -c -o libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.lo `test -f 'lossless_mips_dsp_r2.c' || echo '$(srcdir)/'`lossless_mips_dsp_r2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.Tpo $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.Plo -# $(AM_V_CC)source='lossless_mips_dsp_r2.c' object='libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.lo `test -f 'lossless_mips_dsp_r2.c' || echo '$(srcdir)/'`lossless_mips_dsp_r2.c - -libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.lo: rescaler_mips_dsp_r2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.Tpo -c -o libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.lo `test -f 'rescaler_mips_dsp_r2.c' || echo '$(srcdir)/'`rescaler_mips_dsp_r2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.Tpo $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.Plo -# $(AM_V_CC)source='rescaler_mips_dsp_r2.c' object='libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.lo `test -f 'rescaler_mips_dsp_r2.c' || echo '$(srcdir)/'`rescaler_mips_dsp_r2.c - -libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.lo: upsampling_mips_dsp_r2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.Tpo -c -o libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.lo `test -f 'upsampling_mips_dsp_r2.c' || echo '$(srcdir)/'`upsampling_mips_dsp_r2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.Tpo $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.Plo -# $(AM_V_CC)source='upsampling_mips_dsp_r2.c' object='libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.lo `test -f 'upsampling_mips_dsp_r2.c' || echo '$(srcdir)/'`upsampling_mips_dsp_r2.c - -libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.lo: yuv_mips_dsp_r2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.Tpo -c -o libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.lo `test -f 'yuv_mips_dsp_r2.c' || echo '$(srcdir)/'`yuv_mips_dsp_r2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.Tpo $(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.Plo -# $(AM_V_CC)source='yuv_mips_dsp_r2.c' object='libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_mips_dsp_r2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_mips_dsp_r2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.lo `test -f 'yuv_mips_dsp_r2.c' || echo '$(srcdir)/'`yuv_mips_dsp_r2.c - -libwebpdspdecode_msa_la-dec_msa.lo: dec_msa.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_msa_la-dec_msa.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_msa_la-dec_msa.Tpo -c -o libwebpdspdecode_msa_la-dec_msa.lo `test -f 'dec_msa.c' || echo '$(srcdir)/'`dec_msa.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_msa_la-dec_msa.Tpo $(DEPDIR)/libwebpdspdecode_msa_la-dec_msa.Plo -# $(AM_V_CC)source='dec_msa.c' object='libwebpdspdecode_msa_la-dec_msa.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_msa_la-dec_msa.lo `test -f 'dec_msa.c' || echo '$(srcdir)/'`dec_msa.c - -libwebpdspdecode_msa_la-filters_msa.lo: filters_msa.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_msa_la-filters_msa.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_msa_la-filters_msa.Tpo -c -o libwebpdspdecode_msa_la-filters_msa.lo `test -f 'filters_msa.c' || echo '$(srcdir)/'`filters_msa.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_msa_la-filters_msa.Tpo $(DEPDIR)/libwebpdspdecode_msa_la-filters_msa.Plo -# $(AM_V_CC)source='filters_msa.c' object='libwebpdspdecode_msa_la-filters_msa.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_msa_la-filters_msa.lo `test -f 'filters_msa.c' || echo '$(srcdir)/'`filters_msa.c - -libwebpdspdecode_msa_la-lossless_msa.lo: lossless_msa.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_msa_la-lossless_msa.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_msa_la-lossless_msa.Tpo -c -o libwebpdspdecode_msa_la-lossless_msa.lo `test -f 'lossless_msa.c' || echo '$(srcdir)/'`lossless_msa.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_msa_la-lossless_msa.Tpo $(DEPDIR)/libwebpdspdecode_msa_la-lossless_msa.Plo -# $(AM_V_CC)source='lossless_msa.c' object='libwebpdspdecode_msa_la-lossless_msa.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_msa_la-lossless_msa.lo `test -f 'lossless_msa.c' || echo '$(srcdir)/'`lossless_msa.c - -libwebpdspdecode_msa_la-rescaler_msa.lo: rescaler_msa.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_msa_la-rescaler_msa.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_msa_la-rescaler_msa.Tpo -c -o libwebpdspdecode_msa_la-rescaler_msa.lo `test -f 'rescaler_msa.c' || echo '$(srcdir)/'`rescaler_msa.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_msa_la-rescaler_msa.Tpo $(DEPDIR)/libwebpdspdecode_msa_la-rescaler_msa.Plo -# $(AM_V_CC)source='rescaler_msa.c' object='libwebpdspdecode_msa_la-rescaler_msa.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_msa_la-rescaler_msa.lo `test -f 'rescaler_msa.c' || echo '$(srcdir)/'`rescaler_msa.c - -libwebpdspdecode_msa_la-upsampling_msa.lo: upsampling_msa.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_msa_la-upsampling_msa.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_msa_la-upsampling_msa.Tpo -c -o libwebpdspdecode_msa_la-upsampling_msa.lo `test -f 'upsampling_msa.c' || echo '$(srcdir)/'`upsampling_msa.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_msa_la-upsampling_msa.Tpo $(DEPDIR)/libwebpdspdecode_msa_la-upsampling_msa.Plo -# $(AM_V_CC)source='upsampling_msa.c' object='libwebpdspdecode_msa_la-upsampling_msa.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_msa_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_msa_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_msa_la-upsampling_msa.lo `test -f 'upsampling_msa.c' || echo '$(srcdir)/'`upsampling_msa.c - -libwebpdspdecode_neon_la-alpha_processing_neon.lo: alpha_processing_neon.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_neon_la-alpha_processing_neon.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_neon_la-alpha_processing_neon.Tpo -c -o libwebpdspdecode_neon_la-alpha_processing_neon.lo `test -f 'alpha_processing_neon.c' || echo '$(srcdir)/'`alpha_processing_neon.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_neon_la-alpha_processing_neon.Tpo $(DEPDIR)/libwebpdspdecode_neon_la-alpha_processing_neon.Plo -# $(AM_V_CC)source='alpha_processing_neon.c' object='libwebpdspdecode_neon_la-alpha_processing_neon.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_neon_la-alpha_processing_neon.lo `test -f 'alpha_processing_neon.c' || echo '$(srcdir)/'`alpha_processing_neon.c - -libwebpdspdecode_neon_la-dec_neon.lo: dec_neon.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_neon_la-dec_neon.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_neon_la-dec_neon.Tpo -c -o libwebpdspdecode_neon_la-dec_neon.lo `test -f 'dec_neon.c' || echo '$(srcdir)/'`dec_neon.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_neon_la-dec_neon.Tpo $(DEPDIR)/libwebpdspdecode_neon_la-dec_neon.Plo -# $(AM_V_CC)source='dec_neon.c' object='libwebpdspdecode_neon_la-dec_neon.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_neon_la-dec_neon.lo `test -f 'dec_neon.c' || echo '$(srcdir)/'`dec_neon.c - -libwebpdspdecode_neon_la-filters_neon.lo: filters_neon.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_neon_la-filters_neon.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_neon_la-filters_neon.Tpo -c -o libwebpdspdecode_neon_la-filters_neon.lo `test -f 'filters_neon.c' || echo '$(srcdir)/'`filters_neon.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_neon_la-filters_neon.Tpo $(DEPDIR)/libwebpdspdecode_neon_la-filters_neon.Plo -# $(AM_V_CC)source='filters_neon.c' object='libwebpdspdecode_neon_la-filters_neon.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_neon_la-filters_neon.lo `test -f 'filters_neon.c' || echo '$(srcdir)/'`filters_neon.c - -libwebpdspdecode_neon_la-lossless_neon.lo: lossless_neon.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_neon_la-lossless_neon.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_neon_la-lossless_neon.Tpo -c -o libwebpdspdecode_neon_la-lossless_neon.lo `test -f 'lossless_neon.c' || echo '$(srcdir)/'`lossless_neon.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_neon_la-lossless_neon.Tpo $(DEPDIR)/libwebpdspdecode_neon_la-lossless_neon.Plo -# $(AM_V_CC)source='lossless_neon.c' object='libwebpdspdecode_neon_la-lossless_neon.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_neon_la-lossless_neon.lo `test -f 'lossless_neon.c' || echo '$(srcdir)/'`lossless_neon.c - -libwebpdspdecode_neon_la-rescaler_neon.lo: rescaler_neon.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_neon_la-rescaler_neon.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_neon_la-rescaler_neon.Tpo -c -o libwebpdspdecode_neon_la-rescaler_neon.lo `test -f 'rescaler_neon.c' || echo '$(srcdir)/'`rescaler_neon.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_neon_la-rescaler_neon.Tpo $(DEPDIR)/libwebpdspdecode_neon_la-rescaler_neon.Plo -# $(AM_V_CC)source='rescaler_neon.c' object='libwebpdspdecode_neon_la-rescaler_neon.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_neon_la-rescaler_neon.lo `test -f 'rescaler_neon.c' || echo '$(srcdir)/'`rescaler_neon.c - -libwebpdspdecode_neon_la-upsampling_neon.lo: upsampling_neon.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_neon_la-upsampling_neon.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_neon_la-upsampling_neon.Tpo -c -o libwebpdspdecode_neon_la-upsampling_neon.lo `test -f 'upsampling_neon.c' || echo '$(srcdir)/'`upsampling_neon.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_neon_la-upsampling_neon.Tpo $(DEPDIR)/libwebpdspdecode_neon_la-upsampling_neon.Plo -# $(AM_V_CC)source='upsampling_neon.c' object='libwebpdspdecode_neon_la-upsampling_neon.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_neon_la-upsampling_neon.lo `test -f 'upsampling_neon.c' || echo '$(srcdir)/'`upsampling_neon.c - -libwebpdspdecode_neon_la-yuv_neon.lo: yuv_neon.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_neon_la-yuv_neon.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_neon_la-yuv_neon.Tpo -c -o libwebpdspdecode_neon_la-yuv_neon.lo `test -f 'yuv_neon.c' || echo '$(srcdir)/'`yuv_neon.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_neon_la-yuv_neon.Tpo $(DEPDIR)/libwebpdspdecode_neon_la-yuv_neon.Plo -# $(AM_V_CC)source='yuv_neon.c' object='libwebpdspdecode_neon_la-yuv_neon.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_neon_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_neon_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_neon_la-yuv_neon.lo `test -f 'yuv_neon.c' || echo '$(srcdir)/'`yuv_neon.c - -libwebpdspdecode_sse2_la-alpha_processing_sse2.lo: alpha_processing_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse2_la-alpha_processing_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse2_la-alpha_processing_sse2.Tpo -c -o libwebpdspdecode_sse2_la-alpha_processing_sse2.lo `test -f 'alpha_processing_sse2.c' || echo '$(srcdir)/'`alpha_processing_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse2_la-alpha_processing_sse2.Tpo $(DEPDIR)/libwebpdspdecode_sse2_la-alpha_processing_sse2.Plo -# $(AM_V_CC)source='alpha_processing_sse2.c' object='libwebpdspdecode_sse2_la-alpha_processing_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse2_la-alpha_processing_sse2.lo `test -f 'alpha_processing_sse2.c' || echo '$(srcdir)/'`alpha_processing_sse2.c - -libwebpdspdecode_sse2_la-dec_sse2.lo: dec_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse2_la-dec_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse2_la-dec_sse2.Tpo -c -o libwebpdspdecode_sse2_la-dec_sse2.lo `test -f 'dec_sse2.c' || echo '$(srcdir)/'`dec_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse2_la-dec_sse2.Tpo $(DEPDIR)/libwebpdspdecode_sse2_la-dec_sse2.Plo -# $(AM_V_CC)source='dec_sse2.c' object='libwebpdspdecode_sse2_la-dec_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse2_la-dec_sse2.lo `test -f 'dec_sse2.c' || echo '$(srcdir)/'`dec_sse2.c - -libwebpdspdecode_sse2_la-filters_sse2.lo: filters_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse2_la-filters_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse2_la-filters_sse2.Tpo -c -o libwebpdspdecode_sse2_la-filters_sse2.lo `test -f 'filters_sse2.c' || echo '$(srcdir)/'`filters_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse2_la-filters_sse2.Tpo $(DEPDIR)/libwebpdspdecode_sse2_la-filters_sse2.Plo -# $(AM_V_CC)source='filters_sse2.c' object='libwebpdspdecode_sse2_la-filters_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse2_la-filters_sse2.lo `test -f 'filters_sse2.c' || echo '$(srcdir)/'`filters_sse2.c - -libwebpdspdecode_sse2_la-lossless_sse2.lo: lossless_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse2_la-lossless_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse2_la-lossless_sse2.Tpo -c -o libwebpdspdecode_sse2_la-lossless_sse2.lo `test -f 'lossless_sse2.c' || echo '$(srcdir)/'`lossless_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse2_la-lossless_sse2.Tpo $(DEPDIR)/libwebpdspdecode_sse2_la-lossless_sse2.Plo -# $(AM_V_CC)source='lossless_sse2.c' object='libwebpdspdecode_sse2_la-lossless_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse2_la-lossless_sse2.lo `test -f 'lossless_sse2.c' || echo '$(srcdir)/'`lossless_sse2.c - -libwebpdspdecode_sse2_la-rescaler_sse2.lo: rescaler_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse2_la-rescaler_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse2_la-rescaler_sse2.Tpo -c -o libwebpdspdecode_sse2_la-rescaler_sse2.lo `test -f 'rescaler_sse2.c' || echo '$(srcdir)/'`rescaler_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse2_la-rescaler_sse2.Tpo $(DEPDIR)/libwebpdspdecode_sse2_la-rescaler_sse2.Plo -# $(AM_V_CC)source='rescaler_sse2.c' object='libwebpdspdecode_sse2_la-rescaler_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse2_la-rescaler_sse2.lo `test -f 'rescaler_sse2.c' || echo '$(srcdir)/'`rescaler_sse2.c - -libwebpdspdecode_sse2_la-upsampling_sse2.lo: upsampling_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse2_la-upsampling_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse2_la-upsampling_sse2.Tpo -c -o libwebpdspdecode_sse2_la-upsampling_sse2.lo `test -f 'upsampling_sse2.c' || echo '$(srcdir)/'`upsampling_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse2_la-upsampling_sse2.Tpo $(DEPDIR)/libwebpdspdecode_sse2_la-upsampling_sse2.Plo -# $(AM_V_CC)source='upsampling_sse2.c' object='libwebpdspdecode_sse2_la-upsampling_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse2_la-upsampling_sse2.lo `test -f 'upsampling_sse2.c' || echo '$(srcdir)/'`upsampling_sse2.c - -libwebpdspdecode_sse2_la-yuv_sse2.lo: yuv_sse2.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse2_la-yuv_sse2.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse2_la-yuv_sse2.Tpo -c -o libwebpdspdecode_sse2_la-yuv_sse2.lo `test -f 'yuv_sse2.c' || echo '$(srcdir)/'`yuv_sse2.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse2_la-yuv_sse2.Tpo $(DEPDIR)/libwebpdspdecode_sse2_la-yuv_sse2.Plo -# $(AM_V_CC)source='yuv_sse2.c' object='libwebpdspdecode_sse2_la-yuv_sse2.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse2_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse2_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse2_la-yuv_sse2.lo `test -f 'yuv_sse2.c' || echo '$(srcdir)/'`yuv_sse2.c - -libwebpdspdecode_sse41_la-alpha_processing_sse41.lo: alpha_processing_sse41.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse41_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse41_la-alpha_processing_sse41.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse41_la-alpha_processing_sse41.Tpo -c -o libwebpdspdecode_sse41_la-alpha_processing_sse41.lo `test -f 'alpha_processing_sse41.c' || echo '$(srcdir)/'`alpha_processing_sse41.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse41_la-alpha_processing_sse41.Tpo $(DEPDIR)/libwebpdspdecode_sse41_la-alpha_processing_sse41.Plo -# $(AM_V_CC)source='alpha_processing_sse41.c' object='libwebpdspdecode_sse41_la-alpha_processing_sse41.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse41_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse41_la-alpha_processing_sse41.lo `test -f 'alpha_processing_sse41.c' || echo '$(srcdir)/'`alpha_processing_sse41.c - -libwebpdspdecode_sse41_la-dec_sse41.lo: dec_sse41.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse41_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse41_la-dec_sse41.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse41_la-dec_sse41.Tpo -c -o libwebpdspdecode_sse41_la-dec_sse41.lo `test -f 'dec_sse41.c' || echo '$(srcdir)/'`dec_sse41.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse41_la-dec_sse41.Tpo $(DEPDIR)/libwebpdspdecode_sse41_la-dec_sse41.Plo -# $(AM_V_CC)source='dec_sse41.c' object='libwebpdspdecode_sse41_la-dec_sse41.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse41_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse41_la-dec_sse41.lo `test -f 'dec_sse41.c' || echo '$(srcdir)/'`dec_sse41.c - -libwebpdspdecode_sse41_la-upsampling_sse41.lo: upsampling_sse41.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse41_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse41_la-upsampling_sse41.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse41_la-upsampling_sse41.Tpo -c -o libwebpdspdecode_sse41_la-upsampling_sse41.lo `test -f 'upsampling_sse41.c' || echo '$(srcdir)/'`upsampling_sse41.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse41_la-upsampling_sse41.Tpo $(DEPDIR)/libwebpdspdecode_sse41_la-upsampling_sse41.Plo -# $(AM_V_CC)source='upsampling_sse41.c' object='libwebpdspdecode_sse41_la-upsampling_sse41.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse41_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse41_la-upsampling_sse41.lo `test -f 'upsampling_sse41.c' || echo '$(srcdir)/'`upsampling_sse41.c - -libwebpdspdecode_sse41_la-yuv_sse41.lo: yuv_sse41.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse41_la_CFLAGS) $(CFLAGS) -MT libwebpdspdecode_sse41_la-yuv_sse41.lo -MD -MP -MF $(DEPDIR)/libwebpdspdecode_sse41_la-yuv_sse41.Tpo -c -o libwebpdspdecode_sse41_la-yuv_sse41.lo `test -f 'yuv_sse41.c' || echo '$(srcdir)/'`yuv_sse41.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpdspdecode_sse41_la-yuv_sse41.Tpo $(DEPDIR)/libwebpdspdecode_sse41_la-yuv_sse41.Plo -# $(AM_V_CC)source='yuv_sse41.c' object='libwebpdspdecode_sse41_la-yuv_sse41.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpdspdecode_sse41_la_CPPFLAGS) $(CPPFLAGS) $(libwebpdspdecode_sse41_la_CFLAGS) $(CFLAGS) -c -o libwebpdspdecode_sse41_la-yuv_sse41.lo `test -f 'yuv_sse41.c' || echo '$(srcdir)/'`yuv_sse41.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-commonHEADERS: $(common_HEADERS) - @$(NORMAL_INSTALL) - @list='$(common_HEADERS)'; test -n "$(commondir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(commondir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(commondir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(commondir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(commondir)" || exit $$?; \ - done - -uninstall-commonHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(common_HEADERS)'; test -n "$(commondir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(commondir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(commondir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/libwebpdsp_la-alpha_processing.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-cost.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-cpu.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-dec.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-dec_clip_tables.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-enc.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-filters.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-lossless.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-lossless_enc.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-rescaler.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-ssim.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-upsampling.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-yuv.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips32_la-cost_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips32_la-enc_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips32_la-lossless_enc_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_msa_la-enc_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_msa_la-lossless_enc_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_neon_la-cost_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_neon_la-enc_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_neon_la-lossless_enc_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse2_la-cost_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse2_la-enc_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse2_la-lossless_enc_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse2_la-ssim_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse41_la-enc_sse41.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse41_la-lossless_enc_sse41.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-alpha_processing.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-cpu.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-dec.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-dec_clip_tables.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-filters.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-lossless.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-rescaler.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-upsampling.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-yuv.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips32_la-dec_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips32_la-rescaler_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips32_la-yuv_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_msa_la-dec_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_msa_la-filters_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_msa_la-lossless_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_msa_la-rescaler_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_msa_la-upsampling_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-alpha_processing_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-dec_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-filters_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-lossless_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-rescaler_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-upsampling_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-yuv_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-alpha_processing_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-dec_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-filters_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-lossless_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-rescaler_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-upsampling_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-yuv_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse41_la-alpha_processing_sse41.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse41_la-dec_sse41.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse41_la-upsampling_sse41.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse41_la-yuv_sse41.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-commonHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/libwebpdsp_la-alpha_processing.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-cost.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-cpu.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-dec.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-dec_clip_tables.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-enc.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-filters.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-lossless.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-lossless_enc.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-rescaler.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-ssim.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-upsampling.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_la-yuv.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips32_la-cost_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips32_la-enc_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips32_la-lossless_enc_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-cost_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-enc_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_mips_dsp_r2_la-lossless_enc_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_msa_la-enc_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_msa_la-lossless_enc_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_neon_la-cost_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_neon_la-enc_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_neon_la-lossless_enc_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse2_la-cost_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse2_la-enc_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse2_la-lossless_enc_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse2_la-ssim_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse41_la-enc_sse41.Plo - -rm -f ./$(DEPDIR)/libwebpdsp_sse41_la-lossless_enc_sse41.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-alpha_processing.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-cpu.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-dec.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-dec_clip_tables.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-filters.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-lossless.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-rescaler.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-upsampling.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_la-yuv.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips32_la-dec_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips32_la-rescaler_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips32_la-yuv_mips32.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-alpha_processing_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-dec_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-filters_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-lossless_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-rescaler_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-upsampling_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_mips_dsp_r2_la-yuv_mips_dsp_r2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_msa_la-dec_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_msa_la-filters_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_msa_la-lossless_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_msa_la-rescaler_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_msa_la-upsampling_msa.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-alpha_processing_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-dec_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-filters_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-lossless_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-rescaler_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-upsampling_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_neon_la-yuv_neon.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-alpha_processing_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-dec_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-filters_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-lossless_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-rescaler_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-upsampling_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse2_la-yuv_sse2.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse41_la-alpha_processing_sse41.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse41_la-dec_sse41.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse41_la-upsampling_sse41.Plo - -rm -f ./$(DEPDIR)/libwebpdspdecode_sse41_la-yuv_sse41.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-commonHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-commonHEADERS install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-commonHEADERS - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-alpha_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-alpha_enc.Plo deleted file mode 100644 index d4de88c6..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-alpha_enc.Plo +++ /dev/null @@ -1,362 +0,0 @@ -libwebpencode_la-alpha_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/alpha_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-analysis_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-analysis_enc.Plo deleted file mode 100644 index 089fd770..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-analysis_enc.Plo +++ /dev/null @@ -1,347 +0,0 @@ -libwebpencode_la-analysis_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/analysis_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-backward_references_cost_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-backward_references_cost_enc.Plo deleted file mode 100644 index fadf9264..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-backward_references_cost_enc.Plo +++ /dev/null @@ -1,341 +0,0 @@ -libwebpencode_la-backward_references_cost_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_cost_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-backward_references_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-backward_references_enc.Plo deleted file mode 100644 index 50784b3f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-backward_references_enc.Plo +++ /dev/null @@ -1,353 +0,0 @@ -libwebpencode_la-backward_references_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-config_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-config_enc.Plo deleted file mode 100644 index 17dc7c9e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-config_enc.Plo +++ /dev/null @@ -1,116 +0,0 @@ -libwebpencode_la-config_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/config_enc.c \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-cost_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-cost_enc.Plo deleted file mode 100644 index 77bef831..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-cost_enc.Plo +++ /dev/null @@ -1,347 +0,0 @@ -libwebpencode_la-cost_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.c \ - ../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-filter_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-filter_enc.Plo deleted file mode 100644 index da3ecd2c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-filter_enc.Plo +++ /dev/null @@ -1,254 +0,0 @@ -libwebpencode_la-filter_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/filter_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-frame_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-frame_enc.Plo deleted file mode 100644 index 3e41582e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-frame_enc.Plo +++ /dev/null @@ -1,353 +0,0 @@ -libwebpencode_la-frame_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/frame_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-histogram_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-histogram_enc.Plo deleted file mode 100644 index a7ddd015..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-histogram_enc.Plo +++ /dev/null @@ -1,350 +0,0 @@ -libwebpencode_la-histogram_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.c \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-iterator_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-iterator_enc.Plo deleted file mode 100644 index 8a106b01..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-iterator_enc.Plo +++ /dev/null @@ -1,254 +0,0 @@ -libwebpencode_la-iterator_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/iterator_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-near_lossless_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-near_lossless_enc.Plo deleted file mode 100644 index 0eba5394..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-near_lossless_enc.Plo +++ /dev/null @@ -1,350 +0,0 @@ -libwebpencode_la-near_lossless_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/near_lossless_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_csp_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_csp_enc.Plo deleted file mode 100644 index b4e55667..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_csp_enc.Plo +++ /dev/null @@ -1,371 +0,0 @@ -libwebpencode_la-picture_csp_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/picture_csp_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_enc.Plo deleted file mode 100644 index 427fe901..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_enc.Plo +++ /dev/null @@ -1,344 +0,0 @@ -libwebpencode_la-picture_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/picture_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_psnr_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_psnr_enc.Plo deleted file mode 100644 index 3ffb2dcb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_psnr_enc.Plo +++ /dev/null @@ -1,347 +0,0 @@ -libwebpencode_la-picture_psnr_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/picture_psnr_enc.c \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_rescale_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_rescale_enc.Plo deleted file mode 100644 index 3c042182..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_rescale_enc.Plo +++ /dev/null @@ -1,347 +0,0 @@ -libwebpencode_la-picture_rescale_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/picture_rescale_enc.c \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_tools_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_tools_enc.Plo deleted file mode 100644 index a7b21746..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-picture_tools_enc.Plo +++ /dev/null @@ -1,263 +0,0 @@ -libwebpencode_la-picture_tools_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/picture_tools_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/yuv.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-predictor_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-predictor_enc.Plo deleted file mode 100644 index 8a93cd8f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-predictor_enc.Plo +++ /dev/null @@ -1,356 +0,0 @@ -libwebpencode_la-predictor_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/predictor_enc.c \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-quant_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-quant_enc.Plo deleted file mode 100644 index 6422601a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-quant_enc.Plo +++ /dev/null @@ -1,356 +0,0 @@ -libwebpencode_la-quant_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/quant_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/quant.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/quant.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/arm_neon.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-syntax_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-syntax_enc.Plo deleted file mode 100644 index 2056616f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-syntax_enc.Plo +++ /dev/null @@ -1,260 +0,0 @@ -libwebpencode_la-syntax_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/syntax_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/mux_types.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/webp/mux_types.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-token_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-token_enc.Plo deleted file mode 100644 index 2309b9a2..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-token_enc.Plo +++ /dev/null @@ -1,347 +0,0 @@ -libwebpencode_la-token_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/token_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-tree_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-tree_enc.Plo deleted file mode 100644 index 21b44214..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-tree_enc.Plo +++ /dev/null @@ -1,254 +0,0 @@ -libwebpencode_la-tree_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/tree_enc.c \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-vp8l_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-vp8l_enc.Plo deleted file mode 100644 index 13e4a36f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-vp8l_enc.Plo +++ /dev/null @@ -1,368 +0,0 @@ -libwebpencode_la-vp8l_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8l_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/lossless_common.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-webp_enc.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-webp_enc.Plo deleted file mode 100644 index 0c2e6ecb..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/.deps/libwebpencode_la-webp_enc.Plo +++ /dev/null @@ -1,362 +0,0 @@ -libwebpencode_la-webp_enc.lo: \ - ../../../Carthage/Checkouts/libwebp/src/enc/webp_enc.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -../../../Carthage/Checkouts/libwebp/src/enc/cost_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8i_enc.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/enc/vp8li_enc.h: - -../../../Carthage/Checkouts/libwebp/src/enc/backward_references_enc.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/enc/histogram_enc.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/src/enc/Makefile deleted file mode 100644 index 0d596700..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/enc/Makefile +++ /dev/null @@ -1,960 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# src/enc/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -VPATH = ../../../Carthage/Checkouts/libwebp/src/enc -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -subdir = src/enc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(libwebpencodeinclude_HEADERS) \ - $(noinst_HEADERS) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libwebpencode_la_LIBADD = -am_libwebpencode_la_OBJECTS = libwebpencode_la-alpha_enc.lo \ - libwebpencode_la-analysis_enc.lo \ - libwebpencode_la-backward_references_cost_enc.lo \ - libwebpencode_la-backward_references_enc.lo \ - libwebpencode_la-config_enc.lo libwebpencode_la-cost_enc.lo \ - libwebpencode_la-filter_enc.lo libwebpencode_la-frame_enc.lo \ - libwebpencode_la-histogram_enc.lo \ - libwebpencode_la-iterator_enc.lo \ - libwebpencode_la-near_lossless_enc.lo \ - libwebpencode_la-picture_enc.lo \ - libwebpencode_la-picture_csp_enc.lo \ - libwebpencode_la-picture_psnr_enc.lo \ - libwebpencode_la-picture_rescale_enc.lo \ - libwebpencode_la-picture_tools_enc.lo \ - libwebpencode_la-predictor_enc.lo \ - libwebpencode_la-quant_enc.lo libwebpencode_la-syntax_enc.lo \ - libwebpencode_la-token_enc.lo libwebpencode_la-tree_enc.lo \ - libwebpencode_la-vp8l_enc.lo libwebpencode_la-webp_enc.lo -libwebpencode_la_OBJECTS = $(am_libwebpencode_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -libwebpencode_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libwebpencode_la_LDFLAGS) $(LDFLAGS) \ - -o $@ -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/webp -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/libwebpencode_la-alpha_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-analysis_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-backward_references_cost_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-backward_references_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-config_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-cost_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-filter_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-frame_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-histogram_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-iterator_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-near_lossless_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-picture_csp_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-picture_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-picture_psnr_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-picture_rescale_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-picture_tools_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-predictor_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-quant_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-syntax_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-token_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-tree_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-vp8l_enc.Plo \ - ./$(DEPDIR)/libwebpencode_la-webp_enc.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libwebpencode_la_SOURCES) -DIST_SOURCES = $(libwebpencode_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libwebpencodeincludedir)" -HEADERS = $(libwebpencodeinclude_HEADERS) $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -I$(top_builddir) -I$(top_srcdir) -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/src/enc -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/src/enc -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../../Carthage/Checkouts/libwebp/src/enc -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../../../Carthage/Checkouts/libwebp -noinst_LTLIBRARIES = libwebpencode.la -libwebpencode_la_SOURCES = alpha_enc.c analysis_enc.c \ - backward_references_cost_enc.c backward_references_enc.c \ - backward_references_enc.h config_enc.c cost_enc.c cost_enc.h \ - filter_enc.c frame_enc.c histogram_enc.c histogram_enc.h \ - iterator_enc.c near_lossless_enc.c picture_enc.c \ - picture_csp_enc.c picture_psnr_enc.c picture_rescale_enc.c \ - picture_tools_enc.c predictor_enc.c quant_enc.c syntax_enc.c \ - token_enc.c tree_enc.c vp8i_enc.h vp8l_enc.c vp8li_enc.h \ - webp_enc.c -libwebpencodeinclude_HEADERS = ../webp/encode.h ../webp/types.h -noinst_HEADERS = ../webp/format_constants.h -libwebpencode_la_LDFLAGS = -lm -libwebpencode_la_CPPFLAGS = $(AM_CPPFLAGS) -libwebpencodeincludedir = $(includedir)/webp -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/enc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/enc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libwebpencode.la: $(libwebpencode_la_OBJECTS) $(libwebpencode_la_DEPENDENCIES) $(EXTRA_libwebpencode_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpencode_la_LINK) $(libwebpencode_la_OBJECTS) $(libwebpencode_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/libwebpencode_la-alpha_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-analysis_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-backward_references_cost_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-backward_references_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-config_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-cost_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-filter_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-frame_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-histogram_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-iterator_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-near_lossless_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-picture_csp_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-picture_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-picture_psnr_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-picture_rescale_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-picture_tools_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-predictor_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-quant_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-syntax_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-token_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-tree_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-vp8l_enc.Plo # am--include-marker -include ./$(DEPDIR)/libwebpencode_la-webp_enc.Plo # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -libwebpencode_la-alpha_enc.lo: alpha_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-alpha_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-alpha_enc.Tpo -c -o libwebpencode_la-alpha_enc.lo `test -f 'alpha_enc.c' || echo '$(srcdir)/'`alpha_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-alpha_enc.Tpo $(DEPDIR)/libwebpencode_la-alpha_enc.Plo -# $(AM_V_CC)source='alpha_enc.c' object='libwebpencode_la-alpha_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-alpha_enc.lo `test -f 'alpha_enc.c' || echo '$(srcdir)/'`alpha_enc.c - -libwebpencode_la-analysis_enc.lo: analysis_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-analysis_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-analysis_enc.Tpo -c -o libwebpencode_la-analysis_enc.lo `test -f 'analysis_enc.c' || echo '$(srcdir)/'`analysis_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-analysis_enc.Tpo $(DEPDIR)/libwebpencode_la-analysis_enc.Plo -# $(AM_V_CC)source='analysis_enc.c' object='libwebpencode_la-analysis_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-analysis_enc.lo `test -f 'analysis_enc.c' || echo '$(srcdir)/'`analysis_enc.c - -libwebpencode_la-backward_references_cost_enc.lo: backward_references_cost_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-backward_references_cost_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-backward_references_cost_enc.Tpo -c -o libwebpencode_la-backward_references_cost_enc.lo `test -f 'backward_references_cost_enc.c' || echo '$(srcdir)/'`backward_references_cost_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-backward_references_cost_enc.Tpo $(DEPDIR)/libwebpencode_la-backward_references_cost_enc.Plo -# $(AM_V_CC)source='backward_references_cost_enc.c' object='libwebpencode_la-backward_references_cost_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-backward_references_cost_enc.lo `test -f 'backward_references_cost_enc.c' || echo '$(srcdir)/'`backward_references_cost_enc.c - -libwebpencode_la-backward_references_enc.lo: backward_references_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-backward_references_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-backward_references_enc.Tpo -c -o libwebpencode_la-backward_references_enc.lo `test -f 'backward_references_enc.c' || echo '$(srcdir)/'`backward_references_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-backward_references_enc.Tpo $(DEPDIR)/libwebpencode_la-backward_references_enc.Plo -# $(AM_V_CC)source='backward_references_enc.c' object='libwebpencode_la-backward_references_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-backward_references_enc.lo `test -f 'backward_references_enc.c' || echo '$(srcdir)/'`backward_references_enc.c - -libwebpencode_la-config_enc.lo: config_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-config_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-config_enc.Tpo -c -o libwebpencode_la-config_enc.lo `test -f 'config_enc.c' || echo '$(srcdir)/'`config_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-config_enc.Tpo $(DEPDIR)/libwebpencode_la-config_enc.Plo -# $(AM_V_CC)source='config_enc.c' object='libwebpencode_la-config_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-config_enc.lo `test -f 'config_enc.c' || echo '$(srcdir)/'`config_enc.c - -libwebpencode_la-cost_enc.lo: cost_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-cost_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-cost_enc.Tpo -c -o libwebpencode_la-cost_enc.lo `test -f 'cost_enc.c' || echo '$(srcdir)/'`cost_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-cost_enc.Tpo $(DEPDIR)/libwebpencode_la-cost_enc.Plo -# $(AM_V_CC)source='cost_enc.c' object='libwebpencode_la-cost_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-cost_enc.lo `test -f 'cost_enc.c' || echo '$(srcdir)/'`cost_enc.c - -libwebpencode_la-filter_enc.lo: filter_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-filter_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-filter_enc.Tpo -c -o libwebpencode_la-filter_enc.lo `test -f 'filter_enc.c' || echo '$(srcdir)/'`filter_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-filter_enc.Tpo $(DEPDIR)/libwebpencode_la-filter_enc.Plo -# $(AM_V_CC)source='filter_enc.c' object='libwebpencode_la-filter_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-filter_enc.lo `test -f 'filter_enc.c' || echo '$(srcdir)/'`filter_enc.c - -libwebpencode_la-frame_enc.lo: frame_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-frame_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-frame_enc.Tpo -c -o libwebpencode_la-frame_enc.lo `test -f 'frame_enc.c' || echo '$(srcdir)/'`frame_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-frame_enc.Tpo $(DEPDIR)/libwebpencode_la-frame_enc.Plo -# $(AM_V_CC)source='frame_enc.c' object='libwebpencode_la-frame_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-frame_enc.lo `test -f 'frame_enc.c' || echo '$(srcdir)/'`frame_enc.c - -libwebpencode_la-histogram_enc.lo: histogram_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-histogram_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-histogram_enc.Tpo -c -o libwebpencode_la-histogram_enc.lo `test -f 'histogram_enc.c' || echo '$(srcdir)/'`histogram_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-histogram_enc.Tpo $(DEPDIR)/libwebpencode_la-histogram_enc.Plo -# $(AM_V_CC)source='histogram_enc.c' object='libwebpencode_la-histogram_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-histogram_enc.lo `test -f 'histogram_enc.c' || echo '$(srcdir)/'`histogram_enc.c - -libwebpencode_la-iterator_enc.lo: iterator_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-iterator_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-iterator_enc.Tpo -c -o libwebpencode_la-iterator_enc.lo `test -f 'iterator_enc.c' || echo '$(srcdir)/'`iterator_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-iterator_enc.Tpo $(DEPDIR)/libwebpencode_la-iterator_enc.Plo -# $(AM_V_CC)source='iterator_enc.c' object='libwebpencode_la-iterator_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-iterator_enc.lo `test -f 'iterator_enc.c' || echo '$(srcdir)/'`iterator_enc.c - -libwebpencode_la-near_lossless_enc.lo: near_lossless_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-near_lossless_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-near_lossless_enc.Tpo -c -o libwebpencode_la-near_lossless_enc.lo `test -f 'near_lossless_enc.c' || echo '$(srcdir)/'`near_lossless_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-near_lossless_enc.Tpo $(DEPDIR)/libwebpencode_la-near_lossless_enc.Plo -# $(AM_V_CC)source='near_lossless_enc.c' object='libwebpencode_la-near_lossless_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-near_lossless_enc.lo `test -f 'near_lossless_enc.c' || echo '$(srcdir)/'`near_lossless_enc.c - -libwebpencode_la-picture_enc.lo: picture_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-picture_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-picture_enc.Tpo -c -o libwebpencode_la-picture_enc.lo `test -f 'picture_enc.c' || echo '$(srcdir)/'`picture_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-picture_enc.Tpo $(DEPDIR)/libwebpencode_la-picture_enc.Plo -# $(AM_V_CC)source='picture_enc.c' object='libwebpencode_la-picture_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-picture_enc.lo `test -f 'picture_enc.c' || echo '$(srcdir)/'`picture_enc.c - -libwebpencode_la-picture_csp_enc.lo: picture_csp_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-picture_csp_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-picture_csp_enc.Tpo -c -o libwebpencode_la-picture_csp_enc.lo `test -f 'picture_csp_enc.c' || echo '$(srcdir)/'`picture_csp_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-picture_csp_enc.Tpo $(DEPDIR)/libwebpencode_la-picture_csp_enc.Plo -# $(AM_V_CC)source='picture_csp_enc.c' object='libwebpencode_la-picture_csp_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-picture_csp_enc.lo `test -f 'picture_csp_enc.c' || echo '$(srcdir)/'`picture_csp_enc.c - -libwebpencode_la-picture_psnr_enc.lo: picture_psnr_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-picture_psnr_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-picture_psnr_enc.Tpo -c -o libwebpencode_la-picture_psnr_enc.lo `test -f 'picture_psnr_enc.c' || echo '$(srcdir)/'`picture_psnr_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-picture_psnr_enc.Tpo $(DEPDIR)/libwebpencode_la-picture_psnr_enc.Plo -# $(AM_V_CC)source='picture_psnr_enc.c' object='libwebpencode_la-picture_psnr_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-picture_psnr_enc.lo `test -f 'picture_psnr_enc.c' || echo '$(srcdir)/'`picture_psnr_enc.c - -libwebpencode_la-picture_rescale_enc.lo: picture_rescale_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-picture_rescale_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-picture_rescale_enc.Tpo -c -o libwebpencode_la-picture_rescale_enc.lo `test -f 'picture_rescale_enc.c' || echo '$(srcdir)/'`picture_rescale_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-picture_rescale_enc.Tpo $(DEPDIR)/libwebpencode_la-picture_rescale_enc.Plo -# $(AM_V_CC)source='picture_rescale_enc.c' object='libwebpencode_la-picture_rescale_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-picture_rescale_enc.lo `test -f 'picture_rescale_enc.c' || echo '$(srcdir)/'`picture_rescale_enc.c - -libwebpencode_la-picture_tools_enc.lo: picture_tools_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-picture_tools_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-picture_tools_enc.Tpo -c -o libwebpencode_la-picture_tools_enc.lo `test -f 'picture_tools_enc.c' || echo '$(srcdir)/'`picture_tools_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-picture_tools_enc.Tpo $(DEPDIR)/libwebpencode_la-picture_tools_enc.Plo -# $(AM_V_CC)source='picture_tools_enc.c' object='libwebpencode_la-picture_tools_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-picture_tools_enc.lo `test -f 'picture_tools_enc.c' || echo '$(srcdir)/'`picture_tools_enc.c - -libwebpencode_la-predictor_enc.lo: predictor_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-predictor_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-predictor_enc.Tpo -c -o libwebpencode_la-predictor_enc.lo `test -f 'predictor_enc.c' || echo '$(srcdir)/'`predictor_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-predictor_enc.Tpo $(DEPDIR)/libwebpencode_la-predictor_enc.Plo -# $(AM_V_CC)source='predictor_enc.c' object='libwebpencode_la-predictor_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-predictor_enc.lo `test -f 'predictor_enc.c' || echo '$(srcdir)/'`predictor_enc.c - -libwebpencode_la-quant_enc.lo: quant_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-quant_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-quant_enc.Tpo -c -o libwebpencode_la-quant_enc.lo `test -f 'quant_enc.c' || echo '$(srcdir)/'`quant_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-quant_enc.Tpo $(DEPDIR)/libwebpencode_la-quant_enc.Plo -# $(AM_V_CC)source='quant_enc.c' object='libwebpencode_la-quant_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-quant_enc.lo `test -f 'quant_enc.c' || echo '$(srcdir)/'`quant_enc.c - -libwebpencode_la-syntax_enc.lo: syntax_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-syntax_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-syntax_enc.Tpo -c -o libwebpencode_la-syntax_enc.lo `test -f 'syntax_enc.c' || echo '$(srcdir)/'`syntax_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-syntax_enc.Tpo $(DEPDIR)/libwebpencode_la-syntax_enc.Plo -# $(AM_V_CC)source='syntax_enc.c' object='libwebpencode_la-syntax_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-syntax_enc.lo `test -f 'syntax_enc.c' || echo '$(srcdir)/'`syntax_enc.c - -libwebpencode_la-token_enc.lo: token_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-token_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-token_enc.Tpo -c -o libwebpencode_la-token_enc.lo `test -f 'token_enc.c' || echo '$(srcdir)/'`token_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-token_enc.Tpo $(DEPDIR)/libwebpencode_la-token_enc.Plo -# $(AM_V_CC)source='token_enc.c' object='libwebpencode_la-token_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-token_enc.lo `test -f 'token_enc.c' || echo '$(srcdir)/'`token_enc.c - -libwebpencode_la-tree_enc.lo: tree_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-tree_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-tree_enc.Tpo -c -o libwebpencode_la-tree_enc.lo `test -f 'tree_enc.c' || echo '$(srcdir)/'`tree_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-tree_enc.Tpo $(DEPDIR)/libwebpencode_la-tree_enc.Plo -# $(AM_V_CC)source='tree_enc.c' object='libwebpencode_la-tree_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-tree_enc.lo `test -f 'tree_enc.c' || echo '$(srcdir)/'`tree_enc.c - -libwebpencode_la-vp8l_enc.lo: vp8l_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-vp8l_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-vp8l_enc.Tpo -c -o libwebpencode_la-vp8l_enc.lo `test -f 'vp8l_enc.c' || echo '$(srcdir)/'`vp8l_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-vp8l_enc.Tpo $(DEPDIR)/libwebpencode_la-vp8l_enc.Plo -# $(AM_V_CC)source='vp8l_enc.c' object='libwebpencode_la-vp8l_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-vp8l_enc.lo `test -f 'vp8l_enc.c' || echo '$(srcdir)/'`vp8l_enc.c - -libwebpencode_la-webp_enc.lo: webp_enc.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwebpencode_la-webp_enc.lo -MD -MP -MF $(DEPDIR)/libwebpencode_la-webp_enc.Tpo -c -o libwebpencode_la-webp_enc.lo `test -f 'webp_enc.c' || echo '$(srcdir)/'`webp_enc.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libwebpencode_la-webp_enc.Tpo $(DEPDIR)/libwebpencode_la-webp_enc.Plo -# $(AM_V_CC)source='webp_enc.c' object='libwebpencode_la-webp_enc.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwebpencode_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwebpencode_la-webp_enc.lo `test -f 'webp_enc.c' || echo '$(srcdir)/'`webp_enc.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-libwebpencodeincludeHEADERS: $(libwebpencodeinclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(libwebpencodeinclude_HEADERS)'; test -n "$(libwebpencodeincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(libwebpencodeincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libwebpencodeincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libwebpencodeincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(libwebpencodeincludedir)" || exit $$?; \ - done - -uninstall-libwebpencodeincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(libwebpencodeinclude_HEADERS)'; test -n "$(libwebpencodeincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(libwebpencodeincludedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(libwebpencodeincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/libwebpencode_la-alpha_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-analysis_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-backward_references_cost_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-backward_references_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-config_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-cost_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-filter_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-frame_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-histogram_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-iterator_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-near_lossless_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-picture_csp_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-picture_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-picture_psnr_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-picture_rescale_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-picture_tools_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-predictor_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-quant_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-syntax_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-token_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-tree_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-vp8l_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-webp_enc.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-libwebpencodeincludeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/libwebpencode_la-alpha_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-analysis_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-backward_references_cost_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-backward_references_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-config_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-cost_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-filter_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-frame_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-histogram_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-iterator_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-near_lossless_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-picture_csp_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-picture_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-picture_psnr_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-picture_rescale_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-picture_tools_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-predictor_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-quant_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-syntax_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-token_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-tree_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-vp8l_enc.Plo - -rm -f ./$(DEPDIR)/libwebpencode_la-webp_enc.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libwebpencodeincludeHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am \ - install-libwebpencodeincludeHEADERS install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am \ - uninstall-libwebpencodeincludeHEADERS - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/libwebp.pc b/Carthage/Checkouts/PINRemoteImage/webp/src/libwebp.pc deleted file mode 100644 index 7cfece3e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/libwebp.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebp -Description: Library for the WebP graphics format -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebp -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/libwebpdecoder.pc b/Carthage/Checkouts/PINRemoteImage/webp/src/libwebpdecoder.pc deleted file mode 100644 index 44653464..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/libwebpdecoder.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpdecoder -Description: Library for the WebP graphics format (decode only) -Version: 1.1.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpdecoder -Libs.private: -lm -D_THREAD_SAFE -pthread diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/anim_encode.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/anim_encode.Plo deleted file mode 100644 index 2b77fd4f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/anim_encode.Plo +++ /dev/null @@ -1,370 +0,0 @@ -anim_encode.lo: ../../../Carthage/Checkouts/libwebp/src/mux/anim_encode.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdio.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_stdio.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_va_list.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/stdio.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_ctermid.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_off_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_stdio.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/mux/animi.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/mux.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/math.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdio.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_stdio.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_va_list.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/stdio.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_ctermid.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_off_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_stdio.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/mux/animi.h: - -../../../Carthage/Checkouts/libwebp/src/webp/mux.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/muxedit.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/muxedit.Plo deleted file mode 100644 index 5d5b04b0..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/muxedit.Plo +++ /dev/null @@ -1,376 +0,0 @@ -muxedit.lo: ../../../Carthage/Checkouts/libwebp/src/mux/muxedit.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/mux/muxi.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/mux.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/mux/muxi.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/mux.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/muxinternal.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/muxinternal.Plo deleted file mode 100644 index 83f23e23..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/muxinternal.Plo +++ /dev/null @@ -1,376 +0,0 @@ -muxinternal.lo: ../../../Carthage/Checkouts/libwebp/src/mux/muxinternal.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/mux/muxi.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/mux.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/mux/muxi.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/mux.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/muxread.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/muxread.Plo deleted file mode 100644 index 5b61cd36..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/.deps/muxread.Plo +++ /dev/null @@ -1,376 +0,0 @@ -muxread.lo: ../../../Carthage/Checkouts/libwebp/src/mux/muxread.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/mux/muxi.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/mux.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/mux/muxi.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8i_dec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dec/common_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8li_dec.h: - -../../../Carthage/Checkouts/libwebp/src/dec/webpi_dec.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/dec/vp8_dec.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/mux.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./mux_types.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/src/mux/Makefile deleted file mode 100644 index 1f80683e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/Makefile +++ /dev/null @@ -1,754 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# src/mux/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - -VPATH = ../../../Carthage/Checkouts/libwebp/src/mux -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -subdir = src/mux -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(libwebpmuxinclude_HEADERS) \ - $(noinst_HEADERS) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = libwebpmux.pc -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \ - "$(DESTDIR)$(libwebpmuxincludedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -libwebpmux_la_DEPENDENCIES = ../libwebp.la -am_libwebpmux_la_OBJECTS = anim_encode.lo muxedit.lo muxinternal.lo \ - muxread.lo -libwebpmux_la_OBJECTS = $(am_libwebpmux_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -libwebpmux_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libwebpmux_la_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/webp -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/anim_encode.Plo \ - ./$(DEPDIR)/muxedit.Plo ./$(DEPDIR)/muxinternal.Plo \ - ./$(DEPDIR)/muxread.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libwebpmux_la_SOURCES) -DIST_SOURCES = $(libwebpmux_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -DATA = $(pkgconfig_DATA) -HEADERS = $(libwebpmuxinclude_HEADERS) $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/libwebpmux.pc.in \ - $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -I$(top_builddir) -I$(top_srcdir) -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/src/mux -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/src/mux -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../../Carthage/Checkouts/libwebp/src/mux -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../../../Carthage/Checkouts/libwebp -lib_LTLIBRARIES = libwebpmux.la -libwebpmux_la_SOURCES = anim_encode.c animi.h muxedit.c muxi.h \ - muxinternal.c muxread.c -libwebpmuxinclude_HEADERS = ../webp/mux.h ../webp/mux_types.h \ - ../webp/types.h -noinst_HEADERS = ../webp/format_constants.h -libwebpmux_la_LIBADD = ../libwebp.la -libwebpmux_la_LDFLAGS = -no-undefined -version-info 3:5:0 -lm -libwebpmuxincludedir = $(includedir)/webp -pkgconfig_DATA = libwebpmux.pc -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/mux/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/mux/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -libwebpmux.pc: $(top_builddir)/config.status $(srcdir)/libwebpmux.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libwebpmux.la: $(libwebpmux_la_OBJECTS) $(libwebpmux_la_DEPENDENCIES) $(EXTRA_libwebpmux_la_DEPENDENCIES) - $(AM_V_CCLD)$(libwebpmux_la_LINK) -rpath $(libdir) $(libwebpmux_la_OBJECTS) $(libwebpmux_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/anim_encode.Plo # am--include-marker -include ./$(DEPDIR)/muxedit.Plo # am--include-marker -include ./$(DEPDIR)/muxinternal.Plo # am--include-marker -include ./$(DEPDIR)/muxread.Plo # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) -install-libwebpmuxincludeHEADERS: $(libwebpmuxinclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(libwebpmuxinclude_HEADERS)'; test -n "$(libwebpmuxincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(libwebpmuxincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libwebpmuxincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libwebpmuxincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(libwebpmuxincludedir)" || exit $$?; \ - done - -uninstall-libwebpmuxincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(libwebpmuxinclude_HEADERS)'; test -n "$(libwebpmuxincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(libwebpmuxincludedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(libwebpmuxincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/anim_encode.Plo - -rm -f ./$(DEPDIR)/muxedit.Plo - -rm -f ./$(DEPDIR)/muxinternal.Plo - -rm -f ./$(DEPDIR)/muxread.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-libwebpmuxincludeHEADERS \ - install-pkgconfigDATA - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/anim_encode.Plo - -rm -f ./$(DEPDIR)/muxedit.Plo - -rm -f ./$(DEPDIR)/muxinternal.Plo - -rm -f ./$(DEPDIR)/muxread.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-libLTLIBRARIES \ - uninstall-libwebpmuxincludeHEADERS uninstall-pkgconfigDATA - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-libLTLIBRARIES \ - install-libwebpmuxincludeHEADERS install-man install-pdf \ - install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-libLTLIBRARIES uninstall-libwebpmuxincludeHEADERS \ - uninstall-pkgconfigDATA - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/libwebpmux.pc b/Carthage/Checkouts/PINRemoteImage/webp/src/mux/libwebpmux.pc deleted file mode 100644 index eeb45f50..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/mux/libwebpmux.pc +++ /dev/null @@ -1,12 +0,0 @@ -prefix=/Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: libwebpmux -Description: Library for manipulating the WebP graphics format container -Version: 1.1.0 -Requires: libwebp >= 0.2.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lwebpmux -Libs.private: -lm diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/bit_reader_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/bit_reader_utils.Plo deleted file mode 100644 index 48dda5b4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/bit_reader_utils.Plo +++ /dev/null @@ -1,245 +0,0 @@ -bit_reader_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.c \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_inl_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_inl_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_reader_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/bit_writer_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/bit_writer_utils.Plo deleted file mode 100644 index 1d802a8e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/bit_writer_utils.Plo +++ /dev/null @@ -1,332 +0,0 @@ -bit_writer_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/bit_writer_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/utils/endian_inl_utils.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/color_cache_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/color_cache_utils.Plo deleted file mode 100644 index 6a5ac3f4..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/color_cache_utils.Plo +++ /dev/null @@ -1,329 +0,0 @@ -color_cache_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/filters_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/filters_utils.Plo deleted file mode 100644 index 6f90dd9a..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/filters_utils.Plo +++ /dev/null @@ -1,305 +0,0 @@ -filters_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.c \ - ../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h - -../../../Carthage/Checkouts/libwebp/src/utils/filters_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/huffman_encode_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/huffman_encode_utils.Plo deleted file mode 100644 index df1c4111..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/huffman_encode_utils.Plo +++ /dev/null @@ -1,332 +0,0 @@ -huffman_encode_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_encode_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/huffman_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/huffman_utils.Plo deleted file mode 100644 index 3719a5f1..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/huffman_utils.Plo +++ /dev/null @@ -1,332 +0,0 @@ -huffman_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/utils/huffman_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/quant_levels_dec_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/quant_levels_dec_utils.Plo deleted file mode 100644 index d91ced8f..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/quant_levels_dec_utils.Plo +++ /dev/null @@ -1,239 +0,0 @@ -quant_levels_dec_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.c \ - ../../../Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - ../../src/webp/config.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -../../../Carthage/Checkouts/libwebp/src/utils/quant_levels_dec_utils.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -../../src/webp/config.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/quant_levels_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/quant_levels_utils.Plo deleted file mode 100644 index 4a996377..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/quant_levels_utils.Plo +++ /dev/null @@ -1,218 +0,0 @@ -quant_levels_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -../../../Carthage/Checkouts/libwebp/src/utils/quant_levels_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/random_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/random_utils.Plo deleted file mode 100644 index b0d8e77e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/random_utils.Plo +++ /dev/null @@ -1,146 +0,0 @@ -random_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/utils/random_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/rescaler_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/rescaler_utils.Plo deleted file mode 100644 index 5628308e..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/rescaler_utils.Plo +++ /dev/null @@ -1,308 +0,0 @@ -rescaler_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/rescaler_utils.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/thread_utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/thread_utils.Plo deleted file mode 100644 index 0a8e8b91..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/thread_utils.Plo +++ /dev/null @@ -1,239 +0,0 @@ -thread_utils.lo: \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/utils/thread_utils.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/utils.Plo b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/utils.Plo deleted file mode 100644 index fa0644f3..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/.deps/utils.Plo +++ /dev/null @@ -1,340 +0,0 @@ -utils.lo: ../../../Carthage/Checkouts/libwebp/src/utils/utils.c \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/decode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/./types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/encode.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h \ - ../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h \ - ../../src/webp/config.h \ - ../../../Carthage/Checkouts/libwebp/src/webp/types.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h \ - ../../../Carthage/Checkouts/libwebp/src/utils/utils.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h \ - /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdlib.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/Availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/AvailabilityInternal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/cdefs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_symbol_aliasing.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_posix_availability.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/wait.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_pid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_id_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/appleapiopts.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/signal.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_mcontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/machine/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/mach/arm/_structs.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_u_int64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_intptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uintptr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_attr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigaltstack.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ucontext.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_sigset_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_size_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_uid_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/resource.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/stdint.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint8_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint16_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint32_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uint64_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_intmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/_types/_uintmax_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timeval.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_endian.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/_OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/libkern/arm/OSByteOrder.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/arch.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_os_inline.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/alloca.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ct_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rune_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_wchar_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_null.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/malloc/_malloc.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_dev_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mode_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/string.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_rsize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_errno_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_ssize_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_strings.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_common.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/secure/_string.h: - -../../../Carthage/Checkouts/libwebp/src/webp/decode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/./types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/stddef.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/__stddef_max_align_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/inttypes.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/inttypes.h: - -../../../Carthage/Checkouts/libwebp/src/webp/encode.h: - -../../../Carthage/Checkouts/libwebp/src/webp/format_constants.h: - -../../../Carthage/Checkouts/libwebp/src/utils/color_cache_utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/assert.h: - -../../../Carthage/Checkouts/libwebp/src/dsp/dsp.h: - -../../src/webp/config.h: - -../../../Carthage/Checkouts/libwebp/src/webp/types.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/sched.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread_impl.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/time.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_clock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_time_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_timespec.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_cond_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_condattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_key_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutex_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_mutexattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_once_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlock_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_rwlockattr_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_pthread/_pthread_t.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/pthread/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/qos.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/_types/_mach_port_t.h: - -../../../Carthage/Checkouts/libwebp/src/utils/utils.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.3/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/machine/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/arm/_limits.h: - -/Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/usr/include/sys/syslimits.h: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/Makefile b/Carthage/Checkouts/PINRemoteImage/webp/src/utils/Makefile deleted file mode 100644 index db68ab0d..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/utils/Makefile +++ /dev/null @@ -1,755 +0,0 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. -# src/utils/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2020 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - -VPATH = ../../../Carthage/Checkouts/libwebp/src/utils -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libwebp -pkgincludedir = $(includedir)/libwebp -pkglibdir = $(libdir)/libwebp -pkglibexecdir = $(libexecdir)/libwebp -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-apple-darwin19.5.0 -host_triplet = aarch64-apple-darwin -am__append_1 = libwebputilsdecode.la -subdir = src/utils -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(common_HEADERS) \ - $(noinst_HEADERS) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/webp/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libwebputils_la_LIBADD = -am__objects_1 = bit_reader_utils.lo color_cache_utils.lo \ - filters_utils.lo huffman_utils.lo quant_levels_dec_utils.lo \ - rescaler_utils.lo random_utils.lo thread_utils.lo utils.lo -am__objects_2 = bit_writer_utils.lo huffman_encode_utils.lo \ - quant_levels_utils.lo -am_libwebputils_la_OBJECTS = $(am__objects_1) $(am__objects_2) -libwebputils_la_OBJECTS = $(am_libwebputils_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -libwebputilsdecode_la_LIBADD = -am__libwebputilsdecode_la_SOURCES_DIST = bit_reader_utils.c \ - bit_reader_utils.h bit_reader_inl_utils.h color_cache_utils.c \ - color_cache_utils.h endian_inl_utils.h filters_utils.c \ - filters_utils.h huffman_utils.c huffman_utils.h \ - quant_levels_dec_utils.c quant_levels_dec_utils.h \ - rescaler_utils.c rescaler_utils.h random_utils.c \ - random_utils.h thread_utils.c thread_utils.h utils.c utils.h -am_libwebputilsdecode_la_OBJECTS = \ - $(am__objects_1) -libwebputilsdecode_la_OBJECTS = $(am_libwebputilsdecode_la_OBJECTS) -am_libwebputilsdecode_la_rpath = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src/webp -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/bit_reader_utils.Plo \ - ./$(DEPDIR)/bit_writer_utils.Plo \ - ./$(DEPDIR)/color_cache_utils.Plo \ - ./$(DEPDIR)/filters_utils.Plo \ - ./$(DEPDIR)/huffman_encode_utils.Plo \ - ./$(DEPDIR)/huffman_utils.Plo \ - ./$(DEPDIR)/quant_levels_dec_utils.Plo \ - ./$(DEPDIR)/quant_levels_utils.Plo \ - ./$(DEPDIR)/random_utils.Plo ./$(DEPDIR)/rescaler_utils.Plo \ - ./$(DEPDIR)/thread_utils.Plo ./$(DEPDIR)/utils.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libwebputils_la_SOURCES) $(libwebputilsdecode_la_SOURCES) -DIST_SOURCES = $(libwebputils_la_SOURCES) \ - $(am__libwebputilsdecode_la_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(commondir)" -HEADERS = $(common_HEADERS) $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing aclocal-1.16 -AMTAR = $${TAR-tar} -AM_CFLAGS = -fvisibility=hidden -Wall -Wconstant-conversion -Wdeclaration-after-statement -Wextra -Wfloat-conversion -Wformat -Wformat-nonliteral -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wold-style-definition -Wparentheses-equality -Wshadow -Wshorten-64-to-32 -Wundef -Wunreachable-code -Wunused -Wvla -Wno-deprecated-declarations -AM_CPPFLAGS = -DNDEBUG -I$(top_builddir) -I$(top_srcdir) -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoconf -AUTOHEADER = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing autoheader -AUTOMAKE = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing automake-1.16 -AWK = awk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -arch arm64 -pipe -isysroot /Applications/Xcode-11.5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.5.sdk/ -O3 -DNDEBUG -miphoneos-version-min=6.0 -fembed-bitcode -D_THREAD_SAFE -pthread -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = dsymutil -DUMPBIN = : -ECHO_C = \c -ECHO_N = -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GIF_INCLUDES = -GIF_LIBS = -GL_INCLUDES = -GL_LIBS = -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JPEG_INCLUDES = -JPEG_LIBS = -LD = /Applications/Xcode-11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBPNG_CONFIG = /usr/local/bin/libpng-config -LIBS = -LIBSDL_CONFIG = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = lipo -LN_S = ln -s -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -MAKEINFO = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/missing makeinfo -MANIFEST_TOOL = : -MKDIR_P = ../../../Carthage/Checkouts/libwebp/install-sh -c -d -NEON_FLAGS = -NM = nm -NMEDIT = nmedit -OBJDUMP = objdump -OBJEXT = o -OTOOL = otool -OTOOL64 = : -PACKAGE = libwebp -PACKAGE_BUGREPORT = https://bugs.chromium.org/p/webp -PACKAGE_NAME = libwebp -PACKAGE_STRING = libwebp 1.1.0 -PACKAGE_TARNAME = libwebp -PACKAGE_URL = http://developers.google.com/speed/webp -PACKAGE_VERSION = 1.1.0 -PATH_SEPARATOR = : -PNG_INCLUDES = -PNG_LIBS = -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -D_THREAD_SAFE -pthread -PTHREAD_LIBS = -RANLIB = ranlib -SDL_INCLUDES = -SDL_LIBS = -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -SSE2_FLAGS = -SSE41_FLAGS = -STRIP = strip -TIFF_INCLUDES = -TIFF_LIBS = -USE_SWAP_16BIT_CSP = -DWEBP_SWAP_16BIT_CSP=1 -VERSION = 1.1.0 -abs_builddir = /Users/garrettmoon/code/PINRemoteImage/webp/src/utils -abs_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp/src/utils -abs_top_builddir = /Users/garrettmoon/code/PINRemoteImage/webp -abs_top_srcdir = /Users/garrettmoon/code/PINRemoteImage/webp/../Carthage/Checkouts/libwebp -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = link -dump -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-apple-darwin19.5.0 -build_alias = x86_64-apple-darwin19.5.0 -build_cpu = x86_64 -build_os = darwin19.5.0 -build_vendor = apple -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = aarch64-apple-darwin -host_alias = aarch64-apple-darwin -host_cpu = aarch64 -host_os = darwin -host_vendor = apple -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /Users/garrettmoon/code/PINRemoteImage/Carthage/Checkouts/libwebp/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -pkgconfigdir = ${libdir}/pkgconfig -prefix = /Users/garrettmoon/code/PINRemoteImage/webp/iosbuild/iPhoneOS-13.5-aarch64 -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../../Carthage/Checkouts/libwebp/src/utils -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../../../Carthage/Checkouts/libwebp -noinst_LTLIBRARIES = libwebputils.la $(am__append_1) -common_HEADERS = ../webp/types.h -commondir = $(includedir)/webp -noinst_HEADERS = ../dsp/dsp.h ../webp/decode.h ../webp/encode.h \ - ../webp/format_constants.h -COMMON_SOURCES = bit_reader_utils.c bit_reader_utils.h \ - bit_reader_inl_utils.h color_cache_utils.c color_cache_utils.h \ - endian_inl_utils.h filters_utils.c filters_utils.h \ - huffman_utils.c huffman_utils.h quant_levels_dec_utils.c \ - quant_levels_dec_utils.h rescaler_utils.c rescaler_utils.h \ - random_utils.c random_utils.h thread_utils.c thread_utils.h \ - utils.c utils.h -ENC_SOURCES = bit_writer_utils.c bit_writer_utils.h \ - huffman_encode_utils.c huffman_encode_utils.h \ - quant_levels_utils.c quant_levels_utils.h -libwebputils_la_SOURCES = $(COMMON_SOURCES) $(ENC_SOURCES) -libwebputilsdecode_la_SOURCES = $(COMMON_SOURCES) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/utils/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/utils/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libwebputils.la: $(libwebputils_la_OBJECTS) $(libwebputils_la_DEPENDENCIES) $(EXTRA_libwebputils_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libwebputils_la_OBJECTS) $(libwebputils_la_LIBADD) $(LIBS) - -libwebputilsdecode.la: $(libwebputilsdecode_la_OBJECTS) $(libwebputilsdecode_la_DEPENDENCIES) $(EXTRA_libwebputilsdecode_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(am_libwebputilsdecode_la_rpath) $(libwebputilsdecode_la_OBJECTS) $(libwebputilsdecode_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/bit_reader_utils.Plo # am--include-marker -include ./$(DEPDIR)/bit_writer_utils.Plo # am--include-marker -include ./$(DEPDIR)/color_cache_utils.Plo # am--include-marker -include ./$(DEPDIR)/filters_utils.Plo # am--include-marker -include ./$(DEPDIR)/huffman_encode_utils.Plo # am--include-marker -include ./$(DEPDIR)/huffman_utils.Plo # am--include-marker -include ./$(DEPDIR)/quant_levels_dec_utils.Plo # am--include-marker -include ./$(DEPDIR)/quant_levels_utils.Plo # am--include-marker -include ./$(DEPDIR)/random_utils.Plo # am--include-marker -include ./$(DEPDIR)/rescaler_utils.Plo # am--include-marker -include ./$(DEPDIR)/thread_utils.Plo # am--include-marker -include ./$(DEPDIR)/utils.Plo # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-commonHEADERS: $(common_HEADERS) - @$(NORMAL_INSTALL) - @list='$(common_HEADERS)'; test -n "$(commondir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(commondir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(commondir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(commondir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(commondir)" || exit $$?; \ - done - -uninstall-commonHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(common_HEADERS)'; test -n "$(commondir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(commondir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(commondir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/bit_reader_utils.Plo - -rm -f ./$(DEPDIR)/bit_writer_utils.Plo - -rm -f ./$(DEPDIR)/color_cache_utils.Plo - -rm -f ./$(DEPDIR)/filters_utils.Plo - -rm -f ./$(DEPDIR)/huffman_encode_utils.Plo - -rm -f ./$(DEPDIR)/huffman_utils.Plo - -rm -f ./$(DEPDIR)/quant_levels_dec_utils.Plo - -rm -f ./$(DEPDIR)/quant_levels_utils.Plo - -rm -f ./$(DEPDIR)/random_utils.Plo - -rm -f ./$(DEPDIR)/rescaler_utils.Plo - -rm -f ./$(DEPDIR)/thread_utils.Plo - -rm -f ./$(DEPDIR)/utils.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-commonHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/bit_reader_utils.Plo - -rm -f ./$(DEPDIR)/bit_writer_utils.Plo - -rm -f ./$(DEPDIR)/color_cache_utils.Plo - -rm -f ./$(DEPDIR)/filters_utils.Plo - -rm -f ./$(DEPDIR)/huffman_encode_utils.Plo - -rm -f ./$(DEPDIR)/huffman_utils.Plo - -rm -f ./$(DEPDIR)/quant_levels_dec_utils.Plo - -rm -f ./$(DEPDIR)/quant_levels_utils.Plo - -rm -f ./$(DEPDIR)/random_utils.Plo - -rm -f ./$(DEPDIR)/rescaler_utils.Plo - -rm -f ./$(DEPDIR)/thread_utils.Plo - -rm -f ./$(DEPDIR)/utils.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-commonHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-commonHEADERS install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-commonHEADERS - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/webp/config.h b/Carthage/Checkouts/PINRemoteImage/webp/src/webp/config.h deleted file mode 100644 index d6f5f2ae..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/webp/config.h +++ /dev/null @@ -1,150 +0,0 @@ -/* src/webp/config.h. Generated from config.h.in by configure. */ -/* src/webp/config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if building universal (internal helper macro) */ -/* #undef AC_APPLE_UNIVERSAL_BUILD */ - -/* Set to 1 if __builtin_bswap16 is available */ -#define HAVE_BUILTIN_BSWAP16 1 - -/* Set to 1 if __builtin_bswap32 is available */ -#define HAVE_BUILTIN_BSWAP32 1 - -/* Set to 1 if __builtin_bswap64 is available */ -#define HAVE_BUILTIN_BSWAP64 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_CPU_FEATURES_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_GLUT_GLUT_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_GL_GLUT_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_OPENGL_GLUT_H */ - -/* Have PTHREAD_PRIO_INHERIT. */ -#define HAVE_PTHREAD_PRIO_INHERIT 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SHLWAPI_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_WINCODEC_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_WINDOWS_H */ - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#define LT_OBJDIR ".libs/" - -/* Name of package */ -#define PACKAGE "libwebp" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "libwebp" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libwebp 1.1.0" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "libwebp" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "http://developers.google.com/speed/webp" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "1.1.0" - -/* Define to necessary symbol if this constant uses a non-standard name on - your system. */ -/* #undef PTHREAD_CREATE_JOINABLE */ - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Version number of package */ -#define VERSION "1.1.0" - -/* Set to 1 if GIF library is installed */ -/* #undef WEBP_HAVE_GIF */ - -/* Set to 1 if OpenGL is supported */ -/* #undef WEBP_HAVE_GL */ - -/* Set to 1 if JPEG library is installed */ -/* #undef WEBP_HAVE_JPEG */ - -/* Set to 1 if NEON is supported */ -/* #undef WEBP_HAVE_NEON */ - -/* Set to 1 if runtime detection of NEON is enabled */ -/* #undef WEBP_HAVE_NEON_RTCD */ - -/* Set to 1 if PNG library is installed */ -/* #undef WEBP_HAVE_PNG */ - -/* Set to 1 if SDL library is installed */ -/* #undef WEBP_HAVE_SDL */ - -/* Set to 1 if SSE2 is supported */ -/* #undef WEBP_HAVE_SSE2 */ - -/* Set to 1 if SSE4.1 is supported */ -/* #undef WEBP_HAVE_SSE41 */ - -/* Set to 1 if TIFF library is installed */ -/* #undef WEBP_HAVE_TIFF */ - -/* Enable near lossless encoding */ -#define WEBP_NEAR_LOSSLESS 1 - -/* Undefine this to disable thread support. */ -#define WEBP_USE_THREAD 1 - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -/* # undef WORDS_BIGENDIAN */ -# endif -#endif diff --git a/Carthage/Checkouts/PINRemoteImage/webp/src/webp/stamp-h1 b/Carthage/Checkouts/PINRemoteImage/webp/src/webp/stamp-h1 deleted file mode 100644 index 9dd5a32c..00000000 --- a/Carthage/Checkouts/PINRemoteImage/webp/src/webp/stamp-h1 +++ /dev/null @@ -1 +0,0 @@ -timestamp for src/webp/config.h diff --git a/Carthage/Checkouts/ocmock b/Carthage/Checkouts/ocmock deleted file mode 160000 index c4ec0e3a..00000000 --- a/Carthage/Checkouts/ocmock +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c4ec0e3a7a9f56cfdbd0aa01f4f97bb4b75c5ef8 diff --git a/Documentation/Release Process.md b/Documentation/Release Process.md index 62df9f4c..cea5a468 100644 --- a/Documentation/Release Process.md +++ b/Documentation/Release Process.md @@ -3,7 +3,7 @@ _While tagging a new version of a library and pushing it to CocoaPods is concept # NYTPhotoViewer Release Process - Review [the diff between `master` and `develop`](https://github.com/NYTimes/NYTPhotoViewer/compare/master...develop) to determine which part of the version number to increment, in accordance with [semantic versioning](http://semver.org/). -- Update [the Podspec](https://github.com/NYTimes/NYTPhotoViewer/blob/develop/NYTPhotoViewer.podspec) and the CFBundleShortVersionString in [Info.plist](https://github.com/NYTimes/NYTPhotoViewer/tree/develop/NYTPhotoViewer/Info.plist) to the new version number. +- Update [the Podspec](https://github.com/NYTimes/NYTPhotoViewer/blob/develop/NYTPhotoViewer.podspec) to the new version number. - Make this change via a pull request to trigger notifications for those who watch the repository. - Using [the diff](https://github.com/NYTimes/NYTPhotoViewer/compare/master...develop), [the commit history](https://github.com/NYTimes/NYTPhotoViewer/commits/develop), and any notes about `develop` which may have been written in the `CHANGELOG`, update [`CHANGELOG.md`](https://github.com/NYTimes/NYTPhotoViewer/blob/develop/CHANGELOG.md) with changes in the new version which may affect library users. - When reviewing the commit history, searching for “Merge pull request” helps find changes which should appear in [the `CHANGELOG`](https://github.com/NYTimes/NYTPhotoViewer/blob/develop/CHANGELOG.md). diff --git a/Images/photo_viewer.gif b/Documentation/photo_viewer.gif similarity index 100% rename from Images/photo_viewer.gif rename to Documentation/photo_viewer.gif diff --git a/Example-Swift/Base.lproj/LaunchScreen.xib b/Example-Swift/Base.lproj/LaunchScreen.xib deleted file mode 100755 index 4f32308b..00000000 --- a/Example-Swift/Base.lproj/LaunchScreen.xib +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/Assets.xcassets/Contents.json b/Example/Assets.xcassets/Contents.json deleted file mode 100644 index da4a164c..00000000 --- a/Example/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Base.lproj/LaunchScreen.storyboard b/Example/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index 2e721e18..00000000 --- a/Example/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Examples/Gemfile b/Examples/Gemfile new file mode 100644 index 00000000..4b39a394 --- /dev/null +++ b/Examples/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem 'cocoapods', '1.10.0' diff --git a/Examples/Gemfile.lock b/Examples/Gemfile.lock new file mode 100644 index 00000000..5572f7a8 --- /dev/null +++ b/Examples/Gemfile.lock @@ -0,0 +1,93 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.2) + activesupport (5.2.4.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + algoliasearch (1.27.5) + httpclient (~> 2.8, >= 2.8.3) + json (>= 1.5.1) + atomos (0.1.3) + claide (1.0.3) + cocoapods (1.10.0) + addressable (~> 2.6) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.10.0) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 1.4.0, < 2.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.4.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.6.6) + nap (~> 1.0) + ruby-macho (~> 1.4) + xcodeproj (>= 1.19.0, < 2.0) + cocoapods-core (1.10.0) + activesupport (> 5.0, < 6) + addressable (~> 2.6) + algoliasearch (~> 1.0) + concurrent-ruby (~> 1.1) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + netrc (~> 0.11) + public_suffix + typhoeus (~> 1.0) + cocoapods-deintegrate (1.0.4) + cocoapods-downloader (1.6.3) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.0) + cocoapods-trunk (1.5.0) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.2.0) + colored2 (3.1.2) + concurrent-ruby (1.1.7) + escape (0.0.4) + ethon (0.12.0) + ffi (>= 1.3.0) + ffi (1.13.1) + fourflusher (2.3.1) + fuzzy_match (2.0.4) + gh_inspector (1.1.3) + httpclient (2.8.3) + i18n (1.8.5) + concurrent-ruby (~> 1.0) + json (2.3.1) + minitest (5.14.2) + molinillo (0.6.6) + nanaimo (0.3.0) + nap (1.1.0) + netrc (0.11.0) + public_suffix (4.0.6) + ruby-macho (1.4.0) + thread_safe (0.3.6) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (1.2.10) + thread_safe (~> 0.1) + xcodeproj (1.19.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + +PLATFORMS + ruby + +DEPENDENCIES + cocoapods (= 1.10.0) + +BUNDLED WITH + 2.1.4 diff --git a/NYTPhotoViewer.xcodeproj/NYTPhotoViewer.xcworkspace/contents.xcworkspacedata b/Examples/NYTPhotoViewer.xcodeproj/NYTPhotoViewer.xcworkspace/contents.xcworkspacedata similarity index 100% rename from NYTPhotoViewer.xcodeproj/NYTPhotoViewer.xcworkspace/contents.xcworkspacedata rename to Examples/NYTPhotoViewer.xcodeproj/NYTPhotoViewer.xcworkspace/contents.xcworkspacedata diff --git a/Examples/NYTPhotoViewer.xcodeproj/project.pbxproj b/Examples/NYTPhotoViewer.xcodeproj/project.pbxproj new file mode 100644 index 00000000..faae2148 --- /dev/null +++ b/Examples/NYTPhotoViewer.xcodeproj/project.pbxproj @@ -0,0 +1,834 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 074D1D7A25718D9F0057105A /* NYTPhotoCaptionViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084261C8767BA00699670 /* NYTPhotoCaptionViewTests.m */; }; + 074D1D7F25718DC60057105A /* NYTPhotoViewerArrayDataSourceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084271C8767BA00699670 /* NYTPhotoViewerArrayDataSourceTests.m */; }; + 074D1D8025718DC60057105A /* NYTPhotoViewerSinglePhotoDataSourceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AFC4D311FE01EFA00FDF949 /* NYTPhotoViewerSinglePhotoDataSourceTests.m */; }; + 074D1D8125718DC60057105A /* NYTPhotosViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084291C8767BA00699670 /* NYTPhotosViewControllerTests.m */; }; + 074D1D8225718DC60057105A /* NYTPhotoTransitionAnimatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110842A1C8767BA00699670 /* NYTPhotoTransitionAnimatorTests.m */; }; + 074D1D8325718DC60057105A /* NYTScalingImageViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110842C1C8767BA00699670 /* NYTScalingImageViewTests.m */; }; + 074D1D8425718DC60057105A /* NYTPhotoViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110842B1C8767BA00699670 /* NYTPhotoViewControllerTests.m */; }; + 074D1D8525718DC60057105A /* NYTPhotosOverlayViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084281C8767BA00699670 /* NYTPhotosOverlayViewTests.m */; }; + 074D1D8825718E160057105A /* NYTExamplePhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = 076C5533256DE02900D8CA75 /* NYTExamplePhoto.m */; }; + 076C5535256DE02900D8CA75 /* NYTViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 076C552E256DE02900D8CA75 /* NYTViewController.m */; }; + 076C5536256DE02900D8CA75 /* NYTAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 076C552F256DE02900D8CA75 /* NYTAppDelegate.m */; }; + 076C5537256DE02900D8CA75 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 076C5531256DE02900D8CA75 /* main.m */; }; + 076C5538256DE02900D8CA75 /* NYTExamplePhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = 076C5533256DE02900D8CA75 /* NYTExamplePhoto.m */; }; + 076C5546256DE0B500D8CA75 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 076C553B256DE0B500D8CA75 /* ViewController.swift */; }; + 076C5547256DE0B500D8CA75 /* PhotoItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 076C553C256DE0B500D8CA75 /* PhotoItem.swift */; }; + 076C554A256DE0B500D8CA75 /* PhotosProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 076C5541256DE0B500D8CA75 /* PhotosProvider.swift */; }; + 076C554B256DE0B500D8CA75 /* PhotoBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 076C5542256DE0B500D8CA75 /* PhotoBox.swift */; }; + 076C554C256DE0B500D8CA75 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 076C5543256DE0B500D8CA75 /* AppDelegate.swift */; }; + 076C554D256DE0B500D8CA75 /* PhotoViewerCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 076C5544256DE0B500D8CA75 /* PhotoViewerCoordinator.swift */; }; + 076C556E256DE33800D8CA75 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 076C5564256DE33800D8CA75 /* Assets.xcassets */; }; + 076C556F256DE33800D8CA75 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 076C5564256DE33800D8CA75 /* Assets.xcassets */; }; + 076C5571256DE33800D8CA75 /* giphy.gif in Resources */ = {isa = PBXBuildFile; fileRef = 076C5565256DE33800D8CA75 /* giphy.gif */; }; + 076C5572256DE33800D8CA75 /* giphy.gif in Resources */ = {isa = PBXBuildFile; fileRef = 076C5565256DE33800D8CA75 /* giphy.gif */; }; + 3E9DE675A7E40076394CCB88 /* Pods_UnitTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 887B54E2F5A2B29979C1750B /* Pods_UnitTest.framework */; }; + 64432F823B739EDE07194B43 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AB2A8221AD0A76EF91690C1 /* Pods_Example.framework */; }; + B83AA5759C9746B24AB06B68 /* Pods_Example_Swift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC3AE0BFDE41DA38639FC422 /* Pods_Example_Swift.framework */; }; + CD7B24432576A56A00290A00 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CD7B24412576A56A00290A00 /* Main.storyboard */; }; + CD7B24442576A56A00290A00 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CD7B24422576A56A00290A00 /* LaunchScreen.storyboard */; }; + CD7B244A2576A58200290A00 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CD7B24482576A58200290A00 /* Main.storyboard */; }; + CD7B24632576A7DE00290A00 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CD7B24422576A56A00290A00 /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + D623A69F259D4D3E00FA047F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 111083FD1C875B4F00699670 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 111084691C876A2B00699670; + remoteInfo = Example; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 1110849C1C876DDE00699670 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + 11FBDAF51C877CCE00018169 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 076C552E256DE02900D8CA75 /* NYTViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTViewController.m; sourceTree = ""; }; + 076C552F256DE02900D8CA75 /* NYTAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTAppDelegate.m; sourceTree = ""; }; + 076C5530256DE02900D8CA75 /* NYTExamplePhoto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTExamplePhoto.h; sourceTree = ""; }; + 076C5531256DE02900D8CA75 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 076C5532256DE02900D8CA75 /* NYTViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTViewController.h; sourceTree = ""; }; + 076C5533256DE02900D8CA75 /* NYTExamplePhoto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTExamplePhoto.m; sourceTree = ""; }; + 076C5534256DE02900D8CA75 /* NYTAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTAppDelegate.h; sourceTree = ""; }; + 076C553B256DE0B500D8CA75 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 076C553C256DE0B500D8CA75 /* PhotoItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoItem.swift; sourceTree = ""; }; + 076C5541256DE0B500D8CA75 /* PhotosProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotosProvider.swift; sourceTree = ""; }; + 076C5542256DE0B500D8CA75 /* PhotoBox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoBox.swift; sourceTree = ""; }; + 076C5543256DE0B500D8CA75 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 076C5544256DE0B500D8CA75 /* PhotoViewerCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoViewerCoordinator.swift; sourceTree = ""; }; + 076C5564256DE33800D8CA75 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 076C5565256DE33800D8CA75 /* giphy.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = giphy.gif; sourceTree = ""; }; + 07B3E74E257189ED00387CDF /* UnitTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UnitTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D4B65DD93482E62FA8A32D0 /* Pods-UnitTest.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-UnitTest.release.xcconfig"; path = "Target Support Files/Pods-UnitTest/Pods-UnitTest.release.xcconfig"; sourceTree = ""; }; + 0EAFCA0D14C64E7A15FFE321 /* Pods-Example-Swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-Swift.release.xcconfig"; path = "Target Support Files/Pods-Example-Swift/Pods-Example-Swift.release.xcconfig"; sourceTree = ""; }; + 111084171C875B5000699670 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 111084261C8767BA00699670 /* NYTPhotoCaptionViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoCaptionViewTests.m; sourceTree = ""; }; + 111084271C8767BA00699670 /* NYTPhotoViewerArrayDataSourceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoViewerArrayDataSourceTests.m; sourceTree = ""; }; + 111084281C8767BA00699670 /* NYTPhotosOverlayViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotosOverlayViewTests.m; sourceTree = ""; }; + 111084291C8767BA00699670 /* NYTPhotosViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotosViewControllerTests.m; sourceTree = ""; }; + 1110842A1C8767BA00699670 /* NYTPhotoTransitionAnimatorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoTransitionAnimatorTests.m; sourceTree = ""; }; + 1110842B1C8767BA00699670 /* NYTPhotoViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoViewControllerTests.m; sourceTree = ""; }; + 1110842C1C8767BA00699670 /* NYTScalingImageViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTScalingImageViewTests.m; sourceTree = ""; }; + 1110846A1C876A2B00699670 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 11FBDADC1C877BD600018169 /* Example-Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Example-Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 1AB2A8221AD0A76EF91690C1 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1AFC4D311FE01EFA00FDF949 /* NYTPhotoViewerSinglePhotoDataSourceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoViewerSinglePhotoDataSourceTests.m; sourceTree = ""; }; + 450471655D8BF1D99A756EEC /* Pods_NYTPhotoViewer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NYTPhotoViewer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4C44DB22C9C84667B2DF2E01 /* Pods_NYTPhotoViewerCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NYTPhotoViewerCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 54C29C2860B777AA3F96E298 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; }; + 79EE98D2AFED2473F0D152EA /* Pods-UnitTest.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-UnitTest.debug.xcconfig"; path = "Target Support Files/Pods-UnitTest/Pods-UnitTest.debug.xcconfig"; sourceTree = ""; }; + 887B54E2F5A2B29979C1750B /* Pods_UnitTest.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_UnitTest.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CD7B24412576A56A00290A00 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + CD7B24422576A56A00290A00 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; + CD7B24482576A58200290A00 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + CF0E881D90E20E65A43C6398 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; }; + D7D5ED9071C683B8C95D634A /* Pods-Example-Swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-Swift.debug.xcconfig"; path = "Target Support Files/Pods-Example-Swift/Pods-Example-Swift.debug.xcconfig"; sourceTree = ""; }; + EC3AE0BFDE41DA38639FC422 /* Pods_Example_Swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_Swift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 07B3E74B257189ED00387CDF /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3E9DE675A7E40076394CCB88 /* Pods_UnitTest.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 111084671C876A2B00699670 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 64432F823B739EDE07194B43 /* Pods_Example.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 11FBDAD91C877BD600018169 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B83AA5759C9746B24AB06B68 /* Pods_Example_Swift.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 076C552D256DE02900D8CA75 /* ObjC */ = { + isa = PBXGroup; + children = ( + CD7B24412576A56A00290A00 /* Main.storyboard */, + 076C552E256DE02900D8CA75 /* NYTViewController.m */, + 076C552F256DE02900D8CA75 /* NYTAppDelegate.m */, + 076C5530256DE02900D8CA75 /* NYTExamplePhoto.h */, + 076C5531256DE02900D8CA75 /* main.m */, + 076C5532256DE02900D8CA75 /* NYTViewController.h */, + 076C5533256DE02900D8CA75 /* NYTExamplePhoto.m */, + 076C5534256DE02900D8CA75 /* NYTAppDelegate.h */, + ); + name = ObjC; + path = Sources/ObjC; + sourceTree = ""; + }; + 076C553A256DE0B500D8CA75 /* Swift */ = { + isa = PBXGroup; + children = ( + CD7B24482576A58200290A00 /* Main.storyboard */, + 076C5543256DE0B500D8CA75 /* AppDelegate.swift */, + 076C5542256DE0B500D8CA75 /* PhotoBox.swift */, + 076C553C256DE0B500D8CA75 /* PhotoItem.swift */, + 076C5541256DE0B500D8CA75 /* PhotosProvider.swift */, + 076C5544256DE0B500D8CA75 /* PhotoViewerCoordinator.swift */, + 076C553B256DE0B500D8CA75 /* ViewController.swift */, + ); + name = Swift; + path = Sources/Swift; + sourceTree = ""; + }; + 076C5562256DE33800D8CA75 /* Resources */ = { + isa = PBXGroup; + children = ( + CD7B24422576A56A00290A00 /* LaunchScreen.storyboard */, + 076C5564256DE33800D8CA75 /* Assets.xcassets */, + 076C5565256DE33800D8CA75 /* giphy.gif */, + ); + path = Resources; + sourceTree = ""; + }; + 111083FC1C875B4F00699670 = { + isa = PBXGroup; + children = ( + 076C553A256DE0B500D8CA75 /* Swift */, + 076C552D256DE02900D8CA75 /* ObjC */, + 076C5562256DE33800D8CA75 /* Resources */, + 111084141C875B5000699670 /* UnitTests */, + 111084071C875B5000699670 /* Products */, + 11BA4B0B1C8913330007EC46 /* Frameworks */, + 9EBFA0C5928F2148DEB75556 /* Pods */, + ); + sourceTree = ""; + }; + 111084071C875B5000699670 /* Products */ = { + isa = PBXGroup; + children = ( + 1110846A1C876A2B00699670 /* Example.app */, + 11FBDADC1C877BD600018169 /* Example-Swift.app */, + 07B3E74E257189ED00387CDF /* UnitTest.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 111084141C875B5000699670 /* UnitTests */ = { + isa = PBXGroup; + children = ( + 111084261C8767BA00699670 /* NYTPhotoCaptionViewTests.m */, + 111084271C8767BA00699670 /* NYTPhotoViewerArrayDataSourceTests.m */, + 1AFC4D311FE01EFA00FDF949 /* NYTPhotoViewerSinglePhotoDataSourceTests.m */, + 111084281C8767BA00699670 /* NYTPhotosOverlayViewTests.m */, + 111084291C8767BA00699670 /* NYTPhotosViewControllerTests.m */, + 1110842A1C8767BA00699670 /* NYTPhotoTransitionAnimatorTests.m */, + 1110842B1C8767BA00699670 /* NYTPhotoViewControllerTests.m */, + 1110842C1C8767BA00699670 /* NYTScalingImageViewTests.m */, + 111084171C875B5000699670 /* Info.plist */, + ); + name = UnitTests; + path = ../UnitTests; + sourceTree = ""; + }; + 11BA4B0B1C8913330007EC46 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1AB2A8221AD0A76EF91690C1 /* Pods_Example.framework */, + EC3AE0BFDE41DA38639FC422 /* Pods_Example_Swift.framework */, + 450471655D8BF1D99A756EEC /* Pods_NYTPhotoViewer.framework */, + 4C44DB22C9C84667B2DF2E01 /* Pods_NYTPhotoViewerCore.framework */, + 887B54E2F5A2B29979C1750B /* Pods_UnitTest.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 9EBFA0C5928F2148DEB75556 /* Pods */ = { + isa = PBXGroup; + children = ( + 54C29C2860B777AA3F96E298 /* Pods-Example.debug.xcconfig */, + CF0E881D90E20E65A43C6398 /* Pods-Example.release.xcconfig */, + D7D5ED9071C683B8C95D634A /* Pods-Example-Swift.debug.xcconfig */, + 0EAFCA0D14C64E7A15FFE321 /* Pods-Example-Swift.release.xcconfig */, + 79EE98D2AFED2473F0D152EA /* Pods-UnitTest.debug.xcconfig */, + 0D4B65DD93482E62FA8A32D0 /* Pods-UnitTest.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 07B3E74D257189ED00387CDF /* UnitTest */ = { + isa = PBXNativeTarget; + buildConfigurationList = 07B3E755257189EE00387CDF /* Build configuration list for PBXNativeTarget "UnitTest" */; + buildPhases = ( + C7B7269984607C4C6DDA3AC9 /* [CP] Check Pods Manifest.lock */, + 07B3E74A257189ED00387CDF /* Sources */, + 07B3E74B257189ED00387CDF /* Frameworks */, + 07B3E74C257189ED00387CDF /* Resources */, + AE969A309C96F059B3B9272D /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + D623A6A0259D4D3E00FA047F /* PBXTargetDependency */, + ); + name = UnitTest; + productName = Test1; + productReference = 07B3E74E257189ED00387CDF /* UnitTest.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 111084691C876A2B00699670 /* Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1110847E1C876A2B00699670 /* Build configuration list for PBXNativeTarget "Example" */; + buildPhases = ( + 7FE59FBB4EB16602FD6099B9 /* [CP] Check Pods Manifest.lock */, + 111084661C876A2B00699670 /* Sources */, + 111084671C876A2B00699670 /* Frameworks */, + 111084681C876A2B00699670 /* Resources */, + 1110849C1C876DDE00699670 /* Embed Frameworks */, + 3E009AFD90E57CBF03E111F9 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Example; + productName = Example; + productReference = 1110846A1C876A2B00699670 /* Example.app */; + productType = "com.apple.product-type.application"; + }; + 11FBDADB1C877BD600018169 /* Example-Swift */ = { + isa = PBXNativeTarget; + buildConfigurationList = 11FBDAED1C877BD600018169 /* Build configuration list for PBXNativeTarget "Example-Swift" */; + buildPhases = ( + 6382B2BAC3CF57965A422721 /* [CP] Check Pods Manifest.lock */, + 11FBDAD81C877BD600018169 /* Sources */, + 11FBDAD91C877BD600018169 /* Frameworks */, + 11FBDADA1C877BD600018169 /* Resources */, + 11FBDAF51C877CCE00018169 /* Embed Frameworks */, + EB8C768EE4BE29D3E8A8364D /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Example-Swift"; + productName = "Example-Swift"; + productReference = 11FBDADC1C877BD600018169 /* Example-Swift.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 111083FD1C875B4F00699670 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0720; + LastUpgradeCheck = 1220; + ORGANIZATIONNAME = NYTimes; + TargetAttributes = { + 07B3E74D257189ED00387CDF = { + CreatedOnToolsVersion = 12.2; + DevelopmentTeam = 9HE4ZM4NVA; + ProvisioningStyle = Automatic; + TestTargetID = 111084691C876A2B00699670; + }; + 111084691C876A2B00699670 = { + CreatedOnToolsVersion = 7.2.1; + }; + 11FBDADB1C877BD600018169 = { + CreatedOnToolsVersion = 7.2.1; + DevelopmentTeam = 6P29U2X5BH; + LastSwiftMigration = 0810; + }; + }; + }; + buildConfigurationList = 111084001C875B4F00699670 /* Build configuration list for PBXProject "NYTPhotoViewer" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + Base, + ); + mainGroup = 111083FC1C875B4F00699670; + productRefGroup = 111084071C875B5000699670 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 111084691C876A2B00699670 /* Example */, + 11FBDADB1C877BD600018169 /* Example-Swift */, + 07B3E74D257189ED00387CDF /* UnitTest */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 07B3E74C257189ED00387CDF /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 111084681C876A2B00699670 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD7B24432576A56A00290A00 /* Main.storyboard in Resources */, + CD7B24442576A56A00290A00 /* LaunchScreen.storyboard in Resources */, + 076C556E256DE33800D8CA75 /* Assets.xcassets in Resources */, + 076C5571256DE33800D8CA75 /* giphy.gif in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 11FBDADA1C877BD600018169 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 076C556F256DE33800D8CA75 /* Assets.xcassets in Resources */, + CD7B24632576A7DE00290A00 /* LaunchScreen.storyboard in Resources */, + 076C5572256DE33800D8CA75 /* giphy.gif in Resources */, + CD7B244A2576A58200290A00 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3E009AFD90E57CBF03E111F9 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/NYTPhotoViewer/NYTPhotoViewer.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/NYTPhotoViewer.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 6382B2BAC3CF57965A422721 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Example-Swift-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 7FE59FBB4EB16602FD6099B9 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + AE969A309C96F059B3B9272D /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-UnitTest/Pods-UnitTest-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/NYTPhotoViewer/NYTPhotoViewer.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/NYTPhotoViewer.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-UnitTest/Pods-UnitTest-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + C7B7269984607C4C6DDA3AC9 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-UnitTest-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + EB8C768EE4BE29D3E8A8364D /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Example-Swift/Pods-Example-Swift-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/NYTPhotoViewer/NYTPhotoViewer.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/NYTPhotoViewer.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-Swift/Pods-Example-Swift-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 07B3E74A257189ED00387CDF /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 074D1D7A25718D9F0057105A /* NYTPhotoCaptionViewTests.m in Sources */, + 074D1D8525718DC60057105A /* NYTPhotosOverlayViewTests.m in Sources */, + 074D1D7F25718DC60057105A /* NYTPhotoViewerArrayDataSourceTests.m in Sources */, + 074D1D8125718DC60057105A /* NYTPhotosViewControllerTests.m in Sources */, + 074D1D8025718DC60057105A /* NYTPhotoViewerSinglePhotoDataSourceTests.m in Sources */, + 074D1D8825718E160057105A /* NYTExamplePhoto.m in Sources */, + 074D1D8225718DC60057105A /* NYTPhotoTransitionAnimatorTests.m in Sources */, + 074D1D8325718DC60057105A /* NYTScalingImageViewTests.m in Sources */, + 074D1D8425718DC60057105A /* NYTPhotoViewControllerTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 111084661C876A2B00699670 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 076C5536256DE02900D8CA75 /* NYTAppDelegate.m in Sources */, + 076C5535256DE02900D8CA75 /* NYTViewController.m in Sources */, + 076C5538256DE02900D8CA75 /* NYTExamplePhoto.m in Sources */, + 076C5537256DE02900D8CA75 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 11FBDAD81C877BD600018169 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 076C554C256DE0B500D8CA75 /* AppDelegate.swift in Sources */, + 076C554B256DE0B500D8CA75 /* PhotoBox.swift in Sources */, + 076C554D256DE0B500D8CA75 /* PhotoViewerCoordinator.swift in Sources */, + 076C5547256DE0B500D8CA75 /* PhotoItem.swift in Sources */, + 076C5546256DE0B500D8CA75 /* ViewController.swift in Sources */, + 076C554A256DE0B500D8CA75 /* PhotosProvider.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + D623A6A0259D4D3E00FA047F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 111084691C876A2B00699670 /* Example */; + targetProxy = D623A69F259D4D3E00FA047F /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 07B3E753257189EE00387CDF /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 79EE98D2AFED2473F0D152EA /* Pods-UnitTest.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 9HE4ZM4NVA; + GCC_C_LANGUAGE_STANDARD = gnu11; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + Examples/Sources/ObjC, + ); + INFOPLIST_FILE = ../UnitTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.nytimes.photoviewer.example.tests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/Example"; + }; + name = Debug; + }; + 07B3E754257189EE00387CDF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0D4B65DD93482E62FA8A32D0 /* Pods-UnitTest.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 9HE4ZM4NVA; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = ../UnitTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.nytimes.photoviewer.example.tests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/Example"; + }; + name = Release; + }; + 111084181C875B5000699670 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.2; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 111084191C875B5000699670 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.2; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 1110847F1C876A2B00699670 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 54C29C2860B777AA3F96E298 /* Pods-Example.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Resources/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.nytimes.photoviewer.example.obj; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 111084801C876A2B00699670 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CF0E881D90E20E65A43C6398 /* Pods-Example.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = Resources/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.nytimes.photoviewer.example.obj; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 11FBDAEB1C877BD600018169 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D7D5ED9071C683B8C95D634A /* Pods-Example-Swift.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = 6P29U2X5BH; + INFOPLIST_FILE = Resources/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.nytimes.photoviewer.example.swift; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 11FBDAEC1C877BD600018169 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0EAFCA0D14C64E7A15FFE321 /* Pods-Example-Swift.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEVELOPMENT_TEAM = 6P29U2X5BH; + INFOPLIST_FILE = Resources/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.nytimes.photoviewer.example.swift; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 07B3E755257189EE00387CDF /* Build configuration list for PBXNativeTarget "UnitTest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 07B3E753257189EE00387CDF /* Debug */, + 07B3E754257189EE00387CDF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 111084001C875B4F00699670 /* Build configuration list for PBXProject "NYTPhotoViewer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 111084181C875B5000699670 /* Debug */, + 111084191C875B5000699670 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1110847E1C876A2B00699670 /* Build configuration list for PBXNativeTarget "Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1110847F1C876A2B00699670 /* Debug */, + 111084801C876A2B00699670 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 11FBDAED1C877BD600018169 /* Build configuration list for PBXNativeTarget "Example-Swift" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 11FBDAEB1C877BD600018169 /* Debug */, + 11FBDAEC1C877BD600018169 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 111083FD1C875B4F00699670 /* Project object */; +} diff --git a/NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/NYTPhotoViewer.xcscheme b/Examples/NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/Example-Swift.xcscheme similarity index 67% rename from NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/NYTPhotoViewer.xcscheme rename to Examples/NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/Example-Swift.xcscheme index d42f3588..e9a2cdb3 100644 --- a/NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/NYTPhotoViewer.xcscheme +++ b/Examples/NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/Example-Swift.xcscheme @@ -1,6 +1,6 @@ @@ -27,23 +27,14 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - @@ -59,15 +50,16 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - + - + - + - + diff --git a/NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/NYTPhotoViewerCore.xcscheme b/Examples/NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/Example.xcscheme similarity index 66% rename from NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/NYTPhotoViewerCore.xcscheme rename to Examples/NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/Example.xcscheme index 79f5416f..215b156c 100644 --- a/NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/NYTPhotoViewerCore.xcscheme +++ b/Examples/NYTPhotoViewer.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -1,6 +1,6 @@ @@ -28,9 +28,17 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> + + + + - - - + - - - + - + - + diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Example-Mac.xcworkspace/contents.xcworkspacedata b/Examples/NYTPhotoViewer.xcworkspace/contents.xcworkspacedata similarity index 78% rename from Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Example-Mac.xcworkspace/contents.xcworkspacedata rename to Examples/NYTPhotoViewer.xcworkspace/contents.xcworkspacedata index 8bdc4ee6..2043c177 100644 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/Example-Mac.xcworkspace/contents.xcworkspacedata +++ b/Examples/NYTPhotoViewer.xcworkspace/contents.xcworkspacedata @@ -2,7 +2,7 @@ + location = "group:NYTPhotoViewer.xcodeproj"> diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Examples/NYTPhotoViewer.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to Examples/NYTPhotoViewer.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Examples/Podfile b/Examples/Podfile new file mode 100644 index 00000000..01eb7e07 --- /dev/null +++ b/Examples/Podfile @@ -0,0 +1,31 @@ +platform :ios, '12.0' +use_frameworks! :linkage => :static +supports_swift_versions '>= 5.0' + +target 'Example' do + pod 'NYTPhotoViewer', :path => '..' + +# target 'ExampleTests' do +# inherit! :search_paths +# use_frameworks! :linkage => :static +# pod 'OCMock' +# end +end + +target 'UnitTest' do + pod 'NYTPhotoViewer', :path => '..' + pod 'OCMock' +end + +target 'Example-Swift' do + pod 'NYTPhotoViewer', :path => '..' +end + + +post_install do |installer| + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET' + end + end +end diff --git a/Examples/Podfile.lock b/Examples/Podfile.lock new file mode 100644 index 00000000..251385d4 --- /dev/null +++ b/Examples/Podfile.lock @@ -0,0 +1,51 @@ +PODS: + - NYTPhotoViewer (5.0.7): + - NYTPhotoViewer/AnimatedGifSupport (= 5.0.7) + - NYTPhotoViewer/Core (= 5.0.7) + - NYTPhotoViewer/AnimatedGifSupport (5.0.7): + - NYTPhotoViewer/Core + - PINRemoteImage/iOS + - PINRemoteImage/PINCache + - NYTPhotoViewer/Core (5.0.7) + - OCMock (3.7.1) + - PINCache (3.0.3): + - PINCache/Arc-exception-safe (= 3.0.3) + - PINCache/Core (= 3.0.3) + - PINCache/Arc-exception-safe (3.0.3): + - PINCache/Core + - PINCache/Core (3.0.3): + - PINOperation (~> 1.2.1) + - PINOperation (1.2.1) + - PINRemoteImage/Core (3.0.3): + - PINOperation + - PINRemoteImage/iOS (3.0.3): + - PINRemoteImage/Core + - PINRemoteImage/PINCache (3.0.3): + - PINCache (~> 3.0.3) + - PINRemoteImage/Core + +DEPENDENCIES: + - NYTPhotoViewer (from `..`) + - OCMock + +SPEC REPOS: + trunk: + - OCMock + - PINCache + - PINOperation + - PINRemoteImage + +EXTERNAL SOURCES: + NYTPhotoViewer: + :path: ".." + +SPEC CHECKSUMS: + NYTPhotoViewer: 64f9c45438a0e6a8f6fa67fd924bd090dea54ad4 + OCMock: 75fbeaa46a9b11f8c182bbb1d1f7e9a35ccc9955 + PINCache: 7a8fc1a691173d21dbddbf86cd515de6efa55086 + PINOperation: 00c935935f1e8cf0d1e2d6b542e75b88fc3e5e20 + PINRemoteImage: f1295b29f8c5e640e25335a1b2bd9d805171bd01 + +PODFILE CHECKSUM: 2d91d58ac59e8440027da7c7b8b5f2e362fb3857 + +COCOAPODS: 1.10.0 diff --git a/Example/Assets.xcassets/AppIcon.appiconset/Contents.json b/Examples/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from Example/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Examples/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/Example/Assets.xcassets/Chess.imageset/Contents.json b/Examples/Resources/Assets.xcassets/Chess.imageset/Contents.json similarity index 100% rename from Example/Assets.xcassets/Chess.imageset/Contents.json rename to Examples/Resources/Assets.xcassets/Chess.imageset/Contents.json diff --git a/Example/Assets.xcassets/Chess.imageset/dzombak-chess-1.jpg b/Examples/Resources/Assets.xcassets/Chess.imageset/dzombak-chess-1.jpg similarity index 100% rename from Example/Assets.xcassets/Chess.imageset/dzombak-chess-1.jpg rename to Examples/Resources/Assets.xcassets/Chess.imageset/dzombak-chess-1.jpg diff --git a/Example/Assets.xcassets/Chess.imageset/dzombak-chess-2.jpg b/Examples/Resources/Assets.xcassets/Chess.imageset/dzombak-chess-2.jpg similarity index 100% rename from Example/Assets.xcassets/Chess.imageset/dzombak-chess-2.jpg rename to Examples/Resources/Assets.xcassets/Chess.imageset/dzombak-chess-2.jpg diff --git a/Example/Assets.xcassets/Chess.imageset/dzombak-chess.jpg b/Examples/Resources/Assets.xcassets/Chess.imageset/dzombak-chess.jpg similarity index 100% rename from Example/Assets.xcassets/Chess.imageset/dzombak-chess.jpg rename to Examples/Resources/Assets.xcassets/Chess.imageset/dzombak-chess.jpg diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/Contents.json b/Examples/Resources/Assets.xcassets/Contents.json similarity index 100% rename from Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/Contents.json rename to Examples/Resources/Assets.xcassets/Contents.json diff --git a/Example/Assets.xcassets/LaunchImage.launchimage/Contents.json b/Examples/Resources/Assets.xcassets/LaunchImage.launchimage/Contents.json similarity index 100% rename from Example/Assets.xcassets/LaunchImage.launchimage/Contents.json rename to Examples/Resources/Assets.xcassets/LaunchImage.launchimage/Contents.json diff --git a/Example/Assets.xcassets/LaunchImage.launchimage/iPhone 4S.png b/Examples/Resources/Assets.xcassets/LaunchImage.launchimage/iPhone 4S.png similarity index 100% rename from Example/Assets.xcassets/LaunchImage.launchimage/iPhone 4S.png rename to Examples/Resources/Assets.xcassets/LaunchImage.launchimage/iPhone 4S.png diff --git a/Example/Assets.xcassets/LaunchImage.launchimage/iPhone 5s.png b/Examples/Resources/Assets.xcassets/LaunchImage.launchimage/iPhone 5s.png similarity index 100% rename from Example/Assets.xcassets/LaunchImage.launchimage/iPhone 5s.png rename to Examples/Resources/Assets.xcassets/LaunchImage.launchimage/iPhone 5s.png diff --git a/Example/Assets.xcassets/LaunchImage.launchimage/iPhone6PlusLandscape.png b/Examples/Resources/Assets.xcassets/LaunchImage.launchimage/iPhone6PlusLandscape.png similarity index 100% rename from Example/Assets.xcassets/LaunchImage.launchimage/iPhone6PlusLandscape.png rename to Examples/Resources/Assets.xcassets/LaunchImage.launchimage/iPhone6PlusLandscape.png diff --git a/Example/Assets.xcassets/LaunchImage.launchimage/iPhone6PlusPortrait.png b/Examples/Resources/Assets.xcassets/LaunchImage.launchimage/iPhone6PlusPortrait.png similarity index 100% rename from Example/Assets.xcassets/LaunchImage.launchimage/iPhone6PlusPortrait.png rename to Examples/Resources/Assets.xcassets/LaunchImage.launchimage/iPhone6PlusPortrait.png diff --git a/Example/Assets.xcassets/LaunchImage.launchimage/iPhone6Portrait-1.png b/Examples/Resources/Assets.xcassets/LaunchImage.launchimage/iPhone6Portrait-1.png similarity index 100% rename from Example/Assets.xcassets/LaunchImage.launchimage/iPhone6Portrait-1.png rename to Examples/Resources/Assets.xcassets/LaunchImage.launchimage/iPhone6Portrait-1.png diff --git a/Example/Assets.xcassets/NYTimesBuilding.imageset/Contents.json b/Examples/Resources/Assets.xcassets/NYTimesBuilding.imageset/Contents.json similarity index 100% rename from Example/Assets.xcassets/NYTimesBuilding.imageset/Contents.json rename to Examples/Resources/Assets.xcassets/NYTimesBuilding.imageset/Contents.json diff --git a/Example/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding.jpg b/Examples/Resources/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding.jpg similarity index 100% rename from Example/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding.jpg rename to Examples/Resources/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding.jpg diff --git a/Example/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding@2x.jpg b/Examples/Resources/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding@2x.jpg similarity index 100% rename from Example/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding@2x.jpg rename to Examples/Resources/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding@2x.jpg diff --git a/Example/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding@3x.jpg b/Examples/Resources/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding@3x.jpg similarity index 100% rename from Example/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding@3x.jpg rename to Examples/Resources/Assets.xcassets/NYTimesBuilding.imageset/NYTimesBuilding@3x.jpg diff --git a/Example/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/Contents.json b/Examples/Resources/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/Contents.json similarity index 100% rename from Example/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/Contents.json rename to Examples/Resources/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/Contents.json diff --git a/Example/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/NYTimesBuildingPlaceholder@2x.jpg b/Examples/Resources/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/NYTimesBuildingPlaceholder@2x.jpg similarity index 100% rename from Example/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/NYTimesBuildingPlaceholder@2x.jpg rename to Examples/Resources/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/NYTimesBuildingPlaceholder@2x.jpg diff --git a/Example/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/NYTimesBuildingPlaceholder@3x.jpg b/Examples/Resources/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/NYTimesBuildingPlaceholder@3x.jpg similarity index 100% rename from Example/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/NYTimesBuildingPlaceholder@3x.jpg rename to Examples/Resources/Assets.xcassets/NYTimesBuildingPlaceholder.imageset/NYTimesBuildingPlaceholder@3x.jpg diff --git a/Example/NYTPhotoViewer-Info.plist b/Examples/Resources/Info.plist similarity index 100% rename from Example/NYTPhotoViewer-Info.plist rename to Examples/Resources/Info.plist diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Base.lproj/LaunchScreen.storyboard b/Examples/Resources/LaunchScreen.storyboard similarity index 66% rename from Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Base.lproj/LaunchScreen.storyboard rename to Examples/Resources/LaunchScreen.storyboard index f70f059c..9c6a580e 100644 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Swift-Example/Swift-Example/Base.lproj/LaunchScreen.storyboard +++ b/Examples/Resources/LaunchScreen.storyboard @@ -1,8 +1,10 @@ - - + + + - + + @@ -14,10 +16,9 @@ - + - - + diff --git a/Example/giphy.gif b/Examples/Resources/giphy.gif similarity index 100% rename from Example/giphy.gif rename to Examples/Resources/giphy.gif diff --git a/Example/Base.lproj/Main.storyboard b/Examples/Sources/ObjC/Main.storyboard similarity index 100% rename from Example/Base.lproj/Main.storyboard rename to Examples/Sources/ObjC/Main.storyboard diff --git a/Example/NYTAppDelegate.h b/Examples/Sources/ObjC/NYTAppDelegate.h similarity index 100% rename from Example/NYTAppDelegate.h rename to Examples/Sources/ObjC/NYTAppDelegate.h diff --git a/Example/NYTAppDelegate.m b/Examples/Sources/ObjC/NYTAppDelegate.m similarity index 100% rename from Example/NYTAppDelegate.m rename to Examples/Sources/ObjC/NYTAppDelegate.m diff --git a/Example/NYTExamplePhoto.h b/Examples/Sources/ObjC/NYTExamplePhoto.h similarity index 100% rename from Example/NYTExamplePhoto.h rename to Examples/Sources/ObjC/NYTExamplePhoto.h diff --git a/Example/NYTExamplePhoto.m b/Examples/Sources/ObjC/NYTExamplePhoto.m similarity index 100% rename from Example/NYTExamplePhoto.m rename to Examples/Sources/ObjC/NYTExamplePhoto.m diff --git a/Example/NYTPhotoViewer-Prefix.pch b/Examples/Sources/ObjC/NYTPhotoViewer-Prefix.pch similarity index 100% rename from Example/NYTPhotoViewer-Prefix.pch rename to Examples/Sources/ObjC/NYTPhotoViewer-Prefix.pch diff --git a/Example/NYTViewController.h b/Examples/Sources/ObjC/NYTViewController.h similarity index 100% rename from Example/NYTViewController.h rename to Examples/Sources/ObjC/NYTViewController.h diff --git a/Example/NYTViewController.m b/Examples/Sources/ObjC/NYTViewController.m similarity index 100% rename from Example/NYTViewController.m rename to Examples/Sources/ObjC/NYTViewController.m diff --git a/Example/main.m b/Examples/Sources/ObjC/main.m similarity index 64% rename from Example/main.m rename to Examples/Sources/ObjC/main.m index 95d99ed7..7d337047 100644 --- a/Example/main.m +++ b/Examples/Sources/ObjC/main.m @@ -10,7 +10,7 @@ #import "NYTAppDelegate.h" int main(int argc, char * argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([NYTAppDelegate class])); - } + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([NYTAppDelegate class])); + } } diff --git a/Example-Swift/AppDelegate.swift b/Examples/Sources/Swift/AppDelegate.swift similarity index 100% rename from Example-Swift/AppDelegate.swift rename to Examples/Sources/Swift/AppDelegate.swift diff --git a/Example-Swift/Info.plist b/Examples/Sources/Swift/Example-Swift.plist similarity index 100% rename from Example-Swift/Info.plist rename to Examples/Sources/Swift/Example-Swift.plist diff --git a/Example-Swift/Base.lproj/Main.storyboard b/Examples/Sources/Swift/Main.storyboard similarity index 79% rename from Example-Swift/Base.lproj/Main.storyboard rename to Examples/Sources/Swift/Main.storyboard index 617ae09d..ecad18af 100755 --- a/Example-Swift/Base.lproj/Main.storyboard +++ b/Examples/Sources/Swift/Main.storyboard @@ -1,9 +1,12 @@ - - + + + + + - - + + @@ -15,24 +18,24 @@ - + - + diff --git a/Example-Swift/PhotoBox.swift b/Examples/Sources/Swift/PhotoBox.swift similarity index 100% rename from Example-Swift/PhotoBox.swift rename to Examples/Sources/Swift/PhotoBox.swift diff --git a/Example-Swift/PhotoItem.swift b/Examples/Sources/Swift/PhotoItem.swift similarity index 100% rename from Example-Swift/PhotoItem.swift rename to Examples/Sources/Swift/PhotoItem.swift diff --git a/Example-Swift/PhotoViewerCoordinator.swift b/Examples/Sources/Swift/PhotoViewerCoordinator.swift similarity index 100% rename from Example-Swift/PhotoViewerCoordinator.swift rename to Examples/Sources/Swift/PhotoViewerCoordinator.swift diff --git a/Example-Swift/PhotosProvider.swift b/Examples/Sources/Swift/PhotosProvider.swift similarity index 100% rename from Example-Swift/PhotosProvider.swift rename to Examples/Sources/Swift/PhotosProvider.swift diff --git a/Example-Swift/ViewController.swift b/Examples/Sources/Swift/ViewController.swift similarity index 100% rename from Example-Swift/ViewController.swift rename to Examples/Sources/Swift/ViewController.swift diff --git a/NYTPhotoViewer.podspec b/NYTPhotoViewer.podspec index bb2dcd14..ff868015 100644 --- a/NYTPhotoViewer.podspec +++ b/NYTPhotoViewer.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "NYTPhotoViewer" - s.version = "5.0.5" + s.version = "5.0.7" s.description = <<-DESC NYTPhotoViewer is a slideshow and image viewer that includes double tap to zoom, captions, support for multiple images, interactive flick to dismiss, animated zooming presentation, and more. @@ -16,16 +16,15 @@ Pod::Spec.new do |s| s.requires_arc = true s.subspec 'Core' do |ss| - ss.ios.resource_bundle = { s.name => ['NYTPhotoViewer/NYTPhotoViewer.bundle/*'] } + ss.ios.resource_bundle = { s.name => ['NYTPhotoViewer/Media.xcassets'] } ss.source_files = 'NYTPhotoViewer/**/*.{h,m,swift}' ss.frameworks = 'UIKit', 'Foundation' end s.subspec 'AnimatedGifSupport' do |ss| - ss.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'ANIMATED_GIF_SUPPORT=1'} - + ss.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'ANIMATED_GIF_SUPPORT=1' } ss.dependency 'NYTPhotoViewer/Core' - ss.dependency 'PINRemoteImage/iOS', '~> 3.0.1' + ss.dependency 'PINRemoteImage/iOS' ss.dependency 'PINRemoteImage/PINCache' end diff --git a/NYTPhotoViewer.xcodeproj/project.pbxproj b/NYTPhotoViewer.xcodeproj/project.pbxproj deleted file mode 100644 index c50a3242..00000000 --- a/NYTPhotoViewer.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1320 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 1110840A1C875B5000699670 /* NYTPhotoViewer.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084091C875B5000699670 /* NYTPhotoViewer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 111084111C875B5000699670 /* NYTPhotoViewer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 111084061C875B5000699670 /* NYTPhotoViewer.framework */; }; - 1110842D1C8767BA00699670 /* NYTPhotoCaptionViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084261C8767BA00699670 /* NYTPhotoCaptionViewTests.m */; }; - 1110842F1C8767BA00699670 /* NYTPhotosOverlayViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084281C8767BA00699670 /* NYTPhotosOverlayViewTests.m */; }; - 111084301C8767BA00699670 /* NYTPhotosViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084291C8767BA00699670 /* NYTPhotosViewControllerTests.m */; }; - 111084311C8767BA00699670 /* NYTPhotoTransitionAnimatorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110842A1C8767BA00699670 /* NYTPhotoTransitionAnimatorTests.m */; }; - 111084321C8767BA00699670 /* NYTPhotoViewControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110842B1C8767BA00699670 /* NYTPhotoViewControllerTests.m */; }; - 111084331C8767BA00699670 /* NYTScalingImageViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110842C1C8767BA00699670 /* NYTScalingImageViewTests.m */; }; - 1110844D1C87682300699670 /* NYTPhotoCaptionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084341C87682300699670 /* NYTPhotoCaptionView.m */; }; - 1110844E1C87682300699670 /* NYTPhotoDismissalInteractionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084351C87682300699670 /* NYTPhotoDismissalInteractionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1110844F1C87682300699670 /* NYTPhotoDismissalInteractionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084361C87682300699670 /* NYTPhotoDismissalInteractionController.m */; }; - 111084501C87682300699670 /* NYTPhotoViewerArrayDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084371C87682300699670 /* NYTPhotoViewerArrayDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 111084511C87682300699670 /* NYTPhotoViewerArrayDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084381C87682300699670 /* NYTPhotoViewerArrayDataSource.m */; }; - 111084521C87682300699670 /* NYTPhotosOverlayView.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084391C87682300699670 /* NYTPhotosOverlayView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 111084531C87682300699670 /* NYTPhotosOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110843A1C87682300699670 /* NYTPhotosOverlayView.m */; }; - 111084541C87682300699670 /* NYTPhotosViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1110843B1C87682300699670 /* NYTPhotosViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 111084551C87682300699670 /* NYTPhotosViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110843C1C87682300699670 /* NYTPhotosViewController.m */; }; - 111084561C87682300699670 /* NYTPhotoTransitionAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 1110843D1C87682300699670 /* NYTPhotoTransitionAnimator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 111084571C87682300699670 /* NYTPhotoTransitionAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110843E1C87682300699670 /* NYTPhotoTransitionAnimator.m */; }; - 111084581C87682300699670 /* NYTPhotoTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1110843F1C87682300699670 /* NYTPhotoTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 111084591C87682300699670 /* NYTPhotoTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084401C87682300699670 /* NYTPhotoTransitionController.m */; }; - 1110845A1C87682300699670 /* NYTPhotoViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084411C87682300699670 /* NYTPhotoViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1110845B1C87682300699670 /* NYTPhotoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084421C87682300699670 /* NYTPhotoViewController.m */; }; - 1110845C1C87682300699670 /* NYTScalingImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084431C87682300699670 /* NYTScalingImageView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1110845D1C87682300699670 /* NYTScalingImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084441C87682300699670 /* NYTScalingImageView.m */; }; - 1110845E1C87682300699670 /* NYTPhoto.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084461C87682300699670 /* NYTPhoto.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1110845F1C87682300699670 /* NYTPhotoCaptionViewLayoutWidthHinting.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084471C87682300699670 /* NYTPhotoCaptionViewLayoutWidthHinting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 111084601C87682300699670 /* NYTPhotoViewerContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084481C87682300699670 /* NYTPhotoViewerContainer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 111084611C87682300699670 /* NYTPhotoViewerDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084491C87682300699670 /* NYTPhotoViewerDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 111084621C87682300699670 /* NSBundle+NYTPhotoViewer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1110844B1C87682300699670 /* NSBundle+NYTPhotoViewer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 111084631C87682300699670 /* NSBundle+NYTPhotoViewer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110844C1C87682300699670 /* NSBundle+NYTPhotoViewer.m */; }; - 111084651C87684D00699670 /* NYTPhotoCaptionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084641C87684D00699670 /* NYTPhotoCaptionView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1110846E1C876A2B00699670 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110846D1C876A2B00699670 /* main.m */; }; - 111084791C876A2B00699670 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 111084781C876A2B00699670 /* Assets.xcassets */; }; - 1110847C1C876A2B00699670 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1110847A1C876A2B00699670 /* LaunchScreen.storyboard */; }; - 111084831C876AA500699670 /* NYTExamplePhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084821C876AA500699670 /* NYTExamplePhoto.m */; }; - 111084841C876AAD00699670 /* NYTExamplePhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084821C876AA500699670 /* NYTExamplePhoto.m */; }; - 111084861C876B0400699670 /* giphy.gif in Resources */ = {isa = PBXBuildFile; fileRef = 111084851C876B0400699670 /* giphy.gif */; }; - 111084871C876B0400699670 /* giphy.gif in Resources */ = {isa = PBXBuildFile; fileRef = 111084851C876B0400699670 /* giphy.gif */; }; - 1110848C1C876CC900699670 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1110848E1C876CC900699670 /* Main.storyboard */; }; - 111084911C876CE000699670 /* NYTAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084901C876CE000699670 /* NYTAppDelegate.m */; }; - 111084941C876D1900699670 /* NYTViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084931C876D1900699670 /* NYTViewController.m */; }; - 111084971C876DD300699670 /* NYTPhotoViewer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 111084061C875B5000699670 /* NYTPhotoViewer.framework */; }; - 111084991C876DDE00699670 /* NYTPhotoViewer.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 111084061C875B5000699670 /* NYTPhotoViewer.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 11BA4B0A1C8913220007EC46 /* OCMock.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 11BA4B071C8912F20007EC46 /* OCMock.framework */; }; - 11FBDA7A1C87714600018169 /* NYTPhotoViewer.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 11FBDA791C87714600018169 /* NYTPhotoViewer.bundle */; }; - 11FBDA8C1C87753200018169 /* NYTPhotoCaptionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084641C87684D00699670 /* NYTPhotoCaptionView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDA8D1C87753200018169 /* NYTPhotoCaptionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084341C87682300699670 /* NYTPhotoCaptionView.m */; }; - 11FBDA8E1C87753200018169 /* NYTPhotoDismissalInteractionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084351C87682300699670 /* NYTPhotoDismissalInteractionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDA8F1C87753200018169 /* NYTPhotoDismissalInteractionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084361C87682300699670 /* NYTPhotoDismissalInteractionController.m */; }; - 11FBDA901C87753200018169 /* NYTPhotoViewerArrayDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084371C87682300699670 /* NYTPhotoViewerArrayDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDA911C87753200018169 /* NYTPhotoViewerArrayDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084381C87682300699670 /* NYTPhotoViewerArrayDataSource.m */; }; - 11FBDA921C87753200018169 /* NYTPhotosOverlayView.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084391C87682300699670 /* NYTPhotosOverlayView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDA931C87753200018169 /* NYTPhotosOverlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110843A1C87682300699670 /* NYTPhotosOverlayView.m */; }; - 11FBDA941C87753200018169 /* NYTPhotosViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1110843B1C87682300699670 /* NYTPhotosViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDA951C87753200018169 /* NYTPhotosViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110843C1C87682300699670 /* NYTPhotosViewController.m */; }; - 11FBDA961C87753200018169 /* NYTPhotoTransitionAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 1110843D1C87682300699670 /* NYTPhotoTransitionAnimator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDA971C87753200018169 /* NYTPhotoTransitionAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110843E1C87682300699670 /* NYTPhotoTransitionAnimator.m */; }; - 11FBDA981C87753200018169 /* NYTPhotoTransitionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1110843F1C87682300699670 /* NYTPhotoTransitionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDA991C87753200018169 /* NYTPhotoTransitionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084401C87682300699670 /* NYTPhotoTransitionController.m */; }; - 11FBDA9A1C87753200018169 /* NYTPhotoViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084411C87682300699670 /* NYTPhotoViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDA9B1C87753200018169 /* NYTPhotoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084421C87682300699670 /* NYTPhotoViewController.m */; }; - 11FBDA9C1C87753200018169 /* NYTScalingImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084431C87682300699670 /* NYTScalingImageView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDA9D1C87753200018169 /* NYTScalingImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084441C87682300699670 /* NYTScalingImageView.m */; }; - 11FBDA9E1C87753200018169 /* NYTPhoto.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084461C87682300699670 /* NYTPhoto.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDA9F1C87753200018169 /* NYTPhotoCaptionViewLayoutWidthHinting.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084471C87682300699670 /* NYTPhotoCaptionViewLayoutWidthHinting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDAA01C87753200018169 /* NYTPhotoViewerContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084481C87682300699670 /* NYTPhotoViewerContainer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDAA11C87753200018169 /* NYTPhotoViewerDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 111084491C87682300699670 /* NYTPhotoViewerDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDAA21C87753200018169 /* NSBundle+NYTPhotoViewer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1110844B1C87682300699670 /* NSBundle+NYTPhotoViewer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDAA31C87753200018169 /* NSBundle+NYTPhotoViewer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1110844C1C87682300699670 /* NSBundle+NYTPhotoViewer.m */; }; - 11FBDAA41C87754A00018169 /* NYTPhotoViewer.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 11FBDA791C87714600018169 /* NYTPhotoViewer.bundle */; }; - 11FBDAA61C87768B00018169 /* NYTPhotoViewerCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 11FBDAA51C87768700018169 /* NYTPhotoViewerCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11FBDADF1C877BD600018169 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11FBDADE1C877BD600018169 /* AppDelegate.swift */; }; - 11FBDAE11C877BD600018169 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11FBDAE01C877BD600018169 /* ViewController.swift */; }; - 11FBDAE41C877BD600018169 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 11FBDAE21C877BD600018169 /* Main.storyboard */; }; - 11FBDAF11C877C8B00018169 /* PhotosProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11FBDAF01C877C8B00018169 /* PhotosProvider.swift */; }; - 11FBDAF71C877CEF00018169 /* NYTPhotoViewer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 111084061C875B5000699670 /* NYTPhotoViewer.framework */; }; - 11FBDAF81C877CEF00018169 /* NYTPhotoViewer.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 111084061C875B5000699670 /* NYTPhotoViewer.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 11FBDAFD1C877D9A00018169 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 11FBDAFB1C877D9A00018169 /* LaunchScreen.xib */; }; - 11FBDAFE1C877F5500018169 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 111084781C876A2B00699670 /* Assets.xcassets */; }; - 11FBDAFF1C877F8000018169 /* giphy.gif in Resources */ = {isa = PBXBuildFile; fileRef = 111084851C876B0400699670 /* giphy.gif */; }; - 1AFC4D301FE01B9000FDF949 /* NYTPhotoViewerArrayDataSourceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 111084271C8767BA00699670 /* NYTPhotoViewerArrayDataSourceTests.m */; }; - 1AFC4D321FE01EFA00FDF949 /* NYTPhotoViewerSinglePhotoDataSourceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AFC4D311FE01EFA00FDF949 /* NYTPhotoViewerSinglePhotoDataSourceTests.m */; }; - 2A4D6135208683990092ED17 /* NYTInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4D6134208683990092ED17 /* NYTInterstitialViewController.m */; }; - 9371A73C1E438B9C00A8F2EF /* PhotoItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9371A73B1E438B9C00A8F2EF /* PhotoItem.swift */; }; - 9371A7441E438BCE00A8F2EF /* PhotoBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9371A7431E438BCE00A8F2EF /* PhotoBox.swift */; }; - 9371A7461E43D61E00A8F2EF /* PhotoViewerCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9371A7451E43D61E00A8F2EF /* PhotoViewerCoordinator.swift */; }; - 93F45B181E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 93F45B161E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 93F45B191E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 93F45B161E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 93F45B1A1E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 93F45B171E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.m */; }; - 93F45B1B1E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 93F45B171E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.m */; }; - CD3F77C72409223C005F08E8 /* PINRemoteImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD3F77BD2409223C005F08E8 /* PINRemoteImage.framework */; }; - CD3F77CA2409224E005F08E8 /* PINRemoteImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD3F77BD2409223C005F08E8 /* PINRemoteImage.framework */; }; - CD3F77CB2409224E005F08E8 /* PINRemoteImage.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CD3F77BD2409223C005F08E8 /* PINRemoteImage.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - CD3F77CC2409225F005F08E8 /* PINRemoteImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD3F77BD2409223C005F08E8 /* PINRemoteImage.framework */; }; - CD3F77CD2409225F005F08E8 /* PINRemoteImage.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CD3F77BD2409223C005F08E8 /* PINRemoteImage.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - CDA5DA08240EB5B400A796D3 /* NYTInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4D6134208683990092ED17 /* NYTInterstitialViewController.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 111084121C875B5000699670 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 111083FD1C875B4F00699670 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 111084051C875B5000699670; - remoteInfo = NYTPhotoViewer; - }; - 1110849A1C876DDE00699670 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 111083FD1C875B4F00699670 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 111084051C875B5000699670; - remoteInfo = NYTPhotoViewer; - }; - 11BA4AFE1C8912F20007EC46 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 11BA4AF51C8912F20007EC46 /* OCMock.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 030EF0A814632FD000B04273; - remoteInfo = OCMock; - }; - 11BA4B001C8912F20007EC46 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 11BA4AF51C8912F20007EC46 /* OCMock.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 03565A3118F0566E003AE91E; - remoteInfo = OCMockTests; - }; - 11BA4B021C8912F20007EC46 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 11BA4AF51C8912F20007EC46 /* OCMock.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 030EF0DC14632FF700B04273; - remoteInfo = OCMockLib; - }; - 11BA4B041C8912F20007EC46 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 11BA4AF51C8912F20007EC46 /* OCMock.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D31108AD1828DB8700737925; - remoteInfo = OCMockLibTests; - }; - 11BA4B061C8912F20007EC46 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 11BA4AF51C8912F20007EC46 /* OCMock.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = F0B950F11B0080BE00942C38; - remoteInfo = "OCMock iOS"; - }; - 11BA4B081C8912F20007EC46 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 11BA4AF51C8912F20007EC46 /* OCMock.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 817EB1621BD765130047E85A; - remoteInfo = "OCMock tvOS"; - }; - 11FBDAF91C877CEF00018169 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 111083FD1C875B4F00699670 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 111084051C875B5000699670; - remoteInfo = NYTPhotoViewer; - }; - CD3F77D72409229B005F08E8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CD3F77CE2409229B005F08E8 /* PINRemoteImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = F1B918D11BCF239200710963; - remoteInfo = PINRemoteImage; - }; - CD3F77D92409229B005F08E8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CD3F77CE2409229B005F08E8 /* PINRemoteImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 68A0FC191E523434000B552D; - remoteInfo = PINRemoteImageTests; - }; - CD3F77DB2409229B005F08E8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CD3F77CE2409229B005F08E8 /* PINRemoteImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D3A5A1F67284400F82935; - remoteInfo = "PINRemoteImage-tvOS"; - }; - CD3F77DD2409229B005F08E8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CD3F77CE2409229B005F08E8 /* PINRemoteImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D3A621F67284400F82935; - remoteInfo = "PINRemoteImage-tvOSTests"; - }; - CD3F77DF240922A3005F08E8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CD3F77CE2409229B005F08E8 /* PINRemoteImage.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = F1B918D01BCF239200710963; - remoteInfo = PINRemoteImage; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 1110849C1C876DDE00699670 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - CD3F77CB2409224E005F08E8 /* PINRemoteImage.framework in Embed Frameworks */, - 111084991C876DDE00699670 /* NYTPhotoViewer.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - 11FBDAF51C877CCE00018169 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - CD3F77CD2409225F005F08E8 /* PINRemoteImage.framework in Embed Frameworks */, - 11FBDAF81C877CEF00018169 /* NYTPhotoViewer.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 111084061C875B5000699670 /* NYTPhotoViewer.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NYTPhotoViewer.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 111084091C875B5000699670 /* NYTPhotoViewer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYTPhotoViewer.h; sourceTree = ""; }; - 1110840B1C875B5000699670 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 111084101C875B5000699670 /* NYTPhotoViewerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NYTPhotoViewerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 111084171C875B5000699670 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 111084261C8767BA00699670 /* NYTPhotoCaptionViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoCaptionViewTests.m; sourceTree = ""; }; - 111084271C8767BA00699670 /* NYTPhotoViewerArrayDataSourceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoViewerArrayDataSourceTests.m; sourceTree = ""; }; - 111084281C8767BA00699670 /* NYTPhotosOverlayViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotosOverlayViewTests.m; sourceTree = ""; }; - 111084291C8767BA00699670 /* NYTPhotosViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotosViewControllerTests.m; sourceTree = ""; }; - 1110842A1C8767BA00699670 /* NYTPhotoTransitionAnimatorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoTransitionAnimatorTests.m; sourceTree = ""; }; - 1110842B1C8767BA00699670 /* NYTPhotoViewControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoViewControllerTests.m; sourceTree = ""; }; - 1110842C1C8767BA00699670 /* NYTScalingImageViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTScalingImageViewTests.m; sourceTree = ""; }; - 111084341C87682300699670 /* NYTPhotoCaptionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoCaptionView.m; sourceTree = ""; }; - 111084351C87682300699670 /* NYTPhotoDismissalInteractionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotoDismissalInteractionController.h; sourceTree = ""; }; - 111084361C87682300699670 /* NYTPhotoDismissalInteractionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoDismissalInteractionController.m; sourceTree = ""; }; - 111084371C87682300699670 /* NYTPhotoViewerArrayDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotoViewerArrayDataSource.h; sourceTree = ""; }; - 111084381C87682300699670 /* NYTPhotoViewerArrayDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoViewerArrayDataSource.m; sourceTree = ""; }; - 111084391C87682300699670 /* NYTPhotosOverlayView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotosOverlayView.h; sourceTree = ""; }; - 1110843A1C87682300699670 /* NYTPhotosOverlayView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotosOverlayView.m; sourceTree = ""; }; - 1110843B1C87682300699670 /* NYTPhotosViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotosViewController.h; sourceTree = ""; }; - 1110843C1C87682300699670 /* NYTPhotosViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotosViewController.m; sourceTree = ""; }; - 1110843D1C87682300699670 /* NYTPhotoTransitionAnimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotoTransitionAnimator.h; sourceTree = ""; }; - 1110843E1C87682300699670 /* NYTPhotoTransitionAnimator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoTransitionAnimator.m; sourceTree = ""; }; - 1110843F1C87682300699670 /* NYTPhotoTransitionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotoTransitionController.h; sourceTree = ""; }; - 111084401C87682300699670 /* NYTPhotoTransitionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoTransitionController.m; sourceTree = ""; }; - 111084411C87682300699670 /* NYTPhotoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotoViewController.h; sourceTree = ""; }; - 111084421C87682300699670 /* NYTPhotoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoViewController.m; sourceTree = ""; }; - 111084431C87682300699670 /* NYTScalingImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTScalingImageView.h; sourceTree = ""; }; - 111084441C87682300699670 /* NYTScalingImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTScalingImageView.m; sourceTree = ""; }; - 111084461C87682300699670 /* NYTPhoto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhoto.h; sourceTree = ""; }; - 111084471C87682300699670 /* NYTPhotoCaptionViewLayoutWidthHinting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotoCaptionViewLayoutWidthHinting.h; sourceTree = ""; }; - 111084481C87682300699670 /* NYTPhotoViewerContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotoViewerContainer.h; sourceTree = ""; }; - 111084491C87682300699670 /* NYTPhotoViewerDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotoViewerDataSource.h; sourceTree = ""; }; - 1110844B1C87682300699670 /* NSBundle+NYTPhotoViewer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSBundle+NYTPhotoViewer.h"; sourceTree = ""; }; - 1110844C1C87682300699670 /* NSBundle+NYTPhotoViewer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSBundle+NYTPhotoViewer.m"; sourceTree = ""; }; - 111084641C87684D00699670 /* NYTPhotoCaptionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotoCaptionView.h; sourceTree = ""; }; - 1110846A1C876A2B00699670 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1110846D1C876A2B00699670 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 111084781C876A2B00699670 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 1110847B1C876A2B00699670 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 111084811C876AA500699670 /* NYTExamplePhoto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTExamplePhoto.h; sourceTree = ""; }; - 111084821C876AA500699670 /* NYTExamplePhoto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTExamplePhoto.m; sourceTree = ""; }; - 111084851C876B0400699670 /* giphy.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = giphy.gif; sourceTree = ""; }; - 1110848D1C876CC900699670 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 1110848F1C876CE000699670 /* NYTAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTAppDelegate.h; sourceTree = ""; }; - 111084901C876CE000699670 /* NYTAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTAppDelegate.m; sourceTree = ""; }; - 111084921C876D1900699670 /* NYTViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTViewController.h; sourceTree = ""; }; - 111084931C876D1900699670 /* NYTViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTViewController.m; sourceTree = ""; }; - 111084951C876D8800699670 /* NYTPhotoViewer-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "NYTPhotoViewer-Info.plist"; sourceTree = ""; }; - 11BA4AF51C8912F20007EC46 /* OCMock.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = OCMock.xcodeproj; path = Carthage/Checkouts/ocmock/Source/OCMock.xcodeproj; sourceTree = ""; }; - 11FBDA791C87714600018169 /* NYTPhotoViewer.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = NYTPhotoViewer.bundle; path = ../NYTPhotoViewer.bundle; sourceTree = ""; }; - 11FBDA831C8774AC00018169 /* NYTPhotoViewerCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NYTPhotoViewerCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 11FBDAA51C87768700018169 /* NYTPhotoViewerCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYTPhotoViewerCore.h; sourceTree = ""; }; - 11FBDADC1C877BD600018169 /* Example-Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Example-Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 11FBDADE1C877BD600018169 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 11FBDAE01C877BD600018169 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 11FBDAE31C877BD600018169 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 11FBDAEA1C877BD600018169 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 11FBDAF01C877C8B00018169 /* PhotosProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotosProvider.swift; sourceTree = ""; }; - 11FBDAFC1C877D9A00018169 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - 1AFC4D311FE01EFA00FDF949 /* NYTPhotoViewerSinglePhotoDataSourceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoViewerSinglePhotoDataSourceTests.m; sourceTree = ""; }; - 2A4D6134208683990092ED17 /* NYTInterstitialViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYTInterstitialViewController.m; sourceTree = ""; }; - 2A4D613C208683B80092ED17 /* NYTInterstitialViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYTInterstitialViewController.h; sourceTree = ""; }; - 9371A73B1E438B9C00A8F2EF /* PhotoItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoItem.swift; sourceTree = ""; }; - 9371A7431E438BCE00A8F2EF /* PhotoBox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoBox.swift; sourceTree = ""; }; - 9371A7451E43D61E00A8F2EF /* PhotoViewerCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoViewerCoordinator.swift; sourceTree = ""; }; - 93F45B161E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NYTPhotoViewerSinglePhotoDataSource.h; sourceTree = ""; }; - 93F45B171E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NYTPhotoViewerSinglePhotoDataSource.m; sourceTree = ""; }; - CD3F77BD2409223C005F08E8 /* PINRemoteImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PINRemoteImage.framework; path = Carthage/Build/iOS/PINRemoteImage.framework; sourceTree = ""; }; - CD3F77CE2409229B005F08E8 /* PINRemoteImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = PINRemoteImage.xcodeproj; path = Carthage/Checkouts/PINRemoteImage/PINRemoteImage.xcodeproj; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 111084021C875B5000699670 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CD3F77C72409223C005F08E8 /* PINRemoteImage.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 1110840D1C875B5000699670 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 11BA4B0A1C8913220007EC46 /* OCMock.framework in Frameworks */, - 111084111C875B5000699670 /* NYTPhotoViewer.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 111084671C876A2B00699670 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CD3F77CA2409224E005F08E8 /* PINRemoteImage.framework in Frameworks */, - 111084971C876DD300699670 /* NYTPhotoViewer.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 11FBDA7F1C8774AC00018169 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 11FBDAD91C877BD600018169 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CD3F77CC2409225F005F08E8 /* PINRemoteImage.framework in Frameworks */, - 11FBDAF71C877CEF00018169 /* NYTPhotoViewer.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 111083FC1C875B4F00699670 = { - isa = PBXGroup; - children = ( - 1110846B1C876A2B00699670 /* Example */, - 11FBDADD1C877BD600018169 /* Example-Swift */, - 111084081C875B5000699670 /* NYTPhotoViewer */, - 111084141C875B5000699670 /* NYTPhotoViewerTests */, - 111084071C875B5000699670 /* Products */, - 11BA4B0B1C8913330007EC46 /* Frameworks */, - ); - sourceTree = ""; - }; - 111084071C875B5000699670 /* Products */ = { - isa = PBXGroup; - children = ( - 111084061C875B5000699670 /* NYTPhotoViewer.framework */, - 111084101C875B5000699670 /* NYTPhotoViewerTests.xctest */, - 1110846A1C876A2B00699670 /* Example.app */, - 11FBDA831C8774AC00018169 /* NYTPhotoViewerCore.framework */, - 11FBDADC1C877BD600018169 /* Example-Swift.app */, - ); - name = Products; - sourceTree = ""; - }; - 111084081C875B5000699670 /* NYTPhotoViewer */ = { - isa = PBXGroup; - children = ( - 111084091C875B5000699670 /* NYTPhotoViewer.h */, - 11FBDAA51C87768700018169 /* NYTPhotoViewerCore.h */, - 111084641C87684D00699670 /* NYTPhotoCaptionView.h */, - 111084341C87682300699670 /* NYTPhotoCaptionView.m */, - 111084351C87682300699670 /* NYTPhotoDismissalInteractionController.h */, - 111084361C87682300699670 /* NYTPhotoDismissalInteractionController.m */, - 111084391C87682300699670 /* NYTPhotosOverlayView.h */, - 1110843A1C87682300699670 /* NYTPhotosOverlayView.m */, - 1110843B1C87682300699670 /* NYTPhotosViewController.h */, - 1110843C1C87682300699670 /* NYTPhotosViewController.m */, - 1110843D1C87682300699670 /* NYTPhotoTransitionAnimator.h */, - 1110843E1C87682300699670 /* NYTPhotoTransitionAnimator.m */, - 1110843F1C87682300699670 /* NYTPhotoTransitionController.h */, - 111084401C87682300699670 /* NYTPhotoTransitionController.m */, - 111084411C87682300699670 /* NYTPhotoViewController.h */, - 111084421C87682300699670 /* NYTPhotoViewController.m */, - 2A4D613C208683B80092ED17 /* NYTInterstitialViewController.h */, - 2A4D6134208683990092ED17 /* NYTInterstitialViewController.m */, - 111084371C87682300699670 /* NYTPhotoViewerArrayDataSource.h */, - 111084381C87682300699670 /* NYTPhotoViewerArrayDataSource.m */, - 93F45B161E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.h */, - 93F45B171E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.m */, - 111084431C87682300699670 /* NYTScalingImageView.h */, - 111084441C87682300699670 /* NYTScalingImageView.m */, - 111084451C87682300699670 /* Protocols */, - 1110844A1C87682300699670 /* Resource Loading */, - 1110840B1C875B5000699670 /* Info.plist */, - ); - path = NYTPhotoViewer; - sourceTree = ""; - }; - 111084141C875B5000699670 /* NYTPhotoViewerTests */ = { - isa = PBXGroup; - children = ( - 111084261C8767BA00699670 /* NYTPhotoCaptionViewTests.m */, - 111084271C8767BA00699670 /* NYTPhotoViewerArrayDataSourceTests.m */, - 1AFC4D311FE01EFA00FDF949 /* NYTPhotoViewerSinglePhotoDataSourceTests.m */, - 111084281C8767BA00699670 /* NYTPhotosOverlayViewTests.m */, - 111084291C8767BA00699670 /* NYTPhotosViewControllerTests.m */, - 1110842A1C8767BA00699670 /* NYTPhotoTransitionAnimatorTests.m */, - 1110842B1C8767BA00699670 /* NYTPhotoViewControllerTests.m */, - 1110842C1C8767BA00699670 /* NYTScalingImageViewTests.m */, - 111084171C875B5000699670 /* Info.plist */, - ); - path = NYTPhotoViewerTests; - sourceTree = ""; - }; - 111084451C87682300699670 /* Protocols */ = { - isa = PBXGroup; - children = ( - 111084461C87682300699670 /* NYTPhoto.h */, - 111084471C87682300699670 /* NYTPhotoCaptionViewLayoutWidthHinting.h */, - 111084481C87682300699670 /* NYTPhotoViewerContainer.h */, - 111084491C87682300699670 /* NYTPhotoViewerDataSource.h */, - ); - path = Protocols; - sourceTree = ""; - }; - 1110844A1C87682300699670 /* Resource Loading */ = { - isa = PBXGroup; - children = ( - 11FBDA791C87714600018169 /* NYTPhotoViewer.bundle */, - 1110844B1C87682300699670 /* NSBundle+NYTPhotoViewer.h */, - 1110844C1C87682300699670 /* NSBundle+NYTPhotoViewer.m */, - ); - path = "Resource Loading"; - sourceTree = ""; - }; - 1110846B1C876A2B00699670 /* Example */ = { - isa = PBXGroup; - children = ( - 1110848F1C876CE000699670 /* NYTAppDelegate.h */, - 111084901C876CE000699670 /* NYTAppDelegate.m */, - 111084921C876D1900699670 /* NYTViewController.h */, - 111084931C876D1900699670 /* NYTViewController.m */, - 111084811C876AA500699670 /* NYTExamplePhoto.h */, - 111084821C876AA500699670 /* NYTExamplePhoto.m */, - 1110848E1C876CC900699670 /* Main.storyboard */, - 1110847A1C876A2B00699670 /* LaunchScreen.storyboard */, - 111084781C876A2B00699670 /* Assets.xcassets */, - 111084851C876B0400699670 /* giphy.gif */, - 1110846C1C876A2B00699670 /* Supporting Files */, - ); - path = Example; - sourceTree = ""; - }; - 1110846C1C876A2B00699670 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 111084951C876D8800699670 /* NYTPhotoViewer-Info.plist */, - 1110846D1C876A2B00699670 /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 11BA4AF61C8912F20007EC46 /* Products */ = { - isa = PBXGroup; - children = ( - 11BA4AFF1C8912F20007EC46 /* OCMock.framework */, - 11BA4B011C8912F20007EC46 /* OCMockTests.xctest */, - 11BA4B031C8912F20007EC46 /* libOCMock.a */, - 11BA4B051C8912F20007EC46 /* OCMockLibTests.xctest */, - 11BA4B071C8912F20007EC46 /* OCMock.framework */, - 11BA4B091C8912F20007EC46 /* OCMock.framework */, - ); - name = Products; - sourceTree = ""; - }; - 11BA4B0B1C8913330007EC46 /* Frameworks */ = { - isa = PBXGroup; - children = ( - CD3F77CE2409229B005F08E8 /* PINRemoteImage.xcodeproj */, - CD3F77BD2409223C005F08E8 /* PINRemoteImage.framework */, - 11BA4AF51C8912F20007EC46 /* OCMock.xcodeproj */, - ); - name = Frameworks; - sourceTree = ""; - }; - 11FBDADD1C877BD600018169 /* Example-Swift */ = { - isa = PBXGroup; - children = ( - 11FBDADE1C877BD600018169 /* AppDelegate.swift */, - 11FBDAE01C877BD600018169 /* ViewController.swift */, - 9371A7451E43D61E00A8F2EF /* PhotoViewerCoordinator.swift */, - 11FBDAF01C877C8B00018169 /* PhotosProvider.swift */, - 9371A7431E438BCE00A8F2EF /* PhotoBox.swift */, - 9371A73B1E438B9C00A8F2EF /* PhotoItem.swift */, - 11FBDAE21C877BD600018169 /* Main.storyboard */, - 11FBDAFB1C877D9A00018169 /* LaunchScreen.xib */, - 11FBDAEA1C877BD600018169 /* Info.plist */, - ); - path = "Example-Swift"; - sourceTree = ""; - }; - CD3F77CF2409229B005F08E8 /* Products */ = { - isa = PBXGroup; - children = ( - CD3F77D82409229B005F08E8 /* PINRemoteImage.framework */, - CD3F77DA2409229B005F08E8 /* PINRemoteImageTests.xctest */, - CD3F77DC2409229B005F08E8 /* PINRemoteImage.framework */, - CD3F77DE2409229B005F08E8 /* PINRemoteImage-tvOSTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 111084031C875B5000699670 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 111084621C87682300699670 /* NSBundle+NYTPhotoViewer.h in Headers */, - 111084541C87682300699670 /* NYTPhotosViewController.h in Headers */, - 111084601C87682300699670 /* NYTPhotoViewerContainer.h in Headers */, - 1110844E1C87682300699670 /* NYTPhotoDismissalInteractionController.h in Headers */, - 111084611C87682300699670 /* NYTPhotoViewerDataSource.h in Headers */, - 1110845A1C87682300699670 /* NYTPhotoViewController.h in Headers */, - 1110845C1C87682300699670 /* NYTScalingImageView.h in Headers */, - 111084521C87682300699670 /* NYTPhotosOverlayView.h in Headers */, - 111084561C87682300699670 /* NYTPhotoTransitionAnimator.h in Headers */, - 93F45B181E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.h in Headers */, - 111084581C87682300699670 /* NYTPhotoTransitionController.h in Headers */, - 1110845F1C87682300699670 /* NYTPhotoCaptionViewLayoutWidthHinting.h in Headers */, - 1110845E1C87682300699670 /* NYTPhoto.h in Headers */, - 111084501C87682300699670 /* NYTPhotoViewerArrayDataSource.h in Headers */, - 1110840A1C875B5000699670 /* NYTPhotoViewer.h in Headers */, - 111084651C87684D00699670 /* NYTPhotoCaptionView.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 11FBDA801C8774AC00018169 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 11FBDA981C87753200018169 /* NYTPhotoTransitionController.h in Headers */, - 11FBDAA01C87753200018169 /* NYTPhotoViewerContainer.h in Headers */, - 11FBDA9C1C87753200018169 /* NYTScalingImageView.h in Headers */, - 11FBDA921C87753200018169 /* NYTPhotosOverlayView.h in Headers */, - 11FBDA8E1C87753200018169 /* NYTPhotoDismissalInteractionController.h in Headers */, - 11FBDAA11C87753200018169 /* NYTPhotoViewerDataSource.h in Headers */, - 11FBDA901C87753200018169 /* NYTPhotoViewerArrayDataSource.h in Headers */, - 11FBDA9F1C87753200018169 /* NYTPhotoCaptionViewLayoutWidthHinting.h in Headers */, - 11FBDA941C87753200018169 /* NYTPhotosViewController.h in Headers */, - 93F45B191E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.h in Headers */, - 11FBDAA61C87768B00018169 /* NYTPhotoViewerCore.h in Headers */, - 11FBDA9E1C87753200018169 /* NYTPhoto.h in Headers */, - 11FBDAA21C87753200018169 /* NSBundle+NYTPhotoViewer.h in Headers */, - 11FBDA961C87753200018169 /* NYTPhotoTransitionAnimator.h in Headers */, - 11FBDA9A1C87753200018169 /* NYTPhotoViewController.h in Headers */, - 11FBDA8C1C87753200018169 /* NYTPhotoCaptionView.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 111084051C875B5000699670 /* NYTPhotoViewer */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1110841A1C875B5000699670 /* Build configuration list for PBXNativeTarget "NYTPhotoViewer" */; - buildPhases = ( - 111084011C875B5000699670 /* Sources */, - 111084021C875B5000699670 /* Frameworks */, - 111084031C875B5000699670 /* Headers */, - 111084041C875B5000699670 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = NYTPhotoViewer; - productName = NYTPhotoViewer; - productReference = 111084061C875B5000699670 /* NYTPhotoViewer.framework */; - productType = "com.apple.product-type.framework"; - }; - 1110840F1C875B5000699670 /* NYTPhotoViewerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1110841D1C875B5000699670 /* Build configuration list for PBXNativeTarget "NYTPhotoViewerTests" */; - buildPhases = ( - 1110840C1C875B5000699670 /* Sources */, - 1110840D1C875B5000699670 /* Frameworks */, - 1110840E1C875B5000699670 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 111084131C875B5000699670 /* PBXTargetDependency */, - ); - name = NYTPhotoViewerTests; - productName = NYTPhotoViewerTests; - productReference = 111084101C875B5000699670 /* NYTPhotoViewerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 111084691C876A2B00699670 /* Example */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1110847E1C876A2B00699670 /* Build configuration list for PBXNativeTarget "Example" */; - buildPhases = ( - 111084661C876A2B00699670 /* Sources */, - 111084671C876A2B00699670 /* Frameworks */, - 111084681C876A2B00699670 /* Resources */, - 1110849C1C876DDE00699670 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - CD3F77E0240922A3005F08E8 /* PBXTargetDependency */, - 1110849B1C876DDE00699670 /* PBXTargetDependency */, - ); - name = Example; - productName = Example; - productReference = 1110846A1C876A2B00699670 /* Example.app */; - productType = "com.apple.product-type.application"; - }; - 11FBDA821C8774AC00018169 /* NYTPhotoViewerCore */ = { - isa = PBXNativeTarget; - buildConfigurationList = 11FBDA881C8774AD00018169 /* Build configuration list for PBXNativeTarget "NYTPhotoViewerCore" */; - buildPhases = ( - 11FBDA7E1C8774AC00018169 /* Sources */, - 11FBDA7F1C8774AC00018169 /* Frameworks */, - 11FBDA801C8774AC00018169 /* Headers */, - 11FBDA811C8774AC00018169 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = NYTPhotoViewerCore; - productName = NYTPhotoViewerCore; - productReference = 11FBDA831C8774AC00018169 /* NYTPhotoViewerCore.framework */; - productType = "com.apple.product-type.framework"; - }; - 11FBDADB1C877BD600018169 /* Example-Swift */ = { - isa = PBXNativeTarget; - buildConfigurationList = 11FBDAED1C877BD600018169 /* Build configuration list for PBXNativeTarget "Example-Swift" */; - buildPhases = ( - 11FBDAD81C877BD600018169 /* Sources */, - 11FBDAD91C877BD600018169 /* Frameworks */, - 11FBDADA1C877BD600018169 /* Resources */, - 11FBDAF51C877CCE00018169 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 11FBDAFA1C877CEF00018169 /* PBXTargetDependency */, - ); - name = "Example-Swift"; - productName = "Example-Swift"; - productReference = 11FBDADC1C877BD600018169 /* Example-Swift.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 111083FD1C875B4F00699670 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0720; - LastUpgradeCheck = 0820; - ORGANIZATIONNAME = NYTimes; - TargetAttributes = { - 111084051C875B5000699670 = { - CreatedOnToolsVersion = 7.2.1; - }; - 1110840F1C875B5000699670 = { - CreatedOnToolsVersion = 7.2.1; - }; - 111084691C876A2B00699670 = { - CreatedOnToolsVersion = 7.2.1; - }; - 11FBDA821C8774AC00018169 = { - CreatedOnToolsVersion = 7.2.1; - }; - 11FBDADB1C877BD600018169 = { - CreatedOnToolsVersion = 7.2.1; - LastSwiftMigration = 0810; - }; - }; - }; - buildConfigurationList = 111084001C875B4F00699670 /* Build configuration list for PBXProject "NYTPhotoViewer" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - en, - Base, - ); - mainGroup = 111083FC1C875B4F00699670; - productRefGroup = 111084071C875B5000699670 /* Products */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 11BA4AF61C8912F20007EC46 /* Products */; - ProjectRef = 11BA4AF51C8912F20007EC46 /* OCMock.xcodeproj */; - }, - { - ProductGroup = CD3F77CF2409229B005F08E8 /* Products */; - ProjectRef = CD3F77CE2409229B005F08E8 /* PINRemoteImage.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - 111084051C875B5000699670 /* NYTPhotoViewer */, - 11FBDA821C8774AC00018169 /* NYTPhotoViewerCore */, - 1110840F1C875B5000699670 /* NYTPhotoViewerTests */, - 111084691C876A2B00699670 /* Example */, - 11FBDADB1C877BD600018169 /* Example-Swift */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - 11BA4AFF1C8912F20007EC46 /* OCMock.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = OCMock.framework; - remoteRef = 11BA4AFE1C8912F20007EC46 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 11BA4B011C8912F20007EC46 /* OCMockTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = OCMockTests.xctest; - remoteRef = 11BA4B001C8912F20007EC46 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 11BA4B031C8912F20007EC46 /* libOCMock.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libOCMock.a; - remoteRef = 11BA4B021C8912F20007EC46 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 11BA4B051C8912F20007EC46 /* OCMockLibTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = OCMockLibTests.xctest; - remoteRef = 11BA4B041C8912F20007EC46 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 11BA4B071C8912F20007EC46 /* OCMock.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = OCMock.framework; - remoteRef = 11BA4B061C8912F20007EC46 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 11BA4B091C8912F20007EC46 /* OCMock.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = OCMock.framework; - remoteRef = 11BA4B081C8912F20007EC46 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - CD3F77D82409229B005F08E8 /* PINRemoteImage.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINRemoteImage.framework; - remoteRef = CD3F77D72409229B005F08E8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - CD3F77DA2409229B005F08E8 /* PINRemoteImageTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = PINRemoteImageTests.xctest; - remoteRef = CD3F77D92409229B005F08E8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - CD3F77DC2409229B005F08E8 /* PINRemoteImage.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = PINRemoteImage.framework; - remoteRef = CD3F77DB2409229B005F08E8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - CD3F77DE2409229B005F08E8 /* PINRemoteImage-tvOSTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "PINRemoteImage-tvOSTests.xctest"; - remoteRef = CD3F77DD2409229B005F08E8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 111084041C875B5000699670 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 11FBDA7A1C87714600018169 /* NYTPhotoViewer.bundle in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 1110840E1C875B5000699670 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 111084861C876B0400699670 /* giphy.gif in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 111084681C876A2B00699670 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1110847C1C876A2B00699670 /* LaunchScreen.storyboard in Resources */, - 1110848C1C876CC900699670 /* Main.storyboard in Resources */, - 111084791C876A2B00699670 /* Assets.xcassets in Resources */, - 111084871C876B0400699670 /* giphy.gif in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 11FBDA811C8774AC00018169 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 11FBDAA41C87754A00018169 /* NYTPhotoViewer.bundle in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 11FBDADA1C877BD600018169 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 11FBDAFD1C877D9A00018169 /* LaunchScreen.xib in Resources */, - 11FBDAFE1C877F5500018169 /* Assets.xcassets in Resources */, - 11FBDAFF1C877F8000018169 /* giphy.gif in Resources */, - 11FBDAE41C877BD600018169 /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 111084011C875B5000699670 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2A4D6135208683990092ED17 /* NYTInterstitialViewController.m in Sources */, - 111084591C87682300699670 /* NYTPhotoTransitionController.m in Sources */, - 111084631C87682300699670 /* NSBundle+NYTPhotoViewer.m in Sources */, - 111084551C87682300699670 /* NYTPhotosViewController.m in Sources */, - 93F45B1A1E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.m in Sources */, - 1110844D1C87682300699670 /* NYTPhotoCaptionView.m in Sources */, - 1110845D1C87682300699670 /* NYTScalingImageView.m in Sources */, - 111084511C87682300699670 /* NYTPhotoViewerArrayDataSource.m in Sources */, - 111084531C87682300699670 /* NYTPhotosOverlayView.m in Sources */, - 111084571C87682300699670 /* NYTPhotoTransitionAnimator.m in Sources */, - 1110844F1C87682300699670 /* NYTPhotoDismissalInteractionController.m in Sources */, - 1110845B1C87682300699670 /* NYTPhotoViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 1110840C1C875B5000699670 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1AFC4D301FE01B9000FDF949 /* NYTPhotoViewerArrayDataSourceTests.m in Sources */, - 1110842D1C8767BA00699670 /* NYTPhotoCaptionViewTests.m in Sources */, - 1110842F1C8767BA00699670 /* NYTPhotosOverlayViewTests.m in Sources */, - 111084311C8767BA00699670 /* NYTPhotoTransitionAnimatorTests.m in Sources */, - 111084301C8767BA00699670 /* NYTPhotosViewControllerTests.m in Sources */, - 111084841C876AAD00699670 /* NYTExamplePhoto.m in Sources */, - 111084331C8767BA00699670 /* NYTScalingImageViewTests.m in Sources */, - 111084321C8767BA00699670 /* NYTPhotoViewControllerTests.m in Sources */, - 1AFC4D321FE01EFA00FDF949 /* NYTPhotoViewerSinglePhotoDataSourceTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 111084661C876A2B00699670 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 111084941C876D1900699670 /* NYTViewController.m in Sources */, - 111084911C876CE000699670 /* NYTAppDelegate.m in Sources */, - 111084831C876AA500699670 /* NYTExamplePhoto.m in Sources */, - 1110846E1C876A2B00699670 /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 11FBDA7E1C8774AC00018169 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CDA5DA08240EB5B400A796D3 /* NYTInterstitialViewController.m in Sources */, - 11FBDA991C87753200018169 /* NYTPhotoTransitionController.m in Sources */, - 11FBDAA31C87753200018169 /* NSBundle+NYTPhotoViewer.m in Sources */, - 11FBDA951C87753200018169 /* NYTPhotosViewController.m in Sources */, - 93F45B1B1E3BB5610093DB93 /* NYTPhotoViewerSinglePhotoDataSource.m in Sources */, - 11FBDA8D1C87753200018169 /* NYTPhotoCaptionView.m in Sources */, - 11FBDA9D1C87753200018169 /* NYTScalingImageView.m in Sources */, - 11FBDA911C87753200018169 /* NYTPhotoViewerArrayDataSource.m in Sources */, - 11FBDA931C87753200018169 /* NYTPhotosOverlayView.m in Sources */, - 11FBDA971C87753200018169 /* NYTPhotoTransitionAnimator.m in Sources */, - 11FBDA8F1C87753200018169 /* NYTPhotoDismissalInteractionController.m in Sources */, - 11FBDA9B1C87753200018169 /* NYTPhotoViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 11FBDAD81C877BD600018169 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9371A7441E438BCE00A8F2EF /* PhotoBox.swift in Sources */, - 11FBDAE11C877BD600018169 /* ViewController.swift in Sources */, - 11FBDADF1C877BD600018169 /* AppDelegate.swift in Sources */, - 9371A7461E43D61E00A8F2EF /* PhotoViewerCoordinator.swift in Sources */, - 11FBDAF11C877C8B00018169 /* PhotosProvider.swift in Sources */, - 9371A73C1E438B9C00A8F2EF /* PhotoItem.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 111084131C875B5000699670 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 111084051C875B5000699670 /* NYTPhotoViewer */; - targetProxy = 111084121C875B5000699670 /* PBXContainerItemProxy */; - }; - 1110849B1C876DDE00699670 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 111084051C875B5000699670 /* NYTPhotoViewer */; - targetProxy = 1110849A1C876DDE00699670 /* PBXContainerItemProxy */; - }; - 11FBDAFA1C877CEF00018169 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 111084051C875B5000699670 /* NYTPhotoViewer */; - targetProxy = 11FBDAF91C877CEF00018169 /* PBXContainerItemProxy */; - }; - CD3F77E0240922A3005F08E8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = PINRemoteImage; - targetProxy = CD3F77DF240922A3005F08E8 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 1110847A1C876A2B00699670 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 1110847B1C876A2B00699670 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; - 1110848E1C876CC900699670 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 1110848D1C876CC900699670 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 11FBDAE21C877BD600018169 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 11FBDAE31C877BD600018169 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 11FBDAFB1C877D9A00018169 /* LaunchScreen.xib */ = { - isa = PBXVariantGroup; - children = ( - 11FBDAFC1C877D9A00018169 /* Base */, - ); - name = LaunchScreen.xib; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 111084181C875B5000699670 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.2; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 111084191C875B5000699670 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.2; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 1110841B1C875B5000699670 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - "ANIMATED_GIF_SUPPORT=1", - ); - INFOPLIST_FILE = NYTPhotoViewer/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.NYTimes.NYTPhotoViewer; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 1110841C1C875B5000699670 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - GCC_PREPROCESSOR_DEFINITIONS = "ANIMATED_GIF_SUPPORT=1"; - INFOPLIST_FILE = NYTPhotoViewer/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.NYTimes.NYTPhotoViewer; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Release; - }; - 1110841E1C875B5000699670 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = NYTPhotoViewerTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.NYTimes.NYTPhotoViewerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 1110841F1C875B5000699670 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - INFOPLIST_FILE = NYTPhotoViewerTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.NYTimes.NYTPhotoViewerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 1110847F1C876A2B00699670 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "Example/NYTPhotoViewer-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.NYTimes.Example; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 111084801C876A2B00699670 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "Example/NYTPhotoViewer-Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.NYTimes.Example; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 11FBDA891C8774AD00018169 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = NYTPhotoViewer/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.NYTimes.NYTPhotoViewerCore; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 11FBDA8A1C8774AD00018169 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = NYTPhotoViewer/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.NYTimes.NYTPhotoViewerCore; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Release; - }; - 11FBDAEB1C877BD600018169 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Checkouts/FLAnimatedImage/build/Debug-iphoneos", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "Example-Swift/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.NYTimes.Example-Swift"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 11FBDAEC1C877BD600018169 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Checkouts/FLAnimatedImage/build/Debug-iphoneos", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "Example-Swift/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.NYTimes.Example-Swift"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 111084001C875B4F00699670 /* Build configuration list for PBXProject "NYTPhotoViewer" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 111084181C875B5000699670 /* Debug */, - 111084191C875B5000699670 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1110841A1C875B5000699670 /* Build configuration list for PBXNativeTarget "NYTPhotoViewer" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1110841B1C875B5000699670 /* Debug */, - 1110841C1C875B5000699670 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1110841D1C875B5000699670 /* Build configuration list for PBXNativeTarget "NYTPhotoViewerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1110841E1C875B5000699670 /* Debug */, - 1110841F1C875B5000699670 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1110847E1C876A2B00699670 /* Build configuration list for PBXNativeTarget "Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1110847F1C876A2B00699670 /* Debug */, - 111084801C876A2B00699670 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 11FBDA881C8774AD00018169 /* Build configuration list for PBXNativeTarget "NYTPhotoViewerCore" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 11FBDA891C8774AD00018169 /* Debug */, - 11FBDA8A1C8774AD00018169 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 11FBDAED1C877BD600018169 /* Build configuration list for PBXNativeTarget "Example-Swift" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 11FBDAEB1C877BD600018169 /* Debug */, - 11FBDAEC1C877BD600018169 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 111083FD1C875B4F00699670 /* Project object */; -} diff --git a/NYTPhotoViewer/Info.plist b/NYTPhotoViewer/Info.plist deleted file mode 100644 index c4a7cedd..00000000 --- a/NYTPhotoViewer/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 5.0.5 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Assets.xcassets/Contents.json b/NYTPhotoViewer/Media.xcassets/Contents.json similarity index 100% rename from Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Example/PINOperationExample/Assets.xcassets/Contents.json rename to NYTPhotoViewer/Media.xcassets/Contents.json diff --git a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/white-pinterest-logo.imageset/Contents.json b/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonX.imageset/Contents.json similarity index 52% rename from Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/white-pinterest-logo.imageset/Contents.json rename to NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonX.imageset/Contents.json index 568fd8c8..0fd9662e 100644 --- a/Carthage/Checkouts/PINRemoteImage/Examples/Example-Mac/PINRemoteImage/Assets.xcassets/white-pinterest-logo.imageset/Contents.json +++ b/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonX.imageset/Contents.json @@ -1,22 +1,23 @@ { "images" : [ { + "filename" : "NYTPhotoViewerCloseButtonX.png", "idiom" : "universal", - "filename" : "white-pinterest-logo@1x.png", "scale" : "1x" }, { + "filename" : "NYTPhotoViewerCloseButtonX@2x.png", "idiom" : "universal", - "filename" : "white-pinterest-logo@2x.png", "scale" : "2x" }, { + "filename" : "NYTPhotoViewerCloseButtonX@3x.png", "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonX.png b/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonX.imageset/NYTPhotoViewerCloseButtonX.png similarity index 100% rename from NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonX.png rename to NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonX.imageset/NYTPhotoViewerCloseButtonX.png diff --git a/NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonX@2x.png b/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonX.imageset/NYTPhotoViewerCloseButtonX@2x.png similarity index 100% rename from NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonX@2x.png rename to NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonX.imageset/NYTPhotoViewerCloseButtonX@2x.png diff --git a/NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonX@3x.png b/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonX.imageset/NYTPhotoViewerCloseButtonX@3x.png similarity index 100% rename from NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonX@3x.png rename to NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonX.imageset/NYTPhotoViewerCloseButtonX@3x.png diff --git a/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonXLandscape.imageset/Contents.json b/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonXLandscape.imageset/Contents.json new file mode 100644 index 00000000..f6b91eb2 --- /dev/null +++ b/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonXLandscape.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "NYTPhotoViewerCloseButtonXLandscape.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "NYTPhotoViewerCloseButtonXLandscape@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "NYTPhotoViewerCloseButtonXLandscape@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonXLandscape.png b/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonXLandscape.imageset/NYTPhotoViewerCloseButtonXLandscape.png similarity index 100% rename from NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonXLandscape.png rename to NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonXLandscape.imageset/NYTPhotoViewerCloseButtonXLandscape.png diff --git a/NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonXLandscape@2x.png b/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonXLandscape.imageset/NYTPhotoViewerCloseButtonXLandscape@2x.png similarity index 100% rename from NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonXLandscape@2x.png rename to NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonXLandscape.imageset/NYTPhotoViewerCloseButtonXLandscape@2x.png diff --git a/NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonXLandscape@3x.png b/NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonXLandscape.imageset/NYTPhotoViewerCloseButtonXLandscape@3x.png similarity index 100% rename from NYTPhotoViewer/NYTPhotoViewer.bundle/NYTPhotoViewerCloseButtonXLandscape@3x.png rename to NYTPhotoViewer/Media.xcassets/NYTPhotoViewerCloseButtonXLandscape.imageset/NYTPhotoViewerCloseButtonXLandscape@3x.png diff --git a/NYTPhotoViewer/NYTPhotoCaptionView.m b/NYTPhotoViewer/NYTPhotoCaptionView.m index 7c28299c..fa2e6f3a 100644 --- a/NYTPhotoViewer/NYTPhotoCaptionView.m +++ b/NYTPhotoViewer/NYTPhotoCaptionView.m @@ -59,7 +59,18 @@ - (void)layoutSubviews { [super layoutSubviews]; void (^updateGradientFrame)(void) = ^{ - self.gradientLayer.frame = self.layer.bounds; + if (@available(iOS 11.0, *)) { + UIEdgeInsets safeAreaInsets = [[UIApplication sharedApplication] keyWindow].safeAreaInsets; + CGRect selfBounds = self.layer.bounds; + self.gradientLayer.frame = CGRectMake( + selfBounds.origin.x - safeAreaInsets.left, + selfBounds.origin.y + safeAreaInsets.bottom, + selfBounds.size.width + safeAreaInsets.left + safeAreaInsets.right, + selfBounds.size.height + safeAreaInsets.bottom + ); + } else { + self.gradientLayer.frame = self.layer.bounds; + } }; updateGradientFrame(); diff --git a/NYTPhotoViewer/NYTPhotoViewController.m b/NYTPhotoViewer/NYTPhotoViewController.m index d1f05c8f..be43d3b0 100644 --- a/NYTPhotoViewer/NYTPhotoViewController.m +++ b/NYTPhotoViewer/NYTPhotoViewController.m @@ -11,8 +11,13 @@ #import "NYTScalingImageView.h" #ifdef ANIMATED_GIF_SUPPORT -#import -#import +#if SWIFT_PACKAGE + #import "PINRemoteImage.h" + #import "PINAnimatedImageView.h" +#else + #import + #import +#endif #endif NSString * const NYTPhotoViewControllerPhotoImageUpdatedNotification = @"NYTPhotoViewControllerPhotoImageUpdatedNotification"; diff --git a/NYTPhotoViewer/NYTPhotosViewController.m b/NYTPhotoViewer/NYTPhotosViewController.m index 7255f6ce..66ae7350 100644 --- a/NYTPhotoViewer/NYTPhotosViewController.m +++ b/NYTPhotoViewer/NYTPhotosViewController.m @@ -19,8 +19,13 @@ #import "NSBundle+NYTPhotoViewer.h" #ifdef ANIMATED_GIF_SUPPORT -#import -#import +#if SWIFT_PACKAGE + #import "PINRemoteImage.h" + #import "PINAnimatedImageView.h" +#else + #import + #import +#endif #endif NSString * const NYTPhotosViewControllerDidNavigateToPhotoNotification = @"NYTPhotosViewControllerDidNavigateToPhotoNotification"; @@ -201,7 +206,9 @@ - (void)commonInitWithDataSource:(id )dataSource initi NYTPhotosOverlayView *v = [[NYTPhotosOverlayView alloc] initWithFrame:CGRectZero]; v.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"NYTPhotoViewerCloseButtonX" inBundle:[NSBundle nyt_photoViewerResourceBundle] compatibleWithTraitCollection:nil] landscapeImagePhone:[UIImage imageNamed:@"NYTPhotoViewerCloseButtonXLandscape" inBundle:[NSBundle nyt_photoViewerResourceBundle] compatibleWithTraitCollection:nil] style:UIBarButtonItemStylePlain target:self action:@selector(doneButtonTapped:)]; v.leftBarButtonItem.imageInsets = NYTPhotosViewControllerCloseButtonImageInsets; + v.leftBarButtonItem.tintColor = [UIColor whiteColor]; v.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(actionButtonTapped:)]; + v.rightBarButtonItem.tintColor = [UIColor whiteColor]; v; }); @@ -291,7 +298,8 @@ - (void)actionButtonTapped:(id)sender { if (!clientDidHandle && (self.currentlyDisplayedPhoto.image || self.currentlyDisplayedPhoto.imageData)) { UIImage *image = self.currentlyDisplayedPhoto.image ? self.currentlyDisplayedPhoto.image : [UIImage imageWithData:self.currentlyDisplayedPhoto.imageData]; - UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[image] applicationActivities:nil]; + NSString *summary = self.currentlyDisplayedPhoto.attributedCaptionSummary.string; + UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[summary, image] applicationActivities:nil]; activityViewController.popoverPresentationController.barButtonItem = sender; activityViewController.completionWithItemsHandler = ^(NSString * __nullable activityType, BOOL completed, NSArray * __nullable returnedItems, NSError * __nullable activityError) { if (completed && [self.delegate respondsToSelector:@selector(photosViewController:actionCompletedWithActivityType:)]) { diff --git a/NYTPhotoViewer/NYTScalingImageView.m b/NYTPhotoViewer/NYTScalingImageView.m index a3467cad..0a0c6f71 100644 --- a/NYTPhotoViewer/NYTScalingImageView.m +++ b/NYTPhotoViewer/NYTScalingImageView.m @@ -11,8 +11,13 @@ #import "tgmath.h" #ifdef ANIMATED_GIF_SUPPORT -#import -#import +#if SWIFT_PACKAGE + #import "PINRemoteImage.h" + #import "PINAnimatedImageView.h" +#else + #import + #import +#endif #endif @interface NYTScalingImageView () @@ -145,18 +150,19 @@ - (void)setupImageScrollView { - (void)updateZoomScale { #ifdef ANIMATED_GIF_SUPPORT if (self.imageView.animatedImage || self.imageView.image) { + CGSize imageSize = self.imageView.animatedImage ? self.imageView.animatedImage.size : self.imageView.image.size; #else if (self.imageView.image) { + CGSize imageSize = self.imageView.image.size; #endif CGRect scrollViewFrame = self.bounds; - CGFloat scaleWidth = scrollViewFrame.size.width / self.imageView.image.size.width; - CGFloat scaleHeight = scrollViewFrame.size.height / self.imageView.image.size.height; + CGFloat scaleWidth = scrollViewFrame.size.width / imageSize.width; + CGFloat scaleHeight = scrollViewFrame.size.height / imageSize.height; CGFloat minScale = MIN(scaleWidth, scaleHeight); self.minimumZoomScale = minScale; self.maximumZoomScale = MAX(minScale, self.maximumZoomScale); - self.zoomScale = self.minimumZoomScale; // scrollView.panGestureRecognizer.enabled is on by default and enabled by diff --git a/NYTPhotoViewer/Resource Loading/NSBundle+NYTPhotoViewer.m b/NYTPhotoViewer/Resource Loading/NSBundle+NYTPhotoViewer.m index 19d0c12c..1487c0e0 100644 --- a/NYTPhotoViewer/Resource Loading/NSBundle+NYTPhotoViewer.m +++ b/NYTPhotoViewer/Resource Loading/NSBundle+NYTPhotoViewer.m @@ -12,6 +12,9 @@ @implementation NSBundle (NYTPhotoViewer) + (instancetype)nyt_photoViewerResourceBundle { + #if SWIFT_PACKAGE + return SWIFTPM_MODULE_BUNDLE; + #endif static NSBundle *resourceBundle = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ diff --git a/NYTPhotoViewer/Resource Loading/NSBundle+NYTPhotoViewer.h b/NYTPhotoViewer/include/NSBundle+NYTPhotoViewer.h similarity index 100% rename from NYTPhotoViewer/Resource Loading/NSBundle+NYTPhotoViewer.h rename to NYTPhotoViewer/include/NSBundle+NYTPhotoViewer.h diff --git a/NYTPhotoViewer/Protocols/NYTPhoto.h b/NYTPhotoViewer/include/NYTPhoto.h similarity index 100% rename from NYTPhotoViewer/Protocols/NYTPhoto.h rename to NYTPhotoViewer/include/NYTPhoto.h diff --git a/NYTPhotoViewer/NYTPhotoCaptionView.h b/NYTPhotoViewer/include/NYTPhotoCaptionView.h similarity index 100% rename from NYTPhotoViewer/NYTPhotoCaptionView.h rename to NYTPhotoViewer/include/NYTPhotoCaptionView.h diff --git a/NYTPhotoViewer/Protocols/NYTPhotoCaptionViewLayoutWidthHinting.h b/NYTPhotoViewer/include/NYTPhotoCaptionViewLayoutWidthHinting.h similarity index 100% rename from NYTPhotoViewer/Protocols/NYTPhotoCaptionViewLayoutWidthHinting.h rename to NYTPhotoViewer/include/NYTPhotoCaptionViewLayoutWidthHinting.h diff --git a/NYTPhotoViewer/NYTPhotoDismissalInteractionController.h b/NYTPhotoViewer/include/NYTPhotoDismissalInteractionController.h similarity index 100% rename from NYTPhotoViewer/NYTPhotoDismissalInteractionController.h rename to NYTPhotoViewer/include/NYTPhotoDismissalInteractionController.h diff --git a/NYTPhotoViewer/NYTPhotoTransitionAnimator.h b/NYTPhotoViewer/include/NYTPhotoTransitionAnimator.h similarity index 100% rename from NYTPhotoViewer/NYTPhotoTransitionAnimator.h rename to NYTPhotoViewer/include/NYTPhotoTransitionAnimator.h diff --git a/NYTPhotoViewer/NYTPhotoTransitionController.h b/NYTPhotoViewer/include/NYTPhotoTransitionController.h similarity index 100% rename from NYTPhotoViewer/NYTPhotoTransitionController.h rename to NYTPhotoViewer/include/NYTPhotoTransitionController.h diff --git a/NYTPhotoViewer/NYTPhotoViewController.h b/NYTPhotoViewer/include/NYTPhotoViewController.h similarity index 100% rename from NYTPhotoViewer/NYTPhotoViewController.h rename to NYTPhotoViewer/include/NYTPhotoViewController.h diff --git a/NYTPhotoViewer/NYTPhotoViewerArrayDataSource.h b/NYTPhotoViewer/include/NYTPhotoViewerArrayDataSource.h similarity index 100% rename from NYTPhotoViewer/NYTPhotoViewerArrayDataSource.h rename to NYTPhotoViewer/include/NYTPhotoViewerArrayDataSource.h diff --git a/NYTPhotoViewer/Protocols/NYTPhotoViewerContainer.h b/NYTPhotoViewer/include/NYTPhotoViewerContainer.h similarity index 100% rename from NYTPhotoViewer/Protocols/NYTPhotoViewerContainer.h rename to NYTPhotoViewer/include/NYTPhotoViewerContainer.h diff --git a/NYTPhotoViewer/Protocols/NYTPhotoViewerDataSource.h b/NYTPhotoViewer/include/NYTPhotoViewerDataSource.h similarity index 100% rename from NYTPhotoViewer/Protocols/NYTPhotoViewerDataSource.h rename to NYTPhotoViewer/include/NYTPhotoViewerDataSource.h diff --git a/NYTPhotoViewer/NYTPhotoViewerSinglePhotoDataSource.h b/NYTPhotoViewer/include/NYTPhotoViewerSinglePhotoDataSource.h similarity index 100% rename from NYTPhotoViewer/NYTPhotoViewerSinglePhotoDataSource.h rename to NYTPhotoViewer/include/NYTPhotoViewerSinglePhotoDataSource.h diff --git a/NYTPhotoViewer/NYTPhotosOverlayView.h b/NYTPhotoViewer/include/NYTPhotosOverlayView.h similarity index 100% rename from NYTPhotoViewer/NYTPhotosOverlayView.h rename to NYTPhotoViewer/include/NYTPhotosOverlayView.h diff --git a/NYTPhotoViewer/NYTPhotosViewController.h b/NYTPhotoViewer/include/NYTPhotosViewController.h similarity index 100% rename from NYTPhotoViewer/NYTPhotosViewController.h rename to NYTPhotoViewer/include/NYTPhotosViewController.h diff --git a/NYTPhotoViewer/NYTScalingImageView.h b/NYTPhotoViewer/include/NYTScalingImageView.h similarity index 100% rename from NYTPhotoViewer/NYTScalingImageView.h rename to NYTPhotoViewer/include/NYTScalingImageView.h diff --git a/NYTPhotoViewerTests/Info.plist b/NYTPhotoViewerTests/Info.plist deleted file mode 100644 index ba72822e..00000000 --- a/NYTPhotoViewerTests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 00000000..689f4bcd --- /dev/null +++ b/Package.resolved @@ -0,0 +1,43 @@ +{ + "object": { + "pins": [ + { + "package": "libwebp", + "repositoryURL": "https://github.com/SDWebImage/libwebp-Xcode", + "state": { + "branch": null, + "revision": "86c1b5d567ed548da861486b54e1f8f068a3cef7", + "version": "1.1.0" + } + }, + { + "package": "PINCache", + "repositoryURL": "https://github.com/pinterest/PINCache.git", + "state": { + "branch": null, + "revision": "875c654984fb52b47ca65ae70d24852b0003ccd9", + "version": "3.0.3" + } + }, + { + "package": "PINOperation", + "repositoryURL": "https://github.com/pinterest/PINOperation.git", + "state": { + "branch": null, + "revision": "44d8ca154a4e75a028a5548c31ff3a53b90cef15", + "version": "1.2.1" + } + }, + { + "package": "PINRemoteImage", + "repositoryURL": "https://github.com/pinterest/PINRemoteImage.git", + "state": { + "branch": null, + "revision": "611d8ab1c6937bcdfd9d59a967716b0370a332be", + "version": "3.0.3" + } + } + ] + }, + "version": 1 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 00000000..1c2ccb5f --- /dev/null +++ b/Package.swift @@ -0,0 +1,32 @@ +// swift-tools-version:5.3 +import PackageDescription + +let package = Package( + name: "NYTPhotoViewer", + platforms: [ + .iOS(.v9) + ], + products: [ + .library( + name: "NYTPhotoViewer", + targets: ["NYTPhotoViewer", "NYTPhotoViewerGIF"] + ), + ], + dependencies: [ + .package(url: "https://github.com/pinterest/PINRemoteImage.git", from: "3.0.1") + ], + targets: [ + .target( + name: "NYTPhotoViewer", + path: "NYTPhotoViewer" + ), + .target( + name: "NYTPhotoViewerGIF", + dependencies: ["PINRemoteImage"], + path: "SourceSymLink", + cSettings: [ + .define("ANIMATED_GIF_SUPPORT", to: "1") + ] + ) + ] +) diff --git a/README.md b/README.md index 5408c52e..f59b7eb9 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ NYTPhotoViewer is a slideshow and image viewer that includes double-tap to zoom, captions, support for multiple images, interactive flick to dismiss, animated zooming presentation, and more. -![Demo GIF](Images/photo_viewer.gif) +![Demo GIF](Documentation/photo_viewer.gif) ## Usage @@ -19,12 +19,22 @@ NYTPhotosViewController *photosViewController = [[NYTPhotosViewController alloc] ## Running the Example -The Example project uses [Carthage](https://github.com/Carthage/Carthage) to integrate its dependencies. If you don’t have Carthage installed, you can install it via [Homebrew](http://brew.sh) with `brew install carthage`. - -Then, in your local workspace of the `NYTPhotoViewer` repo, run `./scripts/bootstrap`. +Clone this locally, then in your local workspace of the `NYTPhotoViewer` repo, run `./scripts/bootstrap`, then open Examples/NYTPhotoViewer.xcworkspace. You'll see targets for a Swift and Objective-C app. ## Installation +### Swift Package Manager + +NYTPhotoViewer may be installed via SPM, by pointing at this repo's URL. + +### Cocoapods + +NYTPhotoViewer is available through [CocoaPods](http://cocoapods.org). To install it, simply add the following line to your `Podfile`: + +```ruby +pod 'NYTPhotoViewer' +``` + ### Carthage NYTPhotoViewer may be installed via [Carthage](https://github.com/Carthage/Carthage). To install it, simply add the following line to your `Cartfile`: @@ -37,14 +47,6 @@ Then, following the instructions for [integrating Carthage frameworks into your If you don't want support for animated GIFs, you may instead link against only the `NYTPhotoViewerCore` framework. -### Cocoapods - -NYTPhotoViewer is available through [CocoaPods](http://cocoapods.org). To install it, simply add the following line to your `Podfile`: - -``` -pod 'NYTPhotoViewer' -``` - ## Requirements This library requires a deployment target of iOS 9.0 or greater. diff --git a/SourceSymLink b/SourceSymLink new file mode 120000 index 00000000..1aa27062 --- /dev/null +++ b/SourceSymLink @@ -0,0 +1 @@ +./NYTPhotoViewer \ No newline at end of file diff --git a/Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/Info.plist b/UnitTests/Info.plist similarity index 100% rename from Carthage/Checkouts/PINCache/Carthage/Checkouts/PINOperation/Tests/Info.plist rename to UnitTests/Info.plist diff --git a/NYTPhotoViewerTests/NYTPhotoCaptionViewTests.m b/UnitTests/NYTPhotoCaptionViewTests.m similarity index 100% rename from NYTPhotoViewerTests/NYTPhotoCaptionViewTests.m rename to UnitTests/NYTPhotoCaptionViewTests.m diff --git a/NYTPhotoViewerTests/NYTPhotoTransitionAnimatorTests.m b/UnitTests/NYTPhotoTransitionAnimatorTests.m similarity index 100% rename from NYTPhotoViewerTests/NYTPhotoTransitionAnimatorTests.m rename to UnitTests/NYTPhotoTransitionAnimatorTests.m diff --git a/NYTPhotoViewerTests/NYTPhotoViewControllerTests.m b/UnitTests/NYTPhotoViewControllerTests.m similarity index 100% rename from NYTPhotoViewerTests/NYTPhotoViewControllerTests.m rename to UnitTests/NYTPhotoViewControllerTests.m diff --git a/NYTPhotoViewerTests/NYTPhotoViewerArrayDataSourceTests.m b/UnitTests/NYTPhotoViewerArrayDataSourceTests.m similarity index 100% rename from NYTPhotoViewerTests/NYTPhotoViewerArrayDataSourceTests.m rename to UnitTests/NYTPhotoViewerArrayDataSourceTests.m diff --git a/NYTPhotoViewerTests/NYTPhotoViewerSinglePhotoDataSourceTests.m b/UnitTests/NYTPhotoViewerSinglePhotoDataSourceTests.m similarity index 91% rename from NYTPhotoViewerTests/NYTPhotoViewerSinglePhotoDataSourceTests.m rename to UnitTests/NYTPhotoViewerSinglePhotoDataSourceTests.m index cf00330b..9c0db792 100644 --- a/NYTPhotoViewerTests/NYTPhotoViewerSinglePhotoDataSourceTests.m +++ b/UnitTests/NYTPhotoViewerSinglePhotoDataSourceTests.m @@ -18,6 +18,10 @@ @interface NYTPhotoViewerSinglePhotoDataSourceTests : XCTestCase @implementation NYTPhotoViewerSinglePhotoDataSourceTests +// The next 3 tests _deliberately_ pass nil, we don't need to be warned about it. +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wnonnull" + - (void)testInitializerAcceptsNil { XCTAssertNoThrow([[NYTPhotoViewerSinglePhotoDataSource alloc] initWithPhoto:nil]); } @@ -31,6 +35,7 @@ - (void)testOutOfBoundsReturnsNil { NYTPhotoViewerSinglePhotoDataSource *dataSource = [[NYTPhotoViewerSinglePhotoDataSource alloc] initWithPhoto:nil]; XCTAssertNil([dataSource photoAtIndex:1]); } +#pragma clang diagnostic pop - (void)testValidIndexReturnsPhotoAtIndex { NYTExamplePhoto *photo = [[NYTExamplePhoto alloc] init]; diff --git a/NYTPhotoViewerTests/NYTPhotosOverlayViewTests.m b/UnitTests/NYTPhotosOverlayViewTests.m similarity index 100% rename from NYTPhotoViewerTests/NYTPhotosOverlayViewTests.m rename to UnitTests/NYTPhotosOverlayViewTests.m diff --git a/NYTPhotoViewerTests/NYTPhotosViewControllerTests.m b/UnitTests/NYTPhotosViewControllerTests.m similarity index 98% rename from NYTPhotoViewerTests/NYTPhotosViewControllerTests.m rename to UnitTests/NYTPhotosViewControllerTests.m index 14be0d31..aa1de255 100644 --- a/NYTPhotoViewerTests/NYTPhotosViewControllerTests.m +++ b/UnitTests/NYTPhotosViewControllerTests.m @@ -146,27 +146,11 @@ - (void)testRightBarButtonItemsAreNilAfterSettingToNil { XCTAssertNil(photosViewController.rightBarButtonItems); } -- (void)testOneArgConvenienceInitializerAcceptsNil { - XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:nil]); -} - -- (void)testTwoArgConvenienceInitializerAcceptsNilForPhotosParameter { - XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:nil initialPhoto:[[NYTExamplePhoto alloc] init] delegate:nil]); -} - (void)testTwoArgConvenienceInitializerAcceptsNilForInitialPhotoParameter { XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:[self newTestPhotosDataSource] initialPhoto:nil delegate:nil]); } -- (void)testTwoArgConvenienceInitializerAcceptsNilForBothParameters { - XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:nil initialPhoto:nil delegate:nil]); -} - -- (void)testDesignatedInitializerAcceptsNilForPhotosParameter { - id delegateMock = OCMProtocolMock(@protocol(NYTPhotosViewControllerDelegate)); - XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:nil initialPhoto:[NYTExamplePhoto new] delegate:delegateMock]); -} - - (void)testDesignatedInitializerAcceptsNilForInitialPhotoParameter { id delegateMock = OCMProtocolMock(@protocol(NYTPhotosViewControllerDelegate)); XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:[self newTestPhotosDataSource] initialPhoto:nil delegate:delegateMock]); @@ -176,10 +160,6 @@ - (void)testDesignatedInitializerAcceptsNilForDelegateParameter { XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:[self newTestPhotosDataSource] initialPhoto:[NYTExamplePhoto new] delegate:nil]); } -- (void)testDesignatedInitializerAcceptsNilForAllParameters { - XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:nil initialPhoto:nil delegate:nil]); -} - - (void)testDesignatedInitializerSetsDelegate { id delegateMock = OCMProtocolMock(@protocol(NYTPhotosViewControllerDelegate)); NYTPhotosViewController *sut = [[NYTPhotosViewController alloc] initWithDataSource:[self newTestPhotosDataSource] initialPhoto:nil delegate:delegateMock]; @@ -216,11 +196,6 @@ - (void)testDisplayPhotoMovesToCorrectPhoto { XCTAssertEqualObjects(photoToDisplay, photosViewController.currentlyDisplayedPhoto); } -- (void)testUpdateImageForPhotoAcceptsNil { - NYTPhotosViewController *photosViewController = [[NYTPhotosViewController alloc] initWithDataSource:[self newTestPhotosDataSource]]; - XCTAssertNoThrow([photosViewController updatePhoto:nil]); -} - - (void)testUpdateImageForPhotoDoesNothingWhenPassedPhotoOutsideDataSource { NSArray *photos = [self newTestPhotos]; NYTPhotosViewController *photosViewController = [[NYTPhotosViewController alloc] initWithDataSource:[self newTestPhotosDataSource] initialPhoto:photos.firstObject delegate:nil]; @@ -289,6 +264,38 @@ - (void)testProgrammaticDismissalUserInitiatedFlagIsFalse { OCMVerify([photosVCMock dismissViewControllerAnimated:YES userInitiated:NO completion:[OCMArg any]]); } +#pragma mark - Tests which deliberately pass nil, and don't need to be warned about it +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wnonnull" + +- (void)testOneArgConvenienceInitializerAcceptsNil { + XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:nil]); +} + +- (void)testTwoArgConvenienceInitializerAcceptsNilForPhotosParameter { + XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:nil initialPhoto:[[NYTExamplePhoto alloc] init] delegate:nil]); +} + +- (void)testTwoArgConvenienceInitializerAcceptsNilForBothParameters { + XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:nil initialPhoto:nil delegate:nil]); +} + +- (void)testDesignatedInitializerAcceptsNilForPhotosParameter { + id delegateMock = OCMProtocolMock(@protocol(NYTPhotosViewControllerDelegate)); + XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:nil initialPhoto:[NYTExamplePhoto new] delegate:delegateMock]); +} + +- (void)testDesignatedInitializerAcceptsNilForAllParameters { + XCTAssertNoThrow([[NYTPhotosViewController alloc] initWithDataSource:nil initialPhoto:nil delegate:nil]); +} + +- (void)testUpdateImageForPhotoAcceptsNil { + NYTPhotosViewController *photosViewController = [[NYTPhotosViewController alloc] initWithDataSource:[self newTestPhotosDataSource]]; + XCTAssertNoThrow([photosViewController updatePhoto:nil]); +} + +#pragma clang diagnostic pop + #pragma mark - Helpers - (NSArray *)newTestPhotos { diff --git a/NYTPhotoViewerTests/NYTScalingImageViewTests.m b/UnitTests/NYTScalingImageViewTests.m similarity index 100% rename from NYTPhotoViewerTests/NYTScalingImageViewTests.m rename to UnitTests/NYTScalingImageViewTests.m diff --git a/bitrise.yml b/bitrise.yml new file mode 100644 index 00000000..7c0c7d3a --- /dev/null +++ b/bitrise.yml @@ -0,0 +1,60 @@ +format_version: "8" +default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git +project_type: ios +app: + envs: + - BITRISE_PROJECT_PATH: Examples/NYTPhotoViewer.xcworkspace + - BITRISE_SCHEME: Example + - BITRISE_SCHEME2: Example-Swift + - BITRISE_EXPORT_METHOD: development +trigger_map: +- push_branch: '*' + workflow: primary +- pull_request_source_branch: '*' + workflow: primary +workflows: + deploy: + steps: + - activate-ssh-key@4.0.3: + run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' + - git-clone@4.0.17: {} + - cache-pull@2.1.1: {} + - certificate-and-profile-installer@1.10.1: {} + - cocoapods-install@1.9.1: {} + - xcode-test@2.4.1: + inputs: + - project_path: $BITRISE_PROJECT_PATH + - scheme: $BITRISE_SCHEME + - xcode-test@2.4.1: + inputs: + - project_path: $BITRISE_PROJECT_PATH + - scheme: $BITRISE_SCHEME2 + - xcode-archive@2.7.0: + inputs: + - project_path: $BITRISE_PROJECT_PATH + - scheme: $BITRISE_SCHEME + - export_method: $BITRISE_EXPORT_METHOD + - deploy-to-bitrise-io@1.9.2: {} + - cache-push@2.2.1: {} + primary: + steps: + - activate-ssh-key@4.0.3: + run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}' + - authenticate-with-github-oauth@0: + inputs: + - access_token: $GITHUB_PAT + - username: $GITHUB_USERNAME + - git-clone@4.0.17: {} + - cache-pull@2.1.1: {} + - certificate-and-profile-installer@1.10.1: {} + - cocoapods-install@1.9.1: {} + - xcode-test@2.4.1: + inputs: + - project_path: $BITRISE_PROJECT_PATH + - scheme: $BITRISE_SCHEME + - xcode-test@2.4.1: + inputs: + - project_path: $BITRISE_PROJECT_PATH + - scheme: $BITRISE_SCHEME2 + - deploy-to-bitrise-io@1.9.2: {} + - cache-push@2.2.1: {} diff --git a/scripts/bootstrap b/scripts/bootstrap index 114a4088..8525e5eb 100755 --- a/scripts/bootstrap +++ b/scripts/bootstrap @@ -1,9 +1,16 @@ #!/usr/bin/env sh -if ! command -v carthage > /dev/null; then - printf 'Carthage is not installed.\n' - printf 'See https://github.com/Carthage/Carthage for install instructions.\n' +set -eu +set -o pipefail + +if ! command -v bundle > /dev/null; then + printf 'bundler is not installed.\n' + printf 'install with $ gem install bundler\n' exit 1 fi -carthage bootstrap --platform iOS --no-use-binaries --use-submodules \ No newline at end of file +cd "$(dirname "$0")/../Examples" + +bundle config set path 'vendor/bundle' +bundle install +bundle exec pod install diff --git a/scripts/carthage-update b/scripts/carthage-update deleted file mode 100755 index 6a15f9c1..00000000 --- a/scripts/carthage-update +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env sh - -if ! command -v carthage > /dev/null; then - printf 'Carthage is not installed.\n' - printf 'See https://github.com/Carthage/Carthage for install instructions.\n' - exit 1 -fi - -carthage update --platform iOS --no-use-binaries --use-submodules \ No newline at end of file